The event we forecast
A forecast is about the price at the target date: one observation at a stated time, such as BTC/USD at 23:59:59 UTC on 31 Dec 2026. It is not about whether a price is touched at any point before then.
- 1 · Reference observed31 Oct 2026, 06:00 UTC · $80,000
- 2 · Forecast published31 Oct 2026, 06:12 UTC
- 3 · Target observation31 Dec 2026, 23:59 UTC · settles the forecast
For each threshold (1%, 5%, 10% and 50%) there are three outcomes that cannot overlap and always sum to 100%:
- Down: at or below the reference minus the threshold. The boundary counts as Down.
- Within: strictly between the two boundaries.
- Up: at or above the reference plus the threshold. The boundary counts as Up.
Wider thresholds always give a larger Within share. Estimates that break this nesting are rejected before publication. All dates and times are in UTC.
Frozen reference price
Each forecast version records one reference price and the time it was observed. It never changes on that version's page, even as markets move. A later version gets its own reference and timestamps, and earlier versions stay available unchanged.
Crypto pairs use an aggregated US-dollar reference price from one provider, both at publication and at settlement. At settlement the latest observation at or before the target time is used, if it is no more than 24 hours old; prices from after the target are never used. If no valid observation exists, the outcome stays pending rather than switching to another source.
Currency observations
Currency pairs use the ECB's euro foreign exchange reference rates, published around 16:00 CET on TARGET business days. They are reference observations, not live or tradable prices. There are no rates at weekends or on TARGET holidays.
- A forecast published at a weekend uses the last available rate and says so, for example “Reference rate from 30 Oct”.
- If a target date has no fixing, the outcome uses the last fixing on or before it, at most seven days earlier. 31 Jan 2027 is a Sunday, so it settles on Friday, 29 Jan 2027.
- Crosses such as GBP/USD are computed from the euro rates of both currencies.
- EUR/USD is quoted in US dollars per euro. USD/EUR is derived as its inverse and has its own page; thresholds are measured on the pair as quoted, so the two pages are not exact mirror images.
Models, markets and risk-neutral views
Model estimates
OpenAI and Claude each receive the same evidence pack and reference price, independently of each other and without prediction-market odds. Each returns a probability distribution over returns, from which the three probabilities for every threshold are computed. These are judgments, not measurements, and are labelled uncalibrated until enough outcomes exist to test them.
Statistical reference
A transparent baseline built from price history alone: a block bootstrap of historical daily log returns (calendar days for crypto, business-day fixings for currencies), with drift shrunk to zero so a recent rally is not extrapolated. It uses no news and no market odds, and is shown next to the models, never mixed into them. On this demo site the statistical reference is a synthetic lognormal fixture, labelled as such on every page.
Market estimates
A prediction-market price is shown as an estimate only when the contract asks exactly our question. Most crypto contracts ask whether a price is touched before a deadline, which is a different event. Market prices reflect fees, liquidity and risk preferences; they are not objective odds.
Risk-neutral estimates
Probabilities implied by options prices include compensation for risk, so they are not the same as real-world likelihoods. They are not shown in this version.
Distribution assumptions
Every estimate is stored as probability over the same 26 return bins. All four thresholds are computed from that one distribution by code; models are never asked for one threshold at a time, and percentages written in text are never trusted over the stored numbers.
Bin edges −100% · −90% · −75% · −50% · −30% · −20% · −10% · −5% · −2% · −1% · −0.5% · 0% · +0.5% · +1% · +2% · +5% · +10% · +20% · +30% · +50% · +75% · +100% · +150% · +200% · +300% · +400% · +∞
- Inside each finite bin, probability is assumed to be spread evenly across simple returns. This is a coarse modelling approximation, not a claim about how prices move.
- Above +400% the open-ended bin uses an exponential tail with scale 1.0 (in return units), a fixed configuration value that models do not choose. It makes percentiles and inverse-pair figures computable; it is not a claim that real returns have exponential tails.
- The 1%, 5%, 10% and 50% thresholds sit on bin edges, so they need no interpolation. Inverse pairs such as USD/EUR transform the same distribution rather than being estimated again.
- Headline percentages are rounded so the three sum to 100. Tiny but non-zero values are shown as “<0.1%”, never as 0%.
The distribution chart on each forecast page shows probability per percentage point, because bins differ in width. Steps in the chart come from the bins, not from a modelled price path. The tails beyond ±50% are reported as totals and not drawn.
The AI average
The AI average is the equal-weight mixture of the two model distributions; its outcome probabilities are computed from that mixture and rounded so the three sum to 100. It is labelled uncalibrated. Because both models see the same evidence, their errors are likely to be related; averaging two runs does not double the information.
When one model has no valid run, the page shows the other alone as a single-model estimate and marks the version as partial. When neither succeeds, the last valid version stays up with a stale label; the statistical reference is never passed off as the AI estimate.
Matching market contracts
Each contract is checked against five things: asset, price source, observation time and time zone, threshold level, and event type (price at a time versus touching a price).
- Exact match All five agree. The quote appears in the source comparison.
- Related market At least one differs. Shown for context with the difference stated, never as an equivalent estimate.
- Derived estimate Combined from several contracts with a documented method, labelled as derived.
- No matching market Nothing qualifies. Shown in words, never as 0%.
Evaluation
Forecasts are scored with the three-outcome Brier score: the sum of (forecast − actual)² over up, within and down, where actual is 1 for what happened. It runs from 0 (perfect) to 2. Lower scores mean better probability estimates.
- One version per target is scored: the first live version published in each lead-time bucket (0–30, 31–90, 91–180 and 181–366 days), chosen before the outcome is known, never by which looked best.
- Live forecasts and research backtests are reported separately.
- Inverse pairs count once, because they settle on the same observation.
- Thresholds of one forecast are correlated, and updates of the same target are correlated; results are reported per threshold, with unique target counts, and are not treated as independent samples.
- Uncertainty intervals appear from 30 settled forecasts, reliability charts from 100 outcome probabilities per source.
Limitations
- Estimates reflect information up to their publication time.
- Model outputs can be confidently wrong; there is no live calibration yet.
- The bin approximation and tail assumption are modelling choices, not facts about markets.
- Single-exchange prices can differ from the reference source.
- Probability estimates are not guarantees and are not investment advice.