Every prediction locked before the outcome. Misses shown.

Forward-resolved engagement forecasts on public brand posts — cryptographically pre-committed, then graded against what actually happened. Not a backtest.

+0.93rank accuracy (Spearman, n=4254)
1193 / 4254within 20% of actual (28%)
6126open bets resolving at 72h
172public brands tracked

Median magnitude error 39% (shown because we show everything) · rank accuracy = how well we order winners vs losers, the number a media decision rides on · model ev_growth_v2 · n_locked total: 10382

Evidence — 3-chart track record pack

Rolling Spearman rank accuracy as forward predictions accumulateEach point is the Spearman correlation between predicted and observed engagement ranks, computed over the trailing 30 resolved slips. n grows left to right.-1.0-0.50.0+0.5+1.020406080100nth resolved slip (n grows left to right)rolling Spearman ρ (trailing 30)+0.94Rank accuracy reaches +0.94 across 101 resolved predictionsEvery point is a pre-registered prediction; n grows left to right as slips resolve at 72 h.
Absolute percentage error distribution: hits (≤20%) vs missesHistogram of absolute percentage error for 101 resolved predictions. Green bars = within 20% (hits). Red bars = outside 20% (misses). Median absolute error = 58%.0481216205118513142111760%10%20%30%40%50%60%70%80%90%≥100%absolute % error (|predicted − actual| / actual)resolved predictionsmedian error = 58%16/101 predictions within 20% (hit rate 16%) — median error 58%within 20% (16 hits)outside 20% (85 misses — fully shown)n = 101 resolved slips; misses rendered at full height — nothing hidden.
Model vs LLM creative ranking accuracy: model picks the winner 100% of the timeWithin-account bake-off on 2 brands with prior history (with-data condition). Model arm: account-conditional velocity score. LLM arm: creative text heuristic. n=2 accounts; cold-start condition not yet tested.+0.00+0.25+0.50+0.75+1.00+0.96Model+0.51LLMmean Spearman ρ0%25%50%75%100%100%Model0%LLMpicked-best rateRank accuracy (Spearman ρ)Picked the actual best creativeModel picks the winning creative 100% of the time when account data existsWithin-account only (account level cancelled by design). With-data condition: n=2 accounts with ≥15 prior posts. Cold-start condition: not yet tested — insufficient resolved data.

Resolved — hits AND misses

