You are on page 1of 15

DATAMINING

PROJET ITUNES

RADESA - ROLLIN / 28.11.2016


ITUNES - RADESA - ROLLIN 1


SOMMAIRE
INTRODUCTION 3
A. Sujet : 3

B. Le datamining : 3

CONCEPTION 4
A. Modélisation : 4

B. Mapping : 6

CONSTRUTION DE LA BASE 9
A. Base Talend 9

B. Base MySQL 10

ANALYSE 11
A. TOP10MUSIQUE : 11

B. TOP5ArtisteSingle : 11

C. STORE : 12

D. TOPARTISTEALBUM : En supposant que l’achat de la musique de l’ album signifie


achat de l’album 12

E. TOPARTISTESINGLE : 13

F. DM_CLIENT : Segmentez les achats par tranche d’âge et par région des clients 14

CONCLUSION 15

ITUNES - RADESA - ROLLIN 2


INTRODUCTION
A. Sujet :

❖ Etude du top 50 sur Apple iTunes

iTunes est... bon, pas la peine, vous savez tous ce qu’est iTunes.
Afin d’étudier les goûts plus que discutables des consommateurs de musique sur le
marché français, vous aurez pour tâche de réaliser un datawarehouse et un datamart
mettant à disposition les indicateurs suivants :
-   A partir des données de ventes fournies, établissez le Top 50 français pour la
semaine 40 de l’année 2015
-  Déterminez les 5 plus gros vendeurs de singles pour l’année en cours (marché
français, artistes internationaux)
-   Calculez le pourcentage d’achats réalisés via iOS et ceux réalisés sur
iTunes(Windows) et iTunes(MacOS)
-  Donnez les 3 artistes générant le plus de ventes dans les 24h suivant la sortie de
leur album
-  Donnez les 3 artistes générant le plus de ventes dans les 24h suivant la sortie de
leur single
-   Dans le datamart, segmentez les achats par tranche d’âge et par région des
clients
-  Déterminez quel segment client génère le plus de revenus
-  Analysez l’évolution du chiffre d’affaire sur l’année 2015. Expliquez ce que vous
constatez.
Source : CPI3, sujets.pdf

B. Le datamining :

1. Définition :

❖ Le Datamining est en fait un terme générique englobant toute une famille d'outils
facilitant l'exploration et l'analyse des données contenues au sein d'une base
décisionnelle de type Data Warehouse ou DataMart. Les techniques mises en action
lors de l'utilisation de cet instrument d'analyse et de prospection sont
particulièrement efficaces pour extraire des informations significatives depuis de
grandes quantités de données.

ITUNES - RADESA - ROLLIN 3


2. Principe :

❖ En peu de mots, l'outil de prospection Data Mining est à même de trouver des
structures originales et des corrélations informelles entre les données. Il permet de
mieux comprendre les liens entre des phénomènes en apparence distincts et
d'anticiper des tendances encore peu discernables.

3. Utilisation :

❖ A contrario des méthodes classiques d'analyses statistiques, cet instrument d'analyse


est particulièrement adapté au traitement de grands volumes de données. Avec
l'augmentation de la capacité de stockage des supports informatiques, un maximum
de renseignements seront captés, ordonnés et rangés au sein du Data Warehouse.
Comportement des acheteurs, caractéristiques des produits, historisation de la
production, désormais plus rien n'échappe à la collecte. Avec le Data Mining, ces
"téra-nesque" bases de données sont exploitables.

Source : http://www.piloter.org/business-intelligence/datamining.htm

CONCEPTION
A. Modélisation :

Pour concevoir au mieux le datawarehouse correspondant à iTunes, nous avons


retenu 3 tables importantes, dont 2 tables de dimensions (Musique et Client) et 1 table
de fait (Achat).
D’autant plus, nous avons conçu 5 autres tables, les datamarts. Ces tables nous
serons utiles pour répondre aux requêtes demandées, et ainsi pouvoir analyser les
statistiques. Chacune d’elles est relié aux tables qui leurs sont utile pour pouvoir effectuer
les calcules. (Top10Musique, TopArtisteSingle, TopArtisteAlbum, DM_Client, Store)
Nous avons pu retenir cela grâce aux différents fichiers .csv qui nous ont été
fournis. Ci-dessous, le modèle conçu, avec dans chacune des tables les différents
attributs qui les décrivent.

ITUNES - RADESA - ROLLIN 4


D : Musique F : Achat D : Client

ID_musique ID_achat ID_client

titre ID_client nom

artiste1 ID_musique prenom

pays_artiste1 date_achat date_de_naissance

artiste2 store sexe

pays_artiste2 prix adresse

artiste3 region
DM : Top10Musique
pays_artiste3 code_postal
titre_musique
nom_album pays
date
numero_piste date_debut
numeroSemaine
single date_fin
année
genre1 courant
nombre_vente
genre2 email

