Methodology
How Probora predicts, resolves and scores
Overview
Probora runs one simple loop at very large scale. For every asset and timeframe it opens a standardized prediction window, fixes a reference price from an independent index, freezes each agent's probability before anything is known, resolves the window from the same index, and adds the result, win or loss, to a public record that cannot be edited. Every resolved window also becomes a learning observation.
Probora is not a prediction exchange. It does not sell contracts, is not affiliated with any prediction platform and never uses prediction-market odds to determine outcomes. It creates and resolves its own markets from independent external price data.
Probora Price Index
Every market resolves against the Probora Price Index for its asset: the median of independent price sources sampled at the same instant. A median is robust: one bad print from one venue cannot move it, and no single venue can decide an outcome.
- Freshness. A quote older than 5 seconds relative to the target instant is treated as stale and excluded.
- Outliers. After a provisional median, any source deviating by more than 50 bps is excluded and the median is recomputed.
- Quorum. At least 2 valid sources are required. Without quorum, no index value exists for that instant.
- Normalization. Venues quoting in stablecoins (USDT, USDC) are converted to USD with a live conversion rate before the median is taken.
- Rounding. The index is rounded to the asset's tick size.
| Asset | Index sources | Tick |
|---|---|---|
| BTC · Crypto | BinanceUSDT→USDOKXUSDT→USDCoinbase | 0.01 |
| ETH · Crypto | BinanceUSDT→USDOKXUSDT→USDCoinbase | 0.01 |
| SOL · Crypto | BinanceUSDT→USDOKXUSDT→USDCoinbase | 0.01 |
| XRP · Crypto | BinanceUSDT→USDOKXUSDT→USDCoinbase | 0.0001 |
| DOGE · Crypto | BinanceUSDT→USDOKXUSDT→USDCoinbase | 0.00001 |
| HYPE · Crypto | OKXUSDT→USDBybitUSDT→USDHyperliquidUSDC→USD | 0.001 |
| BNB · Crypto | BinanceUSDT→USDOKXUSDT→USDBybitUSDT→USD | 0.01 |
| GOLD · Commodities | Gold API (spot)Binance FuturesUSDT→USDOKX PerpetualsUSDT→USDBybit PerpetualsUSDT→USD | 0.01 |
| SILVER · Commodities | Gold API (spot)Binance FuturesUSDT→USDOKX PerpetualsUSDT→USDBybit PerpetualsUSDT→USD | 0.001 |
| OIL · Commodities | Binance FuturesUSDT→USDOKX PerpetualsUSDT→USDBybit PerpetualsUSDT→USD | 0.01 |
Commodity sources
Price To Beat & Settlement
Price To Beat is the Probora Price Index at the window's exact start instant. Settlement Price is the index at the window's exact end instant, which is also the start of the next window. Windows are aligned to the UTC epoch, so their boundaries are identical everywhere: 5 Min, 15 Min, 1 Hour, 4 Hours, 1 Day; daily windows open at 00:00 UTC.
UP / DOWN resolution
Both prices are rounded to the asset's tick size and compared as whole numbers of ticks, so floating-point noise can never flip an outcome. The rule is deterministic and documented. Probora never silently fabricates an UP or DOWN.
| Outcome | Prediction result | Scored | Kept on record | Used for learning |
|---|---|---|---|---|
| UP or DOWN | WIN or LOSS | Yes | Yes | Yes |
| FLAT | PUSH | No, excluded from every metric | Yes | No |
| VOID | VOID | No, excluded from every metric | Yes | No |
FLAT outcomes are more likely where the tick size is large relative to typical movement over the window. They are reported separately as pushes, never folded into wins or losses.
Prediction timing
Predictions are made once, at the start of the window, and frozen. Each one is stored with the model version that produced it and a publication timestamp. Nothing about a published prediction is ever modified.
- T₀Window opensPrice To Beat is fixed from the Probora Price Index at the exact start instant.
- T₀Feature snapshotMarket features are captured using only data available at T₀. Nothing from inside the window is used.
- T₀ + msPredictions frozenEvery eligible agent runs once. Direction, probabilities, confidence, model version and timestamp are stored and published.
- T₀ → T₁Window runsThe live index is displayed for context. Predictions cannot be modified, withdrawn or re-issued.
- T₁SettlementSettlement Price is computed, the market resolves and every prediction is marked WIN, LOSS, PUSH or VOID.
- After T₁LearningThe resolved observation is stored permanently and queued for learning, wins and losses alike.
{
"asset": "BTC",
"timeframe": "15m",
"market_id": "btc-15m-20261114-2000",
"agent": "Order Flow",
"direction": "UP",
"up_probability": 0.682,
"down_probability": 0.318,
"confidence": 0.81,
"model_version": "orderflow-btc15-v12",
"prediction_timestamp": "2026-11-14T20:00:00.412Z"
}Minimum sample threshold
Every model instance begins learning at market #1. It may publish probabilities only after resolving at least 100 observations. Until then its public output is Insufficient Data on the website, in the API and on leaderboards.
training_observations- Every resolved window from market #1, used for learning. Never shown as predictions.
public_predictions- Predictions published before settlement, once the instance had 100+ observations.
resolved_public_predictions- Public predictions after settlement, with their result. This is the public track record.
The three are stored separately. A training observation is never retroactively turned into a public prediction: public history starts with the first prediction that was actually published before its window settled. Shorter timeframes therefore reach eligibility sooner:
Agent families
There are exactly 10 named agent families: 9 specialists and the Meta Agent. Each family runs one reusable engine with a separately learned instance for every asset × timeframe it covers, so Trend · BTC · 5m and Trend · BTC · 1h are different models within the same family. That gives 470 active instances today.
Coverage rules
Base Consensus
Base Consensus is a transparent count of the specialists that published an eligible prediction for the window: k / n UP or k / n DOWN, where n includes only specialists that published. Agreement is the majority share. A tie is reported as SPLIT and is never rounded into a direction.
Meta Agent
The Meta Agent is not a tenth vote. Base Consensus says how many specialists agree; the Meta Agent estimates how much that agreement is worth for this market, right now, and produces its own independent probability. It may learn:
- which specialists are historically stronger, by asset and by timeframe;
- which specialists perform better under specific market regimes;
- disagreement patterns, agreement quality and confidence quality.
Its weighting is never published. The current baseline is a reliability-weighted ensemble; the architecture allows it to evolve into a learned ensemble, validated walk-forward exactly like every specialist.
Accuracy
Directional accuracy is the share of scored predictions whose called direction matched the outcome. PUSH and VOID results are excluded and reported separately. Because 56% over 200 markets and 56% over 50,000 markets are very different claims, every accuracy figure carries a 95% Wilson score interval.
Probability scoring
Accuracy ignores how confident a prediction was. Probability scores do not: a 90% call that loses costs far more than a 55% call that loses. Probora uses two proper scoring rules, which are optimized only by reporting honest probabilities.
Prob. Score is the Brier skill score expressed as a percentage: +6.4% means probabilities that are 6.4% better than always answering 50/50. A negative value means worse than a coin-flip forecast. Short-horizon markets are noisy, so honest skill scores are small. That is exactly why they are informative.
Calibration
A forecaster is calibrated when its probabilities mean what they say: calls made at 70% should win about 70% of the time. Probora groups every scored prediction by the probability assigned to the called direction and compares, bucket by bucket, the mean probability with the realized accuracy.
View as tableHide table
| Bucket | Mean predicted | Well-calibrated | Overconfident |
|---|---|---|---|
| 50–55% | 52.5% | 53.1% | 50.8% |
| 55–60% | 57.5% | 56.9% | 53.6% |
| 60–65% | 62.5% | 63.1% | 55.8% |
| 65–70% | 67.5% | 66.8% | 58.4% |
| 70–75% | 72.5% | 73.4% | 60.7% |
| 75%+ | 79.0% | 78.1% | 63.1% |
Leaderboard ranking
Accuracy is the most prominent number on every leaderboard because it is intuitive. Rankings, however, use all three dimensions (accuracy alone rewards bold, poorly calibrated calls) and shrink small samples so that a lucky streak cannot top a board.
Integrity & anti-overfitting
A model that only looks good in hindsight is worthless. Probora's research and production pipeline is built so that every published number is out-of-sample.
- No look-ahead. At market start an agent may only use data available at that timestamp. Feature snapshots are taken at T₀ and stored with the prediction.
- Chronological splits. Training, validation and test sets are split in time order and never shuffled.
- Walk-forward evaluation. Models are trained on the past, evaluated on the next unseen block, then rolled forward.
- Feature ablation. Feature groups can be removed to verify they add out-of-sample value. More features is not assumed to be better.
- Model versioning. Every prediction records its model version. A new version must beat the incumbent out-of-sample before promotion, and promotion never rewrites old predictions.
- Diagnostics. Calibration, regime analysis and performance by date and time blocks, by asset and by timeframe are measured continuously.
- Immutable history. No cherry-picking, no deletion of bad periods, no rewriting of historical outputs. Correct and wrong predictions are both learning data.
Demo and live data
Probora separates demo data from live data at the infrastructure level. In DATA_MODE=mock a deterministic simulator powers the interface; every payload is flagged demo and a Demo data marker is shown. In DATA_MODE=live only real index data and real predictions from production storage are served. The two are never mixed, and demo data is never written into the production track record.
Disclaimer
Probora provides probabilistic market analytics for informational purposes only. It is not financial advice, and past performance does not guarantee future results.
Predictions are probabilistic. A 65% probability means the opposite outcome is expected roughly a third of the time. Read the full disclaimer.