← All methodology
Methodology · Sector scoring

The momentum formula behind every sector heat score.

Every sector on the Narratives page gets a 0 to 100 heat score. Here's the exact formula, the inputs, and the bounds. no AI, no black box.

The sectors we track

10 narrative sectors, each defined as a set of CoinGecko category labels plus a small list of hand-picked anchor coins. A token can belong to multiple sectors.

  • RWA (Real World Assets)
  • AI Tokens
  • DePIN
  • Layer 2
  • DeFi
  • Memecoins
  • Gaming
  • Liquid Staking
  • Privacy
  • Bitcoin L2

The score formula

v1 is pure price momentum across the sector's constituent tokens (filtered to the top 500 by market cap):

raw = 50 + (avg24h × 1.5) + (avg7d × 0.5) score = clamp(raw, 0, 100) avg24h = mean(price_change_percentage_24h for each token in sector) avg7d = mean(price_change_percentage_7d for each token in sector)
  • Baseline = 50, so a sector with no momentum lands neutral.
  • 24h gets 3× the weight of 7d so the score is reactive without being noise-driven.
  • Clamped to 0 to 100. a sector that's ripping or collapsing hits the rails predictably.

Trend label

Alongside the 0 to 100 score, each sector gets a one-word trend:

trend = avg24h > +3 ? "Rising ↑" : avg24h < -3 ? "Cooling ↓" : "Stable"

The 3% threshold filters out noise and ensures the trend label actually means something across typical crypto-sector volatility.

Sparse sectors

If a sector has zero tokens classified into it (rare. only happens for new sectors before the token universe catches up), we return the default neutral state: score = 50, trend = stable, tokenCount = 0. Better than NaN propagating into the rest of the dashboard.

Refresh cadence + caching

Sector scores cache for 5 minutes. The underlying price data refreshes hourly via a separate cron, so 5 minutes of staleness is the right speed/cost trade-off.

What this does NOT do (yet)

  • Weight tokens by market cap. We use simple averages. a $10B token has the same vote as a $50M one inside a sector. This will change in v2.
  • Layer in on-chain TVL deltas. high TVL growth without price action would currently score low.
  • Layer in social mindshare. a sector dominating crypto Twitter without price confirmation currently scores neutral.
  • Account for outliers. a single token ripping 40% can pull the sector average meaningfully. Median scoring is on the roadmap.