News Shop
Events Forums

More Yomi Data


Ok thanks for the help


I’m not on it yet but my question is “should I have heard of more than maybe 5% of these people?”


Haha! I think most of them would have been active about 2 to 5 years ago?


That explains it. Anyway, wanna play?


Yeah, most of the > 1700 folks were gone when I started (about 1.5 years ago, I guess?), and we’ve had more attrition since then.


Sorry, I’ve got a standing date with friends on Fridays.


That’s fine. Another time then.


@mysticjuicer is a :turtle:.

I know it. He knows it. Through some sort of devil magic, he still convinces me to attack.


The Will To Keep On Blocking, by M. Juicer


Ok, last dump of this data for a while, I think. This is for a model weighted towards more skill players. The character charts are based on win chance against best player with their best character (assuming an even matchup).

MU Chart

Character Skill Levels

ArthurWynne-char-win-chance Attilian-char-win-chance BD_Corro-char-win-chance Bob199-char-win-chance Bomber678-char-win-chance Caralad-char-win-chance CarpeGuitarrem-char-win-chance Castanietzsche-char-win-chance CKR-char-win-chance ClanNatioy-char-win-chance CloudCuckooCountry-char-win-chance copper8642-char-win-chance Corroyeur-char-win-chance cpat-char-win-chance


deluks917-char-win-chance Desiderata-char-win-chance Dietz-char-win-chance Djister-char-win-chance drnd-char-win-chance enomus-char-win-chance EricF-char-win-chance ExSeth-char-win-chance FaceOnMars-char-win-chance FenixOfTheAshes-char-win-chance Fivec-char-win-chance flagrantangles-char-win-chance Fluffiness-char-win-chance Fusxfaranto-char-win-chance


GutterOwl-char-win-chance Hamvvar-char-win-chance hartley-char-win-chance Hobusu-char-win-chance HolyTyrant27-char-win-chance Ivan-char-win-chance


jamie-chan-char-win-chance Jengajam-char-win-chance JodySalerno-char-win-chance JonnyD-char-win-chance Journeyboy-char-win-chance Juushichi-char-win-chance Legion-char-win-chance Leontes-char-win-chance LizardLinc-char-win-chance lowtierhero-char-win-chance Luke1705-char-win-chance lum_at_1st_sight-char-win-chance


MadKing-char-win-chance Mallorean_Thug-char-win-chance mastrblastr-char-win-chance Mercyful%20Fate-char-win-chance mi-go%20hunter-char-win-chance MR-char-win-chance MysticDeadman-char-win-chance mysticjuicer-char-win-chance Niijima-San-char-win-chance NobodysHero-char-win-chance ntillerman-char-win-chance Oddus-char-win-chance


ratxt1-char-win-chance Raziek-char-win-chance Redless-char-win-chance Rinzler-char-win-chance Ryker-char-win-chance


sharpobject-char-win-chance Shax-char-win-chance SirHandsome-char-win-chance snoc-char-win-chance Southpaw%20Hare-char-win-chance Staryu-char-win-chance the-cap-char-win-chance thehug0naut-char-win-chance Thelo-char-win-chance Three%20Headed%20Monkey-char-win-chance tipzntrix-char-win-chance TokH-char-win-chance Tumbles-char-win-chance UTRALAW-char-win-chance


variable-char-win-chance vengefulpickle-char-win-chance wampuh-char-win-chance Xiba-char-win-chance Zejety-char-win-chance Zqxx-char-win-chance zytearK-char-win-chance

