Validation

Where KICK agrees with the world, where it doesn't

We score every KICK Rating version against external signals — Brownlow top-10, All-Australian squads, AFLCA Champion Player winners. No rating system ships before we measure it.

What this page is

Any rating system can claim to be good. We score ours, publish the results, and commit to not shipping a new version unless the scores improve on binding pass criteria. This page is the permanent record.

Five internal metrics (computed from our own data) and three external metrics (external authoritative signals) feed into every validation run. The code is in validate_kick.py in our repo and runs in under a minute.

v1.1 results (current)

External signals

Internal signals

v1.2 — what we tried, why we held

v1.2's target was to narrow the three position gaps without regressing Brownlow alignment. Binding pass criteria: D ≤ 19.0, R ≤ 16.0, F ≤ 27.0, Brownlow ≥ 4.1 (no more than −0.3 from v1.1).

We ran a 48-configuration weight sweep across five weights. Result: top configs narrowed the defender gap to ~18.9, but the forward gap barely moved (best 31.4 vs target 27.0). Brownlow alignment dropped 0.4–0.6 points across every top config. No config met all four criteria simultaneously.

Decision: held. Full sweep in data/validation/sweep/results.md.

v1.3 — same verdict, deeper explanation

v1.3 moved past weight tuning to three new mechanisms, with an expanded six-criterion bar (added AA squad overlap ≥ 50% and AFLCA winner hit rate ≥ 87%).

A 32-configuration mechanism sweep. Zero configs cleared all six criteria.

Pattern across all 32:

The tension is structural. Every mechanism that lifts defenders/rucks/forwards relative to midfielders pushes mids out of year-by-year top-N rankings, which drags Brownlow and AFLCA down (both signals reward midfielders). You can't close the position gap AND hold top-10 alignment with the same lever.

Decision: held. Same process as v1.2 — criteria published in advance, criteria not met, no ship.

What v1.4 has to do differently

v1.2 taught us weights aren't enough. v1.3 taught us mechanisms layered on box-score data aren't enough either. The six-way tradeoff between position gaps, Brownlow alignment, AA overlap, and AFLCA hit rate is fundamental to what's in and what's missing from a public AFL box score.

v1.4 needs signals the box score doesn't carry:

None of these are in AFL Tables. Options we'll work in order:

  1. Scrape afl.com.au match centre pages directly for the modern era (2018+) — may expose some of these fields.
  2. Reach out to community data projects (HPN Footy, Wheelo Ratings, Footy Industries) about access to their derived datasets.
  3. Commercial option: Champion Data licence — five-figure annual cost, not yet justified by our revenue.

Until v1.4 has at least hit-out-to-advantage and intercept marks plumbed in, shipping new KICK versions against the same six criteria is an exercise in polishing the wrong surface. v1.1 stays live.

Full v1.4 plan: V1.4_PLAN.md in the repo.

Can you help?

If you know of a data source for hit-out-to-advantage, intercept marks, contested-possession-differential, or other box-score-adjacent metrics that would make KICK fairer to specific positions, tell us. hello@kicker.au.

The validation code and full reports are in the data/validation/ directory of our repo. No Kicker+ paywall, no subscription — this is the work we show alongside the rating.