Anime·Catalogue

Methodology

Generated from config/ranking.json and the live corpus. Change the config, re-run the pipeline, and this page moves with the rankings — it cannot describe a formula the site is not using.

Why not just sort by score?

Community averages are not comparable across titles. A 9.1 from 400 people and a 9.1 from 400,000 are different claims about the world, and a raw average treats them identically. The two common alternatives are both broken too: sorting by popularity measures marketing budget, and “top rated” lists reward small, self-selecting audiences. Three steps address that — shrink, blend, then cut on percentile.

1 · Bayesian shrink

Each title's mean is pulled toward the corpus mean in proportion to how little evidence supports it.

bayes = (v / (v + m)) · R  +  (m / (v + m)) · C
RTitle mean, recomputed from the full score histogramper title
vUsers who actually scored itper title
mPrior strength — the vote count at which a title is trusted half as much as the prior1,500
CVote-weighted corpus mean75.97

A title with exactly m ratings lands halfway between its own average and the corpus average. At 10·m the prior contributes under 10%.

2 · Blend five orthogonal signals

Each is z-scored over the eligible cohort, clamped to ±4σ, and combined by weight.

SignalWeightWhat it captures
bayesScore0.55
Vote-count-shrunk community rating. The backbone.
loveIntensity0.16
favourites / popularity. Separates 'people rated it well' from 'people love it'.
reach0.12
log10(popularity) percentile. A masterpiece nobody finished is not the same object as one that moved a generation.
completion0.10
completed / (completed + dropped + paused). Punishes shows people abandon.
consensus0.07
Inverse of score-distribution spread. Rewards broad agreement; polarising titles are flagged, not buried.

These are deliberately not redundant. bayesScore says people rated it well; loveIntensitysays people cared; reach says it mattered to a lot of people; completion catches shows that are pleasant for three episodes and a chore for twelve; consensus separates “broadly good” from “loved and hated in equal measure”.

2b · Normalise signals that drifted with the instrument

AniList's user base grew by orders of magnitude between 2000 and today, so raw popularity measures whena title aired at least as much as how far it travelled. Signals listed under normalizeWithin are z-scored inside their cohort instead of across the corpus.

SignalNormalised withinCohorts
reachyear27

3 · Cut tiers on percentile

TierNameTop %TitlesMeaning
S+Masterpiece0.5%38Medium-defining. The titles a decade is remembered by.
SElite2.5%148Exceptional on every axis; essential viewing within its genre.
AExcellent10%555Strongly recommended without caveats.
BGreat25%1,112Very good; worth your time if the premise appeals.
CGood50%1,852Solid, competent, unremarkable. Genre fans only.
DMediocre80%2,222Notable flaws; watch only with a specific reason.
EWeak100%1,482Poorly received across the board.

Cuts are inclusive at the boundary: a title at exactly the 50th percentile is the last C, not the first D.

Cohort tiers

A 2003 OVA judged against Fullmetal Alchemist: Brotherhood tells you nothing, so the same percentile cut is applied within each of year</code>, <code>era</code>, <code>season</code>, <code>seasonKey</code>, <code>format</code>, <code>genre</code>, <code>studio</code>, <code>lengthClass</code>, <code>origin</code>, <code>source</code>, <code>demographic. A cohort smaller than 25 titles gets a rank but no tier, because a tier over eight items is noise. This is why a title can be B globally and S within its season.

Score inflation over time

Even after cohort-normalising reach, later years hold more of the top tiers. Part is real — budgets and adaptation pipelines improved — and part is measurement: community scores drift upward everywhere, and a show that finished six months ago has not had its honeymoon scores decay. Here is the raw, uncorrected evidence.

YearRankedMedian raw scoreMedian ratings
2000926.76
1,651
20011276.79
1,331
20021426.64
1,588
20031486.58
1,649
20041786.63
1,533
20051916.77
1,845
20062326.69
1,618
20072346.72
2,047
20082316.86
2,988
20092616.82
3,024
20102536.77
4,015
20113056.78
3,685
20123506.80
3,686
20133306.80
5,336
20143896.80
4,978
20153476.85
6,135
20164186.69
4,470
20173766.83
4,279
20183836.90
5,022
20193396.88
4,712
20202986.99
4,235
20213567.17
4,477
20223187.21
4,494
20233277.27
7,545
20242977.26
6,933
20252847.13
5,428
20262037.30
3,160

Use the cohort tier for cross-era comparison. A title's year and season cohort tier is computed against its contemporaries and is immune to this drift; the global tier is not.

Eligibility

RuleSettingWhy
Minimum ratings400Below this a mean is noise. Guards against five-vote perfect scores.
Release statusFINISHED or RELEASINGUnaired titles have no reception to measure.
Adult contentexcludedKept in the dataset and flagged; never shown here.
FormatsMUSIC excludedMusic videos are not comparable to narrative works.

Exclusions are recorded on the record, never silently dropped — every excluded title carries a stated reason on its own page.

Known limitations