About the Metrics

FantasyMeter helps you understand how each hero contributes to results across tournaments. Our metrics blend hero performance (scoring, participation, consistency) with player choices(deck building, entry selection, timing). What you see is the outcome of both: strong heroes amplified by smart decisions—or flagged when a good hero underperforms in a given lineup.

Initial Value (Vi)

Vi is your cost basis per card (ETH). It drives all ROI metrics. You can set a custom Vi (your purchase price) or use the default mode when available.

FormulasROI = Σ(Hero ETH-equiv) / Vi,  ROIₜ = Hero ETH-equiv / Vi

Fragment Rate

Some rewards are paid in Fragments. We convert them to ETH with a configurable rate (default 0.00006 ETH/Frag) to aggregate ETH + Frags into “ETH-equivalent”.
ProTip: you can set a custom frag ETH rate for each tournament. Read more in the How To.

Deck Score & Hero Score

Each tournament yields a DeckScore and a HeroScore. “Normalized” scores remove rarity multipliers; “Raw” scores include them and align with reward splits.

Hero Participation

We apportion rewards using the hero’s share of deck output:

Formula: hp = HeroScore / DeckScore

If DeckScore = 0, participation is treated as 0.

Deck Rewards → Hero Share

Deck rewards are ETH + Fragments. We attribute the hero’s share via hp:

HeroETH = DeckETH × hp
HeroFrags = DeckFrags × hp

ETH-equivalent Reward

Combine ETH and Fragments with the fragment rate:

DeckETH-equiv = DeckETH + DeckFrags × rate
HeroETH-equiv = HeroETH + HeroFrags × rate

Per-Tournament ROIₜ

For each tournament we compare hero ETH-equiv to Vi:

ROIₜ = HeroETH-equiv / Vi

The UI shows average ROIₜ and volatility (σROI).

Overall ROI

Cumulative return using hero-apportioned ETH-equivalent:

ROI = Σ(HeroETH-equiv) / Vi

σROI (Volatility)

Standard deviation of per-tournament ROIₜ values (population σ). Lower σ indicates more consistent performance.

Momentum-Level (from gliding_24h / gliding_7d) [MeterAI Exclusive]

🔒 Turning on Momentum-Level metrics in the card panel costs 5 Runes.

Momentum (24h vs 7d)

Current “heat” versus the weekly baseline.

  • > 0 → trending up; < 0 → cooling versus the 7-day glide.
  • Useful for spotting fresh moves or post-spike cool-downs.

Momentum (24h vs 3d)

Short-term burst versus mid-week trend.

  • > 0 → short term outpacing the 3-day glide; < 0 → losing pace.

Momentum (24h vs 21d)

Short-term move versus the longer 3-week context.

  • Helps separate noise from real regime shifts.

Momentum (3d vs 21d)

Mid-range trend versus long-range baseline.

  • Good for confirming sustained improvement or deterioration.

Alignment score

How many of the momentums above are positive (0–4).

  • 3–4 → broad strength; 0–1 → broad weakness; 2 → mixed.

Velocity (rank)

Speed of rank improvement/decline (higher is better).

  • > 0 → rank improving (smaller rank numbers); < 0 → slipping.

Acceleration (rank)

Change in rank velocity.

  • > 0 → improvement is speeding up; < 0 → momentum fading.

Velocity (score)

Slope of the 24h score trend.

  • Pairs with rank velocity to confirm/deny the move.

Acceleration (score)

Change of the score slope.

  • Positive and rising → building power; negative → stalling.

Volatility (24h σ)

How choppy the last day has been.

Lower = steadier; higher = whipsaw.

Volatility (7d σ)

Baseline choppiness over the week.

Use as a context anchor for 24h moves.

Δσ (24h − 7d)

Volatility compression/expansion versus the week.

  • < 0 → calming down (often constructive); > 0 → heating up.

CV (7d)

Scale-free stability: volatility relative to the average.

Lower CV = more dependable prints.

Z (24h vs 21d)

Where the latest 24h score sits versus the 21-day average.

  • ~0 = typical; > +1 strong; < −1 weak.

% from 21d high

Distance from the recent peak.

  • Closer to 0% → pressing highs; larger negatives → pulled back.

% from 21d low

