Points clés :
- Créer des diagrammes de Sankey dans Excel nécessite traditionnellement des modules complémentaires tiers et des compétences techniques, ce qui crée des obstacles pour les professionnels.
- Excelmatic simplifie le processus en générant des diagrammes de Sankey instantanément à partir d'instructions en langage simple — pas besoin de codage ni de configuration complexe.
- Comparé aux méthodes manuelles dans Excel, Python ou R, Excelmatic produit des visualisations Sankey professionnelles en quelques secondes, vous permettant de vous concentrer sur les insights plutôt que sur la mise en œuvre technique.
- Pour les professionnels du marketing, des ventes et des opérations qui ont besoin de visualiser rapidement des flux de données, adopter des outils d'IA comme Excelmatic signifie des analyses plus rapides et une meilleure prise de décision.
La beauté des diagrammes de Sankey réside dans leur capacité à simplifier les systèmes multi-étapes. Au lieu de parcourir des lignes de données pour trouver les plus grandes pertes d'énergie ou les allocations budgétaires, vous pouvez les repérer instantanément en cherchant les flux les plus épais. Cela les rend utiles pour la gestion de l'énergie, l'analyse financière, l'optimisation des entonnoirs marketing et tout scénario où comprendre le flux et la transformation des ressources importe plus que des comparaisons numériques précises.
Qu'est-ce qu'un diagramme de Sankey ?
Un diagramme de Sankey est une visualisation de flux spécialisée où la largeur des flèches de connexion représente l'ampleur du flux entre différentes étapes, catégories ou entités. Contrairement aux organigrammes traditionnels qui montrent les étapes d'un processus ou aux histogrammes qui comparent des valeurs discrètes, les diagrammes de Sankey excellent à montrer comment les quantités se déplacent, se transforment ou sont distribuées à travers un système.

Le diagramme ci-dessus illustre comment un budget annuel de 100 000 $ circule à travers différentes catégories. Notez comment l'allocation Marketing (40 000 $) apparaît comme un flux visiblement plus épais que celle de la R&D (25 000 $), rendant les différences proportionnelles immédiatement apparentes.
Histoire et évolution des diagrammes de Sankey
Le premier diagramme de Sankey connu est apparu en 1898 lorsque le capitaine Matthew Henry Phineas Riall Sankey l'a utilisé pour montrer l'efficacité énergétique d'une machine à vapeur. Son diagramme a révélé qu'une petite partie seulement de l'énergie du carburant contribuait réellement à un travail utile, la plupart étant perdue sous forme de chaleur résiduelle.

Cependant, le concept de visualisation de flux proportionnels précède le capitaine Sankey. Charles Joseph Minard a créé ce que beaucoup considèrent comme le diagramme de flux le plus célèbre en 1869, décrivant la désastreuse campagne russe de Napoléon en 1812. Le diagramme de Minard montrait la taille décroissante de l'armée à mesure qu'elle avançait en Russie puis battait en retraite, l'épaisseur de la ligne représentant le nombre de soldats survivants.

Composants d'un diagramme de Sankey
Comprendre les éléments clés d'un diagramme de Sankey vous aide à la fois à interpréter les diagrammes existants et à créer les vôtres efficacement.
- Les nœuds représentent les catégories, étapes ou entités de votre système. Dans notre exemple budgétaire, "Budget annuel", "Marketing" et "Publicités numériques" sont tous des nœuds. Les nœuds sources (comme "Budget annuel") apparaissent généralement à gauche, tandis que les nœuds cibles (comme "Publicités numériques") apparaissent à droite.
- Les flux ou liens sont les connecteurs directionnels entre les nœuds, et leur largeur est proportionnelle à la valeur qu'ils représentent. Le flux orange épais du Budget annuel vers le Marketing représente 40 000 $, tandis que le flux beaucoup plus fin vers le Contenu ne représente que 5 000 $. Cette largeur proportionnelle est la caractéristique déterminante qui rend les diagrammes de Sankey si efficaces.
- Les valeurs sont les données numériques qui déterminent la largeur de chaque flux. Elles peuvent représenter de l'argent, de l'énergie, des personnes ou toute ressource quantifiable circulant dans votre système.
- Les pertes sont des flux spéciaux qui représentent les déperditions, les déchets ou les ressources qui quittent le système sans atteindre un nœud cible. Bien que notre exemple budgétaire ne montre pas de pertes, vous pourriez en voir dans des diagrammes énergétiques montrant les pertes de chaleur ou dans des entonnoirs marketing montrant les clients qui abandonnent le processus.
Comment créer un diagramme de Sankey
Créer des diagrammes de Sankey nécessite différentes approches selon vos outils préférés et votre niveau de confort technique. Nous allons parcourir le même exemple d'allocation budgétaire en utilisant Excel, Python et R, afin que vous puissiez choisir la méthode qui correspond le mieux à votre flux de travail et à votre expertise.
Diagramme de Sankey dans Excel : IA vs. Modules complémentaires traditionnels
Excel n'inclut pas de type de graphique Sankey natif, obligeant les utilisateurs à trouver des solutions de contournement. Comparons la méthode traditionnelle avec modules complémentaires à une approche moderne alimentée par l'IA.
La méthode alimentée par l'IA (avec Excelmatic)
Le moyen le plus rapide et le plus intuitif de créer un diagramme de Sankey dans Excel est d'utiliser un agent d'IA comme Excelmatic. Au lieu de naviguer dans les menus et d'installer des logiciels tiers, vous pouvez simplement exprimer votre demande en langage clair.
Le processus est rafraîchissant de simplicité :
- Téléchargez votre fichier de données contenant la source, la cible et la valeur pour chaque flux.
- Exprimez votre besoin : Tapez une instruction simple comme : "Crée un diagramme de Sankey à partir de ces données pour montrer l'allocation budgétaire."
- Obtenez votre graphique : Excelmatic analyse vos données et génère instantanément un diagramme de Sankey professionnel et précis.

