Sport, data science and AI, moving together. Learn the methods where they are being built.

Taught by front-office practitioners, university faculty and the open-source developers behind the tools.

Dockerizing a Match-Day Shiny App So It Runs Anywhere
Newest sessionsRUNS ANYWHEREDockerizing a Match-Day Shiny App So It Runs AnywhereStefan LinnerStefan Linner
Sessions

The 2026 line-up, each session a recording you buy once.

Every one is a working practitioner showing the method the way they use it in the job. Buy a session and the recording is sent to your account.

Workshop The Pit Stop
  • Where the slow work goes: an ExtendedTask backed by a mirai daemon, off the session's thread
  • What the user sees while it runs, and when a stale result is thrown away
Veerle Eeftink-van Leemput $149Buy now
Session KNOW WHEN THE DECLINE STARTS Know Exactly When an MLB Player Starts to Decline
  • How to shape a career over age: a generalized additive model, and where its flexibility is and is not trusted
  • How to separate the player from the cohort with mixed effects and partial pooling
Greg Matthews · PhD $79Buy now
Session HOT START OR REAL? Hierarchical Modeling using PyMC in Baseball
  • The model: every hitter's rate drawn from a league distribution whose spread is estimated, not assumed
  • The priors: what to choose, how to defend them, and how to check them with prior predictive draws
Chris Fonnesbeck · PhD $79Buy now
Session SECONDS, NOT HOURS Variational Inference in Sports
  • When variational inference is the right trade: speed for an approximation you can check
  • How to check where the approximation holds and where it understates the spread
Chris Fonnesbeck · PhD $79Buy now
Session The Armchair Scout
  • Which features define a player, and how to scale them so no one statistic dominates
  • Which distance metric makes sense for the sport, tested against cases you already know
Saiprasad Kagne $79Buy now
Session IT RUNS ITSELF Game-Day Automation
  • How to schedule the work: cron on GitHub Actions, secrets handled properly, every dependency pinned
  • How the job fails: loudly, with a message that reaches a person, never silently
Jasmine Daly $79Buy now
Session FILL THE GAPS The Injury Report Problem
  • Naming the missingness mechanism before touching the data, and what it implies
  • How to impute with mice, by variable type, and how to check the imputations
Greg Matthews · PhD $79Buy now
Session KICKOFF TO PRODUCTION Kickoff to Production in Minutes
  • What goes in the brief the agent works from: structure, modules, tests, deploy target
  • How to direct the agent and read every file it writes before anything ships
Stefan Linner $79Buy now
Session The No-Look Pass
  • Returning reactives from a module server versus storing shared state on the session
  • When an R6 store is worth it, and when it is too much
Veerle Eeftink-van Leemput $79Buy now
Session ASK THE BOX SCORE Ask the Box Score Anything
  • Where the model sits: writing SQL that DuckDB runs, never touching the rows for a filter
  • What the data description must contain for text-to-SQL to be reliable: columns, units, rules
Nic Crane · PhD $79Buy now
Session The Farm System
  • Drawing the module map first: responsibilities, inputs, outputs
  • How to namespace, nest and compose modules so one view can be replaced on its own
Veerle Eeftink-van Leemput $79Buy now
Session What Fills the Seats
  • How to set up penalized regression with a split you can defend
  • How to tune the penalty by cross-validation and read the whole path, not one number
Greg Matthews · PhD $79Buy now
Session TRUST THE CHAINS MCMC in Practice
  • What to read in everything pm.sample returns, and which diagnostics decide whether to believe it
  • How to recognize the three classic failures, non-identifiability, funnel geometry and slow mixing, and repair each
Chris Fonnesbeck · PhD $79Buy now
Workshop · Pre-order REPLAY THE STAGE Build a Cycling Analysis Board Without Writing Code
  • Which blocks a stage analysis needs: the route and rider data in, the transforms between, the chart out
  • How to shape data by snapping transform blocks together instead of writing the pipeline
