Back to the boards · All fighter profiles

Rhys McKee

Welterweight · REAL v1.0 (registered) #74; v1.1 (shadow) #75

Descriptive profile. The resume rank is what has been earned; these statistics are context, not a prediction. A test on Oct 20, 2026 found that career statistics add nothing reliable to age, layoff and experience as predictors of the next result (experiments/REGISTER.md, EXP-2026-10-20-14).

Weight band 74-75: the 10th to 90th percentile of his position across weight vectors drawn near the 70/30 weights. Rating 1,403, deviation 175: measured from 6 UFC bouts; a one-bout newcomer sits near 290.

Age 31 (born 1995-09-10) · Height 6 ft 2 in (188 cm) · Reach 78 in (198 cm) · Stance Orthodox · 421 days since last bout (2025-09-06) · Last five 1-4 · Streak L1

Why he is ranked here

Rating 1,403 is the division's 75th highest of 76 board fighters after an inactivity penalty of 16 points for 421 days without a bout; the ledger stands at -2.0 (less 1.0 for blowout losses, less 1.0 for other losses outside the top 5; losses count for three years); 0 quality wins in 15 years, 0 over top-10 opponents; form penalty 0.60 for a 1-4 last five. Score -1.09 = -0.44 (rating term, 70% weight) -0.05 (ledger term, 30% weight) -0.60 (form penalty); score order put him at #74.

TermValueDetail
Score-1.0970% rating term + 30% ledger term - form penalty
Rating term-0.44resume rating 1,403 (raw 1,419 less inactivity penalty 16), scaled against the division's interdecile range
Ledger term-0.05quality ledger -2.0: +0.0 QW +0.0 proof -1.0 blowout -1.0 weak
Form penalty0.60last five 1-4
Quality wins, 15 years00 over top-10 opponents, 0 over top-15
Placementscore order #74v1.0 (registered)
Shadow board v1.1#75score -1.09; score order #75

Rules, weights and worked examples: methodology.

All 6 UFC bouts

DateEventOpponentOpp. official rankResultMethodRoundModel p
2025-09-06UFC Fight Night: Imavov vs. BorralhoAxel SolaunrankedLKO/TKO3 (2:02)48%
2025-04-05UFC Fight Night: Emmett vs. MurphyDaniel FrunzaunrankedWKO/TKO1 (5:00)34%
2024-03-30UFC Fight Night: Blanchfield vs. FiorotChidi NjokuaniunrankedLsplit decision3 (5:00)39%
2023-09-02UFC Fight Night: Gane vs. SpivacAnge LoosaunrankedLunanimous decision3 (5:00)37%
2020-11-14UFC Fight Night: Felder vs. Dos AnjosAlex MoronounrankedLunanimous decision3 (5:00)31%
2020-07-25UFC Fight Night: Whittaker vs. TillKhamzat ChimaevunrankedLKO/TKO1 (3:09)37%

