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 ascselect
ts.snapshot_date, ts.week_number, ts.listeners, ts.listeners_indexed,
cw.artist_count, cw.p25_indexed, cw.median_indexed, cw.p75_indexed
from api_artist_timeseries ts
left join api_cohort_weekly cw
on cw.cohort_type = $2 -- 'genre' or 'size_band'
and cw.cohort_key = $3 -- primary_genre or size_band
and cw.snapshot_date = ts.snapshot_date
where ts.artist_id = $1
order by ts.snapshot_date asc| Artist | Listeners | 13-week growth |
|---|---|---|
| xtsy* | 129k | +10.73% |
| rexv2 | 110k | +15.27% |
| echstacy | 136k | +15.06% |
| Subiibabii | 168k | +7.36% |
| RainingLol | 57k | +24.28% |
| Swapa | 209k | +7.68% |
| Giovanni Marradi | 9.1k | — |
| Tana | 418k | +4.22% |
| I Love You | 71k | +8.91% |
| Underground Sound | 57k | +4.84% |
| Chechive | 81k | +17.00% |
| Prada Archive | 71k | +18.53% |
| hxldr | 57k | +21.43% |
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