TailMyPicks

Check any Polymarket wallet’s real record.

Wallet 0x88b8…4a59

Rebuilt .

Summary

Qualified picks
106
Categories scored
13
Categories below 50
7

Best Category: Tennis, grading 56 out of 100 (+0.05 per pick).

Best Category Tennis at 56 out of 100; worst La Liga at 45.

What is a Tail Score?

A mark out of 100, per Category. 50 means no edge at all — this wallet did about what the prices it paid implied it would. Above 50 it beat those prices; below 50 it did worse than them.

The scale does not move. 100 is a wallet beating the prices it paid by 0.45 per pick and 0 is losing to them by the same, on every wallet, on every page, in every month. So a grade you screenshot today still means what it meant when you took it, and two wallets can be put side by side.

Nobody reaches either end. Across every wallet TailMyPicks has scored, the marks run from roughly 5 to 87 — which is what a fixed ruler costs, and what buys the sentence above.

It is not a win rate. A wallet can win four Picks in five and still grade below 50, if the market was already pricing those outcomes at 90c — it paid for the wins rather than finding them. The vs expected and Avg entry columns below are what separate the two.

The mark is deliberately pulled toward 50 when there is little evidence. Three lucky Picks do not produce a high grade; several hundred consistent ones do. So a modest grade on thousands of Picks means something a high grade on twelve does not.

Because it is shrunk this way, a Category grade is a conservative reading. The headline figure for a wallet is its best Category, so it always understates how badly the wallet does in its worst one — which is why the table below is per Category and not one blended number.

Record by Category

Ordered by how much this wallet actually traded in each Category, not by score — so the Categories it plays most appear first whether they went well or badly. Open any row to see the picks its numbers were computed from — all of them.

CategoryQualified picksWin ratevs expectedRealizable edgeAvg entryROI per pickTail Score
Tennislast resolved Aug 20, 2026, EDT4660.9%28 W · 18 L+3.6wins+0.08per pick53cpaid+16.9%equal weight56+0.05 edge/pick
Tennis — the 46 picks behind this row

Every qualified pick this wallet made in Tennis, newest first — these are the picks the row above was computed from, not a sample of them. P/L held is what each pick would have been worth held to resolution, not cash this wallet withdrew. Days are shown in US/Eastern, the zone Polymarket writes its markets in. A market name opens TailMyPicks’s own post-mortem of that market — who else was on it, and what they paid — and a result opens that one pick on a page of its own, which is the link to send somebody.