Opp. official rank = the UFC media-panel rank of the opponent on the date (C champion, #1 to #15, unranked; n/a before Feb 2013 or where no official board existed). Model p = the predictive model's pre-fight win chance for him (frozen performance-adjusted Elo; bouts before 2020 were in its tuning sample). Linked opponents have a profile.

Career statistics

Through 2026-10-31, UFC bouts only. Percentile = share of the 76 board fighters at Welterweight at or below this value; high is a position in the division, not a verdict.

Output
Significant strikes landed per minute4.71(66th percentile at Welterweight)
Significant strike accuracy41%(12th percentile at Welterweight)
Knockdowns scored per 15 minutes0.69(78th percentile at Welterweight)
Share of wins by finish100%(100th percentile at Welterweight)
Defence and damage
Significant strikes absorbed per minute7.15(95th percentile at Welterweight)
Significant strike defence47%(17th percentile at Welterweight)
Knockdowns suffered per 15 minutes0.23(62nd percentile at Welterweight)
Significant strikes absorbed, career466(71st percentile at Welterweight)
KO/TKO losses2 (last 2025-09-06, 421 days ago)(87th percentile at Welterweight)
Submission losses0(66th percentile at Welterweight)
KO/TKO losses per bout over 10 years, each weighted down by the finisher's danger0.169(86th percentile at Welterweight)
Grappling
Takedowns landed per 15 minutes0.00(24th percentile at Welterweight)
Takedown defence48%(14th percentile at Welterweight)
Share of cage time in control12%(41st percentile at Welterweight)
Share of significant strikes landed in the clinch or on the ground10%(23rd percentile at Welterweight)
Stylestriker (2.3 takedown attempts per 15 min; 12% control)
Career stage
Age31.1(36th percentile at Welterweight)
Age at UFC debut24.9(15th percentile at Welterweight)
Years since UFC debut6.3(71st percentile at Welterweight)
UFC bouts6(49th percentile at Welterweight)
Cage time, minutes65(51st percentile at Welterweight)
Bouts per year, last three years1.0(29th percentile at Welterweight)
Days since last bout421(92nd percentile at Welterweight)

Board position since Oct 2023

C2040608010020252026Oct 2023Oct 20262023-10-06: #80, Welterweight2023-10-13: #80, Welterweight2023-10-20: #78, Welterweight2023-11-03: #77, Welterweight2023-11-10: #77, Welterweight2023-11-17: #70, Welterweight2023-12-01: #73, Welterweight2023-12-08: #72, Welterweight2023-12-15: #70, Welterweight2024-01-12: #69, Welterweight2024-01-19: #67, Welterweight2024-02-02: #68, Welterweight2024-02-09: #68, Welterweight2024-02-16: #68, Welterweight2024-02-23: #70, Welterweight2024-03-01: #70, Welterweight2024-03-08: #68, Welterweight2024-03-15: #68, Welterweight2024-03-22: #69, Welterweight2024-03-29: #68, Welterweight2024-04-05: #75, Welterweight2024-04-12: #75, Welterweight2024-04-26: #74, Welterweight2024-05-03: #73, Welterweight2024-05-10: #72, Welterweight2024-05-17: #72, Welterweight2024-05-31: #73, Welterweight2024-06-07: #72, Welterweight2024-06-14: #72, Welterweight2024-06-21: #72, Welterweight2024-06-28: #72, Welterweight2024-07-12: #71, Welterweight2024-07-19: #70, Welterweight2024-07-26: #70, Welterweight2024-08-02: #71, Welterweight2024-08-09: #71, Welterweight2024-08-16: #72, Welterweight2024-08-23: #72, Welterweight2024-09-06: #72, Welterweight2024-09-13: #71, Welterweight2024-09-27: #71, Welterweight2024-10-04: #70, Welterweight2024-10-11: #69, Welterweight2024-10-18: #69, Welterweight2024-10-25: #69, Welterweight2024-11-01: #69, Welterweight2024-11-08: #67, Welterweight2024-11-15: #68, Welterweight2024-11-22: #68, Welterweight2024-12-06: #66, Welterweight2024-12-13: #66, Welterweight2025-01-10: #64, Welterweight2025-01-17: #66, Welterweight2025-01-31: #66, Welterweight2025-02-07: #66, Welterweight2025-02-14: #68, Welterweight2025-02-21: #68, Welterweight2025-02-28: #67, Welterweight2025-03-07: #67, Welterweight2025-03-14: #66, Welterweight2025-03-21: #65, Welterweight2025-03-28: #67, Welterweight2025-04-04: #67, Welterweight2025-04-11: #76, Welterweight2025-04-25: #74, Welterweight2025-05-02: #74, Welterweight2025-05-09: #75, Welterweight2025-05-16: #75, Welterweight2025-05-30: #75, Welterweight2025-06-06: #75, Welterweight2025-06-13: #76, Welterweight2025-06-20: #78, Welterweight2025-06-27: #79, Welterweight2025-07-11: #78, Welterweight2025-07-18: #77, Welterweight2025-07-25: #78, Welterweight2025-08-01: #77, Welterweight2025-08-08: #76, Welterweight2025-08-15: #76, Welterweight2025-08-22: #75, Welterweight2025-09-05: #76, Welterweight2025-09-12: #77, Welterweight2025-09-26: #79, Welterweight2025-10-03: #78, Welterweight2025-10-10: #79, Welterweight2025-10-17: #79, Welterweight2025-10-24: #79, Welterweight2025-10-31: #79, Welterweight2025-11-07: #80, Welterweight2025-11-14: #80, Welterweight2025-11-21: #81, Welterweight2025-12-05: #82, Welterweight2025-12-12: #81, Welterweight2026-01-23: #81, Welterweight2026-01-30: #82, Welterweight2026-02-06: #82, Welterweight2026-02-20: #81, Welterweight2026-02-27: #83, Welterweight2026-03-06: #83, Welterweight2026-03-13: #83, Welterweight2026-03-20: #84, Welterweight2026-03-27: #85, Welterweight2026-04-03: #84, Welterweight2026-04-10: #83, Welterweight2026-04-17: #83, Welterweight2026-04-24: #82, Welterweight2026-05-01: #82, Welterweight2026-05-08: #80, Welterweight2026-05-15: #79, Welterweight2026-05-29: #78, Welterweight2026-06-05: #78, Welterweight2026-06-13: #77, Welterweight2026-06-19: #77, Welterweight2026-06-26: #79, Welterweight2026-07-10: #83, Welterweight2026-07-17: #84, Welterweight2026-07-24: #84, Welterweight2026-07-31: #84, Welterweight2026-08-07: #84, Welterweight2026-08-14: #84, Welterweight2026-08-21: #83, Welterweight2026-08-28: #83, Welterweight2026-09-04: #84, Welterweight2026-09-11: #83, Welterweight2026-09-18: #82, Welterweight2026-09-25: #82, Welterweight2026-09-26: #81, Welterweight2026-10-03: #83, Welterweight2026-10-10: #83, Welterweight2026-10-17: #83, Welterweight2026-10-24: #82, Welterweight2026-10-31: #74, Welterweight#74

Position on the registered v1.0 board at each weekly snapshot (C = title holder or reserved, drawn at the top; lower is better).

Predictive rating by bout

1,3501,4001,4501,5002022202320242025Jul 2020Oct 20262020-07-25: 1,428 (L vs Khamzat Chimaev)2020-11-14: 1,388 (L vs Alex Morono)2023-09-02: 1,403 (L vs Ange Loosa)2024-03-30: 1,382 (L vs Chidi Njokuani)2025-04-05: 1,483 (W vs Daniel Frunza)2025-09-06: 1,454 (L vs Axel Sola)1,454

Rating after each UFC bout from the frozen predictive model (performance-adjusted Elo, data/processed/elo_history.csv; a debut starts at 1,500). The resume rating's history is not stored, so this is the predictive line, which is a different number from the resume rating in the header.

Trajectory

Recent performances are in line with the rating (+1 points).

ComponentPointsMeaning
Age component+1what fighters aged 31.1 typically run relative to their rating (population curve, all UFC bouts since 2011)
Own recent results+0his recency-weighted mean and trend over 6 bouts, shrunk toward zero; trend +3 points a year
Combined+1the rating's likely distance from his current performance level, in rating points
Readingin line with ratingahead of, in line with (within 30 points), or behind the rating

Performance relative to the rating, by age

-1.0-0.5+0.0+0.5+1.02425262728293031322020-07-25 (age 24.9): L vs Khamzat Chimaev, residual -0.412020-11-14 (age 25.2): L vs Alex Morono, residual -0.232023-09-02 (age 28.0): L vs Ange Loosa, residual -0.152024-03-30 (age 28.6): L vs Chidi Njokuani, residual -0.152025-04-05 (age 29.6): W vs Daniel Frunza, residual +0.612025-09-06 (age 30.0): L vs Axel Sola, residual -0.39+0.00

Each dot is one decided UFC bout at his age then: the performance score minus the rating's expectation, on the score's own scale from -1 to +1 (filled = win, hollow = loss; above zero is better than the rating implied; a finish as a slight favourite is about +0.45). The dashed line is the population curve for all fighters; the solid line is this fighter's own fitted level and trend as of the data date, weighted toward recent bouts. One unit sustained over many bouts corresponds to about 695 rating points; a single bout's residual is noisy.

Held-out evidence (walk-forward 2016 to 2026, EXP-2026-10-21-01): the age curve held in every test year; the individual component is a weak signal (correlation 0.06 with the next bout's residual; among fighters aged 33 or over, the lowest predicted quartile won 38% of next bouts against 53% expected, the highest 48% against 52%) and adds nothing to bout prediction beyond the shadow model. No board uses any of it: the rankings answer who has earned the place, not who wins next (EXP-2026-10-20-09). Method: src/mmalab/decline.py; settings: config/decline.yaml (expectation from the resume rating; one unit of residual is about 695 rating points).

Context flags

Descriptive only. Each line is a population fact about fighters like him, not a forecast for him; the register entries hold the measurements.

REAL v1.0 (registered method) · build c166ee8 · data through 2026-10-31 · page built 2026-11-06 · changelog. Independent fan research project built on public UFCStats data. Not affiliated with, sponsored or endorsed by UFC, Zuffa, LLC, TKO Group Holdings, or any athlete. All trademarks belong to their owners and are used only to identify athletes and events.