resolvedbrandplatformpredicted actualerrorverdictslip hash
2026-09-08@elfcosmeticsinstagram4,3217,32441%✗ miss — under-called — late burst09d1e14bf12b4532
2026-09-08@glowrecipeinstagram55575226%✗ miss — under-called — late burst9385044eeb2997d5
2026-09-08@drinkolipopinstagram1,5841,29123%✗ miss — over-called — early decay70fd2c972f14d995
2026-09-08@chipotleinstagram7,5945,97827%✗ miss — over-called — early decay7341d0704e85a097
2026-09-08@skimsinstagram2,5822,5003%✓ within bandf7877ad00b7f746e
2026-09-08@summerfridaysinstagram4,1982,61660%✗ miss — over-called — early decayea8b128c8dd4bfec
2026-09-08@rarebeautyinstagram29,37232,67010%✓ within band6cd4e3d29c9ed1ac
2026-09-08@rhodeinstagram37,72933,54112%✓ within bande41180f6bb12c1cd
2026-09-08@innisfreeusainstagram2071928%✓ within bandbbfd3e8753104381
2026-09-08@lysbeautyofficialinstagram9118551%✗ miss — under-called — late burst45378b95c9ad8f77
2026-09-08@doritosinstagram1651547%✓ within band49610fb9e658371f
2026-09-08@charlottetilburyinstagram5,1846,57721%✗ miss — under-called — late burst81d15421892b79d2
2026-09-08@tower28beautyinstagram29837120%✓ within band13df3211f3b906ad
2026-09-08@josiemaraninstagram2983217%✓ within bande34f604716a82db2
2026-09-08@doritostiktok11,07510,6004%✓ within band6eaae0c6fa900993
2026-09-08@neomwellbeinginstagram1371391%✓ within bande4c6a8ff08f12d1e
2026-09-08@lululemoninstagram8,2153,722121%✗ miss — over-called — early decayba665c844d8c6f13
2026-09-08@milkmakeupinstagram19423116%✓ within bandf94dc508e7022299
2026-09-08@nurturelifetiktok654296121%✗ miss — over-called — early decay89e6dc26207ec932
2026-09-08@lucidmotorsinstagram1,0301,1208%✓ within bandadec9347f2cd878d
2026-09-08@vuoriclothinginstagram2,5151,174114%✗ miss — over-called — early decay8c2e75e97b8f91c1
2026-09-08@urbanoutfittersinstagram2,1781,81220%✗ miss — over-called — early decay8ee43f734bdd1da0
2026-09-08@jimmychooinstagram5,4685,6633%✓ within band0ae44954eac743cc
2026-09-08@michaelkorsinstagram2,1501,86515%✓ within band188fafc5fdbd73ae
2026-09-08@longchampinstagram6347,57192%✗ miss — under-called — late burst42be22b3cc73fd18
2026-09-08@abercrombieinstagram4,2024,89614%✓ within band436d714db0c75ec1
2026-09-08@lucidmotorstiktok2,0152,0592%✓ within band17078112fd1ebf74
2026-09-08@mccormickspicestiktok93360754%✗ miss — over-called — early decayc5ad2c3bae94274c
2026-09-08@moroccanoilinstagram3253466%✓ within band3550dc74f475e243
2026-09-08@louisvuittoninstagram29,59225,03318%✓ within band9c2fdac4dc6ccc96
2026-09-08@makeupbymarioinstagram6,6608,28520%✓ within bandecc17a74a24db29a
2026-09-08@milkmakeupinstagram18715521%✗ miss — over-called — early decaya078e870446710d0
2026-09-08@charlottetilburyinstagram5,0784,8604%✓ within band727fc7d1ad9c3816
2026-09-08@lolasaratogainstagram12135%✓ within bandd926d2f1108f38b7
2026-09-08@longchampinstagram13,97227,43749%✗ miss — under-called — late burst630dff21ae4850d3
2026-09-08@mollyjewelryusinstagram1,554382,164100%✗ miss — under-called — late burstb072ec232e6b5722
2026-09-08@andotherstoriesinstagram1,3731,20914%✓ within band9c4047e94914d345
2026-09-08@miss_jessiestiktok52432860%✗ miss — over-called — early decay12ed82a2f828f47a
2026-09-08@niketiktok80,55342,60089%✗ miss — over-called — early decay8a133d352c24cf0e
2026-09-08@jansporttiktok4,2395,81927%✗ miss — under-called — late burste0dab544d77053f0
2026-09-08@mammotion_officialtiktok16665,700100%✗ miss — under-called — late burstbc4717b05940499a
2026-09-08@japanlainstagram5,8023,68757%✗ miss — over-called — early decay45f7b5ceb8983b17
2026-09-08@jockofueltiktok7,9646,34426%✗ miss — over-called — early decaya4b26b99de4738ea
2026-09-08@liquidivtiktok1,44016,80091%✗ miss — under-called — late burstf9dc120d41d46b3f
2026-09-08@manlybandstiktok55428296%✗ miss — over-called — early decay463b5cba602ff83e
2026-09-08@stevemaddentiktok3,3142,75720%✗ miss — over-called — early decay478fb5e6a8ba9d8d
2026-09-08@josiemarantiktok1,5021,10836%✗ miss — over-called — early decaya699317610414302
2026-09-08@madhappyinstagram2,6982,18124%✗ miss — over-called — early decayf1d3c30bb343984d
2026-09-08@huupeofficialinstagram15636657%✗ miss — under-called — late burstedb93c4b30a49d79
2026-09-08@mythicalinstagram45,90464,48729%✗ miss — under-called — late burst6a062391e3dfbbd8
2026-09-07@princesspollyinstagram9971,59838%✗ miss — under-called — late bursta55d96fda82c46d7
2026-09-07@innosuppsinstagram121731%✗ miss — under-called — late burstf14d65ee25583c17
2026-09-07@alphaleteinstagram6776239%✓ within bandf5fd73cb447304d1
2026-09-07@lululemoninstagram4,4813,69021%✗ miss — over-called — early decay4ffec7c4b0dfadf4
2026-09-07@ipsyinstagram1211192%✓ within bandfb35607f82e3587d
2026-09-07@ourplaceinstagram87898110%✓ within bandefc2120bd6a6cc57
2026-09-07@nzxttiktok3,5541,492138%✗ miss — over-called — early decayad1a6aa010d0fcb5
2026-09-07@mayorgacoffeetiktok364162125%✗ miss — over-called — early decay1f762612a7a6b4eb
2026-09-07@chipotletiktok115,18680,40043%✗ miss — over-called — early decay9b80a303d88313dd
2026-09-07@jansportinstagram44476%✓ within band619050939e246f50
2026-09-07@chipotleinstagram10,9587,68343%✗ miss — over-called — early decayc2c0c53381a42d2e
2026-09-07@johnscrazysocksinstagram749118%✓ within band22294908ff969cac
2026-09-07@midinmodinstagram2550%✗ miss — under-called — late burst014ec9a1e7093bb9
2026-09-07@magicspooncerealinstagram31336%✓ within bandf63d342d24b3521a
2026-09-07@loftinstagram2,5358,52470%✗ miss — under-called — late burst94cae10851f9f8b9
2026-09-07@luvmehairinstagram14418422%✗ miss — under-called — late burst1045fe31107bb0b1
2026-09-07@vitacocoinstagram746612%✓ within bandf0a23e10b235cb00
2026-09-07@vitacocotiktok5,2162,547105%✗ miss — over-called — early decayff39987c32962031
2026-09-07@mayorgacoffeeinstagram23230%✓ within bandaa2efe2c945882f9
2026-09-07@duolingoinstagram11,381108,36690%✗ miss — under-called — late burst3799d03a00a4a17a
2026-09-07@ipsyinstagram99279525%✗ miss — over-called — early decayfbb74c251a2c3484
2026-09-07@macrobabyinstagram61246%✗ miss — under-called — late burst8ac3873de16fce8d
2026-09-07@nurturelifeinstagram122653%✗ miss — under-called — late burst50e75e43ebe91334
2026-09-07@duolingotiktok3,675,1731,800,000104%✗ miss — over-called — early decaye2809b865d2d7cdd
2026-09-07@elfcosmeticsinstagram1,4821,87621%✗ miss — under-called — late burst77b24c39687c82bc
2026-09-07@aloyogainstagram2,2402,4238%✓ within band3a4c94c34090a713
2026-09-07@josiemaraninstagram32550836%✗ miss — under-called — late burst2dd0f2652e7137cd
2026-09-07@itjustworkswellnesstiktok1269927%✗ miss — over-called — early decayef2c6fb5ae3e9a9a
2026-09-07@naircaretiktok62235376%✗ miss — over-called — early decayd838510650e5d321
2026-09-07@nzxtinstagram637213%✓ within band1ab65ec532af1206
2026-09-07@magicspooncerealtiktok27915778%✗ miss — over-called — early decay3271b578da2a6cd7
2026-09-07@ghostlifestyleinstagram75584411%✓ within band8a470f2a6c6d14bc
2026-09-07@justfabonlineinstagram19638549%✗ miss — under-called — late burst7001766447782533
2026-09-07@urbanoutfittersinstagram69153330%✗ miss — over-called — early decaydb023c5499409f30
2026-09-07@milkmakeupinstagram24917741%✗ miss — over-called — early decay77798ac1def480b8
2026-09-07@duolingoinstagram101,883189,73646%✗ miss — under-called — late burst80ba423991876c06
2026-09-07@jcatbeautyinstagram9108%✓ within band156086c0cb3112af
2026-09-07@gfuelenergyinstagram62620%✓ within band3c3ba26317c616fb
2026-09-07@mysmileinstagram1373%✗ miss — under-called — late burst79759fea0bc4f00d
2026-09-07@drinkolipopinstagram82369119%✓ within band7d9d9916deabb7da
2026-09-07@drunkelephantinstagram47826382%✗ miss — over-called — early decayaff63777cffd58ab
2026-09-07@vitacocotiktok1,1961,01318%✓ within band43bb0d67835522da
2026-09-07@savagexfentyinstagram3503403%✓ within band7c88016dac0b45e0
2026-09-07@gfuelenergyinstagram1,4292,80649%✗ miss — under-called — late bursta8ebcf30e3fc07ea
2026-09-07@cleanandclearinstagram2510148%✗ miss — over-called — early decayf93f8f05dfe3c960
2026-09-07@ghostlifestyleinstagram2,2282,2091%✓ within band5d1ebbaf3904a379
2026-09-07@manlybandsinstagram415829%✗ miss — under-called — late burst068fb5d615828ea7
2026-09-07@myloralsinstagram254848%✗ miss — under-called — late burstfc4afa02bab59c46
2026-09-07@nzxtinstagram25151151%✗ miss — under-called — late burst9ec3a34ab2dbb27e
2026-09-07@younglainstagram31,50532,7684%✓ within band2e23614edf052241

