HOOKFIGHTS
HOOKFIGHTSUpdated Oct 28, 2026 · 9 min read

How Elo Ratings Work for Songs (With a Worked Example)

An Elo rating ranks songs by who beats whom. After each head-to-head battle the winner takes points from the loser, and it takes more for beating a higher-rated song than a lower-rated one, so over many battles every song settles at the rating its results support.

Below: where Elo comes from, the exact formula used for HOOKFIGHTS battles, a worked example with real arithmetic, and why blind head-to-head voting beats star ratings.

Elo rating explained: where it comes from

The system is named after Arpad Elo (1903–1992), a Hungarian-American physics professor and chess master who taught at Marquette University in Milwaukee. The US Chess Federation adopted his method in 1960, replacing the older Harkness system, and the World Chess Federation (FIDE) followed in 1970. Elo is a surname, not an acronym, though you will often see it written ELO.

The idea spread far beyond chess. Variants rate players in Go, Scrabble and backgammon, teams in many sports and players in esports, and in 2023 the Chatbot Arena project chose Elo to rank AI chatbots from blind, side-by-side votes. One rule carries over everywhere: Elo ratings are comparative. A number only means something relative to the others in the same pool.

How the Elo formula works

Elo does two things: it predicts each result, then corrects both ratings by how wrong the prediction was.

1. The expected score. Before a battle, hook A gets an expected score between 0 and 1:

E_A = 1 / (1 + 10^((R_B − R_A) / 400))

R_A and R_B are the two ratings. Equal ratings give 0.5 each, and the two expected scores always add up to 1. The 400 sets the scale: every 400 points of advantage multiplies the favorite’s expected score by ten relative to the underdog’s.

Rating gapFavorite’s expected score
050%
5057%
10064%
20076%
40091%

2. The update. After the battle, each rating moves by K × (S − E), where S is the actual result (1 for a win, ½ for a draw, 0 for a loss) and K sets how far one result can move a rating. An expected win moves a rating a little; an upset moves it a lot. In chess, FIDE uses K = 40 for new players and as little as 10 for players who have reached 2400.

Elo rating for music: what changes when songs battle

A chess game ends in a result. A song battle ends in a vote split, and some battles draw far more voters than others. So the rating for hook battles adds two factors to classic Elo:

ΔR_A = K × M × W × (S_A − E_A)

  • Start: every hook starts at 1500.
  • S, the result: the hook with more counted votes wins (1) and the other loses (0). An exact tie is a draw, ½ each.
  • K, the speed: 48 for a hook’s first 10 battles, then 32, so new hooks move quickly toward their level.
  • M, the margin bonus: M = 1 + min(0.5, (margin − 2) / 40), where margin is the gap between the two vote shares in percentage points (55–45 is a 10-point margin). M never goes below 1, tops out at 1.5, and is always 1 for a draw.
  • W, the evidence weight: W = min(1, √(votes / 25)). A battle with few votes is weak evidence, so it moves ratings less; from 25 votes up it counts in full.

Changes are rounded to whole points. Each hook uses its own K, so when a new hook meets an established one, the two changes can differ.

Vote splitMarginM
51–492 points1.00
52–484 points1.05
55–4510 points1.20
60–4020 points1.45
61–39 or wider22+ points1.50
Counted votesW
10.20
40.40
90.60
160.80
25 or more1.00

Worked example: a 1552 hook vs a 1500 hook

Hook A is rated 1552 and hook B 1500. Both have played more than 10 battles, so K = 32 for each. The battle closes with 50 counted votes: A gets 24 (48%) and B gets 26 (52%). B wins.

  1. Expected score. E_A = 1 / (1 + 10^((1500 − 1552) / 400)) = 1 / (1 + 10^(−0.13)) = 1 / (1 + 0.7413) = 0.5743. A was a slight favorite, expected to score about 57%. B’s expected score is 1 − 0.5743 = 0.4257.
  2. Result. A lost, so S_A = 0 and S_B = 1.
  3. Margin bonus. The margin is 52 − 48 = 4 points, so M = 1 + (4 − 2) / 40 = 1.05.
  4. Evidence weight. W = min(1, √(50 / 25)) = min(1, 1.414) = 1.
  5. Rating change. ΔR_A = 32 × 1.05 × 1 × (0 − 0.5743) = −19.30, rounded to −19. For B: 32 × 1.05 × 1 × (1 − 0.4257) = +19.30, rounded to +19.

New ratings: A 1533, B 1519. A narrow upset still moved 19 points, because the underdog won. You can rerun it with the calculator on the rules page (A 1552, B 1500, share 48%, 25 or more votes).

Same battle, only 9 votes

Say only nine people voted and B won 5–4 (55.6% to 44.4%). The margin looks bigger, 11.1 points, so M = 1 + (11.1 − 2) / 40 ≈ 1.228. But W = √(9 / 25) = 0.6, so ΔR_A = 32 × 1.228 × 0.6 × (0 − 0.5743) = −13.54: A loses 14 and B gains 14. Small samples swing widely, so they count for less.

A new hook pulls an upset

Now say B is new, still in its first 10 battles (K = 48), and wins 18–12 out of 30 votes, a 60–40 split. The margin is 20 points, so M = 1 + 18 / 40 = 1.45, and W = 1 because 30 votes is more than 25. A loses 32 × 1.45 × 0.5743 = 26.65, rounded to 27. B gains 48 × 1.45 × 0.5743 = 39.97, rounded to 40.

