Решайте бизнес-проблемы с помощью Data Science

Обобщенная структура для консалтинговых проектов на основе данных

Обзор

Здесь мы предлагаем общую основу для решения бизнес-задач с помощью науки о данных. Эта 5-ступенчатая структура не только прольет свет на предмет для тех, кто не имеет технического образования, но также позволит энтузиастам данных постоянно и своевременно предоставлять качественные результаты.

Сначала мы начнем с определения наших бизнес-проблем, что поможет нам уточнить масштаб текущего проекта. После получения достаточного понимания бизнеса мы можем перейти к определению целей, которые могут быть достигнуты с помощью аналитики. Затем мы исследуем данные, которые мы можем получить, и проведем стандартизированные процессы для очистки и исследования данных. После подготовки данных следует этап обучения модели, на котором мы исследуем производительность различных алгоритмов на данных и получим оптимальную модель. Наконец, нам также необходимо снова провести A / B-тестирование модели с реальными данными, чтобы увидеть, можно ли найти реальный подъем.

Шаг 1. Деловые проблемы

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

«Мы хотим увеличить продажи».

«Мы хотим знать, как мы можем улучшить наш бизнес».

Мы несем ответственность за то, чтобы получить больше информации от наших клиентов и убедиться, что они понимают причину, по которой мы это делаем. Это очень похоже на традиционный управленческий консалтинг, когда нам нужно разбить проблему на более мелкие части, которые можно решить более эффективно. Например, мы можем разбить продажи на количество и цену по каждой линейке продуктов или мы можем разбить продажи на покупки от новых клиентов и существующих клиентов, чтобы можно было наблюдать изменение тенденции. Есть множество способов решить проблемы, и, обладая превосходным опытом работы в данной области бизнеса, мы сможем делать это более эффективно.

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

Предположим, что наблюдается резкое снижение количества проданного продукта А, в частности, от существующих клиентов. Таким образом, бизнес-проблему можно переопределить, как показано ниже.

«Что нам делать, когда старые клиенты больше не покупают продукт А?»

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

Шаг 2. Цели Google Analytics

В отличие от постановки задач SMART, постановка надежных задач аналитики требует от нас более глубокого понимания трех основных подходов к обучению в области науки о данных. Здесь мы сосредоточимся на алгоритмах контролируемого обучения и неконтролируемого обучения, в то время как обучение с подкреплением более популярно среди таких приложений, как как глубокое обучение и искусственный интеллект.

Обучение с учителем

Алгоритмы классификации, такие как k-Nearest Neighbours и Support Vector Machine, позволяют нам классифицировать точки данных по категориальным результатам. Например, мы можем разделить всех клиентов на покупателей и непокупателей; мы также можем предсказать, станет ли новый посетитель сайта членом.

Алгоритмы регрессии, такие как линейная и полиномиальная регрессия, позволяют нам прогнозировать численные результаты. Например, мы можем предсказать сумму покупки каждого покупателя в долларах; мы можем предсказать количество дней, через которые клиент снова посетит наш веб-сайт.

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

Обучение без учителя

Алгоритмы кластеризации, включая k-средних и иерархическую кластеризацию, позволяют группировать точки данных с похожими характеристиками. Например, мы можем сегментировать наших посетителей в Интернете на основе их поведения в Интернете, например среднего времени пребывания на странице и среднего количества просмотренных страниц.

Алгоритмы правил ассоциации, такие как принцип априори и цепь Маркова, могут обнаруживать скрытые закономерности и взаимосвязи в наших данных. Например, мы можем узнать, какие продукты часто просматривают и покупают вместе; мы также можем спрогнозировать следующую веб-страницу, которую увидит клиент.

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

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

«Можем ли мы привлечь новых клиентов, которые с большей вероятностью купят продукт А?»

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

«Можем ли мы продвигать другие продукты, которые, скорее всего, купят старые клиенты?»

