Three pages read the same imported history and cut it three ways. The strip under the heading links the other two, and whichever one you are standing on is plain text with no link on it. This page cuts by character: the ones you bring, and the ones you meet.
It never knows who was holding the pad. A matchup here is a character, so one opponent met forty times and forty opponents met once produce an identical row. Opponents is the page that can tell those two apart, and Priority is the one that ranks what to do about them.
With nothing imported the page says so and points at the Data page. Everything below needs a history.
Ratings (wavu)
The heading carries the date the snapshot was captured, because that is what this panel is: whatever wavu's player page listed at the moment you ran the export. It is not recomputed from your matches and it does not move when you play.
Columns are the character, μ, σ², the games wavu counted, when it last saw them, and the group label. Character names link through to that character's own page.
Two kinds of row live here. Characters you have played get a row whether or not the snapshot mentions them, and characters the snapshot rates get a row whether or not you have played them in the imported range. An old main you have not touched since is exactly the thing somebody comes looking for.
A row with dashes across it and not in this snapshot in the group column is a
statement about the export, never about the character. wavu's carousel shows
the characters wavu chose to show, and a character you picked up last week is
often simply absent. A short note above the table counts how many of yours the
snapshot is silent about.
A rating in Tekken belongs to one character on one account. There is no single number that is yours, which is why this is a table with a row per character and no total at the bottom of it.
What that number means
Four digits mean nothing on their own, so the panel places your highest-rated character on the published chess class structure and prints the whole ladder around it, with a chip showing how far through its band you sit. The top band is open-ended, and anything in it pins to the end.
What makes the comparison usable is narrow. Both scales are Elo-family, both put a new player near 1500 by convention, and a class is about 200 points wide in each. The shape carries over. The absolute numbers do not: these are two populations measured by two different bodies, and nothing published says a 1600 in one plays like a 1600 in the other. The honest reading is that your number sits where a Class B number sits.
The panel appears once the snapshot carries at least one rating.
Form by window

Seven trailing windows, short to long: 7d, 14d, 30d, 90d, 6m, 1y and lifetime. The two long ones are 182 and 365 days, since a calendar month is not a constant and nobody reading a row of sparklines is counting days.
Every window is measured back from today, not back from your newest match. If you have not played in a month, the near columns are empty and say so. Anchoring to the last match would quietly relabel a stale import as current form, which is the one thing this panel must never do.
Four rows:
- W-L counts decided games.
- Win rate is those wins over those decided games. Draws are excluded, the same convention every win rate on the site follows.
- Net rating is what the ladder paid you inside the window, draws included.
- Trend is a rolling win rate over the matches inside that window, using the sparkline length from Settings.
A window with no games prints a dash in all four. Zero games is not a zero per cent win rate, and printing one would invent a losing streak that never happened.
Read the columns against each other. A bad fortnight dips the near columns while the far ones hold. A genuine decline sags all of them together. One rolling number cannot tell you which of those you are in, which is the whole reason there are seven.
My characters

One bar per character you have played, most games first. The bar is your win rate over decided games, with the record beside it and a rolling trend at the end.
A character under the sample floor dims its bar and reads not enough data
where the percentage would be. The record stays, so you can see how close it is
to counting.
The floor is the one in Settings, the same one Priority uses. These bars used to answer a different question — they dimmed when the confidence interval was wider than thirty-five points, regardless of how many games were behind it — which meant a bar could go quiet on this page while the same matchup printed a confident percentage two pages over.
The vs chip on the right scopes Form by window and the opponent table below
to that character's matches. Press the same chip again, or the × in the
opponent panel's header, to put both back. Both scoped panels show an as {character} marker while it is on.
Characters below the Minimum games per character setting are not on this page at all. That floor drops their matches from every reading on the site before any page sees them, and it ships switched off.
Vs opponent characters

