← Retour au tableau de bord
GeoEcon Pulse

Méthodologie

Ce que ce tableau de bord lit à la source, ce qu'il calcule, ce qu'il écarte et ce qui reste jugé par un humain. Chaque règle décrite ici est appliquée par du code public et vérifiable dans le dépôt.

Le principe

Un tableau de bord économique ment rarement d'un coup. Il vieillit. Un chiffre juste au moment où on l'écrit reste plausible longtemps après être devenu faux, et rien dans sa présentation ne le signale. Trois règles découlent de ce constat et gouvernent tout le reste.

1

Tout ce qui peut être lu à la source l'est.

Aucun indicateur conjoncturel n'est saisi à la main. Ils viennent des diffuseurs officiels, par leurs API publiques, sans clé.

2

Les résumés sont calculés, jamais rédigés d'avance.

Le texte de synthèse et l'indice de sentiment de chaque zone sont composés à partir des valeurs du jour. Ils ne peuvent donc pas contredire les cartes affichées au-dessus d'eux.

3

Ce qui reste manuel est signalé et surveillé.

Les rares champs sans source automatisable portent une marque dans les données, et leur âge est contrôlé à chaque passage.

Sources des indicateurs

Toutes les API listées ci-dessous sont publiques et ne demandent aucune clé d'authentification. Aucun jeton n'est stocké dans le dépôt.

IndicateurZonesSourceFréquence
Chômage, variation de l'emploi CA Statistique Canada, Web Data Service (Enquête sur la population active) Mensuelle
Chômage, variation de l'emploi US Bureau of Labor Statistics, API publique v1 Mensuelle
Inflation (IPC, glissement annuel) CA Banque du Canada, API Valet Mensuelle
Inflation (IPC, glissement annuel) US, CN, IN OCDE, entrepôt SDMX public. Le BLS reste la source première pour les États-Unis ; l'OCDE prend le relais quand il est indisponible. Mensuelle
Taux directeur CA Banque du Canada, API Valet À chaque décision
Taux directeur US Fed de New York, taux de référence Quotidienne
Taux directeur CN, IN Banque des règlements internationaux, jeu WS_CBPOL Quotidienne
Taux de change CA, CN, IN Frankfurter, adossé aux taux de référence de la BCE Quotidienne
Indices boursiers, pétrole Brent Toutes API de cotation de Yahoo Finance Quotidienne
Croissance du PIB (prévisions) Toutes Saisi à la main Banque du Canada (Rapport sur la politique monétaire), Fed (Summary of Economic Projections), Conseil d'État chinois, Fitch, FMI (World Economic Outlook) Trimestrielle à semestrielle