При описанной выше проблеме цель аналитики состоит в том, чтобы найти закономерности между другими продуктами, которые просматриваются и покупаются вместе с продуктом А. Затем мы можем использовать электронную почту или SMS, чтобы сообщить о преимуществах других продуктов существующим клиентам.

Теперь мы рассмотрели этапы 1 и 2, которые требуют определенного опыта в предметной области и критического мышления. Еще один важный вывод: мы можем завершить шаги 1 и 2 до исследования данных на уровне клиента, поэтому наш мыслительный процесс будет менее подвержен ограничениям.

Далее мы перейдем к более техническим этапам структуры, используя классификацию покупателя продукта А в качестве демонстрации.

Шаг 3. Подготовка данных

Источники и извлечение

Сначала мы определим источники, из которых мы можем получить наши данные. В случае электронной коммерции существует база данных для хранения демографических и транзакционных данных клиентов. Существует также Google Analytics, где хранятся данные о поведении в Интернете. Учитывая популярность социальных платформ, таких как Facebook, мы также можем получать данные о социальном поведении наших клиентов, включая общедоступные сообщения и лайки на общедоступных фан-страницах.

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

Чтобы извлечь данные на уровне посетителя о поведении в Интернете или потоках кликов из Google Analytics, нам необходимо сначала настроить специальные параметры, такие как идентификатор браузера, идентификатор входа и отметка времени. Затем мы можем экспортировать данные с помощью Analytics API от Google.

Что касается социальных данных из Facebook, здесь больше ручной работы. Иногда пользователи могут зарегистрироваться через свои учетные записи Facebook, и мы соответственно можем получить их профили. Мы также можем сопоставить адреса электронной почты и номера телефонов из нашей базы данных, чтобы найти профили. Поскольку Graph API от Facebook не предоставляет такую ​​информацию, нам также нужно будет очистить контент самостоятельно.

Очищение и преобразование

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

Несомненно, у нас будут отсутствующие значения в нашем фрейме данных, поскольку некоторые клиенты, возможно, никогда не покупали у нас, следовательно, нет данных о транзакциях; некоторые клиенты могли совершать покупки только в обычных магазинах, поэтому данные о поведении в Интернете не могут быть получены. Хотя удаление наблюдений с пропущенными значениями может быть простым решением, мы рискуем потерять ценную информацию. В результате настоятельно рекомендуется использовать более осуществимые подходы, такие как использование регрессии для прогнозирования пропущенных значений.

При преобразовании данных в фреймворк иногда нам нужно полагаться на опыт и знания в предметной области, чтобы разработать новые переменные из ряда доступных в настоящее время переменных. Например, в данных о транзакциях клиенты могут приобретать разное количество и разные продукты в формате списка. Нам нужно будет создать набор фиктивных переменных для представления всех доступных продуктов и записать количество покупок в виде наблюдений, чтобы включить информацию о покупках в фрейм данных на уровне клиента. Аналогичные преобразования можно найти и в данных о поведении в Интернете, поскольку клиенты могли посещать наш веб-сайт из разных медиа-каналов, одной переменной Source по умолчанию, предоставляемой Google Analytics, может быть недостаточно.

Исследование и визуализация

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

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

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

Шаг 4. Разработка модели

Выбор

Существует ряд алгоритмов классификации, из которых мы можем выбирать, и важно знать плюсы и минусы каждого алгоритма, например, компромисс между предсказуемостью и интерпретируемостью. Поскольку цель аналитики состоит в том, чтобы сначала определить переменные, которые помогут нам спрогнозировать покупателей продукта А, а затем использовать идентифицированные переменные для привлечения новых клиентов, алгоритм, который может давать исчерпывающие результаты, является более идеальным, в отличие от более мощных алгоритмов черного ящика.

