Work backwards from a battle. Enter the teams you know, log what each attack actually did and who moved first, and the solver keeps only the EV spreads that could have produced every number you saw — ranked by how likely the damage rolls were and how often real players run that spread.
Reading the results. Fit is the chance a spread produces every number you logged (a spread that needs the maximum roll four times running scores badly). Prior is how often that spread actually shows up in ladder usage and in published EV spreads for this format. The headline spread is the best combination of the two — when two spreads fit equally well, the one players actually run wins.
Damage rolls. A single observation rarely pins a stat down; several overlapping ones do. Log spread moves, hits on your own ally, resisted hits and chip damage — every one of them narrows the range.
Accuracy. Enter exact HP numbers when you have them. Percentages carry a tolerance (default ±1%) because Showdown rounds what it shows you; loosen it if you are reading a number off a stream.
Everything is stored in this browser only — nothing is uploaded. Use Export JSON to move a case between devices.
Damage is calculated locally with @smogon/calc. Ladder spread usage comes from Smogon monthly stats; published EV spreads come from Team data from the VGCPastes Repository. Estimates are only as good as the interactions you log — treat a spread with one supporting roll as a guess, not a read.