Skip to content

institution_ranking_history

src.models.institutions.institution_ranking_history

Institution ranking history schema.

Generated by generate_combined_rankings.pyinstitution_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"}