Back to the boards · All fighter profiles

Sean O'Malley

Bantamweight · REAL v1.0 (registered) #1; v1.1 (shadow) #1

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

Age 32 (born 1994-10-24) · Height 5 ft 11 in (180 cm) · Reach 72 in (183 cm) · Stance Switch · 140 days since last bout (2026-06-14) · Last five 3-2 · Streak W2

Why he is ranked here

Rating 1,729 is the division's 5th highest of 86 board fighters; the ledger stands at +6.1 (+6.1 from quality wins; losses count for three years); 5 quality wins in 15 years, 5 over top-10 opponents, which makes him entrenched; no form penalty (3-2 last five). Score +1.03 = +0.58 (rating term, 70% weight) +0.45 (ledger term, 30% weight) -0.00 (form penalty); score order put him at #3; the head-to-head rule (the winner of the most recent meeting within three years moves directly above the loser when ranked at most three places behind, six within a year) placed him #2; the title-cycle rule (a losing title challenger is held at #4 or lower for 270 days, and the fighters behind move up) placed him #1.

TermValueDetail
Score+1.0370% rating term + 30% ledger term - form penalty
Rating term+0.58resume rating 1,729, scaled against the division's interdecile range
Ledger term+0.45quality ledger +6.1: +6.1 QW +0.0 proof -0.0 blowout -0.0 weak
Form penalty0.00last five 3-2
Quality wins, 15 years55 over top-10 opponents, 5 over top-15; entrenched
Placementscore order #3; head-to-head -> #2; title cycle -> #1v1.0 (registered)
Shadow board v1.1#1score +0.96; score order #3; placement rules -> #1

Rules, weights and worked examples: methodology.

Last ten bouts

DateEventOpponentOpp. official rankResultMethodRoundModel p
2026-06-14UFC Freedom 250Aiemann Zahabi#6WKO/TKO2 (4:02)65%
2026-01-24UFC 324: Gaethje vs. PimblettSong Yadong#5Wunanimous decision3 (5:00)58%
2025-06-07UFC 316: Dvalishvili vs. O'Malley 2 (title)Merab DvalishviliCLsubmission3 (4:42)38%
2024-09-14UFC 306: Riyadh Season Noche UFC (title)Merab Dvalishvili#1Lunanimous decision5 (5:00)48%
2024-03-09UFC 299: O'Malley vs. Vera 2 (title)Marlon Vera#5Wunanimous decision5 (5:00)68%
2023-08-19UFC 292: Sterling vs. O'Malley (title)Aljamain SterlingCWKO/TKO2 (0:51)34%
2022-10-22UFC 280: Oliveira vs. MakhachevPetr Yan#1Wsplit decision3 (5:00)41%
2022-07-02UFC 276: Adesanya vs. CannonierPedro Munhoz#9NCno contest2 (3:09)67%
2021-12-11UFC 269: Oliveira vs. PoirierRaulian PaivaunrankedWKO/TKO1 (4:42)76%
2021-07-10UFC 264: Poirier vs. McGregor 3Kris MoutinhounrankedWKO/TKO3 (4:33)75%

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

Output
Significant strikes landed per minute5.97(93rd percentile at Bantamweight)
Significant strike accuracy60%(97th percentile at Bantamweight)
Knockdowns scored per 15 minutes0.55(76th percentile at Bantamweight)
Share of wins by finish58%(64th percentile at Bantamweight)
Defence and damage
Significant strikes absorbed per minute3.34(37th percentile at Bantamweight)
Significant strike defence60%(78th percentile at Bantamweight)
Knockdowns suffered per 15 minutes0.00(45th percentile at Bantamweight)
Significant strikes absorbed, career633(80th percentile at Bantamweight)
KO/TKO losses1 (last 2020-08-15, 2,269 days ago)(85th percentile at Bantamweight)
Submission losses1(90th percentile at Bantamweight)
KO/TKO losses per bout over 10 years, each weighted down by the finisher's danger0.030(67th percentile at Bantamweight)
Grappling
Takedowns landed per 15 minutes0.24(22nd percentile at Bantamweight)
Takedown defence60%(35th percentile at Bantamweight)
Share of cage time in control1%(6th percentile at Bantamweight)
Share of significant strikes landed in the clinch or on the ground5%(7th percentile at Bantamweight)
Stylestriker (0.6 takedown attempts per 15 min; 1% control)
Career stage
Age32.0(49th percentile at Bantamweight)
Age at UFC debut23.1(10th percentile at Bantamweight)
Years since UFC debut8.9(90th percentile at Bantamweight)
UFC bouts16(87th percentile at Bantamweight)
Cage time, minutes189(84th percentile at Bantamweight)
Bouts per year, last three years1.7(67th percentile at Bantamweight)
Days since last bout140(58th percentile at Bantamweight)