MarketEntrySizeResultResolvedReturnP/L held
ITF M15 Maanshan 7 Men: Fanming Meng vs Yunseong Chungbacked Fanming Meng · on Polymarket (opens in a new tab)13c$44Lost — open this pick on its own pageAug 20, 2026, EDT-100%-$43.55
ITF W15 Tianjin 3 Women: Alisa Vasileva vs Maiko Uchijimabacked Alisa Vasileva · on Polymarket (opens in a new tab)53c$19Lost — open this pick on its own pageAug 18, 2026, EDT-100%-$19
Astana: Aziz Dougaz vs Hayato Matsuokabacked Hayato Matsuoka · on Polymarket (opens in a new tab)53c$15Won — open this pick on its own pageAug 16, 2026, EDT+88.7%+$13.3
Cincinnati Open: Luciano Darderi vs Rinky Hijikatabacked Luciano Darderi · on Polymarket (opens in a new tab)54c$20Lost — open this pick on its own pageAug 15, 2026, EDT-100%-$20
Astana: Aziz Dougaz vs Sergey Fominbacked Aziz Dougaz · on Polymarket (opens in a new tab)30c$25Won — open this pick on its own pageAug 15, 2026, EDT+233.3%+$58.33
ITF M25 East Lansing Men: Max Sheldon vs Alexander Okonkwobacked Max Sheldon · on Polymarket (opens in a new tab)60c$49Won — open this pick on its own pageAug 14, 2026, EDT+66.7%+$32.88
Hamburg: Matheus Pucinelli de Almeida vs Dylan Dietrichbacked Dylan Dietrich · on Polymarket (opens in a new tab)79c$28Lost — open this pick on its own pageAug 14, 2026, EDT-100%-$27.98
National Bank Open: Ben Shelton vs Brandon Nakashimabacked Brandon Nakashima · on Polymarket (opens in a new tab)30c$30Lost — open this pick on its own pageAug 13, 2026, EDT-100%-$29.69
National Bank Open: Iga Swiatek vs Elena Rybakinabacked Elena Rybakina · on Polymarket (opens in a new tab)45c$50Lost — open this pick on its own pageAug 13, 2026, EDT-100%-$50
ITF W35 Vigo Women: Yasmine Kabbaj vs Kira Pavlovabacked Yasmine Kabbaj · on Polymarket (opens in a new tab)50c$15Lost — open this pick on its own pageAug 13, 2026, EDT-100%-$15
National Bank Open: Nuno Borges vs Luciano Darderibacked Luciano Darderi · on Polymarket (opens in a new tab)38c$20Won — open this pick on its own pageAug 8, 2026, EDT+163.2%+$32.63
Warsaw: Carol Young Suh Lee vs Gabriela Knutsonbacked Gabriela Knutson · on Polymarket (opens in a new tab)37c$27Lost — open this pick on its own pageAug 8, 2026, EDT-100%-$27
Grodzisk Mazowiecki: Mathys Erhard vs Joel Schwaerzlerbacked Mathys Erhard · on Polymarket (opens in a new tab)40c$17Lost — open this pick on its own pageAug 8, 2026, EDT-100%-$17
ITF Astana: Shintaro Imai vs Shunsuke Mitsuibacked Shunsuke Mitsui · on Polymarket (opens in a new tab)54c$65Won — open this pick on its own pageAug 8, 2026, EDT+84%+$54.58
Set Handicap: Mensik (-1.5) vs Atmane (+1.5)backed Atmane · on Polymarket (opens in a new tab)65c$17Lost — open this pick on its own pageAug 7, 2026, EDT-100%-$17
Warsaw: Carol Young Suh Lee vs Vendula Valdmannovabacked Carol Young Suh Lee · on Polymarket (opens in a new tab)49c$13Won — open this pick on its own pageAug 7, 2026, EDT+104.1%+$13.53
ITF Astana: Anna Pushkareva vs Zeel Desaibacked Zeel Desai · on Polymarket (opens in a new tab)20c$11Lost — open this pick on its own pageAug 7, 2026, EDT-100%-$11
National Bank Open: Yannick Hanfmann vs Nuno Borgesbacked Yannick Hanfmann · on Polymarket (opens in a new tab)25c$15Lost — open this pick on its own pageAug 6, 2026, EDT-100%-$15
Hagen: Carlos Taberner vs Marko Topobacked Carlos Taberner · on Polymarket (opens in a new tab)45c$11Won — open this pick on its own pageAug 6, 2026, EDT+122.2%+$13.44
Warsaw: Carol Young Suh Lee vs Weronika Falkowskabacked Weronika Falkowska · on Polymarket (opens in a new tab)25c$20Lost — open this pick on its own pageAug 6, 2026, EDT-100%-$20
National Bank Open: Karen Khachanov vs Terence Atmanebacked Terence Atmane · on Polymarket (opens in a new tab)75c$19Won — open this pick on its own pageAug 5, 2026, EDT+33.3%+$6.33
Warsaw: Susan Bandecchi vs Veronika Podrezbacked Veronika Podrez · on Polymarket (opens in a new tab)54c$30Lost — open this pick on its own pageAug 5, 2026, EDT-100%-$30
National Bank Open: Shuai Zhang vs Jelena Ostapenkobacked Shuai Zhang · on Polymarket (opens in a new tab)61c$15Won — open this pick on its own pageAug 4, 2026, EDT+63.9%+$9.59
Canadian Open: Terence Atmane vs Jack Draperbacked Terence Atmane · on Polymarket (opens in a new tab)37c$39Won — open this pick on its own pageAug 4, 2026, EDT+173.3%+$67.26
Warsaw: Weronika Ewald vs Justina Mikulskytebacked Justina Mikulskyte · on Polymarket (opens in a new tab)59c$30Won — open this pick on its own pageAug 4, 2026, EDT+68.4%+$20.51
Showing 25 of 46 picks, newest first.
MLBlast resolved Aug 25, 2026, EDT4151.2%21 W · 20 L-1.1wins-0.03per pick54cpaid-3.7%equal weight48-0.02 edge/pick
MLB — the 41 picks behind this row

