Главное Авторские колонки Вакансии Образование
Выбор редакции:
379 0 В избр. Сохранено
Авторизуйтесь
Вход с паролем

Зачем и как операторы перепроверяют анкетные данные?

На Spark часто упоминают Big Data, поэтому мы решили раскрыть подробности технической стороны процесса. Сотрудник группы социальной аналитики Егор Лабинцев рассказывает как мы помогаем одному крупному оператору из СНГ анализировать данные об абонентах. Егор попытался простым языком рассказать техническую часть обработки наших с вами данных
Мнение автора может не совпадать с мнением редакции

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

Масштабы

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

Для определенности, в данной статье я буду рассказывать об одном из наших кейсов в телекоме, а именно о крупнейшем операторе одной из стран СНГ. Раскрыть точное название не позволяет NDA.

Число активных абонентов у нашего клиента составляет 10 млн человек, соответственно, число ежедневно генерируемых событий (звонков, СМС, платежей и сессий мобильного интернета) крайне велико, что предполагает использование специальных инструментов обработки больших данных. Мы используем хорошо зарекомендовавшую себя экосистему Hadoop для предобработки и хранения таких массивов информации.

Задачи

В своей работе мы используем разработанную нами систему Eastwind Social Analytics (EWSA), позволяющую на основе данных абонента определить демографические и некоторые дополнительные показатели.

Профиль абонента в EWSA (200+ параметров)

  • Социально-демографические (пол/возраст/семейное положение/наличие детей…)
  • Социальные связи и активность
  • Интересы (кратко- и долгосрочные)
  • Геотаргетинг (дом, работа, любимые места)
  • Звонковая активность, интернет и роуминговая активность
  • Используемые услуги и тариф
  • Платежная активность и финансы (уровень доходов, ARPU…)
  • Используемый девайс
  • Анкетные данные

b_58de1fd0db914.jpg

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

Точность наших инструментов составляет:

Пол – средний 83,89%

Возраст – 70%

Семейное положение – Женат/замужем 74,8%

Наличие детей – 68,66%

Помимо этого, впоследствии такой профиль абонента можно использовать для предсказания оттока абонентов и кредитного скоринга. Кредитный скоринг обеспечивается как в интересах третьих лиц (банков), так и в целях оптимизации услуги «Обещанный платеж». Или собственный кредитный скоринг оператора для продажи контрактных телефонов

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

Казалось бы, зачем строить математические модели для определения того, что и так известно из анкетных данных (пол, возраст и семейное положение)?

Дело в том, что в телекоме существуют проблемы передачи сим-карт и устаревания анкетных данных. Наиболее точной оценкой качества анкетных данных является опрос абонентов оператора, что дорого, долго и ограничено ресурсами колл-центра. На примере этого проекта анкетные данные абонентов из биллинга имели совпадение с реальностью на уровне 30-35%

b_58de1f7974b77.jpg

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

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

Процесс обработки данных

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

Ежедневно со стороны оператора к нам поступает информация об абонентах (один день данных может занимать примерно 160 Гб). После первичной обработки на Mediation, где сырые данные оператора приводятся к стандартизированному и упорядоченному виду, мы загружаем данные в Hadoop, где впоследствии запускаются процессы на формирование признаков, обучение моделей и предсказания на всю базу нашего клиента.

b_58de201da81ef.jpg

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

Процесс обработки данных EWSA

На первом этапе данные оператора об абонентах (звонки, соты, платежи и проч.) фильтруются по активности, типу тарифа (физ- и юрлица) и другим параметрам. Также на этом этапе уже рассчитываются некоторые агрегированные значения, например, для определения степени активности абонента. Затем данные переводятся в HDFS для удобной работы на кластере. Для каждого из номинальных датасетов мы храним данные с некоторой глубиной по времени, это используется для расчета признаков.

HDFS (Hadoop Distributed File System) — файловая система, предназначенная для хранения файлов больших размеров, поблочно распределённых между узлами вычислительного кластера.

Далее через внутренний сервис деплоя запускаются spark-jobs, которые подготавливают признаки, сформированные и отобранные на этапе исследования данных (как именно мы это делаем – опишу в следующей статье). Мы используем pyspark для написания скриптов расчета признаков и описываем зависимости .xml шаблонами, которые легко изменяются и позволяют гибко настраивать и отлаживать процесс. Связанные джобы запускаются последовательно (каждый следующий джоб ждет завершения предыдущего), что позволяет в реальном времени отлеживать какие-либо изменения в данных. Полный цикл предобработки, генерации признаков и обучения модели занимает примерно 6-7 часов и выполняется в ночное время. После того как сформирована матрица объекты-признаки, начинают работу математические модели, параметры и качество которых регулярно репортируется в сводную таблицу.

В следующей статье я раскрою следующие темы:

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

2.Построение гипотез, формирование готовых признаков и их визуализация. Поиск зависимостей и корреляций признаков, оценка эффективности константных (наиболее простых) моделей на данных признаках.

0
В избр. Сохранено
Авторизуйтесь
Вход с паролем
Комментарии
Выбрать файл
Блог проекта
Расскажите историю о создании или развитии проекта, поиске команды, проблемах и решениях
Написать
Личный блог
Продвигайте свои услуги или личный бренд через интересные кейсы и статьи
Написать

Spark использует cookie-файлы. С их помощью мы улучшаем работу нашего сайта и ваше взаимодействие с ним.