![](https://habrastorage.org/getpro/habr/upload_files/f83/158/fef/f83158fefb96e409c0d0db83df8dbd5d.jpg)
Всем привет! Меня зовут Михаил Тимофеев. Когда я работал менеджером по продажам, меня постоянно мучали вопросы: почему клиент отказался, где моя зона роста, что делать, чтобы продавать больше? Ответов порой приходилось ждать очень долго, а максимум, чего я мог добиться — это ответы по чек-листу, да сухие цифры по количеству звонков, заявкам и времени на линии. И тогда я решил все взять в свои руки. В статье расскажу о своём опыте создания DIY-системы учета и прогноза продаж в Excel (или его аналоге Calс из пакета LibreOffice), Power BI и Python 3 с подключенными библиотеками Pandas, NumPy и MatPlotLib.
Наверняка, многие, кто не первый год занимается поиском новых клиентов, ведет переговоры и договаривается о заключении сделок, самостоятельно ведут учет своей результативности. Это очень хорошая практика, так как позволяет не только предположить, насколько будет выполнен план, но и выявить места просадки и свои зоны роста. Современное ПО, от офисных пакетов до библиотек для языков программирования, существенно упрощает данный процесс. На помощь лично мне пришла статистика, которой занимался на одной из бывших работ, а ещё Школа программирования Ростелекома, где я прокачал скиллы в Python и PowerBI.
Немного о процессе продаж (каким он должен быть)
Приведу краткое описание бизнес-процесса: менеджер по продажам звонит потенциальному клиенту, проводит переговоры.
О продаже каких услуг идет речь
Продукты, которые я продаю — это услуги доступа в Интернет (ШПД), Wink (онлайн-кинотеатр + интерактивное ТВ), мобильную связь (MVNO) и видеонаблюдение. Можно добавить и услугу стационарной телефонии (ОТА), но заявки на неё столь редки, что можно убрать за скобки.
Первичным успехом является согласие клиента на подключение одной или нескольких услуг с оговоренной датой визита мастера-инсталлятора для настройки оборудования и сопутствующих монтажных работ. Далее клиенту звонит отдел координации для подтверждения заявки, даты визита мастера и решения каких-то возникших у клиента вопросов.
Финальный этап — визит мастера, который производит монтаж, настройку оборудования и передачу документации (сейчас есть тенденция на передачу в электронном виде). После выполнения всех работ и подписания договора, клиент вносит в течении трех дней сумму. Чаще всего в неё входит стоимость тарифа, оборудования и оплата подключения. Все довольны: клиент получается услугу, компания — нового клиента, а менеджер — премию.
Однако данная ситуация хороша лишь в теории. На практике успешные переговоры и получение согласия клиента — это только часть дела. Заявка, сделанная клиентом, может быть и не выполнена по множеству причин: от чисто технических до человеческого фактора. Но если не учитывать ошибки в заведении самой заявки из-за внутренних сбоев или отсутствия технической возможности подключения, то львиная доля неподключенных услуг — это отказы клиента.
Какие могут быть причины отказов
Я выделил девять основных типов отказов:
Передумал или отпала необходимость (объединил в одну группу);
Не устраивает монтаж;
Родственники против подключения;
Клиенту была предоставлена некорректная информация, в следствии чего — отказ от подключения;
Дорого (отказ из-за цены я выделил в отдельную группу);
Другой провайдер предложил более выгодные по мнению клиента условия;
Недозвон до клиента (здесь тоже несколько типов недозвонов: сбросы, автоответчики, программы-антиспамы, иногда после единократного недозвона заявку закрывают или отправляют на доработку и др.);
Без объяснения причин (бывает и такое);
Прочее (все, что не попало в другие пункты);
Каждая из причин чаще всего имеет свои корни и объяснения. Моё личное мнение, что общая причина отказа — некачественные переговоры:
клиенту что-то не объяснили;
не рассказали подробно о выгодах, которые он получит, когда подключит услугу;
предоставили неверную информацию;
не обговорили условия монтажа;
не взяли дополнительный контактный номер;
переговоры прошли с лицом, не принимающим решение (не ЛПР).
Бывают случаи, когда сам клиент соглашается только ради того, чтобы от него отстали. Плюс накладываются разные внештатные ситуации как со стороны клиента, так и со стороны компании. Поэтому оформленная заявка дает лишь вероятность того, что клиент подключится.
А чему равна вероятность подключения? Вопрос — сложный и требующий исследования. Именно данным исследованием я и занялся.
Методология
В начале исследования я выделил факторы, которые на мой взгляд могут повлиять на вероятность подключения. И здесь сделаю одно важное допущение: цена не является основополагающей причиной согласия на подключение услуг. Считаю заблуждением, что всех интересует только цена. Если это было бы так, то все пользовались самыми дешёвыми телефонами, ездили на самых дешёвых машинах, носили самую дешёвую одежду. Про продукты питания и вовсе молчу. Я не знаю ни одного человека, который был делал выбор только на основе стоимости.
Деньги — это лишь один из ресурсов, имеющихся у человека. Кроме денег есть и время, которое он готов потратить на общение с менеджером и на визит мастера, а так же выгода в виде экономии времени за счет высокой скорости, которую клиент получает после подключения. К нематериальным ресурсам я бы отнёс ещё и эмоции, которые также получает или тратит человек. Поэтому цена, скидка, промо-период являются важными, но не основным критериями. Кроме того, цены на тарифы меняются. Выходят новые линейки тарифов и закрываются старые, стоимость одного тарифа может разниться даже в пределах одного города. Плюс нужно учитывать специфику территорий: базовые тарифы в Санкт-Петербурге отличаются, например, от тех же базовых тарифов в Мурманске. Если бы мы выбрали как основой фактор цену, то это очень бы усложнило нашу систему.
Так какой же фактор является основным? В качестве основного предлагаю для начала взять срок от момента подачи заявки до момента подключения или отказа, назовём его сроком давности заявки:
Во-первых, это хорошо измеряемый параметр, так как нам всегда известны дата заведения заявки и дата закрытия (или назначения визита инсталлятора);
Во-вторых, минимальный срок подключения (1-3 дня) практически един для всех регионов, в отличие от цены. Если не учитывать единичные случаи подключения в частном секторе или кейсы, когда проводится предварительная проверка технической возможности, то вполне реально вызвать мастера на ближайшие дни.
В-третьих, справедливо считать, что чем меньше проходит времени от даты подачи заявки до визита мастера, тем меньше отрицательных рисков и выше вероятность подключения.
Строим модель вероятности подключения
Итак, первый параметр, который я использовал в модели — это срок от момента согласия клиента до дня подключения услуги (инсталляции). Первым этапом я занес данные по подключениям в таблицу Excel с полями, указанными под спойлером:
Поля таблицы с пояснениями
NN — номер по порядку
NLS — лицевой счет
USLUGA — услуга
DATA_N — дата заведения услуги
DATA_X — дата закрытия заявки или визита мастера-инсталлятора
SROCK — срок давности заявки (расчетный параметр)
STATUSGLAV — статус главный (открыта или закрыта заявка)
STATUSOPENCLOSE — статус исхода
STATUSWHF — статус причины отказа
MANAGER — менеджер, совершивший заявку.
Кроме того, было несколько второстепенных полей, касающихся статуса самого клиента, технологии подключения, региона и др.
Первое, что пришло в голову — это посмотреть, влияет ли срок давности заявки на долю успешных подключений. Я рассчитал процент подключившихся заявок и построил график зависимости. На рисунке 1 показана зависимость доли подключений от общего числа относительно срока давности заявки:
![Рисунок 1. График зависимости процента подключенных услуг от срока давности заявки. Рисунок 1. График зависимости процента подключенных услуг от срока давности заявки.](https://habrastorage.org/getpro/habr/upload_files/e1b/0ac/4c5/e1b0ac4c5b4b2072d74ec9eb35766dac.png)
На рисунке 1 видно, что большая часть заявок успешно подключилась, если от момента заведения заявки до момента визита мастера прошло не более трех дней.
Вывод первый: срок давности заявки имеет значение.
Сколько всего подключилось? Для этого за отчетный период я подсчитал все заявки, а также доли от общего числа подключений, отказов и заявок, где подключение было технически невозможно. Получилось 24,3% от общего числа заявок. Но нас больше интересует ответ на вопрос не «Почему человек подключился?», а «Почему он НЕ подключился, и что я мог сделать, чтобы человек стал нашим клиентом?».
Все отказы сгруппировал в соответствии с предложенной выше классификацией. Результаты вывел в виде диаграммы с процентным соотношением причин отказов (рисунок 2):
Ищем зоны роста в отказах
Изучив причины отказа, я увидел, что почти половина из них относится к случаям, когда до клиента не смогли дозвониться (недозвону), или потенциальный клиент передумал или отпала необходимость. Во многом эти причины отказов схожи. А поскольку от количества подключений напрямую зависит доход менеджера по продажам, нам нужно найти первопричины данных отказов и найти способы с ними справляться.
Один из самых верных способов решения очень прост: брать второй контактный номер и обязательно предупреждать клиента, что ему ещё будет звонить служба координации (чтобы он держал телефон при себе).
Если же клиент передумал или отпала необходимость, то в презентации были не полностью раскрыты выгоды клиента. Часто клиент дает согласие на эмоциях, а после звонка его переубеждают, или эмоции спадают (клиент не против монтажа, его устраивает цена, но не настолько, чтобы подключить услуги). Решение — совершенствовать этап продаж с презентацией продукта на основе выявленных потребностей не только клиента, но и его близких.
Иногда разговор идет не с лицом, принимающем решения (ЛПР), но если явно указано отсутствие согласия родственников или других заинтересованных лиц, я классифицирую в отказы под названием «родственники против».
Вывод второй: в причинах отказов кроется ключ к поиску зон роста и увеличению продаж.
Какие ещё факторы могут влиять? День недели и неделя месяца. Раньше мне казалось, что люди предпочитают подключаться в первых числах месяца и по выходным, когда есть больше свободного времени, а подключение в начале месяца связано с тем, что у людей что-то новое ассоциируется с началом: новый тариф, новый провайдер, новая услуга.
Мы начинаем что-то делать в новом году, в начале учебного года, с понедельника, с первого дня отпуска и т.д. Я сгруппировал данные по неделям. Построил таблицу (таблица 2) и гистограмму (рисунок 3), чтобы визуализировать зависимости:
Период | Неделя | Подключений | % от общего числа |
1 — 7 ДЕНЬ | 1 | 35 | 14,11 |
8 —14 ДЕНЬ | 2 | 61 | 24,60 |
15 — 21 ДЕНЬ | 3 | 59 | 23,79 |
С 22 дня | 4 | 93 | 37,50 |
Всего | 248 | 100 |
![Рисунок 3. Распределение подключений услуг по дням недели. Рисунок 3. Распределение подключений услуг по дням недели.](https://habrastorage.org/getpro/habr/upload_files/4fb/f01/ff0/4fbf01ff003db042790deeef46518b9f.png)
Из таблицы 2 и рисунка 3 видно, что клиенты предпочитают подключаться не в начале месяца, а в конце (37,5% подключений — с 22 дня месяца), и не очень активно подключаются по воскресениям, хотя в большинстве случаев есть возможность вызвать мастера на выходной.
Вывод третий: день недели имеет значение. Динамика подключений новых абонентов ускоряется к концу месяца и замедляется в начале. Это важно учитывать при планировании.
Строим модель для команды менеджеров
Все вышеперечисленные результаты я привёл относительно своих данных. А как дела у других менеджеров? Насколько мы похожи, и можно ли делать выводы, проанализировав только одного? Интуитивно кажется, что нет — каждый индивидуален. Давайте выберем другого менеджера наугад и построим для него аналогичные графики.
Предлагаю два самых показательных различия, на рисунках 4 и 5 ниже:
![Рисунок 4. Распределение причин отказов по классам. Рисунок 4. Распределение причин отказов по классам.](https://habrastorage.org/getpro/habr/upload_files/a4f/706/26d/a4f70626d1fb2c055f777615c18c78e2.png)
Что бросается прежде всего: почти половина клиентов отказалась, передумав. И довольно высокий процент отказов из-за монтажа.
Как решить первую проблему мы уже разобрали. А отказ по условиям монтажа чаще всего связан с тем, что клиент не хочет сверлить отверстие в стене или дверной коробке, вести провода по квартире или его не устраивает будущее месторасположение оборудования. Но это следствие, а настоящая причина в том, что не было четко проговорены в сценарии завершения сделки все вышеперечисленные нюансы. Зона роста менеджера — четкое проговаривание условий монтажа в сценарии завершения сделки.
Теперь рассмотрим график зависимости подключения от срока давности заявки:
![Рисунок 5. Зависимость процента подключений от срока давности заявок. Рисунок 5. Зависимость процента подключений от срока давности заявок.](https://habrastorage.org/getpro/habr/upload_files/fc8/c89/451/fc8c8945177c0caacde9dd4939e00257.png)
Здесь снова проявляется индивидуальная особенность менеджера. Есть характерный пик на 7-8 днях. Возможно, он использует двухшаговый метод продажи или заводит много заявок, где клиент говорит: «Надо подумать, перезвоните через пару дней», и менеджер закрывает сделку повторным звонком. По всей видимости с такой тактикой связан и 44,12% отказов в данной категории.
Итак, мы видим, что менеджеры разные, со своими особенностями, как можно эффективно анализировать каждого из них? И можно ли их классифицировать, группировать? Естественно, можно и способов довольно много. Другое дело, что решать все это в Excel или Calс сложно. На конференции DataTalks 3.0 я с интересом прослушал выступление спикеров по анализу данных в программе PowerBI: она позволяет строить интерактивные дашборды, своего рода панели визуализации данных. В качестве источника данных могут быть использованы те же таблицы Excel.
Переходим на PowerBI
Я подключил уже имеющуюся таблицу в Excel, процесс подключения оказался очень прост.
Запустите PowerBI;
В открывшимся окне укажите в качестве источника данных таблицу Excel, как показано на скриншоте ниже (на рисунке 6). Обратите внимание, что программа различает листы, поэтому указывайте конкретный лист, где находится сама таблица.
![Рисунок 6. Стартовая страница добавления данных в отчет PowerBI. Рисунок 6. Стартовая страница добавления данных в отчет PowerBI.](https://habrastorage.org/getpro/habr/upload_files/094/e7f/fc5/094e7ffc523af04fed65a83a092bfcd2.png)
Я не буду заострять внимание на том, как построить дашборд, это выходит за рамки статьи, поэтому сразу покажу уже рабочий вариант на рисунке 7:
![Рисунок 7. Дашборд Рисунок 7. Дашборд](https://habrastorage.org/getpro/habr/upload_files/81e/7c0/921/81e7c09211b6cc622801dd33a43d32e7.png)
Очень полезный элемент PowerBI — срезы или фильтры, их можно увидеть в верхней части рабочей области. Благодаря им мы можем получить отчеты и статистику для конкретного менеджера, выбрать нужную нам дату подключения или дату закрытия заявки. Графики автоматически изменяются в зависимости от параметров фильтрации, что даёт гибкость в формировании отчета.
Если первичный файл Excel изменился (например, добавились новые данные), то достаточно просто обновить таблицу. Неизменными должны оставаться структура и названия полей. Более подробно о работе с PowerBI, примеры ее использования, а так же несколько обучающих уроков, можно почитать и посмотреть на сайте: https://docs.microsoft.com/ru-ru/power-bi/. Для более глубокого погружения, приведу две книги в списке источников в конце статьи.
Вывод четвертый: для гибкого анализа данных и эффективной визуализации с минимальными расходами времени, следует использовать современные системы BI.
Можно ли спрогнозировать продажи?
Мы выделили несколько факторов, потенциально влияющих на подключение нового клиента. А можно ли предсказать, сделать прогноз? Сейчас я веду работу над этой темой. Пока есть рабочая формула по расчету параметра, названного вероятностным коэффициентом: чем он выше, тем выше вероятность подключения. Пока используется только срок заявки.
Формула [1] представлена ниже:
где P(k) — вероятностный коэффициент;
m — количество подключений в заданный срок;
n — количество заявок;
i — срок подключения.
Вывод пятый: чем больше данных будет проанализировано и больше выделено ключевых факторов, тем выше будет качество прогнозов подключения.
Переходим на Python3
Современные реалии диктуют свои условия. С недавних пор появились дополнительные риски, связанные с прекращением поддержки некоторыми зарубежными компаниями пользователей и организаций на территории России. При всех своих плюсах PowerBI – это зарубежный продукт. Можно было перейти на отечественные аналоги. Но установка на рабочем месте дополнительных продуктов, согласование лицензий и обучение требуют времени.
Поэтому я принял решение переделать разработанную систему, используя язык программирования Python 3 и ряд библиотек, среди которых — очень мощная библиотека Pandas. Пару лет назад я проходил обучение в Школе программирования Ростелекома, и смог познакомиться с этой замечательной библиотекой. Она мне понравилась своим функционалом и постепенными уровнями вхождения: для базовых задач хватает основных функций. По мере необходимости изучаешь её уже более детально.
Продемонстрирую часть кода. Библиотеку Pandas следует установить на компьютер командой, введя в терминале:
pip install pandas.
Подключение библиотеки Pandas:
import pandas as pn
Загрузка Excel-файла:
if (len(sys.argv) > 2):
file_read = sys.argv[2]
else:
file_read = "default_bd3_2.xls"
print ("Открываю файл: {}".format(file_read))
exel_data_df_1 = pn.read_excel(file_read, sheet_name = 'База_21_22')
newdata_data_df_1 = exel_data_df_1.filter(["NLS","USLUGA","TEHNOLOGIA", "DATA_N","DATA_X","STATUSGLAV","STATUSWHF","STATUSOPENCLOSE","MANAGER","P"], axis = 1)
Добавляем новый столбец с расчетом срока давности заявки, вычитая от даты заведения заявки дату подключения для открытых заявок или дату закрытия заявки:
newdata_data_df_1.insert(newdata_data_df_1.columns.get_loc("DATA_X"),"SROCK","")
newdata_data_df_1 ['SROCK'] = (newdata_data_df_1 ['DATA_X'] - newdata_data_df_1 ['DATA_N']).dt.days
Очистка данных от пустых значений — это очень важный этап. Применительно к этому примеру я удаляю строки с неполными данными, по ситуации их можно оставлять или автоматически заменять на корректные, подставляя шаблоны или средние значения. Среднее и прочие агрегируемые показатели обоснованно использовать, когда данные являются числовыми значениями:
newdata_data_df_2 = newdata_data_df_1.dropna(thresh=1)
Группируем по менеджерам и рассчитываем долю подключений и причин отказов для каждого по отдельности:
df2 = newdata_data_df_2.groupby("MANAGER")["STATUSWHF"].value_counts(normalize = True)*100
Пример вывода на экран части информации, сведенной в таблицу:
MANAGER | STATUSWHF | |
ИВАНОВ | ПОДКЛЮЧЕНО | 24,468085 |
НЕДОЗВОН | 17,021277 | |
ПЕРЕДУМАЛ/ОТПАЛА НЕОБХОДИМОСТЬ | 14,893617 | |
NO | 12,765957 | |
ДОРОГО | 6,382979 | |
... | ... | ... |
Рассчитаем вклад каждого из менеджера в продажи всей группы, для этого за 100% берем все подключения за анализируемый период:
df2 = newdata_data_df_2[newdata_data_df_2["STATUSWHF"] == "ПОДКЛЮЧЕНО"]
df3 = df2["MANAGER"].value_counts(normalize = True)*100
print("Итого: {}".format(df3.sum())) #проверка на целостность, сумма должна быть равна 100
Выводим на экран:
Список менеджеров с указанием доли подключений от общего числа
РОМАШИНА 13,127413
НИЛОВА 12,741313
ФИЛИППОВА 12,355212
МОЛОТОВ 10,038610
ТАРАСЕНКО 9,266409
ЧЕРЕВКО 8,880309
ТИМОФЕЕВ 8,880309
ИВАНОВ 8,880309
КРАВЦОВ 8,494208
ПЕТРОВ 7,335907
Name: MANAGER, dtype: float64
Итого: 100.0
Далее строим гистограмму зависимости подключения относительно срока давности заявки. Сначала получим данные по количеству подключений относительно сроком и отсортируем по индексу строки:
df3 = df2["SROCK"].value_counts().sort_index()
Полученные данные отобразим в гистограмме и выведем на экран (рисунок 8):
df3.plot(kind = 'bar') #тип графика
plt.xlabel("срок давности, дни") #подпись под
plt.ylabel("Количество подключений") #подпись под
plt.show()
Строим круговую диаграмму распределения причин отказа в процентном соотношении, так же с дальнейшим выводом на экран (рисунок 9):
В конце посчитаем KPI, куда же в продажах без него:
df2 = newdata_data_df_2[newdata_data_df_2["STATUSWHF"] != "NO"]
df2_1 = df2["MANAGER"].value_counts()
df2 = newdata_data_df_2[newdata_data_df_2["STATUSWHF"] == "ПОДКЛЮЧЕНО"]
df2_2 = df2["MANAGER"].value_counts()
new_df2 = pn.concat([df2_1,df2_2], axis = 1)
new_df2.set_axis(["Заявки", "Подключения"],axis = 1, inplace = True) #дадим столбцам говорящие названия
new_df2 ['KPI'] = (new_df2 ['Подключения'] / new_df2 ['Заявки'])*100 print(new_df2)
print("Среднее: \t{}\t{}\t{:.2f}". format(new_df2["Заявки"].mean(),new_df2["Подключения"].mean(),new_df2["KPI"].mean()))
Итоговые значения можно отсортировать по любому из столбцов при необходимости, используя команду sort_value. Например, чтобы отсортировать по KPI, используйте new_df2.sort_values("KPI", ascending = False), а если нужно по количеству заявок, то new_df2.sort_values("Заявки", ascending = False).
Полученные данные сведем в таблицу 3 с показателями KPI менеджеров отдела продаж:
Фамилия | Заявки | Подключений | KPI (%) |
РОМАШИНА | 111 | 34 | 30,63 |
НИЛОВА | 97 | 33 | 34,02 |
ТАРАСЕНКО | 93 | 24 | 25,81 |
ПЕТРОВ | 92 | 19 | 20,65 |
ФИЛИППОВА | 90 | 32 | 35,56 |
ТИМОФЕЕВ | 87 | 23 | 26,44 |
МОЛОТОВ | 87 | 26 | 29,89 |
КРАВЦОВ | 84 | 22 | 26,19 |
ЧЕРЕВКО | 83 | 23 | 27,71 |
ИВАНОВ | 82 | 23 | 28,05 |
Среднее: | 90,6 | 25,9 | 28,49 |
Как видно из таблицы, большое количество продаж еще не означает лидерство по KPI: лидер по количеству заявок Ромашина занимает лишь третье место по KPI. Зато менеджер Филиппова является самым эффективным менеджерам по KPI при среднем количестве заявок.
Используя анализ причин отказов, посмотрев зависимость срока давности заявок и количества подключений, мы можем найти сильные стороны и зоны роста каждого из менеджеров и повышать их уровень.
С документацией с примерами по языку Python 3 и библиотекой Pandas можно по данным ссылкам: https://docs.python.org/3/, https://pandas.pydata.org. Кроме того, есть немало сайтов и книг на тему анализа данных, с использованием этих инструментов. Одну из них (скорее справочник) я указал в списке источников в конце статьи.
Вывод шестой: даже базовых знаний в программировании достаточно, чтобы начать самостоятельно анализировать данные. Python c библиотекой Pandas станет отличной альтернативой сторонним приложениям.
Как прогнозировать продажи
В начале статьи я уже упоминал про прогнозирование. Задача прогнозирования очень сложна и интересна и заслуживает отдельной статьи, сейчас же затрону этот момент на элементарном уровне. В формуле 1, представленной выше, описал как предлагаю рассчитывать коэффициент вероятности подключения применительно к одной заявке. Чем он ближе к 1, тем выше вероятность подключения.
Теперь покажу, как можно спрогнозировать количество подключений, если за вероятность подключения взять KPI менеджеров. Представим, что средний KPI примерно равен за весь анализируемый период, тогда мы берем из таблицы 3 значение 28,49. Предположим, что на подключении (инсталляции) 200 заявок. Сколько из них подключится?
Предлагаю рассчитать распределение по формуле [2] расчета повторных независимых испытаний из теории вероятности:
где n – количество заявок;
m – желаемое количество заявок;
P – вероятность подключения клиентом, в данном случае равна среднему KPI.
Воспользуемся Python 3 и дополнительными библиотеками numpy и scipy, чтобы рассчитать модель для всей группы и построить гистограмму распределения (рисунок 10):
pv = new_df2["KPI"].mean()/100
pvinstall = binom( n = 300, p = pv )
x = np.arange(1,300)
pmf = pvinstall.pmf(x)
print("Наиболее веротяное количество подключений: \t{}, плотность вероятности:\t{:.3f}" .format(pmf.argmax(),pmf.max()))
sb.set_style("whitegrid")
plt.vlines(x,0,pvinstall.pmf(x),colors='r',linestyles='-', lw = 1)
plt.xlabel("Количество подключений")
plt.ylabel("Плотность вероятности")
plt.show()
В нашем случае наивероятнейшим числом подключений будет 84. Другим плюсом данного подхода является создание пороговых значений с одинаковой вероятностью, но с разными значениями. Таким образом выделяется пессимистичный и оптимистичный прогнозы.
Но в реальных условиях у каждого из менеджеров будет разное количество открытых заявок, и у каждого будет свой KPI. Тогда мы рассчитаем наиболее вероятные исходы для каждого, а потом сложим эти значения.
Количество открытых заявок в случайном порядке распределил среди 10 менеджеров в таблице 4:
Фамилия | Открытые заявки | KPI (%) | Прогноз подключений |
РОМАШИНА | 19 | 30,63 | 6 |
НИЛОВА | 10 | 34,02 | 3 |
ТАРАСЕНКО | 29 | 25,81 | 7 |
ПЕТРОВ | 45 | 20,65 | 9 |
ФИЛИППОВА | 15 | 35.56 | 5 |
ТИМОФЕЕВ | 53 | 26,44 | 14 |
МОЛОТОВ | 12 | 29,89 | 4 |
КРАВЦОВ | 42 | 26,19 | 11 |
ЧЕРЕВКО | 33 | 27,71 | 9 |
ИВАНОВ | 42 | 28,05 | 12 |
Сумма: | 300 | 81 |
Теперь уже значение наиболее вероятного количества подключений равно 81. И это весьма ровная по KPI группа. А если есть ярко выраженный лидер продаж? Или много новичков с невысоким KPI, но большим количеством заявок? Значения могут разойтись еще больше.
Вывод седьмой: при прогнозировании количества подключений за определенный период для повышения точности следует использовать индивидуальные показатели каждого менеджера, а не совокупность по всей группе.
Что это нам дает? Вместо заключения.
Я рассмотрел варианты применения анализа данных для оценки эффективности менеджера. Показанные метрики позволяют дополнить привычные показатели, такие как KPI и оценка по чек-листам тремя доступными инструментами. В продажах статистика очень важна и каждый из участников процесса получает пользу:
Менеджеры — видя текущие статусы заявок, подключений и анализ причин отказов, будут самостоятельно выявлять зоны роста, повышая свою эффективность и меньше теряя заявок;
Наставники — оперативно оценивать прогресс менеджеров, выявлять наиболее необходимые для конкретного менеджера тренинги и мотивации;
Бригадиры (Супервайзеры) — анализировать текущую ситуацию по множеству факторов, включая индивидуальные показатели. Группировать менеджеров для повышения их эффективности. Подбирать наиболее эффективные базы и план работ учитывая индивидуальные особенности;
Аналитики данных — повышают качество прогноза по выполнению плана, заменяя стандартную линейную регрессию многофакторным анализом.
Источники:
Аналитика Power BI с помощью R и Python.Уэйд Р., издательство ДМК, 2021 год
Анализ данных при помощи Microsoft Power Bi и Power Pivot для Excel, Феррари А, Руссо М., издательство ДМК, 2021 год
Python для сложных задач: наука о данных и машинное обучение. Плас Дж. Вандер – СПб.: Питер, 2021.
Справочник по математике. Бронштейн И.Н., Семендяев К.А. М.: Государственное издательство физико-математической литературы, 1962 г.