The cornerstone guide

How to learn sports analytics from scratch: the honest path

Everything on this site, arranged into a plan you can actually follow - 82 tutorials, 11 courses, roughly 9 hours of material - plus the honest version of how long it takes, what you'll be able to do at each stage, and what this site deliberately won't teach you.

Who this is for

You watch sports and argue about them, you can operate a spreadsheet, and you keep seeing charts on television or timelines that you'd like to be able to make - or check. You do not need a statistics degree, a computer science background, or money: every dataset, script and course here is free, and the code runs in your browser before you've installed anything. What you need is the willingness to type code you don't fully understand yet and run it anyway. That's the entire entrance exam.

I built this site around one conviction: you learn analytics by doing analyses, not by reading about them. Every tutorial ends with a real artifact - a chart, a table, a model - built from real data, and the build system refuses to publish an output the code didn't actually produce. That discipline is for you as much as for me: when a tutorial says you'll build something, that's a promise with receipts.

How the material is organised

The 82 tutorials are arranged into 11 courses, and every tutorial belongs to exactly one. Each course page carries an annotated syllabus, a written capstone challenge, a five-question self-check, and a one-ZIP bundle of all its scripts and sample data, so a whole course works offline. The datasets themselves are documented - source, columns, row counts - on the datasets page. If you only remember one structural fact, make it this one: the courses are ordered inside, and the order matters more in some than others; each course page says which.

Route one: the complete beginner

If Python is new to you, the sequence is fixed and I'd ask you not to negotiate with it: Python Foundations for Sports Data first, top to bottom - it ends with you building a standings table from raw results, which is the moment most people report the thing clicking. Then Working with Real Sports APIs, which replaces sample files with the real feeds behind MLB, the NBA, soccer, the NFL and the NHL. Then the sport you actually care about: Baseball Analytics with Statcast, Basketball Analytics with the NBA API, Soccer Analytics with StatsBomb & xG, NFL Analytics with nflverse or Hockey & Cross-League Projects. Three courses, and at the end of them you can pull real data and produce a real analysis of the team you already argue about. Expect four to six weeks at an hour most evenings - less if you binge, and the material tolerates bingeing.

Route two: the stats-curious fan

If you can already push a DataFrame around and what you actually want is to reason better - to know when a hot streak is luck, whether a stat means anything, why the announcer's number is misleading - run the measurement spine: Statistics for Sports Data into Randomness, Inference & Simulation. That pair is the site's quiet centre of gravity: distributions, z-scores, percentiles and regression, then Monte Carlo, bootstrap intervals, permutation tests and Bayesian updating, all built by hand on real sports data. Salt to taste with Sports Data Visualization when your findings deserve better charts than the defaults. This route changes how you watch games faster than any other on the site.

Route three: the aspiring analyst

If your ambition is a portfolio - something to show a hiring manager or a graduate program - take the long road: foundations, statistics, inference, then Machine Learning from Scratch, where you implement gradient descent, logistic regression, cross-validation, ROC curves, k-NN, decision trees and k-means in pure numpy with no library shortcuts. Nine tutorials that amount to having written an intro ML course rather than having watched one. Then do the capstone challenges seriously - every course has one, and they're designed to produce exactly the kind of small, honest, reproducible project a portfolio wants. The five-league home-advantage study that closes Hockey & Cross-League Projects is the model: one method, five data sources, a defensible comparative answer.

What the tooling gives you

Three things here remove the usual excuses. The Playground runs Python in your browser - every code block on every tutorial has a Run button, with the real datasets pre-loaded, so you can start before you've installed anything. The course bundles mean that when you're ready to work locally, one ZIP gives you every script and dataset in run order. And the progress ticks on course pages (stored only in your browser - there are no accounts here) turn eleven syllabi into a checklist. None of this is revolutionary; it's just the friction removed.

The honest timeline

Someone starting from zero who does an hour most evenings reaches "can pull real data and produce a defensible chart" in about a month, "can run and explain a regression or a permutation test" in two, and "has implemented logistic regression from scratch and evaluated it properly" in three. People who tell you it's faster are selling something; people who tell you it's slower haven't seen how much of the friction was installation and data-finding, which are pre-solved here. The material totals roughly 9 hours of guided work - the spread beyond that is practice, and the capstones are where the practice lives.

What this site won't teach you

Honesty section, since the whole site runs on one. You will not learn deep learning here - no neural networks; the from-scratch course stops deliberately at the classical methods you should understand first. You will not learn SQL, databases, or production engineering. You will not get betting picks - the fourth-down and win-probability material explains decision models, it does not sell predictions. And a completed course here is understanding, not a credential: there are no certificates, because I'd rather hand you a portfolio of things you actually built. If any of those are what you need, you now know precisely what to look for elsewhere - and you'll be better at judging it for having built the basics yourself.

Where to start, in one sentence each

And if you're still unsure, Start Here picks for you. The only wrong move is reading a second guide about learning instead of running your first script. This page was the last one; go make a chart.