David Granjon · PhD $299Pre-order
Browse
The Masterclass · Subscription 120 live sessions a year. Learn it live, every session of the year.
  • 120 live sessions a year across six tracks, with moderated Q and A
  • You keep every session recording for as long as your membership is active.
$1,899 a year or $199 a month (renews monthly at $199, cancel any time by replying to your receipt), or 3 monthly payments of $699 Join the Masterclass
PREDICT THE WIN. Python MachineZ: ML in Sports
  • How to frame the prediction and choose the evaluation criterion before fitting anything
  • How to build and compare models in scikit-learn without the answer leaking into the features
Patrick McFarlane Course$499
PRIOR. DATA. POSTERIOR. Becoming a BayeZian
  • Prior, data, posterior: how to specify a model you can defend
  • How to write it in Stan and read what comes back
Scott Spencer · PhD Course$499
MODEL ANYTHING. Becoming a BayeZian II
  • When to pool, and how hierarchical structure changes the answer
  • Which likelihood fits the data: Poisson scores, mixtures, overdispersion
Scott Spencer · PhD Course$499
MAKE SHINY YOURS. CustomiZing WidgetZ
  • How Shiny talks to JavaScript over the socket, in both directions
  • When to build a custom component and when to bind to an existing library
Veerle Eeftink-van Leemput Course$399
R TO THE APP STORE Mobile StructureZ
  • How to structure a Shiny app for a mobile screen from the start
  • Which interactions work on a phone and which do not
Veerle Eeftink-van Leemput Course$399
PROTOTYPE TO PODIUM ProductioniZing Shiny Applications
  • How to structure an app in modules so two people can work on it at once
  • What to test, and which QA gates a change has to clear
Veerle Eeftink-van Leemput Course$399
MODEL IT. PROMPT IT. SHIP IT. SynergiZing ML & LLMs in R
  • Where an LLM belongs in an R pipeline and where it does not
  • How to build retrieval over your own documents and measure whether it works
Nic Crane · PhD, Christoph Scheuch · PhD Course$499
PYTHON FROM PUCK DROP FoundationZ of Data Science
  • Python from the first line: syntax and data structures as tools for a question, not as a syllabus
  • How to clean and reshape real data with pandas before you trust a single number from it
Evan Callaghan Course$99
ZERO TO DRAFT DAY BreeZing Through the Tidyverse
  • How to wrangle real data with dplyr and tidyr so the pipeline reads like the question
  • How to build a publication-quality chart in ggplot2, layer by layer
Paul Sabin · PhD Course$99
Run it yourself

Real code on sports data, in your browser.

Pick a dataset, edit the code, press Run. R runs on webR and Python on Pyodide, loaded on your first run; nothing you type leaves the page.

This chart is the code's result. Run recomputes it in your browser.
Horizontal break against induced vertical break, one cloud per pitch type, contours of where each pitch lives. Pick a pitcher; hover for the averages.

Edit me: Change the sample size from 18 to 120 per pitch and run again, or add a column to the summary.

Data: Pitch movement and whiffs (pitch_movement.csv). Simulated for practice by AthlyticZ (agents/sim_data.py, seed 20261109). License CC BY 4.0.

The code runs in your browser on webR or Pyodide; nothing you type leaves the page.

Membership

Every live room, and the whole catalog, for a year.

The live platform and the self-paced catalog together, in one purchase, for the full year. Every live session, every course, every session recording we keep. You keep every session recording for as long as your membership is active.

$2,999 a year Get Membership

Working with a team rather than for yourself? We also build and teach inside organizations: Consulting.

Where the work leads

The postings we are reading now.

Read from the postings themselves, in their own words, each with the sessions and courses that teach toward it.

Data Scientist, Baseball Research

Toronto Blue Jays · Toronto, ON, Canada

Design and maintain predictive models and metrics for scouting, development and projections, with a demonstrated ability to use LLMs in the research process; SQL, R and Python, Bayesian modeling welcome, four to five years building models and explaining them to non-technical staff.

The posting, read 2026-11-08.

The whole board →