Aller au contenu principal
Leçon 13 sur 14 · ChatGPT pour l’Analyse de Données

Combiner plusieurs sources de données

Leçon 13 sur 14 Mis à jour le 5 novembre 2026 Intermédiaire
Sur cette page
  1. Croiser les données pour des analyses plus riches
  2. Importer plusieurs fichiers
  3. Fusionner les tables (jointures)
  4. Comparer budget vs réalisé
  5. Enrichir avec des données externes
  6. Gérer les incohérences entre sources
  7. Analyse croisée multi-dimensions
  8. À vous de jouer
  9. Points clés à retenir

Croiser les données pour des analyses plus riches

Les analyses les plus puissantes naissent du croisement de plusieurs sources. Ventes et CRM, budget et réalisé, web analytics et conversions : chacun de ces fichiers, pris isolément, ne raconte qu’une moitié d’histoire. C’est en les combinant que vous découvrez des insights invisibles dans chaque source séparée — par exemple que vos meilleurs clients en volume sont vos moins rentables en marge.

Importer plusieurs fichiers

ChatGPT accepte plusieurs fichiers dans une même conversation. Le réflexe utile consiste à les présenter dès le début de session en indiquant ce que contient chacun : vous économisez ensuite toutes les questions de clarification, et vous évitez surtout que ChatGPT devine mal le rôle d’un fichier.

Voici 3 fichiers :
1. ventes_q1_2026.xlsx — les transactions de vente
2. clients_crm.csv — la base clients avec secteur et taille
3. objectifs_2026.csv — les objectifs par région et par mois

Je vais te demander de les croiser pour une analyse complète.

Joignez-les un par un ou tous ensemble ; ChatGPT peut tous les lire dans son environnement Python. Le nombre de fichiers par conversation varie selon le type de fichier, le modèle, l’offre et votre quota d’import, et vous pouvez aussi joindre des fichiers depuis Google Drive, OneDrive ou SharePoint quand les plugins correspondants sont disponibles pour votre compte. Comme à la leçon 1, ne gardez du CRM que les colonnes utiles au croisement.

Fusionner les tables (jointures)

La jointure combine deux tables sur une colonne commune : c’est le cœur de tout croisement. Demandez-la en nommant explicitement la clé, et exigez dès le premier prompt un signalement des lignes orphelines, celles dont la clé ne trouve pas de correspondance.

Fusionne le fichier ventes avec le fichier clients
en utilisant la colonne "id_client" comme clé de jointure.
Affiche un aperçu du résultat et signale les ventes
sans client correspondant.

Le résultat obtenu dépend du type de jointure retenu, et ce choix n’est jamais neutre : selon le cas, vous perdez des ventes ou vous conservez des lignes incomplètes.

Type de jointureComportementQuand l’utiliser
Inner joinGarde uniquement les correspondancesAnalyse stricte, pas de données incomplètes
Left joinGarde toutes les lignes de la table principaleEnrichir les ventes avec les infos clients (même si client inconnu)
Outer joinGarde toutes les lignes des deux tablesIdentifier les écarts entre deux sources

Vous n’avez pas besoin de connaître ce jargon pour l’utiliser. Décrivez simplement le résultat voulu, en précisant le sort réservé aux cas non appariés.

Je veux enrichir mes ventes avec les infos clients.
Garde toutes les ventes, même celles dont le client
n'est pas dans le CRM (mets "Inconnu" dans ce cas).

ChatGPT traduit cette demande en jointure — ici une jointure à gauche, ou left join, puisque aucune vente ne doit disparaître du total ; vérifiez-le dans le code. La formulation compte : si vous aviez écrit « croise les deux fichiers » sans plus de précision, une inner join aurait pu amputer votre chiffre d’affaires de tous les clients absents du CRM.

Comparer budget vs réalisé

Le croisement le plus fréquent en pilotage confronte deux fichiers construits par des équipes différentes : les objectifs fixés en début d’année d’un côté, les ventes agrégées de l’autre. La particularité tient ici à la clé de jointure, qui est double — région et mois — car aucune des deux colonnes ne suffit à identifier une ligne.

Croise le fichier des objectifs (colonnes : region, mois, objectif_ca)
avec le fichier des ventes agrégées (region, mois, ca_realise).
Calcule l'écart en euros et en pourcentage pour chaque combinaison.
Signale les cases où l'objectif n'est pas atteint.

Enrichir avec des données externes

Un fichier de référence permet d’ajouter une dimension qui n’existe nulle part dans vos données de vente. Le cas classique est celui du code postal : présent dans toutes les commandes, il ouvre l’analyse géographique dès qu’on lui associe une table de correspondance. L’environnement Python de ChatGPT n’accède pas au web : téléchargez cette table depuis une source officielle, puis joignez-la.

Voici un fichier de référence avec les codes postaux
et les régions administratives françaises.
Ajoute la colonne "region" à mes données de ventes
en utilisant le code postal comme clé.

