okhp3-outcome-modeling-sports
OverKill Hill P³ · overkillhill.com · github.com/OKHP3
Apply the outcome-modeling core to sports without confusing raw wins with underlying performance. Sports evidence is organized as time-indexed team or player states, opponent-adjusted interactions, and structural events such as injuries, coaching changes, and roster moves.
Scope
| In scope |
Out of scope |
| Matchup, team, player, and season projections |
Guaranteed picks or certainty claims |
| Opponent adjustment, schedule context, and roster events |
Unverified live sports facts |
| Ranking, calibration, uncertainty, and scenario analysis |
Bet placement or bankroll execution |
Required workflow
- Load
okhp3-outcome-modeling-core and define the outcome, horizon, scoring rule, and as-of date.
- Identify the sports entities, event grain, matchup relationship, and season structure.
- Build time-indexed team or player states from only available prior events.
- Adjust for opponent, venue, rest, schedule strength, role, and sample size where relevant.
- Treat injuries, trades, coaching changes, and role changes as structural events or regime changes.
- Separate descriptive performance from predictive features and avoid double-counting correlated metrics.
- Compare simple baselines such as record, point or scoring differential, Elo-style strength, and replacement value against richer models.
- Validate chronologically and report calibration, uncertainty, and failure modes.
Sports state model
Use a state vector appropriate to the sport. Preserve raw values and transformed values, with feature metadata. For a matchup, model the relevant difference or interaction between the two states rather than treating each team as an isolated row.
team_state(team, date)
matchup_delta(A, B, date)
outcome(matchup, date)
Do not assume that the best team wins every individual game. Aggregation can reveal persistent strength while realized games retain randomness.
Computational payload
Read references/computational-model.md for the rating update, matchup
probability, and worked calculation. Read references/glossary.md before using
abbreviations. Reproduce the synthetic example with
scripts/calculate-sports-model.py examples/sports-example.json. The helper is
local, deterministic, and read-only.
Output contract
Provide:
- target, horizon, and as-of boundary;
- source and freshness status;
- team or player state definition;
- opponent and schedule adjustments;
- major structural events;
- baseline versus candidate model;
- probability or ranking with uncertainty;
- decision interpretation and unresolved data gaps.
For betting or fantasy decisions, hand off to okhp3-outcome-modeling-markets or okhp3-nfl-fantasy-picks as appropriate.
References
references/computational-model.md -- sports equations and example.
references/glossary.md -- sports terms and abbreviations.
examples/sports-example.json -- synthetic matchup fixture.
scripts/calculate-sports-model.py -- dependency-free rating helper.
../okhp3-outcome-modeling-core/SKILL.md -- shared outcome-modeling contract.
../okhp3-nfl-fantasy-picks/SKILL.md -- NFL fantasy-specific adapter.
About
Built by Jamie Hill · OverKill Hill P³
Published at github.com/OKHP3
Part of the OKHP3/skillz Agent Skill library.
MIT License -- free to use, fork, and adapt. A nod to the source is appreciated.
1---2name: okhp3-outcome-modeling-sports3description: Model team, game, and player outcomes from repeated sports events, matchup history, schedules, injuries, and performance metrics. Use for sports rankings, matchup forecasts, season projections, or fantasy-oriented state models. Load `okhp3-outcome-modeling-core` first; this adapter does not provide live odds or trade execution.4license: MIT5---67# okhp3-outcome-modeling-sports89**OverKill Hill P³** · [overkillhill.com](https://overkillhill.com) · [github.com/OKHP3](https://github.com/OKHP3)1011Apply the outcome-modeling core to sports without confusing raw wins with underlying performance. Sports evidence is organized as time-indexed team or player states, opponent-adjusted interactions, and structural events such as injuries, coaching changes, and roster moves.1213---1415## Scope1617| In scope | Out of scope |18|----------|-------------|19| Matchup, team, player, and season projections | Guaranteed picks or certainty claims |20| Opponent adjustment, schedule context, and roster events | Unverified live sports facts |21| Ranking, calibration, uncertainty, and scenario analysis | Bet placement or bankroll execution |2223---2425## Required workflow26271. Load `okhp3-outcome-modeling-core` and define the outcome, horizon, scoring rule, and as-of date.282. Identify the sports entities, event grain, matchup relationship, and season structure.293. Build time-indexed team or player states from only available prior events.304. Adjust for opponent, venue, rest, schedule strength, role, and sample size where relevant.315. Treat injuries, trades, coaching changes, and role changes as structural events or regime changes.326. Separate descriptive performance from predictive features and avoid double-counting correlated metrics.337. Compare simple baselines such as record, point or scoring differential, Elo-style strength, and replacement value against richer models.348. Validate chronologically and report calibration, uncertainty, and failure modes.3536## Sports state model3738Use a state vector appropriate to the sport. Preserve raw values and transformed values, with feature metadata. For a matchup, model the relevant difference or interaction between the two states rather than treating each team as an isolated row.3940```text41team_state(team, date)42matchup_delta(A, B, date)43outcome(matchup, date)44```4546Do not assume that the best team wins every individual game. Aggregation can reveal persistent strength while realized games retain randomness.4748## Computational payload4950Read `references/computational-model.md` for the rating update, matchup51probability, and worked calculation. Read `references/glossary.md` before using52abbreviations. Reproduce the synthetic example with53`scripts/calculate-sports-model.py examples/sports-example.json`. The helper is54local, deterministic, and read-only.5556## Output contract5758Provide:5960- target, horizon, and as-of boundary;61- source and freshness status;62- team or player state definition;63- opponent and schedule adjustments;64- major structural events;65- baseline versus candidate model;66- probability or ranking with uncertainty;67- decision interpretation and unresolved data gaps.6869For betting or fantasy decisions, hand off to `okhp3-outcome-modeling-markets` or `okhp3-nfl-fantasy-picks` as appropriate.7071## References7273- `references/computational-model.md` -- sports equations and example.74- `references/glossary.md` -- sports terms and abbreviations.75- `examples/sports-example.json` -- synthetic matchup fixture.76- `scripts/calculate-sports-model.py` -- dependency-free rating helper.77- `../okhp3-outcome-modeling-core/SKILL.md` -- shared outcome-modeling contract.78- `../okhp3-nfl-fantasy-picks/SKILL.md` -- NFL fantasy-specific adapter.7980## About8182Built by [Jamie Hill](https://overkillhill.com) · [OverKill Hill P³](https://overkillhill.com)83Published at [github.com/OKHP3](https://github.com/OKHP3)84Part of the [OKHP3/skillz](https://github.com/OKHP3/skillz) Agent Skill library.85MIT License -- free to use, fork, and adapt. A nod to the source is appreciated.