
Players copy what won last week, and they prepare for what they expect to face. So a plan's edge depends on two things: how strong it is, and who else shows up. Represent each team by the plans it runs, learn how plans do against each other from real matches, and you can say why a team won at that event, why a near-identical team didn't, and where the field left room.
Three claims, each tested on 3,004 open team sheets and 12,217 decided matches from Frankfurt, Louisville and Nice (Reg M-C, 2026):
A team \(t\) is a bag of tokens: its battle forms (Mega forms included), engine-derived mechanics (weather, terrain, speed control, redirection, sleep, Perish Song, key abilities) and set details (item, each move). With \(N\) teams and document frequency \(\mathrm{df}_k\),
Rare tokens weigh more, so a Raichunite X says more about a team than Protect does.
Stack the team vectors into \(\hat X \in \mathbb{R}_{\ge 0}^{N\times V}\) and factor it with non-negative matrix factorisation, the same move interpretability work uses to find sparse features inside a network:
Row \(c_f\) of \(C\) is a plan: a weighted set of tokens. Row \(h_t\) of \(H\) says how much of each plan team \(t\) runs. Each team's dominant plan is \(\arg\max_f h_{t,f}\).
Read match results off the plan activations with a pairwise logistic model:
\(s\) gives each plan one strength, like an Elo rating. The antisymmetric \(W\) holds plan-vs-plan terms: \(W_{fg} > 0\) means plan \(f\) does better against \(g\) than strength alone predicts. Antisymmetry keeps the model consistent: \(\Pr(A \succ B) = 1 - \Pr(B \succ A)\). Fit by L2-regularised log loss, regularisation picked by five-fold cross-validation.
Held out, the probe calls 53.75% of match winners. A coin calls 50%. That is pooled five-fold cross-validation, not a test on a later, unseen event, and it says nothing about how much of a result the pilot caused. It does say the sheets alone carry only a little signal, which is why every claim here is about shifts and splits, not certainties.
The logit splits into two parts:
Balduzzi and colleagues separate symmetric zero-sum games into a transitive part and a cyclic part. The ratio above is only a description of this fitted model. It ignores the covariance between the two terms, and an antisymmetric term on overlapping plan activations isn't a purely cyclic component, so it doesn't say what share of wins comes from strength or from loops. The evidence for cycles is in the raw records. Staraptor Offense beats Tyranitar Sand (67-46), which beats Froslass Snow (39-33), which beats Staraptor Offense (59-32).
Let \(f^{(e)}\) be the share of each plan at event \(e\), and \(P_{ab}\) plan \(a\)'s win rate against \(b\), shrunk toward one half with \(\alpha = 20\) virtual games so thin records can't dominate:
Shares sum to one, so their changes sum to zero, and the change in a plan's value between events splits exactly into opponent-by-opponent terms:
A term is large when an opponent both grew and matches up lopsidedly. Between Louisville and Nice the SunRain plan grew, and inside it Choice Scarf Garchomp (13 → 27%) and Snarl Archaludon (18 → 47%) rose. Against those, the Raichu Y rain team went from 4-0 to 0-4.
Even without counter-picks, popularity drags a plan toward 50%. If plan \(a\) holds share \(f_a\), its mirrors are coin flips:
Add counter-adaptation (the field brings answers to what won last week) and the edge falls faster. Weatherless Setup grew from 3.5% to 8.6% of teams while falling from 55.7% to 50.7%.
Treat plans as pure strategies in the symmetric zero-sum game \(G = \tfrac12 (P - P^\top)\). Regret matching in self-play, with the time-averaged strategy, approaches an equilibrium mix \(x^{\ast}\). The gap \(x^{\ast}_a - f_a\) marks plans the field under-played. Mega Gengar's Perish Trap was the clearest at Nice: 59.5% on Day 1, from 6% of teams.
The field's week-to-week movement looks like replicator dynamics,
On the transitive part this behaves like gradient ascent: shares flow toward stronger plans. Where real cycles exist, it can orbit instead of settling. Three events are too few to tell which of the two the Reg M-C field is doing.
meta/cases.mjs. Mechanics (Electric Seed, terrain blocking sleep, Lightning Rod) are re-run in the pinned Showdown Champions engine by meta/mechanics.cjs.