Distance from the recent floor.

  • Closer to 0% → retesting lows; higher → safely above the floor.

RSI (14)

Overbought/oversold style momentum read on score changes.

  • > ~55 constructive; < ~45 weak; extremes near 70/30 can mean exhaustion.

Percentile (21d)

How today’s print ranks within the last 21 days.

  • 80% → top quintile; 20% → bottom quintile.

Star Efficiency (live)

“Points per current star” snapshot. If stars go up, this can dip even as score improves.

ΔSE (24h − 7d)

Change in conversion efficiency per star.

  • > 0 → converting better than the weekly norm; < 0 → softer conversion.

SE z(21d)

Star-efficiency versus its 21-day norm.

  • Positive → unusually efficient; negative → below usual conversion.

Divergence (score vs rank)

Score and rank disagree.

  • Score↑ + Rank↓ → stealth strength; Score↓ + Rank↑ → hollow momentum.

Composite momentum

Single view that blends momentum, rank velocity, context, and stability.

  • > +0.20 often bullish; < −0.20 often bearish; in-between = mixed/indecisive.

Tournament-Level (from tournament_histories + usage)

These compare tournament N vs N−1 and incorporate deck participation. “LA” below means league-aware (Reverse leagues flip participation to 1 − Hero/Deck).

ΔHero (norm, LA)

Change in normalized hero score vs the previous tournament (rarity-neutral).

ΔHeronorm,LAₙ = HeroNormₙ − HeroNormₙ₋₁

ΔHero (raw, LA)

Same concept using raw scores (includes rarity multipliers; aligns with reward splits).

ΔHeroraw,LAₙ = HeroRawₙ − HeroRawₙ₋₁

TPD (Tournament Performance Delta)

Change in history stream’s fantasy_score between tournaments.

TPDₙ = Scoreₙ − Scoreₙ₋₁

Reading: positive = improved; negative = regressed.

HP (Hero Participation)

Hero’s share of deck output in the tournament.

Normal: hp = Hero / Deck
Reverse: hp = 1 − (Hero / Deck)

DPI (Deck Push Index)

Did the hero carry more or less than their own baseline?

DPIₙ = hpₙ − mean(hp on past tournaments)

> 0 pushed more than usual; < 0 dragged relative to baseline.

RAL (Reward Attribution Lift, ETH-eq)

Extra ETH-equivalent vs expectation at baseline participation.

ExpectedHP = mean(past hp)
Expected = DeckRewardₙethEq × ExpectedHP
RAL = HeroRewardₙethEq − Expected

> 0 added more value than expected; < 0 underdelivered.

Consistency (σ, CV)

Steadiness of hero tournament scores.

σ = stdev(last m tournament scores)
CV = σ / mean

Practical reading patterns

  • Negative momentum after a great week? Normal after a vertical move: the 7d line stays near peak while 24h cools.
  • Which ΔHero to trust? Use normalized for rarity-neutral performance; use raw for reward relevance.
  • Reverse leagues: Participation flips to 1 − ratio; DPI and RAL already honor that.
  • Star Efficiency (live): uses current star count for both 24h/7d; per-tournament star history is not available.

DDIᴺ, DDIᴿ & Rarity Premium

DDI (Deck Dependency Index) measures how much the hero’s score accounts for the deck’s score. We show it in two flavors.

DDIᴺ — rarity-neutral

Uses normalized scores (no rarity multipliers).

DDIᴺ (weighted) = Σ(HeroNorm) / Σ(DeckNorm)
DDIᴺ (avg) = mean(HeroNorm / DeckNorm)

DDIᴿ — rarity-weighted

Uses raw scores (with rarity multipliers) — aligns with reward splits.

DDIᴿ (weighted) = Σ(HeroRaw) / Σ(DeckRaw)
DDIᴿ (avg) = mean(HeroRaw / DeckRaw)

Interpretation bands (rules of thumb):

  • < 0.15 — Low dependency (filler role).
  • 0.15–0.30 — Normal share.
  • > 0.30 — High dependency (carry).

Rarity Premium

Change in contribution once rarity multipliers are applied.

