Build Story · MMA stats experiment · EN

OctagonStats: an MMA data experiment

An independent archive of three decades of MMA results, with a win-probability model that logs its picks. Formerly UFC Stats Archive.

fightstats.d9.army
OctagonStats: an MMA data experiment
1,048
commits on 14 working days, May to October 2026
20,000+
bouts and 7,000+ fighters across UFC, Bellator, ONE, PFL, KSW and Rizin
30+
analytics pages, from win probability to judge scoring

In one look

The problem

MMA results are spread across many sites, one promotion at a time. And a prediction means little if nobody checks it against what happened.

What we built

OctagonStats puts three decades of results from UFC, Bellator, ONE, PFL, KSW and Rizin in one archive: fighters, events, rankings, champions, bonuses and scorecards. A win-probability model sits on top. The site says it logs every pick and grades it against the closing betting line, with no tipster fees and no sportsbook affiliate. Its data comes from public sources the site names.

Where it is now

An experiment, live and free to browse. The home page says the live model record appears once at least 20 picks are graded, and until then it shows a paper-trade backtest. The site calls the model decision support, not betting advice, and says it is often wrong. Restyled in September and given a security pass in October, which is the last commit. An independent project, not affiliated with or endorsed by the UFC.

What this would have cost in 2024

About $15k and 5–7 weeks

2024 team: 3 people: data engineer, full-stack developer, designer. Built here by one founder working with AI in 1 week.

$5.5k lowlikely $15k$32k high
Piece2024 hours
Data collection: scrapers, backfills and scheduled jobs for several sources~93
Archive app: fighter, event and promotion pages, rankings, champions, bonuses, scorecards, search, accounts and favourites~137
30+ analytics pages and the Elo win-probability model with graded picks~105
Weekly email digest, data-integrity tools, share images and the arena restyle~53
Total (PERT)~388

Method: PERT (O+4M+P)/6 per piece; low = O × $25, likely = PERT × $37.5, high = P × $50 (Accelerance 2024 Eastern-Europe band). These are estimates of what a team would have needed in 2024, not invoices.

How it was built

From first commit to current build in 1 week

  1. First day: the archive

    Fighter pages, rankings, champions, bonuses, weigh-ins, search, and accounts with favourites, built on a public UFC results dataset plus scraping jobs for more sources.

    131 commits in one day · 2,424 bonus entries
  2. Beyond the UFC

    Fights from other promotions were scraped into the same archive, and every fight row was linked to a fighter, so one fighter page can show a career across promotions.

    5 of 7 outside promotions scraped in a day
  3. The model and the analytics

    A win-probability page, an upset detector, closing-line tracking and a weekly email digest, with the analytics section growing page by page.

    352 commits in one day
  4. Picks built to be graded against the closing line

    Model picks with probabilities, a Methodology page that writes the Elo equations out, a Manifesto page, a live-card page and a data-integrity dashboard. All promotions were re-scraped.

    350 commits in one day · 1,020 in seven days

Who did what

The founder decided

  • No tipster subscription and no sportsbook affiliate: the site states both.
  • Every pick is graded against the closing line, and the live record waits for 20 graded picks.
  • A plain Elo rating, with its equations written out on the Methodology page.

AI built and checked

  • The app, built in Lovable from Ilian's prompts: 1,046 of the repo's 1,049 commits are the Lovable agent's.
  • The scraping jobs, set up with Firecrawl, and the Elo model were built the same way.

Stack

TanStack StartReactSupabaseRechartsWeb scrapingFirecrawlElo modelLovable

Want something like this for your team?

From one call to something live. The same method is in the Claude Operator Pack.

From the founder

Ilian Raykov

You might also like