TailMyPicks

Check any Polymarket wallet’s real record.

Wallet 0x50fd…ee77

Rebuilt .

Summary

Qualified picks
703
Categories scored
9
Categories below 50
1

Best Category: NHL, grading 55 out of 100 (+0.04 per pick).

Best Category NHL at 55 out of 100; worst La Liga at 50.

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
MLB Inactivelast resolved May 18, 2026, EDT33051.8%171 W · 159 L+0.1wins0.00per pick52cpaid+0.1%equal weight500.00 edge/pick
MLB — the 330 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
San Diego Padres vs. Seattle Marinersbacked Seattle Mariners · on Polymarket (opens in a new tab)60c$30Lost — open this pick on its own pageMay 18, 2026, EDT-100%-$30
Spread: Arizona Diamondbacks (-1.5)backed Colorado Rockies · on Polymarket (opens in a new tab)54c$20Lost — open this pick on its own pageMay 18, 2026, EDT-100%-$20
Chicago Cubs vs. Chicago White Soxbacked Chicago White Sox · on Polymarket (opens in a new tab)46c$30Won — open this pick on its own pageMay 17, 2026, EDT+117.4%+$35.22
Kansas City Royals vs. St. Louis Cardinalsbacked St. Louis Cardinals · on Polymarket (opens in a new tab)53c$30Lost — open this pick on its own pageMay 17, 2026, EDT-100%-$30
Texas Rangers vs. Houston Astrosbacked Houston Astros · on Polymarket (opens in a new tab)47c$30Lost — open this pick on its own pageMay 17, 2026, EDT-100%-$30
Spread: Texas Rangers (-1.5)backed Houston Astros · on Polymarket (opens in a new tab)60c$20Lost — open this pick on its own pageMay 17, 2026, EDT-100%-$20
Toronto Blue Jays vs. Detroit Tigersbacked Detroit Tigers · on Polymarket (opens in a new tab)49c$30Lost — open this pick on its own pageMay 17, 2026, EDT-100%-$30
Cincinnati Reds vs. Cleveland Guardiansbacked Cleveland Guardians · on Polymarket (opens in a new tab)59c$30Won — open this pick on its own pageMay 17, 2026, EDT+69.5%+$20.85
Arizona Diamondbacks vs. Colorado Rockiesbacked Colorado Rockies · on Polymarket (opens in a new tab)44c$30Lost — open this pick on its own pageMay 17, 2026, EDT-100%-$30
San Diego Padres vs. Seattle Marinersbacked Seattle Mariners · on Polymarket (opens in a new tab)61c$30Lost — open this pick on its own pageMay 17, 2026, EDT-100%-$30
San Francisco Giants vs. Athleticsbacked Athletics · on Polymarket (opens in a new tab)56c$30Lost — open this pick on its own pageMay 17, 2026, EDT-100%-$30
Milwaukee Brewers vs. Minnesota Twinsbacked Minnesota Twins · on Polymarket (opens in a new tab)47c$30Lost — open this pick on its own pageMay 17, 2026, EDT-100%-$30
Boston Red Sox vs. Atlanta Bravesbacked Atlanta Braves · on Polymarket (opens in a new tab)53c$30Lost — open this pick on its own pageMay 17, 2026, EDT-100%-$30
Cincinnati Reds vs. Cleveland Guardiansbacked Cleveland Guardians · on Polymarket (opens in a new tab)59c$30Won — open this pick on its own pageMay 17, 2026, EDT+69.5%+$20.85
Spread: Philadelphia Phillies (-1.5)backed Pittsburgh Pirates · on Polymarket (opens in a new tab)53c$20Lost — open this pick on its own pageMay 16, 2026, EDT-100%-$20
Arizona Diamondbacks vs. Colorado Rockiesbacked Colorado Rockies · on Polymarket (opens in a new tab)66c$30Won — open this pick on its own pageMay 16, 2026, EDT+51.5%+$15.45
Kansas City Royals vs. St. Louis Cardinalsbacked St. Louis Cardinals · on Polymarket (opens in a new tab)61c$30Won — open this pick on its own pageMay 16, 2026, EDT+63.9%+$19.18
San Francisco Giants vs. Athleticsbacked Athletics · on Polymarket (opens in a new tab)55c$30Won — open this pick on its own pageMay 16, 2026, EDT+81.8%+$24.55
Arizona Diamondbacks vs. Colorado Rockiesbacked Colorado Rockies · on Polymarket (opens in a new tab)48c$30Lost — open this pick on its own pageMay 16, 2026, EDT-100%-$30
Spread: Baltimore Orioles (-1.5)backed Washington Nationals · on Polymarket (opens in a new tab)57c$20Won — open this pick on its own pageMay 15, 2026, EDT+75.4%+$15.09
San Francisco Giants vs. Los Angeles Dodgersbacked Los Angeles Dodgers · on Polymarket (opens in a new tab)63c$30Won — open this pick on its own pageMay 15, 2026, EDT+58.7%+$17.62
Spread: Kansas City Royals (-1.5)backed Kansas City Royals · on Polymarket (opens in a new tab)58c$20Lost — open this pick on its own pageMay 14, 2026, EDT-100%-$20
Kansas City Royals vs. Chicago White Soxbacked Chicago White Sox · on Polymarket (opens in a new tab)47c$30Won — open this pick on its own pageMay 14, 2026, EDT+112.8%+$33.83
Philadelphia Phillies vs. Boston Red Soxbacked Boston Red Sox · on Polymarket (opens in a new tab)51c$30Lost — open this pick on its own pageMay 14, 2026, EDT-100%-$30
St. Louis Cardinals vs. Athleticsbacked Athletics · on Polymarket (opens in a new tab)54c$30Lost — open this pick on its own pageMay 14, 2026, EDT-100%-$30
Showing 25 of 330 picks, newest first.
NHL Inactivelast resolved May 13, 2026, EDT22763.4%144 W · 83 L+11.2wins+0.05per pick59cpaid+9.6%equal weight55+0.04 edge/pick
NHL — the 227 picks behind this row