Every qualified pick this wallet made in MLB, newest first — these are the picks the row above was computed from, not a sample of them. P/L held is what each pick would have been worth held to resolution, not cash this wallet withdrew. Days are shown in US/Eastern, the zone Polymarket writes its markets in. A market name opens TailMyPicks’s own post-mortem of that market — who else was on it, and what they paid — and a result opens that one pick on a page of its own, which is the link to send somebody.

MarketEntrySizeResultResolvedReturnP/L held
Cincinnati Reds vs. San Francisco Giants: O/U 7.5backed Over · on Polymarket (opens in a new tab)69c$23Lost — open this pick on its own pageAug 25, 2026, EDT-100%-$23
Tampa Bay Rays vs. Detroit Tigersbacked Tampa Bay Rays · on Polymarket (opens in a new tab)56c$15Won — open this pick on its own pageAug 24, 2026, EDT+78.6%+$11.79
Cincinnati Reds vs. Arizona Diamondbacks: O/U 8.5backed Under · on Polymarket (opens in a new tab)63c$24Won — open this pick on its own pageAug 23, 2026, EDT+58.7%+$14.1
Washington Nationals vs. Miami Marlins: O/U 9.5backed Under · on Polymarket (opens in a new tab)72c$23Won — open this pick on its own pageAug 23, 2026, EDT+38.9%+$8.94
Toronto Blue Jays vs. New York Yankees: O/U 6.5backed Under · on Polymarket (opens in a new tab)61c$12Lost — open this pick on its own pageAug 22, 2026, EDT-100%-$12
Toronto Blue Jays vs. New York Yankees: O/U 5.5backed Over · on Polymarket (opens in a new tab)53c$11Won — open this pick on its own pageAug 22, 2026, EDT+88.7%+$9.73
Detroit Tigers vs. Kansas City Royals: O/U 7.5backed Under · on Polymarket (opens in a new tab)65c$22Won — open this pick on its own pageAug 21, 2026, EDT+53.8%+$11.85
Toronto Blue Jays vs. Tampa Bay Rays: O/U 6.5backed Over · on Polymarket (opens in a new tab)57c$20Lost — open this pick on its own pageAug 20, 2026, EDT-100%-$20.1
Miami Marlins vs. Philadelphia Phillies: O/U 6.5backed Over · on Polymarket (opens in a new tab)64c$70Lost — open this pick on its own pageAug 19, 2026, EDT-100%-$70
Arizona Diamondbacks vs. Boston Red Sox: O/U 9.5backed Under · on Polymarket (opens in a new tab)62c$45Lost — open this pick on its own pageAug 19, 2026, EDT-100%-$44.69
Los Angeles Dodgers vs. Colorado Rockies: O/U 14.5backed Under · on Polymarket (opens in a new tab)51c$20Won — open this pick on its own pageAug 18, 2026, EDT+96.1%+$19.22
Miami Marlins vs. Philadelphia Philliesbacked Philadelphia Phillies · on Polymarket (opens in a new tab)76c$52Won — open this pick on its own pageAug 17, 2026, EDT+31.6%+$16.54
Miami Marlins vs. Philadelphia Phillies: O/U 7.5backed Over · on Polymarket (opens in a new tab)68c$25Won — open this pick on its own pageAug 17, 2026, EDT+47.4%+$11.84
Milwaukee Brewers vs. Los Angeles Dodgersbacked Milwaukee Brewers · on Polymarket (opens in a new tab)41c$55Won — open this pick on its own pageAug 16, 2026, EDT+144.1%+$79.66
Milwaukee Brewers vs. Los Angeles Dodgers: O/U 6.5backed Over · on Polymarket (opens in a new tab)61c$15Won — open this pick on its own pageAug 16, 2026, EDT+63.9%+$9.59
Baltimore Orioles vs. Tampa Bay Raysbacked Baltimore Orioles · on Polymarket (opens in a new tab)36c$20Won — open this pick on its own pageAug 15, 2026, EDT+177.8%+$35.56
Washington Nationals vs. New York Metsbacked Washington Nationals · on Polymarket (opens in a new tab)51c$30Lost — open this pick on its own pageAug 15, 2026, EDT-100%-$30
Milwaukee Brewers vs. Los Angeles Dodgersbacked Milwaukee Brewers · on Polymarket (opens in a new tab)25c$20Lost — open this pick on its own pageAug 15, 2026, EDT-100%-$20
Baltimore Orioles vs. Tampa Bay Raysbacked Tampa Bay Rays · on Polymarket (opens in a new tab)61c$80Lost — open this pick on its own pageAug 14, 2026, EDT-100%-$80
Chicago Cubs vs. Washington Nationalsbacked Chicago Cubs · on Polymarket (opens in a new tab)44c$23Lost — open this pick on its own pageAug 13, 2026, EDT-100%-$23.4
Athletics vs. Boston Red Soxbacked Athletics · on Polymarket (opens in a new tab)55c$28Won — open this pick on its own pageAug 8, 2026, EDT+81.6%+$22.86
Los Angeles Dodgers vs. Arizona Diamondbacksbacked Arizona Diamondbacks · on Polymarket (opens in a new tab)50c$40Won — open this pick on its own pageAug 8, 2026, EDT+100%+$40
Toronto Blue Jays vs. Philadelphia Philliesbacked Toronto Blue Jays · on Polymarket (opens in a new tab)35c$15Won — open this pick on its own pageAug 8, 2026, EDT+185.7%+$27.86
Cincinnati Reds vs. Washington Nationalsbacked Cincinnati Reds · on Polymarket (opens in a new tab)16c$10Lost — open this pick on its own pageAug 7, 2026, EDT-100%-$10
Los Angeles Angels vs. Miami Marlinsbacked Los Angeles Angels · on Polymarket (opens in a new tab)51c$30Won — open this pick on its own pageAug 7, 2026, EDT+94.9%+$28.46
Showing 25 of 41 picks, newest first.
La Ligalast resolved Aug 21, 2026, EDT425%1 W · 3 L-1.4wins-0.35per pick60cpaid-67.9%equal weight45-0.05 edge/pick
La Liga — the 4 picks behind this row

