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 ascIndexed 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 |
|---|---|---|
| Sigh | 125k | +1.44% |
| Bulldozer | 60k | +1.97% |
| Abigail | 42k | — |
| Bonehunter | 8.4k | — |
| Törr | 5.8k | — |
| Vomitor | 12k | — |
| Old | 33k | — |
| Holy Terror | 22k | — |
| Necrodeath | 20k | — |
| Deceased | 27k | — |
| Tormentor | 43k | +1.69% |
| Nifelheim | 54k | — |
| Gallhammer | 42k | — |
| Desaster | 49k | — |
| Mortuary Drape | 25k | — |
| Slaughter Lord | 7.7k | — |
| Antichrist | 18k | — |
| Alastor | 15k | — |
| Absu | 119k | — |
| Tyrant | 25k | — |
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