Saturday, October 25, 2008

Ненаучно о пользе прогнозирования


Дима Давыдов, которого я систематически читаю (даже когда он пишет херню :)), в последнее время в борьбе "за честную экономику" несколько раз критически проезжался по такой вещи, как прогнозирование.

Я тут решил кратенько по теме пройтись, так сказать в защиту, без претензии на строгость изложения (см. тему :)).

На мой взгляд, "правильный" прогноз в бизнесе должен играть роль не столько ожидания определенного исхода, сколько роль снижения неопределенности в принятии решений. Для этого недостаточно самого по себе прогноза - нужны еще и граничные условия приемлемости прогноза, и собственно какие-то содержательные "выводы" из него. То есть не просто "мы хотим продать Х синхрофазотронов", а "мы хотим продать Х синхрофазотронов, при условии что (...); для чего мы должны предпринять такие действия, как (...)". При таком подходе, польза всяких прогнозов/планов в том, что они позволяют запустить исполнительную машину (если таковая есть :)), исключив из множества альтернатив при принятии решений те, которые не помогают достигать запланированного.

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

"Правильные" прогнозы могут быть достаточно точными и весьма полезными.

Расскажу пример. Мы продавали грузовые шины, и для краткосрочного оперативного контроля, как и многие другие трейдеры, использовали ряд простых отчетов-индикаторов (назовем их сводка продаж). Четыре года назад в этой сводке продажи на конец месяца прогнозировались, как простейший линейный тренд в Экселе. Точность была невысока, и что хуже всего, на протяжении месяца прогноз скакал как дурной, качели достигали иногда 40-50% (например, в пятницу видим прогноз на конец месяца 1000 единиц, в понедельник - уже 650, в вторник - 900 и т.п.).

Меня эти скачки заинтересовали, и захотелось их "убить". Я взял временной ряд данных продаж за длительный период и начал их копать. У меня было два сценария: правильный и "инженерный" :) Раз есть колебания, значит можно попробовать спектральный анализ - так я думал. Но в силу собственной лени (поднимать литературу, вспоминать), я решил поступить иначе - вначале "увидеть" сами колебания и подумать над их природой. Второй путь был легче, с него я и начал.

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

Дальше делом техники было сварганить простейшую прогнозную модель: отдельно вычислялись скользящие средние "продажи в будний день", "продажи в субботу" и "продажи в воскресенье", и суммировались на нужный день (конец месяца). Все это считалось одним SQL-запросом (не самым простым, но и далеко не шедевром). С одной стороны я понимал, что все это как бы шито белыи нитками (с точки зрения правильного матмоделирования). Но проверка модели на ретроспективных данных показала отличную точность - я брал первую неделю из "старых" продаж и по этой модели прицеливал продажи на конец месяца. Потом сравнивал с фактом. Погрешность не превышала 5%.

Но самый хит ждал меня впереди. Я пошел к директору показать работу новой модельки прогноза. Рассказал, что вроде как все чики-пики получается. Он решил меня пугнуть тестом типа в реальном времени: "А давай возьмем твою модель, и посмотрим как она по вчерашним данным сегодняшние продажи спрогнозирует" (тогда мы пользовались 1С, и видели данные далеко не в онлайне - ждали репликации). Я попытался объяснить, что проверять модель нужно на более длинных интервалах, и "сегодня на завтра" - это не прогноз. Но босс только покивал: "Ну да, но все же...". Ждем репликацию. Он меня вызывает. Прихожу в кабинет, а он на меня смотрит слегка расширившимися глазами - оказалось, что моя моделька случайно попала в яблочко, предсказав продажи с точностью до проданной шины.

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

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

Но! Но... Правильное планирование-прогнозирование - это не гадание на кофейной гуще, а своего рода установка "целевого вектора" с четким пониманием своих и желаний, и возможностей (ёпрст, как пафосно :)).

З.Ы. Большинство макро-прогнозов - политических, экономических, социальных - неправильные :)

З.З.Ы. Не слишком "многа букафф"?






























No comments: