|
|
|||||||||||||||||||||||||||||
|
Личный опыт: история одного знакомства с OLAPИсточник: cnews
Роман Рыженко, руководил ИТ-отделом омской сети супермаркетов, поделился личным опытом обращения к OLAP-кубам. По его убеждению, технология способна помочь решать совершенно разнонаправленные задачи в неожиданных областях бизнеса. Простота и скорость, минимум инвестиций прикладываются. С данной технологией я проработал всего 2 года, но за все 20 лет моей работы это знакомство было, пожалуй, одним из самых интересных в моей практике. Я с непониманием смотрел на внутренности архитектуры куба, который мне достался по наследству, и испытывал глубокие сомнения в целесообразности этой штуки в рамках работы нашей сети магазинов. Однако на основе маленького, примитивного куба были построены с десяток отчетов, которыми народ пользовался, и пришлось с этим разбираться. Результат внедрения этой технологии превзошел все ожидания - и мои, и руководства, и менеджеров, да в общем-то, всех в компании. Теперь я искренне не понимаю предприятия, которые не владеют таким инструментом, и попробую донести суть на реальных примерах. Википедия дает лаконичный ответ на вопрос: "Что такое OLAP?" Это технология обработки данных, заключающаяся в подготовке суммарной (агрегированной) информации на основе больших массивов данных, структурированных по многомерному принципу. Реализации технологии OLAPявляются компонентами программных решений класса Business Intelligence. Лаконично и правильно, но сухо и не отражает всех достоинств технологии. И эти достоинства я постараюсь описать на реальных примерах, а также на примерах возможного применения. Вначале расскажу вкратце, чтобы зародить интерес у руководителей к данной теме. OLAP - не просто модная игрушка. Это мощнейший инструмент ведения бизнеса, который позволяет видеть любой, даже самый мельчайший аспект работы предприятия. И не просто видеть все детали, а мгновенно оценивать зависимости одной цифры от другой. К примеру, у нас работает менеджер Иван, мы в течение нескольких минут можем полностью оценить всю его деятельность: сколько он принес оборота, сколько реальной прибыли, сколько у Ивана контрагентов, сколько поставщиков, сколько Иван отсутствовал на рабочем месте, как менялась динамика закупочных и розничных цен… Список можно продолжать до бесконечности, но самое главное во всем этом другое. Сейчас будет главный бальзам для любого директора. Чтобы увидеть все эти цифры, вам не нужны программисты - достаточно на троечку знать MS Excel и понимать бизнес-процессы в вашем предприятии! На самом деле программисты, конечно, все равно нужны, но уже не нужно ждать неделями, пока вам сделают очередной отчет, который еще пару месяцев будут отлаживать, а в итоге он окажется совершенно не тем, что было нужно. В качестве реального примера могу привести случай из жизни. Наш директор сети долго пытался нам объяснить, какой ему нужен отчет по учету бонусов, но мы откровенно не понимали, что же он хотел. Совещание закончилось банально: директор в попытках объяснить, что он хочет, демонстрировал, какой результат он желает видеть в таблице, и сам сделал отчет, который просил. Еще один важный момент - это понять, когда пора внедрять BI. Тут все просто: если предприятие выросло за пределы одного офиса, если отчеты, предоставляемые вам на стол, не дают полной картины деятельности, если вы чувствуете, что ваши подчиненные вас дурят, и вам интересно читать этот опус, то скоро OLAP станет вашим главным помощником ведения бизнеса. BI или OLAP?Теперь подойду ближе к техническим и прочим аспектам в отношении BI или, если по-русски, бизнес-аналитики. Сегодня на рынке BI-систем происходят удивительные вещи. Многие компании-интеграторы и разработчики прочувствовали новый модный тренд и героически ринулись осваивать этот рынок. И на самом деле, появление BI-инструментов я могу сравнить с появлением компьютеров как таковых. Еще недавно вся бухгалтерия жила на деревянных счетах, а теперь у нас компьютеры, "1С" и прочие блага прогресса. BI-технологии, собственно, являются таким же качественным шагом вперед. Инструментов появилось превеликое множество: DiAna, Oracle Hypereon и так далее, весь спектр можно найти по запросу в любом поисковике. Давайте попробуем подойти к вопросу здраво и понять, что же нам пытаются продать за эти деньги? Деньги замечу, не то чтобы не маленькие, а настолько большие, что такие затраты, могут отпугнуть даже владельцев крупных холдингов. Так вот, все эти предложения являют собой, во-первых: красивую обертку, во-вторых: некую модель бизнеса, которую разработчик посчитал верной. Подходит эта модель к вашему бизнесу? Неизвестно. Будет ли она эффективна? Неизвестно. Я уверен, что если ваш бизнес процветает, но вы решили внедрять некую систему бизнес аналитики, то вряд ли захотите менять свою бизнес-модель на некую чужую, предлагаемую вам. Также стоит помнить, что рынки на территории РФ крайне разные. Товар в группе АА в одном регионе может быть в группе СС в другом и наоборот. Так стоит ли всецело полагаться на чужую бизнес-модель? Ведь, так или иначе, в основе любого готового решения лежит такая же база данных OLAP. Скажу сразу, когда мы оценивали предложения по продуктам бизнес-аналитики, мы все эти вопросы изучали очень и очень серьезно. И в итоге, как и многие другие компании, пошли своим путем, а в частности остановились на том, что нам предлагает небезызвестная корпорация Microsoft. А предлагает она нам конструктор "сделай сам"! Что, вне всяких сомнений, в первую очередь вызывает, как минимум, непонимание, и, как правило, отторжение самой идеи. Ведь нет ни одной красивой картинки, да и вообще собственно нет ничего, и непонятно что с этим вообще делать. Программисты просто впадают в транс от поставленной задачи, так как нет даже мало-мальски внятной документации и цель не ясна как таковая. Но… на самом деле все не так страшно. Буквально через пару-тройку недель после появления первого примитивнейшего куба все неожиданно понимают, зачем в Excel так много функций и кнопочек, казавшихся ненужными. С OLAP они обретают совершенно иной смысл! Тут нужно сделать небольшое отступление. Почему Excel? Во-первых, он дает возможность строить отчеты на лету и как угодно. Во-вторых, в Excel могут работать все, даже с базовыми знаниями. И уже когда мы получим первые макеты важных для нас отчетов, их можно крайне малыми затратами перенести в Access, C# или делать представления на корпоративном сайте. Стоит отдать должное, весь этот винегрет ПО прекрасно интегрируется с OLAP -кубами того же вендора. В итоге у вас будет своя система в шикарной обертке, и вы сэкономите минимум пару десятков миллионов рублей за внедрение готового решения. О реальном примененииДабы не вдаваться в теоретические рассуждения, сразу расскажу о реальном случае из жизни. Мой друг работает в банке, и когда я ему объяснял, что без OLAP жить никак нельзя, он искренне возмутился: "Да куда его в банке применять? У нас своя специфика и нам это вообще не нужно ни с какой стороны". Я, не задумываясь, привел простейший пример: пришел с улицы человек, получить кредит. Вопрос: как оценить вероятность невозврата? С OLAP это решается в течение нескольких секунд. Выбрав текущее место работы человека, мы тут же видим процент невозвратов потребительских кредитов по организации, где работает человек, что сразу нам даст представление о стабильности доходов этого человека. Так же можно мгновенно узнать все составляющие истории человека и даже отношения определенных фактов к другим историям похожих займов, чтобы оценить вероятность невозврата кредита. Конечно, я верю, что банки используют невообразимо умный софт для оценок рисков, но статистика по невозвратам кредитов говорит совсем другое. Да и факт остается фактом - обработать все возможные варианты в разумный период времени обычная реляционная база не в состоянии. А вот для OLAP это простейшая задача, главное - понимать, что мы хотим увидеть. Мотивация персонала или KPIТут OLAP просто вне конкуренции. Когда мы включили расчет премиальных начислений в связке "1С" плюс Analysis Services, кадровики устроили праздник. Мы избавили их от ужасной рутинной работы и окончательно искоренили все возможные разночтения в работе категорийных менеджеров. Расчет эффективности стал открытым, простым и понятным. Парирую возможный вопрос: можно ли обойтись без OLAP для такой несложной задачи? Конечно, можно. Только нужно здраво оценить следующие вопросы: сколько будет идти расчет начислений в "1С"? Ведь по каждому менеджеру будет необходимо провести анализ всего товарооборота. Что будет, когда утром каждый сотрудник начнет смотреть свои показатели за прошедший день? Какая нагрузка ляжет на программистов, когда начнутся вопросы, откуда появилась та или иная цифра? Ответы более чем очевидны. Серверная инфраструктура просто не выдержит количества запросов в базу, а программисты, вместо прямой работы, будут каждый день заниматься анализом продаж. OLAP же позволяет в данном случае каждому видеть свой набор нужных данных и все зависимости в расчетах от товарооборота или других фактов, которые влияют на коэффициенты производительности. Кстати, я забыл сказать об одном интересном факте. Почему OLAP дает доступ к данным со скоростью несоизмеримо более высокой, чем обычная реляционная база? Коротко говоря, OLAP считает все заранее и хранит уже готовые результаты, хотя, само собой разумеется, технически все намного сложнее. Служба безопасностиНеожиданный пункт. Казалось бы, какая связь? Но, тем не менее… Предположим у вас свой розничный магазин. Вы уже столкнулись с воровством ваших же продавцов. И скорее всего или уже купили или собираетесь купить систему кэш-контроля. Однако OLAP и тут позволит вам не просто сэкономить деньги на ПО и серверы, а еще и снимет любые ограничения на анализ проходящих через кассу товаров. Поверьте, все действия кассиров видны как на ладони. Любые отклонения и аномалии в процессе продажи видны сразу. А так как у нас есть время пробития чеков и все события, прошедшие через кассу, найти кассира-воришку - минутное дело. Простой пример: сумма чека, к примеру, 300 руб., а пакетов в покупке целых два. Заходим на видеорегистратор, выбираем нужную камеру, отрезок времени и наблюдаем за кассиром. Как правило, видим любимый способ воровства: "пронос товара мимо сканера штрих-кода". Также мы можем всесторонне анализировать все факты с отложенными или сторно-чеками (отмененные чеки). Другой простой пример - это коррупция категорийных менеджеров. Суть схемы простая: заключается договор на поставку товара по завышенной цене, разницу между ценой в договоре и реальной стоимостью менеджер получает наличкой от поставщика. Приемщики товара, как правило, бесправны и принимают товар "как есть", а бухгалтерия оплачивает счета вообще не глядя. С помощью OLAP подобные факты всплывают мгновенно. Тот факт, что сумма убытка тоже будет показана одним движением мыши, уже идет как приятный бонус. Ревизии и воровство товаров сотрудниками тоже становятся прозрачными. Нам достаточно сравнить количество списаний с работой определенных смен персонала в магазине, чтобы в нужный момент служба безопасности проверила сумки уходящих с работы сотрудников. Розничная торговляВ розничной торговле OLAP просто незаменим как класс. Изменения в законодательстве, конъюнктуре рынка происходят с такой скоростью, что для того, чтобы быть "в тонусе", нужно или содержать огромный штат программистов и аналитиков или платить немалые деньги компаниям-интеграторам. Однако наличие OLAP и персонала, знающего Excel даже на низком уровне, снимает массу проблем. Преимущества мгновенной обработки данных в любых измерениях очевидны - ABC- и XYZ-анализ делается за пару минут в любых разрезах, будь то конкретный товар, группа товаров и даже менеджеры и целые магазины и даже регионы! Притом рейтинг можно строить по любым показателям: оборот, маржа, убытки, - все, что вам придет в голову. Зачастую становятся очевидными факты, о которых никто даже не подозревал. К примеру, магазин с самым высоким оборотом является лидером по убыткам, связанным со списанием товаров по истечению срока годности, и магазин не такой уж и прибыльный, как казался. Контроль полочного пространства… Отдельная тема и снова очень дорогое программное обеспечение, и особые требования к работе с этим ПО (или же руководство попросту формирует целый независимый отдел, который что-то и как-то пытается анализировать, с целью выжать максимум маржи из полочного пространства.) Так вот, это, мягко говоря, крайне неэффективно. OLAP позволяет проводить мониторинг полочного пространства с потрясающей легкостью. И для этого не нужно писать дополнительные отчеты. Эффективность любой полки будет видна в обычном ABC-анализе, а прибыль - вплоть до копейки. Манипулируйте расположением товаров сколько угодно, а результат будете видеть каждый день. Сравнивайте с прошлыми периодами и принимайте решение. Из реальной практики: мы просто убрали один холодильник с мороженным и поставили паллету с фруктами. Выручка выросла на 60 тыс. руб. в сутки. А на то, что бы выяснить, что холодильник не приносит прибыли, понадобилось несколько движений мышкой. Ассортиментная матрицаНе буду повторять термины вроде "товары-локомотивы", "статусные товары" и т.д. Ведь методологий и реализаций управления Ассортиментной матрицей превеликое множество. Но вот небольшая задачка для ваших программистов: "Мы хотим видеть матрицу во главе с ABC-анализом, остатки, дату последнего и следующего прихода по каждому товару. И в разрезе десятка магазинов, и чтобы магазины можно было выбрать и сгруппировать по районам и менеджерам. И любым параметром мы хотим манипулировать как угодно, и отчет должен выдавать результаты в течение пары секунд". Видимо, не стоит комментировать цену такой задачи. Даже скорость расчета ABC по десятку магазинов уже поставит крест на задаче при использовании обычной реляционной базы. А вот для OLAP это рядовая задача… И конечно, нельзя переоценить эффективность правильно созданной Ассортиментной матрицы. Множество красивых теорий разбились в прах из-за персонала, отвечающего за сбыт товара. От категорийного менеджера, который ни разу не соизволил посмотреть, как и где выставлен его товар, до директора магазина, просто презирающего конкретную торговую марку и давшего распоряжение не выставлять товар в торговый зал. Последний пример - это реальный случай из жизни, когда товар одного производителя везде был в группе BB, но в одном из магазинов товар ушел в группу С. Без OLAP мы бы просто не заметили среди тысяч позиций этот факт и вывели товар из ассортимента. МаркетингИ снова "неожиданно". Как аналитика может быть связанна с маркетингом? Очень просто. Вы проводите акцию, а как оценить ее результаты? Объем данных, которые необходимо проанализировать, не просто огромен. Он гигантский. Мало того что необходимо учесть множество факторов, главное - понять, смогли ли мы привлечь новых покупателей и какую прибыль мы извлекли. Как это сделать? Обычными средствами, пожалуй, никак. Ведь для каждого конкретного товара необходимо строить отдельные отчеты, в которых будет отражено множество показателей, затронувших не только единичный товар, но и остальные сопутствующие группы. К примеру: мы продавали по акции водку, я хочу знать, как это отразилось на других сопутствующих товарах (пельмени, огурчики и т.д.) А какие пельмени покупали лучше вместе с водкой? И стоит ли компенсировать в следующей акции потери на марже от водки поднятием цены на пельмени, которые покупались наиболее активно в одной покупке? Уровень абстракции в подобных анализах таков, что ни одна реляционная база просто не даст возможности их провести. Но OLAP дает возможность видеть все течение акции, более того, вы сможете прогнозировать следующую с такой легкостью, которую пока даже не можете себе представить. Корректность отчетовОтдельная и несколько неоднозначная тема, которая может вызывать массу негодования и вопросов. Сразу оговорюсь, что реальная практика контроля работы ПО (программного обеспечения) предприятия может быть осуществлена только с помощью внешних средств вроде Excel. (Снова нужно сделать небольшое техническое отступление и напомнить, что мы работаем не с готовым коробочным продуктом, а с одной из разновидностей базы данных, позволяющих нам очень быстро получать данные в любом разрезе без навыков программирования). И теперь самый каверзный вопрос: а уверены ли вы, что отчеты, которые вы видите в своих программах, верны? Мы были уверенны, что да, пока одна из сотрудниц бухгалтерии не сделала небольшой отчет в Excel, по начислению НДС. Внезапно цифры оказались совсем другими. Беда жила с нами много лет, и ее никто не замечал, так как все были уверены, что программа, с которой много лет работает сеть, правильная. Но когда-то программисты ошиблись, и при расчете ставки НДС забыли проверять поставки товара, и брали НДС только первой поставки. Думаю, не стоит объяснять разницу в ставке 18% и 10% на больших оборотах, и какой убыток понесла сеть за несколько лет. Так же стоит отметить проблему с округлением. Некоторые программы принципиально обрезают число знаков после запятой. Но в отношении весового товара это реальная проблема. Вроде бы и копейки, но бухгалтерский и управленческий учет никогда не сойдутся, если ваша учетная программа делает агрессивное округление. А если у вас предприятие общепита, то речь будет идти уже о тысячах рублей каждый месяц. Так как списанные граммы сырья по одной карте готового блюда всегда создают в базах данных цифры с бесконечным количеством цифр после запятой. Вы пробовали проверять эти цифры? Думаю, нет, так как у вас попросту нет инструментов для этого. А вот Excel, подключенный к кубу OLAP, вам их покажет. И если вы считаете, что разница будет в копейки, то вы очень сильно заблуждаетесь. Оптовая торговляОптовая торговля несильно отличается от розничной, кроме рисков. Одно дело списать 5 литров просроченного молока, а другое - вагон. Можно, конечно, свалить всю вину на менеджеров, не сумевших продать этот вагон, а можно попытаться сделать прогноз, сколько мы продадим в нужный период. Как предугадать продажи в будущем периоде? Вне всяких сомнений, менеджеры должны обладать незаурядной интуицией и мастерством, однако помощь OLAP и тут незаменима. И снова не буду что-либо изобретать, а опишу реальный случай, как можно снизить потери на больших объемах. Ежедневно наша сеть делала заявки на поставку готовых блюд, салатов и суши. Все шло своим чередом, и все "приключения" описывать смысла нет, так как они и так хорошо известны владельцам этого замечательного бизнеса. Но мне стало интересно проанализировать причину регулярных списаний большого количества готовой продукции. Так вот оказалось, что, помимо интуиции, менеджерами применялся календарный, расчетный период за прошлый год. Более того, календарный период применялся и при составлении заказов на коммерческую продукцию! Я выбрал группы товаров, вывел посуточную реализацию в штуках и граммах, начал сдвигать столбцы в MS Excel, относительно друг друга, получив крайне интересный результат (наверное, для аналитиков я не открою Америку, но почему то я еще не встречал применения данной методики). Итак, результат оказался очевидным: в каждом году существует сдвиг числа и дня недели покупательского спроса по сравнению с предыдущими годами. К примеру, продажи 23 марта 2010 г. на 99,9% совпадают с количеством продаж 25 марта 2011 г. и 27 марта 2012 г. Даты я привел произвольно, так как нужно учитывать, в первую очередь, дни недели и смещение праздников. Таким образом, я смог убедить, менеджеров о необходимости следить за показателями в рамках "плавающего" учетного периода, и мы резко снизили потери по списаниям собственной продукции. Интернет-провайдерыКак можно применить OLAP в индустрии передачи данных? И тоже все неожиданно просто. Первый очевидный плюс - это инструмент для маркетологов по созданию тарифных планов. Для экономистов это расчет затрат и доходности клиентских групп. А вот с точки зрения безопасности, пожалуй, просто идеальный инструмент по выявлению источников DDOS и прочих атак. Считается, что данный вид хулиганства практически не раскрываем. Но "практически" не означает, что совсем не раскрываем. Всегда можно найти инициатора, но вот объем данных нужно проанализировать гигантский. Среди миллиардов записей информации о трафике найти последовательность действий тысяч пользователей - в реляционной базе данных задача более чем сложная и почти невыполнимая. Но для OLAP ваши несколько миллиардов записей, просто игрушка. Не нужно писать SQL-запросы длиной в несколько страниц, не нужно ждать их выполнения и строить догадки, что и с чем сравнивать. Просто "крутим" наш набор данных в любом измерении, как "кубик Рубика", и находим то, что нам нужно. СтроительствоСнова напомню, что OLAP - это одна из реализаций баз данных, которая за счет своей идеологии, многомерности позволяет соединять в себе огромное количество всевозможных данных из любых источников и с огромной скоростью манипулировать этими данными. Какие основные программы используются в индустрии строительства? Как правило "1С", "Гранд смета", Project, и, конечно, всеми любимый Excel. Возможно ли объединить функционал этих программ в одно целое? Можно. Ценой работы сотен людей, ну или пары программистов, которые правильно объединят данные всех систем в одну многомерную базу данных OLAP. В итоге средствами Excel, Access (или в другой удобной для нас программы) мы решаем главные проблемы нашего строительного предприятия: учет затрат, планирование и анализ фактов выполненных работ. Вы уже пробовали дать задание программистам, сделать в "1С" отчет по учету оплаченных счетов поставщикам за материалы, которые никогда не были оприходованы на склад? Результат ясен. Отчет вы не увидите. Таковы особенности "1С". В OLAP вы сможете просматривать перечень таких материалов и их стоимость на каждый день, месяц, квартал или год - материалов, по которым мы платили сотни тысяч рублей каждый месяц, находить ответственных лиц и вообще всю историю движения. Так как для OLAP-базы требуется особая подготовка данных, не допускающая вольностей и разночтений, мы получаем возможность быстро оценивать стоимость своих контрактов и контрактов субподрядчиков. Получать в считанные секунды такие отчеты, как график выполнения работ, потребности ресурсов, бухгалтерские отчеты БДДС, БДР, прогнозировать график финансирования, вести учет и непрерывный анализ рисков, а также планировать численность и загрузку персонала. Так как в OLAP мы можем объединить любые наборы данных, такие отчеты, как план-факторный анализ, анализ производительности труда категорий работников, анализ освоения прямых затрат, доли накладных и прочих расходов, становятся достаточно тривиальными задачами. Путем нажатия нескольких кнопок мы в считаные секунды видим, что у нас происходит на каждой строительной площадке в любой период времени, анализируем динамику выполнения заданных объемов и поглощения ресурсов. То есть мы получаем инструмент, позволяющий видеть работу нашего бизнеса вплоть до мельчайшего винтика, как в прямом, так и в переносном смысле. Отмечу, что никоим образом не хочу делать рекламу известному вендору. Скорее это реклама технологий многомерных баз OLAP в разрезе конкретной реализации. Хоть и появилась технология достаточно давно, время ее только наступает, и пропустить момент внедрения - может означать резкое технологическое и, как следствие, конкурентное отставание в ближайшем будущем. Опыт и интуиция руководителей и менеджеров в ведении бизнеса станут недостаточными на определенном этапе развития компании, а понять, куда нужно двигаться дальше и где компания отстает от конкурентов, могут помочь только новые информационные технологии. Сама по себе внутренняя технология OLAP неимоверно сложна для понимания, и построение кубов требует перестройки мышления программистов, но мы ведь знаем, что нет ничего не возможного. Ссылки по теме
|
|