Study
Reading the challenge before writing a line
The data landed today. Before any code: what the metric actually rewards, why the public window can mislead us, and what an invisible ball means for the problem.
Context
Match data was released on 20 October. Before choosing an approach we read the whole challenge
repository — CHALLENGE, DATA, EVALUATION, RULES and SUBMISSION — to understand what is
scored, and how.
What we learned
- The task. One label per video frame for a full LaLiga match:
Hhome,Aaway,Ddead ball orXno answer. 199,319 rows in a single CSV. - The ranking metric is
spellF1, not per-frame accuracy. It counts how many real possessions we recover as whole possessions.macroF1is only the first tie-break. - Temporal coherence matters more than frame accuracy. The organisers' own scoreboard on the
public five minutes runs one algorithm (nearest tracked player to the ball, then a majority vote
over a window) four times.
macroF1stays around 0.58–0.62, whilespellF1goes from 0.04 with no smoothing to 0.42 with the widest window. Xis a real option. OnspellF1an abstention is filled with our previous label, so it costs nothing inside a possession and a lot across a hand-over.- The ball is invisible on 41% of the scored frames. Any method has to infer possession without it for long stretches.
- The public window can mislead. The FAQ shows the smoothing window that wins on the public five minutes loses on the full match. We should not tune against those five minutes alone.
The score is about possessions, not frames. A method that is right frame by frame but flickers loses to one that is slightly wrong and stable.
Next
Reproduce the four baselines locally, then design our own validation that does not overfit the public window.