/ Methodology

How papers are ranked

Every candidate paper gets a score out of 100 from public numbers we look up each morning. An LLM does not pick the papers. It writes the summaries, and it lists the benchmark results an abstract claims, which code then checks word for word.

In short

The details below are for readers who want the exact formula.

The formula

Four groups, each capped, so no single source decides the pick. Counts use a log scale: every doubling adds the same points, so one viral number can't swamp the rest.

SignalMax points
Builder evidence40
Public code is linked from Hugging Face or the abstract8
GitHub stars on that code, 2 points per doubling16
Stars gained since the previous day, 1.5 per doubling (a repo under 2 weeks old counts all its stars)10
Models 3, datasets 2, demos 1 on Hugging Face that link the paper6
Community attention30
Hugging Face upvotes, 3 per doubling20
Hacker News points on stories linking the paper, 1.5 per doubling10
Author track record15
Median h-index of the authors on Semantic Scholar, 2 per doubling10
A known lab 5, any named lab 2.55
What the paper shows15
4 per benchmark result that is quoted word for word from the abstract10
Where the paper stands among the day's candidates on distance from the last 90 days of papers (TF-IDF)5

If a lookup fails, or Semantic Scholar hasn't indexed a new paper yet, that signal gets the median of the day's papers and is marked estimated on the paper's page. An unknown value is never counted as zero. When the top papers are within 3 points, an AI editor compares them in pairs to break the tie, and the page says so.

Where the numbers come from

Every day's numbers are saved in the open, in data/signals, so anyone can see how attention to a paper grew over its first days.

Does it work?

Once a week we check each saved day against what happened 30 days later, and compare the ranking with simpler ones on the same papers. The target is not Hugging Face upvotes, because the ranking reads those itself.

The first results arrive 30 days after the first full day is saved, because citations and stars need time to build up. The table appears here automatically once the weekly check has data.

Known limits

Get the data

Scores, signals and the scoreboard are all in the public repository. The code is in scorer.py.

Download 2026-11-14 scores (CSV) JSON