A draw

If the battle ends 20–20, both sides score ½ and M = 1. A moves 32 × (0.5 − 0.5743) = −2.38, rounded to −2, and B gains 2. Even a draw nudges the favorite down, because it was expected to win.

How song battles are scored on HOOKFIGHTS

  1. The matchup. Two hooks from the same language league meet. Each is the chorus of a released song, cut to 15–30 seconds and loudness-matched. New pairings favor hooks that have not met yet and are close in rating.
  2. Listen, then vote. Voting unlocks only after both hooks have played for a few seconds, and the server checks it too.
  3. A blind tally. You see the split only after you vote, and every listener gets one vote per battle.
  4. 24 hours. New battles drop every day at 18:00 UTC and stay open for 24 hours.
  5. Fraud checks. Votes from hosting and cloud networks, votes cast faster than anyone could listen, and bursts from one network are kept aside and not counted. Final tallies show how many votes were removed.
  6. The update. The counted votes decide S, the margin and W, and both ratings change by the formula above.

Ratings then shape the season. After 28 days of daily ladder battles, the top 4 hooks by rating with at least 3 rated battles play a single-elimination bracket (top 8 once a league has 16 or more hooks), and ratings carry over into the next season. Each language league is its own ladder, because a rating only means something against the hooks it competed with. The launch roster includes hooks by Texts After Midnight and Jax Morrow, house artists produced by the team behind the site; they follow the same rules and get no extra votes.

Rating tiers and provisional ratings

TierRating
Legend1825 and up
Main Stage1700–1824
Headliner1575–1699
Support1450–1574
OpenerBelow 1450

Every hook starts at 1500, in Support. A hook with fewer than 5 rated battles is marked provisional (PROV) on the rankings, because a handful of results cannot pin a rating down yet.

Why blind voting matters

When people can see what others chose, they follow it. In the MusicLab experiment (Salganik, Dodds and Watts, Science, 2006), 14,341 participants listened to and downloaded 48 songs by unknown bands. Participants who could see download counts produced hits that were more unequal and less predictable than participants who could not. The best songs rarely did badly and the worst rarely did well, but almost any other outcome was possible.

Blind voting removes that signal. You hear both hooks, choose, and only then see the split, so the result measures the music rather than the crowd. Loudness matching does the same for volume, so neither side wins just by being louder.

Head-to-head voting vs star ratings

A star rating asks how good something is on a scale, and people answer that inconsistently: one listener’s three stars is another’s five, and an average of a few ratings says little. A head-to-head vote asks a simpler question: which of these two do you prefer?

Comparing in pairs has a long history in measurement. Psychologist L. L. Thurstone formalized it in 1927 as the law of comparative judgment, and the Bradley–Terry model (1952) and Elo-style ratings turn pairwise wins into a ranking.

QuestionStar ratingsHead-to-head (Elo)
What listeners answerHow good is this, 1 to 5?Which of these two is better?
ScaleEach listener uses it differentlyNo scale, one choice
Opponent strengthIgnoredBuilt in: beating a strong song is worth more
What the number meansAverage opinion of whoever rated itExpected chance of beating others in the pool

Charts measure something else. The Billboard Hot 100 ranks songs by US sales, streaming and radio airplay, which is how much a song is consumed. An Elo leaderboard measures how often a song wins when listeners compare it directly with another one.

What an Elo rating can and cannot tell you

  • It is relative. A 1600 says a hook is expected to score about 64% against a 1500 hook in its league, not that it has earned a universal grade.
  • Early numbers move a lot. That is why K is higher for the first 10 battles and why provisional hooks are marked.
  • Taste is not chess. A hook can beat one song and lose to another. Elo copes by averaging over many battles, so no single result is the final word.

Live numbers are on the rankings, the full rules on how it works. If you make music, getting your AI song rated covers the next step, and AI music battles explains the format.

Frequently asked questions

What is a good Elo rating for a song?

Ratings are relative, so compare a hook with others in its league. Every hook starts at 1500; 1575 and up is Headliner, 1700 and up Main Stage and 1825 and up Legend.

Can a hook lose points after a win?

No. A win always adds points, because the result (1) is always above the expected score. When a heavy favorite wins a battle with very few votes, the gain can round down to zero.

Why do battles with few votes change ratings less?

A handful of votes is weak evidence. The evidence weight W = √(votes/25), capped at 1, scales every change: 9 votes count 60%, and 25 or more count in full.

Is it Elo or ELO?

Elo. The system is named after Arpad Elo, the physics professor and chess master who designed it, so it is a surname, not an acronym. ELO in capitals is just a common spelling.

How many battles until a rating is reliable?

There is no hard line. Hooks with fewer than 5 rated battles are marked provisional, and K drops from 48 to 32 after a hook’s first 10 battles as the rating settles.

Sources

  1. Elo rating system, Wikipedia
  2. Arpad Elo, Wikipedia
  3. Pairwise comparison (psychology), Wikipedia
  4. Salganik, Dodds and Watts: Experimental Study of Inequality and Unpredictability in an Artificial Cultural Market, Science 311 (2006)
  5. Chatbot Arena: Benchmarking LLMs in the Wild with Elo Ratings, LMSYS (2023)
  6. Billboard Hot 100, Wikipedia
  7. How it works & Rules, HOOKFIGHTS

Keep reading

All guides