True shooting % (TS%)
TS% measures scoring efficiency: points per shooting possession, counting threes and free throws properly. It reads like a field-goal percentage, so 50 is roughly average for a two-point-only shooter.
Formula
TSA = FGA + 0.44 × FTA TS% = PTS / (2 × TSA)
Why 0.44? Not every free throw ends a possession: and-ones add one free throw to a made basket, and three-shot fouls take three. Multiplying free-throw attempts by 0.44 estimates how many possessions they used. The value comes from NBA data and is the standard used across basketball analytics, including the women's game.
Worked example
20 points on 15 field-goal attempts and 4 free-throw attempts: TSA = 15 + 0.44 × 4 = 16.76. TS% = 20 / (2 × 16.76) = 59.7.
Inputs and source
- PTS, FGA, FTA: season totals summed from per-game box scores.
- Source: balldontlie (licensed; not official league data). Pulled Oct 30, 2026, refreshed daily.
- Code:
pipeline/metrics/formulas.py, tested against worked examples before every publish.
Small samples
- Under 100 true shooting attempts: marked Small sample.
- Under 40: marked Too early to tell.
- Leaderboards include only players with 100+ attempts.
Limits
- It doesn't account for shot difficulty, defense faced, or how a player's shots are created.
- It ignores turnovers, so a player who turns it over often can look more efficient than she is.
- The 0.44 factor is an average. Players who draw lots of and-ones are slightly underrated, and vice versa.
- The highest possible value is 150 (every shot a made three). Values above about 70 over a full season are rare and worth double-checking.
- A player who changes teams mid-season gets a separate line for each team. A combined line is planned.
Validation
Before anything publishes, every box-score line must pass these checks. If any check fails, the site keeps its last good version.
- Makes can't exceed attempts, and made threes can't exceed made field goals.
- Points must match the makes.
- Player points must add up to the final score.
- Team minutes must total 200, plus 25 per overtime.
- TS% must fall between 0 and 150.