How RapStat ranks

Every number on RapStat is a public audience count collected once a day. This page explains exactly what we measure, how the score is computed and what it can't tell you. The figures here are read live from the ranking code, so they can't drift from it.
What we measure

Current audience reach, nothing else

RapStat ranks Persian rap and R&B artists by how many people they reach right now, across the platforms where that reach is publicly countable. It is not a measure of talent, influence, legacy or record sales, and it isn’t meant to be.

A legendary artist can rank lower than their legacy if their current measurable reach is smaller. We don’t hand-adjust anyone: the same formula runs on every artist, and every artist page shows how their score was built.

Roster

186 artists

Curated, with verified profiles

Ranked

186 artists

With at least one counted number

Latest ranking

Oct 21, 2026

Rankings are computed once a day

Daily run

20:30 UTC

About midnight in Tehran

Data sources

Where the numbers come from

Every source is read once a day, at 20:30 UTC. Pages are served from the stored numbers, never from live calls. If a source fails, the last good values stay and nothing is filled in. Values marked ≈ are published by the platform in rounded form, and we always show them that way.

  • Spotify

    Scored
    Reads
    Monthly listeners, followers, top cities, top tracks, related artists
    Coverage
    185 of 186
    Exact or ≈
    Exact
    Last update
    Oct 21, 2026

    Unofficial web-player data (not Spotify’s developer API), so it can break without notice. Spotify isn’t available in Iran: listeners there use VPNs and show up in exit cities such as Frankfurt or Istanbul, which the maps label as VPN hubs.

  • Radio Javan

    Scored
    Reads
    Followers, monthly plays, total plays, songs
    Coverage
    74 of 186
    Exact or ≈
    ≈ Radio Javan monthly plays
    Last update
    Oct 21, 2026

    Unofficial app API. Plays are published rounded (“1.2M”), so they are marked ≈ everywhere.

  • YouTube

    Scored
    Reads
    Subscribers, total views, latest uploads
    Coverage
    113 of 186 (3 not counted)
    Exact or ≈
    ≈ YouTube subscribers
    Last update
    Oct 21, 2026

    Official Data API. YouTube rounds subscriber counts, so they are marked ≈. A personal or non-music channel is collected but not scored.

  • Deezer

    Scored
    Reads
    Fans
    Coverage
    63 of 186
    Exact or ≈
    Exact
    Last update
    Oct 21, 2026

    Public API. Many Persian artists have no Deezer profile, which is why a missing platform costs only part of its weight.

  • Last.fm

    Not scored
    Reads
    Listeners, scrobbles
    Coverage
    0 of 186
    Exact or ≈
    Exact
    Last update
    Not collected (no API key)

    Not in the formula yet: no roster artist has a verified Last.fm profile, so its weight is left out instead of counting as zero for everyone.

  • Telegram

    Not scored
    Reads
    Channel subscribers
    Coverage
    4 of 186
    Exact or ≈
    Exact
    Last update
    Oct 21, 2026

    Shown on profiles but excluded from scoring until coverage is broad (only 4 artists have a verified channel).

The score

How the 0–100 score works

The score combines several metrics, each with a fixed weight. A metric only enters the formula when at least one roster artist has a value for it, so a platform nobody is on can’t drag everyone down.

Score weights per metric
MetricWeightStatus
Spotify monthly listeners0.30Scored
Radio Javan monthly plays≈0.15Scored
YouTube subscribers≈0.15Scored
Radio Javan followers0.10Scored
YouTube views0.10Scored
Spotify followers0.05Scored
Deezer fans0.05Scored
Last.fm listeners0.05Not in the formula yet
Telegram subscribers0.00Not scored
  1. 1. A log scale with a floor

    Audiences range from hundreds to millions, so each value is placed on a log scale between the roster’s 10th percentile (which scores 0) and the roster leader (which scores 1). A tiny account earns about nothing; doubling a big audience moves the needle less than doubling a small one.

    scaled = (log(1 + value) − log(1 + p10)) / (log(1 + max) − log(1 + p10)), clipped to 0–1

  2. 2. Missing a platform costs part of its weight, not all of it

    If an artist has no profile on a platform, it doesn’t count as a zero. Instead, λ = 0.35 of that platform’s weight is added to the denominator. Not being on Radio Javan, for example, adds 0.35 × 0.25 instead of the full weight. Being on more platforms still helps, but a missing one costs less than a zero would.

  3. 3. Non-music channels don’t count

    When an artist’s only channel on a platform is personal or non-music (vlogs, a channel run by someone else), we still collect and show it, but it is scored as if the artist weren’t on that platform. Right now that applies to 3 YouTube channels.

  4. 4. Stale data is skipped

    Only values from the last 7 days count. If we have an artist’s profile but a collector failed, that metric is skipped: no points and no penalty, so an outage on our side never lowers anyone.

