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 de Looker 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 thermique pour l'analyse du 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 écrire une seule ligne de code SQL.
  • Collaboration fluide : les fonctionnalités de partage standards 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 reporting performante. Il passe d'une base de 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, 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. Vous obtiendrez ainsi un résultat de requête qui pourra être utilisé avec le type de graphique "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. Il 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 boîte à outils CARTO Analytics (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 hexagonales.

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 représenter 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 supprimée de l'ensemble de résultats et apparaît vide sur votre carte.

Pour l'implémenter 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 sélectionnez l'ID du 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 Looker Studio pour qu'il reconnaisse correctement les données de limites H3 :

  1. Ajoutez une visualisation 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 (en forme de 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 à 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 à Couleur par statistique.

Cela affichera une carte de la densité des restaurants par cellule H3. 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 les paramètres dynamiques

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

  • Localité : contrôle la ville sur laquelle se concentre le rapport.
  • Jour de la semaine : filtre les lieux en fonction du jour où ils sont ouverts, en s'appuyant sur 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 devez 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 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 à côté de 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 des 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 du 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 mises en correspondance avec des libellés lisibles.

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

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

Pour ce faire, cliquez sur "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 "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 Liste déroulante à votre rapport.
  2. Pour chaque commande, définissez le champ "Contrôle" de façon à ce qu'il corresponde aux paramètres que vous venez de créer :
    • Contrôle 1 : p_locality
    • Contrôle 2 : p_day_of_week
    • Contrôle 3 : p_hour_of_day

Votre rapport final devrait se présenter comme suit. Si vous modifiez une valeur dans l'un des menus déroulants, Looker Studio récupère les données demandées dans 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 : Partagez les résultats

Utilisez l'outil de partage intégré à Looker Studio pour partager le rapport. Les spectateurs pourront ainsi mettre à jour la visualisation de manière dynamique en fonction des paramètres qu'ils sélectionneront dans vos listes déroulantes.

Conclusion

Ce modèle crée un outil de reporting interactif et évolutif qui exploite la puissance de calcul de BigQuery pour fournir des données agrégées sur les insights sur les lieux à Looker Studio. Cette architecture évite les pièges liés à la tentative de visualisation d'ensembles de données brutes massifs et offre aux utilisateurs finaux la possibilité d'explorer les données selon différentes dimensions, comme le temps, le lieu et le type d'entreprise, en temps quasi réel. Il s'agit d'un outil puissant qui permet à vos partenaires 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 brand afin de permettre aux utilisateurs de passer instantanément d'un concurrent à l'autre dans la carte thermique pour voir leur saturation relative sur un marché. Pour en savoir plus sur la disponibilité des données de marque, consultez À propos des données Places Insights.
  • Sélection interactive du site : ajoutez des paramètres pour price_level (par exemple, "Modéré" vs "Cher") et un minimum de rating pour 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, insérez les éléments suivants dans la fonction ST_DWITHIN :
      • ST_DWITHIN(point, ST_GEOGPOINT(@p_longitude, @p_latitude), @p_radius_meters)
    • Basées sur des polygones : pour les formes personnalisées complexes (comme les zones de vente), les utilisateurs ne peuvent pas saisir facilement de texte géométrique. Créez plutôt une table de référence dans BigQuery contenant vos géométries de 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