genre3 DM : TopArtisteSingle langue

date_sortie artiste

prix_musique date

date_debut single
DM : DM_Client

date_fin date_achat
nom

courant nombre_vente
prénom

langue DM : Store tranche_age

pays store region


date achat

DM : TopArtisteAlbum

nomArtiste

date

album

date_achat

ITUNES - RADESA - ROLLIN 5


Modélisation du datawarehouse iTunes

B. Mapping :

Le mapping est un méthode qui permet de savoir comment récupérer les données
dans les différents fichiers .csv et les intégrer dans notre modélisation.
Pour ce faire, nous avons créer plusieurs tableaux (ci-dessous) qui pour chaque
attribut de chacune des tables, indique comment l’alimenter.

Procédure :
- Dans les sources de données, nous allons rechercher les fichiers .csv .
- Dans la colonne source, l’attribut.
- Dans la table cible, la table de l’attribut.
- Dans la colonne cible, nous avons pris un par un tous les attributs d’une table.
- Dans la règle d’alimentation, s’il y a eu une modification, nous allons le spécifier.

Sources de Colonne source Table cible Colonne cible Règle


données d’alimen
tation

purchases.csv TRANSACTION_ID Achat ID_achat

accounts.csv ID Client ID_client

songs.csv ID Musique ID_musique

purchases.csv DATETIME Achat date_achat

tech_logs.csv ORIGIN_ITUNES Achat store

songs_pricing.csv PRICE Achat prix

songs.csv NAME Musique titre

artists.csv NAME Musique artiste1…3

country.csv NAME Musique pays_artiste1…3

album.csv NAME Musique nom_album

album__setlists.cs SONG_ID Musique numero_piste


v

singles.csv SONG_ID Musique single

genre.csv NAME Musique genre1…3

songs.csv RELEASE_DATE Musique date_sortie

songs_pricing.csv PRICE Musique prix_musique

Musique date_debut

Musique date_fin

ITUNES - RADESA - ROLLIN 6


Sources de Colonne source Table cible Colonne cible Règle
données d’alimen
tation

Musique courant

language.csv NAME Musique langue

country.csv NAME Musique pays

accounts.csv CUSTOMER_LASTNAM Client nom


E

accounts.csv CUSTOMER_FIRSTNA Client prenom


ME

accounts.csv CUSTOMER_BIRTHDAT Client date_de_naissance


E

accounts.csv CUSTOMER_SEX Client sexe

accounts.csv CUSTOMER_BILLABLE_ Client adresse


ADDRESS_STREET

accounts.csv CUSTOMER_BILLABLE_ Client region


ADDRESS_REGION

accounts.csv CUSTOMER_BILLABLE_ Client code_postal


ADDRESS_ZIP

accounts.csv CUSTOMER_BILLABLE_ Client pays


ADDRESS_COUNTRY

Client date_debut

Client date_fin

Client courant

accounts.csv CUSTOMER_EMAIL Client email

language.csv NAME Client langue

Sources de Colonne source Table cible Colonne cible Règle


données d’alimentation

songs.csv NAME Top10Musique titre_musique

songs.csv RELEASE_DATE Top10Musique date

purchases.csv DATETIME Top10Musique numeroSemain numéro de semaine


e de la date d’achat

songs.csv NAME Top10Musique année

purchases.csv Top10Musique nombre_vente count du nombre de


vente
correspondant

artists.csv NAME TopArtisteSingl artiste


e

ITUNES - RADESA - ROLLIN 7


Sources de Colonne source Table cible Colonne cible Règle
données d’alimentation

singles.csv RELEASE_DATE TopArtisteSingl date


e

singles.csv NAME TopArtisteSingl single


e

purchases.csv DATETIME TopArtisteSingl date_achat


e

purchases.csv TopArtisteSingl nombre_vente count du nombre de


e vente
correspondant

tech_logs.csv ORIGIN_ITUNES Store store

purchases.csv DATETIME Store date Correspond à la


date d’achat

artists.csv NAME TopArtisteAlbu nomArtiste


m

songs.csv RELEASE_DATE TopArtisteAlbu date


m

album.csv NAME TopArtisteAlbu album


m

purchases.csv DATETIME TopArtisteAlbu date_achat


m

accounts.csv CUSTOMER_BIL DM_Client region


LABLE_ADDRES
S_REGION

accounts.csv CUSTOMER_BIR DM_Client tranche_age Règle ETL : Les


THDATE lignes sont remplies
en fonction des diff.
tranches d’âge qui
sont fait directement
lors du remplissage.
4 tranches d’âge : E
pour enfant, JA pour
jeune adulte, A pour
adulte et S pour
sénior.

DM_Client achat Somme des achats

ITUNES - RADESA - ROLLIN 8


CONSTRUTION DE LA BASE
A. Base Talend

