Forecasts

A forecast is Q's probability that a market resolves YES, on a 0–1 scale. It is the number everything else is built on: signals, the mispricing screen, and the Hawk & Dove index are all derived from it.

How Q gets to a number

Q reads the question, works out what would have to happen for it to resolve YES, and researches those paths — news, filings, and posts from the sources that move the market. A classifier scores that evidence into a probability, calibrated against Q's scored history, and the result is blended with the live market price. That blend publishes as probability.

Research runs without the market price in context.

Where the classifier cannot score a market — thin trading, prices at the rails, non-binary questions — Q runs an ensemble of independent forecast draws instead. Their spread publishes as draw_count, draw_std_log_odds, and the band25/band75 range.

The prose on a forecast — headline, bluf, crux, key factors, what would change the call — is written after the number is fixed.

How often it updates

Scheduled runs go out twice a day, at 09:00 and 18:00 UTC. A market also reforecasts on a large, sustained price move, and once more six hours after a signal publishes on it.

refresh_reason and refresh_triggered_by say which path produced a forecast. delta_from_prior, delta_reasoning, and prior_forecast_id describe the move from the one before it.

Conviction

conviction_tier runs 1 (wide) to 3 (tight). With ensemble draws it is measured from their dispersion in log-odds. Without draws it is inferred from how far Q sits from the market on the called side, and caps at 2.

Reading a forecast

probability is the decision variable — side and edge come from comparing it to the live market price. The bands and draw statistics say how confident the forecast is; drawdown_risk_72h says how fragile a position on each side looks over the next three days.

The endpoint

GET /v1/markets/{slug}/forecast returns the latest forecast next to the market's current YES odds (market_odds). It is cheaper than /intelligence, which adds drivers, citations, and sentiment. history (0–10) adds prior forecasts for diffing.

A tracked market with no current forecast returns 404 forecast_not_available, which is not billed. An unknown market returns 404 invalid_market.

Fields, parameters, and error codes are in the endpoint reference.