Après 2 mois de formation Data à The Hacking Project, pour valider cette formation, un projet final est requis. Le travail en équipe est requis, je l’ai donc réalisé avec 4 autres « moussaillons » (« apprenants » de THP).
La visualisation des données de la Ligue 1 de football a obtenu tous les critères nécessaires d’un projet possédant les critères nécessaires afin d’être validé.
Derrière ce dashboard interactif il y a une idée: visualiser de manière ludique des données qui ne sont pas ou peu accessibles chez des fans de football ne regardant pas des statistiques tous les jours.
Les outils techniques utilisés
Languages de programmation:
Ruby: scrapper des données (gem: Nokogiri)
Python: nettoyer les données
Outils utilisés:
Jupyter Notebook: nettoyer la donnée
Tableau software: visualiser des données
Excel: nettoyage, transformation et stock de nos données
Google Slides: logiciel de présentation
Caractéristiques du projet:
- Temps : 1 semaine
- Nombre de personnes: 5
- Type de projet: Data Analyse
- Github:
- Data visualisation: Dashboard
Cahier des charges
Un cahier des charges est mis en place, répondant aux besoins d’un « célèbre » client dans le monde du football (demande fictive).


Organisation
Outils contenant les projets: Google drive
Communication vocale: Discord
Outils d’organisation des tâches: Trello
Extraction des données
Quand la donnée est disponible au format csv, téléchargement simple:
- https://thesportsdb.com/
Parfois les données ne sont pas disponibles en csv, on code alors un scrapper avec Ruby (gem: Nokogiri):
- https://www.ligue1.fr/
- https://thesportsdb.com/
Github: scrapper
Transformation de la donnée
Après l’étape de récupération des données, l’étape de transformation. Dans ce projet, il a suffit de peu de transformation, le scrapper faisant une bonne partie du travail.
Stack transformation:
Excel: créer visuellement les colonnes avec des formules
Python +
Jupyter Notebook: Mise en forme de la donnée, peu de statistiques.

Le but du projet: présenter des données de façon visuelle. Finalement il y a peu de statistiques, peu de transformation des données (des dataframes, quelques jonctions, remplacement de caractères…).
Chargement dans une « base de données »
Le fichier final contenant peu de lignes (681) et quelques 66 colonnes, le choix se porte donc sur un fichier Excel (.xlsx) comme « base de données ». Il est facile à manipuler et à parcourir, dans ce cas pas besoin d’utliser un Notebook Jupyter.

Comme certaines données étaient manquantes (thesportsdb.com), c’est à la main qu’il a fallu écrire quelques lignes de données (du site ligue1.fr). Dans ce cas-ci, travailler dans un tableau Excel est plus pratique.
Visualisation
Choisi pour son caractère pratique et puissant :
-
Tableau software.
Les filtres et des formules (MAKEPOINT / MAKELINE…) ont été utilisées pour créer la visualisation finale, la rendant interactive.

Ci-dessus, la visualisation contenant les clubs jouant en Ligue 1, leur classement général, avec les statistiques cumulées par journée. La journée de Ligue 1 correspond à une semaine de rencontres.

Ensuite, sont visualisées des statistiques tout au long du championnat, le classement général, le nombre de buts marqués et encaissés par match, la possession par journée terminant ce premier tableau.

On peut accéder à la dernière partie de la visualisation en cliquant sur le lien « Accéder aux statistiques par journée » (Tableau 1 et Tableau 3). Cette partie présente certaines données sélectionnées par match, pour chaque équipe (précision par équipe des tirs, ou les tirs convertis en buts).
Tester ce projet c’est par ici!
Présentation des données
Lorsque le processus ETL est finis, et après visualisation, une présentation Google Slides afin de présenter le produit au client. L’environnement de travail utilisant Google, Google Slides fut choisi.

Pour conclure, ce projet mêle un peu de code, un peu de visualisation et un peu de compétences comme la présentation orale ou l’organisation.
Une bonne équipe ça fait beaucoup, merci à vous!