Книга Роман с Data Science. Как монетизировать большие данные, страница 30. Автор книги Роман Зыков

Разделитель для чтения книг в онлайн библиотеке

Онлайн книга «Роман с Data Science. Как монетизировать большие данные»

Cтраница 30
Личный опыт

Не надо бояться. Свое первое хранилище я стал собирать в 2004 году в Ozon.ru. Мне в работе очень помогло обучение «MS SQL Server» в «Софтлайне», когда я еще работал в StatSoft. Этот сертификат хранится у меня до сих пор. Я ничего практически не знал об этом, но знакомство с SQL Server и опора на здравый смысл сделали свое дело – я создал своего первого «паука», который закачивал данные в наспех собранное хранилище. Мне никто не помогал в этом, но никто и не мешал, что очень важно. Схема хранилища модифицировалась, но ее концепт, заложенный в самом начале, остался прежним. В Wikimart.ru я, работая два дня в неделю, собрал первую версию аналитической системы с полной внутренней веб-аналитикой всего за два месяца. Если вы хотите лучше узнать принципы построения хранилищ, рекомендую обратиться к трудам Ральфа Кимбалла – я в них почерпнул много полезного.

А теперь о сложностях. К моменту моего ухода из Ozon.ru расхождение данных о продажах в хранилище с бухгалтерией составляло 4–5 %. При этом бухгалтерия закрывала период в течение месяца, а данные в кубах аналитической системы были уже в первый день следующего месяца. После ухода из Ozon.ru я встречался с операционным директором «Связного» – целая небольшая команда пришла пообщаться со мной по поводу «строительства кубов». Они очень удивились тому, что я сделал весь основной движок в одиночку. Это не я такой крутой, это вопрос допустимой погрешности системы. Чем меньшего процента расхождения с бухгалтерией мы хотим достичь, тем сложнее его получить. Допустим, нужно уменьшить расхождение с 4 до 3 %. Это потребует большего вовлечения меня, найма одного-двух человек, усложнения системы, а следовательно, увеличения управленческой «энтропии». Если мы хотим продолжать дальше – спуститься до двух процентов, это потребует уже на порядок больше усилий. Каждое уменьшение будет требовать усложнения и удорожания по экспоненте. Но что мы теряем? Мы теряем гибкость, мы теряем маневренность. Не нужно молиться на нулевую погрешность, ее никогда не будет. Помните про правило Парето – 20 % усилий дают 80 % результата, и не факт, что остальные 80 % усилий стоит затрачивать. Возможно, стоит потратить их на что-то другое, что сделает нас ближе к цели, а не стремиться к идеально вылизанным цифрам.

Глава 7
Инструменты анализа данных
Роман с Data Science. Как монетизировать большие данные

Как вы помните из предыдущих глав, классическая аналитика данных делится на два этапа – поиск гипотез и их статистическая проверка. Для формирования гипотез нам понадобятся описательная статистика, визуализация данных и доменные знания, например, какие события в компании произошли.

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

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

• Электронные таблицы – Microsoft Excel, Open Office Calc, Google Docs Sheets.

• Программные сервисы блокнотов, например Jupyter Notebook, Netflix Polynote, Google Colab, R studio.

• Визуальные инструменты – Tableau, Google Data Studio, Yandex Data Lens, Microsoft Power BI, Amazon QuickSight.

• Специализированные статистические пакеты – SAS, SPSS, Statistica, Knime, Orange data mining.

Электронные таблицы

Электронные таблицы – одни из самых распространенных инструментов анализа данных. Впервые я познакомился с ними еще в 1997 году, когда делал таблицы для школьного реферата по географии в Quattro Pro, чем произвел впечатление на учительницу географии. Я много дней ходил на работу к отцу, который в то время занимался IT-технологиями, набирал текст на клавиатуре и масштабировал карты стран на ксероксе. В итоге получился полностью напечатанный реферат, что было очень примечательно в те времена, особенно в Твери. Затем я работал c Microsoft Excel, потом в Google Sheets, которые сделали очень легкой совместную работу в облаке. В чем плюс электронных таблиц:

• низкий порог входа;

• все делается интуитивно и наглядно: добавление нового столбца или формулы;

• есть возможность анализа сводных таблиц (pivot) – самый мощный инструмент генерации гипотез;

• очень легко делать графики.

Основной минус – электронные таблицы не предназначены для автоматизации задач с использованием программирования. Когда такой проект усложняется, его поддержка превращается в ад для разработчиков. Внутри электронных таблиц появляется много программного кода, который находится вне системы контроля версий, поэтому отслеживать его изменения невозможно. У меня был опыт «изготовления» сложных отчетов для еженедельных собраний директоров в Ozon.ru и Wikimart.ru на основе электронных таблиц. В Ozon.ru к таблице подключались источники ручного ввода данных менеджерами компании, OLAP-кубы, SQL-скрипты. В определенный момент отчет обновлялся программным способом и сохранялся в папку с нужной датой. В Wikimart.ru плюс к тому аналитики вручную корректировали отчет и конвертировали его в PDF-файл для презентаций. Сейчас я бы по максимуму отказался от этого в пользу более управляемых решений, пусть и менее гибких, чем электронные таблицы. И договорился бы с менеджментом об изменении шаблона отчетов так, чтобы сделать его более инженерным способом.

Сервисы блокнотов

Программные инструменты, которые называют блокнотами (notebooks, рис. 7.1), могут быть очень гибкими и мощными в умелых руках. Они получили популярность благодаря широкому


Роман с Data Science. Как монетизировать большие данные

Рис. 7.1. Блокнот Jupyter


использованию языков программирования R и особенно Python для анализа данных. Блокнот запускается как веб-сервис на сервере или вашем компьютере. Он состоит из ячеек текста с программным кодом, ячейки можно запускать произвольно, весь вывод данных (графики, статистики, сообщения об ошибках) появляется под ячейкой. В ячейках можно писать тексты, делать свои заголовки. В общем, можно делать полноценные научные отчеты. Есть два наиболее известных публичных сервиса-блокнота – Google Colab и Kaggle Notebook, где вы можете попробовать этот инструмент совершенно бесплатно. В них также доступны мощные GPU-видеокарты, что позволяет делать задачи с использованием глубоких нейронных сетей (deep learning). Лично мне понравился сервис Google Colab своей простотой и мощностью, когда я проводил эксперимент по созданию deep-fake-видео.

Вход
Поиск по сайту
Ищем:
Календарь
Навигация