IV/WOE - хороший способ понять какой информацией вы обладаете

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

Заранее никто из нас не знает какие сигналы из тех, что оставляет нам клиент, помогут нам предсказать к какой группе он относится. А потому маркетологи часто либо (1) сами собирают разные сигналы из систем аналитики (визиты, просмотры страниц, время на сайте и т.д.) либо (2) идут к разработчикам и просят их выгрузить информацию из баз данных о том, что известно о клиентах в продуктивных системах (дата регистрации, дата первой покупки и т.д.).

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

В целом, существует два подхода к прогнозированию. 

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

При таком подходе модель машинного обучения используется как черный ящик, в который вы бросаете свой вопрос и получаете бинарный ответ: (1) - да, (0) - нет. Это вполне рабочий подход, особенно, если принять во внимание, что маркетолог часто далек от data science. 

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

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

Но, было бы лучше, если бы data scientist также подсказал нам, как мы можем сделать это быстро и качественно.

Сегодня я покажу простой подход для оценивания сигналов при задаче бинарной классификации. Называется он Information Value (IV) / Weight of Evidence (WOE). 

Возьмем простой пример. 

Есть известный датасет German Credit, в котором собраны сигналы от заемщиков кредитов. 

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

German Credit dataset

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

Итак, мы решили разобраться с данными. Но, что это собственно означает?

По сути, мы хотим получить ответы на 2 следующих вопроса:

(1) какие сигналы несут в себе много информации о целевом показателе, а какие нет?

(2) как именно каждый сигнал влияет на целевой показатель? 

Начнем с первого вопроса.

Какие сигналы несут в себе много информации о целевом показателе, а какие нет?

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

И в этом вопросе нам на помощь придет IV. 

Буквально вызвав одну команду из R-пакета Information, мы получили отранжированный список всех сигналов.

Information Value

Обычно, при интерпретации IV используют следующий набор правил:

IV - rules

Мы видим, что самый информационно сильный сигнал это checking_account. Также мы видим, что такие сигналы как jobsex, purpose, housing несут в себе очень мало информации о том, вернет ли клиент кредит или нет. 

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

Здесь стоит упомянуть, что для разных задач тот или иной сигнал может нести разный объем информации. 

Например, сигнал job может почти не нести в себе информации при ответе на вопрос - вернет клиент кредит или нет. В тоже время этот же сигнал вполне может нести в себе информацию при ответе на вопрос - прочтет ли клиент ваш имейл или нет.

Теперь давайте перейдем ко второму вопросу.

Как именно каждый сигнал влияет на целевой показатель? 

Обычно сигнал (как тип данных) может быть либо категорийным (checking_account или job) или числовым (age, duration). Разные типы данных надо, как правило, обрабатывать по-разному. Кроме того, иногда в данных встречаются пропуски и/или выбросы. 

Все это заметно усложняет работу с данными. Не зря опытные data scientists совсем не шутят когда говорят, что на получение и подготовку данных уходит до 80% времени, в то время как на моделирование уходит лишь около 20%.

Так вот, WOE легко справляется с вышеописанными проблемами из коробки.

Давайте посмотрим, как именно влияет наш самый сильный сигнал (checking_account) на то, вернет клиент кредит или нет.

IV1_WOE

Как мы видим, сигнал checking_account уверенно (и монотонно) разделяет тех, кто вернет кредит и тех, кто этого не сделает. 

Например, если у клиента на балансе аккаунта очень мало средств (checking_account = little), то собственно это, в значительной мере, определяет вернет он кредит или нет. 

Если вам пока еще сложновато интерпретировать WOE, давайте посмотрим на сырые данные:

IV1 - distribution

Как мы видим, у клиентов из категории (checking_account = little) самая большая доля клиентов, которые не вернут кредит. Поэтому WOE там самый высокий и положительный. 

И наоборот, у клиентов из категории (checking_account = NA) самая маленькая доля клиентов, которые не вернут кредит. Поэтому WOE там самый высокий и отрицательный

Давайте также посмотрим, как алгоритм справляется с числовым сигналом (duration), 2-м по объему информации в нашем отранжированном списке. 

В этом случае WOE разбил сигнал длительности срока кредитования на бины (категории) так, чтобы максимально хорошо разделять тех, кто вернет кредит и нет.

IV2 - WOE

Как мы видим, кредиты сроком до 16 месяцев, чаще возвращают, чем не возвращают.

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

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

РЕЗЮМЕ:

Таким образом, подход IV/WOE позволяет не только понять какие сигналы полезны для ответа на целевой вопрос (например, вернет клиент кредит или нет), но также узнать какие бины (группы) клиентов у нас есть и как разнятся их шансы (например, на возврат кредита) по сравнению со средним.

Comments

Popular posts from this blog

A/B-тестирование: смотреть на конверсию vs смотреть на продажи

Продуктовая аналитика: влияние продуктовых фич на ретеншн