Skip to content
FanHub

Virality v0.2.0 — what we measure and how

FanHub’s virality score is a 0–100 composite of eight components, each weighted and refreshed daily. Numbers come from publicly visible signals only — we don’t claim insight into private platform analytics. This page documents what each component measures, where the data comes from, and how often it’s refreshed.

Components

  1. Streaming momentum

    18%

    Source: Spotify Monthly Listeners + kworb Indonesia rank delta

    7-day delta of Spotify monthly listeners (per artist), z-scored against tier peers, fused with kworb's Indonesia rank movement.

  2. YouTube momentum

    18%

    Source: YouTube view velocity + subscriber delta

    Combined view-rate and subscriber-rate change over 7 days. Cross-platform fusion was removed in v0.2.0 — YouTube's signal is treated as standalone.

  3. TikTok momentum

    22%

    Source: TikTok hashtag scrape (per-artist)

    Rolling 7-day post count for the artist hashtag, z-scored against tier peers. Highest-weighted component for v0.2.0 — Indonesia is TikTok-first for music discovery.

  4. Spotify editorial lift

    10%

    Source: Spotify editorial playlist scan

    Number of editorial-playlist appearances in the past 7 days, weighted by playlist follower count.

  5. Search momentum

    6%

    Source: Wikipedia pageviews + Google Trends (geo=ID)

    id.wikipedia pageviews fused with Google Trends Indonesia interest. Tiers G/I/J/K fall through to en.wikipedia when the artist's id-locale article doesn't exist.

  6. Shazam rank delta

    6%

    Source: Shazam Indonesia chart

    7-day movement on Shazam's Indonesia top 200. Lower position numbers are better; we invert before normalising.

  7. Chart lift

    12%

    Source: Apple Music Indonesia + kworb

    Apple ID position + kworb's best 30-day position, lower-better. New in v0.2.0 — replaces the radio_airplay component which had no free data path.

  8. Press mentions

    8%

    Source: Indonesian press (Google News RSS)

    Rolling 30-day press-mention count from Indonesian outlets, log-banded against tier peers.

Sources

  1. Spotify

    Daily 02:00 + 02:15 + 02:30 WIB

    Three passes: API metadata, page scrape (for monthly listeners and follower count, since Spotify's 2024 client_credentials change), and editorial playlists.

  2. YouTube

    Daily 03:00 WIB

    Per-artist channel statistics. Subscriber delta and view-velocity derived in transform.

  3. kworb

    Daily 04:00 WIB

    Indonesia daily streams + best chart position. Matched to artists by Spotify ID. We don't claim kworb's underlying methodology is ours — see kworb.net for theirs.

  4. Wikipedia

    Daily 07:30 WIB

    id.wikipedia pageviews (1d + 7d windows). Article-title matching is strict — fuzzy matches are flagged for review and excluded from the score until verified.

Refresh schedule

Sources fetch in a staggered window from 02:00–07:45 WIB. The score recompute fires at 08:00 WIB; public materialised views refresh at 08:10 WIB. End-to-end latency from a metric becoming visible on a source platform to landing on FanHub: roughly 24 hours, with batch lag and per-source freshness shown explicitly via the LIVE / STALE / IMPUTED pills on every datapoint.

Version log

  1. v0.2.0 — 2026-04-27. Streaming momentum redefined (Spotify ML + kworb instead of Spotify + YouTube fused). YouTube momentum standalone. Search momentum split into id.wiki + Google Trends. New chart lift component (replaces radio_airplay). Press mentions bumped 5% → 8%. Tier E (dangdut/koplo) and Tier A (legacy) override profiles introduced.