Machine learning
in motion.
How can machine learning help athletes reduce injury risk, improve training and perform at their best? Today we’ll explore how these models work, what they can and can’t do, and how intentionally designed models could help close gaps between women’s and men’s sport.
- 0–4Key termsOne framework for every model
- 4–15Explore: the shot modelOn your own, work through the Performance challenges
- 15–24Live code: the whole modelOne change together, then try your own
- 24–35Explore: movement or injury riskPick one lab, then try the other
- 35–39EvidenceWhat does a result actually prove?
- 39–42Back to our questionsWhat today’s experiments say about the session
- 42–45Imagine a new toolName its data, inputs, output and decision
Key terms.
Every model on this page follows the same path. Look for these words on the controls and diagrams.
- DATA
The examples a model is trained and tested on, each with a known outcome.
480 invented shots, each made or missed - INPUTS
The measurements the model uses for each example. Also called features.
shot distance and defender space - MODEL
A calculation that turns inputs into an output, using adjustable weights.
our logistic-regression shot model - OUTPUT
What the model produces for one example: a prediction.
a 45% predicted chance of a make - DECISION
What a person chooses to do with an output. The model does not decide.
a coach changes a practice plan
The adjustable numbers inside a model: one for each input, plus a baseline starting value. In y = mx + b, m is a weight and b is the baseline.
How far the outputs are from the known outcomes. Lower is better.
Adjusting the weights, step by step, to reduce the error on the training data.
Checking outputs on test data: examples held back from training, so the model has never seen them. This shows whether it works on new examples, not just the ones it learned from.
120 of the 480 shots are kept for testingKey ideaEvery model on this page follows the same path: data and inputs go in, a trained model produces an output, and a person makes the decision.
Three experiments.
Performance, movement and injury risk, each inspired by real work.
How difficult is this shot?
Our shot model is trained on invented shots: two inputs in, one output out.
ChallengesExplore 1 · everyone · 5 to try
On your own: predict before every change, then check. Tick each one off as you go.
Done? Write your own key idea in one sentence, then compare it with the one at the bottom.
The model never trained on these 120 shots. Compare it with a simple guess: always predicting the more common outcome.
Key ideaThe output is a predicted chance, not a guarantee, and we judge the model by testing it on shots it never trained on.
Training adjusts the weights to reduce the error.
This model is a line, y = mx + b. It guesses how many of 10 shots go in (y) from the shot distance (x). Its weights are the two numbers it can change. m is how much the guess changes for each extra meter. b, the baseline, is where the line starts. Training changes m and b one small step at a time, using gradient descent, until the line fits the dots.
Our shot model trains the same way. It guesses the chance a shot goes in from two inputs: shot distance and defender space. Each input has a weight. The distance weight sets how much farther shots lower the chance. The defender space weight sets how much more space raises it. The baseline is held still so the error fits in a 3D picture. Training moves both weights downhill, one small step at a time.
0
The data stays the same. Only the weight m and the baseline b change. Each step moves them in the direction that reduces the error most.
Key ideaTraining means adjusting the weights, step by step, to reduce the error on the training data. The data itself never changes.
Drop in the chat: a shot from the court and the chance the model gave it. Did it surprise you?
WNBA Shot Difficulty is trained on historical WNBA shots, with player-tracking inputs, and outputs a predicted chance that each shot goes in. This simplified lab trains its own model on invented data. Read the league's explanation ↗