Every qualified pick this wallet made in La Liga, newest first — these are the picks the row above was computed from, not a sample of them. P/L held is what each pick would have been worth held to resolution, not cash this wallet withdrew. Days are shown in US/Eastern, the zone Polymarket writes its markets in. A market name opens TailMyPicks’s own post-mortem of that market — who else was on it, and what they paid — and a result opens that one pick on a page of its own, which is the link to send somebody.

Premier Leaguelast resolved Aug 24, 2026, EDT250%1 W · 1 L-0.2wins-0.08per pick58cpaid-12.3%equal weight49-0.01 edge/pick
Premier League — the 2 picks behind this row

Every qualified pick this wallet made in Premier League, newest first — these are the picks the row above was computed from, not a sample of them. P/L held is what each pick would have been worth held to resolution, not cash this wallet withdrew. Days are shown in US/Eastern, the zone Polymarket writes its markets in. A market name opens TailMyPicks’s own post-mortem of that market — who else was on it, and what they paid — and a result opens that one pick on a page of its own, which is the link to send somebody.

NFLlast resolved Aug 21, 2026, EDT250%1 W · 1 L-0.2wins-0.11per pick61cpaid-27.6%equal weight49-0.01 edge/pick
NFL — the 2 picks behind this row

Every qualified pick this wallet made in NFL, newest first — these are the picks the row above was computed from, not a sample of them. P/L held is what each pick would have been worth held to resolution, not cash this wallet withdrew. Days are shown in US/Eastern, the zone Polymarket writes its markets in. A market name opens TailMyPicks’s own post-mortem of that market — who else was on it, and what they paid — and a result opens that one pick on a page of its own, which is the link to send somebody.

MarketEntrySizeResultResolvedReturnP/L held
49ers vs. Chargersbacked Chargers · on Polymarket (opens in a new tab)53c$38Lost — open this pick on its own pageAug 21, 2026, EDT-100%-$38
Panthers vs. Cardinalsbacked Panthers · on Polymarket (opens in a new tab)69c$26Won — open this pick on its own pageAug 6, 2026, EDT+44.7%+$11.68
All 2 picks, newest first.
Serie Alast resolved Aug 23, 2026, EDT250%1 W · 1 L-0.4wins-0.19per pick69cpaid-32.4%equal weight48-0.01 edge/pick
Serie A — the 2 picks behind this row