Dernière relecture des prévisions : 8 août 2026. Canada et États-Unis contre les éditions les plus récentes du Rapport sur la politique monétaire (15 juillet 2026, 0,7 %) et du Summary of Economic Projections (17 juin 2026, 2,2 %) ; l'agrégat mondial contre la mise à jour de juillet 2026 des Perspectives de l'économie mondiale du FMI (3,0 % de croissance, 4,7 % d'inflation).

Sources écartées, et pourquoi. DBnomics a été évalué comme miroir de secours : sa copie du BLS s'arrêtait à janvier 2025 et ses séries du FMI à juillet 2025, soit plus d'un an de retard sur les sources d'origine. L'API DataMapper du FMI est bloquée par son réseau de diffusion. Son entrepôt SDMX répond, mais ne publie que le millésime d'octobre 2025 des Perspectives de l'économie mondiale, antérieur à l'édition d'avril 2026. Dans les trois cas, brancher la source aurait rendu le tableau moins à jour, pas plus.

Cadence de rafraîchissement

Le pipeline s'exécute trois fois par jour, à des heures alignées sur le calendrier des diffuseurs et non sur une heure arbitraire. Statistique Canada et le Bureau of Labor Statistics publient à 8 h 30, heure de l'Est. Un passage unique en milieu de matinée UTC tombait systématiquement avant la diffusion et ajoutait près de vingt-quatre heures de retard à chaque publication mensuelle.

Contrôle de fraîcheur

À chaque passage, l'âge de chaque indicateur est calculé à partir de la période qu'il affiche. Au-delà de 100 jours, il est déclaré périmé.

Un indicateur périmé n'interrompt pas la publication : les données fraîches du même passage partent quand même. Il ouvre une issue sur le dépôt, qui liste les champs concernés et se referme une fois corrigés. Les prévisions annuelles sont exclues du contrôle : une prévision pour 2026 publiée en avril reste la prévision courante en décembre, son âge en jours ne veut rien dire.

Contrôle de cohérence

Un pipeline qui ne lit qu'une source par indicateur ne peut pas distinguer une vraie donnée d'une erreur de lecture qui en a l'air : une colonne mal alignée, un décalage d'index, une conversion d'unité oubliée rendent tous un nombre plausible. Chaque indicateur qui a une seconde source publique indépendante est donc relu deux fois, et l'écart entre les deux est mesuré à chaque passage.

IndicateurSource principaleSeconde sourceSeuil
Inflation CABanque du CanadaOCDE0,5 point
Inflation USBLSOCDE0,5 point
Taux directeur CABanque du CanadaBRI0,25 point
Taux directeur USFed de New YorkBRI0,25 point
Taux de change (CA, CN, IN)Frankfurter / BCEYahoo Finance3 %

L'inflation et le taux directeur de la Chine et de l'Inde n'ont pas de seconde source publique aisément accessible : ils passent par une borne de plausibilité plutôt qu'une comparaison, tout comme le chômage, les prévisions de croissance et l'agrégat mondial. Une borne n'attrape pas une petite erreur, mais elle attrape un chiffre qui a changé de colonne ou d'unité, par exemple un indice pris pour un taux.

Un écart au-delà du seuil ne signifie pas forcément une erreur : deux sources peuvent viser une date de référence légèrement différente. Il déclenche la même issue de maintenance que les indicateurs manuels périmés, avec le détail des deux valeurs, pour qu'un humain tranche. Le résultat complet de chaque passage, écarts compris, est publié dans data/coherence.json.

Santé des flux

Un flux RSS qui cesse de répondre ne fait planter aucune requête : le pipeline le note et continue avec les autres. Sans suivi, une source coupée depuis des mois peut passer inaperçue derrière celles qui marchent encore. data/sante_flux.json compte les échecs consécutifs de chaque flux d'un passage à l'autre ; au-delà de six, environ deux jours à trois passages quotidiens, il est signalé dans la même issue de maintenance, avec la date de son dernier succès.

Sélection des actualités

C'est la partie la plus exigeante du système, et la seule dont une défaillance se voit immédiatement. Entre soixante et cent titres sont évalués par zone et par passage ; huit sont retenus. La règle est stricte : seuls la géopolitique, le commerce, l'énergie, la technologie et la politique monétaire ont leur place. Le sport, les faits divers, la météo, le divertissement et la politique intérieure de procédure sont exclus sans exception.

Chaque titre passe quatre étages, dans cet ordre.

1

Veto catégoriel.

Un vocabulaire de sport, de fait divers, de divertissement ou de curiosité écarte le titre sans examen. Un veto spécifique vise les événements commandités, où le nom d'une institution financière n'apparaît que comme commanditaire : Omnium Banque Nationale contient bien le mot « banque », et c'est précisément le piège.

2

Veto conditionnel.

Météo, rappels de produits et procédure politique intérieure sont écartés, sauf si le titre porte par ailleurs un signal économique fort.

3

Score de pertinence, sur deux axes.

Un axe mesure le sujet : termes forts (droits de douane, taux directeur, contrôle des exportations, terres rares…) et termes moyens (commerce, industrie, fret…). L'autre mesure la portée : pays, institutions, agrégats macroéconomiques. Un signal fort suffit. Deux signaux moyens ne suffisent que s'ils sont accompagnés d'une portée macro, ce qui écarte les résultats d'entreprise isolés.

4

Crédibilité de l'éditeur.

Les rubriques choisies à la main sont fiables par construction. Ce qui remonte d'une requête doit prouver son éditeur contre une liste d'environ cent titres de référence. Une source faible coûte aussi cher à la crédibilité qu'un hors-sujet.

Deux passes finales retirent les doublons, par recouvrement de vocabulaire plutôt que par comparaison de chaînes, et plafonnent à trois le nombre de titres d'un même éditeur, pour qu'une seule rédaction ne monopolise pas la section. Les libellés d'un même titre de presse sont ramenés à un seul nom avant ce comptage : sans quoi SCMP Economy, SCMP Business, SCMP Tech et South China Morning Post comptaient pour quatre éditeurs distincts et le plafond ne tenait plus.

Trois places réservées à l'analyse

Le classement par pure fraîcheur faisait perdre l'analyse contre la dépêche. Le Financial Times et The Economist passaient le filtre chaque jour, une dizaine de titres chacun, et n'apparaissaient jamais : un fil d'agence publié trois heures plus tard les repoussait systématiquement. Une veille géoéconomique qui n'affiche jamais ces deux titres rate sa cible.

Jusqu'à trois des huit places sont donc réservées aux sources d'analyse (Financial Times, The Economist, Bloomberg, Wall Street Journal, New York Times, Peterson Institute, Globe and Mail, Le Monde, Les Échos, La Presse, Le Devoir, Nikkei Asia, SCMP, Foreign Policy, Foreign Affairs), servies elles aussi par ordre de fraîcheur. Les cinq autres places restent attribuées au plus récent, toutes sources confondues.

La recherche économique des banques et instituts privés (Desjardins, Banque Nationale, BMO, RBC, Oxford Economics, Capital Economics) figure dans la liste d'éditeurs mais ne dispose d'aucun flux RSS : Desjardins ne propose qu'un abonnement par courriel, et les autres renvoient une page absente ou un flux vide. Ces travaux n'entrent donc que lorsqu'un agrégateur les reprend.

Un nom propre ne compte pour rien

Les noms de dirigeants sont volontairement absents de toutes les listes. Un chef d'État est un acteur, pas un sujet : sa présence dans un titre n'indique rien sur la nature géoéconomique de la nouvelle. C'est ce qui a laissé passer, dans une version antérieure, un fait divers survenu sur un terrain de golf.

Rattachement à la zone, pas à l'éditeur

Une rédaction nationale couvre aussi l'étranger, et un flux économique généraliste (Financial Times, BBC Business, Nikkei Asia, SCMP…) n'a par construction aucune zone propre. Un article sur des centres de données au Texas ou sur le détroit d'Ormuz s'est déjà retrouvé sous l'onglet Canada au seul motif que son flux d'origine était rangé dans la liste canadienne.

Chaque titre issu d'un flux qui n'est pas l'institution propre à sa zone (une banque centrale parle d'elle-même par construction) est donc confronté à une deuxième vérification : mentionne-t-il une autre zone précise ou un sujet mondial (Ormuz, l'OPEP, le FMI, l'Union européenne…) ? Si oui, il est écarté de celle-ci. La règle exige la preuve du contraire et non la preuve elle-même, parce que la presse économique domestique nomme rarement son propre pays : un titre indien sur l'UPI ne dit ni « Inde » ni « roupie », et une règle qui exigerait la mention l'aurait rejeté à tort.