Board position since Oct 2023

C24681020252026Oct 2023Oct 20262023-10-06: title holder, Bantamweight2023-10-13: title holder, Bantamweight2023-10-20: title holder, Bantamweight2023-11-03: title holder, Bantamweight2023-11-10: title holder, Bantamweight2023-11-17: title holder, Bantamweight2023-12-01: title holder, Bantamweight2023-12-08: title holder, Bantamweight2023-12-15: title holder, Bantamweight2024-01-12: title holder, Bantamweight2024-01-19: title holder, Bantamweight2024-02-02: title holder, Bantamweight2024-02-09: title holder, Bantamweight2024-02-16: title holder, Bantamweight2024-02-23: title holder, Bantamweight2024-03-01: title holder, Bantamweight2024-03-08: title holder, Bantamweight2024-03-15: title holder, Bantamweight2024-03-22: title holder, Bantamweight2024-03-29: title holder, Bantamweight2024-04-05: title holder, Bantamweight2024-04-12: title holder, Bantamweight2024-04-26: title holder, Bantamweight2024-05-03: title holder, Bantamweight2024-05-10: title holder, Bantamweight2024-05-17: title holder, Bantamweight2024-05-31: title holder, Bantamweight2024-06-07: title holder, Bantamweight2024-06-14: title holder, Bantamweight2024-06-21: title holder, Bantamweight2024-06-28: title holder, Bantamweight2024-07-12: title holder, Bantamweight2024-07-19: title holder, Bantamweight2024-07-26: title holder, Bantamweight2024-08-02: title holder, Bantamweight2024-08-09: title holder, Bantamweight2024-08-16: title holder, Bantamweight2024-08-23: title holder, Bantamweight2024-09-06: title holder, Bantamweight2024-09-13: title holder, Bantamweight2024-09-27: #2, Bantamweight2024-10-04: #2, Bantamweight2024-10-11: #2, Bantamweight2024-10-18: #2, Bantamweight2024-10-25: #2, Bantamweight2024-11-01: #2, Bantamweight2024-11-08: #2, Bantamweight2024-11-15: #2, Bantamweight2024-11-22: #2, Bantamweight2024-12-06: #6, Bantamweight2024-12-13: #5, Bantamweight2025-01-10: #5, Bantamweight2025-01-17: #5, Bantamweight2025-01-31: #2, Bantamweight2025-02-07: #2, Bantamweight2025-02-14: #2, Bantamweight2025-02-21: #2, Bantamweight2025-02-28: #2, Bantamweight2025-03-07: #2, Bantamweight2025-03-14: #2, Bantamweight2025-03-21: #2, Bantamweight2025-03-28: #2, Bantamweight2025-04-04: #2, Bantamweight2025-04-11: #2, Bantamweight2025-04-25: #2, Bantamweight2025-05-02: #2, Bantamweight2025-05-09: #1, Bantamweight2025-05-16: #1, Bantamweight2025-05-30: #1, Bantamweight2025-06-06: #1, Bantamweight2025-06-13: #6, Bantamweight2025-06-20: #6, Bantamweight2025-06-27: #6, Bantamweight2025-07-11: #6, Bantamweight2025-07-18: #6, Bantamweight2025-07-25: #6, Bantamweight2025-08-01: #6, Bantamweight2025-08-08: #4, Bantamweight2025-08-15: #4, Bantamweight2025-08-22: #4, Bantamweight2025-09-05: #4, Bantamweight2025-09-12: #4, Bantamweight2025-09-26: #4, Bantamweight2025-10-03: #4, Bantamweight2025-10-10: #6, Bantamweight2025-10-17: #6, Bantamweight2025-10-24: #6, Bantamweight2025-10-31: #6, Bantamweight2025-11-07: #6, Bantamweight2025-11-14: #6, Bantamweight2025-11-21: #6, Bantamweight2025-12-05: #6, Bantamweight2025-12-12: #6, Bantamweight2026-01-23: #6, Bantamweight2026-01-30: #3, Bantamweight2026-02-06: #3, Bantamweight2026-02-20: #3, Bantamweight2026-02-27: #3, Bantamweight2026-03-06: #3, Bantamweight2026-03-13: #3, Bantamweight2026-03-20: #3, Bantamweight2026-03-27: #2, Bantamweight2026-04-03: #2, Bantamweight2026-04-10: #2, Bantamweight2026-04-17: #2, Bantamweight2026-04-24: #2, Bantamweight2026-05-01: #2, Bantamweight2026-05-08: #2, Bantamweight2026-05-15: #2, Bantamweight2026-05-29: #3, Bantamweight2026-06-05: #2, Bantamweight2026-06-13: #2, Bantamweight2026-06-19: #2, Bantamweight2026-06-26: #2, Bantamweight2026-07-10: #2, Bantamweight2026-07-17: #2, Bantamweight2026-07-24: #2, Bantamweight2026-07-31: #2, Bantamweight2026-08-07: #2, Bantamweight2026-08-14: #2, Bantamweight2026-08-21: #2, Bantamweight2026-08-28: #2, Bantamweight2026-09-04: #2, Bantamweight2026-09-11: #2, Bantamweight2026-09-18: #2, Bantamweight2026-09-25: #2, Bantamweight2026-09-26: #2, Bantamweight2026-10-03: #2, Bantamweight2026-10-10: #2, Bantamweight2026-10-17: #2, Bantamweight2026-10-24: #1, Bantamweight2026-10-31: #1, Bantamweight#1

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,6001,7001,8001,900202020222024Dec 2017Oct 20262017-12-01: 1,555 (W vs Terrion Ware)2018-03-03: 1,598 (W vs Andre Soukhamthath)2020-03-07: 1,677 (W vs Jose Quinonez)2020-06-06: 1,744 (W vs Eddie Wineland)2020-08-15: 1,660 (L vs Marlon Vera)2021-03-27: 1,691 (W vs Thomas Almeida)2021-07-10: 1,723 (W vs Kris Moutinho)2021-12-11: 1,750 (W vs Raulian Paiva)2022-10-22: 1,771 (W vs Petr Yan)2023-08-19: 1,827 (W vs Aljamain Sterling)2024-03-09: 1,862 (W vs Marlon Vera)2024-09-14: 1,828 (L vs Merab Dvalishvili)2025-06-07: 1,803 (L vs Merab Dvalishvili)2026-01-24: 1,803 (W vs Song Yadong)2026-06-14: 1,812 (W vs Aiemann Zahabi)1,812

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

