Visualisation Places Insights dans Data Studio

Présentation

Diagramme de workflow illustrant l'envoi par Data Studio de paramètres dynamiques pour la ville, le jour et l'heure à Places Insights dans BigQuery afin de générer une carte de densité géospatiale.

Ce document explique comment créer des rapports géospatiaux dynamiques à l'aide de Places Insights et de Data Studio. Exploitez tout le potentiel de vos données de localisation en permettant aux parties prenantes non techniques de répondre à leurs propres questions. Ce guide vous explique comment transformer des rapports statiques en outils interactifs de type carte de densité pour l'analyse de marché, sans avoir à écrire de code SQL pour chaque requête. Permettez l'accès à des données de localisation complexes, en comblant le fossé entre l'ingénierie des données et l'informatique décisionnelle.

L'adoption de ce modèle d'architecture offre plusieurs avantages clés :

  • Représentation visuelle des données : transforme les données Places Insights en cartes et graphiques interactifs qui communiquent immédiatement la densité et les tendances spatiales.
  • Exploration simplifiée sans SQL : permet aux membres de l'équipe, tels que les analystes de marché ou les planificateurs immobiliers, de filtrer dynamiquement les données à l'aide de paramètres prédéfinis (par exemple, en modifiant "Ville" ou "Heure de la journée" à l'aide de menus déroulants). Ils peuvent explorer les données sans jamais écrire une seule ligne de code SQL.
  • Collaboration fluide : les fonctionnalités de partage standards de Data Studio vous permettent de distribuer ces insights interactifs de manière sécurisée.

Workflow de la solution

Le workflow suivant établit une architecture de reporting performante. Elle passe d'une référence statique à une application entièrement dynamique, ce qui garantit l'exactitude des données avant d'introduire de la complexité.

Prérequis

Avant de commencer, suivez ces instructions pour configurer Places Insights. Vous devez avoir accès à Data Studio, qui est un outil sans frais.

Étape 1 : Établir une référence géospatiale statique

Avant d'introduire l'interactivité, établissez une requête de base et assurez-vous qu'elle s'affiche correctement dans Data Studio. Utilisez Places Insights et les fonctionnalités géospatiales de BigQuery pour agréger des données dans des grilles hexagonales à l'aide du système d'indexation H3. Cela génère un résultat de requête qui peut être utilisé avec le type de carte choroplèthe de Data Studio pour la visualisation.

1.1 Connecter les données

Utilisez la requête statique suivante pour établir la connexion initiale. Il cible un emplacement fixe (Londres) et une catégorie (Restaurants) pour valider le pipeline de données.

SELECT
  h3_index,
  `carto-os.carto.H3_BOUNDARY`(h3_index) AS h3_geo,
  restaurant_count
FROM (
  SELECT WITH AGGREGATION_THRESHOLD
    `carto-os.carto.H3_FROMGEOGPOINT`(point, 8) AS h3_index,
    COUNT(*) AS restaurant_count
  FROM
    -- Note: Change 'gb' to your target country code (e.g., 'us')
    `places_insights___gb.places`
  WHERE
    'London' IN UNNEST(locality_names)
    AND 'restaurant' IN UNNEST(types)
  GROUP BY
    h3_index
)
ORDER BY
  restaurant_count DESC;

Remarque sur l'agrégation spatiale

Cette requête utilise une fonction de la boîte à outils d'analyse CARTO (carto-os) disponible publiquement dans Google Cloud BigQuery. La fonction H3_FROMGEOGPOINT convertit des points de localisation spécifiques en cellules H3, un système qui divise le monde en cellules de grille hexagonales.

Nous utilisons cette transformation, car la carte choroplèthe de Data Studio nécessite des polygones (formes) pour afficher les couleurs. En convertissant les points en formes hexagonales, nous pouvons visualiser la densité des établissements dans une zone spécifique, plutôt que de tracer des milliers de points qui se chevauchent.

Remarque sur le seuil d'agrégation

Toutes les requêtes Places Insights nécessitent la clause WITH AGGREGATION_THRESHOLD. Cette protection de la confidentialité garantit que les données ne sont renvoyées que si le nombre agrégé est supérieur ou égal à 5.

Dans le contexte de cette visualisation, si une cellule de grille H3 contient moins de cinq restaurants, elle est entièrement omise de l'ensemble de résultats et apparaît vide sur votre carte.

Pour implémenter cela dans Looker Studio :

  1. Créez un rapport vide.
  2. Sélectionnez BigQuery comme connecteur de données.
  3. Sélectionnez REQUÊTE PERSONNALISÉE dans le menu de gauche, puis l'ID de votre projet de facturation.
  4. Collez la requête de base statique ci-dessus dans l'éditeur.
  5. Décochez les paramètres Utiliser l'ancien SQL, Activer la plage de dates et Activer l'adresse e-mail du lecteur.
  6. Cliquez sur Ajouter.

1.2 Configurer la visualisation géospatiale

Une fois les données connectées, configurez Data Studio pour qu'il reconnaisse correctement les données de limite H3 :

  1. Ajoutez une visualisation Carte géographique au canevas du rapport à partir du menu Ajouter un graphique.
  2. Assurez-vous que votre champ h3_geo, qui contient la géométrie du polygone, est défini sur le type de données Géospatial.
    1. Cliquez sur l'icône Modifier la source de données (crayon) à côté du nom de votre connexion.
    2. Si h3_geo est défini sur Texte (ABC), utilisez le menu déroulant pour sélectionner Données géographiques > Données géospatiales.
    3. Cliquez sur OK.
  3. Mappez le champ h3_index sur Emplacement (qui sert d'identifiant unique).
  4. Mappez le champ h3_geo sur Champ géospatial (qui sert de géométrie de polygone).
  5. Mappez le champ restaurant_count sur Métrique de couleur.

Cela affichera une carte de la densité des restaurants par cellule H3. Le bleu plus foncé (option de couleur par défaut) indique une cellule avec un nombre de restaurants plus élevé.

Carte de Londres recouverte d'une grille hexagonale, où les cellules bleu foncé indiquent une plus forte concentration de restaurants. La légende indique des valeurs de densité allant de 5 à 1 215.

Étape 2 : Implémenter des paramètres dynamiques

Pour rendre le rapport interactif, nous allons y ajouter des commandes permettant à l'utilisateur de sélectionner l'une des options suivantes :

  • Localité : contrôle la ville sur laquelle porte le rapport.
  • Jour de la semaine : filtre les lieux en fonction du jour où ils sont ouverts, en utilisant l'enregistrement regular_opening_hours dans le schéma.
  • Heure de la journée : filtre les lieux en fonction de leurs horaires d'ouverture en les comparant aux champs start_time et end_time.

Pour ce faire, vous allez transmettre les paramètres sélectionnés par l'utilisateur directement dans une requête Places Insights modifiée au moment de l'exécution. Dans l'éditeur de source de données de Data Studio, vous devez définir explicitement ces paramètres en tant que variables typées.

Dans Data Studio, sélectionnez le menu Ressource, puis cliquez sur Gérer les nouvelles sources de données. Dans le panneau qui s'affiche, sélectionnez EDIT pour la source de données SQL personnalisée BigQuery que nous avons ajoutée précédemment.

Dans la fenêtre "Modifier la connexion", sélectionnez AJOUTER UN PARAMÈTRE. Nous allons ajouter trois paramètres avec les valeurs ci-dessous.

Nom du paramètre Type de données Valeurs autorisées Liste de valeurs (doit correspondre exactement à la base de données)
p_locality Texte Liste de valeurs
Valeur Libellé
London Londres
Manchester Manchester
Birmingham Birmingham
Glasgow Glasgow
p_day_of_week Texte Liste de valeurs
Valeur Libellé
monday Lundi
tuesday Mardi
wednesday Mercredi
thursday Jeudi
friday Vendredi
saturday Samedi
sunday Dimanche
p_hour_of_day Texte Liste de valeurs
Valeur Libellé
03:00:00 3h - 4h
08:00:00 8h-9h
19:00:00 19h - 20h

Exemple de configuration pour le paramètre p_hour_of_day.

Interface de configuration du paramètre p_hour_of_day affichant la section de la liste des valeurs où les chaînes d'heure sont mappées à des libellés lisibles.

Pour le paramètre p_hour_of_day, prêtez une attention particulière à la colonne Value. Étant donné que la requête SQL utilise CAST(@p_hour_of_day AS TIME), les valeurs transmises depuis Data Studio doivent être au format HH:MM:SS strict (horloge de 24 heures).

Une fois que vous avez configuré et enregistré les trois paramètres, modifiez votre connexion SQL personnalisée BigQuery pour référencer ces variables à l'aide de la syntaxe @.

Pour ce faire, cliquez sur "Modifier la connexion", puis collez la requête modifiée ci-dessous :

SELECT
  h3_index,
  `carto-os.carto.H3_BOUNDARY`(h3_index) AS h3_geo,
  restaurant_count
FROM (
  SELECT WITH AGGREGATION_THRESHOLD
    `carto-os.carto.H3_FROMGEOGPOINT`(point, 8) AS h3_index,
    COUNT(*) AS restaurant_count
  FROM
    `places_insights___gb.places`
  WHERE
    -- Dynamic locality filter based on parameter
    @p_locality IN UNNEST(locality_names)
    AND 'restaurant' IN UNNEST(types)
    AND business_status = 'OPERATIONAL'
    AND EXISTS (
      SELECT 1
      FROM UNNEST(
        CASE @p_day_of_week
          WHEN 'monday' THEN regular_opening_hours.monday
          WHEN 'tuesday' THEN regular_opening_hours.tuesday
          WHEN 'wednesday' THEN regular_opening_hours.wednesday
          WHEN 'thursday' THEN regular_opening_hours.thursday
          WHEN 'friday' THEN regular_opening_hours.friday
          WHEN 'saturday' THEN regular_opening_hours.saturday
          WHEN 'sunday' THEN regular_opening_hours.sunday
        END
      ) AS hours
      WHERE hours.start_time <= CAST(@p_hour_of_day AS TIME)
        AND hours.end_time >= TIME_ADD(CAST(@p_hour_of_day AS TIME), INTERVAL 1 HOUR)
    )
  GROUP BY
    h3_index
)
ORDER BY
  restaurant_count DESC;

Cliquez sur "Reconnecter" pour enregistrer la modification. Dans la requête modifiée, notez les nouvelles variables telles que @p_hour_of_day, qui correspondent aux noms des paramètres que nous venons de configurer.

Revenez au canevas du rapport pour exposer ces paramètres à l'utilisateur final :

  1. Ajoutez trois commandes Liste déroulante à votre rapport.
  2. Pour chaque commande, définissez le champ de commande de sorte qu'il corresponde aux paramètres que vous venez de créer :
    • Contrôle 1 : p_locality
    • Contrôle 2 : p_day_of_week
    • Commande 3 : p_hour_of_day

Votre rapport final devrait ressembler à ceci. Si vous modifiez une valeur dans l'une des commandes déroulantes, Data Studio récupère les données demandées auprès de Places Insights avant de les afficher sur la carte.

Rapport interactif final montrant une carte de la densité des restaurants à Glasgow avec trois filtres déroulants en haut. Le menu &quot;Heure de la journée&quot; est développé pour afficher les périodes sélectionnables.

Étape 3 : Partagez les résultats

Utilisez l'outil de partage intégré à Data Studio pour partager le rapport. Les utilisateurs pourront ainsi mettre à jour dynamiquement la visualisation en fonction des paramètres qu'ils sélectionnent dans vos listes déroulantes.

Conclusion

Ce modèle crée un outil de reporting évolutif et interactif qui exploite la puissance de calcul de BigQuery pour fournir des données Places Insights agrégées à Data Studio. Cette architecture évite les écueils liés à la visualisation d'ensembles de données brutes volumineux et offre aux utilisateurs finaux la flexibilité nécessaire pour explorer les données selon différentes dimensions, telles que le temps, l'emplacement et le type d'activité, en temps quasi réel. Cet outil puissant permet aux parties prenantes non techniques d'explorer les données de manière flexible.

Étapes suivantes

Explorez d'autres variantes de rapports dynamiques en paramétrant différentes parties du schéma Places Insights :

  • Analyse dynamique des concurrents : créez un paramètre pour les noms de brand afin de permettre aux utilisateurs de basculer instantanément la carte de densité entre différents concurrents pour voir leur saturation relative sur un marché. Pour en savoir plus sur la disponibilité des données sur les marques, consultez À propos des données Places Insights.
  • Sélection interactive de sites : ajoutez des paramètres pour price_level (par exemple, "Modéré" ou "Élevé") et un rating minimal pour permettre aux équipes immobilières de filtrer de manière dynamique les zones correspondant à des profils démographiques spécifiques.
  • Zones de chalandise personnalisées : au lieu de filtrer par nom de ville, permettez aux utilisateurs de définir des zones d'étude personnalisées.
    • Basé sur un rayon : créez trois paramètres numériques : p_latitude, p_longitude et p_radius_meters. Vous pouvez obtenir des coordonnées à partir des API Google Maps Platform, y compris l'API Geocoding. Dans votre requête, injectez-les dans la fonction ST_DWITHIN :
      • ST_DWITHIN(point, ST_GEOGPOINT(@p_longitude, @p_latitude), @p_radius_meters)
    • Basé sur des polygones : pour les formes personnalisées complexes (comme les secteurs de vente), les utilisateurs ne peuvent pas facilement saisir du texte géométrique. Créez plutôt un tableau de conversion dans BigQuery contenant les géométries de vos formes et un nom convivial (par exemple, "Zone A"). Créez un paramètre de texte p_zone_name dans Data Studio pour permettre aux utilisateurs de sélectionner la zone, puis utilisez une sous-requête pour récupérer la géométrie de la fonction ST_CONTAINS.

Contributeurs