Visualiser dynamiquement les données Places Insights avec Looker Studio

Présentation

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

Ce document explique comment créer des rapports géospatiaux dynamiques à l'aide de Places Insights et Looker Studio. Exploitez la valeur 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 chaleur 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 la business intelligence.

L'adoption de ce modèle architectural présente 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é spatiale et les tendances.
  • 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 listes déroulantes). Ils peuvent explorer les données sans jamais écrire une seule ligne de code SQL.
  • Collaboration fluide : les fonctionnalités de partage standard de Looker Studio vous permettent de distribuer ces insights interactifs de manière sécurisée.

Solution workflow

Le workflow suivant établit une architecture de création de rapports performante. Il 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 aurez besoin d'accéder à Looker 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 Looker Studio. Utilisez Places Insights et les fonctionnalités géospatiales de BigQuery pour agréger les données dans des grilles hexagonales à l'aide du système d'indexation H3. Cela générera une sortie de requête qui pourra être utilisée avec le type de carte remplie de Looker Studio pour la visualisation.

1.1 Connecter les données

Utilisez la requête statique suivante pour établir la connexion initiale. Elle cible un lieu (Londres) et une catégorie (Restaurants) fixes 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 CARTO CARTO (carto-os) disponible publiquement dans Google Cloud BigQuery. La fonction convertit des points de localisation spécifiques en cellules H3, un système qui divise le monde en cellules de grille hexagonales.H3_FROMGEOGPOINT

Nous utilisons cette transformation, car la carte remplie de Looker 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. Choisissez REQUÊTE PERSONNALISÉE dans le menu de gauche, puis sélectionnez l'ID de projet de facturation.
  4. Collez la requête de base statique ci-dessus dans l'éditeur.
  5. Désactivez 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 Looker Studio pour qu'il reconnaisse correctement les données de limite H3 :

  1. Ajoutez une visualisation de carte remplie 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 > Géospatial,
    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.

Une carte de la densité de restaurants par cellule H3 s'affiche. Le bleu foncé (option de couleur par défaut) indique une cellule avec un nombre de restaurants plus élevé.

Carte de Londres remplie et recouverte d'une grille hexagonale. Les cellules bleu foncé indiquent une plus forte concentration de restaurants. La légende indique des nombres de densité compris entre 5 et 1 215.

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

Pour rendre le rapport interactif, nous allons ajouter des commandes qui permettront à l'utilisateur de choisir parmi les options suivantes :

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

Pour ce faire, vous transmettrez 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 Looker Studio, vous devez définir explicitement ces paramètres comme des variables typées.

Dans Looker 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 (MODIFIER) pour la source de données SQL personnalisée BigQuery que nous avons ajoutée précédemment.

Dans la fenêtre "Edit Connection" (Modifier la connexion), sélectionnez ADD A PARAMETER (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 temporelles sont mappées à des libellés lisibles.

Pour le paramètre p_hour_of_day, portez 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 par Looker Studio doivent être au format strict HH:MM:SS (horloge 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 "Edit Connection" (Modifier la connexion) et 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 "Reconnect" (Se 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 de paramètres que nous venons de configurer.

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

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

Votre rapport final devrait se présenter comme suit. Si vous modifiez une valeur dans l'une des commandes de liste déroulante, Looker Studio récupère les données demandées à partir de Places Insights avant de les visualiser sur la carte.

Rapport interactif final affichant une carte de 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 plages horaires sélectionnables.

Étape 3 : Partager les résultats

Utilisez l'outil de partage intégré à Looker Studio pour partager le rapport. Les lecteurs 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 création de rapports interactif et évolutif qui exploite la puissance de calcul de BigQuery pour diffuser des données Places Insights agrégées dans Looker Studio. Cette architecture évite les pièges liés à la tentative de visualisation d'ensembles de données brutes volumineux et offre aux utilisateurs finaux la possibilité d'explorer les données selon différentes dimensions, telles que l'heure, le lieu et le type d'établissement, en temps quasi réel. Il s'agit d'un outil puissant qui permet aux parties prenantes non techniques d'explorer les données.

É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 chaleur entre différents concurrents pour voir leur saturation relative sur un marché. Pour connaître la disponibilité des données de marque, consultez À propos des données Places Insights data.
  • Sélection interactive de sites : ajoutez des paramètres pour price_level (par exemple, "Modéré" ou "Cher") et rating minimal afin de permettre aux équipes immobilières de filtrer dynamiquement 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 le rayon : créez trois paramètres numériques : p_latitude, p_longitude et p_radius_meters. Les coordonnées peuvent être obtenues à 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 un polygone : pour les formes personnalisées complexes (comme les territoires commerciaux), les utilisateurs ne peuvent pas facilement saisir de texte de géométrie. Créez plutôt une table de correspondance 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 Looker 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