Практика прогнозирования

Как оптимизировать затраты и бюджет на закупку?

0

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

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

Давайте рассмотрим несколько кейсов на каждом из этапов:
1. Формирование и оптимизация бюджета закупки – задача определения оптимального объема закупки на основе расходования материалов, на выходе сбалансированный бюджет закупок на N месяцев вперед.
2. Оценка волатильности цены и подбор оптимального сезона для закупки, некоторые товары имеют сезонный спрос. Определение сезонов с наименьшей ценой позволяет здорово оптимизировать затраты.
3. Проверка поставщиков – на аффилированность (явная, неявная — сговор), на надежность (возможности выполнить условия конкурса/потенциальное банкротство, отсутствие претензий со стороны третьих лиц, одновременное участие в большом объеме закупок).
4. Подбор поставщиков также ваша задача, важно сформировать пул надежных поставщиков по каждой номенклатуре закупаемой продукции. И никакого нарушения, если вы просто помимо открытого конкурса, отправляете уведомления еще и по своему списку, гарантируя себе, что закупка точно состоится и вы не потеряете время впустую.
5. Выявление подозрительных конкурсов – нужно проводить регулярный мониторинг подозрительных конкурсов через интегральную оценку по надежности поставщика, цене, длительности, снижении цены от первоначальной, отклоненным заявкам, подозрению на сговор и пр. Тогда настроенные контроли, позволят вам на ранних этапах выявить риски.
6. Контроль над уровнем цен – тут важно по каждой номенклатуре проводить регулярный анализ цен поставщиков на основе открытой информации на сайте, каталогах, или запрашивать предложения с определенной частотой. В этом случае вы будете точно понимать рынок и возможную цену. И тут детальные номенклатуры очень важны, потому как изменение на 1 букву в индексе может привести к увеличению цен в три раза, и вам отгрузят товар с бантиком, который вам не нужен, но задорого.
7. Контроль над объемом закупаемой продукции – вы не допускать затоваривание склада, информируя если объем закупаемых товаров слишком большой (в погоне за минимальной ценой покупается слишком большая партия товаров), либо наоборот объем закупаемой продукции слишком низок (что приводит к дорогой закупке).
8. Контроль над видами закупаемой продукции – ведите реестр товаров заменителей/наличия их на складах/ближайших складах, это позволяет оптимизировать бюджет закупок. Если покупаете технологические товары и услуги, важно отслеживать тренды, все быстро меняется, появляются новые более дешевые технологии, иногда малоизвестные вендоры поставляют более качественные продукты.
9. Объединение закупок между филиалами либо шэринг закупки на паях – самый изящный способ сэкономить, это купить партию, договорившись с кем-то кому нужна такая же продукция.

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

Давайте приведу несколько примеров, когда сложно выявить превышение затрат, но можно. Анализируя расходные договора на аренду и покупку ресурсов, я выявлял такие кейсы:
1. Закуплены коммутаторы с количеством портов много больше рынка конкретного региона, это иногда может быть дом, иногда подъезд, а иногда и целый населенный пункт.
2. Закуплены каналы на 50% превышающий нужный объем со скидкой 20% за единицу. То есть вроде бы дешевле на 1 Мбит, но все равно потратили лишних денег, иногда и просто скидку получили, остались в тех же деньгах, хотя могли бы сэкономить. Эксплуатация очень часто перестраховывается и не отслеживает рынок, рынок может быть падающим, а технари планируют развитие.
3. Критичный анализ утилизации ресурсов — вообще проанализируйте чем забиты ваши каналы, я находил и убыточный трафик и технологический трафик, который можно было пускать по дешевому маршруту, но так исторически сложилось.
4. Посмотрите критично на резервирование — я иногда находил такие маршруты, которые по 3 раза зарезервированы было по разным маршрутам.
5. Просто старые договора на аренду, по которым цены снизились на рынке в 3 раза, вроде сумма небольшая поэтому никто не обращает внимание.
6. Использование самого дорогого маршрута для пропуска — вроде бы и канал забит, но переключение трафика на дешевый маршрут и отказ от дорогого приносит дополнительную экономию.
И на самом деле много что еще.

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

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

Если вам интересна эта тематика — тогда вам сюда http://fsecrets.ru/service/

Хотите оставаться в теме самых интересных кейсов применения больших данных, подписывайтесь на telegram-канал https://t.me/fsecrets

Как создать рекомендательный движок для VOD

0

Сегодня немного поговорим об интересном опыте, который мы прошли создавая рекомендательный движок для продвижения VOD (Видео по запросу). Один из операторов проводил конкурс среди поставщиков подобных решений и мы с командой единомышленников решили сделать такой сервис с нуля самостоятельно. Мы изучили конкурентов на рынке и нашли для себя хорошую нишу, чем мы можем отличаться. Я выступал в качестве эксперта по моделированию и прекрасно понимал предметную область.

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

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

Также мы сделали социальную рекомендацию, когда пользователь видит что смотрит его сосед по дому или пользователь с похожим профилем потребления. Кроме этого, мы предложили инструмент для продвижения контента, когда рейтинг смотрибельности искусственно накручивается, чтобы продвигать определенный контент, но делать это незаметно для пользователей, чтобы не раздражать. Мы научились выделять контент из линейного контента на основе тегов EPG (электронной программы передач) и делать рекомендации линейного контента, с напоминанием когда будет его любимый фильм или передача или матч любимой команды. Мы научились формировать ленту по интересам пользователей, учитывать что в домохозяйстве может быть несколько членов семьи, а соответственно и профилей смотрения. Также мы научились строить рекомендации для приставок, с которых статистики смотрения не собирается, на основе профиля потребления Интернет с DPI, если абонент принадлежит оператору.

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

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

Если вам интересно такое решение, готовы провести демонстрацию.

Удачи вам и следите за обновлением в блоге!

Серия кейсов по аналитике — как из ничего получить что-то (кейс 3)

0

Кейс 3. Как увеличить эффективность кол-центра, оставаясь при том же объеме ресурсов и ФОТ.

Анализируя результаты работы исходящего телемаркетинга, заметил некоторые детали, а именно:

1. Не все операторы одинаково эффективны

2. Не все базы одинаково эффективны

3. Не все скрипты одинаково эффективны

4. Не на все оферы одинаково реагируют

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

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

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

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

Что измеряли:

1. Результаты конверсии, по сути количество заявок из эффективных разговоров

2. Время работы на трубке к общему времени работы оператора

3. Длительность диалога

4. Длительность эффективного диалога

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

В общем и целом интересное упражнение, которое позволило поднять эффективность в 2.5 раза при том же объеме ресурсов, не меняя состав и мотивацию операторов.

Кроме этого также было отмечено, что 60% результата, дает 10% штата. И тут надо понимать, что это отдельный тип людей, настоящие волшебники, этому можно научиться, но очень долго, а некоторым и не достижимо. Тут мы тоже начали думать, что с эти можно сделать, изменили систему мотивации, и по сути 30% состава, которое давали близкий к нулю результат, сразу отвалились, поэтому на эти места мы взяли «свежую кровь» и получили при том же ФОТ-е еще небольшой прирост результата.

Но самое интересное, что мы получили в результате сравнения с внешними кол-центрами, можно назвать это такой GAP-анализ, который позволяет вычленить отставания и сделать RoadMap по достижению лучших практик, мы увидели, что наши операторы работают на трубке всего 9% от общего рабочего времени, в то время как худший результат внешнего контакт-центра оказался 60%, лучшие показывали результаты на уровне близком к 90%. Начали разбираться и поняли, что контрагенты используют предиктивный набор, экономя время на времени ожидания соединения с потенциальным абонентом. Таким образом, мы получили инструмент увеличения эффективности более чем в 6 раз при том же объеме ресурсов.

