Skip to content

epunto/daita-final-project

Repository files navigation

Project logo

Pubblicità

Un progetto di data engineering per l'analisi di pubblicità


📝 Indice

🧐 Problema

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.

(back to top)

💡 Soluzione

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.

Ricezione dei file

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
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.

Python e Jupyter: una ETL

Per prima cosa, dovevamo velocemente testare come poter leggere i file: a questo scopo è stato creato il notebook Jupyter 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 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.)

Data Lake

Una volta ottenuto il nostro dataset finale result, abbiamo creato un database MySQL 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

Data exploration

Tornando su Jupyter Jupyter Notebook, 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.

heatmap

Data Science (R)

R

PowerBI

Usando PowerBI 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
dato cleaning

(back to top)

🚩 Limitazioni

  • 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.

(back to top)

🎈 Utilizzo

Per vedere la dashboard in PowerBI

Scaricare il file adv.pbix dalla cartella PowerBi

Per eseguire il codice

Scaricare il contenuto della repository come file ZIP.

come_iniziare_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)

(back to top)

⛏️ Costruito con

(back to top)

✍️ Autori

  • Baldoni Eugenia (@niaBaldoni)
  • Scrima William
  • De Cales Giovanni
  • Rossi Eleonora
  • Anas Chaya
  • Roma Marco
  • Murgo Francesco

🎉 Riconoscimenti

  • 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

(back to top)

About

Project Work del gruppo E. della classe DAITA10 (corso per Data Engineers)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors