The scores get tested in public
Two public surfaces hold this site accountable. The receipts ledger grades every alerted position after resolution, losses included. This page holds the slower work: tests of the scoring, each pre-registered before it ran and published below, as committed, whichever way it came out.
Copying at the follower’s price: pre-registered test, published 2026-09-24, rerun 2026-09-25
A wallet’s record is scored at the prices it paid, but anyone following it buys later. This test asked whether records hold up at a later price, taken as the first trade on the same market outcome at least five minutes after the wallet’s fill, whichever side started it. Every scored fill on resolved markets was re-priced that way (512,973,581 fills in the rerun; 1.24% had no trade five or more minutes later and were left out). Returns are measured against the price curve, meaning the structural favorite-longshot premium available to anyone at that price is removed, and before fees. The thresholds and the pass rules were committed before any follower-price statistic was computed. The only follower-price results that existed then were dry runs on Sports, Esports and Tennis, and they were known when the thresholds were set.
Each wallet’s record in each category was split at the first-fill time that puts 60% of all wallet-events earlier (2026-04-23 12:36 UTC in the rerun). A wallet-category passed if its earlier record at the follower’s price sat above zero at 95% confidence over at least 20 events. The test then required, each at 95% confidence, that the passing group’s later average sit above zero and above the later average of the rest. It covered the wallet-categories with at least 20 earlier and 5 later events.
There are two runs. The first, published 2026-09-24, used data that filed most tennis and esports markets under Sports after a Polymarket tag change (see the corrections log). After the first run’s result was published, and before any rerun result existed, we recorded that a rerun with the same scripts on the corrected categories would decide the outcome and that the first run would stay published beside it (recorded 2026-09-25 03:52 UTC; the rerun started at 12:51 UTC).
| Run | Earlier record at the follower’s price | Wallet-categories | Later average, cents per share | 95% interval |
|---|---|---|---|---|
| Rerun, 2026-09-25 (decides) | Passed | 13,422 | +0.12 | +0.04 to +0.21 |
| Did not pass | 76,960 | −0.83 | −0.88 to −0.77 | |
| Difference | +0.95 | +0.85 to +1.05 | ||
| First run, 2026-09-24 | Passed | 13,121 | +0.08 | −0.01 to +0.17 |
| Did not pass | 69,608 | −0.95 | −1.01 to −0.89 | |
| Difference | +1.02 | +0.92 to +1.13 |
In the rerun both conditions held. The passing group’s later average sat above zero, and above the rest’s. In the first run the first condition failed, because the passing group’s later average could not be told apart from zero. The rerun decides, so the evidence test passes. A second pre-registered check fell short in both runs. It put a lower bound on alerted positions under a watchlist limited to wallets whose full record holds up. In the rerun the bound came to 10.8 a week on average against the required 20, with 5 in the weakest week against the required 10. That count ranks the watchlist under scoring v1.2 (described in the validation section below and on the methodology page), because the 2026-09-25 scores had left Sports with no watchlist. We recorded that choice before the rerun started. Under the earlier scoring the rerun counted 10.0 a week with a weakest week of 5, and the first run counted 12 and 8. Under the rules committed in advance, this outcome calls for a per-wallet verdict on whether a record holds up at the follower’s price to be shown as a research label. It appears on the board, wallet pages and the wallet checker from the 2026-09-26 update, and each label shows the date of the run behind it. From 2026-09-27 to 2026-09-29 an alert from a wallet whose record did not hold up said so on its own line. That line was removed after the label test below. Which alerts go out is unchanged, and whether to limit them to wallets that hold up is left for a later review with this data.
Read plainly, records that passed came out about a tenth of a cent a share above the price curve at the follower’s price, and the rest came out most of a cent a share below it on average. Earlier records at that price sorted later results. The figures are measured against the price curve and before fees, which the venue has charged takers since February 2026, so they do not show whether buying at the follower’s price made money. The intervals treat wallet-categories as independent. Many of them trade the same events, so the true uncertainty may be wider, and the passing group’s lower bound, +0.04, is close to zero. In an exploratory cut that was not pre-registered, the rerun’s median later result was +0.12 cents a share for wallet-categories that passed, +0.07 for those whose earlier average was above zero without passing, and +0.01 for those whose earlier average was zero or below (+0.12, +0.06 and −0.07 in the first run). The two groups that did not pass averaged −0.67 and −1.01, far below their medians, which points to a tail of large later losses. The next section repeats this test at the price the next taker on the wallet’s side paid, where the passing group came out below the price curve.
Copying at a taker’s price: pre-registered test, run 2026-09-28
The test above prices a follower at the first trade on the same market outcome at least five minutes after the wallet’s fill, whichever side started it, before fees. On Polymarket a follower who buys straight away pays more than that on average. They buy from orders already on the book, at the asking price, and since February 2026 the venue has charged such takers a fee. This test prices each fill at the first trade on the same market outcome, at least five minutes after it, made by a taker on the wallet’s side. A taker here means an order that filled at once against orders already on the book (a purchase when the wallet bought, a sale when it sold). That is the price the first such taker paid. A follower’s own order could get a different one, depending on its size and timing. As in the test above, returns are measured against the price curve, so these figures do not show whether copying made money.
The rules, including how the fee would be counted, were committed on 2026-09-27 and signed at about 16:25 UTC, before the run started on 2026-09-28. When they were fixed, no figure at a taker’s price or after fees existed for any group, and the result was to be published whichever way it came out. The passing rule, the 60/40 split rule and the event minimums are the ones above, applied to the latest data, so the split falls on 2026-04-24 20:58 UTC (2026-04-23 12:36 UTC above). Passing is still judged at the price the test above uses, before fees, so the passing group is the one today’s label rule selects. The test covers wallet-categories with at least 20 earlier events and at least 5 later events that had a taker trade.
| Measure | Group | Wallet-categories | Later average, cents per share | 95% interval |
|---|---|---|---|---|
| Taker price, before fees | Passed | 13,290 | −0.21 | −0.30 to −0.12 |
| Did not pass | 76,314 | −1.26 | −1.32 to −1.20 | |
| Difference | +1.05 | +0.95 to +1.16 | ||
| Follower’s price (as above), before fees | Passed | 13,398 | +0.11 | +0.02 to +0.19 |
| Did not pass | 76,909 | −0.81 | −0.86 to −0.75 | |
| Taker price before fees, passing judged at that price too | Passed | 10,454 | −0.20 | −0.30 to −0.10 |
The follower’s-price rows repeat the test above on this run’s data. The rerun above found +0.12 for the passing group.
At the taker price, before fees, wallet-categories that passed on earlier events came out below the price curve on later ones, at −0.21 cents a share with an interval from −0.30 to −0.12. By the rule committed in advance, the group that today’s label rule selects did not beat the price curve at a follower’s cost on later events. The ones that did not pass came out at −1.26 (difference +1.05, 95% interval +0.95 to +1.16). Judging passing at the taker price as well selected a group that also came out below the price curve (−0.20). This is the evidence on alerts for the 2026-11-02 review of which alerts go out.
The data records a fee on most taker trades. Under the rule fixed in advance, the run could not settle how purchases are charged, so the figures above are before fees. Counted either way the rule allowed, the fee lowers the passing group’s later average to −0.42 or −0.60 cents a share.
For the passing group, the later average was +0.11 at the trade the test above uses and −0.21 at the taker trade. The first figure covers a slightly different set of wallet-categories. Across the fills that had both prices, the taker trade cost 0.33 cents a share more than the trade the test above uses. That covers the difference between the buying and selling prices on the book and any price move between the two trades.
The intervals treat wallet-categories as independent. Many of them trade the same events, so the true uncertainty may be wider. 4.9% of scored fills had no taker trade on the wallet’s side five or more minutes later and are left out. 77.2% of those won. The run did not compare that with the prices they were bought at, so it cannot say whether leaving them out raises or lowers the figures above. For 16.4% of the fills kept, the taker trade came more than an hour after the fill. Taker trades in the other outcome of the same market are not used, which lowers coverage and can push the chosen trade later. A follower of a sale is priced as the next taker seller of the same outcome. A follower with no shares to sell would buy the other outcome instead.
Across 878 graded alerted positions that had a taker purchase at least five minutes after the alert was sent (or, for a position not sent in real time, detected), the positions won 1.74 percentage points more often than that purchase’s price implied, before fees. The 95% interval runs from −0.96 to +4.44, so it includes zero. It allows for positions in the same market moving together, as on /receipts. Counting the fee either way the rule allowed, the figure is +0.95 or +1.27. 40 graded positions had no such purchase and are left out. The purchase came a median 9.8 minutes after the alert (90th percentile, 335 minutes). Figures as of 2026-09-28.
Added September 29, 2026. The same run checked a reason the methodology page gave for setting the price baseline to zero between 30¢ and 70¢, that returns there are the footprint of informed traders. The rule, fixed in advance, required scored fills whose orders took liquidity to come out more than half a cent a share above the prices paid on both sides of 50¢. They came out 2.36 cents below from 30¢ to 50¢ and 1.88 cents above from 50¢ to 70¢, so this data does not support that reading. The methodology page now says so.
Does the “didn’t hold up” label predict later results? Pre-registered test, run 2026-09-29
The research label marks a wallet-category “didn’t hold up” when its record at the 5-minute price (the follower’s price above) averaged zero or below over at least 20 events. This test asked whether records the label flags on earlier events do worse on later ones, at the taker price above, than records it does not flag. The rules were committed and signed on 2026-09-28, before the run above had produced any later-period figure. How the rules were implemented was written down after the taker-price results above were read and before this test’s. The result was read once. A first attempt stopped partway, and its partial output was deleted unread.
It covers the wallet-categories the board ranks above its baseline on their earlier events (a positive average at the prices the wallet paid), with at least 20 earlier events and at least 5 later events that had a taker trade, 1,907 flagged and 45,488 not flagged. The figures are before fees, since the run could not settle how purchases are charged. The label needed three things to count as predicting worse results. The difference, flagged minus the rest, needed a 95% interval entirely below zero. The flagged group’s average needed to be at or below zero. And a second interval, pooled over wallet-events and treating wallet-events in the same event as related, needed to sit below zero as well.
The flagged records came out at −0.78 cents a share on later events and the rest at −0.84. The difference, +0.06, has a 95% interval from −0.23 to +0.35, so the first condition failed. The other two held. The flagged average is below zero, and the pooled interval, which weights busy wallets more, put the difference at −0.26 (−0.38 to −0.13). By the rule committed in advance, the label was not shown to predict worse later results, and no change to which alerts go out is recommended on this evidence.
The rules also required six variants, reported beside the result and not part of the decision. Capping each wallet-category’s result at the 1st and 99th percentiles, the difference was +0.02 (−0.25 to +0.28). Dropping the condition that the board ranks the record above its baseline, flagged records came out 0.59 lower (−0.69 to −0.48). Measured at the 5-minute price instead of the taker price, they came out 0.36 higher (+0.09 to +0.64). Within categories, weighted by the flagged counts, the difference was +0.15. Leaving out recurring series changed nothing, because none reach this data. Records that held up (a positive earlier average at 95% confidence; 12,966 here, a different cut from the taker table’s 13,290) came out at −0.21, better than the flagged ones by 0.57 cents a share (0.27 to 0.86). Records in between (positive, short of 95%) came out at −1.09. All three groups came out below the price curve.
Does acting sooner get a follower a better price? Pre-registered test, run 2026-10-01
The taker-price test above prices a follower at the first taker trade on the wallet’s side at least five minutes after the wallet’s fill, roughly a person acting on an alert. This test asked what a follower who acted sooner would have paid. It took the first such trade at least 30 seconds, 1 minute and 2 minutes after the fill, and the first one recorded on the chain in a later block than the fill’s, about the earliest trade a bot reading fills from the chain could get. Returns are measured as above, against the price curve, in cents a share, so they do not show whether copying made money. Unlike the test above, this one never uses the wallet’s own trades as the follower’s price, because a wallet that splits one order into several fills would otherwise price its follower at its own next fill.
The rules were signed on 2026-09-29, after the taker-price and label results above were read, when no figure existed at any delay other than five minutes. The test covers the 13,290 wallet-categories that passed in the taker-price table and a fixed 10% sample of the rest (7,765), on later events only. A delay would count as leaving an edge if the passing group’s 95% interval sat entirely above zero after the fee. As a check on the implementation, the five-minute figure computed the way the test above computes it, with the wallet’s own trades included, had to match that test for every wallet-event in the sample. It matched for all 2,767,693.
The test above could not settle how the fee is charged, so its figures stay before fees. This test’s rules added an exploratory check limited to trades from May 2026 on. It pointed to the fee being charged on every share, so this test’s after-fee figures count it that way.
| Delay (passing group, 13,290 wallet-categories) | Before fees, cents per share | 95% interval | After the fee | 95% interval |
|---|---|---|---|---|
| Next block (shown, not used) | −0.23 | −0.32 to −0.14 | −0.63 | −0.72 to −0.53 |
| 30 seconds | −0.19 | −0.28 to −0.10 | −0.58 | −0.67 to −0.49 |
| 1 minute | −0.18 | −0.27 to −0.09 | −0.57 | −0.67 to −0.48 |
| 2 minutes | −0.19 | −0.28 to −0.10 | −0.57 | −0.67 to −0.48 |
| 5 minutes | −0.21 | −0.30 to −0.12 | −0.60 | −0.69 to −0.51 |
At every delay the passing group sat below the price curve before fees, and further below after the fee. By the rule fixed in advance, no delay left an edge. Before fees, the 30-second figure is 0.02 cents a share above the five-minute one, and each lies inside the other’s interval (the test did not put an interval on the difference). The 10% sample of the rest came out between −1.11 and −1.15 before fees at every delay. The rules tie no product decision to this test, and it goes to the 2026-11-02 review as information.
The next-block row is shown and not used. For 6,078 fills, the trade picked as the first in a later block was in the fill’s own block or an earlier one, because the recorded trade times do not always rise with block number. A check afterwards on one eighth of the data found 1,446 of 11.4 million taker trades recorded earlier than a trade in an earlier block, by up to about two minutes. A rule written before the run sets the row aside when this happens. The timed delays use the same recorded times.
The figures in this paragraph are reported and not part of the decision. Fills in markets whose game had already started did worse. At 30 seconds, before fees, the passing group averaged −0.79 (−1.02 to −0.57) on those fills, across 4,918 wallet-categories, and −0.25 (−0.37 to −0.14) on the others (12,063). Among the 11 categories with at least 30 passing wallet-categories, Box Office (31) and Iran (274) stayed above zero after the fee at every delay used, at +1.84 (+0.58 to +3.10) and +1.57 (+0.99 to +2.16) at five minutes. Sports was lowest, at −1.47 before fees at five minutes (−1.77 to −1.17, 2,489 wallet-categories). That breakdown covers 11 categories, 5 delays and 3 fee treatments (before fees, and the fee counted each of two ways), 165 intervals with no correction for their number. Of the passing group’s fills, 8.0% had no taker trade at 30 seconds and 10.7% at five minutes, and they are left out at that delay.
The price used at each delay is the first such taker trade. A follower’s own order could get a different price, depending on its size and place in the queue, and other copy bots compete for the same trades. The intervals treat wallet-categories as independent. Many of them trade the same events, so the true uncertainty may be wider. Reading four delays (five were planned) at 95% each raises the chance that one shows an edge by luck. The intervals are not widened for it, because the delays are closely linked and no decision follows.
Do conviction-sized positions do better? Pre-registered test, run 2026-10-01
An alert goes out only for a conviction-sized position: at least $1,000, priced between 10 and 90 cents, and for a wallet with enough history at least 1.5 times its median position (the methodology page gives the full rule). This test asked whether a wallet’s positions that reached that kind of size did better at the taker price above than the same wallet’s routine positions in the same category. If they did not, the methodology page would say that the gate limits how many alerts go out without being shown to pick better positions.
The rules were signed on 2026-09-29, and how they would be implemented was written down on 2026-10-01, both before any position size, conviction or routine grouping, or return in this test had been computed. Events were split at the taker-price test’s cutoff (2026-04-24 20:58 UTC). Each wallet’s trading in one event counts once. Its size is the largest position the wallet held in any one outcome of that event, valued at the average buying price and capped at what it spent, the formula the alert detector uses. A later event was conviction-sized if a position in it crossed the larger of $1,000 and 1.5 times the wallet-category’s median event size over earlier events, and the fill where it first crossed was priced between 10 and 90 cents. It was routine if no position crossed and its purchases averaged, by shares, between 10 and 90 cents. Returns are the taker-price returns above, against the price curve and before fees, because this test’s rules use the taker-price test’s fee setting, which could not settle how the fee is charged.
The test covers wallet-categories with at least 5 earlier events with a size above zero, and at least 3 conviction-sized and 5 routine later events with a return: 9,168 of them. For each, it took the average return of its conviction-sized later events minus that of its routine ones, and averaged that difference across wallet-categories. A 95% interval entirely above zero would have shown that size picks better positions.
The difference came out at −0.26 cents a share, with a 95% interval from −0.54 to +0.02. The interval includes zero, so by the rule fixed in advance, size was not shown to select better positions at the taker price. The methodology page’s description of the conviction gate now says so.
The figures in this paragraph are reported and not part of the decision. Weighting each wallet-category by its number of conviction-sized events put the difference at +0.19 (+0.03 to +0.34). A version that compares within each wallet-category and allows for positions in the same event moving together gave +0.17 (−0.003 to +0.34). Both give more weight to wallet-categories with many conviction-sized events, and both are positive while the primary figure is negative. Wallet-categories that were also in the taker-price test’s passing group averaged −0.19 (−1.00 to +0.61, 837 of them). Conviction-sized events made up 12.1% of later events and 13.3% of earlier ones, and 0.6% of the conviction-sized later events with a return fell in the ten events with the most of them.
The gate itself compares a position with the wallet’s median over the trailing 120 days across all categories, and checks the outcome’s last trade price. This test used the median over earlier events within the category and the price at the crossing, so it shares the gate’s thresholds, not its exact rule. A bankroll that grew between the two periods would make ordinary positions read as conviction-sized. The interval treats wallet-categories as independent.
Validation report, published 2026-07-15
Nine quarterly cutoffs, 2024-04-01 through 2026-04-01. At each cutoff T the full scoring pipeline was refit on data resolved by T only, the board was ranked with production gates, and forward performance was measured on events resolving in the following 90 days against the as-of-T baseline. The design and the exact language rules for describing outcomes were committed before any number existed (specification 2026-07-10, reading guide 2026-07-13).
The scoring changed after this report. Since methodology v1.1 (2026-09-24), bets at 2.5 cents or less no longer count toward a score, and v1.2, applied from the 2026-09-26 update, counts each wallet’s own noise when estimating how much skill varies within a category. Every validation result on this page was computed under v1.0 and stands as published. A rerun under a later version would be published beside these results with its version stated, never in their place.
Tested strictly on data the rankings had never seen, the picture is mixed, and we publish it as it came out. Alert-eligible wallets (the wallets that met the alert watchlist’s score rules at T, before its limit of 25 per category) went on to beat the prices they paid in six of the nine windows, by about +0.7 to +1.4 cents per share with confidence intervals clear of zero (largest window n = 2,236,857 wallet-events). In the weakest window (2025-04-01) the same slice did not demonstrate forward edge beyond price at this sample size, and the top decile of the board went on to negative forward excess (-0.54 c/share, 95% CI [-0.92, -0.14], n = 73,450 wallet-events). The top decile’s interval also sits entirely below zero in the 2026-01-01 window (-0.40 c/share, 95% CI [-0.51, -0.29], n = 757,516 wallet-events; decile tables below). In that window the alert-eligible slice still went on to beat its prices (+0.82 c/share, 95% CI [+0.64, +0.98], n = 254,873 wallet-events).
Before publication, three independent layers had to agree: a timestamp-integrity audit of the resolution dating (run as a hard gate before any cutoff), a structural invariant check on the run’s output tables, and an independent recompute of both headline populations from the raw scored fills in separately written SQL. All 18 cutoff-population pairs agreed within 0.001 cents per share.
The gate slice: alert-eligible wallets
This table covers the wallets the alert rules select from. Forward price-relative excess for wallets that were alert-eligible at T, with event-clustered bootstrap intervals (events are the independence unit, and each set of mutually exclusive outcomes forms one event).
Scope, added September 27, 2026. “Alert-eligible” here means the wallets that met the watchlist’s score rules at T, which require at least 10 resolved events and a score, after small records are pulled toward their category’s event-weighted average, that is above both the as-of-T price baseline and that category average. The tested group left out wallets hidden from the public board (the list as of July 2026) and did not apply the alerts’ hand-kept exclude list. The alert watchlist takes at most 25 wallets per category, and this report did not measure that group on its own. Earlier versions of this page called the tested group the slice the paid alerts draw from. Averages are taken over wallet-events, so wallets with many events weigh more. The figures use the price each wallet paid, not the later price a follower would get (see the follower-price test above), and are before fees.
| cutoff | fwd excess (c/share) | 95% CI | n (wallet-events) |
|---|---|---|---|
| 2024-04-01 | +0.45 | [-0.58, +1.58] | 3,174 |
| 2024-07-01 | +1.38 | [+0.73, +2.02] | 20,454 |
| 2024-10-01 | +0.92 | [+0.44, +1.34] | 92,257 |
| 2025-01-01 | +0.18 | [-0.33, +0.79] | 217,726 |
| 2025-04-01 | -0.35 | [-0.85, +0.09] | 88,050 |
| 2025-07-01 | +0.69 | [+0.49, +0.88] | 157,928 |
| 2025-10-01 | +0.73 | [+0.56, +0.89] | 189,112 |
| 2026-01-01 | +0.82 | [+0.64, +0.98] | 254,873 |
| 2026-04-01 | +0.84 | [+0.77, +0.90] | 2,236,857 |
In the 2025-04-01, 2024-04-01, and 2025-01-01 windows, alert-eligible wallets did not demonstrate forward edge beyond price at this sample size; 2025-04-01 is the weakest of the three, with a negative point estimate. In the other six windows, alert-eligible wallets went on to beat the prices they paid, by about +0.7 to +1.4 cents per share, with intervals clear of zero in each.
Addendum, 2026-09-29: the watchlist’s top 25 per category
The table above covers the alert-eligible wallets, as scoped there. The alert watchlist keeps the top 25 per category by score, and the July report did not measure that group on its own. Under the commitment to publish out-of-time results either way, this re-aggregates the same run’s tables for that group, at the prices the wallets paid and before fees. Recomputed the same way, all alert-eligible wallets match the published averages and wallet-event counts at all nine cutoffs. Pooled figures weight each wallet-event equally, with a normal-approximation interval that treats positions in the same event as related (the table above used a bootstrap). Per wallet-category figures weight each wallet-category once, with an interval that treats them as independent.
| cutoff | top 25, pooled (c/share) | 95% CI | per wallet-category | 95% CI | n (wallet-events) |
|---|---|---|---|---|---|
| 2024-04-01 | -0.75 | [-2.26, +0.77] | +0.13 | [-2.97, +3.22] | 1,527 |
| 2024-07-01 | +2.55 | [-0.39, +5.50] | +1.68 | [-0.26, +3.62] | 2,089 |
| 2024-10-01 | +5.66 | [+4.66, +6.65] | +1.58 | [-0.80, +3.96] | 5,568 |
| 2025-01-01 | +1.14 | [-0.46, +2.74] | +1.06 | [-0.79, +2.90] | 3,675 |
| 2025-04-01 | +3.64 | [+2.38, +4.90] | +3.58 | [+1.15, +6.01] | 1,837 |
| 2025-07-01 | +4.99 | [+3.87, +6.11] | +3.12 | [+1.16, +5.09] | 3,219 |
| 2025-10-01 | +4.84 | [+4.02, +5.66] | +2.19 | [+0.71, +3.67] | 7,153 |
| 2026-01-01 | +6.90 | [+6.22, +7.58] | +5.77 | [+4.22, +7.32] | 7,445 |
| 2026-04-01 | +9.62 | [+9.01, +10.22] | +4.31 | [+2.41, +6.21] | 13,095 |
Pooled, the top 25 came out above all alert-eligible wallets at eight of the nine cutoffs. The exception is 2024-04-01, the window with the fewest wallet-events. At 2024-04-01, 2024-07-01 and 2025-01-01 the pooled interval includes zero, and there the top 25 did not demonstrate forward edge beyond price at this sample size. Per wallet-category, the intervals include zero at the four earliest cutoffs, and the figures run well below the pooled ones (+4.31 against +9.62 at 2026-04-01), since the pooled figure weights busy wallets more. These are the prices the wallets paid. No test above isolates the top 25 at a follower’s price.
Decile tables
Forward excess by as-of-T rank decile. Under the pre-registered reading guide, the only licensed pairwise comparison is decile 1 against decile 10, and only where their intervals do not overlap; where the top decile’s interval includes zero, the mandatory sentence appears verbatim. Patterns the guide has no language for stay in the tables.
Cutoff 2024-04-01
| decile | fwd excess (c/share) | 95% CI | n (wallet-events) |
|---|---|---|---|
| 1 | +1.93 | [-0.25, +4.47] | 463 |
| 2 | +0.22 | [-1.78, +2.20] | 561 |
| 3 | +0.67 | [-1.19, +2.30] | 703 |
| 4 | +0.29 | [-1.18, +1.78] | 785 |
| 5 | +0.71 | [-0.67, +2.03] | 629 |
| 6 | -0.09 | [-1.33, +1.11] | 1,088 |
| 7 | +0.59 | [-2.99, +4.17] | 252 |
| 8 | -2.49 | [-4.70, -0.54] | 287 |
| 9 | +0.16 | [-1.68, +2.08] | 632 |
| 10 | +0.28 | [-5.13, +4.58] | 145 |
The top decile's forward excess was indistinguishable from zero at this sample size.
Cutoff 2024-07-01
| decile | fwd excess (c/share) | 95% CI | n (wallet-events) |
|---|---|---|---|
| 1 | +1.30 | [+0.02, +2.56] | 2,686 |
| 2 | +1.80 | [+0.96, +2.66] | 3,571 |
| 3 | +0.76 | [-0.29, +1.86] | 2,268 |
| 4 | +1.99 | [+1.27, +2.77] | 4,513 |
| 5 | +1.47 | [+0.50, +2.40] | 2,783 |
| 6 | +1.37 | [+0.45, +2.42] | 2,124 |
| 7 | +0.23 | [-0.59, +1.08] | 3,552 |
| 8 | +0.48 | [-0.75, +1.77] | 1,648 |
| 9 | -1.28 | [-2.14, -0.37] | 3,521 |
| 10 | -2.96 | [-4.25, -1.65] | 2,220 |
Wallets ranked in the top decile at T went on to +1.30 c/share against -2.96 c/share for the bottom decile (intervals disjoint).
Cutoff 2024-10-01
| decile | fwd excess (c/share) | 95% CI | n (wallet-events) |
|---|---|---|---|
| 1 | +2.82 | [+2.22, +3.43] | 28,781 |
| 2 | +0.37 | [-0.09, +0.82] | 23,991 |
| 3 | +0.47 | [-0.01, +0.93] | 21,125 |
| 4 | -0.08 | [-0.47, +0.32] | 20,874 |
| 5 | -0.93 | [-1.48, -0.41] | 15,120 |
| 6 | -0.95 | [-1.44, -0.49] | 17,319 |
| 7 | -1.62 | [-2.19, -0.95] | 12,724 |
| 8 | -2.72 | [-3.39, -2.14] | 13,977 |
| 9 | -2.68 | [-3.25, -2.13] | 13,585 |
| 10 | -5.22 | [-5.95, -4.51] | 13,128 |
Wallets ranked in the top decile at T went on to +2.82 c/share against -5.22 c/share for the bottom decile (intervals disjoint).
Cutoff 2025-01-01
| decile | fwd excess (c/share) | 95% CI | n (wallet-events) |
|---|---|---|---|
| 1 | +0.84 | [-0.01, +1.62] | 83,068 |
| 2 | +0.22 | [-0.25, +0.63] | 65,595 |
| 3 | -0.63 | [-0.98, -0.31] | 50,086 |
| 4 | -0.68 | [-1.15, -0.23] | 18,400 |
| 5 | -0.05 | [-0.42, +0.26] | 15,511 |
| 6 | -0.21 | [-0.59, +0.15] | 19,420 |
| 7 | -0.59 | [-0.96, -0.22] | 28,498 |
| 8 | -1.44 | [-1.97, -0.96] | 32,921 |
| 9 | -1.80 | [-2.24, -1.36] | 38,697 |
| 10 | -3.61 | [-4.12, -3.13] | 49,656 |
The top decile's forward excess was indistinguishable from zero at this sample size. Wallets ranked in the top decile at T went on to +0.84 c/share against -3.61 c/share for the bottom decile (intervals disjoint).
Cutoff 2025-04-01
| decile | fwd excess (c/share) | 95% CI | n (wallet-events) |
|---|---|---|---|
| 1 | -0.54 | [-0.92, -0.14] | 73,450 |
| 2 | -1.13 | [-1.52, -0.77] | 61,834 |
| 3 | -0.88 | [-1.25, -0.51] | 63,078 |
| 4 | -0.67 | [-1.11, -0.27] | 48,898 |
| 5 | -1.28 | [-1.71, -0.80] | 46,769 |
| 6 | -0.93 | [-1.39, -0.46] | 49,850 |
| 7 | -1.15 | [-1.60, -0.79] | 54,488 |
| 8 | -1.54 | [-1.88, -1.12] | 57,467 |
| 9 | -1.50 | [-1.98, -1.06] | 47,664 |
| 10 | -1.60 | [-2.09, -1.16] | 55,166 |
This is the weakest window in the grid and it leads the report's headline. Wallets ranked in the top decile at T went on to -0.54 c/share against -1.60 c/share for the bottom decile (intervals disjoint); the top decile's interval sits entirely below zero.
Cutoff 2025-07-01
| decile | fwd excess (c/share) | 95% CI | n (wallet-events) |
|---|---|---|---|
| 1 | +0.27 | [+0.03, +0.53] | 99,630 |
| 2 | -0.71 | [-0.99, -0.40] | 73,751 |
| 3 | -0.94 | [-1.27, -0.59] | 56,838 |
| 4 | -0.85 | [-1.21, -0.52] | 45,968 |
| 5 | -0.92 | [-1.30, -0.58] | 52,281 |
| 6 | -1.29 | [-1.67, -0.86] | 41,861 |
| 7 | -1.09 | [-1.45, -0.74] | 57,954 |
| 8 | -0.78 | [-1.07, -0.49] | 68,206 |
| 9 | -1.04 | [-1.34, -0.75] | 57,979 |
| 10 | -1.08 | [-1.48, -0.71] | 63,279 |
Wallets ranked in the top decile at T went on to +0.27 c/share against -1.08 c/share for the bottom decile (intervals disjoint).
Cutoff 2025-10-01
| decile | fwd excess (c/share) | 95% CI | n (wallet-events) |
|---|---|---|---|
| 1 | -0.13 | [-0.38, +0.08] | 164,737 |
| 2 | -0.78 | [-1.00, -0.57] | 175,309 |
| 3 | -1.42 | [-1.69, -1.15] | 131,632 |
| 4 | -1.09 | [-1.38, -0.80] | 134,046 |
| 5 | -1.24 | [-1.56, -1.00] | 130,455 |
| 6 | -0.85 | [-1.10, -0.54] | 123,426 |
| 7 | -1.02 | [-1.30, -0.77] | 134,322 |
| 8 | -0.83 | [-1.10, -0.57] | 138,445 |
| 9 | -1.24 | [-1.55, -0.94] | 145,476 |
| 10 | -1.08 | [-1.31, -0.84] | 173,131 |
The top decile's forward excess was indistinguishable from zero at this sample size. Wallets ranked in the top decile at T went on to -0.13 c/share against -1.08 c/share for the bottom decile (intervals disjoint).
Cutoff 2026-01-01
| decile | fwd excess (c/share) | 95% CI | n (wallet-events) |
|---|---|---|---|
| 1 | -0.40 | [-0.51, -0.29] | 757,516 |
| 2 | -1.10 | [-1.25, -0.94] | 522,381 |
| 3 | -0.93 | [-1.06, -0.80] | 600,867 |
| 4 | -0.93 | [-1.07, -0.81] | 544,628 |
| 5 | -1.06 | [-1.22, -0.92] | 502,797 |
| 6 | -1.02 | [-1.16, -0.88] | 573,170 |
| 7 | -1.31 | [-1.49, -1.13] | 419,156 |
| 8 | -1.15 | [-1.29, -0.99] | 548,417 |
| 9 | -1.23 | [-1.39, -1.08] | 468,994 |
| 10 | -1.04 | [-1.18, -0.90] | 555,363 |
Wallets ranked in the top decile at T went on to -0.40 c/share against -1.04 c/share for the bottom decile (intervals disjoint); the top decile's interval sits entirely below zero.
Cutoff 2026-04-01
| decile | fwd excess (c/share) | 95% CI | n (wallet-events) |
|---|---|---|---|
| 1 | +0.57 | [+0.50, +0.64] | 2,917,436 |
| 2 | -0.31 | [-0.37, -0.25] | 1,686,662 |
| 3 | -0.61 | [-0.74, -0.49] | 891,181 |
| 4 | -0.86 | [-1.02, -0.71] | 592,012 |
| 5 | -1.27 | [-1.45, -1.10] | 319,341 |
| 6 | -1.74 | [-1.92, -1.56] | 424,418 |
| 7 | -1.88 | [-2.04, -1.70] | 447,644 |
| 8 | -2.11 | [-2.29, -1.95] | 448,508 |
| 9 | -2.61 | [-2.79, -2.42] | 524,567 |
| 10 | -4.92 | [-5.08, -4.76] | 1,161,156 |
Wallets ranked in the top decile at T went on to +0.57 c/share against -4.92 c/share for the bottom decile (intervals disjoint). Higher deciles did better overall, and the decile means are monotonic in rank at all ten deciles in this window.
Rank correlation
Spearman between as-of-T rank and mean forward excess, wallets with at least 10 forward events. Point estimates only; no interval is computed for rho, so none is implied. At every cutoff the direction was the same: higher-ranked wallets went on to higher forward excess.
| cutoff | relationship (guide band) | |rho| | wallets |
|---|---|---|---|
| 2024-04-01 | weak | 0.058 | 103 |
| 2024-07-01 | moderate | 0.196 | 358 |
| 2024-10-01 | moderate | 0.236 | 2,398 |
| 2025-01-01 | weak | 0.143 | 5,737 |
| 2025-04-01 | weak | 0.067 | 9,360 |
| 2025-07-01 | weak | 0.127 | 8,961 |
| 2025-10-01 | weak | 0.088 | 15,366 |
| 2026-01-01 | weak | 0.148 | 33,399 |
| 2026-04-01 | moderate | 0.299 | 52,401 |
Persistence
Share of top-300 wallets at T still top-300 at the next cutoff, against the base rate of being ranked top-300 at all. Descriptive only; no interval accompanies this table, so no comparison adjectives are used. The first transition is degenerate: the early board ranked fewer wallets than the top-300 floor.
| T | T’ | pooled P(stay) | base rate |
|---|---|---|---|
| 2024-04-01 | 2024-07-01 | 100.0% (490/490) | 100.0% |
| 2024-07-01 | 2024-10-01 | 56.4% (453/803) | 24.8% |
| 2024-10-01 | 2025-01-01 | 51.7% (544/1053) | 6.1% |
| 2025-01-01 | 2025-04-01 | 57.3% (812/1417) | 3.9% |
| 2025-04-01 | 2025-07-01 | 71.9% (1382/1922) | 3.5% |
| 2025-07-01 | 2025-10-01 | 79.2% (1925/2430) | 3.6% |
| 2025-10-01 | 2026-01-01 | 75.0% (2492/3324) | 2.9% |
| 2026-01-01 | 2026-04-01 | 63.9% (2911/4558) | 2.2% |
Riders
Estimation-population rider: dropped, pre-registered. Recorded 2026-07-11, before any cutoff ran: excluded market-maker and bot wallets shift no price-baseline bucket by more than 0.01 cents and no category prior moment by more than 0.03 cents, so the with-and-without grid was dropped in advance, and that decision was published on this page before the run.
Resolution-timestamp robustness rider: kept. Timestamp error matters to this design only where it could move a fill across a window edge. The rider recomputes both headline populations with every fill resolving within 24 hours of either window edge removed. Across all 18 pairs it moves the mean by at most 0.33 cents per share (the grid’s smallest-n negative window, where the rider moves it toward zero), and by at most 0.06 in every window with more than 100,000 wallet-events. No sign that survives an interval in the main grid changes under the rider.
Full rider table
| cutoff / population | rider (c/share) | headline | delta | n rider / headline |
|---|---|---|---|---|
| 2024-04-01 top-decile | +2.21 | +1.93 | +0.28 | 395 / 463 |
| 2024-04-01 gate-slice | +0.30 | +0.45 | -0.15 | 2,696 / 3,174 |
| 2024-07-01 top-decile | +1.39 | +1.30 | +0.08 | 2,545 / 2,686 |
| 2024-07-01 gate-slice | +1.46 | +1.38 | +0.08 | 19,443 / 20,454 |
| 2024-10-01 top-decile | +2.77 | +2.82 | -0.05 | 27,706 / 28,781 |
| 2024-10-01 gate-slice | +0.88 | +0.92 | -0.04 | 88,238 / 92,257 |
| 2025-01-01 top-decile | +0.80 | +0.84 | -0.04 | 78,683 / 83,068 |
| 2025-01-01 gate-slice | +0.19 | +0.18 | +0.01 | 200,286 / 217,726 |
| 2025-04-01 top-decile | -0.57 | -0.54 | -0.03 | 68,074 / 73,450 |
| 2025-04-01 gate-slice | -0.02 | -0.35 | +0.33 | 69,299 / 88,050 |
| 2025-07-01 top-decile | +0.26 | +0.27 | -0.01 | 86,656 / 99,630 |
| 2025-07-01 gate-slice | +0.66 | +0.69 | -0.03 | 128,644 / 157,928 |
| 2025-10-01 top-decile | -0.16 | -0.13 | -0.03 | 154,910 / 164,737 |
| 2025-10-01 gate-slice | +0.78 | +0.73 | +0.06 | 146,131 / 189,112 |
| 2026-01-01 top-decile | -0.45 | -0.40 | -0.05 | 692,952 / 757,516 |
| 2026-01-01 gate-slice | +0.85 | +0.82 | +0.03 | 182,205 / 254,873 |
| 2026-04-01 top-decile | +0.58 | +0.57 | +0.01 | 2,817,948 / 2,917,436 |
| 2026-04-01 gate-slice | +0.86 | +0.84 | +0.02 | 2,112,691 / 2,236,857 |
Limitations
- Resolution dating. The windows slice on each market’s recorded close moment. An audit of 760,617 resolved markets with trades found 1.67% dated more than 10 minutes after the best available truth proxy and 0.21% more than 24 hours after it (median lateness 0.59 hours, p90 30.4 hours, dominated by sports). What matters to the design is boundary crossings: 271 events (0.036%) span a window edge closely enough for this error to move them between windows; the rider above bounds the effect. A further 2,107 resolved markets carry a scheduled-close fallback date in the future; they are excluded from every window by construction, which loses sample but cannot leak the future into a ranking.
- Survivorship. Forward windows only contain wallets that kept trading. A wallet that stopped after T contributes nothing forward, and stopping is not random.
- Category mix shift. The venue’s category composition moved across the nine windows; a rank built on one mix is tested against another. The two windows overlapping major sports cycles are the grid’s largest by an order of magnitude.
- Fees. Returns are price-relative and fee-exclusive throughout.
- Retagging churn. The venue re-tags markets; category-level slices inherit that churn.
- High-frequency series families are excluded from scoring and from this validation, per the standing methodology.
Already public
- The methodology: price-relative scoring, empirical-Bayes shrinkage, independence rules, and a limitations section that states what the scores cannot yet claim.
- Calibration diagrams for each category’s #1, open on its wallet page in the category it leads and computed from the same scored trades the rankings use.
- The receipts ledger: every alerted position, recorded at detection and graded on resolution.
- The statistics page: aggregate calibration, alert grading, and trader-skill numbers from the same scored data, refreshed with the board.
The runner, the independent recompute, the interval script, and the scratch-table definitions live in the repository and regenerate this report end to end with fixed seeds. Nothing on this site is financial or investment advice; past accuracy does not predict future outcomes.