L’analyste de données collecte, traite et analyse des ensembles de données volumineux et complexes provenant de différentes sources (bases de données internes, plateformes digitales, données clients, etc.). Il travaille en étroite collaboration avec les équipes marketing, commerciales, financières ou techniques pour aider à identifier des tendances, des modèles, des opportunités de croissance, ou encore des dysfonctionnements à corriger.
Voici un test de recrutement pour un Data Analyste, conçu pour évaluer les compétences en analyse de données, en manipulation de bases de données, en statistiques et en visualisation des données. Ce test se concentre sur l’utilisation des outils et des méthodes couramment utilisés par les data analysts, tels que SQL, Excel, Python, les statistiques descriptives et la visualisation des données.
Test de Recrutement : Data Analyst
Partie 1 : Manipulation de Données avec SQL
Question 1 :
Vous avez une table appelée Ventes avec les colonnes suivantes :
id : ID de la vente
produit : nom du produit vendu
quantité : quantité vendue
prix : prix unitaire du produit
date_vente : date de la vente
Écrivez une requête SQL pour obtenir le chiffre d’affaires total (quantité vendue * prix) par produit.
Réponse :
sql SELECT produit, SUM(quantité * prix) AS chiffre_affaires_total FROM Ventes GROUP BY produit;
---
### Question 2 :
Vous avez une table **Clients** avec les colonnes suivantes :
- **id_client** : ID du client
- **nom** : nom du client
- **date_inscription** : date d’inscription du client
- **revenu** : revenu annuel du client
Écrivez une requête SQL pour trouver le **nombre total de clients** inscrits après le 1er janvier 2022.
plaintext Réponse :
SELECT COUNT(*) AS total_clients
FROM Clients
WHERE date_inscription > '2022-01-01';
Partie 2 : Analyse Statistique Descriptive
Question 3 :
Un data set contient les revenus annuels des employés d’une entreprise. Vous devez calculer :
La moyenne des revenus
La médiane des revenus
L’écart-type des revenus
Expliquez comment vous les calculeriez en utilisant Excel ou Python.
Réponse (Excel) :
- Moyenne : Utilisez la formule **=MOYENNE(range)**.
- Médiane : Utilisez la formule **=MEDIANE(range)**.
- Écart-type : Utilisez la formule **=ECARTYPE(range)**.
Réponse (Python) :
---
### Question 4 :
Une entreprise souhaite savoir si la distribution des salaires de ses employés est symétrique ou asymétrique. Expliquez comment vous utiliseriez l’**asymétrie (skewness)** pour analyser la distribution et ce que les valeurs positive et négative de l’asymétrie signifient.
plaintext Réponse :
Asymétrie (Skewness) mesure la symétrie de la distribution des données. Si l’asymétrie est proche de 0, la distribution est symétrique.
Asymétrie positive : la distribution est décalée vers la droite (longue queue à droite), signifiant que la majorité des employés gagne un salaire inférieur à la moyenne, mais certains gagnent beaucoup plus.
Asymétrie négative : la distribution est décalée vers la gauche (longue queue à gauche), signifiant que la majorité des employés gagne un salaire supérieur à la moyenne, mais certains gagnent beaucoup moins.
Pour calculer l’asymétrie dans Python, utilisez scipy.stats.skew.
from scipy.stats import skew
asymetrie = skew(salaires)
print("Asymétrie:", asymetrie)
Partie 3 : Visualisation des Données
Question 5 :
Vous travaillez avec des données de ventes mensuelles pour 2023. Comment visualiseriez-vous ces données dans Excel ou Python pour mettre en évidence la tendance des ventes au cours de l’année ? Expliquez le type de graphique que vous utiliseriez et pourquoi.
Réponse :
- En **Excel**, j’utiliserais un **graphique en courbes** pour montrer la variation des ventes au fil du temps. Ce type de graphique est idéal pour visualiser les tendances et les fluctuations mensuelles.
- En **Python**, j'utiliserais la bibliothèque **Matplotlib** ou **Seaborn** pour créer un graphique en lignes :
plt.plot(mois, ventes) plt.xlabel(‘Mois’) plt.ylabel(‘Ventes’) plt.title(‘Tendance des Ventes Mensuelles’) plt.show()
Le **graphique en lignes** permet de bien voir l’évolution des ventes mois après mois.
---
### Question 6 :
Un graphique en barres montre les revenus de cinq produits différents, mais le graphique semble encombré et difficile à lire. Proposez des moyens d’améliorer la lisibilité du graphique.
plaintext Réponse : Pour améliorer la lisibilité :
Changer les couleurs : Utiliser des couleurs distinctes et contrastées pour chaque barre.
Ajouter des étiquettes : Insérer les valeurs de revenus directement sur les barres.
Réorganiser les données : Classer les produits en ordre croissant ou décroissant pour rendre la comparaison plus facile.
Ajouter un titre et des légendes claires : Le titre doit être informatif et les légendes doivent être explicites.
En Python, vous pouvez ajuster cela avec des bibliothèques comme Matplotlib ou Seaborn.
import seaborn as sns
sns.barplot(x='produits', y='revenus', data=df, palette="Set2")
Partie 4 : Manipulation et Préparation des Données
Question 7 :
Vous avez un jeu de données qui contient des valeurs manquantes (NaN) dans certaines colonnes. Décrivez comment vous traiteriez ces valeurs manquantes avant d’analyser les données.
Réponse :
1. **Identifier les valeurs manquantes** : Je commencerais par identifier où se trouvent les valeurs manquantes dans le dataset.
python import pandas as pd df = pd.read_csv(“dataset.csv”) print(df.isnull().sum())
2. **Supprimer les lignes ou colonnes** : Si les valeurs manquantes sont rares, je pourrais supprimer les lignes ou colonnes concernées.
python df_clean = df.dropna()
3. **Imputation des valeurs manquantes** : Si les valeurs manquantes sont fréquentes, j'utiliserais l'imputation pour les remplacer par la moyenne, la médiane ou d'autres méthodes statistiques.
4. **Remplacer par une catégorie "Inconnu"** : Pour les variables catégorielles, je peux remplacer les NaN par "Inconnu" ou une autre catégorie appropriée.
---
### Partie 5 : Étude de Cas
### Question 8 :
Votre entreprise observe une baisse des ventes au cours des six derniers mois. Vous avez accès à des données sur les produits, les clients, et les performances des ventes. Comment mèneriez-vous une analyse des données pour comprendre les causes possibles de cette baisse ?
plaintext Réponse :
Analyse des tendances : J’analyserais les tendances des ventes sur les six derniers mois en comparant les périodes précédentes pour identifier les moments où les ventes ont commencé à chuter.
Segmentation des produits : J’examinerais les performances des produits pour voir si certains produits sont particulièrement touchés par la baisse des ventes. Cela permettrait de déterminer si la baisse est généralisée ou spécifique à certains segments.
Analyse client : J’analyserais les données clients pour voir si certains segments de clientèle achètent moins qu’auparavant (changements démographiques, habitudes d’achat, etc.).
Analyse concurrentielle : J’examinerais les données de marché ou de concurrence pour voir si de nouveaux acteurs ou des changements dans les prix du marché ont eu un impact sur les ventes.
Visualisation des résultats : J’utiliserais des graphiques pour visualiser les résultats de ces analyses, afin d’identifier clairement les facteurs clés de la baisse des ventes.
Je pourrais utiliser un tableau croisé dynamique (Excel) ou des analyses plus poussées avec Pandas et Matplotlib en Python pour comprendre les différents facteurs influençant les ventes. “`
Ce test pour Data Analyst couvre plusieurs domaines clés du métier, comme l’analyse de données avec SQL, la statistique descriptive, la visualisation des données et la manipulation des jeux de données. Il est conçu pour évaluer les compétences techniques, analytiques et la capacité à résoudre des problèmes complexes.
Un Data Analyste utilise divers outils pour collecter, nettoyer, analyser, visualiser et interpréter les données afin de prendre des décisions basées sur des faits. Voici une liste d’outils recommandés pour un Data Analyste, classés par catégories en fonction de leur utilité dans le processus d’analyse de données.
1. Outils de Manipulation et d’Analyse de Données
1.1. Excel
Pourquoi ? : Excel est un outil de base pour tout Data Analyste. Il est idéal pour les analyses simples et intermédiaires, les calculs rapides, les tableaux croisés dynamiques, et la création de graphiques.
Avantages :
Facilité d’utilisation
Large adoption dans les entreprises
Fonctions avancées de statistiques et calculs financiers
Utilisations courantes : Analyse descriptive, gestion des petites bases de données, calculs de moyennes, écart-type, etc.
1.2. SQL (Structured Query Language)
Pourquoi ? : SQL est incontournable pour interroger, extraire et manipuler des données dans des bases de données relationnelles (MySQL, PostgreSQL, SQL Server, etc.).
Avantages :
Manipulation efficace de grandes quantités de données
Large adoption dans les bases de données d’entreprise
Utilisations courantes : Requêtes complexes, agrégation des données, jointures, gestion des bases de données.
1.3. Python
Pourquoi ? : Python est l’un des langages les plus populaires pour l’analyse de données, en raison de sa polyvalence, de sa simplicité et de ses puissantes bibliothèques pour la science des données.
Bibliothèques principales :
Pandas : Manipulation et analyse de données.
NumPy : Calculs numériques avancés.
SciPy : Algorithmes scientifiques et statistiques.
Avantages :
Extrêmement flexible pour les projets d’analyse de données de grande envergure
Excellente gestion des données structurées et non structurées
Utilisations courantes : Préparation des données, analyse statistique, modélisation, création de pipelines de données.
1.4. R
Pourquoi ? : R est un langage de programmation et un environnement spécialisé dans les statistiques et la visualisation des données. Il est très utilisé pour les analyses statistiques poussées.
Avantages :
Large choix de bibliothèques statistiques
Excellente visualisation de données avec des packages comme ggplot2
Pourquoi ? : Tableau est l’un des outils de visualisation de données les plus puissants et intuitifs. Il permet de créer des tableaux de bord interactifs et des graphiques complexes.
Avantages :
Interface glisser-déposer facile à utiliser
Connexion facile à plusieurs sources de données
Visualisation en temps réel
Utilisations courantes : Création de rapports interactifs, tableaux de bord pour le suivi des KPIs, exploration visuelle des données.
2.2. Power BI
Pourquoi ? : Power BI de Microsoft est un outil de business intelligence puissant qui permet de connecter, transformer et visualiser des données provenant de multiples sources.
Avantages :
Intégration native avec l’écosystème Microsoft (Excel, SQL Server, etc.)
Tableaux de bord interactifs
Utilisations courantes : Visualisation des données d’entreprise, création de tableaux de bord interactifs, analyse en temps réel.
2.3. Matplotlib et Seaborn (Python)
Pourquoi ? : Ces bibliothèques Python permettent de créer des visualisations de données simples (Matplotlib) à plus avancées et esthétiques (Seaborn).
Avantages :
Hautement personnalisable
Excellente pour les visualisations scientifiques et statistiques
Utilisations courantes : Création de graphiques personnalisés, visualisation des distributions statistiques, tendances temporelles.
3. Outils de Gestion de Bases de Données
3.1. MySQL / PostgreSQL / SQL Server
Pourquoi ? : Ce sont des systèmes de gestion de bases de données relationnelles (RDBMS) utilisés pour stocker et interroger des données structurées.
Avantages :
Efficace pour gérer de grandes bases de données
Flexibilité dans l’exécution de requêtes complexes
Utilisations courantes : Gestion de grands ensembles de données relationnelles, exécution de requêtes SQL pour extraire des insights.
3.2. BigQuery
Pourquoi ? : BigQuery est un service de Google Cloud pour l’analyse de grandes quantités de données. Il est optimisé pour les requêtes massives sur des ensembles de données très volumineux.
Avantages :
Conçu pour le traitement de données massives
Requêtes SQL rapides sur des pétaoctets de données
Utilisations courantes : Analyse de grandes bases de données, exploration de données en temps réel.
3.3. MongoDB
Pourquoi ? : MongoDB est une base de données NoSQL qui stocke des données non structurées sous forme de documents JSON. Il est idéal pour les données volumineuses et les données non structurées.
Avantages :
Flexible pour les données non structurées
Efficace pour des volumes importants de données
Utilisations courantes : Gestion de grandes bases de données non relationnelles, stockage de données non structurées (logs, documents).
4. Outils d’Analyse Statistique et Machine Learning
4.1. Scikit-learn (Python)
Pourquoi ? : Scikit-learn est l’une des bibliothèques les plus populaires pour le machine learning en Python. Elle fournit des outils pour les modèles d’apprentissage supervisé et non supervisé.
Avantages :
Facilité d’utilisation pour implémenter des algorithmes de machine learning
Pourquoi ? : TensorFlow et PyTorch sont des bibliothèques de deep learning utilisées pour construire des réseaux de neurones et entraîner des modèles sur des données complexes.
Avantages :
Grande flexibilité pour créer des modèles complexes de deep learning
Efficacité pour gérer des données volumineuses
Utilisations courantes : Deep learning, traitement d’images, traitement du langage naturel (NLP), analyse prédictive.
5. Outils de Collaboration et Gestion des Projets de Données
5.1. Git et GitHub
Pourquoi ? : Git est un outil de contrôle de version qui permet de suivre les modifications du code et de collaborer efficacement avec d’autres analystes ou développeurs.
Avantages :
Permet de suivre les modifications, de gérer les versions du code
Facilite la collaboration sur des projets de données
Utilisations courantes : Versioning de scripts Python/SQL, gestion de projets collaboratifs, partage de code.
5.2. Jupyter Notebook
Pourquoi ? : Jupyter Notebook est un environnement interactif permettant de créer et partager des documents contenant du code, des équations, des visualisations et du texte narratif.
Avantages :
Excellente intégration avec Python
Idéal pour documenter le processus d’analyse de données
Utilisations courantes : Prototypage, analyse exploratoire de données, visualisation.
Le choix des outils pour un Data Analyste dépend des types de données, du volume de données à traiter, et des objectifs de l’analyse. Les outils mentionnés ci-dessus couvrent un large éventail de besoins, allant de la manipulation et l’analyse de données à la visualisation et à la modélisation statistique. La polyvalence dans l’utilisation de ces outils est essentielle pour réussir dans le métier de Data Analyste, car elle permet d’aborder les données sous différents angles et de fournir des insights précieux aux entreprises.