Backtest status

Performance

Chronological pre-match backtest on scraped PDC results. Evaluation starts after both players have at least five prior matches in the scraped sample.

Evaluated
231,373
Brier
0.2013
Log loss
0.5878
Accuracy
69.1%

Scraping options

PDC official data is now wired. These are the remaining expansion options.

#1 PDC public GC APIs best first

Use for: Official rankings, completed fixtures, upcoming fixtures, tournament metadata.

This is now wired. It exposes JSON endpoints for rankings and fixtures without browser automation.

Implementation: `scripts/sources/pdc.ts` fetches rankings + result fixtures into `data/raw/pdc/`.

Use for: Deeper historical/statistical backfill once PDC official coverage is exhausted.

Promising but needs endpoint inspection and careful ToS/politeness review.

Implementation: Start with browser/network discovery, cache JSON/HTML by URL, normalize completed matches only.

#3 Mastercaller good fallback

Use for: Event pages, match histories, player aliases, tournament structure.

Good darts-specific editorial/database source. Likely scrapeable HTML with stable event/player pages.

Implementation: Build an HTML adapter: event index → event page → match rows. Add alias map for name variants.

#4 Wikipedia tournament pages good fallback

Use for: Major-event results and bracket sanity checks.

Lower coverage but very accessible and useful as a validation source.

Implementation: Use page lists for majors only; parse brackets/tables into normalized matches.

Use for: Live schedules and same-day results.

Useful but usually JS-heavy/anti-bot and more fragile. Not first choice for this repo.

Implementation: Only after static sources work; prefer licensed/API route if needed.