Insights sur la dynamique démographique : codes postaux aux États-Unis

Documentation destinée aux développeurs

Description du produit

Population Dynamics Insights (PDI) est un ensemble de données d'embeddings qui condense les données sur le comportement humain et notre interaction avec l'environnement en embeddings concis et prêts à l'analyse (ou "empreintes digitales") à des endroits spécifiques.

Ces embeddings capturent des tendances dans les données agrégées, comme les tendances de recherche, les tendances d'affluence et les conditions environnementales (cartes, qualité de l'air, météo). Ils fournissent ainsi un aperçu riche et spécifique à un lieu de la façon dont les populations interagissent avec leur environnement. Agrégées dans l'espace et dans le temps, ces intégrations garantissent la confidentialité tout en permettant une analyse et une prédiction spatiales nuancées pour des applications allant de la santé publique à la modélisation socio-économique.

Présentation du produit

Les embeddings de dynamique de population sont générés à l'aide d'un modèle de machine learning spécialement conçu, entraîné sur un ensemble complet de caractéristiques et converti en une représentation vectorielle condensée. Ces embeddings sont entraînés et générés à partir des éléments suivants :

  • Tendances de recherche agrégées : intérêts et préoccupations régionaux reflétés dans les données de recherche.
  • Données Maps agrégées (y compris l'affluence) : les établissements, services et commerces dans les régions, ainsi que les tendances de fréquentation locales.
  • Données agrégées sur la météo et la qualité de l'air : métriques liées au climat, y compris la température et la qualité de l'air.

Ces caractéristiques sont agrégées au niveau du code postal pour générer des embeddings localisés et contextuels qui préservent la confidentialité. Le PDI est un ensemble de données de séries temporelles en cours, avec de nouvelles tranches de données traitées et partitionnées tous les mois. Les données sont actualisées et ajoutées au tableau de données au plus tard le dernier jour du mois calendaire suivant (par exemple, les données de février sont publiées au plus tard le 31 mars).

Prérequis

Pour accéder aux embeddings de dynamique démographique, vous devez y être autorisé. Si vous n'y avez pas accès, contactez votre représentant commercial ou votre ingénieur client.

  • Activez l'API Analytics Hub dans la console Cloud.
  • Activez l'API BigQuery dans la console Cloud.
  • Maîtriser le produit BigQuery
  • Assurez-vous que votre compte dispose du rôle de propriétaire d'abonnement Analytics Hub (roles/analyticshub.subscriptionOwner) pour effectuer des tâches d'abonné.
  • Assurez-vous que votre compte dispose du rôle Utilisateur BigQuery (roles/bigquery.user) pour créer des ensembles de données.

Si vous n'avez jamais travaillé avec des embeddings ou BigQuery Machine Learning, nous vous recommandons vivement de suivre les formations suivantes avant de commencer votre analyse :

Utiliser les embeddings

Comprendre les données

Avant de commencer votre analyse, prenez le temps d'examiner la structure du schéma.

Organisation des ensembles de données

Les embeddings sont organisés dans des tables BigQuery distinctes pour chaque pays ou région de test.

Anatomie du vecteur d'intégration

La colonne features est un vecteur à 330 dimensions (stocké sous forme de tableau REPEATED FLOAT dans BigQuery). Chaque section du tableau correspond à un signal de données spécifique extrait par le modèle de dynamique de population.

Comprendre cette structure permet l'ablation de fonctionnalités (par exemple, déterminer dans quelle mesure le comportement de recherche prédit les ventes par rapport à la météo).

Index vectoriels Source de données Description
0 – 127 Tendances de recherche agrégées Capture les centres d'intérêt et les préoccupations régionales (par exemple, les recherches sur "salle de sport", "symptômes de la grippe" ou "produits de luxe").
128 – 255 Maps et affluence Capture l'environnement bâti (POI tels que les hôpitaux, les parcs, les écoles) et les visites humaines pour afficher les lieux d'intérêt.
256 – 329 Météo et qualité de l'air Capture le contexte environnemental (température, précipitations, qualité de l'air).

Colonnes clés et métadonnées

La table d'embeddings contient des métadonnées spatiales et temporelles qui permettent l'analyse géospatiale, le filtrage et l'interopérabilité avec d'autres services.

