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=4879)
1437 / 4879within 20% of actual (30%)
7141open bets resolving at 72h
174public brands tracked

Median magnitude error 37% (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: 12022

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-14@mynufacetiktok22118,50099%✗ miss — under-called — late burst9a85e86301a6bd57
2026-09-14@luxurybazaartiktok2,3581,151105%✗ miss — over-called — early decaya2a148e79e8cb688
2026-09-14@miss_jessiestiktok56339244%✗ miss — over-called — early decaya30df939b7cfff4d
2026-09-14@urbanoutfittersinstagram66346543%✗ miss — over-called — early decayc2cf64dfc7d56571
2026-09-14@andotherstoriesinstagram28635018%✓ within band073e65e22e9a0446
2026-09-14@charlottetilburyinstagram3,3163,1924%✓ within band6abf35dc10066716
2026-09-14@casetifyinstagram1,4301,3853%✓ within bandc5f519ce82722c5e
2026-09-14@macrobabyinstagram4317676%✗ miss — under-called — late burst6e908ffd284fe43a
2026-09-14@loftinstagram47035831%✗ miss — over-called — early decay7168523a480288f6
2026-09-14@jockofuelinstagram2,3271,71836%✗ miss — over-called — early decayefaa318c09a533f1
2026-09-14@maseratiinstagram8,84810,92119%✓ within bandb634399747113e16
2026-09-14@impactmouthguardsinstagram252310%✓ within band0ed10b01a4adb8ff
2026-09-14@maseratiinstagram10,47012,89019%✓ within bandad49cb3c9180d489
2026-09-14@lolasaratogatiktok7,1723,87585%✗ miss — over-called — early decay6f4841d46e355af3
2026-09-14@andotherstoriesinstagram2121987%✓ within band4b7ddb75c7908348
2026-09-14@charlottetilburyinstagram2,7282,44712%✓ within banddd62778bee75d221
2026-09-14@janeiredaleinstagram15421528%✗ miss — under-called — late burst88e602d1ba74d46f
2026-09-14@casetifyinstagram76695920%✗ miss — under-called — late burstfff6772ee46a3f65
2026-09-14@makeupbymarioinstagram4,2244,75911%✓ within bandc737d2d976bf245c
2026-09-14@maybellineinstagram2,3942,4050%✓ within band8e945311ae1a6231
2026-09-14@lululemoninstagram3,8843,51311%✓ within bandcac4233d5181b027
2026-09-14@necessairetiktok45,40184,40046%✗ miss — under-called — late burst5b4eef12f41f73d7
2026-09-14@jluxlabelinstagram14228550%✗ miss — under-called — late burst106b02620924cb02
2026-09-14@livetintedinstagram35043720%✓ within band813370aa6c2ec43c
2026-09-14@mythicalinstagram4,6506,00723%✗ miss — under-called — late bursta41581ab615b5145
2026-09-14@mindymaesmarketinstagram38429%✓ within bandb7f90d336d669260
2026-09-14@mollyjewelryusinstagram33829514%✓ within band2922f6326ab1f149
2026-09-14@mythicaltiktok79,68928,400181%✗ miss — over-called — early decay08771d420fe0250e
2026-09-14@lofttiktok83473214%✓ within band7e48c5c4c6249a25
2026-09-14@nzxtinstagram66175713%✓ within band4d8e2c3d0cf0689b
2026-09-14@nzxtinstagram15720323%✗ miss — under-called — late burst0175a0b284b6208f
2026-09-14@huupeofficialinstagram18687113%✗ miss — over-called — early decay38047f6b33808fe0
2026-09-14@impactmouthguardsinstagram3968%✗ miss — under-called — late burstf17d6a2a7f3f20d0
2026-09-14@manlybandsinstagram24235%✓ within banda9f410726e040df4
2026-09-13@doritostiktok6,12910,60042%✗ miss — under-called — late burst94e470cd146b22f9
2026-09-13@glowrecipeinstagram1,3901,3503%✓ within bandf51ab642d5e4a7f8
2026-09-13@vuoriclothinginstagram8167,18289%✗ miss — under-called — late burst2c5d29a2a0a9d045
2026-09-13@summerfridaysinstagram4,4684,3024%✓ within band056736e2d60f2bb8
2026-09-13@fentybeautyinstagram2,1062,67921%✗ miss — under-called — late burstedf438a948ac5782
2026-09-13@chipotleinstagram20,09915,46230%✗ miss — over-called — early decayb4d849d40b0a6aec
2026-09-13@lululemoninstagram1,9311,70913%✓ within band442ad3acdfe348e7
2026-09-13@mysmileinstagram9733%✗ miss — over-called — early decay82d6af46a9540828
2026-09-13@loftinstagram60554611%✓ within bandd402da44195ba922
2026-09-13@younglainstagram32,584106,05169%✗ miss — under-called — late burst3ebb7d4661758b0a
2026-09-13@johnscrazysocksinstagram1247467%✗ miss — over-called — early decayab36774e3d6abfe5
2026-09-13@itsa10haircareinstagram322526%✗ miss — over-called — early decayc0b0e62e0b8829bb
2026-09-13@littlespoontiktok61045634%✗ miss — over-called — early decay722259c1b26e2044
2026-09-13@frankiesbikinistiktok4,04532,30088%✗ miss — under-called — late burstb8c75b65e1c1e933
2026-09-13@casetifytiktok23,88933,80029%✗ miss — under-called — late burst61e33e9229b04580
2026-09-13@humnutritiontiktok236114107%✗ miss — over-called — early decay004562074f70a5c6
2026-09-13@naircaretiktok44035723%✗ miss — over-called — early decayba339d3470893a60
2026-09-13@minetanbodyskintiktok28819350%✗ miss — over-called — early decaye32d7626298ec972
2026-09-13@chipotletiktok18,79115,20024%✗ miss — over-called — early decayee104ab9193ec3fc
2026-09-13@liquidivtiktok2,98611,00073%✗ miss — under-called — late burst6be002a03be76f64
2026-09-13@younglatiktok506,687702,40028%✗ miss — under-called — late burst873d597de447e441
2026-09-13@madhappytiktok8098667%✓ within band2cfd0e56c911a504
2026-09-13@crumblinstagram4,5543,40434%✗ miss — over-called — early decayfdb173b69676edff
2026-09-13@ghostlifestyleinstagram2,4062,3164%✓ within banddf90f4c3832dfd94
2026-09-13@mindymaesmarketinstagram264034%✗ miss — under-called — late burst836b8d7a4a0a246c
2026-09-13@rhodeinstagram151,718164,3898%✓ within band66e05521ab683568
2026-09-13@mynufaceinstagram121726%✗ miss — under-called — late burstd888f40de5f60db9
2026-09-13@macrobabyinstagram1521542%✓ within bandd30dca32d8bc7a1d
2026-09-13@alphaleteinstagram90451476%✗ miss — over-called — early decay1be51f0854c8e07b
2026-09-13@casetifyinstagram5,29110,50650%✗ miss — under-called — late burst1d6cf1f46ae3132b
2026-09-13@milkmakeupinstagram5721,35058%✗ miss — under-called — late burstd49e73933f44a766
2026-09-13@macrobabyinstagram262911%✓ within band7753c3dac13160cd
2026-09-13@lucidmotorsinstagram65056814%✓ within band79a642ec5726d672
2026-09-13@wendysinstagram3683783%✓ within band43c22853bee6a1cd
2026-09-13@doritosinstagram18212150%✗ miss — over-called — early decay224020c2dab989af
2026-09-13@garnierusainstagram695136%✗ miss — over-called — early decaybad5c3242bb159db
2026-09-13@gymsharkinstagram7,4849,85324%✗ miss — under-called — late burst887f2a03240d4243
2026-09-13@kyliecosmeticsinstagram4,3956,79135%✗ miss — under-called — late burstc3f9d56d2a2fcbc8
2026-09-13@humnutritioninstagram764091%✗ miss — over-called — early decay3e49487c2bbed0ab
2026-09-13@jenisicecreamsinstagram64480920%✗ miss — under-called — late burstb4e404c1734645d3
2026-09-13@drunkelephantinstagram14218021%✗ miss — under-called — late burstf9b087cc12e0606e
2026-09-13@ipsyinstagram13721135%✗ miss — under-called — late burstc886e40d4c4aabce
2026-09-13@liquidivinstagram3,2011,496114%✗ miss — over-called — early decay14979a8f86227a2a
2026-09-13@younglainstagram56,13743,52829%✗ miss — over-called — early decay13519ef8f4271ed7
2026-09-13@shopluluaveinstagram463225106%✗ miss — over-called — early decayd8cdc0280ac38f1e
2026-09-13@bandaidbrandinstagram1357%✗ miss — under-called — late burst3494d42a948b265b
2026-09-13@cleanandclearinstagram516218%✓ within band36e5434496b9fd80
2026-09-13@chewyinstagram3153063%✓ within bandc8d666b3818266e6
2026-09-13@urbanoutfittersinstagram3513258%✓ within bandd5ff5aa545820343
2026-09-13@jluxlabelinstagram1971885%✓ within band24514505c4eb3026
2026-09-13@celsiusofficialinstagram7,0255,40530%✗ miss — over-called — early decay01be88caaadc5fa1
2026-09-13@freepeopleinstagram2,2043,02927%✗ miss — under-called — late burstcf54cb079a73cbef
2026-09-13@impactmouthguardsinstagram567324%✗ miss — under-called — late burst0f4136090e4f9552
2026-09-13@elfcosmeticsinstagram1,9302,0466%✓ within band406e81e97bdfc410
2026-09-13@hudabeautyinstagram26,96943,62038%✗ miss — under-called — late burstbb2e0ddb2abd159d
2026-09-13@skincarebydrnassifinstagram243226%✗ miss — under-called — late burst805be18b8de03dee
2026-09-13@charlottetilburyinstagram4,2008,63451%✗ miss — under-called — late burste05f83452bafaf60
2026-09-13@laloinstagram38949622%✗ miss — under-called — late burst8eee843de43eaabf
2026-09-13@neutrogenainstagram4924783%✓ within band6ade805c60603d32
2026-09-13@glossierinstagram51460415%✓ within band5c1c2f94c1ebf923
2026-09-13@duolingoinstagram24,975260,50790%✗ miss — under-called — late burst93f2d3fcec460f8e
2026-09-13@mayorgacoffeeinstagram554716%✓ within band5176916fa36cadc3
2026-09-13@joyluxincinstagram1,3491,01333%✗ miss — over-called — early decay35211e8d15191c32
2026-09-13@larocheposayinstagram68695728%✗ miss — under-called — late burstea8726b8c0c7ac1c
2026-09-13@listerineinstagram31827117%✓ within bandc3ea31ba9f5f487f
2026-09-13@neweracapinstagram1,03983824%✗ miss — over-called — early decay6933f3f6397a6bc1

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.