[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "create", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-158433683", "adfox_url": "//ads.adfox.ru/228129/getCode?p1=bxbwd&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid21=&puid22=&puid31=&fmt=1&pr=" } } ]
{ "author_name": "Редакция vc.ru", "author_type": "self", "tags": ["\u043a\u0435\u0439\u0441\u044b"], "comments": 13, "likes": 22, "favorites": 60, "is_advertisement": false, "section_name": "default" }
Редакция vc.ru
12 208

Базы данных для аналитиков — инструкция маркетингового аналитика Gett

Международный маркетинговый аналитик Gett Алексей Куличевский составил курс по аналитике для предпринимателей и маркетологов и поделился с редакцией vc.ru уроком с инструкцией по тому, как новичкам подключаться к базе, составлять запросы и выгружать данные.

Представьте, что вы аналитик маленького пока никому не известного стартапа под названием Uber. У вас есть дерзкий план: перевернуть рынок такси Нью-Йорка. Для этого вам нужно проанализировать рынок — узнать, как люди пользуются такси, сколько тратят на поездки.

Вам повезло — Комиссия по такси и лимузинам Нью Йорка публикует статистику поездок в открытом доступе. Остаётся только взять и проанализировать данные.

Подключаемся к базе

Подключаемся к BigQuery

Базы данных бывают разные. Большинство из них хранятся на серверах. Чтобы к ним подключиться, нужно установить специальную программу, ввести адрес, порт, логин и пароль.

Чтобы избежать этих трудностей, на курсе мы будем работать с Google Big Query. Чтобы им пользоваться, нужен аккаунт в Google, например почта Google. Если аккаунта нет, зарегистрируйтесь.

Пишем простой запрос

Получаем данные из базы

SQL расшифровывается как structured query language и переводится как «язык структурированных запросов». Вы общаетесь с базами в формате запрос-ответ.

Запросы бывают такими:

  • SELECT — вы запрашиваете данные у базы.
  • CREATE — создаёте в базе новую таблицу, пользователя, процедуру или что-то другое.
  • INSERT — добавляете в таблицу новую запись.
  • DROP — удаляете таблицу.
На курсе мы будем только забирать данные из базы. Так что нас интересуют запросы SELECT.
Они строятся по одинаковой структуре:

SELECT — перечисляете названия столбцов, которые вам нужны.
FROM — название таблицы, в которой лежат данные .
WHERE — условия отбора.

SELECT, FROM, WHERE и другие операторы принято писать прописными буквами, чтобы проще читать большие запросы. Если напишете строчными, запрос не сломается.

В левом нижнем углу вы увидите строку Public Datasets — это публичные наборы данных, с которыми могут работать кто угодно. Последний в выпадающем списке — nyc-tlc:yellow. Это статистика такси в Нью-Йорке. Открывайте его и кликайте по trips — появится список столбцов.

Там много полей, но нам нужны следующие:

  • Pickup_datetime, dropoff_datetime — дата и время начала и конца поездки.
  • Trip_distance — пройденное расстояние в милях.
  • Total_amount — итоговая стоимость поездки в долларах.

Пишем запрос.

Ответ базы данных — таблица из четырёх столбцов. В строках таблицы — поездки. Первого января было почти 400 тысяч поездок. Вручную ни расходы, ни средний чек не посчитать.

Агрегация, группировка и сортировка

Агрегируем, группируем, сортируем

Изменим запрос, чтобы вместо списка поездок получить их количество. Для этого заменим в разделе SELECT список столбцов на функцию count(*). Звёздочка в скобках читается как «все столбцы».

Окей, поездки за 1 января мы посчитали. Теперь посчитаем поездки за 2015 год. Писать запрос под каждый день слишком долго. Нужно группировать. Добавим в конец запроса раздел GROUP BY.

Обратите внимание, мы превратили дату и время начала поездки в просто дату c помощью функции date().

В Big Query нельзя указывать функции в разделе GROUP BY. Поэтому даём имя столбцу с количеством записей с помощью оператора AS и используем это название в группировке

Например,
date (pickup_date) AS ride_date… GROUP BY ride_date.

Уже лучше. Но результаты отсортированы в случайном порядке. В хронологическом будет удобнее. Отсортируем с помощью раздела ORDER BY.

Теперь выясним, сколько нью-йоркцы тратят на такси каждый день. К количеству поездок добавим суммарные расходы и средний чек.

Нам помогут две функции: sum() для подсчёта расходов и avg() для расчёта среднего чека. В скобках указываем total_amount, итоговую стоимость поездки.

Отсортируем по дням, когда средний чек был максимальным.

Последний штрих. В столбцах с расходами и средним чеком Big Query показывает слишком много знаков после запятой. Это неудобно. Округлим числа до одного десятичного знака с помощью функции round().

Результаты скачиваем в виде файла .csv, чтобы потом проанализировать в Excel или «Google Таблицах».

Сегодня мы работали с одной таблицей и писали простые запросы. Мы выяснили, сколько поездок нью-йоркцы совершили за год и научились вычислять средний чек.

В следующих уроках на smysl. io я расскажу, как в одном запросе объединять данные из нескольких таблиц. Например, мы научимся получать список самых продаваемых товаров в магазине и сегментировать клиентов по количеству покупок.

#Кейсы

Популярные материалы
Показать еще
{ "is_needs_advanced_access": false }

Комментарии Комм.

Популярные

По порядку

Прямой эфир

Нейронная сеть научилась читать стихи
голосом Пастернака и смотреть в окно на осень
Подписаться на push-уведомления