1. Università degli studi “La Sapienza” di Roma
Tesina di Sistemi Informativi Aziendali
Umberto Griffo e Claudio Papa
2. Sakilla è un’azienda “giocattolo” che ha in gestione 2 video
store situati nella stessa città. Si vogliono utilizzare le
metodologie e le tecnologie del datawarehouse e del
datamining per monitorare ed ottimizzare il processo di
noleggio di DVD al fine di migliorare l’attività commerciale.
2
3. Scoprire quale sia lo store più redditizio
Scoprire quale sia il genere di DVD più
noleggiato
Scoprire quali sono i DVD più noleggiati
Soddisfare i clienti, in termini di reperibilità
dei DVD
Caratterizzare i comportamenti dei clienti
3
4. cliente
! interessa
Visita scaffale Scelta di Preleva altro DVD
dello store un DVD Un DVD
interessa
!altro DVD
Vai alla
cassa
cambia !disponibile
Registra
Verifica Consulta
assenza in DVD
disponibilità inventario
stock
disponibile
!cambia
Effettua Registra Registra
pagamento pagamento noleggio
4
5. Verifica stato
DVD DVD
Danneggiato
o mancante
si no
Applica Confronta la data di
penale restituzione con quella
di noleggio
!moroso moroso
Effettua
pagamento
Registra
Calcola
restituzione
mora
Registra
pagamento
Pagamento
mora
Registra
pagamento
5
6. Sigla Nome Metric Definizione Tipologia
a
NRTOT Num. Di noleggi ℕ COUNT(Fact_rental) Efficienza
totali
NR Num. Di noleggi ℕ AGGREGATE Efficienza
(Returned=Yes, NRTOT)
restituiti
NNR Num. Di noleggi ℕ AGGREGATE Efficienza
(Returned=No, NRTOT)
non restituiti
PNR Percertuale noleggi % NR / NRTOT Efficienza
restituiti
PNNR Percentuale % NNR / NRTOT Efficienza
noleggi non
restituiti
FATT Fatturato € SUM(Fact_rental.amount) Efficienza
PGR Percentuale % [ FATT – Efficienza
SUM(Fact_rental.RentalRate) ]/
guadagno da FATT
clienti ritardatari
6
7. Sigla Nome Metrica Definizione Tipologia
TMR Tempo medio di ℕ AVG Qualità
riconsegna (Fact_rental.rental_
effective_duration)
/NRTOT
TMDF Tempo medio ℕ AVG(Data_disponib Servizio
disponibilità film ilità –
Data_richiesta)
NDANN Num. DVD ℕ COUNT(Inventory.d Qualità
danneggiati amaged=true)
NDS Num. DVD in stock ℕ COUNT(Inventory) Qualità
– NNR
7
9. Month
City Ten Days
Country
Address
Indirizzo
Rental Date
Last Name
Week
First Name
Customer
E-mail
Rentals
Return Date
• Amount
• Rental Duration Title
• Rental Rate
Lenght
Rental Time • Replacement Cost
Film
• Rental Effective Special features
Duration Hours
• Rental Effective Rental Rate
Duration Days Release year
Minute • Total Rental Count
Replacement cost
Category
Hour
Return Time
Language
Store
Staff
Address
Last Name Country
E-mail City
Manager Id
First Name
9
10. Migrazione del Database
Normalizzazione del Database
Aggiunta delle dimensioni
temporali
10
15. Address
Store
Film
Category Store Staff Customer
Rental
15
16. Country Country
City City
Language
Address Store Address
Film
Category Store Staff Customer
Rental
16
17. What: Film Where: Store Who: Staff Who: Customer
Film Store Store Customer
Country Staff Country
Category City City
Address Address
Language
Rental
17
18. What: Film Where: Store Who: Staff Who: Customer
Rental
When: Rental When: Rental When: Return When: Return
Date Time Date Time
18
24. La videoteca vuole aumentare il numero noleggi
analizzando le abitudini di noleggio dei clienti
Si vogliono trovare delle associazioni sulle
categorie di film noleggiati.
Tale processo che prende il nome di market
basket analysis è utile per l'adozione di strategie
di marketing ad hoc.
Nel caso specifico la strategia è quella di disporre
vicino, negli scaffali, le categorie di film che
vengono più frequentemente noleggiate insieme
24
25. Per poter effettuare la market basket analysis
dobbiamo creare un Association model .
Questo lo costruiamo su un dataset che
contiene i DVD che possono essere noleggiati.
Ogni DVD sarà rappresentato da una variabile
booleana che starà ad indicare se è stato
noleggiato o meno, ogni noleggio quindi sarà
rappresentato da un vettore di booleani.
È ora possibile scoprire pattern sotto forma
di regole di associazione A=>B
Un insieme di oggetti noleggiati è
detto itemset.
25
26. A corredo di ogni regola di associazione si
utilizzano misure quali il supporto e
la confidenza, regole che avranno tali indici
inferiori rispetto a una predeterminata soglia
(minimo supporto e minima confidenza) saranno
scartate in quanto non interessanti, viceversa
saranno dette regole forti.
Il supporto è definito da
supporto(A => B) = Prob(A U B)
la confidenza è definita da
confidenza(A => B) = Prob(B | A) 26
27. Per poter costruire l’association model
abbiamo preparato una tabella, chiamata
customer_transaction, contenente tutti i
noleggi effettuati(o transazioni) dai clienti.
Questa è stata collegata come nested table
alla tabella dim_customer.
Su di esse abbiamo costruito il modello
impostando come colonna da predirre
l’attributo category della tabella
customer_transaction
27