Institution ranking history schema.
Generated by generate_combined_rankings.py → institution_ranking_history.json.
Variants: systems_institution_ranking_history.json, security_institution_ranking_history.json.
InstitutionRankingSnapshot
Bases: BaseModel
A single institution's ranking at a point in time.
Source code in src/models/institutions/institution_ranking_history.py
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 | class InstitutionRankingSnapshot(BaseModel):
"""A single institution's ranking at a point in time."""
rank: int = Field(ge=1, description="Ranking position at this snapshot date (with ties).", examples=[1])
score: int = Field(
ge=0, description="Combined score at this snapshot: artifact_score + citation_score + ae_score.", examples=[15]
)
as_: int = Field(
alias="as", ge=0, description="Artifact score at this snapshot. Abbreviated 'as' in JSON output.", examples=[9]
)
aes: int = Field(ge=0, description="AE service score: (memberships × 3) + (chairs × 2).", examples=[6])
tp: int = Field(
ge=0, description="Total papers at tracked conferences by authors at this institution.", examples=[42]
)
ta: int = Field(ge=0, description="Total artifacts produced by authors at this institution.", examples=[5])
ar: float = Field(
ge=0, le=100, description="Artifact rate: (total_artifacts / total_papers) * 100.", examples=[71.4]
)
rr: float = Field(
ge=0,
le=100,
description="Reproducibility rate: percentage of artifacts with 'reproduced' badge.",
examples=[66.7],
)
r: int = Field(
ge=0, description="Number of unique researchers (authors) affiliated with this institution.", examples=[15]
)
model_config = {"extra": "forbid", "populate_by_name": True}
|
InstitutionRankingHistoryEntry
Bases: BaseModel
Dated snapshot of all institution rankings, enabling rank-over-time analysis.
Source code in src/models/institutions/institution_ranking_history.py
43
44
45
46
47
48
49
50
51 | class InstitutionRankingHistoryEntry(BaseModel):
"""Dated snapshot of all institution rankings, enabling rank-over-time analysis."""
date: str = Field(description="Snapshot date in 'YYYY-MM' format, e.g. '2026-04'.", examples=["2025-01-15"])
entries: dict[str, InstitutionRankingSnapshot] = Field(
description="Normalized institution name → ranking snapshot. Keys are institution names."
)
model_config = {"extra": "forbid"}
|