How our forecasts work
A statistical model makes every number. A language model only writes the explanation, from those same numbers, and a checker rejects any text that disagrees with them.
The pipeline
Data sources
| Data | Source |
|---|---|
| Market cap, supply, metadata | CoinGecko |
| Live prices | Binance, Bybit, OKX public feeds; CoinGecko fallback |
| Historical candles | Binance public data archive |
| Fear and Greed index | Alternative.me |
Models and horizons
We forecast 24 hours, 7 days, 30 days, 90 days, 180 days and 1 year for each of the 500 largest coins once a day. The range comes from a volatility model, so the low and high are the 10th and 90th percentiles of likely outcomes. A gradient-boosted tree model, trained across all coins, estimates the chance the price ends higher. The base case combines the two.
Hourly signals use a separate model on hourly data for the top 38. It only publishes a call when its probability clears 55%, a threshold tuned on past data; otherwise the hour is marked no setup.
Yearly numbers to 2030 are scenarios (bear, base, bull) built from past cycles, not forecasts.
Confidence
Confidence is the model's probability that its direction is right, calibrated against past results so that a 70% call is right about 70% of the time. The calibration chart on the track record shows how close we are.
Risk score, 0 to 100
Higher means a wider range of outcomes and a bigger chance of a sharp fall. Each component is ranked across the coins scored together, then weighted; a missing component is dropped and the rest rescaled.
Grading rules
The expiry price is the CoinGecko price at the exact expiry minute. Grades are final and never edited.
Limits
- Crypto prices are close to random on most horizons. Expect hit rates a little above 50%, not 90%.
- Models can't see news, hacks or regulation before they happen.
- Small coins have thin history, so their ranges are wider and less reliable.
- Nothing here is financial advice.
Model versions
Version history appears once a model is registered.
Version ids encode the interval and the training time, so a graded call can always be traced back to the model that made it.
Questions about the method? Contact us. See also the track record and the disclaimer.