Every qualified pick this wallet made in NHL, 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
Spread: Golden Knights (-1.5)backed Ducks · on Polymarket (opens in a new tab)63c$20Won — open this pick on its own pageMay 13, 2026, EDT+58.7%+$11.75
Spread: Canadiens (-1.5)backed Sabres · on Polymarket (opens in a new tab)66c$20Won — open this pick on its own pageMay 12, 2026, EDT+51.5%+$10.3
Hurricanes vs. Flyersbacked Flyers · on Polymarket (opens in a new tab)37c$30Lost — open this pick on its own pageMay 10, 2026, EDT-100%-$30
Ducks vs. Golden Knightsbacked Ducks · on Polymarket (opens in a new tab)41c$30Won — open this pick on its own pageMay 7, 2026, EDT+143.9%+$43.17
Spread: Golden Knights (-1.5)backed Ducks · on Polymarket (opens in a new tab)62c$20Won — open this pick on its own pageMay 7, 2026, EDT+61.3%+$12.26
Spread: Avalanche (-1.5)backed Wild · on Polymarket (opens in a new tab)59c$20Lost — open this pick on its own pageMay 5, 2026, EDT-100%-$20
Spread: Golden Knights (-1.5)backed Ducks · on Polymarket (opens in a new tab)62c$20Lost — open this pick on its own pageMay 5, 2026, EDT-100%-$20
Ducks vs. Golden Knightsbacked Ducks · on Polymarket (opens in a new tab)40c$30Lost — open this pick on its own pageMay 5, 2026, EDT-100%-$30
Flyers vs. Hurricanesbacked Flyers · on Polymarket (opens in a new tab)31c$30Lost — open this pick on its own pageMay 4, 2026, EDT-100%-$30
Spread: Avalanche (-1.5)backed Wild · on Polymarket (opens in a new tab)61c$20Lost — open this pick on its own pageMay 4, 2026, EDT-100%-$20
Spread: Lightning (-1.5)backed Canadiens · on Polymarket (opens in a new tab)65c$20Won — open this pick on its own pageMay 3, 2026, EDT+53.8%+$10.77
Flyers vs. Hurricanesbacked Flyers · on Polymarket (opens in a new tab)33c$30Lost — open this pick on its own pageMay 3, 2026, EDT-100%-$30
Spread: Oilers (-1.5)backed Ducks · on Polymarket (opens in a new tab)67c$20Won — open this pick on its own pageMay 1, 2026, EDT+49.3%+$9.85
Spread: Wild (-1.5)backed Stars · on Polymarket (opens in a new tab)70c$20Lost — open this pick on its own pageApr 30, 2026, EDT-100%-$20
Stars vs. Wildbacked Stars · on Polymarket (opens in a new tab)47c$30Lost — open this pick on its own pageApr 30, 2026, EDT-100%-$30
Spread: Golden Knights (-1.5)backed Utah · on Polymarket (opens in a new tab)64c$20Won — open this pick on its own pageApr 30, 2026, EDT+56.3%+$11.25
Canadiens vs. Lightningbacked Canadiens · on Polymarket (opens in a new tab)40c$30Won — open this pick on its own pageApr 29, 2026, EDT+150%+$45
Spread: Lightning (-1.5)backed Canadiens · on Polymarket (opens in a new tab)64c$20Won — open this pick on its own pageApr 29, 2026, EDT+56.3%+$11.25
Spread: Penguins (-1.5)backed Flyers · on Polymarket (opens in a new tab)69c$20Won — open this pick on its own pageApr 27, 2026, EDT+44.9%+$8.82
Spread: Oilers (-1.5)backed Ducks · on Polymarket (opens in a new tab)66c$20Won — open this pick on its own pageApr 27, 2026, EDT+51.5%+$10.09
Spread: Avalanche (-1.5)backed Kings · on Polymarket (opens in a new tab)62c$20Lost — open this pick on its own pageApr 26, 2026, EDT-100%-$19.54
Spread: Wild (-1.5)backed Stars · on Polymarket (opens in a new tab)69c$20Won — open this pick on its own pageApr 25, 2026, EDT+44.9%+$8.82
Spread: Hurricanes (-1.5)backed Senators · on Polymarket (opens in a new tab)70c$20Lost — open this pick on its own pageApr 25, 2026, EDT-100%-$19.64
Spread: Oilers (-1.5)backed Ducks · on Polymarket (opens in a new tab)66c$20Won — open this pick on its own pageApr 25, 2026, EDT+50.6%+$9.92
Hurricanes vs. Senatorsbacked Hurricanes · on Polymarket (opens in a new tab)48c$29Won — open this pick on its own pageApr 24, 2026, EDT+108.3%+$31.49
Showing 25 of 227 picks, newest first.
NBA Inactivelast resolved May 16, 2026, EDT13852.2%72 W · 66 L+5.5wins+0.04per pick48cpaid+13.3%equal weight54+0.03 edge/pick
NBA — the 138 picks behind this row

