Skip to content

v2.2.0 — Split opta into opta (UUID) + opta_numeric

Choose a tag to compare

@rahulkeerthi rahulkeerthi released this 05 Apr 16:29
· 70 commits to main since this release
af1f11f

API

Clarifies Reep's Opta ID conventions. Stats Perform operates multiple distinct ID systems within the same "Opta" brand. Previously both UUIDs and legacy numeric codes were stuffed under a single opta provider. Now cleanly split:

  • opta — UUID format only (Stats Perform F1 / The Analyst). 50K players, 34 historical PL teams, 33 competitions, 14 historical PL seasons.
  • opta_numeric — Legacy numeric codes from Wikidata P8735. 52 competitions. Still used by Opta Stats Centre and some feeds; not interchangeable with opta.

Two other numeric systems already existed as separate providers:

  • premier_league — premierleague.com player page IDs (4.9K)
  • fpl_code — FPL / theanalyst.com sc-{code} numbers (2.5K)

See CLAUDE.md for the full Opta ID system breakdown.

Data

  • 2,225 TheSportsDB team IDs (strict country+name matching, reserves/women/youth filtered)
  • 147 Understat competition/team/season IDs from Kaggle dataset (6 leagues, 100 teams, 41 seasons)
  • 98 FotMob competition IDs (FBref-bridged country-aware matching)
  • 41 Opta UUID mappings (31 historical PL teams + 10 historical PL seasons from the WQ drive)
  • 34 Opta competition UUIDs (from The Analyst power rankings)
  • 19 Transfermarkt competition IDs (from dcaribou/transfermarkt-datasets)
  • 466 FBref season IDs (derived from worldfootballR season URLs)

Wolves now resolves across 12 providers. Premier League across 7.

Migration notes

Consumers who were using opta to look up competition numeric codes (8, 23, 12 etc.) should switch to opta_numeric. The opta provider is now strictly UUID format.

No breaking changes for the 50K+ opta player IDs — those were already UUIDs.