DEV Community

Cover image for Can LLMs Keep Score? I Benchmarked Tennis and Padel Score-Tracking
Gulrez Qayyum
Gulrez Qayyum

Posted on

Can LLMs Keep Score? I Benchmarked Tennis and Padel Score-Tracking

Kaggle Benchmarking Challenge Submission

This is a submission for the Kaggle Benchmarking Challenge

What I Benchmarked

I wanted a test where the right answer is unambiguous, so I picked something simple that is surprisingly easy to get wrong: keeping score in a match.

Each case gives a model a list of points in order ("A A B A B ...", each letter is who won that point). The model has to report the state right after the last point: sets, games, points in the current game, and who serves next. I wrote a small scoring engine in Python that computes the true answer, so every reply is simply right or wrong. No judge model is involved.

The benchmark covers tennis (advantage scoring) and padel (golden point). It includes sequences of 30, 60 and 100 points, plus special cases forced into a 6-6 tiebreak, where the serving order is awkward. Every point sequence is asked twice: once with the full rules written in the prompt, and once with only "Sport: padel (golden point scoring...)", so the model has to rely on what it already knows. The final benchmark has 48 cases.

Models Tested

I ran it on five models available in Kaggle Benchmarks: Gemini 3.7 Flash, gpt-oss-20b, Claude Haiku 4.5, GPT-5.4 nano, and Gemma 4 26B A4B (this one errored on Kaggle, so it has no score). I chose a mix of a strong fast model, a small reasoning model, and small models that answer quickly, because I expected the score to depend on how much a model works things out step by step. Everything ran with default settings, once per case.

Findings

Model Accuracy (48 cases)
Gemini 3.7 Flash 0.96 (46/48)
gpt-oss-20b 0.42 (20/48)
Claude Haiku 4.5 0.00 on the Kaggle leaderboard (1/48 when I reran it myself)
GPT-5.4 nano 0.00
Gemma 4 26B A4B error

Score vs. total cost for the three models Kaggle had cost data for (gpt-oss-20b and Gemma 4 are not shown). Claude Haiku 4.5 spent about $0.29 and scored about 0, so spending more tokens didn't help it.

  • The spread is huge. Keeping score in a match is easy for a person, and two models got almost none of 48 right. The rough 95% ranges are about 86-99% for Gemini and 29-56% for gpt-oss-20b, so those two do separate clearly.
  • Not working it out vs working it out badly. GPT-5.4 nano wrote about 25 tokens per case, just the answer line, and guessed. Some answers were impossible states, such as a match at 2-1 in sets while it was still going. Claude Haiku 4.5 wrote about 1,100 tokens of step-by-step counting per case and still scored about 0. I checked whether this was a formatting problem: every Haiku reply I looked at ended with a correctly formatted answer line that my scorer parsed. The mistakes were in game counts and who serves next. So writing out the counting isn't enough on its own.
  • Some of the errors were noise. In an earlier 100-case run, all 5 of Gemini's mistakes were in the no-rules condition, which looked like "the model needs the rules." I reran those 5 cases twice and 9 of 10 passed. With only 10 reruns that is consistent with noise but not proof (the plausible range is roughly 60-98%). Haiku shows the same variation: 0.00 on the leaderboard, 1/48 in my own rerun. Single-run results overstate differences between conditions.
  • I did not find a padel weakness or a rules effect. The 48 cases are really 24 point sequences, each asked twice (rules in the prompt, rules not in the prompt), so the two conditions are paired. The right way to compare them is to count the sequences where the answer changed between the two prompts. I had 5 such cases, which isn't enough to claim an effect. Padel and tennis scores for Gemini were within one error of each other.

What I'd Measure Next

  • Run each case several times, because one run per case is too noisy to compare conditions.
  • Turn on extended reasoning for the models that scored 0.00, to see whether the problem is the model or the default setting.
  • Get per-sport and per-length results for every model, not just Gemini.
  • Try 200-point sequences, since the best model was close to the ceiling.
  • Compare with-rules vs without-rules as paired results (count the sequences whose answer flips) instead of two separate averages.

Limits

  • 48 cases (24 point sequences, each asked twice), one run per case, default settings, and only a handful of models. Differences between close results aren't reliable.
  • Run-to-run variation is real: Haiku scored 0.00 on the leaderboard and 1/48 in a rerun, and some of Gemini's early errors disappeared on rerun.
  • A score of 0/48 only rules out a true rate above roughly 7%.
  • I checked the padel rules (golden point, tiebreak serving order, who serves first in the next set) against padel rules sources, but real events sometimes use a super tiebreak in the third set, which this benchmark doesn't model.

My Benchmark

https://www.kaggle.com/benchmarks/gulrezqayyum/tennis-and-padel-state-tracking-benchmark

Top comments (2)

Collapse
 
arhancanli profile image
Arhan Canli •

The rerun is the most useful part of this. 9 of 10 passing is a Wilson 95% range of about 60-98%, so the "it was noise" reading is likely but not pinned down, and I'd keep the "single-run results overstate differences" line exactly as you wrote it.

On the scoring: 48 cases are 24 point sequences asked twice (rules in prompt, rules not in prompt), so the two conditions are paired, not independent. Gemini at 46/48 is 86-99%, gpt-oss-20b at 20/48 is 29-56%, and those two do separate clearly. But for any comparison of with-rules against without-rules, count the sequences where the answer flipped between the two prompts and ignore the ones both got right or both got wrong. Five flips in 100 cases would be 2-11%, which is why I'd not read the padel/tennis difference yet.

The two 0/48 rows only rule out a true rate above about 7%, which is consistent with a formatting or parsing failure. Before turning on extended reasoning, I'd check whether the 0.00 models' answer lines parse against your scorer on one case you can verify by hand: the 25-token nano answers with impossible set counts look like real errors, but Haiku at 0/48 with 1,100 tokens of working looks more like it could be an output-format miss. Did you see any Haiku reply whose final state was correct but written in a different layout?

Collapse
 
gulrez profile image
Gulrez Qayyum •

Thanks, this was really useful. You're right that the 48 cases are 24 sequences asked twice, so with/without rules should be compared as paired flips, and my 5 flips don't support a rules or padel effect. I'll add the intervals to the post.

On Haiku, I checked: I ran six replies through my scorer and every one ended in a well-formed ANSWER line that parsed correctly. Five were wrong on game count or server, and one matched the expected state exactly. I then reran Haiku on all 48 cases myself and got 1/48 (the leaderboard showed 0.00), so it looks like a real low score and not a format miss. I'll update the post with this.

Some comments may only be visible to logged-in visitors. Sign in to view all comments. Some comments have been hidden by the post's author - find out more