ML / IN
MOTION
Works offline
Designing better technology for athletes

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.

ONE FRAMEWORK FOR EVERY EXAMPLE

Key terms.

Every model on this page follows the same path. Look for these words on the controls and diagrams.

  1. DATA

    The examples a model is trained and tested on, each with a known outcome.

    480 invented shots, each made or missed
  2. INPUTS

    The measurements the model uses for each example. Also called features.

    shot distance and defender space
  3. MODEL

    A calculation that turns inputs into an output, using adjustable weights.

    our logistic-regression shot model
  4. OUTPUT

    What the model produces for one example: a prediction.

    a 45% predicted chance of a make
  5. DECISION

    What a person chooses to do with an output. The model does not decide.

    a coach changes a practice plan
WEIGHTS

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.

ERROR

How far the outputs are from the known outcomes. Lower is better.

TRAINING

Adjusting the weights, step by step, to reduce the error on the training data.

TESTING

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 testing

Key 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.

SYNTHETIC SHOT DATA
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 SHOT EXPLORER2 inputs · 360 training shots
Interactive basketball half courtClick a position to change the shooter location. The sliders provide the same controls using a keyboard. The background color shows the model's output: the predicted chance of a make. defender shooter Output: predicted chancelowerhigher
Click anywhere on the court. The output is a predicted chance, not a guarantee.
Predicted chance of a make
—%
OUTPUT
closerfarther
tightly guardedmore open
TESTING ACCURACY ON 120 TEST SHOTS—

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.

How does training choose the weights?

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.

INVENTED DATA
y = 0.60x + 1.50
A line trained on practice-drill dataEight invented examples show the input, shot distance, against the outcome, shots made out of ten. The line is the model output. Dotted gaps show the error at each example. During training the line tilts and moves until the gaps are small.
Each dot is one drill: 10 shots from one distance. Dotted gaps are the error: how many shots the line’s guess is off. Training makes them smaller.
ERROR How far off the line is on a typical drill
— shots off
STEP
0

WEIGHTS What training changes
m · weight0.60change per extra meter
b · baseline1.50where the line starts

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?

REAL-WORLD CONNECTION

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 ↗

Video thumbnail: OG Anunoby’s tip-in, Game 4 vs Spurs
WATCH

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 ↗
WATCH THE CODE RUN

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.

Try a change

Load a change, ask the room to predict, then press Run.

TESTING Accuracy on 120 test shots73%Simple guess, always “made”: 51%
OUTPUT An 8 m shot, 1.8 m of space18%predicted chance of a make
WEIGHTS After training
ERROR Training error at each step
Training error over the training steps of the last run
This is the model the court above uses.
THE WHOLE MODEL · JAVASCRIPT
⌘ or Ctrl + Enter also runs

Drop in the chat: your test accuracy and which input mattered more.

TESTING After each run, ask:
1
Is it better than the simple guess?
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.
2
Which input mattered more?
Run once with both inputs and once without one. Which drop in accuracy is bigger?
3
Does a far shot make sense?
Check the 8 m shot after each run. Would a coach believe that chance?
4
Whose shots are in the data?
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.

A sample of the synthetic basketball shot data
ShotShot distance (input)Defender space (input)OutcomeUsed for

Key ideaChanging the inputs or the training data changes the trained weights, and only the test results show whether the change helped.

INSPECT A CLAIM

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.

A CLAIM TO QUESTION

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.

BACK TO OUR SESSION

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.

  1. 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.

  2. 02

    How do these models work?

    Data and inputs go in. Training adjusts the weights to reduce the error. The output is a prediction, which we check on test data the model never trained on.

  3. 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.

  4. 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.

  5. 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.

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.

ATHLETES HELP SET THE QUESTION

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.

Your tool in one sentence

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.

Pick an athlete on the left to fill the first blank.

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

  1. 0–4 minutes: one question (“Can a computer tell how hard a shot was?”), then walk through the outline and Key terms.
  2. 4–15: Explore 1. Everyone opens Challenges in the Performance lab and works on their own.
  3. 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.
  4. 24–35: Explore 2. Everyone chooses Movement or Injury risk and opens its Challenges. Early finishers try the other lab.
  5. 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.
  6. 39–42: back to our questions. Read each session question and its answer; ask the chat which one they see differently now.
  7. 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.

Invisible Sportswomen: the sex data gap in sport science ↗Cowley and colleagues, 2021. Of 5,261 studies (2014–2020), 6% included only female participants.
Theia3D: women's football exercise study ↗Asgari and colleagues, 2026. Movement outcomes; injury incidence not tracked.
Theia3D: technical documentation ↗Deep-learning keypoints and reconstruction of 3D movement.
Zone7: Real Salt Lake case study ↗Vendor-reported outcomes from use and non-use periods.
WNBA: Intro to Shot Difficulty ↗Official explanation of the real prediction task.
U.S. Ski & Snowboard: the experimental Google tool ↗Official account of video-based movement analysis.
Barcelona women's injury-risk study ↗Research combining survival analysis, ML, and decision rules.
University of Bonn: study overview ↗Accessible explanation and the study's context.
Invisible Sportswomen: the research representation gap ↗A 2021 review of six journals, covering 2014–2020.
Scikit-learn: learning, prediction, and evaluation ↗Further reading. Our portable starter uses standard Python.