Les fichiers « has_XXX » servent pour joindre les données dans les bases de ce fait,
ce sont les noyaux des fonctions. C’est donc par ceux ci que les données sont ajoutés
aux tables de la base. Le fichier «  has_artist  » manquait j’ai donc du le créer, de plus
certains ID n’étaient en correspondance avec aucune autres informations j’ai donc
modifier le contenu de certains fichiers afin d’avoir un retour sur ma base MySQL.

En haut à gauche : la base client


En haut à droite : la base achat
En bas les 4 schémas de remplissage correspondent à la table musiques

ITUNES - RADESA - ROLLIN 9


B. Base MySQL

Voici le résultat des données récupérées dans ma base de donnée MySQL exécuté
sur un Mamp.

La table achat

La table client

La table musique

ITUNES - RADESA - ROLLIN 10


ANALYSE
A. TOP10MUSIQUE :

1. Remplissage du datamart TOP10MUSIQUE :

INSERT INTO `Top10Musique`(`titre_musique`, `date`, `numero_semaine`, `annee`)


SELECT Musique.titre, Musique.date_sortie, WEEK(Musique.date_sortie),
YEAR(Musique.date_sortie)
FROM Musique JOIN Achat ON Musique.ID_musique = Achat.ID_musique
WHERE Musique.pays_artiste1 = "France" ;

2. Requête TOP10MUSIQUE :

SELECT *
FROM Top10Musique WHERE numero_semaine = 34
ORDER BY nombre_vente ASC
LIMIT 10 ;

3. Résultat Requête TOP10MUSIQUE :

B. TOP5ArtisteSingle :

1. Requete TOP5ArtisteSingle :

SELECT M.artiste1, SUM(A.prix) as ap


FROM Musique M JOIN Achat A ON M.ID_musique = A.ID_musique
WHERE M.single = 1
//AND YEAR(A.date_achat) = YEAR(CURRENT_DATE)
group by M.artiste1
order by ap DESC

LIMIT 5;

2. Résultat requête TOP5ArtisteSingle :

ITUNES - RADESA - ROLLIN 11


C. STORE :

1. Datamart STORE :

2. Requete STORE :

SELECT store, 100*nombre_achat


/
(SELECT sum(nombre_achat)
FROM Store
) AS POURCENTAGE, nombre_achat
FROM Store ;

3. Resultat requête STORE :

D. TOPARTISTEALBUM : En supposant que l’achat de la musique de l’ album


signifie achat de l’album

1. Insertion TOPARTISTEALBUM :

INSERT INTO `TopArtisteAlbum`(`nomArtiste`, `date`, `nom_album`, `date_achat`)


SELECT Musique.artiste1, Musique.date_sortie,Musique.nom_album,
Achat.date_achat
FROM Musique JOIN Achat ON Musique.ID_musique = Achat.ID_musique
WHERE Musique.single = 0 OR Musique.single IS NULL
GROUP BY Musique.nom_album
;

ITUNES - RADESA - ROLLIN 12


2. Requête TOPARTISTEALBUM : 24h après la sortie 

SELECT nomArtiste, nom_album


FROM TopArtisteAlbum
WHERE date_achat < DATE_SUB(date, INTERVAL 24 HOUR)

3. RESULTAT Requête TOPALBUM : 24h après la sortie 

NULL

E. TOPARTISTESINGLE :

1. Insertion TOPARTISTESINGLE :

INSERT INTO `TopArtisteSingle`(`artiste`, `date`, `single`, `date_achat`, nombreVente)


SELECT Musique.artiste1, Musique.date_sortie, Musique.titre, Achat.date_achat,
count(Achat.ID_achat)
FROM Musique JOIN Achat ON Musique.ID_musique = Achat.ID_musique
WHERE Musique.single = 1
GROUP BY Musique.titre
;

2. Requête TOPARTISTESINGLE : 24h après la sortie 

SELECT artiste, single


FROM TopArtisteSingle
WHERE date_achat < DATE_SUB(date, INTERVAL 24 HOUR)

3. Requête TOPARTISTESINGLE : 24h après la sortie 

NULL

ITUNES - RADESA - ROLLIN 13


F. DM_CLIENT : Segmentez les achats par tranche d’âge et par région des
clients

1. Datamart DM_CLIENT :

2. Requête DM_CLIENT : Segment client génère le plus de revenus 


SELECT tranche_age, region


FROM DM_Client
WHERE MAX(achat) 
;

1. Résultat DM_CLIENT : Segment client génère le plus de revenus 


ITUNES - RADESA - ROLLIN 14


CONCLUSION

En règle général nous n’avons pas eu de problème, un manque d’information dans


les fichiers csv nous a obligé à créer un nouveau fichier « has_artist ». De plus, nous avons
également dû modifier certaines redirections via les ID afin d’avoir un résultat sur nos
requêtes dans le but de pouvoir répondre aux questions du sujet.

ITUNES - RADESA - ROLLIN 15