Back to the boards · All fighter profiles

Bo Nickal

Middleweight · REAL v1.0 (registered) #14; v1.1 (shadow) #19

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 13-16: the 10th to 90th percentile of his position across weight vectors drawn near the 70/30 weights. Rating 1,636, deviation 148: measured from 7 UFC bouts; a one-bout newcomer sits near 290.

Age 30 (born 1996-01-14) · Height 6 ft 1 in (185 cm) · Reach 76 in (193 cm) · Stance Southpaw · 140 days since last bout (2026-06-14) · Last five 4-1 · Streak W2

Why he is ranked here

Rating 1,636 is the division's 15th highest of 79 board fighters; the ledger stands at -0.8 (+0.2 from quality wins, less 1.0 for other losses outside the top 5; losses count for three years); 1 quality win in 15 years, 0 over top-10 opponents; no form penalty (4-1 last five). Score +0.27 = +0.25 (rating term, 70% weight) +0.01 (ledger term, 30% weight) -0.00 (form penalty); score order put him at #14.

TermValueDetail
Score+0.2770% rating term + 30% ledger term - form penalty
Rating term+0.25resume rating 1,636, scaled against the division's interdecile range
Ledger term+0.01quality ledger -0.8: +0.2 QW +0.0 proof -0.0 blowout -1.0 weak
Form penalty0.00last five 4-1
Quality wins, 15 years10 over top-10 opponents, 0 over top-15
Placementscore order #14v1.0 (registered)
Shadow board v1.1#19score +0.19; score order #19

Rules, weights and worked examples: methodology.

All 7 UFC bouts

DateEventOpponentOpp. official rankResultMethodRoundModel p
2026-06-14UFC Freedom 250Kyle DaukausunrankedWKO/TKO1 (4:34)55%
2025-11-15UFC 322: Della Maddalena vs. MakhachevRodolfo VieiraunrankedWKO/TKO3 (2:24)54%
2025-05-03UFC Fight Night: Sandhagen vs. FigueiredoReinier de Ridder#13LKO/TKO2 (1:53)47%
2024-11-16UFC 309: Jones vs. MiocicPaul CraigunrankedWunanimous decision3 (5:00)63%
2024-04-13UFC 300: Pereira vs. HillCody BrundageunrankedWsubmission2 (3:38)62%
2023-07-08UFC 290: Volkanovski vs. RodriguezVal WoodburnunrankedWKO/TKO1 (0:38)54%
2023-03-04UFC 285: Jones vs. GaneJamie PickettunrankedWsubmission1 (2:54)68%

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 79 board fighters at Middleweight at or below this value; high is a position in the division, not a verdict.

Output
Significant strikes landed per minute3.35(39th percentile at Middleweight)
Significant strike accuracy62%(90th percentile at Middleweight)
Knockdowns scored per 15 minutes0.88(81st percentile at Middleweight)
Share of wins by finish83%(71st percentile at Middleweight)
Defence and damage
Significant strikes absorbed per minute2.00(10th percentile at Middleweight)
Significant strike defence60%(89th percentile at Middleweight)
Knockdowns suffered per 15 minutes0.29(53rd percentile at Middleweight)
Significant strikes absorbed, career102(28th percentile at Middleweight)
KO/TKO losses1 (last 2025-05-03, 547 days ago)(65th percentile at Middleweight)
Submission losses0(59th percentile at Middleweight)
KO/TKO losses per bout over 10 years, each weighted down by the finisher's danger0.096(71st percentile at Middleweight)
Grappling
Takedowns landed per 15 minutes2.35(80th percentile at Middleweight)
Takedown defence100%(100th percentile at Middleweight)
Share of cage time in control33%(78th percentile at Middleweight)
Share of significant strikes landed in the clinch or on the ground20%(56th percentile at Middleweight)
Stylemixed (4.7 takedown attempts per 15 min; 33% control)
Career stage
Age30.8(24th percentile at Middleweight)
Age at UFC debut27.1(36th percentile at Middleweight)
Years since UFC debut3.7(54th percentile at Middleweight)
UFC bouts7(51st percentile at Middleweight)
Cage time, minutes51(44th percentile at Middleweight)
Bouts per year, last three years1.7(44th percentile at Middleweight)
Days since last bout140(68th percentile at Middleweight)

Board position since Oct 2023

