Veyra is an analytics workbench for prediction markets and sportsbooks. It devigs prices, sizes stakes, settles your bets from the scoreboard, and grades your record against the closing line with the discipline of a lab notebook. Then it tells you the truth, whichever way the number points.
Coming to the App Store · iOS 17Veyra sizes bets. It never places them.
On 24 bets across 9 days, this record cannot yet be told apart from luck. That is a fact about the sample, not about you.
Every picks app claims its model wins. We measured ours the way a skeptic would: walk-forward, no lookahead, thousands of real games at real prices. The model shows genuine forecasting skill in three sports. It still loses to the closing line everywhere the sample is large enough to judge. That result ships inside the app, on a scorecard, as fact.
| League | Games | Forecast skill vs base rate | Against the closing line |
|---|---|---|---|
| NBA | 1,043 | +15.4% real | market wins, 1,043 games |
| NFL | 406 | +11.8% real | inconclusive, 406 games priced |
| NHL | 2,140 | +2.1% real but tiny | market wins, 2,140 games |
| MLB | 1,423 | +0.6% noise | inconclusive, 200 games priced |
Walk-forward backtests run in August 2026. The measurement window differs by league: NBA is a 2024-25 holdout season, NFL is 2024 and 2025 pooled, NHL is 2024-25 and 2025-26 pooled, MLB is the 2026 season to 11 August. The two right-hand columns carry their own sample sizes, because not every game in a skill sample also had a closing price to test against. A tool that admits its own model loses to the market is a tool you can trust to grade you.
The outcome of one bet is mostly coin flip. Closing line value compares the price you took with the price the market settled on, which removes the flip entirely. Measured on our own data, the same underlying skill shows up in CLV somewhere between sixty and well over a hundred times sooner than it shows up in profit.
So Veyra leads with CLV, and reports profit as an outcome, never as evidence of skill. CLV can give you an honest answer inside a season. Profit cannot give you one inside a lifetime.
| To establish | Using CLV | Using profit |
|---|---|---|
| a 2 point edge, NBA | ~35 bets | ~4,500 bets |
| a 1 point edge, NBA | ~290 bets | ~18,000 bets |
Veyra clusters your record by day, because ten bets on one Tuesday slate share the same news and count as one observation, not ten. Then it refuses to grade you until the interval can be trusted. We simulated thousands of bettors with no edge at all to find where the statistics stop lying: 30 separate days of betting. Below 30 days, or with fewer than 30 bets whose closing price Veyra verified itself, it says "no verdict yet" and tells you the smallest edge it could even see.
| Separate days of betting | No-edge bettors wrongly told they have an edge |
|---|---|
| 5 | 16.2% |
| 12 | 9.4% |
| 20 | 8.6% |
| 30 | 6.6%, the first value near the advertised 5% |
Simulated with fat-tailed, day-correlated closing line value, scored by the same day-clustered bootstrap the app uses. A 95% interval that fires far more than 5% of the time on no-edge bettors is a lie, so the floor is measured, not chosen.
Everything Veyra computes is explained where it appears. No black boxes, no proprietary star ratings, no locks on the arithmetic.
Multiplicative, additive, power, and Shin, with the method named on every number so you know how the vig came out.
Fractional Kelly with a portfolio-level cap, so five correlated bets on one slate cannot quietly stack into ruin.
Veyra fetches the final score and the devigged closing line for your logged bets. Your CLV record builds without homework.
Your stated probabilities scored against what actually happened, on the same predicted-versus-observed reliability curve we publish for our own model.
Hundreds of live game markets priced side by side with the model's number, the vig removed, and the disagreements ranked.
The model's record is published inside the app, wins and losses alike. Yours is graded with the same refusal to call an edge before the evidence can carry it.