FanHub

Score explainers

Four composite scores per artist per day, each on a 0–100 scale. Per-tier percentile banding, transparent component breakdowns, versioned weights.

Virality

Streaming + social + search momentum. Designed to surface breakouts.

  • 25% streaming momentum (7-day velocity vs 28-day baseline)
  • 20% TikTok momentum (hashtag + creator usage velocity)
  • 15% YouTube momentum (views + subscriber gain)
  • 10% Spotify editorial lift (presence in Indonesian editorial playlists)
  • 10% search momentum (Google Trends breakout signal)
  • 10% Shazam rank delta (movement in Shazam Indonesia chart)
  • 5% radio airplay (monitored stations)
  • 5% press mentions (Indonesian media)

Concert readiness

How book-able an artist is for an Indonesian concert right now.

  • 30% Indonesia monthly listeners
  • 25% city concentration (top-10 city index)
  • 15% past sellout rate (last 12 months)
  • 15% social followers in Indonesia
  • 10% pre-save velocity
  • 5% lyric language fit (Indonesian language share)

Merch readiness

Whether an audience is engaged enough to buy artist-branded goods.

  • 30% engaged fan base (engagement rate × followers)
  • 25% fandom identity strength (named fandom, X/Twitter presence)
  • 20% past merch signal (manual flag from drops history)
  • 15% brand aesthetic clarity (editorial flag)
  • 10% recent release energy (album/EP within 180 days)

Trading-card readiness

K-pop-style collectible signal. Built for trading-card pack picks.

  • 35% collectible fandom (bias-driven indicators)
  • 25% member visual appeal (photo-card-friendly imagery)
  • 20% release cadence (frequency of new content)
  • 10% lineup complexity (groups score higher than solos)
  • 10% e-commerce reach (Shopee/Tokopedia velocity)

Guardrails

  • No score moves more than ±20 points in a single day. Anomalies are clamped + logged.
  • Missing inputs are imputed to the artist's 28-day trailing mean. If no mean exists, the component contributes 50 (neutral).
  • Confidence label appears alongside every score: high (≥80% inputs present), medium (50–79%), low (<50%).

Per-tier banding

Each input is normalized 0–100 using percentile rank within the artist's tier (A–K), not across the whole roster. A Tier C indie isn't penalized for not having Taylor Swift's listener count.

Versioned weights

Weights live in a config file (versioned in git). Every score row is tagged with the weights version that produced it, so historical scores stay defensible after a re-weight.