Rarity Premium = (DDIᴿ / DDIᴺ) − 1
  • > 0% — Multipliers help this card (or Reverse exposure favors it).
  • ≈ 0% — Little to no effect from rarity (or small/mixed sample).
  • < 0% — Multipliers hurt this card (teammates likely higher rarity in non-Reverse).

Hero Win (per tournament)

ETH-equivalent earned by this hero in a specific tournament after apportioning:

Hero Win = HeroETH-equiv = (DeckETH + DeckFrags × rate) × hp

Rounding & Display Rules

  • ETH values typically show 5 decimals.
  • Fragments are shown rounded in the UI; calculations use exact fractional values.
  • Percentages display to 2 decimals.
  • When deck rewards are zero and Vi > 0, ROIₜ displays 0.00% (or where intentionally muted).

Break-even (by league)

Approximate tournaments to recover Vi in a league if future performance matches historical average:

Break-even ≈ 1 / avg(ROIₜ)

Where ROIₜ = HeroETH-equiv / Vi. If avg(ROIₜ) ≤ 0 or Vi = 0, break-even is shown as . The fragment rate affects ETH-equivalent and thus ROI.

League breakdown table

Aggregates performance by league to help place cards optimally:

  • Used: number of tournaments in that league.
  • ROI: Σ(Hero ETH-equiv) / Vi, using only those tournaments.
  • ROIₜ (avg): mean of per-tournament ROIₜ in the league.
  • σROIₜ: volatility (std. dev.) of ROIₜ in the league.
  • DDI: weighted deck-dependency (ΣHeroScore / ΣDeckScore).
  • Break-even ~tourn.: ≈ 1 / avg(ROIₜ) for that league.

Notes: Participation and rewards are Reverse-aware; fragment rate affects ETH-equivalent and thus ROI.

Zero Rewards & Missing Data

  • If DeckScore = 0, we set hp = 0 for that tournament.
  • If rewards are missing, we treat them as zero for ROI and label the row accordingly.
  • If Vi = 0, ROI metrics show to avoid division by zero.

Worked Examples

Example A: Deck rewards 0.003 ETH and 50 Frags; rate=0.00006; hp=30%.

  • DeckETH-equiv = 0.003 + 50×0.00006 = 0.006 ETH
  • HeroETH-equiv = 0.006 × 0.30 = 0.0018 ETH
  • If Vi = 0.04 → ROIₜ = 0.0018 / 0.04 = 4.50%

Example B: Deck rewards 0 ETH and 20 Frags; hp≈19%; Vi=0.03810; rate=0.00006.

  • DeckETH-equiv = 20×0.00006 = 0.00120 ETH
  • HeroFrags = 20×0.19 = 3.8 → HeroETH-equiv ≈ 3.8×0.00006 = 0.000228 ETH
  • ROIₜ ≈ 0.000228 / 0.03810 ≈ 0.60%

FAQ

Why are some tournaments missing?

We may have hit API rate limits, or the event predates our tracked range. FantasyMeter currently loads data from Season 1 (Main 49) onward.

Why can “Frags: 4 (≈ 0.00023 ETH)” be less than 4 × rate?

UI rounds Frags for readability; calculations use exact fractional Frags (e.g., 3.80), so ETH-equivalent reflects the precise number.

What’s the difference between ROI and ROIₜ?

ROI is overall performance: Σ(hero ETH-equiv)/Vi. ROIₜ is the per-tournament value, which we average and use for σROI.

How are DDIᴺ and DDIᴿ different? What do “weighted” vs “avg” mean?

DDIᴺ uses normalized (rarity-neutral) scores. DDIᴿ uses raw (rarity-weighted) scores that align with reward splits. “Weighted” uses totals (ΣHero/ΣDeck) so high-scoring tournaments count more; “avg” is the simple mean of per-tournament ratios (Hero/Deck).

Can I change the fragment rate?

Yes—most views expose a Fragment Rate control. Changing it updates ETH-equivalent and all ROI metrics.

Need help interpreting a specific card? Head back to Home, search a wallet, and open a card.
← Back to app
Pro Tips
  • Use a custom Vi to reflect your true cost basis.
  • Compare DDI and σROI to spot consistent contributors vs. high-variance heroes.
  • Hero Win is already apportioned by participation—use it to compare lineups fairly.
  • Watch Momentum and Velocity during the window; negative momentum right after a spike is normal.