score = 100 × Σ (weight × scaled) / Σ (weight, or λ × weight for a missing platform)

Worked example: Amir Tatalooامیر تتلو, #1 on Oct 21, 2026

Each value is placed between the roster’s 10th percentile (→ 0) and the roster leader (→ 1) on a log scale, then multiplied by its weight.

  • Spotify monthly listeners273,223

    roster 4,164 → 297,060

    scaled 0.980 × weight 0.30 = 0.2941

  • Spotify followers922,480

    roster 2,513 → 922,480

    scaled 1.000 × weight 0.05 = 0.0500

  • Radio Javan monthly plays≈3,480,000

    roster 11,940 → 5,210,000

    scaled 0.934 × weight 0.15 = 0.1400

  • Radio Javan followers591,101

    roster 949 → 591,101

    scaled 1.000 × weight 0.10 = 0.1000

  • YouTube subscribers≈938,000

    roster 1,063 → 938,000

    scaled 1.000 × weight 0.15 = 0.1500

  • YouTube views289,083,836

    roster 96,680 → 289,083,836

    scaled 1.000 × weight 0.10 = 0.1000

  • Deezer fans13,493

    roster 107 → 14,470

    scaled 0.986 × weight 0.05 = 0.0493

Σ weight × scaled = 0.8834 Σ weights = 0.90 = 0.9000 score = 100 × 0.8834 / 0.9000 = 98.2 (published: 98.2)

Every artist page has the same breakdown, platform by platform.

Growth & history

Growth, Rising and the history charts

Growth compares each metric with its own value a while ago and averages the relative changes by weight, using only metrics that have a value at both ends. The comparison point may be a few days off the exact date:

7-day growth

± 3 days

Closest value within 3 days of 7 days ago

30-day growth

± 12 days

Closest value within 12 days of 30 days ago

1-year growth

± 45 days

Closest value within 45 days of a year ago

Rising sorts artists by 30-day growth: long enough to ignore day-to-day noise, short enough to catch a breakout.

Live points and archived points

  • Live: one snapshot per artist per day, from the day the artist joined RapStat.
  • Archived: earlier months rebuilt from copies of public profile pages saved by the Internet Archive. They are drawn dashed in the charts.
  • A capture only counts if the archive returns that exact capture. We never accept the archive’s redirect to the nearest one, which can be years away. We keep at most one point per artist, metric and month.
  • A value identical to one captured more than 60 days earlier is dropped as a stale copy.
  • Archived months are ranked by Spotify monthly listeners only (the one metric with consistent archive coverage), among artists with an archived value within ± 45 days, and only when at least 10 artists qualify. They aren’t comparable to live cross-platform scores.
Roster

A curated roster with verified profiles

RapStat follows a curated list of 186 Persian rap and R&B artists, Iranian and diaspora. Every platform profile is verified by hand and stored by its id, so collectors never search by name and never pick up a namesake. When an artist has a second Spotify profile, the two are merged.

Spotify

185 of 186

verified profiles

Radio Javan

74 of 186

verified profiles

YouTube

113 of 186

verified profiles · 3 not counted

Deezer

63 of 186

verified profiles

Telegram

4 of 186

verified profiles

What we don't do

What we never do

No paid placements

Nobody can pay to be listed, ranked higher or featured. Rank is the formula above, nothing else.

No manual boosts

No artist is adjusted by hand, up or down. Exclusions only remove non-music channels, and they are shown on the artist page.

No estimates presented as exact

Rounded platform figures carry ≈, missing data is shown as missing, and we never guess a number.

Parameters on this page are served by the API from the ranking code (ranking of Oct 21, 2026).