select
snapshot_date, week_number, listeners, playcount,
listener_delta, listener_pct_change, listeners_indexed
from api_artist_timeseries
where artist_id = $1
order by snapshot_date ascNo comparison cohort available for this artist yet — showing its own indexed series only.
Indexed to 100 at each series' first observation.
with peers as (
select similar_artist_id as artist_id
from api_artist_similar
where artist_id = $1
),
peer_agg as (
select
ts.snapshot_date,
count(*) as artist_count,
percentile_cont(0.25) within group (order by ts.listeners_indexed) as p25_indexed,
percentile_cont(0.5) within group (order by ts.listeners_indexed) as median_indexed,
percentile_cont(0.75) within group (order by ts.listeners_indexed) as p75_indexed
from api_artist_timeseries ts
join peers p on p.artist_id = ts.artist_id
group by ts.snapshot_date
)
select ts.*, pa.artist_count, pa.p25_indexed, pa.median_indexed, pa.p75_indexed
from api_artist_timeseries ts
left join peer_agg pa on pa.snapshot_date = ts.snapshot_date
where ts.artist_id = $1
order by ts.snapshot_date asc| Artist | Listeners | 13-week growth |
|---|---|---|
| Luci4 | 618k | +3.41% |
| Sellasouls | 39k | +3.73% |
| kaystrueno | 142k | +3.01% |
| 2shanez | 46k | +3.93% |
| Nuvfr | 163k | +5.46% |
| Yuke | 129k | +9.56% |
| Sephe | 105k | +2.11% |
| rachyl | 19k | +9.38% |
| lungskull | 134k | +4.24% |
| *67 | 131k | +7.19% |
| removeface | 209k | +6.63% |
| Predayed | 70k | +30.35% |
| imsg | 42k | +9.30% |
| Marluxiam | 186k | +2.90% |
| So So | 95k | +9.40% |
| 4jay | 21k | +7.37% |
| Bryansanon | 238k | +5.10% |
select
similar_artist_id, slug, display_name, size_band,
latest_listeners, total_pct_growth, weeks_tracked, similarity_score, rank
from api_artist_similar
where artist_id = $1
order by rank ascselect *
from api_artist_profile
where artist_id = $1