Собесов

Codex BI: дашборд по велошерингу SF на Tableau + BigQuery

Кейсы и метрикиДашбордыСредняяJunior

Условие

Подключиться к Tableau Desktop к публичному датасету BigQuery bigquery-public-data.san_francisco_bikeshare и построить дашборд:

  • Time Series: объём поездок и длительность по месяцам/кварталам/годам с MoM, QoQ, YoY ростом.
  • Geo: плотность станций и средняя длительность поездки по карте с drilldown до конкретной станции.
  • Insights: какие станции недоиспользованы и как это посчитать?

Решение

План работ

  1. Подключение Tableau → BigQuery → Public Dataset → авторизация Google.
  2. Проверка таблиц: bikeshare_trips, bikeshare_stations, bikeshare_status. Понимание ER (trip → start_station_id → station).
  3. Построение листов:
    • Time series поездок (COUNT(trip_id)) и средней длительности (AVG(duration_sec)/60).
    • Календарные кальк-поля для MoM/QoQ/YoY.
    • Карта со station_lat/long, размер кружка ∝ числу поездок.
    • Bottom-N отчёт по станциям.

MoM / QoQ / YoY в Tableau

// MoM
ZN(SUM([trip_id])) - LOOKUP(ZN(SUM([trip_id])), -1)

// YoY (по тому же месяцу прошлого года)
ZN(SUM([trip_id])) - LOOKUP(ZN(SUM([trip_id])), -12)

«Underutilized stations» — определение

Несколько разумных метрик, которые стоит обсудить со стейкхолдером:

  1. Использование на ёмкость: trips_per_dock_per_day = COUNT(trips) / dock_count / days_active. Низкое = плохо.
  2. Простой: доля времени, когда bikes_available = capacity (ничего не уехало) — из таблицы bikeshare_status.
  3. Доля в нижнем квантиле по поездкам в своём районе (нормировка на гео).

Удобно вывести в дашборд таблицу с топ-20 «underutilized» с подсветкой условным форматированием.

Подводные камни

  1. BigQuery sandbox имеет лимиты — выбирайте LIMIT 1M или дату-фильтр.
  2. duration_sec имеет выбросы (поездки на 24 часа = клиент забыл вернуть). Использовать медиану или обрезать перцентилями [1, 99].
  3. Гео-сетка: drilldown работает чёткой иерархией region → station, нужно вручную создать иерархию.
  4. Сезонность: помесячно поездок больше летом — для роста использовать YoY, не MoM.

Эталонный ответ

3 листа: time series с LOOKUP-кальк-полями для MoM/QoQ/YoY; карта с пузырями по станциям и drilldown; таблица «underutilized» на основе trips/dock/day или idle-времени.

Хочешь увидеть разбор?

Зарегистрируйся бесплатно — откроется развёрнутое решение этой задачи и ещё 4 на выбор.

Зарегистрироваться и увидеть разбор
Уже есть аккаунт? Войти