Un progetto di data engineering per l'analisi di pubblicità
Il cliente ha richiesto l'analisi di alcuni dati per capire quanto vale la pena investire in pubblicità, e quali canali sono i più appropriati.
Per analizzare i dati, abbiamo sviluppato una pipeline per portare i dati dai file originali alla nostra dashboard in PowerBi, dove possiamo mostrare i risultati delle nostre analisi.
Abbiamo inizialmente ricevuto 4 file di formati diversi: due file CSV, un file XLS, e un file SQL. Di seguito, degli screen che esemplificano la varietà di formati.
| CSV | XLS | SQL |
|---|---|---|
Ad una prima occhiata, appare possibile combinare tutti i dati in un singolo dataset grazie alla colonna adv_ID; la possibilità è stata esplorata con l'aiuto di Python.
Per prima cosa, dovevamo velocemente testare come poter leggere i file: a questo scopo è stato creato il notebook 01_data_collection per aprire, leggere e trasformare i file.
È stata testata una possibile soluzione con tale notebook usando le librerie Python. Con Pandas, per ogni file in input è stato creato un dataframe, e questi dati sono stati unificati in un singolo dataframe facendo operazioni di merge sulla colonna adv_ID.
Una volta accertato che l'operazione restituisse con successo il dataset, è stato creato un file Python 02_ETL_pipeline per astrarre l'operazione (ed, eventualmente, automatizzarla nel caso ricevessimo nuovi file, o nel caso i file che abbiamo venissero aggiornati.)
Una volta ottenuto il nostro dataset finale result, abbiamo creato un database MySQL per salvare i nostri dati. I comandi per la creazione di tale database si possono trovare nel file 03_database.
Ora possiamo interrogare il nostro database; ad esempio, la query:
SELECT MIN(Sales), MAX(Sales), AVG(Sales)
FROM adv_data.dati;Restituisce la seguente tabella:
| MIN(Sales) | MAX(Sales) | AVG(Sales) |
|---|---|---|
| 2 | 999 | 20.1600 |
Tornando su Jupyter , abbiamo esplorato il nostro dataset (04_data_exploration) usando librerie Python come Seaborn e Matplotlib per vedere in forma grafica com'è fatto il dataset, e quali potrebbero essere eventuali relazioni tra le variabili.
Ad esempio, abbiamo prodotto una heatmap che mostra chiaramente un alta correlazione tra le vendite (Sales) e il budget per la televisione (TV); potrebbe valere la pena esplorare meglio questa relazione.
Usando PowerBI , abbiamo caricato i dati e tramite Power Query ripuliti dai dati anomali riscontrati nelle prime analisi fatte.
Procediamo poi ad effettuare varie analisi grafiche riportando quelle più significative Es. la suddivisione delle spese e del fatturato.
| Dato Anomalo in evidenza | Data Cleaning con Power Query |
|---|---|
![]() |
- La quantità di spunti di riflessione rilevanti per il business è stata inferiore alle previsioni; forse il dataset era troppo piccolo (solo 200 righe), o forse mancavano dati aggiuntivi che potessero aggiungere profondità alla ricerca.
Scaricare il file adv.pbix dalla cartella PowerBi
Scaricare il contenuto della repository come file ZIP.
Decomprimere il file nella cartella desiderata, poi aprire la cartella in Visual Studio Code. Potrebbe essere necessario installare alcune estensioni per aprire e/o eseguire alcuni tipi di file (es file Jupyter)
- Baldoni Eugenia (@niaBaldoni)
- Scrima William
- De Cales Giovanni
- Rossi Eleonora
- Anas Chaya
- Roma Marco
- Murgo Francesco
- Grazie a Generation Italy per il corso di Junior Data Engineer, senza il quale non avremmo realizzato questo progetto
- Grazie a Christian Iozzi per averci ispirati
- Grazie a Marco Cavalotto e Diana Lungoci per averci accompagnati in questo viaggio
- Grazie a Francesco Del Pizzo e Simone Migliorisi per il supporto morale durante lo sviluppo


