How FindMyRace builds its result index

How FindMyRace discovers, validates, normalizes, groups, deduplicates, and attributes public running results.

1. Discovery and collection

Provider-specific tools discover public events and result lists. Raw payloads, event IDs, list IDs, source URLs, and extraction methods are retained so imported data can be audited.

2. Conservative validation

Only individual result tables with meaningful row counts, strong athlete-name coverage, usable times or performance metrics, and understood race identity enter the canonical index. Entry lists, team-only tables, non-running disciplines, ambiguous mappings, and broken parses stay staged for review.

3. Normalization and deduplication

Names, times, places, categories, teams, distances, and provider provenance are mapped to a shared schema. Stable source-row hashes and race identity rules remove duplicates without silently merging different races.

4. Race grouping

Timing systems often publish overall, net, gross, gender, category, or live variants for the same event. FindMyRace groups variants only when race name, year, distance, provider evidence, and athlete overlap support the match.

5. Source links and corrections

Exact result URLs are presented only when they are stored safely or independently verified; otherwise the provider's main website is shown. The timing provider remains the authoritative source for corrections.

The static race directory is deliberately selective. Ambiguous or mixed-distance pages are excluded even when their rows remain searchable by athlete name.