Methodology

Every FightingData metric is computed from round-by-round UFC fight data (UFC fights only; source: UFCStats.com). The formulas below are rendered directly from the code that computes them. When a fight fails a data-quality gate — e.g. control time recorded as "--" in the source, or an early-era fight with a non-standard round format — it is excluded from that metric rather than counted as zero, and the metric shows "—" when too little data survives. Career curves are compared against league percentile bands computed only over fighters whose careers reached each minute mark.

Metric Definitions

Metric & formulaTier
Avg Fight Time
sum(fight_duration_seconds) / fights
FREE
Control Rate of Clinch/Ground Time
sum(own control) / sum(own control + opponent control)
PLUS
Distance Strike Accuracy
sum(distance_landed) / sum(distance_attempted)
PLUS
Distance Strike Defense
1 - sum(opponent distance_landed) / sum(opponent distance_attempted)
PLUS
Distance Striking Differential / Min
dslpm - dsapm
PLUS
Distance Sig. Strikes Absorbed / Distance Min
sum(opponent distance_landed) / (sum(neutral seconds)/60)
PLUS
Distance Sig. Strikes Landed / Distance Min
sum(distance_landed) / (sum(neutral seconds)/60)
PLUS
Fade Index (R3 pace / R1 pace)
round-3 sig strikes per minute / round-1 sig strikes per minute; null under 3 fights reaching round 3
PLUS
Finish % of Wins
(KO/TKO + Submission wins) / wins
FREE
Finished % of Losses
(KO/TKO + Submission losses) / losses
FREE
% Fights Inside the Distance
fights with method not in (Decision, CNC, Overturned) / fights
FREE
KDs per 100 Power Strikes Landed
100 x sum(knockdowns) / sum(max(0, distance_landed + clinch_landed - leg_landed)); leg-kick exclusion is an approximation (targets vs positions)
PLUS
Knocked Down per 100 Power Strikes Absorbed
mirror of kd_rate from the opponent rows
PLUS
UFC Losses
count of UFC fights with result = L
FREE
% Time Controlled
sum(opponent control_time_seconds) / sum(duration)
PLUS
% Time at Distance (approx.)
sum(max(0, duration - own control - opponent control)) / sum(duration); "neither fighter in control" — includes non-controlling clinch
PLUS
% Time in Control
sum(own control_time_seconds) / sum(duration)
PLUS
Opponent UFC Win % (among wins)
same as sos_opp_win_pct restricted to fights this fighter won
PLUS
Opponent UFC Win % (among losses)
same as sos_opp_win_pct restricted to fights this fighter lost
PLUS
Opponent UFC Win % (all)
sum(opponent UFC wins before fight date) / sum(opponent UFC W+L before fight date), bout itself excluded
PLUS
Sub Attempts per 15 Control Min
15 x sum(submissions_attempted) / (sum(own control)/60)
PLUS
Sub Attempts Faced per 15 Controlled Min
15 x sum(opponent submissions_attempted) / (sum(opponent control)/60)
PLUS
TD Attempts per 5 Distance Min
5 x sum(takedowns_attempted) / (sum(neutral seconds)/60)
PLUS
TDs Faced per 5 Distance Min
5 x sum(opponent takedowns_attempted) / (sum(neutral seconds)/60)
PLUS
UFC Wins
count of UFC fights with result = W
FREE
Expected Rounds (xR)
sum(fight_duration_seconds/300) / fights with known scheduled_rounds; rendered only when >=90% of fights have scraped/decision-inferred scheduled rounds
PLUS
Fight Completion Rate (xR%)
sum(fight_duration_seconds) / sum(scheduled_rounds x 300)
PLUS
Data source: UFCStats.com · UFC Fights Only