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.