How hard was this shot?
OG Anunoby’s tip-in, Game 4 vs Spurs, June 10, 2026. An NBA highlight, not part of our data.
If a model had to predict this shot’s chance, which inputs would it need? Which of them does our shot model have?
Watch on YouTube ↗What changed between landings?
Scrub two illustrated landings. Click a joint, then inspect the knee angle.
ChallengesExplore 2 · or try Injury risk · 3 to try
On your own: predict before every change, then check. Tick each one off as you go.
Done? Write your own key idea in one sentence, then compare it with the one at the bottom. Then try Injury risk.
- DATARecorded landings
- INPUTSCamera frames
- MODELPose estimationnot run here
- OUTPUTJoint positions + confidencedrawn here
- DECISIONA researcher or coach interprets the knee angle
Positions first. Measurements second.
Theia3D’s model takes camera views as inputs and outputs body keypoints, then reconstructs 3D movement. Here, inspect a simpler 2D drawing of that kind of output.
Shows what the model does when a camera can’t see a joint.
Calculated from the output: hip, knee and ankle positions. Confidence is invented for this illustration.
Try clicking another joint. What would you want to check before trusting its position?
Drop in the chat: what changed between landing A and landing B?
Theia3D in women's football research: researchers measured changes after exercise programs. Injury incidence was not tracked. Our drawing does not run Theia3D or classify a landing as safe. Read the study ↗
Key ideaThe ML model’s output here is joint positions, and any error in that output carries into every measurement calculated from it.
From probability to a decision.
First explore cumulative exposure. Then examine alert tradeoffs.
ChallengesExplore 2 · or try Movement · 3 to try
On your own: predict before every change, then check. Tick each one off as you go.
Done? Write your own key idea in one sentence, then compare it with the one at the bottom. Then try Movement.
Hold the athlete information fixed.
Survival analysis accounts for accumulating exposure within a session. Move the duration slider.
The longer someone plays, the more chances there are for an injury to happen. So the chance of an injury at some point in a session rises with every minute. The input is how long the session is planned to be; the output is that chance.
At 75 minutes, about 1 in 111 sessions like this would include an injury.
It can’t say who will get hurt, or whether a shorter session would have prevented it. That needs a person’s decision and a real test.
This curve uses an invented constant rate, not XGBSE. It does not establish the effect of shortening a session.
02 · When should a score trigger an alert?
Separate fictional data: 6 injuries among 60 cases. Scores are points, not calibrated probabilities or values from the curve above.
A flag starts a conversation.
An athlete and support team need context before changing a plan. A risk score alone cannot tell us whether rest would prevent an injury.
Which kind of mistake would concern you most? Injuries are deliberately frequent here for visibility. Barcelona recorded 83 injuries in nearly 14,000 daily observations.
Drop in the chat: where would you set the alert threshold, and why?
FC Barcelona women's injury-risk research combines workload data, survival analysis, and ML to support participation and rest decisions. This lab explores decision thresholds using invented scores; it is not an injury predictor. Read about the research ↗
Key ideaAn output only matters through a decision, like an alert threshold, and every threshold trades missed injuries against false alerts.
The whole model,
in 30 lines.
This is the real code behind the court. Change a line, press Run, and the court on your page updates. Predict each result before it runs.
ChallengesLive code · on your own · 5 to try
Edit the code yourself. If it breaks, press Reset code. Predict before every run.
Done? Share your best accuracy and the change that got it. Then press Reset code and Run, so the court goes back to the original model.
Load a change, ask the room to predict, then press Run.
Drop in the chat: your test accuracy and which input mattered more.
Always predicting the more common outcome gets 51% of the test shots right. If your model doesn’t beat that, it hasn’t learned anything useful.
Run once with both inputs and once without one. Which drop in accuracy is bigger?
Check the 8 m shot after each run. Would a coach believe that chance?
If some players or teams are missing, where could the output mislead a decision?
Look inside the data
480 invented shots: 360 for training and 120 for testing. Test shots never enter training. Distances are in meters.
| Shot | Shot distance (input) | Defender space (input) | Outcome | Used for |
|---|
Key ideaChanging the inputs or the training data changes the trained weights, and only the test results show whether the change helped.
What does the result establish?
Select a claim. Decide what evidence you would need, then reveal what was actually tested.
Drop in the chat: is the claim supported? Answer before you reveal the evidence.
Is this conclusion supported by the example? What comparison would convince you?
A measured change, a good prediction and an effective intervention answer different questions.
Key ideaA good prediction, a measured change and an injury actually prevented are three different claims, and each needs its own evidence.
The questions
we started with.
Machine Learning in Motion: Designing Better Technology for Athletes. Here’s what today’s experiments say about each part of it.
- 01
How can machine learning help athletes reduce injury risk, improve training and perform at their best?
It can estimate things people can’t easily see: how hard a shot was, how a body moved through a landing, and how injury risk builds over a session.
- 02
- 03
What are their possibilities and limitations?
An output is a predicted chance, not a guarantee. It only matters through a person’s decision, and a good prediction is not proof that a tool helps athletes.
- 04
How could intentionally designed models help narrow gaps between women’s and men’s sport?
A model only learns from the data it’s given, and women athletes have long been under-studied in sport and exercise science. In a 2021 review of 5,261 studies, only 6% included only female participants; 31% included only men. Designing on purpose means asking “whose data is in here?” before trusting an output, and testing tools with the athletes they’re meant for, as the Barcelona and Theia3D studies did with women’s teams.
- 05
What new technology could better support athletes?
Start with an athlete’s need. Then decide what data and inputs the tool would use, what output it would give, who makes the decision, and how you would test that it helps.
Where we saw itImagine a new tool
Drop in the chat: which of these questions do you see differently now than at the start?
Key ideaBetter technology for athletes is designed on purpose: chosen data, a clear decision, and tests with the athletes it’s meant to serve.
Who are you
designing for?
A model is one part of a useful tool. Start with an athlete's need, then decide what evidence would tell you it helps.
Drop in the chat: copy the sentence, paste it in the chat and fill in the blanks.
For athlete, my tool uses data and inputs to predict output, so person can decide decision. I’d test it by test.
Example: For a school girls’ team, my tool uses phone video of landings to predict how much each knee bends, so the coach can decide which drills to repeat. I’d test it by comparing the girls’ landings before and after six weeks.
Key ideaUseful technology starts with an athlete’s need and a plan to test whether the output actually helps, and for whom.
For educators: pacing, solo exploration and learning goals
A 45-minute exploration route
- 0–4 minutes: one question (“Can a computer tell how hard a shot was?”), then walk through the outline and Key terms.
- 4–15: Explore 1. Everyone opens Challenges in the Performance lab and works on their own.
- 15–24: live code. Run one preset together: everyone predicts, then you press Run. Then everyone opens the live-code Challenges and tries their own changes.
- 24–35: Explore 2. Everyone chooses Movement or Injury risk and opens its Challenges. Early finishers try the other lab.
- 35–39: two or three people share a finding, out loud or in the chat, using the framework words. Everyone votes on the Zone7 claim in Evidence, then reveal.
- 39–42: back to our questions. Read each session question and its answer; ask the chat which one they see differently now.
- 42–45: imagine a new tool. Everyone picks an athlete in Design, copies the one-sentence template, fills in its data, inputs, output and decision, and drops it in the chat.
Everyone explores on their own
Each person works through the Challenges at their own pace. Ask for predictions out loud or in the chat before each reveal, so people commit to an answer first. The challenge cards and Key ideas let people check their own thinking without waiting for you. No coding is needed for any lab, and the live-code presets work without typing.
Exit ticket
- Name the data, inputs, output and decision for one example.
- Explain uncertainty using an experiment. Distinguish prediction evidence from prevention evidence.
- Name an athlete or setting the tool should be tested with, and one comparison that would establish benefit.
Sources and invented data
All interactive examples here are made up for this page. The shot model trains on seeded synthetic data. The landings and confidence values are drawn, not inferred. The injury curve is an invented constant-hazard illustration; the separate alert data uses fictional scores and outcomes. Case-study claims link to their sources. Teaching difficulty is an educator judgment. No accounts, camera access, external AI services, or analytics are required.