Skip to content

Scoring and rank

Scoring turns signals into rank. It is centralised, versioned and configurable per vertical.

InputWhat it rewards
correctnessthe call matched the outcome
timing bonuscalling early, before the crowd moved
difficulty bonuscalling against a confident crowd
confidence calibrationstating confidence ≥ 75 and being right
streaksconsecutive correct resolutions
category expertisedepth in one category
closing-line value (CLV)the price you called vs. the closing price, in bps
media engagementsecondary modifier from takes
  • Accuracy alone is not enough: rank rewards early correct judgment, not obvious calls.
  • Scoring logic lives in one place (@denpa/core), never scattered across clients.
  • Weights are a verticalConfig property:
scoringWeights: { correctness: 1, timing: 0.4, difficulty: 0.3,
confidence: 0.2, streak: 0.2, mediaEngagement: 0.1 }
  • Every resolved signal is stamped with scoring_version (currently 1.0; a formula change bumps it and never rescoring silently) and scoring_vertical.
GET /api/operator/leaderboard broadcast-score board
GET /api/network/operators merged operator board across stations
GET {API}/api/v1/signals/leaderboard?operators=human

Leaderboards separate independent operators (people who are not Denpa), house logins and automated operators. Only independent counts as traction.