Metrics reference
Every statistic SSBM Stats computes from your Slippi replays, and exactly what it
means. This is the same reference the app shows in its metrics guide.
Where these come from. Neutral and punish metrics are derived
from slippi-js conversion detection over each replay's frame data, so they exist only for games
where that data is present. Everything else is computed from the parsed game record.
Results
- Win rate
- Wins ÷ decided games. Games under 30 seconds, and quit-outs with no determinable result, stay out of the denominator — they read “n/a” in the game log.
- Your accounts
- Every connect code you've entered counts as you, pooled by default. Split them with the Account filter, or compare them in Overview's “By account” table. A game between two of your own accounts carries no result: badged “self” in the log, out of win rates and opponent tables.
- Kills / deaths per game
- Stocks taken (or lost) per game, averaged over the filtered set. A 4–0 and a last-stock game weigh the same.
- Damage per game
- Total percent dealt per game, averaged over the filtered set — including damage on stocks you didn't close out.
- Streak
- Your current run of consecutive wins (W) or losses (L) across decided games.
Neutral & punish
- Opening (conversion)
- Every time you start a punish — a clean neutral win, a counter-attack while escaping theirs, or a trade. It ends when they hit you back or die. Usually several per stock.
- Openings per kill
- Openings ÷ kills, and lower is better: 3.0 means three neutral wins per stock you actually take, so two punishes got dropped. Even top players sit around 2–3.
- Damage per opening
- Damage dealt ÷ openings — what each neutral win costs them. Low DPO alongside a decent win rate means you win neutral but drop punishes; high means you make it count.
- Neutral wins
- Openings from a clean neutral exchange only, excluding counter-hits and trades. The share % is your count ÷ the game total, so over 50% means you won neutral more often than they did.
- Counter hits
- Openings earned by hitting the opponent during their punish on you — turning pressure around rather than winning neutral outright.
- Beneficial trades
- You both hit at once and the trade favored you: your hit killed and theirs didn't, or yours simply dealt more.
Execution
- L-cancel %
- Successful L-cancels ÷ attempts, where an attempt is any aerial landing that allowed one. Success halves your landing lag.
- Inputs per minute
- Controller inputs per minute of game time. A speed gauge, not a quality one — high IPM with low damage per opening is just noise.
- Actions per game
- Detected movement and defensive actions: rolls, air dodges, spot dodges, wavedashes, wavelands, dash dances, ledge grabs, grabs. High roll counts usually signal panic options; wavedash and dash-dance volume tracks movement-heavy play. Compare filters of differing length by the per-minute column.
- Grabs
- All grab attempts, landed and whiffed — standing, dash and out-of-shield together. Shield grabs can't be isolated without frame-level data, a possible future opt-in. The game log drill-down shows landed/attempts with the success rate.
Insights (win model)
- Odds × per +1 SD
- From a logistic regression on your filtered games: one standard deviation above your average on that metric multiplies the odds of a win by this much, holding the other rows fixed. Above 1× favours wins, below 1× losses. The shift columns restate it in percentage points near an even game.
- Raw vs adjusted shift
- Raw is the plain association. Adjusted re-fits with fixed effects for the opponent (regulars with 15+ games), your character, the stage and a time trend, so it asks whether the metric mattered within one context. An effect that collapses under adjustment rode on context rather than driving wins — adjusted is the column that answers “what should I practice”.
- Evidence
- How distinguishable the effect is from noise at your sample size: strong ≈ p<0.01, moderate ≈ p<0.05, weak ≈ p<0.1. Faded rows could easily be chance — more games sharpen them.
- Win rate by quartile
- The model-free cross-check: games sorted by the metric, cut into four buckets, win rate for each. Disagreement with the regression usually means the effect belongs to a correlated metric the model controls for.
- Habits vs outcome-linked
- Habits (L-cancel %, movement per minute) are practicable. Outcome-linked stats (openings/kill, neutral-win share) partly are the win, so they dominate any model without saying what to change — hence off by default. All of it is correlation across your own games, and none of it accounts for opponent strength.
Teams (2v2)
- Team win rate
- Decided per team, not per player — doubles has no individual result. The same 30-second and indeterminate rules apply.
- Stocks taken / lost
- Your duo's combined stocks taken from (or lost to) the enemy team, from end-of-game state. Self-destructs count for the other team; the Damage & FF tab splits captures per player.
- Enemy team includes
- A game counts once for each distinct character on the enemy team, so a double-Fox team counts Fox once and the rows sum above the game total.
Teams — Damage & FF
- Damage attribution
- Slippi's stat engine computes nothing for 4-player games, so this dashboard runs its own frame pass, crediting damage and stock losses to the victim's last-hit-by player — the convention other Slippi tools use. Self-destructs credit no one, and attribution can be wrong when someone dies without being touched recently.
- My / teammate damage per game
- Damage dealt to the enemy team only — friendly fire is tracked separately and never mixed in. Kills per game are enemy stocks captured, same rule.
- Damage share / kill share
- Your slice of the duo's enemy damage (or captures). 50% is an even carry; above means you're the engine, below the passenger — though roles like support Puff versus closer Fox legitimately skew it.
- Friendly fire (FF)
- Damage dealt to your own teammate, shown per game in both directions. FF kills are the times one of you took the other's stock. Both come from the same-team cells of the damage matrix.
- Enemy focus on me
- Of all the damage the enemy team dealt your duo, the share aimed at you. Above 50% means they're targeting you.
- Execution — me vs teammate
- L-cancel %, inputs/min and movement counts per player, from running the singles machinery pairwise across teams. “Teammate” aggregates whoever you queued with under the current filters.
Counterpicks (Stages tab)
- Stage × opponent character
- Your win rate on each stage against each opponent character — a counterpick sheet: within a character's column, green stages are picks and red are bans. Faded cells are below the sample threshold; treat them as anecdotes.
- My character × stage
- The same grid keyed on your own character, showing where each of yours over- or under-performs. Clicking any cell in either grid scopes the whole dashboard to that stage and character.
Sessions & tilt
- Session
- A run of games where each starts within 30 minutes of the previous one ending; a longer gap starts a new one. So ranked with drink breaks is a single session, morning and evening play two. It tracks time at the setup, not the account — swapping accounts mid-evening keeps it one.
- Win rate by position in session
- Every session stacked up: your record in games 1–5, 6–10 and so on, against your baseline. A red tail means marathon sessions are donating rating.
- Tilt check
- Win rate by the streak you entered on, within one session: after a win, 2+ wins, a loss, 2 losses, 3+ losses. “After 3+ losses” far below baseline is the signature of tilt. Streaks reset between sessions; indeterminate games neither extend nor break one.
- Baseline
- Your overall win rate across decided games in the current filter — what the “vs baseline” columns compare against.
Records
- Streaks & bests
- Every record respects the current filters, so you can ask for your best streak on one character or in one time range. Dates are when the record was set — for streaks, when the run ended.
- Perfect win
- A win with all 4 of your stocks intact.
- Best L-cancel day
- Highest single-day L-cancel rate among days with at least 100 attempts, so one clean three-aerial game can't take the crown.
- Nemesis / favorite victim
- The opponent (by connect code) you've lost to most, and the one you've beaten most. Raw counts, not rates — your nemesis is usually just whoever you play most.
- FF grudge
- The teammate who friendly-fires you hardest per game, and the one you damage most — each needing at least 5 games together, so a single Falco dair doesn't define a friendship.
Seeing them on your own games
The dashboard computes all of the above from your local replay folder, in your browser.
Nothing is uploaded — see how it works.
Open the dashboard