How the PropsBot Model Works
The 14 factors, their empirical accuracy, and what "Predictability 68" actually means.
The model in one sentence
PropsBot BKFC is a transparent factor-based scoring system — not a black-box machine-learned model. For every bout we score the two fighters across 14 dimensions, combine via weighted sum, pass through a logistic function, then blend with the de-vigged market moneyline. The output is a probability per fighter that we display as Advantage Score 0-100, paired with a Predictability Index 0-100 that captures how much you should trust the pick.
Historical accuracy (point-in-time backtest)
Over 325 completed bouts from 2023-2025, reconstructing each fighter's state as of the bout date (no post-bout leakage):
- Full-model accuracy: 59.8% on 127 picks where the model had enough signal to lean. 198 bouts were skipped as toss-ups (45-55% range).
- Brier score: 0.2473 — better than the 0.25 naive-50% baseline.
- Edge vs coin-flip: +9.8 percentage points.
- Baseline comparison: picking whichever fighter has the better BKFC win rate goes 55-41 (57.3%). We beat that by 2.5pp.
In combat-sports betting, 58-60% accuracy on model-filtered picks is in the range a competitive professional handicapper operates. We're honest that 40% of our picks lose. Bet accordingly.
The 14 factors and their weights
Weights are hand-set informed priors. Every four weeks we recalibrate against new data; factors with small backtest samples (n < 30) keep their prior weight until enough history accumulates to override.
What Advantage Score means
Simply the model's probability × 100 for that fighter. An Advantage Score of 67 means the model estimates this fighter wins 67% of the time. The two scores in a bout always sum to 100. Scores above 55 indicate meaningful favorites; 46-54 is a toss-up; below 45 is an underdog.
What Predictability means
A 0-100 trust score for the specific pick. It blends:
- 50% data quality (is there enough history on both fighters to be meaningful?)
- 30% signal strength (how far from 50/50 is the model?)
- 20% factor agreement (are most active factors pointing the same direction?)
Predictability 75+ = strong pick. 55-75 = solid. 40-55 = marginal. Below 40 is filtered from the /picks/ board because the model doesn't trust itself.
Market-adjusted prior
When de-vigged moneyline odds exist for a bout, we blend our raw model output 55/45 with the market as a prior. Sharp handicappers anchor to the market and add a data-driven delta — the market has information (injuries, camp news, sharp money) we often lack. Our recommendations are therefore most trustworthy when we agree with the market direction but show a meaningful edge in magnitude.
Shrinkage calibration
Reliability-diagram analysis showed our model was ~8pp over-confident in the 65-70% bucket — when it said 67%, the fighter actually won 60% of the time. We apply a shrinkage factor that pulls probabilities toward 50%: p' = 0.5 + 0.85 × (p - 0.5). This makes high-advantage predictions more honest at the cost of never displaying extreme certainty.
Honest limitations
This is a decision aid, not a crystal ball.
- 325 training bouts is small. Most factors have fewer than 30 testable samples. We use hand-priors for factors with thin data rather than overfitting.
- Intangibles aren't captured: camp news, weight cut struggles, in-the-ring injuries, referee tendencies, crowd impact beyond home-country effect.
- BKFC has a small sample per fighter. A fighter's first 2-3 bouts tell us very little. The model honestly labels these as Low or Very Low confidence.
- The market knows things we don't. When we disagree with the market by >15pts, 60% of the time the market ends up right. Size your bets accordingly.