Le même mécanisme relie deux univers habituellement cloisonnés, le marketing digital et le commerce. Rapprocher le trafic des ventes fait apparaître les pages qui attirent sans convertir, celles dont l’audience flatte les rapports marketing sans jamais alimenter le carnet de commandes.

Fichier 1 : trafic web par page produit (page_url, visites, taux_rebond)
Fichier 2 : ventes par produit (produit, ca, quantite)

Croise les deux fichiers sur le nom du produit.
Calcule le taux de conversion (ventes / visites) par produit.
Quel produit a le meilleur ratio visites → ventes ?

Gérer les incohérences entre sources

Les sources de données ont rarement le même format, et c’est précisément là que les croisements échouent — silencieusement. Trois problèmes reviennent constamment. Le premier tient aux noms de colonnes, qui désignent la même information sous deux libellés différents parce que deux équipes les ont nommées séparément.

Dans le fichier ventes, la colonne s'appelle "client_id".
Dans le CRM, elle s'appelle "identifiant_client".
Fais la jointure en mappant ces deux colonnes.

Le deuxième concerne les dates, dont la granularité et l’écriture diffèrent d’un système à l’autre. L’harmonisation doit précéder la fusion, jamais la suivre : une fois les lignes appariées de travers, plus rien ne permet de retrouver l’erreur.

Les ventes utilisent le format JJ/MM/AAAA.
Les objectifs utilisent le format AAAA-MM.
Harmonise les deux sur le mois (AAAA-MM) avant de croiser.

Le troisième porte sur les valeurs catégorielles, où une simple différence de casse ou d’accentuation suffit à faire échouer l’appariement, alors qu’un lecteur humain n’y verrait aucune ambiguïté.

Dans les ventes, les régions sont en majuscules (ILE-DE-FRANCE).
Dans le CRM, elles sont en minuscules (Île-de-France).
Normalise les deux avant la jointure.

Aucune de ces précautions ne dispense du contrôle final. Une jointure ratée ne produit pas de message d’erreur : elle produit un tableau plus petit, parfaitement présentable, et personne ne le remarque avant la réunion. Demandez donc systématiquement le bilan.

Après la jointure, combien de lignes ont été perdues ?
Combien de lignes n'ont pas trouvé de correspondance ?
Montre 5 exemples de non-correspondances.

Analyse croisée multi-dimensions

Une fois les sources fusionnées, vous pouvez croiser des dimensions qui étaient jusque-là séparées. C’est le bénéfice réel de tout ce travail de plomberie, et le moment où il devient visible.

Maintenant que j'ai les ventes enrichies avec les infos CRM :
1. CA par secteur d'activité du client ET par catégorie de produit
2. Panier moyen selon la taille de l'entreprise (TPE, PME, ETI, GE)
3. Top 10 des combinaisons (secteur × produit) les plus rentables

Ces analyses seraient impossibles avec un seul fichier : le fichier de ventes ignore la taille de l’entreprise cliente, et le CRM ignore ce qu’elle achète. Le croisement est ce qui permet enfin de poser la question qui intéresse la direction commerciale — quel type de client achète quel type de produit.

Croiser deux sources sans perdre de lignes Cinq étapes : décrire le rôle de chaque fichier ; aligner les noms de colonnes, les dates et les valeurs ; joindre sur une clé explicite ; vérifier les lignes perdues ; croiser les dimensions. JOINTURES Croiser deux sources sans perdre de lignes 1 Décrire Rôle 2 Aligner Formats 3 Joindre Clé 4 Vérifier Lignes 5 Croiser Dimensions Une jointure ratée ne produit pas d'erreur : elle produit un tableau plus petit.
Méthode de la leçon ; fusion de jeux de données d'après l'article « Extracting Insights with ChatGPT Data Analysis » du centre d'aide d'OpenAI (novembre 2026).

À vous de jouer

Votre premier croisement.

  1. Choisissez deux fichiers qui partagent une clé : ventes et CRM, budget et réalisé
  2. Présentez-les à ChatGPT en indiquant le rôle de chacun
  3. Harmonisez les noms de colonnes, les dates et les valeurs avant la jointure
  4. Décrivez le sort des lignes sans correspondance, puis lancez la jointure
  5. Demandez le bilan des lignes perdues et examinez cinq exemples

Sources officielles : Extracting Insights with ChatGPT Data Analysis · Data analysis with ChatGPT (centre d’aide OpenAI)

Points clés à retenir

  • Importez plusieurs fichiers dans la même conversation pour les croiser
  • Décrivez la logique de jointure en langage naturel, puis vérifiez dans le code le type de jointure retenu
  • Harmonisez les formats (dates, noms, majuscules) avant de fusionner
  • Vérifiez toujours le nombre de lignes avant/après la jointure
  • Le croisement multi-sources révèle des insights invisibles dans chaque source isolée