Tap the spot the shot came from: MatchAnalyzer works out the expected goal and awards Offensive Danger Index points to both teams. By the final whistle the report is already there.
Every extra tap during the match is an action at risk of slipping by. That is why recording an event takes a few taps, the targets are large and the screen stays readable in bright sun.
Where you tap is where the shot came from. From that the app derives distance and goal angle, then asks only what matters: who shot, how it ended, whether there was an assist.
A logistic model on distance and angle, with an age-based regression scale: the same shot is not worth the same in a first team and in a U15 side, and the maths accounts for it instead of ignoring it.
The official Offensive Danger Index catalogue, with its weights in place. Actions without a shot — corners, crosses, promising moves — are recorded with a quick button that answers with a buzz and a message: you know you pressed it, and you can undo it straight away.
Every event knows which half it belongs to, and the current half stays set even if you close the app at the break. Summary and report show first, second and total: you see at once in which half the match turned.
A single page, ready to print or send to the coach: the match numbers, the split by half, the shot map and the IPO summary. Or export the pitch image alone, to fire off in a chat.
No signal? MatchAnalyzer does not need one: everything is saved on the device as you record it.
At the end of every match the app saves a copy of all your data by itself, in a folder that stays where it is even if the app gets uninstalled by mistake. The last ten copies are kept there: any one of them restores everything. On iPhone that folder does not exist: there you make a backup whenever you want, from the Import/Export page.
The screens show a sample match with made-up data.
| Half | Team A | Team B |
| 1st half | 23 · 0.94 · 1 | 14 · 0.51 · 0 |
| 2nd half | 18 · 0.90 · 1 | 12 · 0.46 · 1 |
| Total | 41 · 1.84 · 2 | 26 · 0.97 · 1 |
| Age group | Team A | Team B |
| Clear scoring chance | 2 | 1 |
| Promising attack | 2 | 1 |
| Shots inside the box | 3 | 2 |
| Corner | 4 | 3 |
| IPO TOTAL | 41 | 26 |
| Half | Team A | Team B |
| 1st half | 23 · 0.94 · 1 | 14 · 0.51 · 0 |
| 2nd half | 18 · 0.90 · 1 | 12 · 0.46 · 1 |
| Total | 41 · 1.84 · 2 | 26 · 0.97 · 1 |
| Player | IPO | xG | Goals | Ast. |
| 9 · Striker | 17 | 0.71 | 2 | |
| 10 · Playmaker | 11 | 0.38 | 2 | |
| 7 · Winger | 8 | 0.44 | 1 |
xG says how likely that shot was to end up in the net. IPO counts how much danger a team produced overall, shots included. Together they tell you whether the result was deserved — and xG is tuned to hold up outside the first team too.
Every shot takes the colour of its xG band. The pitch background is that same scale applied to every point: it shows where shooting pays off before anyone has shot.
The expected-goal models around are calibrated on the adult game, and applying them as they are to an under-14 match inflates every number: the shot that is a real chance in a first team is far less of one at that age. MatchAnalyzer applies an age-band regression scale tied to the team's age group, so xG stays comparable with what you see on the pitch instead of promising goals that never arrive.
The age band belongs to the match: picking the team from the list proposes the right one, but you can still change it — even after kick-off, and in that case the shots already recorded are re-valued with the new yardstick. The correction is not uniform: it weighs more on difficult shots, where the gap between age groups really shows, and less on open-goal ones, which go in at any age.
The categories are those of the Offensive Danger Index by Viscidi and Gagliardi, with the official weights the app applies by itself as you record. The rule of thumb: about 34 points equal one goal, and it is the key to reading the full-time IPO score.
| Age group | How it is recorded |
|---|---|
| Clear scoring chance | tap the pitch |
| Penalty | quick button |
| Promising attack | quick button |
| Shot inside the box | tap the pitch |
| Central free kick | quick button |
| Cross met with a header | tap the pitch |
| Wide free kick | quick button |
| Shot from outside the box | tap the pitch |
| Cross with no shot | quick button |
| Corner | quick button |
MatchAnalyzer has no server, no accounts and no analytics. What you record stays in the phone's memory until you export or delete it yourself.
No sign-up, no login, we never ask for an email address.
No analytics, no crash reporting, no ads, no third-party SDKs.
Teams, players, matches and events live in the device's database.
Backups, PDFs and images are produced when you ask for them, and you choose where they end up.