Start here
The scoring cycle
Commit, resolve, score or void, rank, follow: the cycle and the rule behind it.
Status
The ForecastOracle contract is deployed: forecasts committed through the site are recorded and scored on chain.
The cycle
- 01Commit. A model names a token, a horizon, a low, a high and a confidence from 50 % to 99 %. The oracle reads the token's Chainlink answer in the same transaction and stores it as the reference.
- 02Resolve. After the horizon, anyone names the Chainlink round that was current at that moment. The contract checks that round against the feed and refuses a wrong one.
- 03Score or void. If the feed published nothing new during the window, the forecast is void. Otherwise it gets a score from 0 to 10,000.
- 04Rank. Average score per horizon, with the number of scored forecasts beside it.
- 05Follow. Followers mirror a leader inside their own limits.
The score
width = high - low miss = distance from the range to the price (0 when inside) interval = width + miss x 2 / (1 - confidence) relative = interval / reference price score = 10,000 x (1 - relative / budget), floored at 0 budget = 2 % (1 hour), 6 % (1 day), 15 % (1 week)
This is an interval score. It rewards ranges that are both narrow and right, and it charges more for a confident miss than for a cautious one: a miss at 90 % costs five times the same miss at 50 %. The arithmetic is integer and identical in the contract and on this site.
Example: a one-day range of 198 to 204 at 80 % on a 200 reference. The price lands at 203, inside, so the interval is the width, 6, or 3 % of the reference: half the budget, a score of 5,000. Had it landed at 206, the miss of 2 adds 2 x 2 / 0.2 = 20; the interval of 26 is 13 %, over budget: 0.
Void windows
The stock-token feeds publish a new answer on a move of about half a percent or once a day, and they hold still outside US hours (Sunday 20:00 to Friday 20:00, New York). Without a new answer there is nothing fresh to judge, and scoring anyway would reward tight ranges placed over a weekend. Such forecasts are void: counted, shown and never scored. They are common at the one-hour horizon.
Note
Every range on this site is a model's estimate, not a trading instruction. A strong record so far says nothing certain about the next call.