Étant donné qu'un même code postal peut parfois s'étendre sur plusieurs limites administratives (comme les limites de comté), les champs de région administrative sont fournis sous forme de tableaux.

  • geo_id : ID de lieu unique associé à ce code postal.
  • geo_name : chaîne du code postal de la région (par exemple, '90210').
  • administrative_area_level_1_names : liste (ARRAY<STRING>) de noms lisibles pour les limites de premier niveau (par exemple, ['California']).
  • administrative_area_level_1_ids : liste (ARRAY<STRING>) des ID uniques des limites administratives de premier niveau que ce code postal croise (par exemple, l'État ou la région).
  • administrative_area_level_2_names : liste (ARRAY<STRING>) de noms lisibles pour les limites secondaires (par exemple, ['Los Angeles County']).
  • administrative_area_level_2_ids : liste (ARRAY<STRING>) des ID uniques des limites administratives secondaires que ce code postal croise (par exemple, le comté ou la circonscription).
  • features : vecteur d'embedding principal à 330 dimensions, stocké de manière native en tant que ARRAY<FLOAT64>. Pour charger ces données dans Pandas à l'aide de Python, vous devez les aplatir ou les convertir en matrice NumPy.
  • snapshot_date : DATE au format YYYY-MM-DD, standardisé pour n'utiliser que le premier jour du mois. Représente la tranche temporelle mensuelle spécifique à partir de laquelle les caractéristiques d'entrée ont été agrégées pour générer les données d'embedding. Par exemple, les données d'avril 2026 seront formatées comme suit : 2026-04-01.

Préparer les données de vérité terrain

Pour utiliser les embeddings de dynamique de population, vos données de vérité terrain doivent être agrégées selon une limite géographique acceptée (codes postaux).

Option 1 : Intégrer des embeddings dans un modèle existant

  1. Préparer la vérité terrain existante basée sur un modèle : utilisez les embeddings comme covariables géospatiales pour améliorer un modèle existant.
  2. Entraîner un modèle de correction des erreurs : améliorez un modèle existant en intégrant les embeddings dans un modèle qui prend en compte la sortie du modèle d'origine, la valeur attendue ou la vérité terrain, et les embeddings pour apprendre un nouveau modèle de correction des erreurs.

Option 2 : Optimiser pour des cas d'utilisation spécifiques

  1. Choisir un type de modèle de prédiction : n'importe quel modèle, tel que GBDT, MLP ou linéaire, peut être utilisé pour les prédictions.
  2. Utiliser les embeddings pour la prédiction : utilisez les embeddings de la dynamique démographique comme caractéristiques d'entrée, en plus d'autres données contextuelles, pour améliorer la précision des prédictions.

Extraits de code de démarrage rapide

Utilisez ces extraits pour vérifier votre accès et comprendre le format des données.

1. SQL : récupérer les embeddings pour un mois spécifique

Étant donné que l'IDP est un ensemble de données de série temporelle, vous devez généralement filtrer par snapshot_date pour ne pas renvoyer de codes postaux en double sur plusieurs mois. Le jour doit toujours être défini sur -01.

SELECT
  snapshot_date,
  geo_name AS postal_code,
  geo_id AS place_id,
  features -- The 330-dim vector
FROM
  `your-project.population_dynamics___us___domestic.v1_postal_code.embeddings_table`
WHERE
  snapshot_date = '2025-10-01' -- You must use the first of the month ('-01')
LIMIT 10;

2. SQL : filtrer par zone administrative (désimbriquer des tableaux)

Étant donné que les codes postaux peuvent s'étendre sur plusieurs limites administratives, les champs administrative_area_* sont stockés sous forme de tableaux. Pour filtrer tous les codes postaux d'un État spécifique (par exemple, la Californie), vous devez utiliser la fonction UNNEST() de BigQuery.

SELECT
  snapshot_date,
  geo_name AS postal_code,
  admin1_name
FROM
  your-project.population_dynamics___us___domestic.v1_postal_code.embeddings_table,
  UNNEST(administrative_area_level_1_names) AS admin1_name
WHERE
  -- On or after October 2025
  snapshot_date >= '2025-10-01' -- You must use the first of the month ('-01')
  AND admin1_name = 'California'
LIMIT 10;

3. SQL : trouver des lieux similaires

Cette requête identifie les lieux similaires en termes de comportement sans nécessiter de données externes. Elle utilise la fonction ML.DISTANCE pour calculer la similarité cosinus et renvoyer les meilleures correspondances pour un code postal cible.

WITH TargetLocation AS (
  SELECT features AS target_vector
  FROM `your-project.population_dynamics___us___domestic.v1_postal_code.embeddings_table`
  WHERE snapshot_date = '2025-10-01' -- You must use the first of the month ('-01')
    AND geo_name = '90210' -- Replace with your target postal code
  LIMIT 1
)
SELECT
  t.geo_name AS postal_code,
  -- Calculate Similarity (1.0 is identical, 0.0 is dissimilar)
  (1 - ML.DISTANCE(t.features, p.target_vector, 'COSINE')) AS similarity_score
FROM
  `your-project.population_dynamics___us___domestic.v1_postal_code.embeddings_table` t,
  TargetLocation p
WHERE
  t.snapshot_date = '2025-10-01' -- You must use the first of the month ('-01')
  AND t.geo_name != '90210' -- Exclude the target itself
ORDER BY
  similarity_score DESC
LIMIT 20;

4. SQL : joindre des données client

Cet exemple montre comment enrichir vos propres données internes (par exemple, un tableau des performances des magasins) avec des embeddings comportementaux en effectuant une jointure sur le code postal.

SELECT
  store.store_id,
  store.postal_code,
  store.total_revenue,
  embeddings.features AS pdi_vector
FROM
  `your-project.internal_data.store_performance` AS store
JOIN
  `your-project.population_dynamics___us___domestic.v1_postal_code.embeddings_table` AS embeddings
ON
  store.postal_code = embeddings.geo_name
WHERE
  embeddings.snapshot_date = '2025-10-01' -- You must use the first of the month ('-01')

5. Python : charger des données pour le machine learning

Les embeddings sont stockés sous forme de tableaux BigQuery. Pour les utiliser dans des bibliothèques de ML, vous devez convertir la colonne en matrice NumPy.

from google.cloud import bigquery
import numpy as np
import pandas as pd

client = bigquery.Client()

query = """
SELECT
  geo_name,
  features -- Returns as a list of floats
FROM
  `your-project.population_dynamics___us___domestic.v1_postal_code.embeddings_table`
WHERE
  snapshot_date = '2025-10-01' -- You must use the first of the month ('-01')
LIMIT 1000
"""

# 1. Load data into DataFrame
df = client.query(query).to_dataframe()

# 2. Convert the 'features' column (Series of Lists) into a Matrix (2D Array)
X_matrix = np.stack(df['features'].values)

print(f"Data Loaded. Matrix Shape: {X_matrix.shape}")
# Output: Data Loaded. Matrix Shape: (1000, 330)

Questions fréquentes

Puis-je accéder aux données d'entrée brutes (par exemple, à des requêtes de recherche ou des traces de mobilité spécifiques) ?

Non. Les embeddings de la dynamique de population sont générés à partir de signaux agrégés respectueux de la confidentialité. Pour garantir la confidentialité des utilisateurs, nous ne fournissons pas de traces utilisateur spécifiques, d'historiques de recherche individuels ni de modèles de déplacement bruts. Les embeddings fournissent une représentation latente de ces comportements, optimisée pour la modélisation et la prédiction, plutôt que pour les données analytiques brutes.

Comment sélectionnez-vous les termes de recherche utilisés pour générer les embeddings ?

Nous utilisons des entités Knowledge Graph (KG) plutôt que des requêtes de recherche brutes. Par exemple, les requêtes "petit ami de taylor swift" et "tight end kc" seraient toutes les deux associées à la même entité KG sous-jacente ("Travis Kelce"). Cette approche est indépendante de la langue, capture des catégories sémantiques plus larges et améliore considérablement la confidentialité.

Les dimensions vectorielles sont-elles interprétables (par exemple, la dimension 5 est-elle "Café") ?

Non, les vecteurs sont des représentations latentes. Étant donné que les caractéristiques sont apprises par le modèle de machine learning, il n'existe pas de mappage sémantique simple ni de traduction un-à-un d'un index vectoriel final vers une entrée source spécifique. Nous savons quels blocs d'indices proviennent de quels ensembles de données (par exemple, les indices 0 à 127 représentent les tendances de recherche), mais un index spécifique comme l'index 5 ne correspond pas à un seul mot clé. Il représente plutôt une caractéristique complexe et abstraite apprise par le modèle.

L'ensemble de données inclut-il des limites de polygones (fichiers Shapefile) ?

Non. L'ensemble de données fournit les codes postaux (geo_name) et les ID de lieu associés (geo_id), mais il n'inclut pas les géométries de polygones brutes (telles que WKT).

En fonction de votre cas d'utilisation, nous vous recommandons les approches suivantes :

  • Pour la visualisation sur Google Maps : vous pouvez utiliser les ID de lieu fournis dans geo_id pour styliser et afficher les limites directement sur une carte à l'aide du style basé sur les données. Bien que ces limites soient idéales pour l'affichage visuel, elles ne peuvent pas être exportées en tant que fichiers de géométrie bruts.
  • Pour les jointures et analyses spatiales : si vous avez besoin de polygones spatiaux bruts, nous vous recommandons de joindre cet ensemble de données à des ensembles de données de limites publiques (tels que ceux disponibles dans les ensembles de données publics BigQuery) à l'aide du code postal geo_name.

Quelle est la période couverte par l'ensemble de données d'embeddings ?

Les embeddings PDI sont mis à jour tous les mois, chaque nouveau mois étant ajouté à l'ensemble de données. Les données sont représentées à l'aide de la colonne snapshot_date (formatée en YYYY-MM-DD), ce qui fournit une base stable qui reflète l'empreinte comportementale et physique d'un lieu pour le mois donné.