Open bets — locked, awaiting outcomes

locked (UTC)brandplatformpredicted final statusslip hash
2026-07-04 23:55@younglainstagram9,028resolves in ~0hdbc2ab73db15a3fd
2026-07-04 23:55@princesspollyinstagram398resolves in ~0h27d038a8ce4a54ea
2026-07-04 23:55@princesspollyinstagram303resolves in ~0h3a6bf54835bcf1d6
2026-07-04 23:55@fashionnovainstagram606resolves in ~0h32fbc0254d09c98e
2026-07-04 23:55@fashionnovainstagram1,524resolves in ~0h74ff3837f15b9a04
2026-07-04 23:55@princesspollyinstagram338resolves in ~0hd8545283f03c90bb
2026-07-04 23:55@younglainstagram26,613resolves in ~0h7465b7aa7c0bd58a
2026-07-04 23:55@gfuelenergyinstagram112resolves in ~0hacf35ee90493782a
2026-07-04 23:55@princesspollyinstagram194resolves in ~0h051bdd09625cdb2a
2026-07-04 23:55@fashionnovainstagram567resolves in ~0h0338afb51357235c
2026-07-04 23:55@princesspollyinstagram31resolves in ~0h2d0e95377e767a2c
2026-07-04 23:55@duolingotiktok44,819resolves in ~0h101f62dec7dbb51f
2026-07-05 02:12@fashionnovainstagram346resolves in ~0h9772447a8bca0243
2026-07-05 02:12@younglainstagram6,729resolves in ~0h703f8cc8b2367736
2026-07-05 03:12@fashionnovainstagram365resolves in ~0h7b29d4d99ba256eb
2026-07-05 04:04@princesspollyinstagram265resolves in ~0h53a4e662e1135438
2026-07-05 05:16@fashionnovainstagram619resolves in ~0h65fabef12569d2bf
2026-07-05 09:09@redbullinstagram7,648resolves in ~0hc81108bf5e49c0e4
2026-07-05 13:54@fashionnovainstagram530resolves in ~0hf8be86ce806f0968
2026-07-05 13:54@glowrecipeinstagram322resolves in ~0h72b5e61c6d17f774
2026-07-05 15:21@redbullinstagram10,053resolves in ~0hc0b5eb5c227fcb74
2026-07-05 16:20@fashionnovainstagram987resolves in ~0hd751acf8b220b610
2026-07-05 17:10@fashionnovainstagram431resolves in ~0h7593d526c4046bcb
2026-07-05 17:10@glowrecipeinstagram770resolves in ~0h33bea4df285e784c
2026-07-05 17:10@rarebeautyinstagram43,299resolves in ~0h34ed4ec29da2db30
2026-07-05 20:24@fashionnovainstagram2,097resolves in ~0h32d5716c943ca608
2026-07-05 20:24@fashionnovainstagram386resolves in ~0h4c3a73df07f73467
2026-07-05 21:53@princesspollyinstagram262resolves in ~0hb72a5c1b3d525773
2026-07-05 21:53@princesspollyinstagram421resolves in ~0h9c94e5eecf48e4f4
2026-07-05 21:53@skimsinstagram1,732resolves in ~0h760b3825df0a7f45
How to verify we can't cheat. Each prediction is appended to a hash-chained ledger at the moment it's made: every record carries a SHA-256 of its content plus the previous record's hash, so nothing can be edited or backdated without breaking the chain. The ledger file is periodically anchored to the Bitcoin blockchain via OpenTimestamps — an independent, third-party proof that these predictions existed before their outcomes. A miss can't be deleted; that's why you can see them above.