Продукты Решения Тарифы Партнерам Блог
Получить консультацию
Связаться
Сколько языков программирования нужно знать крутому маркетологу
27 июня 2019

Сколько языков программирования нужно знать крутому маркетологу

Если раньше навыками программирования владели только узконаправленные специалисты, то сейчас все больше маркетологов интересуются языками программирования и применяют их в работе. Customer Data Expert Павел Левчук выучил не один, а целых 4 языка программирования. Что это за языки и как владение ими помогает в работе, читайте в интервью.

Павел Левчук, Customer Data Expert

— Павел, зачем маркетологу вообще нужен язык программирования?

Раньше маркетологи в большей степени занимались формированием креативов и мало опирались на данные. Теперь данные повсюду, и с ними нужно много работать.

Хотя для ряда задач есть готовые утилиты, но все же владение языком программирования позволяет выстроить процесс работы с данными так, как это нужно именно тебе, учитывая специфику твоей компании.

В целом язык программирования позволяет построить цикл работы с данными:

  1. подключиться к разным источникам,
  2. скачать данные,
  3. очистить их,
  4. связать вместе,
  5. сделать нужные расчеты,
  6. визуализировать их,
  7. сделать выводы и перейти к п. 1.

— Какой язык программирования лучше подходит для работы с данными?

Здесь точно нет серебряной пули. Опираясь на свой опыт в маркетинге, я использую регулярно такие языки программирования: SQL, R, M, DAX.

  • SQL (Structured Query Language) — основной интерфейс работы с реляционными базами данных (БД). Используется для добавления, обновления и удаления строк данных, извлечения наборов данных для обработки транзакций и аналитических приложений, а также для управления всеми аспектами работы БД.
  • R — универсальный язык для анализа данных. Он написан статистиками для статистических исследований.
  • M — задумывался как язык для подключения к различным источникам данных и последующих их преобразований. Он работает только внутри экосистемы MS.
  • DAX - язык для написания сложных логик расчетов метрик внутри Power Pivot / Excel / Power BI.

Понятие «лучше» практически не применимо к сравнению языков программирования. Здесь важны такие критерии, как:

  1. скорость создания кода,
  2. наличие библиотек, которые уже решают твою задачу,
  3. количество необходимого кода,
  4. его читабельность;
  5. скорость исполнения обработки данных;
  6. интеграция результатов со следующими шагами анализа;
  7. операнализация (работа с данными на потоке или в продакшн).

Часто, но не всегда, данные хранятся в реляционных БД. Для доступа к ним используется SQL (Structured Query Language).

Не сливайте рекламный бюджет впустую
Получить консультацию

— Что такое реляционные базы данных, чем они отличаются от обычных?

Реляционная база данных — это набор данных с предопределенными связями между ними. Эти данные организованы в виде набора таблиц, состоящих из столбцов и строк. В таблицах хранится информация об объектах, представленных в базе данных. В каждом столбце таблицы хранится определенный тип данных, в каждой ячейке — значение атрибута. Каждая строка таблицы представляет собой набор связанных значений, относящихся к одному объекту или сущности. Каждая строка в таблице может быть помечена уникальным идентификатором, называемым первичным ключом, а строки из нескольких таблиц могут быть связаны с помощью внешних ключей. К этим данным можно получить доступ многими способами, при этом реорганизовывать таблицы БД не требуется.

Если данные лежат в других источниках данных, то, соответственно, нужны другие языки программирования, предпочтительно с уже готовыми коннекторами.

Если источник данных предполагает наличие API, то можно быстро и нативно получить необходимые данные от сервиса. Например, в системе рассылки имейлов (ESP) можно по API запросить по каждой email-кампании список подписчиков, статус открытия и т. д. и построить нужный тебе отчет о рассылках. Альтернативно можно попытаться спарсить данные, если они лежат открыто, но нет API.

Также данные часто находятся не в том формате и/или они грязные. В таких случаях их нужно подготавливать к последующему анализу. Здесь уже появляются опции: это все еще можно сделать на SQL, но можно использовать и другие языки, например R, M или Python. Допустим, поменять типы данных колонок, удалить строки с пустыми значениями или с выбросами.

— То есть под разные задачи из цикла работы с данными тот или иной язык позволяет решить текущую задачу быстрее?

Да. Например, сделать что-то разовое можно с помощью формул в Excel. Если нужна повторяемость при поступлении новых данных и статически несложные расчеты, то подойдет DAX. Для более сложных операций — R.

Мне нравится современный R (R + tidyverse + RStudio IDE) тем, что он позволяет быстро подготавливать данные и применять разнообразные статистические модели для выжимания инсайтов из данных. Например, можно легко делать такие вещи, как регрессии (для понимания линейных зависимостей), кластеризацию данных (для сегментации, классификации для прогнозирования, например, покупки и/или оттока).

Для более простой аналитики я использую BI-стек: Power Query/M + Power Pivot/DAX + Excel/Pivot Tables.

Как я уже упоминал выше, я активно использую четыре языка. Использование одного или нескольких языков зависит от контекста задачи. Если на одном языке это одна команда, а на другом 10, то чаще всего я сделаю это там, где это будет быстрее реализовать. Бывают и исключения, когда я выстраиваю pipeline-обработки данных и перебрасывание данных из одного языка программирования (среды) в другой неоптимально с точки зрения регулярной обработки и с учетом увеличивающегося объема данных в будущем. Например, когда я строю BI-решение, то стараюсь использовать возможности одной экосистемы.

— Приведите пример кейса, когда вы использовали возможности одной экосистемы и это упростило и ускорило решение задачи.

Например, в Excel есть подсистема Power Query. Она позволяет мне быстро подключиться к данным, сделать их очистку и преобразования и тут же положить их в высокопроизводительную БД внутри того же Excel — Power Pivot. Затем, используя язык программирования DAX внутри Power Pivot, я описываю метрики, которые меня интересуют, и тут же в Excel делаю их визуализации через сводные таблицы и/или чарты. Все это позволяет мне сфокусироваться на анализе вместо решения инфраструктурных задач.

Пример таблицы

Резюме

Владение навыком программирования позволяет маркетологу быстрее анализировать большие объемы данных и находить в них инсайты. Выбор языка программирования зависит от конкретной задачи, которую необходимо решить. Так, если вы в своей работе сталкиваетесь с большим количеством разных задач, одним языком программирования обойтись сложно, однако есть наиболее универсальные языки программирования для работы с данными — это R и Python.

Павел Левчук рекомендует следующие материалы для изучения языков программирования:

DAX:

  • https://www.amazon.com/Definitive-Guide-DAX-intelligence-Microsoft/dp/073569835X/
  • https://www.sqlbi.com/tv/dax-101/
  • https://www.sqlbi.com/tv/advanced-dax/

R:

  • https://r4ds.had.co.nz/
  • https://www.amazon.com/Action-Data-Analysis-Graphics/dp/1617291382/
Не пропускайте новости
Получать новости
Спасибо за подписку!

Мы уже отправили вам первое письмо с подборкой лучших материалов

Полезные кейсы, статьи и исследования от экспертов UIS
Подписаться
Вы успешно подписаны на новости!
Спасибо за обращение
Понятно