Capsule 5 - Résumer et diagnostiquer les données

MQT-2101 - Analyse et modélisation des données

Pourquoi ça compte

Une décision concrète

Le délai moyen et la satisfaction décrivent-ils toutes les observations, ou seulement les valeurs disponibles de chaque variable?

Les ventes et le nombre de clients sont complets dans ce fichier, mais le délai de livraison et la satisfaction contiennent quelques valeurs manquantes. Avant de comparer ces indicateurs, il faut rendre explicite le nombre d’observations réellement utilisées.

Objectifs de la capsule

  • Préparer les types de variables utiles.
  • Repérer et signaler les valeurs manquantes.
  • Produire un tableau descriptif par groupe et l’interpréter prudemment.

Reprendre le travail de la capsule 4

  • Ouvrez le même projet et reprenez le code d’importation.
  • ventes_operations contient le tableau importé.
  • Chargez les packages nécessaires avant les transformations.
library(tidyverse)
library(janitor)
library(lubridate)

Préparer avant de résumer

Vérifiez les types avant de calculer. Une conversion ne remplace pas cette vérification.

ventes_preparees <- ventes_operations |>
  mutate(
    mois = ymd(mois),
    succursale = factor(succursale),
    region = factor(region),
    campagne_locale = factor(campagne_locale),
    canal_principal = factor(canal_principal)
  )

Comprendre mutate() et factor()

  • mutate() crée ou transforme des colonnes.
  • ymd() reconnaît une date année-mois-jour; ici, mois est déjà une date.
  • factor() représente des catégories; les nombres de clients restent numériques.
  • La conversion en facteur ne modifie pas les valeurs observées.

Vérifier la structure préparée

ventes_preparees |>
  summarise(
    nb_lignes = n(),
    nb_succursales = n_distinct(succursale),
    nb_regions = n_distinct(region),
    nb_canaux = n_distinct(canal_principal),
    mois_min = min(mois, na.rm = TRUE),
    mois_max = max(mois, na.rm = TRUE)
  )

Le tableau contient 24 lignes, 4 succursales, 4 régions et 3 canaux, de janvier à juin 2025.

Comprendre le diagnostic

  • is.na(x) indique quelles valeurs sont absentes.
  • sum(is.na(x)) compte ces valeurs.
  • across(everything(), ...) répète le calcul sur chaque colonne.
  • pivot_longer() donne une ligne par variable; filter() garde les variables incomplètes.

Repérer les valeurs manquantes

Une valeur manquante peut modifier une moyenne, un total ou une conclusion. Dans ce module, on les repère et on les signale, sans les remplacer par des valeurs estimées.

diagnostic_manquants <- ventes_preparees |>
  summarise(across(everything(), \(x) sum(is.na(x)))) |>
  pivot_longer(
    cols = everything(),
    names_to = "variable",
    values_to = "valeurs_manquantes"
  ) |>
  filter(valeurs_manquantes > 0)

diagnostic_manquants
# A tibble: 2 × 2
  variable              valeurs_manquantes
  <chr>                              <int>
1 delai_livraison_jours                  1
2 satisfaction                           2

Interpréter le diagnostic

  • nommer les variables incomplètes;
  • dire quels indicateurs peuvent être touchés;
  • n’utiliser na.rm = TRUE que si cette décision est signalée.

Résumer par succursale

group_by() forme les groupes; summarise() calcule une ligne par groupe; arrange(desc(...)) trie du plus grand au plus petit.

resume_succursales <- ventes_preparees |>
  group_by(succursale, region) |>
  summarise(
    ventes_totales = sum(ventes),
    clients_totaux = sum(clients),
    panier_moyen = ventes_totales / clients_totaux,
    nb_mois_satisfaction = sum(!is.na(satisfaction)),
    satisfaction_moyenne = mean(satisfaction, na.rm = TRUE),
    .groups = "drop"
  ) |>
  arrange(desc(ventes_totales))

Le tableau obtenu

Succursale Ventes ($ CA) Panier ($ CA) Mois utilisés Satisfaction (/10)
Montréal 831 777 $ 59,17 $ 5 8,08
Québec 677 971 $ 59,14 $ 5 8,06
Sherbrooke 589 922 $ 61,68 $ 6 7,88
Trois-Rivières 515 975 $ 60,07 $ 6 8,18

Ce que les moyennes résument

  • Panier moyen : ventes totales divisées par le total de clients.
  • Satisfaction : moyenne des scores mensuels disponibles, sans pondération par le nombre de clients.
  • na.rm = TRUE exclut les valeurs absentes de ce calcul; il ne les remplace pas par zéro.
  • Montréal et Québec : 5 mois utilisés; Sherbrooke et Trois-Rivières : 6.

Lire un tableau descriptif

  • repérer la succursale aux ventes les plus élevées;
  • comparer panier moyen et satisfaction;
  • vérifier si le même groupe ressort pour tous les indicateurs;
  • formuler une limite de comparaison.

À retenir

1

Préparer les variables évite des erreurs de calcul.

2

Les valeurs manquantes se signalent, ne se cachent pas.

3

Un tableau descriptif se rattache à une question et à une limite.

Production autonome 2.5

Diagnostiquez et résumez le tableau préparé.

Ajoutez : un tableau de diagnostic des valeurs manquantes, un tableau descriptif par succursale ou par canal, et une phrase qui précise une limite d’interprétation.

Auto-vérification

  • Le diagnostic repère un délai et deux scores de satisfaction manquants.
  • Le tableau indique le nombre de mois utilisés pour la satisfaction.
  • Je précise les unités et une limite de comparaison.