library(tidyverse)
library(janitor)
data_path <- if (file.exists("../semaine-02-r-quarto/data/ventes_operations_quebec.csv")) {
"../semaine-02-r-quarto/data/ventes_operations_quebec.csv"
} else {
"modules/semaine-02-r-quarto/data/ventes_operations_quebec.csv"
}
operations <- read_csv(
data_path,
show_col_types = FALSE
) |>
clean_names() |>
mutate(
mois = as.Date(mois),
ventes_par_client = ventes / clients
)Exercices complémentaires - Atelier 01
Objectif
Ces exercices sont facultatifs, à réaliser après la mission du laboratoire. Ils ne constituent pas un second travail à remettre pendant la séance. Ils ne reprennent ni les données, ni les productions « À vous » du guide. Le cas de transfert porte sur la fiabilité du service dans quatre succursales.
Jeu de données de transfert : ventes_operations_quebec.csv.
Exercice 1 - Décrire le tableau
- vérifiez les dimensions et la période couverte;
- nommez l’unité d’observation;
- identifiez les variables de service, de clientèle et de performance;
- expliquez pourquoi deux lignes de la même succursale ne sont pas des doublons si elles correspondent à des mois différents.
Exercice 2 - Construire un dictionnaire rapide
Construisez un dictionnaire pour mois, region, canal_principal, clients, delai_livraison_jours, satisfaction et ventes_par_client.
Le dictionnaire doit contenir : type, unité, rôle dans une décision de service et précaution d’interprétation. Les catégories codées ne doivent pas être traitées comme des quantités.
Exercice 3 - Diagnostiquer les valeurs manquantes
Produisez un tableau donnant le nombre et la proportion de valeurs manquantes. Comparez ensuite le nombre de lignes disponibles pour une analyse de la satisfaction et pour une analyse conjointe satisfaction-délai.
disponibilite <- operations |>
summarise(
lignes_totales = n(),
satisfaction_disponible = sum(!is.na(satisfaction)),
delai_disponible = sum(!is.na(delai_livraison_jours)),
analyse_conjointe = sum(
!is.na(satisfaction) & !is.na(delai_livraison_jours)
)
)
disponibiliteExpliquez pourquoi chaque résultat doit annoncer son propre nombre d’observations.
Exercice 4 - Résumer par région et canal
Résumez plutôt par région et canal principal, afin de répondre à une question différente de celle du guide.
resume_service <- operations |>
group_by(region, canal_principal) |>
summarise(
observations = n(),
delai_median = median(delai_livraison_jours, na.rm = TRUE),
satisfaction_mediane = median(satisfaction, na.rm = TRUE),
ventes_par_client = sum(ventes) / sum(clients),
.groups = "drop"
)
resume_serviceRepérez un groupe à surveiller et nommez une limite liée au petit nombre d’observations.
Exercice 5 - Produire deux graphiques
Produisez :
- un nuage de points satisfaction-délai, avec une couleur par région;
- un graphique de ventes par client selon le canal principal.
Chaque graphique doit répondre à une question écrite avant le code. Un titre ne remplace pas l’interprétation.
Exercice 6 - Choisir une priorité de prochaine analyse
Choisissez une priorité parmi la réduction des délais, l’amélioration de la satisfaction ou l’analyse des écarts de ventes par client. Appuyez votre choix avec un résultat, puis indiquez l’information qui manque pour passer de la description à une décision d’intervention.
Exercice 7 - Préparer la suite
Formulez une question sur l’association entre satisfaction et delai_livraison_jours. Ajoutez une variable de contexte et une limite causale. Vous pourrez reprendre cette question au module 3 pour découvrir la régression.
Trace finale facultative
Produisez une note Quarto autonome sur la fiabilité du service : dictionnaire ciblé, audit des données manquantes, tableau région-canal, deux graphiques, trois constats, priorité et prochaine analyse. N’utilisez pas le fichier ventes_pme_quebec.csv du guide.