Most Even MUs
Character Counterpick
:argagarg: :argagarg: :persephone: :geiger: :valerie: :degrey: :menelker:
:bbb: :jaina: :valerie: :bbb: :menelker: :gwen: :lum:
:degrey: :geiger: :degrey: :quince: :rook: :gwen: :argagarg:
:geiger: :degrey: :geiger: :argagarg: :gwen: :menelker: :rook:
:gloria: :gloria: :lum: :valerie: :menelker: :rook: :setsuki:
:grave: :grave: :troq: :valerie: :jaina: :onimaru: :menelker:
:gwen: :gwen: :geiger: :vendetta: :degrey: :jaina: :rook:
:jaina: :bbb: :jaina: :grave: :gwen: :quince: :persephone:
:lum: :lum: :gloria: :midori: :geiger: :troq: :zane:
:menelker: :menelker: :midori: :persephone: :geiger: :bbb: :grave:
:midori: :troq: :onimaru: :setsuki: :midori: :menelker: :vendetta:
:onimaru: :midori: :onimaru: :grave: :gloria: :zane: :vendetta:
:persephone: :quince: :rook: :persephone: :argagarg: :troq: :menelker:
:quince: :quince: :persephone: :setsuki: :degrey: :valerie: :jaina:
:rook: :persephone: :rook: :vendetta: :troq: :setsuki: :degrey:
:setsuki: :setsuki: :midori: :quince: :rook: :grave: :gloria:
:troq: :vendetta: :midori: :grave: :troq: :rook: :persephone:
:valerie: :valerie: :bbb: :grave: :quince: :rook: :zane:
:vendetta: :troq: :rook: :vendetta: :midori: :gwen: :persephone:
:zane: :zane: :valerie: :vendetta: :lum: :grave: :degrey:
The Model
data {
    int<lower=0> NG; // Number of games
    int<lower=0> NM; // Number of matchups
    int<lower=0> NP; // Number of players
    int<lower=0> NC; // Number of characters

    int<lower=0, upper=1> win[NG]; // Did player 1 win game
    int<lower=1, upper=NM> mup[NG]; // Matchup in game
    vector<lower=0, upper=1>[NG] non_mirror; // Is this a mirror matchup: 0 = mirror
    int<lower=1, upper=NC> char1[NG]; // Character 1 in game
    int<lower=1, upper=NC> char2[NG]; // Character 2 in game
    int<lower=1, upper=NP> player1[NG]; // Player 1 in game
    int<lower=1, upper=NP> player2[NG]; // Player 1 in game
    vector[NG] elo_logit; // Player 1 ELO-based logit win chance
    vector[NG] obs_weights;
parameters {
    vector[NM] mu; // Matchup value
    vector<upper=0>[NP] char_skill[NC]; // Player skill at character
    real elo_logit_scale; // elo_logit scale
transformed parameters {
    vector[NG] player_char_skill1;
    vector[NG] player_char_skill2;
    vector[NG] win_chance_logit;

    for (n in 1:NG) {
        player_char_skill1[n] = char_skill[char1[n], player1[n]];
        player_char_skill2[n] = char_skill[char2[n], player2[n]];

    win_chance_logit = (player_char_skill1 - player_char_skill2) + non_mirror .* mu[mup] + elo_logit_scale * elo_logit;
model {
    for (n in 1:NC) {
        char_skill[n] ~ std_normal();
    mu ~ normal(0, 0.5);
    elo_logit_scale ~ std_normal();

    for (n in 1:NG) {
        target += bernoulli_logit_lpmf(win[n] | win_chance_logit[n]) * obs_weights[n];
generated quantities{
    vector[NG] log_lik;
    vector[NG] win_hat;

    for (n in 1:NG) {
        log_lik[n] = bernoulli_logit_lpmf(win[n] | win_chance_logit[n]) * obs_weights[n];
        win_hat[n] = bernoulli_logit_rng(win_chance_logit[n]);


Thanks for the data


Awesome work here. The latest few MU charts are :ok_hand:

I’m not clear on which charts this affects and how that is different to before? Were previous charts looking at win chance vs the average player?


It’s actually just about the scale of the y axis. The previous icicle charts had a scale with units of logits. Easy to sum up with other logit values, but hard to really understand. The last set converts those to win probabilites, but has to do that by assuming certain other conditions (because the “value” of a logit is non-linear in win-chance scale).


I just can’t help myself, this project keeps pulling me back in.

I just published

It’s in need of better legend, but you can play with it now. Try putting your handle into the Player box, and your upcoming IYL opponent into the Opponent box. The upper end of the bar chart gives the probability that each matchup has a particular win rate (and the color gives the overall expected win-rate for that MU). Hovering over the bars will break down the details.

The lower half of the bar chart gives the player-adjusted versions of those same probabilities. This factors in your skill in a character, your opponents skill in the character, and your relative Elo levels (as of the last time the model was run).

Have fun!


I can’t get it to work. I hit “search” and nothing happens.


Same. I enter player and opponent name but when I click ‘graph’ nothing happens. Tried on Chrome and Internet Explorer.


And third time is not the charm, either.

Edit: Actually it was!
It worked for me, and it looks beautiful. It just takes a long time to load and gives no indication that it’s in progress. But great work, @vengefulpickle!


Oh, yeah, it definitely has some processing time. I’ll put “spinner” on the todo-list. And possibly a message display in the case that something does blow up.

Until then, if there are errors, they’ll show up in the developer console (Ctrl+Shift+K in Firefox, Ctrl+Shift+I in Chrome), and I’d love to get them (either in this thread or in PM).


You should totally take the Yomi arrows and use those as your spinner.


Done! There’s now a loading spinner, and it’s the Yomi arrows. (That took me longer to implement than I really want to admit, and most of it was just making it so that the arrows actually spun around their center…)