Начиная эксперимент мы верили, что можно увеличить эффективность на 30%, что тоже было бы неплохим результатом,  однако результаты превзошли все наши ожидания. При том же объеме ресурсов можно добиться эффективности в 20 и более раз. Я думаю вам не раз приходилось сталкиваться с каким-то операционным процессом внутри компаний, который существует долгие годы, но с помощью аналитического подхода его эффективность может быть увеличена на порядок.

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

Удачи вам и максимальных результатов!

Какая точность считается нормальной?

0

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

Попробуем на примерах показать, что есть хорошо, а что есть плохо.

Пример 1

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

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

Пример 2

Модель на тестовой выборке показывает 87%. Такая точность может дать неплохие результаты на реальных данных, но они могут быть далеки от идеала по следующим причинам: недостаточно данных для обучения. Модель была построена на маленькой выборке, не являющейся репрезентативной, что обязательно скажется на качестве прогноза. Но если задача начать, то это тоже неплохо.

Пример 3

Модель показывает результат 97%. Модель должна показывать неплохой результат, если конечно вы не заигрались с ее переобучиванием. Но в некоторых случаях и такой точности может быть недостаточно. Когда это может произойти. Если переменная, которую вы прогнозируете может зависеть от случайного фактора, вес которого может быть значительный. Например, вы прогнозируете отток абонентов и знаете, что в 50% случаях отток происходит по причине переезда. Да, модель может выделить тех абонентов, которые были похожи на тех, кто переезжал, но это не значит что спрогнозированный абонент переедет. Отсюда нужно всегда выделять факторы, которые случайны и по возможности работать с меньшей выборкой, потому как прогнозировать абонентов, которые переедут не ваша задача, ваша задача прогнозировать абонентов, которые уйдут в отток.

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

Можно попробовать ответить универсально, если больше 95% то это хорошо, главное что вы прогнозируете ту величину, которую можно прогнозировать.

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

Удачи вам, будьте внимательны!

Особенности сезонности

0

Хотел бы сегодня поговорить об особенности применения моделей сезонной декомпозиции.

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

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

Давайте попробуем разобраться в каких ситуациях это происходит. Для универсальности и упрощения выявления факторов, я бы порекомендовал использовать классификацию CRTconnection(единовременные платежи), rent (регулярные платежи, основанные на ежемесячной фиксированной плате за месяц), traffic (платежи за конкретно потребляемый объем услуг).

С точки зрения Connection — тут все просто, как правило зависимость от изменения тарифов (например акции, распродажи и др. управляемые факторы) и сезонность достаточно очевидна, например, увеличение объемов продаж кондиционеров в летнее время. Поэтому достаточно проверить действительно ли менялись тарифы и товар подвержен сезонности.

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

Самым сложным для выявления и анализа является traffic — объемы потребления конкретных услуг, например, для операторов связи это объем исходящих соединений. Здесь куда больше факторов может влиять на тренд. В этом случае в обязательном порядке присутствует сезонная составляющая, но она может быть «зашумлена». Во-первых, может меняться количество клиентов, во вторых клиент может изменить структуру потребления и резко уменьшить или увеличить объем, тренды этого изменения могут совпасть с сезонностью, тогда их достаточно сложно распознать по сгруппированным показателям. Решение найдется в детальном анализе клиентской базы. Если trafic сезонно себя ведет, в этом случае тренд будет однонаправленным по всем клиентам. Для упрощения анализа выгрузки при увеличенной базе клиентов, достаточно выделить только тех клиентов, чей тренд изменился больше чем в среднем. В этом случае объем выборки будет много меньше и выявить клиентов, у которых появились аномалии в поведении, будет много проще, эта же выборка сможет быть использована для проведения работы с клиентами, например, по удержанию. Если у вас есть список клиентов, с которыми проводилась работа, вы всегда сможете определить как изменилась среднедоходная такса на единицу продукции, а значит скорректировать тренд в соответствии с этим изменением, исключив этот фактор из сезонной составляющей.

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

Удачи вам! Будьте полезны для своих компаний.

Вверх