Omar Chenine
Rank 06TabularFeatured

Sports outcome predictors

Elo is the baseline, not the finish line.

World Cup, F1, and boxing predictors with time based splits, API snapshots, and calibration checks.

Role
Build and evaluation
Year
Pending
Case study
437 words
Demo
Not available
PythonPandasNumPyScikit-learnFeature engineeringModel evaluationREST API integration

Result: three predictors use time based splits and Elo as a baseline. The accuracy numbers are add Elo, F1, and World Cup results.

Problem

Sports prediction is easy to make look good with a random split. The model can see the future and then report an accuracy that means nothing. The project treats the split as the main design decision.

Data

  • Boxing: add source, date range, and match count.
  • F1: the Jolpica API. The snapshot date and race count are add details.
  • World Cup: add tournament editions and match count.

API responses are cached so a rerun uses the same snapshot. The cache is versioned.

Approach and why

  1. Build a time ordered dataset. The cutoff is add cutoff date.
  2. Train on matches before the cutoff and evaluate after it.
  3. Use Elo as the baseline. Elo is a strong, cheap rating system for sports.
  4. Add features only when they are available before the match: form, rest, venue, and rating history.
  5. Report accuracy, log loss, and calibration against the Elo baseline.

The time split matters more than the model choice. A gradient boosted model with a leaking feature will beat Elo on paper and fail in production.

Results

TaskBaselineModelNotes
BoxingElo add scoreadd scoreadd match count
F1Elo add scoreadd scoreJolpica snapshot
World CupElo add scoreadd scoreadd sample size

Evaluation

  • Leakage: time split, with a check that every feature is available before the event.
  • Baseline: Elo. A coin flip is not enough.
  • Validation: walk forward where the data allows it. The World Cup sample is small, so uncertainty is reported.
  • Metric: accuracy, log loss, and Brier score. Calibration matters when the output is a probability.
  • Reproducibility: a cached API snapshot, a fixed cutoff, and versioned features.

A reviewer should challenge any World Cup accuracy without the number of matches. A small sample can swing by several points with one result.

Limitations

The sports have different data quality and different sample sizes. Elo is a strong baseline, so the model gain may be small. The API can change. The current numbers are pending, so the ranking is not a claim.

Next steps

Run a walk forward evaluation, add calibration curves, report confidence intervals, and write a short note on why each sport needs a different feature set.

Links

  • Repo: add repository URL

Headline metrics

Elo accuracy
Pending

Add the boxing result

F1 accuracy
Pending

Add the F1 result

Case study length

437 / 500