il DataGame di Miriade
Favicon miriade Vuoi vincere 500 euro e avere la possibilità di svolgere un colloquio in Miriade come Data Analyst? ...
2018
15/03
 
  Partecipanti 32 Sottomissioni 270  
 

Vuoi vincere 500 euro e avere la possibilità di svolgere un colloquio in Miriade come Data Analyst? Scopri il DataGame per studenti e laureati organizzato a Padova il 15 marzo da Miriade.

Il lancio della competizione è fissato per l’8 marzo, se non sei ancora iscritto, registrati qui.






Link alla pagina dell’evento



Descrizione del problema


I gusti e gli interessi della clientela sono sempre stati un tema rilevante per i grandi distributori.

La sfida proposta è quella di stimare il numero di click registrati (numero di eventi registrati) all’interno dell’e-commerce di un grande rivenditore in relazione alle pubblicità effettuate nei vari canali di comunicazione digitale e alle offerte promozionali lanciate all’interno di essi.

Comprendere al meglio quale intervento pubblicitario riscuote maggiore interesse fra i clienti fa rilevare in maniera più efficiente quali lanci effettuare e su quali prodotti, con conseguente aumento della popolarità del sito e con indirizzamento specifico verso determinati articoli piuttosto che altri.

Non c’è un limite al numero di submission che ogni partecipante può effettuare, ma solo l’ultima submission verrà considerata valida per il punteggio finale.
Il punteggio finale è calcolato usando unicamente le predizioni che non vengono impiegate per il calcolo del punteggio parziale.

Non demordete, il punteggio finale non è tutto! La classifica finale terrà conto di:
● punteggio finale
● idea creativa
● codice scritto
● presentazione risultati finali

L’accuratezza delle previsioni della variabile NUMERO_CLICK_SITO verrà valutata utilizzando l’RMSLE (Root Mean Squared Logarithmic Error- Errore quadratico medio logaritmico). Misura che non penalizza le grosse differenze tra predetti e osservati quando hanno valori grandi.

La funzione è pari a (y: vettore di valori osservati, yhat: vettore di valori previsti):
sqrt(mean((log(yhat+1) – log(y+1) )^2))

Dovrà essere poi fornito un report con l’analisi effettuata (breve spiegazione delle variabili utilizzate, commento del codice creato e del modello utilizzato) e dei grafici relativi all’analisi fatta.

Il file da sottomettere deve avere due colonne contenenti (nell’ordine):
● l’ID (come definito dopo il raggruppamento richiesto nella sezione DATI)
● la previsione del vostro modello
Il numero di righe corrisponde al numero di aggregazioni ottenute dopo il preprocessamento.

I file non hanno intestazione di riga.

L’esempio per il calcolo in R delle previsioni è:
> yhat=predict(mod,newdata=testSet)
> yhat=cbind(testSet$ID, yhat)
> write.table( file= ”mySumission.txt”, yhat, row.names = FALSE, col.names = FALSE)

L’esempio per il calcolo in Python delle previsioni è:
> yhat = mod.predict(testSet)
> df=pd.concat([testSet.ID,yhat],axis=1)
> df.columns=[‘ID’,‘yhat’]
> file=open(“mySubmission.txt”,“w”)
> for index,row in df.iterrows():
> file.write(str(row[‘ID’])“,”str(row[‘yhat’])+"\n")
> file.close()

I dati, prontamente mascherati, sono relativi alle registrazioni del numero di click (eventi) di un sito internet; sono un sottocampione di tutti i dati registrati nell’arco di 6 mesi di attività per il settore videogiochi sui quali sono state fatte aggregazioni e rielaborazioni.

L’obiettivo è definire un modello per la previzione del numero di click (NUMERO_CLICK_SITO)

I dataset sono:

● dataset di train con 127888 righe
● dataset di test con 40889 righe – dati su cui fare la previsione