Every qualified pick this wallet made in NBA, 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
Spread: Spurs (-5.5)backed Spurs · on Polymarket (opens in a new tab)52c$20Won — open this pick on its own pageMay 16, 2026, EDT+92.3%+$18.46
Spurs vs. Timberwolvesbacked Spurs · on Polymarket (opens in a new tab)66c$30Won — open this pick on its own pageMay 16, 2026, EDT+51.5%+$15.45
Spread: Thunder (-10.5)backed Thunder · on Polymarket (opens in a new tab)54c$20Lost — open this pick on its own pageMay 12, 2026, EDT-100%-$20
Spread: Spurs (-4.5)backed Spurs · on Polymarket (opens in a new tab)54c$20Lost — open this pick on its own pageMay 11, 2026, EDT-100%-$20
Spread: Knicks (-1.5)backed Knicks · on Polymarket (opens in a new tab)51c$20Won — open this pick on its own pageMay 10, 2026, EDT+96.1%+$19.22
Spurs vs. Timberwolvesbacked Spurs · on Polymarket (opens in a new tab)65c$30Lost — open this pick on its own pageMay 10, 2026, EDT-100%-$30
Spread: Thunder (-8.5)backed Thunder · on Polymarket (opens in a new tab)53c$20Won — open this pick on its own pageMay 10, 2026, EDT+88.7%+$17.74
Thunder vs. Lakersbacked Thunder · on Polymarket (opens in a new tab)77c$30Won — open this pick on its own pageMay 10, 2026, EDT+29.9%+$8.96
Spread: Cavaliers (-4.5)backed Pistons · on Polymarket (opens in a new tab)49c$20Lost — open this pick on its own pageMay 9, 2026, EDT-100%-$20
Pistons vs. Cavaliersbacked Pistons · on Polymarket (opens in a new tab)39c$30Lost — open this pick on its own pageMay 9, 2026, EDT-100%-$30
Spread: Spurs (-4.5)backed Spurs · on Polymarket (opens in a new tab)54c$20Won — open this pick on its own pageMay 9, 2026, EDT+85.2%+$17.04
Spurs vs. Timberwolvesbacked Spurs · on Polymarket (opens in a new tab)66c$30Won — open this pick on its own pageMay 9, 2026, EDT+51.5%+$15.45
Spread: Pistons (-3.5)backed Pistons · on Polymarket (opens in a new tab)52c$20Won — open this pick on its own pageMay 7, 2026, EDT+92.3%+$18.46
Cavaliers vs. Pistonsbacked Pistons · on Polymarket (opens in a new tab)61c$30Won — open this pick on its own pageMay 7, 2026, EDT+63.9%+$19.18
Spread: Knicks (-7.5)backed Knicks · on Polymarket (opens in a new tab)51c$20Lost — open this pick on its own pageMay 6, 2026, EDT-100%-$20
76ers vs. Knicksbacked Knicks · on Polymarket (opens in a new tab)74c$30Won — open this pick on its own pageMay 6, 2026, EDT+35.1%+$10.54
Spread: Pistons (-3.5)backed Pistons · on Polymarket (opens in a new tab)49c$20Won — open this pick on its own pageMay 5, 2026, EDT+104.1%+$20.82
Cavaliers vs. Pistonsbacked Pistons · on Polymarket (opens in a new tab)59c$30Won — open this pick on its own pageMay 5, 2026, EDT+69.5%+$20.85
76ers vs. Knicksbacked Knicks · on Polymarket (opens in a new tab)71c$30Won — open this pick on its own pageMay 4, 2026, EDT+40.8%+$12.25
Spread: Knicks (-7.5)backed Knicks · on Polymarket (opens in a new tab)50c$20Won — open this pick on its own pageMay 4, 2026, EDT+100%+$20
Cavaliers vs. Raptorsbacked Raptors · on Polymarket (opens in a new tab)36c$30Won — open this pick on its own pageMay 1, 2026, EDT+177.8%+$53.33
Spread: Cavaliers (-4.5)backed Raptors · on Polymarket (opens in a new tab)49c$20Won — open this pick on its own pageMay 1, 2026, EDT+104.1%+$20.82
Spread: Pistons (-3.5)backed Magic · on Polymarket (opens in a new tab)50c$20Lost — open this pick on its own pageMay 1, 2026, EDT-100%-$20
Nuggets vs. Timberwolvesbacked Timberwolves · on Polymarket (opens in a new tab)33c$30Won — open this pick on its own pageMay 1, 2026, EDT+203%+$60.91
Spread: Nuggets (-6.5)backed Timberwolves · on Polymarket (opens in a new tab)53c$20Won — open this pick on its own pageMay 1, 2026, EDT+88.7%+$17.74
Showing 25 of 138 picks, newest first.
Premier League Inactivelast resolved Mar 21, 2026, EDT2100%2 W · 0 L+0.9wins+0.46per pick54cpaid+90.5%equal weight54+0.03 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.

MarketEntrySizeResultResolvedReturnP/L held
Will Fulham FC win on 2026-03-21?backed Yes · on Polymarket (opens in a new tab)64c$30Won — open this pick on its own pageMar 21, 2026, EDT+56.3%+$16.88
Spread: Liverpool FC (-1.5)backed Tottenham Hotspur FC · on Polymarket (opens in a new tab)45c$15Won — open this pick on its own pageMar 15, 2026, EDT+124.7%+$18.46
All 2 picks, newest first.
La Liga Inactivelast resolved Mar 20, 2026, EDT250%1 W · 1 L-0.1wins-0.04per pick54cpaid0%equal weight500.00 edge/pick
La Liga — the 2 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.

MarketEntrySizeResultResolvedReturnP/L held
Will Villarreal CF win on 2026-03-20?backed Yes · on Polymarket (opens in a new tab)50c$30Won — open this pick on its own pageMar 20, 2026, EDT+100%+$30
Will Rayo Vallecano de Madrid win on 2026-03-16?backed Yes · on Polymarket (opens in a new tab)58c$45Lost — open this pick on its own pageMar 16, 2026, EDT-100%-$45
All 2 picks, newest first.
Bundesliga Inactivelast resolved Mar 21, 2026, EDT1100%1 W · 0 L+0.5wins+0.53per pick47cpaid+112.8%equal weight52+0.02 edge/pick
Bundesliga — the 1 pick behind this row

Every qualified pick this wallet made in Bundesliga, 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
Spread: FC Bayern München (-2.5)backed FC Bayern München · on Polymarket (opens in a new tab)47c$20Won — open this pick on its own pageMar 21, 2026, EDT+112.8%+$22.55
All 1 picks, newest first.
Serie A Inactivelast resolved Mar 20, 2026, EDT1100%1 W · 0 L+0.4wins+0.44per pick56cpaid+78.6%equal weight52+0.02 edge/pick
Serie A — the 1 pick 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
Will SSC Napoli win on 2026-03-20?backed Yes · on Polymarket (opens in a new tab)56c$30Won — open this pick on its own pageMar 20, 2026, EDT+78.6%+$23.37
All 1 picks, newest first.
Ligue 1 Inactivelast resolved Mar 21, 2026, EDT1100%1 W · 0 L+0.3wins+0.32per pick68cpaid+47.1%equal weight51+0.01 edge/pick
Ligue 1 — the 1 pick behind this row

Every qualified pick this wallet made in Ligue 1, 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 Paris Saint-Germain FC win on 2026-03-21?backed Yes · on Polymarket (opens in a new tab)68c$30Won — open this pick on its own pageMar 21, 2026, EDT+47.1%+$14.12
All 1 picks, newest first.
Mls Inactivelast resolved Mar 22, 2026, EDT1100%1 W · 0 L+0.2wins+0.20per pick80cpaid+25%equal weight51+0.01 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
Spread: FC Dallas (-1.5)backed Houston Dynamo · on Polymarket (opens in a new tab)80c$20Won — open this pick on its own pageMar 22, 2026, EDT+25%+$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.