K-Factor
The maximum number of points a single result can move an Elo-style rating; LDBD sets it per timeframe, from 32 for 1d down to 8 for 1y.
Formula
skill_delta = K × (actual − expected) K = 32 (1d), 24 (1w), 16 (1m), 12 (6m), 8 (1y)
The K-factor is the dial that decides how much one win or loss can move an Elo-style rating. Because the update is skill_delta = K × (actual − expected), and that difference always lands between −1 and +1, K is simply the most points a single result can add or take away.
LDBD tunes K by timeframe instead of using one number. A one-day call carries K=32, then it steps down through 24 for a week, 16 for a month, 12 for six months, and 8 for a year. The shorter the horizon, the larger the K, so those ratings react faster; longer calls are damped so no single outcome swings the standings too hard.
Example
Nail a 1d call when the expected win probability (base_rate_up) was 0.5, and skill_delta = 32 × (1 − 0.5) = +16. The same result on a 1y call moves only 8 × 0.5 = +4.
How LDBD uses it
K only touches LDBD's secondary Skill Rating (Elo-style, starting at 1500), not the headline metric. Whenever a prediction resolves, its timeframe's K sets the skill_delta added to the rating. The leaderboard's primary number is the annualized rate; Skill Rating lives on a separate axis and shows up in the UI as a per-bet skill_alpha = (skill_rating − 1500) / (resolved_count + 100).
FAQ
Why is K bigger for a one-day call than a one-year one?
Short horizons resolve often, so samples pile up quickly and a larger per-result step still keeps the ranking stable. Year-long calls are scarce, so a smaller K keeps any single outcome from jerking the rating around.