Your record against each character you have faced, most-played first.
| Column | What it holds |
|---|---|
| Character | The character across from you. |
| W-L | Wins and losses. |
| Win rate | Wins over decided games. |
| 95% CI | The Wilson interval over those same decided games. |
| n | Decided games, which is the denominator both figures used. |
| Trend | Rolling win rate against that character. |
| Last faced | Whole days since your most recent game of the matchup. |
| 90d games | Games of it inside a trailing 90-day window, draws included. |
The n column deliberately excludes draws. It labels the interval beside it,
and an interval labelled with a sample size it was not drawn from is worse than
no label: a 5W-5L-10D matchup would read n 20 against a range computed from
ten games.
Last faced and 90d games are the two columns a lifetime percentage cannot replace. Sixty per cent over eighty games says nothing about whether you still know the matchup if the last of those eighty was in a previous season. Neither column is tinted, because neither is good or bad on its own. A matchup you have not seen in months is stale whether you win it or lose it.
Both freshness columns follow the vs chip. With a character scoped, Last faced means the last time you played that matchup as that character, which
is a different number from the unscoped one and can be much larger.
The 90-day window is fixed and printed in the column heading, so you can always see which window you are reading.
How much to trust a win rate
"100% win rate" at n=2 and at n=200 are different claims wearing the same number, and the raw percentage cannot tell them apart. So most win rates here carry a 95% confidence interval computed with the Wilson score method, which stays well behaved at small n and never produces bounds outside 0 and 100.
Twelve games at 58% gives an interval of roughly 32%–81%. Two hundred at 55% gives 48%–62%. Same kind of claim, and only one of them is worth acting on. The percentage is the middle of the interval; the interval is the claim.
Widths are what to scan for. A range spanning forty points is telling you the matchup is barely measured, whatever the bar looks like. Anything thinner than your sample floor never gets a percentage in the first place.
Below the floor, no page prints a rate
A five-game matchup reads the same way everywhere: the win rate and its
interval are both withheld, the cell says not enough data, and the decided
count stays visible so you can watch it fill.
The floor lives in Settings under Analytics, as Minimum sample size, and it starts at ten decided games. One setting, and it governs every table and every bar on the site.
Withholding the number is doing something a caveat beside it cannot. Nobody reads 0% over four games as a coin flip once the 0% is on the page.
The win-rate bars answer the same question, which is worth saying because they could plausibly answer a different one. A bar's dimming is about how much evidence there is, not about how wide the interval around it happens to be. Those two travel together often enough to be confused, and only the first is the thing you set in Settings.
Net rating, and why it is not what wavu showed you
Net rating turns up on this page as a row of the form table, as a column on Opponents, and as the gate on Priority. It is not a sum of the per-match changes wavu displays.
Those displayed changes are floored. Summing them does not reproduce your rating, and the gap is large: over one 447-match history the displayed changes add up to a 72-point loss while the rating itself climbed 148. Roughly half of all matches quietly lose a point to the flooring.
So the movement across a match is recovered from the two ratings either side of it, which is exact, and it is that recovered value every total on the site sums. Individual match rows still print what wavu displayed, because a row claiming +9 where the source says +8 reads as a bug in this site.
Where the reconstruction cannot be trusted the displayed figure stands: the last match of a chain has nothing after it, and an interval whose disagreement is too large to be rounding is left alone instead of billing you for matches nobody recorded. Chains run per account and per character, since subtracting one character's rating from another's produces a number describing nobody.
One character's page
Clicking a character name anywhere on this page opens their own view. Every figure on it is filtered to matches you played as that character.
A line under the heading offers practice: the quiz with that character landing the punishes, and any trainer drills built from their inputs. Most of the roster has no drill, and those characters say nothing about the trainer rather than sending you to somebody else's move. If you want the theory behind what you find there, using frame data is the longer read.
Four tiles run across the top: the record, the win rate with its interval, the game count split into decided and drawn, and the wavu snapshot's μ when the snapshot has one.
Rating draws your rating after each match on this character. The panel's table view lists the last thirty points with timestamps.
Matchups is the same win/loss table as the index, with two extra columns and two missing ones. It gains Round W% and Round margin, the latter signed and per match, so a 3-0 and a 3-2 are told apart. A matchup can be level on matches and lopsided on rounds, and those rows are the ones worth finding. It has no freshness columns, on purpose: this panel is a quarter of the grid and already scrolls sideways, and the day counts here would be scoped to one of your characters while the index shows them across your whole history.
Matchup learning compares the first half of a matchup's history against the second, needing five decided games in each half before it will show a shift. Biggest movement sorts first. A large positive delta is what learning a matchup looks like. It is also what regression to the mean looks like after an unlucky start, and this panel cannot separate the two.
Match log is every match behind the numbers above, newest first, fifty to a page. Each column heading holds a search box behind the magnifier beside it, and searches on different columns combine. When something further up the page looks wrong, this is the record to check it against.
Character notes
The notes field on a character's page is yours. It saves when focus leaves the
box and confirms with a Saved ✓.
Notes are keyed to the character by name, so importing more matches never disturbs one. They live in this browser, they are carried by backups taken from the Data page, and they are never sent anywhere. A share link does not include them.