How the Model Works
Hoop Call finds edge by comparing a fair value it computes from multiple data sources against the current Kalshi ask price. When fair value exceeds the ask by more than 4¢, the market is flagged UNDERVALUED. When the ask exceeds fair value by more than 4¢, it's OVERVALUED. Everything within 4¢ is FAIR.
The starting point before any adjustments. Sources are used in priority order — the best available source wins.
- Net Rating Model — logistic curve on net rating differential (≈0.3% per point)
- Pythagorean Matchup — Bill James log5 applied to each team's points scored vs. allowed
- Pace-Adjusted Projection — harmonic mean pace applied to offensive/defensive averages, +2.5 pt home court bonus built in
Each factor nudges the base fair value up or down. Adjustments are computed independently and summed, then clamped to keep the result in a realistic range.
| Factor | What It Measures | Max Impact |
|---|---|---|
| 🏥 Injury Absence | PPG-weighted penalty for each OUT/Doubtful player (≈0.15¢ per PPG, capped 4.5¢ per player). Questionable players penalized at 40%. | ±15¢ |
| 🏠 Home Court | Team's actual home/away win% vs. 0.500 league baseline. Falls back to flat ±3.5¢ if split data unavailable. | ±12¢ |
| 📊 Net Rating Gap | Difference in net rating between teams scaled at 0.3¢ per point of net rating differential. | ±5¢ |
| 🏆 Motivation | Playoff situation: PLAY-IN/TIGHT RACE +2¢, BUBBLE +1¢, CLINCHED -2¢, ELIMINATED -3.5¢. | ±3.5¢ |
| 😴 Rest / Back-to-Back | B2B (1 day rest) -3¢ penalty. 3+ days rest +1¢ bonus. Applied net between teams. | ±3¢ |
| 📈 Form Win% | Blended 60% last-10 win% + 40% season win%, scaled around 0.500. A 60% L10 team gets +1.25¢. | ±2.5¢ |
| 💰 Price Momentum | Direction of Kalshi price movement (current ask vs. last traded price). Sharp buying pressure lifts fair value. | ±2¢ |
| 📉 Form Margin | Avg point differential blended 60% last-5 / 40% last-10. A +10 avg margin adds ~1.5¢. | ±2¢ |
| 🔥 Form Trend | PEAKING (last-5 better than season avg) +1.5¢, DECLINING -1.5¢, STABLE 0. | ±1.5¢ |
| 📊 Volume Skew | When ≥80% of Kalshi money is on one side: +1.5¢ to that side (contrarian market signal). | ±1.5¢ |
| ⚡ Volume Velocity | 24h volume vs. total volume ratio. Accelerating money flow on one side suggests sharp activity. | ±1.5¢ |
| 🔄 Head-to-Head | Average scoring margin over last 5 H2H meetings (minimum 3 games required). 5-pt avg margin → +1¢. | ±1.5¢ |
| 💪 Strength of Schedule | Average opponent win% in recent games. A team going 9-1 vs. weak opponents (avg opp .400) gets discounted. | ±1.5¢ |
| ✈️ Road Trip Fatigue | Consecutive away games: 3 in a row -0.5¢, 4 in a row -1¢, 5+ -1.5¢. Home teams unaffected. | ±1.5¢ |
Once fair value is established, Kelly criterion determines optimal bet size. Kalshi binary markets have asymmetric payoffs — a YES contract at 37¢ pays 63¢ profit if correct and loses 37¢ if wrong.
Full Kelly = edge / (1 − kalshi_ask), capped at 25%
Half Kelly = Full Kelly × 0.5 ← recommended
Confidence scaling: HIGH 1.0×, MEDIUM 0.75×, LOW 0.5×
Confidence is set by data quality: HIGH when consensus odds are available, MEDIUM when DraftKings lines exist, LOW when falling back to statistical model only or when the bid-ask spread exceeds 10¢.
⚠️ Injury data reflects market knowledge. By the time a report is generated, Kalshi has often already priced in known injuries. The model may double-count injury impact that the market has already absorbed.
⚠️ Form streaks are not opponent-adjusted. A team going 9-1 looks strong but SOS can only discount this by ±1.5¢ — if that run was against weak opponents the model may still overrate the team significantly.
⚠️ Pure pricing-gap signals are more reliable. When edge comes from DK vs. Kalshi spread discrepancy rather than model adjustments, hit rates tend to be higher. Injury-driven underdog calls carry more uncertainty.
⚠️ Small sample size. This model has limited historical validation. Kelly sizing recommendations should be treated as guidance, not gospel. Never risk more than you can afford to lose.
Select a date
Pick a date on the left to view that report.