Le variabili sono:
IDRIGA: id di riga univoco utilizzato per il calcolo dello score
PUBBLICITA : Id della pubblicità
● INIZIO_PUBBLICITA : data di inizio pubblicità
● FINE_PUBBLICITA : data di fine pubblicità
● MACRO_TIPO_PUBBLICITA : canale del tipo di pubblicità
● FASCIA_ORARIA : fascia oraria di lancio della pubblicità
● FASCIA_TEMPISTICA : classe di durata temporale della pubblicità
● TIPO_PUBBLICITA : tipologia della pubblicità
DATA : data registrazione eventid
● CODICE_GIOCO : gioco presente nella pagina web
● RILANCIO_PUBBLICITA : quante volte la pubblicità è stata rimandata prima di quella data
SESSIONE : sessione di registrazione dei click
● NUMERO_CLICK_SITO : numero di click registrati
● OFFERTA_PROMOZIONALE : offerta promozionale lanciata durante la pubblicità
● MACRO_CATEGORIA_GIOCO : categoria macro prodotto
● MICRO_CATEGORIA_GIOCO : categoria micro prodotto
● AREA_CLICK : click per area
● NUMERO_PUBBLICITA_CONCORRENTI: numero delle pubblicità/offerte promozionali presenti nei canali di comunicazione nel periodo inizio-fine pubblicità

Deve essere effettuato un controllo sulla DATA, infatti la DATA deve essere compresa tra INIZIO_PUBBLICITA e FINE_PUBBLICITA.

I dati devono essere aggregati/raggruppati per:
● “PUBBLICITA
● “CODICE_GIOCO”
● “MACRO_TIPO_PUBBLICITA”
● “FASCIA_TEMPISTICA”
● “FASCIA_ORARIA”
● “TIPO_PUBBLICITA”
● “MICRO_CATEGORIA_GIOCO”
● “RILANCIO_PUBBLICITA”
● “AREA_CLICK”
● “DATA
considerando una misura (somma, massimo, minimo, media) per le altre variabili inserite nell’analisi. La nuova variabile risposta diventa quindi la somma del NUMERO_CLICK_SITO delle osservazioni in ogni strato (aggregazione).
IMPORTANTE: E’ necessario inoltre prendere il massimo della variabile ID. Questo ID costituisce l’ID per l’identificazione della osservazione corrispondente nel dataset di verifica (si veda anche il TUTORIAL).

Per effettuare il raggruppamento è consigliabile utilizzare librerie R come dplyr (group_by per l’aggregazione e summarise per le misure delle altre variabili e per il massimo di ID) o moduli python come pandas.DataFrame (groupby per l’aggregazione e agg per le altre variabili e per il massimo di ID).




Dataset di Stima dataset_stima.zip
4 MB
Dataset di Previsione dataset_previsione.zip
500 KB
Esempio File Submission esempio_submission.csv
500 KB
Per partecipare bisogna prima autenticarsi
# Nome Punteggio Prove Ultima prova
1 Lorenzo Palloni FINALE 3.47% 34 15.03.2018
10:51
2 Michele De Vita FINALE 3.50% 22 15.03.2018
10:33
3 Michele Gentili FINALE 3.53% 32 15.03.2018
10:54
4 mattia.stival FINALE 4.11% 11 15.03.2018
08:07
5 Giovanni Barbarani FINALE 6.14% 16 15.03.2018
10:20
6 ZANATTA ALBERTO FINALE 11.79% 7 15.03.2018
10:43
7 Thomas Sacchini FINALE 12.78% 16 13.03.2018
11:51
8 Silvio Vadruccio FINALE 12.93% 5 13.03.2018
19:38
9 benchmark FINALE 13.54% 8 15.03.2018
10:54
10 SCHIAVON LORENZO FINALE 15.25% 7 15.03.2018
10:59
11 David Trambusti FINALE 15.30% 11 14.03.2018
17:43
12 Francesco Bongini FINALE 15.54% 6 14.03.2018
19:50
13 Riccardo Menoli FINALE 15.57% 12 14.03.2018
18:39
14 GENCHI WALTER FINALE 15.75% 13 14.03.2018
13:09
15 Alberto.Toffoli FINALE 16.02% 45 15.03.2018
10:42
16 Blanda Alessandro FINALE 16.12% 5 15.03.2018
05:19
17 Paola Tellaroli FINALE 16.12% 3 12.03.2018
14:29
18 Lorenzo Schiavon FINALE 16.29% 9 14.03.2018
15:46
19 Corrado Lanera FINALE 19.10% 2 15.03.2018
07:41