Reep Register

Under the hood

Deciding who's who.

Every football data provider speaks its own IDs, its own spellings, its own idea of who a player is. Deciding when two records describe the same real person or club is a discipline in its own right, known as entity resolution, with more than fifty years of research behind it. This page is a short tour: what the field offers, what Reep builds on, and what Reep adds.

The field

The entity-resolution toolbox.

Seven families of technique, from 1969 to the LLM era. Each is genuinely useful; none is sufficient alone. The craft is in the assembly.

Deterministic rules

If two records share a verified identifier, they are the same thing. Exact, fast, and auditable.

Only works where a shared key already exists. That is precisely what football data lacks between providers.

Probabilistic linkage

The Fellegi–Sunter model (1969) weighs every field, including name, date of birth and place, by how often true matches agree on it versus how often coincidences do. It sums the evidence into a decision: match, review or reject.

Powers national statistics offices worldwide (the modern tool is Splink). But a match score is only as trustworthy as the data it was calibrated on.

Blocking

Comparing everyone with everyone is trillions of pairs. Blocking narrows the field using signals such as the same birth date or a shared name token, so only plausible candidates are ever compared.

Block too aggressively and true matches are lost before anyone scores them. Recall here has to be protected, not assumed.

Graph and relational resolution

Use who appears alongside whom, including teammates, fixtures and seasons, rather than names and dates alone. Two ambiguous records that share resolved neighbours are probably the same person.

The classic failure: one wrong link chains whole groups together into a single merged mess. Naive graph closure is the most-documented catastrophe in the field.

Machine-learned matching

Embedding models and trained classifiers learn what similarity looks like and find candidates that rules would miss across languages and scripts.

Excellent candidate finders, risky deciders: an embedding thinks Real Madrid and Real Madrid Castilla look very alike.

LLM adjudication

A language model reads the evidence for a hard pair the way an analyst would. For example, it can assess "Jorginho" and "Jorge Luiz Frello Filho" with the same birth date and give a verdict.

Generalises remarkably well, but its self-reported confidence is unreliable. Trustworthy confidence has to come from process, not from asking the model how sure it feels.

Human review

The gold standard. An expert with the evidence in front of them settles what no algorithm safely can.

Does not scale on its own. The craft is spending human attention only where it genuinely changes the outcome.

The assembly

What Reep takes from the field.

Reep is built on the strongest ideas above, assembled the way the research says they should be, including the parts most pipelines skip.

Three-way decisions

Fellegi–Sunter's core insight, kept: every candidate pair ends as match, reject or a review queue for a human. It is never a silent coin flip in the ambiguous middle.

Clustering done properly

Reep uses correlation clustering with contradiction checks instead of naive graph closure, which the research literature identifies as a major cause of catastrophic merges, deliberately engineered out.

Source independence, formalised

Truth-discovery research on copied and correlated sources is applied as doctrine: agreement only counts when the agreeing sources are genuinely independent.

Models where they belong

LLMs adjudicate only the residual that survives every deterministic check, give binary verdicts and earn confidence through consensus, exactly the posture the research recommends.

The difference

Where Reep goes further.

Eight decisions that separate a register you can audit from a pipeline you have to trust.

Rules are data, not code

Every matching rule Reep uses is a readable record: what it does, why it exists, and the real decided cases that justify it. The engine is fixed; the rulebook composes itself for each competition. Running a new league is configuration, not a rewrite.

Count opinions, not logos

Many providers resell the same upstream feed. Reep groups providers into independence buckets, so sources that share an upstream count as one opinion, however many logos repeat it. Corroboration means genuinely independent agreement.

No identity without corroboration

An entity enters the register when at least two independent sources agree it exists. Single-source records wait, clearly labelled, until a second opinion arrives. The register does not guess. The only exceptions are a small set of explicitly authorised single-source domains (national teams, managers), and those are labelled as such.

Vetoes are code, never prompts

Conflicting birth dates, mismatched gender or a player record paired with a referee record are deterministic contradictions. They kill a match in code before any model is consulted. No model is ever asked to overrule arithmetic.

Commit late, cluster carefully

Evidence accumulates as soft links first. Clustering happens once, deliberately, with every contradiction re-checked against every member. This discipline prevents one bad link from chain-merging hundreds of people.

Every failure becomes a permanent test

When a pathology such as a cross-gender merge or reused provider ID is found, it becomes a named canary that runs on every subsequent build. A mistake made once cannot quietly return.

Identity is never deleted

Merges become redirects; superseded facts keep their history with full provenance. The same practice that makes long-lived identity registries like MusicBrainz and ORCID trustworthy.

Measured, not asserted

Every release samples its own precision with proper statistical bounds, and a release gate with hard red lines blocks publishing when quality slips. Accuracy is a measurement here, not a marketing adjective.

Born football

Built for football. Built to travel.

Football is a hard domain: no shared keys, gendered provider splits, transliterated names, homonyms, defunct clubs, reused IDs. Solving it properly produced machinery that generalises to any sport.

Problem

A provider carries no birth dates at all.

Reep's approach

Resolve people structurally through the same match, side and shirt number across many matches. Identity comes from co-occurrence, with no biography needed.

Beyond football

Any sport with line-ups and squad numbers: rugby, cricket, basketball, hockey.

Problem

Two providers spell a club three different ways.

Reep's approach

Ignore the names; compare the squads. Two club records sharing most of a roster are one club.

Beyond football

Roster overlap works in every team sport. The same idea matches companies by shared personnel.

Problem

Two players share a name and sometimes a birth date.

Reep's approach

Same name at the same club in the same season is one person; the same name a decade apart at different clubs is treated as two until proven otherwise.

Beyond football

Organisational membership over time disambiguates homonyms in any domain.

Problem

A league, a cup, and a split-season play by different rules.

Reep's approach

Competition profiles describe each shape by format, season topology, gender and era. The right rules then compose automatically for each slice.

Beyond football

Every sport has competition structure; the profile vocabulary changes, the mechanism does not.

Problem

Names cross scripts, languages and transliteration schemes.

Reep's approach

Locale-aware normalisation and club-name furniture stripping live in the rulebook as data. They can be extended per country without touching the engine.

Beyond football

The same discipline that matches company names across "Ltd", "GmbH" and "S.A.".

Proof

The register this produces.

Numbers from the current public release, generated by the engine rather than typed into this page.

910,053 resolved entities
2,960,290 provider ID bridges
372,144 typed aliases
20 providers bridged in this release

What we don't claim

  • No performance or event data. Reep resolves identity; your licensed providers supply the data that hangs off it.
  • Single-source records are not passed off as corroborated entities. Outside a few explicitly authorised domains, they wait, labelled, for corroboration. Coverage is never bought with guesswork.
  • Precision is sampled and measured with statistical bounds at every release, and the release gate blocks publishing when any quality red line is breached. Where we are uncertain, the record says so.

Reading further

See it resolve.

The register, its live API, and a walkthrough of a resolved entity are on the main tour.