ComponentPointsMeaning
Age component-10what fighters aged 32.0 typically run relative to their rating (population curve, all UFC bouts since 2011)
Own recent results+8his recency-weighted mean and trend over 15 bouts, shrunk toward zero; trend -3 points a year
Combined-2the 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.02223242526272829303132332017-12-01 (age 23.1): W vs Terrion Ware, residual +0.162018-03-03 (age 23.4): W vs Andre Soukhamthath, residual +0.242020-03-07 (age 25.4): W vs Jose Quinonez, residual +0.512020-06-06 (age 25.6): W vs Eddie Wineland, residual +0.552020-08-15 (age 25.8): L vs Marlon Vera, residual -0.492021-03-27 (age 26.4): W vs Thomas Almeida, residual +0.462021-07-10 (age 26.7): W vs Kris Moutinho, residual +0.342021-12-11 (age 27.1): W vs Raulian Paiva, residual +0.402022-10-22 (age 28.0): W vs Petr Yan, residual +0.202023-08-19 (age 28.8): W vs Aljamain Sterling, residual +0.712024-03-09 (age 29.4): W vs Marlon Vera, residual +0.492024-09-14 (age 29.9): L vs Merab Dvalishvili, residual -0.282025-06-07 (age 30.6): L vs Merab Dvalishvili, residual -0.432026-01-24 (age 31.3): W vs Song Yadong, residual +0.062026-06-14 (age 31.6): W vs Aiemann Zahabi, residual +0.30-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.