Every qualified pick this wallet made in Serie A, newest first — these are the picks the row above was computed from, not a sample of them. P/L held is what each pick would have been worth held to resolution, not cash this wallet withdrew. Days are shown in US/Eastern, the zone Polymarket writes its markets in. A market name opens TailMyPicks’s own post-mortem of that market — who else was on it, and what they paid — and a result opens that one pick on a page of its own, which is the link to send somebody.

MarketEntrySizeResultResolvedReturnP/L held
Torino FC vs. AC Milan: Both Teams to Scorebacked No · on Polymarket (opens in a new tab)65c$24Lost — open this pick on its own pageAug 23, 2026, EDT-100%-$23.62
Venezia FC vs. US Lecce: O/U 2.5backed Under · on Polymarket (opens in a new tab)74c$23Won — open this pick on its own pageAug 23, 2026, EDT+35.1%+$8.08
All 2 picks, newest first.
Europa Conference Leaguelast resolved Aug 20, 2026, EDT250%1 W · 1 L-0.4wins-0.21per pick71cpaid-20.6%equal weight48-0.02 edge/pick
Europa Conference League — the 2 picks behind this row

Every qualified pick this wallet made in Europa Conference League, newest first — these are the picks the row above was computed from, not a sample of them. P/L held is what each pick would have been worth held to resolution, not cash this wallet withdrew. Days are shown in US/Eastern, the zone Polymarket writes its markets in. A market name opens TailMyPicks’s own post-mortem of that market — who else was on it, and what they paid — and a result opens that one pick on a page of its own, which is the link to send somebody.

MarketEntrySizeResultResolvedReturnP/L held
FC Inter Turku vs. FC København: O/U 1.5backed Over · on Polymarket (opens in a new tab)80c$90Lost — open this pick on its own pageAug 20, 2026, EDT-100%-$90
FC Midtjylland vs. Beşiktaş JK: Team to Advancebacked Beşiktaş JK · on Polymarket (opens in a new tab)63c$17Won — open this pick on its own pageJul 30, 2026, EDT+58.7%+$9.98
All 2 picks, newest first.
South American Leagueslast resolved Aug 18, 2026, EDT20%0 W · 2 L-1.1wins-0.56per pick56cpaid-100%equal weight45-0.04 edge/pick
South American Leagues — the 2 picks behind this row

Every qualified pick this wallet made in South American Leagues, newest first — these are the picks the row above was computed from, not a sample of them. P/L held is what each pick would have been worth held to resolution, not cash this wallet withdrew. Days are shown in US/Eastern, the zone Polymarket writes its markets in. A market name opens TailMyPicks’s own post-mortem of that market — who else was on it, and what they paid — and a result opens that one pick on a page of its own, which is the link to send somebody.

Asian Leaguelast resolved Aug 22, 2026, EDT1100%1 W · 0 L+0.5wins+0.46per pick54cpaid+85.2%equal weight52+0.02 edge/pick
Asian League — the 1 pick behind this row

Every qualified pick this wallet made in Asian League, newest first — these are the picks the row above was computed from, not a sample of them. P/L held is what each pick would have been worth held to resolution, not cash this wallet withdrew. Days are shown in US/Eastern, the zone Polymarket writes its markets in. A market name opens TailMyPicks’s own post-mortem of that market — who else was on it, and what they paid — and a result opens that one pick on a page of its own, which is the link to send somebody.

MarketEntrySizeResultResolvedReturnP/L held
Fagiano Okayama vs. Tōkyō Verdy: O/U 1.5backed Under · on Polymarket (opens in a new tab)54c$22Won — open this pick on its own pageAug 22, 2026, EDT+85.2%+$18.74
All 1 picks, newest first.
Mlslast resolved Aug 16, 2026, EDT1100%1 W · 0 L+0.4wins+0.44per pick56cpaid+78.6%equal weight52+0.02 edge/pick
Mls — the 1 pick behind this row

Every qualified pick this wallet made in Mls, newest first — these are the picks the row above was computed from, not a sample of them. P/L held is what each pick would have been worth held to resolution, not cash this wallet withdrew. Days are shown in US/Eastern, the zone Polymarket writes its markets in. A market name opens TailMyPicks’s own post-mortem of that market — who else was on it, and what they paid — and a result opens that one pick on a page of its own, which is the link to send somebody.

