Как составить запрос с использованием данных о брендах

Places Insights предоставляет информацию о брендах для многих категорий мест. Пример:

  • Для категории "Банкоматы, банки и кредитные союзы" данные о брендах содержат записи для каждого из брендов PNC, UBS и Chase.
  • Для категории "Прокат автомобилей" в данных есть записи для каждого из брендов Budget, Hertz и Thrifty.

Типичный пример использования набора данных о брендах – анализ присутствия бренда или объединение его с набором данных о местах, чтобы ответить на такие вопросы, как:

  • Сколько магазинов каждого бренда находится в определенном районе?
  • Сколько у меня основных конкурентов в регионе?
  • Сколько брендов определенной категории, например "Фитнес" или "АЗС", представлено в этом районе?

О наборе данных о брендах

Набор данных о брендах поддерживается в Австралии, Великобритании, Канаде и США. Например, набор данных о брендах для США называется places_insights___us.brands.

Схема набора данных о брендах

Схема для набора данных о брендах определяет три поля:

  • id – идентификатор бренда.
  • name: название бренда, например "Hertz" или "Chase".
  • category – тип бренда, например "Заправочная станция", "Еда и напитки" или "Жилье". Список возможных значений приведен в разделе Значения категорий.

Запрос данных о брендах

Рекомендуемый способ анализа данных о брендах – использование функций подсчета мест. Функции Places Count поддерживают фильтрацию по идентификаторам брендов с помощью параметра brand_ids, возвращая точное количество (включая ноль) и примеры идентификаторов мест без необходимости выполнять сложные операции JOIN.

Шаг 1. Найдите идентификатор бренда

brand_ids определяется схемой набора данных о местах. Если место в наборе данных о местах связано с брендом, его поле brand_ids содержит идентификатор соответствующего бренда.

Чтобы отфильтровать данные по бренду, сначала запросите таблицу brands, чтобы найти идентификатор нужного бренда:

SELECT id, name
FROM PROJECT_NAME.places_insights___us.brands
WHERE name = "McDonald's"

Шаг 2. Используйте brand_ids в функции Places Count

Получив идентификатор бренда, передайте его в параметр фильтра brand_ids.

В этом примере вы запрашиваете плотность ресторанов McDonald's в радиусе 2000 метров от Эмпайр-стейт-билдинг в Нью-Йорке с помощью PLACES_COUNT_PER_H3:

SELECT *
FROM PROJECT_NAME.places_insights___us.PLACES_COUNT_PER_H3(
  JSON_OBJECT(
      'geography', ST_BUFFER(ST_GEOGPOINT(-73.9857, 40.7484), 2000),
      'business_status', ['OPERATIONAL'],
      'brand_ids', ["13992718219781496405"], -- McDonald's brand ID
      'h3_resolution', 8
  )
);

Вы также можете использовать PLACES_COUNT_V2, чтобы подсчитать количество адресов бренда в нескольких областях поиска:

SELECT *
FROM PROJECT_NAME.places_insights___us.PLACES_COUNT_V2(
  TABLE PROJECT_NAME.YOUR_DATASET.my_search_areas,
  JSON_OBJECT(
      'geography_radius', 2000,
      'business_status', ['OPERATIONAL'],
      'brand_ids', ["13992718219781496405"]
  )
);

Значения категорий

Поле category для бренда может содержать следующие значения:

Значение типа категории
ATMs, Banks and Credit Unions
Automotive and Parts Dealers
Automotive Rentals
Automotive Services
Dental
Electric Vehicle Charging Stations
Electronics Retailers
Fitness
Food and Drink
Gas Station
Grocery and Liquor
Health and Personal Care Retailers
Hospital
Lodging
Merchandise Retail
Movie Theater
Parking
Telecommunications