Cette approche élimine la courbe d'apprentissage associée aux modules complémentaires et automatise l'ensemble du processus. Elle est idéale pour les professionnels qui ont besoin de générer rapidement des visualisations complexes sans s'embourber dans des étapes techniques ou écrire du code. L'IA gère la création du graphique, vous permettant ainsi de vous concentrer sur les insights.
La méthode traditionnelle (avec modules complémentaires)
Pour ceux qui préfèrent une approche manuelle, vous devrez utiliser un module complémentaire tiers. ChartExpo est l'une des options les plus populaires.

Avant de créer le diagramme, vous devrez structurer vos données dans un format source-cible-valeur. Chaque ligne doit représenter une connexion de flux.
Le processus est simple une fois que ChartExpo est installé. Tout d'abord, installez le module complémentaire depuis Microsoft AppSource. Ensuite, sélectionnez votre plage de données (en-têtes inclus) et choisissez Sankey Chart parmi les options de visualisation de ChartExpo. Le module complémentaire détecte vos colonnes source, cible et valeur et fournit un aperçu, vous permettant de créer et de personnaliser le graphique.
Comparaison : Bien que les modules complémentaires fassent le travail, ils nécessitent une installation, une sélection manuelle des données et la navigation dans une interface séparée. Un outil d'IA comme Excelmatic rationalise cela en une seule étape conversationnelle, le rendant nettement plus rapide et convivial.
Diagramme de Sankey en Python
Pour ceux qui préfèrent coder, la bibliothèque Plotly de Python est une excellente option pour créer des diagrammes de Sankey interactifs et de haute qualité. Nous utiliserons les mêmes données d'allocation budgétaire pour recréer la visualisation.
Étape 1 : Préparation des données
Commencez par organiser vos données dans le format attendu par Plotly : une liste de noms de nœuds, et des tableaux spécifiant les indices source, les indices cible et les valeurs pour chaque flux.
import plotly.graph_objects as go
# Définir tous les nœuds de votre diagramme
nodes = ["Annual Budget", "Marketing", "Operations", "R&D",
"Digital Ads", "Events", "Content", "Salaries",
"Office", "Utilities", "Software", "Equipment"]
# Définir les connexions (en utilisant les indices des nœuds)
source_indices = [0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3]
target_indices = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
values = [40, 35, 25, 25, 10, 5, 20, 10, 5, 15, 10]
Les indices correspondent aux positions dans votre liste nodes, donc source_indices = [0, 0, 0] signifie que les trois premiers flux partent de "Annual Budget" (position 0).
Étape 2 : Création de base du Sankey
Créez la structure centrale du diagramme en utilisant l'objet Sankey de Plotly.
fig = go.Figure(data=[go.Sankey(
node=dict(
label=nodes,
pad=15,
thickness=20
),
link=dict(
source=source_indices,
target=target_indices,
value=values
)
)])
Cela crée un diagramme de Sankey fonctionnel avec un style par défaut. Le pad contrôle l'espacement entre les nœuds, tandis que thickness détermine la largeur d'apparence des rectangles des nœuds.
Étape 3 : Style et personnalisation
Améliorez votre diagramme avec des couleurs, une mise en page améliorée et un formatage professionnel.
# Ajouter des couleurs et de la transparence
fig.update_traces(
node_color=["#1f77b4", "#ff7f0e", "#2ca02c", "#d62728",
"#ff9999", "#ff9999", "#ff9999", "#90ee90",
"#90ee90", "#90ee90", "#ffcccb", "#ffcccb"],
link_color=["rgba(255, 127, 14, 0.4)", "rgba(44, 160, 44, 0.4)",
"rgba(214, 39, 40, 0.4)", "rgba(255, 127, 14, 0.6)",
"rgba(255, 127, 14, 0.6)", "rgba(255, 127, 14, 0.6)",
"rgba(44, 160, 44, 0.6)", "rgba(44, 160, 44, 0.6)",
"rgba(44, 160, 44, 0.6)", "rgba(214, 39, 40, 0.6)",
"rgba(214, 39, 40, 0.6)"]
)
# Mettre à jour la mise en page pour une meilleure présentation
fig.update_layout(
title="Annual Budget Allocation",
font=dict(size=16, family="Arial Black", color="black"),
width=900,
height=600
)
Étape 4 : Affichage et exportation
Affichez votre diagramme et enregistrez-le dans différents formats.
fig.show() # Afficher dans Jupyter notebook ou navigateur
# Options d'exportation
fig.write_html("budget_sankey.html") # Version web interactive
fig.write_image("budget_sankey.png") # Image statique
Diagramme de Sankey en R
Le package networkD3 de R est un autre outil puissant pour créer des diagrammes de Sankey interactifs et prêts pour le web. Cette approche offre une interactivité intégrée comme des effets de survol et une intégration facile avec R Markdown.
Étape 1 : Configuration et préparation des données
Tout d'abord, installez et chargez les packages requis, puis structurez vos données en dataframes nodes et links.
# Installer les packages requis (exécuter une fois)
install.packages(c("networkD3", "dplyr"))
# Charger les bibliothèques
library(networkD3)
library(dplyr)
# Créer le dataframe des nœuds
nodes <- data.frame(
name = c("Annual Budget", "Marketing", "Operations", "R&D",
"Digital Ads", "Events", "Content", "Salaries",
"Office", "Utilities", "Software", "Equipment")
)
# Créer le dataframe des liens (note : networkD3 utilise une indexation basée sur 0)
links <- data.frame(
source = c(0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3),
target = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11),
value = c(40, 35, 25, 25, 10, 5, 20, 10, 5, 15, 10)
)
Étape 2 : Création de base du Sankey
Créez votre diagramme en utilisant la fonction sankeyNetwork().
# Créer un diagramme de Sankey basique
sankey_plot <- sankeyNetwork(
Links = links,
Nodes = nodes,
Source = "source",
Target = "target",
Value = "value",
NodeID = "name",
units = "K USD"
)
# Afficher le graphique
sankey_plot
Cela génère un diagramme interactif où les utilisateurs peuvent survoler les flux et déplacer les nœuds pour réorganiser la mise en page.
Étape 3 : Personnalisation et style
Améliorez votre diagramme avec des couleurs, des dimensions et d'autres options de formatage.
# Sankey avancé avec personnalisation
(sankey_advanced <- sankeyNetwork(
Links = links,
Nodes = nodes,
Source = "source",
Target = "target",
Value = "value",
NodeID = "name",
units = "K USD",
fontSize = 14,
fontFamily = "Arial",
nodeWidth = 30,
nodePadding = 20,
margin = list(top = 50, right = 50, bottom = 50, left = 50),
height = 600,
width = 900
))
Étape 4 : Options d'exportation et d'intégration
Enregistrez votre diagramme interactif en tant que fichier HTML autonome.
# Enregistrer en tant que fichier HTML
library(htmlwidgets)
saveWidget(sankey_advanced, "budget_sankey.html", selfcontained = TRUE)
# Pour l'export d'image statique (optionnel - nécessite le package webshot2)
install.packages("webshot2")
library(webshot2)
webshot("budget_sankey.html", "budget_sankey.png", vwidth = 900, vheight = 600)

Le diagramme résultant fournit les mêmes insights visuels que nos versions Python et Excel mais avec une interactivité intégrée qui aide les utilisateurs à explorer les données plus en profondeur.
Alternatives et comparaisons des diagrammes de Sankey
Les diagrammes de Sankey fonctionnent mieux lorsque vous avez des relations directionnelles claires entre les catégories. Cependant, plusieurs situations nécessitent des approches de visualisation différentes.
Quand ne pas utiliser de diagrammes de Sankey
- Pas de flux directionnel : Si vos données montrent simplement différents groupes sans mouvement entre eux, un histogramme est plus approprié.
- Besoin de comparaisons précises : Les largeurs variables rendent difficile l'extraction de valeurs exactes. Si la précision est essentielle, utilisez des tableaux ou des histogrammes.
- Complexité élevée : Avec trop de nœuds ou de flux interconnectés, les diagrammes de Sankey peuvent devenir un fouillis encombr