Il sito Analytics Vidhya propone un’interessante iniziativa: prevedere le vendite di un prodotto svolgendo della data science su un dataset fornito: il Big Mart Sales dataset
Impegnativo.
Non abbiamo idea di come faremo. Ecco la parte divertente. Iniziamo.
Il dataset
Inanzitutto abbiamo due dataset:
- train: 11 features, 1 label e 8523 data points
- test: 11 features, 5681 data points
Ovviamente la label del dataset test è da prevedere.
Analizziamo le features del nostro dataset.
Item_Identifier
E’ l’ID unico del prodotto. Contrariamente a quanto mi aspettassi, e qui vediamo perché è fondamentale non dare mai nulla per scontato, ci sono varianti dello stesso ID.
Singifica che il prodotto è venduto in diversi stabilimenti. Lecito.
Attenzione | Da una prima analisi effettuata casualmente su un prodotto noto che il valore “Item_weight” si mantiene inalterato ma è assente in alcuni data points e presente in altri.
Item_Weight
Il peso del prodotto.
Attenzione | Ci sono 1463 prodotti privi del peso (pari al 17% del dataset) NA_values
Però se ho ragione possiamo ridurre drasticamente il numero, dal momeno che almeno una filiale avrà registrato il peso del prodotto.
Item_Fat_Content
E’ una variabile categoriale di tipo “Low Fat” o “Regular” squisitamente estera.
In Italia dove non abbiamo grossi problemi di obesità non è un dato che sentiamo spesso.

Attenzione | Notiamo subito una ridondanza orrenda. LF, low fat e Low Fat sono la stessa cosa, quindi uniremo questi dati.
Item_Visibility
E’ la “percentuale di area che una filiale dedica ad un prodotto calcolata sull’intera area visibile di tutti i prodotti”
Ho perso qualche minuto per capire come usare questo dato, e ho provato rapidamente a vedere se esiste una covariazione tra il prezzo e la visibilità. Ho ottenuto questo:

Questo grafico ci dice molte cose. Inanzitutto c’è overplotting, e questo complica la situazione. In più ci sono parecchi outliers di cui dobbiamo capirne l’originie. Infine, sembra che i data points siano organizzati in quattro cluster di diversa dimensione e che i due centrali siano quelli più densi, che equivale a dire che la maggior parte dei prodotti ha prezzi medio/medio-alti.
Si aprono diverse domande:
Perché ci sono 4 cluster?
Qual è la natura dei cluster?
Da cosa derivano gli outliers?
Perché la maggior parte deigli oggetti ha una ridotta visibilità?
Perché alcuni oggetti sono più visibili di altri? E quali tipi di oggetti sono?
Item_Type
La categoria del prodotto. Ce ne sono ben 16, di cui una è generica: ‘others’.

Item_MRP
Il massimo prezzo al dettaglio del prodotto. Non credo che questo dato sia particolarmente singnificativo preso singolarmente. Studieremo sue covariazioni.
Outlet_Identifier
E’ l’ ID unico della filiale. Abbiamo i dati provenienti da 10 filiali differenti, trattandosi di variabili categoriali visualizziamo su un grafico a barre le vendite per ogni filiale colorando i graifici in base alla superficie della filiale.

Questo grafico ci dice che delle 10 filiali, 2 sembrano avere vendite assai ridotte e non vi è alcuna apparente proporzione diretta tra vendite e dimensioni della filiale. Inoltre c’è una mancanza di dati: tre filiali non hanno la dimensione
Domande:
Perché l’OUT027 vende così tanto?
Come mai l’OUT010 e l’OUT019 vendono così poco?
Perché l’OUT013, nonostante le dimensioni maggiori vende meno dell’OUT035 di dimensioni ridotte?
Quali sono le dimensioni dei tre OUT arancioni?
Ho modificato le label delle barre e subito abbiamo la risposta ad alcune domande:

In ordine:
L’OUT027 è l’unico di Tipo 3, quindi è lecito aspettarsi variazioni ma la domanda resta aperta.
L’OUT010 e l’OUT019 vendono poco perché si tratta di drogherie, e benché l’OUT010 non abbia l’indicatore di dimensione è ragionevole pensare che appartenga alla stessa categoria del’OUT019: small, con vendite basse.
L’OUT013 ha dimensioni maggiori, ma è di tipo 1 e le vendite sono quindi visivamente nella media delle filiali di categoria analoga.
Non siamo ancora in grado di dare una risposta all’ultima domanda.
Queste osservazioni ci fanno capire che esiste una covariazione di maggiore peso tra le vendite e le tipologie di filiale, rispetto alla grandezza delle stesse che invece pare influire di meno.
Outlet_Establishment_Year
L’anno in cui la filiale fu aperta.
Outlet_Size
La grandezza del negozio in termini di superficie. E’ una variabile categoriale che assume solo tre valori: high, medium, small.
Attenzione | Sono presenti alcune filiali prive di questo indicatore
Outlet_Location_Type
Il titpo di città in cui si trova la fiale. E’ una variabile categoriale un po’ ostica, perché suddivide le città con un sistema Tier, che in europa non esiste. I valori ammessi sono solo 3: Tier 1, 2 e 3.

Attenzione | All’interno di città Tier 2 sono presenti solo supermarket type 1
Perché?
Outlet_Type
Tipologia di filiale, sempre di tipo categoriale che ha 4 variazioni: Supermarket di tipo 1, 2, 3 e drogherie.
Item_Outlet_Sales
Vendita di uno specifico prodotto in una particolare filiale.
Nel prossimo post, andremo a condurre l’Exploratory Data Analysis.
Alla prossima!
Un caldo abbraccio, Andrea
No Comment