MarketEntrySizeResultResolvedReturnP/L held
Will Chicago Fire FC win on 2026-08-16?backed Yes · on Polymarket (opens in a new tab)56c$18Won — open this pick on its own pageAug 16, 2026, EDT+78.6%+$14.14
All 1 picks, newest first.
Other European Leagueslast resolved Aug 21, 2026, EDT1100%1 W · 0 L+0.4wins+0.36per pick64cpaid+56.3%equal weight52+0.01 edge/pick
Other European Leagues — the 1 pick behind this row

Every qualified pick this wallet made in Other European Leagues, newest first — these are the picks the row above was computed from, not a sample of them. P/L held is what each pick would have been worth held to resolution, not cash this wallet withdrew. Days are shown in US/Eastern, the zone Polymarket writes its markets in. A market name opens TailMyPicks’s own post-mortem of that market — who else was on it, and what they paid — and a result opens that one pick on a page of its own, which is the link to send somebody.

MarketEntrySizeResultResolvedReturnP/L held
Erzurumspor FK vs. Galatasaray SK: O/U 4.5backed Under · on Polymarket (opens in a new tab)64c$15Won — open this pick on its own pageAug 21, 2026, EDT+56.3%+$8.39
All 1 picks, newest first.
WNBA Inactivelast resolved Aug 3, 2026, EDT1100%1 W · 0 L+0.2wins+0.24per pick76cpaid+31.6%equal weight51+0.01 edge/pick
WNBA — the 1 pick behind this row

Every qualified pick this wallet made in WNBA, newest first — these are the picks the row above was computed from, not a sample of them. P/L held is what each pick would have been worth held to resolution, not cash this wallet withdrew. Days are shown in US/Eastern, the zone Polymarket writes its markets in. A market name opens TailMyPicks’s own post-mortem of that market — who else was on it, and what they paid — and a result opens that one pick on a page of its own, which is the link to send somebody.

MarketEntrySizeResultResolvedReturnP/L held
Seattle Storm vs. New York Libertybacked New York Liberty · on Polymarket (opens in a new tab)76c$40Won — open this pick on its own pageAug 3, 2026, EDT+31.6%+$12.63
All 1 picks, newest first.
CS2 Inactivelast resolved Jul 28, 2026, EDT1100%1 W · 0 L+0.2wins+0.20per pick80cpaid+25%equal weight51+0.01 edge/pick
CS2 — the 1 pick behind this row

Every qualified pick this wallet made in CS2, newest first — these are the picks the row above was computed from, not a sample of them. P/L held is what each pick would have been worth held to resolution, not cash this wallet withdrew. Days are shown in US/Eastern, the zone Polymarket writes its markets in. A market name opens TailMyPicks’s own post-mortem of that market — who else was on it, and what they paid — and a result opens that one pick on a page of its own, which is the link to send somebody.

MarketEntrySizeResultResolvedReturnP/L held
Counter-Strike: Imperial vs BESTIA (BO3) - StarLadder StarSeries South American Qualifier Playoffsbacked Imperial · on Polymarket (opens in a new tab)80c$26Won — open this pick on its own pageJul 28, 2026, EDT+25%+$6.5
All 1 picks, newest first.

vs expected is how many more (or fewer) Picks this wallet won than the prices it paid implied it would. It is the column that tells a real edge apart from a record bought by backing favourites. Realizable edge is what that comes to per Pick for somebody copying the wallet, after the cost of getting in behind it. Avg entry is the average price it paid, so a strong record built on heavy favourites shows as one. ROI per pick counts every Pick equally rather than by size, which is how a record earned across many Picks is told apart from one carried by a few large ones. Days are shown in US/Eastern, the zone Polymarket writes its markets in — an American night game settles after midnight UTC, so any other zone would name the day after the one it was played on. Inactive means nothing has resolved in that Category recently. The score is kept and the wallet stays reachable here; it only leaves the default leaderboard.

Not every trade counts. A Pick has to clear four thresholds to be scored.

TailMyPicks scores a wallet on what it can actually be judged on: positions held to resolution, in markets with enough volume to be real, at prices where being right was not already priced in.

  • The market traded at least $500.
  • The entry price was between 0.00 and 0.80 — a near-certainty is not a call.
  • The position was at least $10 — dust is not a position.
  • The market has resolved, so there is a right answer to grade against.

Thresholds behind these numbers: set by an operator decision, not measured.