С точки зрения интерпретируемости, наш лучший выбор алгоритма - это дерево классификации и регрессии (CART). Однако мы все равно хотели бы использовать другие алгоритмы, включая k-ближайших соседей (kNN), линейный и квадратичный дискриминантный анализ (LDA / QDA), логистическую регрессию, случайные леса, повышение и машину опорных векторов (SVM) в качестве тестов для прогнозирования.

Обучение

Здесь нам нужно будет разделить фрейм данных на наборы данных для обучения (70%), проверки (20%) и тестирования (10%). Мы будем использовать обучающий набор для обучения моделей и получить объективный результат с проверочным набором. После настройки параметров для получения лучшей производительности на наборе для проверки мы оценим окончательную производительность модели с набором для тестирования, который является невидимыми данными и может снова вернуть несмещенные результаты и предотвратить чрезмерную подгонку.

Оценка

Существует множество показателей оценки, таких как матрица неточностей, диаграммы усиления и подъема, коэффициент Джини, R-квадрат и скорректированный R-квадрат, площадь под кривой ROC (AUC) и среднеквадратичная ошибка (MSE). Эти показатели позволят нам оценить производительность наших алгоритмов. Также важно знать, какие показатели использовать в разных ситуациях. Например, когда целевая переменная имеет асимметричное распределение, то есть доля покупателей продукта А составляет только 1% от всех клиентов, мы можем получить вводящие в заблуждение результаты, если будем полагаться на матрицу неточностей для оценки точности модели, поскольку, помечая все клиенты как покупатели, не относящиеся к продукту А, мы можем случайным образом достичь 99% точности. Вместо этого другие показатели, такие как MSE, могут предоставить нам более адекватную оценку.

Проверка

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

Тестирование

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

Шаг 5. Тестирование производительности

С протестированной окончательной моделью перед фактическим внедрением или реальной маркетинговой кампанией нам необходимо провести тестирование, чтобы увидеть, есть ли реальный рост. Например, последняя модель показала, что покупателями продукта A являются мужчины в возрасте от 30 лет, которые посещают наш веб-сайт из платного поиска Google через свои ПК, и чаще всего в субботу вечером. Мы можем потратить небольшой бюджет на платный поиск Google, чтобы увидеть, покупает ли этот конкретный сегмент больше по сравнению с другими сегментами. В качестве альтернативы мы также можем провести A / B-тестирование каждой переменной, например, ПК по сравнению с мобильным телефоном или субботние вечера по сравнению с ночами вне субботы.

Чтобы правильно настроить и интерпретировать результаты A / B-тестирования, мы должны помнить о нескольких вещах, таких как размер выборки, уровень достоверности и доверительный интервал для пропорции.

Например, когда мы тестируем этот конкретный сегмент по сравнению с другими сегментами, поскольку мы уже знаем, что нормальный уровень покупок составляет около 5%, с 1000 клиентов в качестве размера выборки, 95% доверительный интервал для других сегментов будет между 3,81% и 6,53. %. Если мы оценим уровень покупок в идентифицированном сегменте на уровне 10%, то при том же размере выборки 1000 доверительный интервал будет между 8,29% и 12,02%, что не перекрывается с доверительным интервалом для других сегментов. В результате мы можем сделать вывод, что с 95% уверенностью размер выборки в 1000 клиентов достаточен для того, чтобы мы могли сказать, что в идентифицированном сегменте действительно наблюдается рост покупок. Однако, если предполагаемая доля покупок в идентифицированном сегменте ниже 10%, нам может потребоваться провести тест более чем на 1000 клиентов. Если нас устраивают результаты A / B-тестирования, мы можем приступить к созданию более масштабных маркетинговых кампаний.

Последние мысли

Это подводит итог сообщения в блоге. Мы рассмотрели 5-шаговую структуру для решения бизнес-задач с помощью науки о данных. Хотя мы используем клиент электронной коммерции в качестве демонстрационного случая, потенциальные приложения не ограничиваются только цифровым маркетингом.

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

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

Вопросы, комментарии или проблемы?
[email protected]