Data & Analytics

Sports Performance Analytics from Match Event Data

Build possession and contribution metrics from open match event data that measure what a player did beyond the box score. The analytical challenge is crediting outcomes to the actions that led to them rather than only the final one.

Difficulty

Intermediate

A small team, or one strong student willing to learn something new.
Effort

1 semester, 2 students

Deliverables

5 to ship

3 optional extras

Suggested stack

Pythonpandasscikit-learnPlotlyStreamlit
A suggestion, not a requirement. Swap anything for what you already know.

What you should ship

  • Ingestion of an open event dataset into a queryable schema
  • An expected value model scoring each action by how much it changed the probability of scoring
  • Player contribution metrics built from that model, validated for stability across halves of a season
  • Interactive visualisations including spatial maps and possession chains
  • Comparison of your metric against traditional counting statistics, showing what it captures that they miss

If you have time left

  • Team style clustering from possession patterns
  • Substitution impact estimated with appropriate controls
  • Match outcome simulation from team level metrics

The problem

Traditional statistics credit whoever finished a move and ignore everyone who created it. Modern sports analytics builds models that value every action by how much it improved the chance of a good outcome, which is a much better description of contribution.

What you build

An expected value model over match events, contribution metrics derived from it, and visualisations that make possession sequences legible.

The validation that separates real analytics from numbers

Stability. A metric computed on the first half of a season should correlate with the same metric computed on the second half. If it does not, you are measuring noise, which is the fate of a great many invented sports statistics. Report this correlation as your primary validation.

Why it is a good project

Excellent open event datasets exist, so there is no collection risk, and the modelling is genuinely interesting without requiring research level techniques. It also produces visual output that presents well.

The analytical care required

Volume confounds everything. A player with more minutes accumulates more of any counting metric, so normalise per ninety minutes or per possession and say which you chose.

Scope warning

One sport, one competition, one season. And be careful with dataset licensing, which is often restricted to non commercial use.

Ideas and guidance, not finished projects

These are project ideas and scoping guidance, published free for students to use as a starting point. I do not build, write, or sell final-year projects, and I do not complete coursework for anyone. Take an idea, make it yours, and build it.

Not sure this one fits you?

I help students pick an idea that matches their skills and their deadline, then scope it down until it is finishable. Guidance only, never done for you.

Get guidance
Work with me

Stuck on something specific?

Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Every session is free; a few slots open each week.

Follow along

New writing, resources and project ideas land here first.