o que é isto
Sobre
O Encore é um projeto de portfólio de dados, sem fins comerciais, sobre como as bandas usam a própria discografia nos shows.
Para que serve
Ele pergunta como sete bandas tratam a própria discografia no palco: vivem do passado ou apostam em material novo, os shows mudam de uma noite para outra, e quanto tempo uma música sobrevive no repertório ao vivo. Duas outras perguntas, a estrutura do show e as diferenças por país ou tipo de casa, ficam para versões futuras.
É também um exemplo prático de um pipeline de dados pequeno e completo, com o método escrito ao lado dos gráficos.
Como é feito
- Ingestão. Clientes Python das APIs do setlist.fm e do MusicBrainz, orquestrados pelo Apache Airflow (LocalExecutor) em Docker Compose, em uma máquina virtual ARM64.
- Armazenamento e transformação. PostgreSQL 16 e dbt Core. Os dados brutos do setlist.fm ficam em um schema efêmero, esvaziado ao fim de cada execução; os modelos de staging e intermediários são views; só os marts agregados persistem.
- Análise. pandas e lifelines (Kaplan-Meier) para rotação e sobrevivência das músicas.
- Este site. Um site estático gerado a partir dos marts com Python, Jinja2 e matplotlib (os gráficos são SVG inline, sem biblioteca de gráficos em JavaScript), em português e inglês, no Cloudflare Pages. Sem API e sem banco de dados em tempo de execução.
Código
O código, as notas de metodologia e as especificações estão no GitHub. Feito por alexarnoni.