How we count
Every DupeEats ranking is built from real votes in finished debates. Here is exactly what counts, how the score works and when the tables change.
What counts
Our rankings use votes cast in DupeEats debates. Each person gets one vote per debate, and every vote passes the same checks against bots and duplicate votes.
Only finished debates count, so a ranking never gives away a debate that’s still open. A debate counts in the month it ends, with all of its votes. Only options that are a specific product count: a free-text option can win its debate, but it can’t enter a table.
From debates to a ranking
Every debate is a head-to-head between the options on offer, whether there are two of them or six. Beating strong rivals counts more than beating weak ones, and a product isn’t rewarded just for showing up in more debates.
We use the Bradley–Terry model, the same family of math used to rate chess players and sports teams. A small example:
- Fries A beats Fries B, 60 votes to 40.
- Fries B beats Fries C, 55 votes to 45.
- Fries A and Fries C never meet, yet A still ranks above C: it beat the product that beat C.
To keep tiny samples from swinging wildly, every product starts with one virtual win and one virtual loss against an average rival. With hundreds of votes, this makes no visible difference.
The score
The score is the chance that voters pick a product over the average product in the same table, out of 100. 50 means average; 60 means it wins about 6 times out of 10 against an average rival.
Every score comes with a 95% range. When two ranges overlap a lot, the gap between those products may be noise.
“Picked by” is the simpler figure: the share of voters who chose the product in the debates it appeared in. It’s easy to read, but it ignores how strong the rivals were, so the order always follows the score.
Ties and close calls
Products with the same score, to one decimal place, share a place, shown as “T-2”. When the top two can’t be told apart with 95% confidence, the table says “Too close to call” instead of naming a winner.
Minimums
- A table appears once it has at least 25 votes from finished debates, 3 ranked products and 2 debates.
- Below 100 votes it’s marked Provisional, kept out of search results and not recommended for citing.
- A product needs at least 30 votes in the debates it appeared in, plus head-to-heads that connect it to the rest of the table.
Anything below these lines shows as “Not enough votes yet”. We never fill the gaps with estimates.
US vs UK
Each vote carries the country from the approximate location at the moment of voting, never stored with anything personal. The America table uses votes from the US and the Britain table votes from the UK, and each one only includes products sold there. The “everyone” figures include all voters, wherever they are.
When rankings update
The live table for the current month is checked every hour, and again a few minutes after any debate ends. On the 1st of each month, after 00:15 UTC, last month’s table is published automatically once it passes our quality checks.
All dates are in UTC. Monthly tables never change. If we ever have to correct one, it says “Revised” with the date.
Using our data
Every monthly table has a permanent link and a CSV download with every product, score, range and vote count, plus a suggested citation.
What the less obvious CSV columns mean:
- score, score_low, score_high: the score out of 100 (50 = the average product in that table) and its 95% range.
- votes: votes the product won. votes_in_its_debates: all votes cast in the debates where it appeared. picked_by_pct: the first divided by the second. debates_with_product: how many of those debates it was in.
- prev_position, movement: its place in the previous monthly table and the places it moved (positive = up). Empty when it was not ranked then.
- tied_with_next: 1 when the difference from the next row is not significant at 95%. The rows keep their order, but treat them as too close to separate.
- provisional: 1 when the table has fewer votes than our full-confidence line. demo: 1 for sample data, never real votes.
Our ranking data, meaning the positions, scores, ranges and vote counts in our tables and CSV files, is free to reuse, including commercially, under the Creative Commons Attribution 4.0 International license (CC BY 4.0).
How to credit us: Source: DupeEats (dupeeats.com), CC BY 4.0, with a link to the ranking page when you can, and a note if you changed the data.
The license covers the data only. It doesn’t cover our name and logo, our recipes, photos or text, or the restaurant and product names in the tables: those are trademarks of their owners, used here only to identify products. Please don’t suggest that DupeEats or any brand endorses your use. Provisional tables have too few votes to cite as a result.
What we never do
- No paid placements and no sponsored rankings.
- No invented numbers: every figure comes from real votes.
- No ratings from brands.
DupeEats is not affiliated with, endorsed by, or sponsored by any of the restaurants or brands mentioned.