https://smogon.com/stats already has useful aggregate reports, and sites like Pikalytics provide a snazzy interface for most basic queries. But what about queries that aren't basic? Well, the JSON files (listed under stats/*/chaos) have all the data you need, but JSON isn't a great format to work with—this project was motivated by four second JSON load times (now under half a second thanks to a library switch, but still).
All this tool does is convert those JSON files into SQLite databases that can be queried locally (or on the browser) with the SQLite REPL or your favorite programming language's SQLite bindings.
Here's my treat, and what actually motivated me to polish this up and publish it: I've pre-generated databases for 2025-02:
https://pyrope.net/mon/stats/2025-02
Why? Because I suck at Pokémon! (The fact that I've been too busy with this project to play the past few days doesn't help :P)
I know that other people can use these databases much more effectively to generate cool graphs and stuff, and they can identify what omitted stats are worth adding (Did you know some monster ran a Scizor with 0 happiness once in February 2025? These databases can't tell you that :[).
More info in the READMEs here:
Rust crate: https://crates.io/crates/smogon-stats
Git repository: https://g.pyrope.net/smogon-stats
Example graphs:
SVOU usage for various glicko levels (it's actually a weighting or something like that). Meowscarada.
Move usage:
Overly-simplistic "win" and "fail" heuristics, explained in the repo.
PS: I did some light internet searching to avoid duplicating effort, but I wouldn't be surprised if this, or something very similar to this, had been done before. I apologize if so, and I hope this can still be of some use.
All this tool does is convert those JSON files into SQLite databases that can be queried locally (or on the browser) with the SQLite REPL or your favorite programming language's SQLite bindings.
Here's my treat, and what actually motivated me to polish this up and publish it: I've pre-generated databases for 2025-02:
https://pyrope.net/mon/stats/2025-02
Why? Because I suck at Pokémon! (The fact that I've been too busy with this project to play the past few days doesn't help :P)
I know that other people can use these databases much more effectively to generate cool graphs and stuff, and they can identify what omitted stats are worth adding (Did you know some monster ran a Scizor with 0 happiness once in February 2025? These databases can't tell you that :[).
More info in the READMEs here:
Rust crate: https://crates.io/crates/smogon-stats
Git repository: https://g.pyrope.net/smogon-stats
Example graphs:
SVOU usage for various glicko levels (it's actually a weighting or something like that). Meowscarada.
Move usage:
Overly-simplistic "win" and "fail" heuristics, explained in the repo.
PS: I did some light internet searching to avoid duplicating effort, but I wouldn't be surprised if this, or something very similar to this, had been done before. I apologize if so, and I hope this can still be of some use.
Last edited: