The envelope position of a named IV-spread category answers one question: when IV spreads in this category win, are they winning because the IV spreads themselves are special, or because almost any IV spread at the same stat-product rank would be winning those matchups?
That distinction matters when you’re deciding which IV spread to chase. A category that “rides above” the Anchor IVs band at its rank is doing something that the rank alone doesn’t buy you. A category that “straddles” the band is doing roughly what rank already predicts, and chasing a specific IV spread inside it isn’t worth extra effort.
Every dive has an Anchor IVs overlay on the scatter plot - a set of reference IVs (every IV spread that clears at least one named anchor - a breakpoint, bulkpoint, or CMP test - against the meta) that serve as the “what you’d naturally build” baseline. For every stat-product rank, there’s a set of anchor IVs at that rank and an average battle score for that set. Stacked across every rank, those averages trace out a band: a smooth curve of “what score do you get at rank N if you don’t go out of your way to pick a specific flavor?”
The envelope metric asks, for each named category (each row on the IV Flavor Guide, each composite card in the Per-matchup IV finder, each tier in Threshold Tiers): at matching stat-product rank, does this category’s score sit above, below, or on the band?
Why the Anchor IVs markers change color across the rank axis. Each triangle’s inner fill matches what that IV spread would look like in the base scatter underneath. So in the default Color: Threshold tiers mode, anchor IVs that clear a named tier take that tier’s color; untiered anchor IVs take a Viridis-by-score gradient. Switch the Color dropdown to a stat axis like “HP” or “Attack” and every anchor fill flips to a fixed gold - the per-tier mapping doesn’t apply outside threshold mode. Switch the Anchors dropdown to Outline and the fill drops out entirely, leaving a cyan ring per anchor IV so the band reads as an envelope edge.
Each category carries a shape label, derived from two numbers:
The classifier splits on the ratio |mean_delta| / spread. If the
mean is at least 1.5x the stdev, the category is a rider (members
consistently on one side of the band). Otherwise it’s a
band-crosser (members scatter across the band; the sign of the
mean tells you which way the scatter tilts).
That gives four named shapes. The first, second, and fourth each have a labeled trace on the screenshot above; the third (depressed-band-crosser) appears in Tinkaton UL only as single-matchup cohorts that don’t get dedicated traces.
rider-top) - members consistently
above the band. These earn their spot on top of the score
distribution not by rank alone but by some property of the IV
cut itself. For example, see the
Steelix (Shadow) Slayer
trace in the screenshot above - a tight cluster hugging the upper
edge of the grey Anchor IVs band.elevated-band-crosser) - mixed, but
averages above the band. The cut helps on average; chasing a
specific member IV isn’t strictly required. For example, the
Ampharos Atk
trace above - clearly elevated overall, but visibly spread across
the band rather than hugging the edge.depressed-band-crosser) - mixed,
averages below. The cut hurts on average; clearing the tier in
question may not be worth the trade.rider-bottom) - members
consistently below. Category to avoid. For example, the
Annihilape Bulk
trace above - a tight cluster hugging the bottom edge of the
anchor band.A fifth label, sparse, fires when the category has too few members
or too few anchors for the metric to be informative. The dive renderer
skips sparse categories entirely rather than showing a misleading tag.
Two places:
Envelope: Straddles band (net -) (avg -0.3, spread 0.9)
Hover the tag for a full tooltip: “Avg battle-score delta vs the anchor-IV band at matching stat-product rank. -0.3 average, spread 0.9 (stdev) across 7 members and 2617 anchor IVs.”
Envelope shape. 26 of 208 named categories ride above the anchor band …; 1 ride below …; 181 straddle.
The two numbers in parentheses (avg X, spread Y) tell you what you’re
looking at:
+2.8 avg, 0.4 spread rider tag is saying: “every member beats the
band by 2-3 points; zero of them are edge-cases.”+0.5 avg, 1.4 spread tag says:
“on average members beat the band a little, but picking the wrong
specific IV inside this category can put you below it.” Here the
specific IV matters - chasing a named member of the category is the
only way to collect the positive tail.A rule of thumb: spread under ~0.5 means the members behave as a
tight cluster; over ~1.5 means they scatter. mean_delta in the
single digits is typical (battle scores live in the hundreds but
delta-vs-band is usually small); a mean_delta above 3 is a strong
signal in either direction.
Looking at the envelope count on the reference dive: 26 categories ride above, 1 ride below, and 181 straddle the band (out of 208 classified).
That distribution is typical for a mid-role species: the overwhelming majority of categories straddle, which means the rank-matched anchor band is a strong predictor of outcome. The handful of riders are the interesting ones - either ship-quality picks (rider-top) or explicit traps (rider-bottom) where the mean is persistently off the band.
On the Per-matchup IV finder’s composite cards you can see the
per-category tags: the composite Slayer-plus-Bulk cards that cover a
defensive trade carry
Straddles band (net -) tags, which matches the intuition that
trading def-sacrifice for atk gains is a wash on average.
Work the envelope tag together with the category’s member count (how many IV spreads qualify) and the cutoffs themselves:
The Paste-box CSV overlay on the scatter plot makes this concrete: paste your own IV spreads into the plot, switch to the category whose tag you like, and see instantly which of your catchable IV spreads land inside a rider-top band vs a straddle.
Battle engine is a Python port of PvPoke; all game data from PvPoke by Empoleon_Dynamite (MIT license). This project would not exist without it.
Part of the PvP dive site. Explainers regenerate from current dive data every publish, so numbers stay in sync with the methodology. Last regenerated 2026-08-27.