Le compromis a un coût assumé : un titre bilatéral (« les prix d'importation américains montent avec le coût des produits chinois ») peut être écarté de la zone où son flux est classé, parce qu'il nomme surtout l'autre pays. RESTE DU MONDE n'a rien à prouver : c'est la zone qui accueille par construction ce qui ne vise aucune zone en particulier.

Non-régression

Le filtre est verrouillé par une suite de 107 cas tirés de titres réellement parus, en français comme en anglais, dont tous ceux qui ont motivé une correction. Elle s'exécute avant chaque mise à jour : si un cas régresse, la publication ne part pas. Tout nouveau cas douteux y est ajouté plutôt que d'élargir les listes de mots-clés à l'aveugle.

Rapport hebdomadaire des rejets

Les faux positifs se voient tout de suite, ils atterrissent en page d'accueil. Les faux négatifs sont invisibles par construction. Chaque lundi, un rapport agrège les titres écartés de la semaine, classe les motifs et met en avant ceux qui portaient un vocabulaire économique malgré leur rejet. Il est publié en clair sur le dépôt.

Actualités en français

Le mode français ne traduit pas les titres anglais : il lit la presse francophone à la source, avec le même filtre et les mêmes exigences d'éditeur. Faire réécrire par une machine un titre de presse attribué nommément à son éditeur transformerait un contresens de traduction en citation fausse. Quand une zone ne rend pas assez de titres francophones, le lot anglais est servi plutôt qu'une section vide.

Résumés et sentiment

Aucun modèle de langage Les résumés sont composés en Python à partir des valeurs du jour, par assemblage de phrases. Le sentiment est une note calculée sur l'inflation, l'emploi, la variation du taux directeur et la tendance boursière.

L'inflation est jugée par rapport à une bande propre à chaque banque centrale, et non à une cible ponctuelle : l'Inde vise 4 % à plus ou moins 2 points, la Banque du Canada 2 % dans une fourchette de 1 à 3. Sans cette distinction, une inflation indienne de 2,7 % était signalée comme un risque déflationniste alors qu'elle se situait dans la bande.

Ce choix a un coût : la prose est plus sèche qu'un texte rédigé. Il a un avantage décisif : un résumé calculé ne peut pas inventer un chiffre, ni survivre à la donnée qu'il décrit.

Contenu jugé par un humain

La chronologie des chocs, la matrice d'impact provincial et les interconnexions géoéconomiques relèvent de l'analyse, pas de la donnée. Elles vivent dans leurs propres fichiers, data/chronologie.json, data/analyse_provinciale.json et data/interconnexions.json, pour qu'une mise à jour automatique ne puisse pas les écraser et qu'on voie d'un coup d'œil ce qui est écrit à la main. Chaque événement de la chronologie et chaque interconnexion portent l'URL consultée.

Les chiffres conjoncturels cités dans ces analyses (cours du Brent, taux du dollar canadien et de la roupie indienne) sont des marqueurs remplacés à chaque passage par les valeurs du jour. Une version antérieure annonçait « Brent à 90 $ » et « 1,38 CAD/USD » plusieurs mois après que ces deux chiffres soient devenus faux, et l'onglet Interconnexions décrivait encore le détroit d'Ormuz comme fermé sans interruption alors qu'il avait rouvert puis refermé entre-temps.

Limites connues

Code

Tout est public. Le filtre est dans scripts/news_filter.py, sa non-régression dans scripts/test_news_filter.py, le pipeline dans scripts/update_data.py, le rapport de rejets dans scripts/rapport_rejets.py et la composition de l'issue de maintenance dans scripts/corps_issue.py.