C10203020252026Oct 2023Oct 20262023-10-06: #20, Middleweight2023-10-13: #20, Middleweight2023-10-20: #19, Middleweight2023-11-03: #20, Middleweight2023-11-10: #20, Middleweight2023-11-17: #18, Middleweight2023-12-01: #18, Middleweight2023-12-08: #19, Middleweight2023-12-15: #20, Middleweight2024-01-12: #20, Middleweight2024-01-19: #19, Middleweight2024-02-02: #19, Middleweight2024-02-09: #20, Middleweight2024-02-16: #22, Middleweight2024-02-23: #21, Middleweight2024-03-01: #21, Middleweight2024-03-08: #21, Middleweight2024-03-15: #22, Middleweight2024-03-22: #21, Middleweight2024-03-29: #22, Middleweight2024-04-05: #23, Middleweight2024-04-12: #22, Middleweight2024-04-26: #15, Middleweight2024-05-03: #15, Middleweight2024-05-10: #15, Middleweight2024-05-17: #15, Middleweight2024-05-31: #15, Middleweight2024-06-07: #16, Middleweight2024-06-14: #16, Middleweight2024-06-21: #16, Middleweight2024-06-28: #16, Middleweight2024-07-12: #18, Middleweight2024-07-19: #18, Middleweight2024-07-26: #18, Middleweight2024-08-02: #18, Middleweight2024-08-09: #18, Middleweight2024-08-16: #17, Middleweight2024-08-23: #17, Middleweight2024-09-06: #16, Middleweight2024-09-13: #16, Middleweight2024-09-27: #15, Middleweight2024-10-04: #15, Middleweight2024-10-11: #15, Middleweight2024-10-18: #15, Middleweight2024-10-25: #16, Middleweight2024-11-01: #17, Middleweight2024-11-08: #17, Middleweight2024-11-15: #16, Middleweight2024-11-22: #11, Middleweight2024-12-06: #11, Middleweight2024-12-13: #11, Middleweight2025-01-10: #11, Middleweight2025-01-17: #11, Middleweight2025-01-31: #11, Middleweight2025-02-07: #10, Middleweight2025-02-14: #10, Middleweight2025-02-21: #11, Middleweight2025-02-28: #11, Middleweight2025-03-07: #10, Middleweight2025-03-14: #10, Middleweight2025-03-21: #10, Middleweight2025-03-28: #10, Middleweight2025-04-04: #10, Middleweight2025-04-11: #10, Middleweight2025-04-25: #10, Middleweight2025-05-02: #10, Middleweight2025-05-09: #28, Middleweight2025-05-16: #28, Middleweight2025-05-30: #29, Middleweight2025-06-06: #29, Middleweight2025-06-13: #29, Middleweight2025-06-20: #28, Middleweight2025-06-27: #27, Middleweight2025-07-11: #26, Middleweight2025-07-18: #26, Middleweight2025-07-25: #25, Middleweight2025-08-01: #25, Middleweight2025-08-08: #25, Middleweight2025-08-15: #26, Middleweight2025-08-22: #27, Middleweight2025-09-05: #26, Middleweight2025-09-12: #26, Middleweight2025-09-26: #26, Middleweight2025-10-03: #26, Middleweight2025-10-10: #25, Middleweight2025-10-17: #25, Middleweight2025-10-24: #24, Middleweight2025-10-31: #23, Middleweight2025-11-07: #23, Middleweight2025-11-14: #22, Middleweight2025-11-21: #19, Middleweight2025-12-05: #19, Middleweight2025-12-12: #19, Middleweight2026-01-23: #19, Middleweight2026-01-30: #19, Middleweight2026-02-06: #19, Middleweight2026-02-20: #19, Middleweight2026-02-27: #20, Middleweight2026-03-06: #20, Middleweight2026-03-13: #19, Middleweight2026-03-20: #19, Middleweight2026-03-27: #17, Middleweight2026-04-03: #18, Middleweight2026-04-10: #18, Middleweight2026-04-17: #17, Middleweight2026-04-24: #17, Middleweight2026-05-01: #17, Middleweight2026-05-08: #18, Middleweight2026-05-15: #19, Middleweight2026-05-29: #19, Middleweight2026-06-05: #19, Middleweight2026-06-13: #20, Middleweight2026-06-19: #13, Middleweight2026-06-26: #13, Middleweight2026-07-10: #14, Middleweight2026-07-17: #14, Middleweight2026-07-24: #14, Middleweight2026-07-31: #14, Middleweight2026-08-07: #14, Middleweight2026-08-14: #14, Middleweight2026-08-21: #14, Middleweight2026-08-28: #13, Middleweight2026-09-04: #13, Middleweight2026-09-11: #14, Middleweight2026-09-18: #15, Middleweight2026-09-25: #15, Middleweight2026-09-26: #15, Middleweight2026-10-03: #14, Middleweight2026-10-10: #14, Middleweight2026-10-17: #14, Middleweight2026-10-24: #14, Middleweight2026-10-31: #14, Middleweight#14

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,5001,5501,6001,6501,700202420252026Mar 2023Oct 20262023-03-04: 1,530 (W vs Jamie Pickett)2023-07-08: 1,619 (W vs Val Woodburn)2024-04-13: 1,654 (W vs Cody Brundage)2024-11-16: 1,649 (W vs Paul Craig)2025-05-03: 1,597 (L vs Reinier de Ridder)2025-11-15: 1,649 (W vs Rodolfo Vieira)2026-06-14: 1,699 (W vs Kyle Daukaus)1,699

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 (+23 points).

ComponentPointsMeaning
Age component+5what fighters aged 30.8 typically run relative to their rating (population curve, all UFC bouts since 2011)
Own recent results+18his recency-weighted mean and trend over 7 bouts, shrunk toward zero; trend -0 points a year
Combined+23the 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.0262728293031322023-03-04 (age 27.1): W vs Jamie Pickett, residual +0.322023-07-08 (age 27.5): W vs Val Woodburn, residual +0.422024-04-13 (age 28.2): W vs Cody Brundage, residual +0.382024-11-16 (age 28.8): W vs Paul Craig, residual +0.182025-05-03 (age 29.3): L vs Reinier de Ridder, residual -0.512025-11-15 (age 29.8): W vs Rodolfo Vieira, residual +0.532026-06-14 (age 30.4): W vs Kyle Daukaus, residual +0.35+0.03

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.