Logging matches is a data-entry task. Reading individual stats is a chart-reading task. But the most valuable use of a tennis log — finding patterns across dozens of matches that a human reader would never connect — is a pattern-recognition task. That is what the AI Insights panel does. This article explains how the heuristic engine generates each insight, what the language-model layer adds on top, and how to turn surfaced patterns into actual training changes.

How the heuristic engine works
Before any AI model is involved, Tennis Log runs a deterministic heuristic engine over your match data. The engine computes your baseline win rate (across all decided matches in the active filter) and then partitions your matches by every variable it has — surface, court, opponent backhand type, opponent handedness, time of day, sleep hours, whether you napped, whether you ate heavily, whether you marked yourself anxious, ball brand and use count, weather, floodlights, format, opponent profile, and so on.
For each partition with at least 2 matches, the engine computes the win rate inside the partition and the win rate outside it. If the difference is meaningful (typically ≥10 percentage points and ≥2 matches in the slice), the engine surfaces it as an insight with the delta in percentage points (pp) shown as a badge.
Every claim is a real ratio. "Napped at midday: 100% across 3 matches" is exactly that — three logged matches where you napped, and three wins. No model invented the pattern; arithmetic surfaced it.
How to read each insight card
Each card shows:
- Direction icon — green up arrow if the partition is better than baseline, red down if worse
- Title — the partition (e.g. "Surface: clay")
- Detail — the actual ratio and matches
- Badge — the delta in percentage points
"Stronger return than opponent" with +33.3pp and "100% (5 matches). Baseline 66.7%" means: in the 5 matches where you rated your own return higher than your opponent's, you won all of them — a 33-point improvement over your overall 66.7% baseline. Across only 9 matches total, this is a directional signal, not a verdict. The signal strengthens as you log more.
What patterns are actually worth acting on
Not every insight deserves a training change. Use this rough hierarchy:
High-confidence (act now): ≥10 matches in the slice, ≥15pp delta, surfaced consistently across multiple filter combinations. Example: "Surface: hard" at +20pp across 30 matches is a real surface preference — schedule more practice on your weaker surface.
Medium-confidence (note, don't yet act): 5-10 matches in the slice, 10-20pp delta. Could be a real pattern; could be a small-sample artefact. Note it in your weekly review and re-check next month.
Low-confidence (ignore for now): Fewer than 5 matches in the slice. Even a 30pp delta on 3 matches is statistical noise. Useful as a hypothesis to *test* in upcoming matches, never as evidence to *act* on.
The lifestyle insights are the most powerful
The patterns players are most surprised by are almost always lifestyle, not technical:
- "Napped at midday: +33pp" — afternoon sleep helps your concentration
- "Slept 7+ hours: +18pp" — sleep is your biggest controllable variable
- "Heavy meal before match: -22pp" — pre-match nutrition matters more than you think
- "Anxious before match: -15pp" — pre-match routine and mental prep are real edges
These insights are only possible because Tennis Log asks for the lifestyle inputs. Skip the lifestyle fields and these never surface — the engine cannot find a pattern in data that does not exist.
The opponent-profile insights are the most actionable
If you have rated 10+ opponents on their backhand type, age range, years of experience and playstyle, the engine finds patterns like:
- "Versus one-handed backhand: 80%" → keep that knowledge for scheduling and tactics
- "Versus baseliner: 30%" → your training should target heavy-baseliner drills
- "Versus left-handed: 25%" → spend a month on returning the slice serve out wide
These are the patterns that change next month's coaching plan. They are surface-level if you log them — invisible if you don't.
What the "Ask AI" button adds
Heuristics list patterns. The language model layer (optional, opt-in) does three things heuristics cannot:
1. Narrates the patterns into a single coaching paragraph — "Your return is your weapon, especially on hard. Your weakness is afternoon matches with low sleep. This month, prioritise serve practice on clay and a pre-match nutrition routine." 2. Connects multiple insights — "The surface effect and the opponent backhand effect overlap; on clay you mostly play one-handers, so the real driver might be the opponent profile, not the surface." 3. Suggests drills — "For the return drop on second serve, try this two-week chip-and-charge progression."
The model only sees the insights and a compact match summary — never raw account data. The output is suggestive, not prescriptive. Treat it as a second opinion you can disagree with, not a coach you obey.
Common mistakes when reading AI Insights
- Acting on a single 100% partition with 2 matches. Two matches is not data. It is a coincidence.
- Treating the LLM narrative as ground truth. It is a synthesis of the heuristics. If the heuristics are weak, the narrative is too.
- Ignoring negative insights. "You lose 100% when…" is more actionable than "You win 100% when…" because the negative is something you can change.
- Filtering until only one insight remains. Over-filtering produces high-deltas on tiny samples. Keep the filter at the most-played format and a reasonable time window.
- Re-running insights every match expecting major changes. The engine produces stable patterns over weeks, not match-to-match swings.
A 10-minute monthly AI Insights review
Once a month:
1. Set the filter to your most-played format, last 6 months. 2. Read the top 6 cards. Mark which are high/medium/low confidence using the hierarchy above. 3. Pick one high-confidence positive insight — protect what is working. 4. Pick one high-confidence negative insight — design a single training change to address it. 5. Click Ask AI. Read the narrative. Disagree where needed. Note any drill suggestion that fits your context. 6. Write the two training changes into your match notes for the next two weeks so you actually remember them.
The Insights panel is not a magic answer machine. It is a pattern surface. The work of acting on patterns is still yours — but at least you now know which patterns are real.
Why this is different from generic AI coaching
A general AI model with no data about you can only give general advice. Tennis Log's Insights are *grounded* — every pattern is verifiable against your own logged matches, and the language model only sees compact representations of your data. There is no hallucinated "your forehand is your weakness" — if it says that, it is because the radar and ratings show that, and you can click through and verify.
That grounding is the whole point. Tennis improvement is personal. Advice that does not know you cannot help you. Advice that knows you, can.
