Какими бывают аналитические системы

Я часто собеседую людей, которые хотят работать аналитиками данных. Когда кандидат говорит мне, что хочет заниматься «базами данных» или, боже упаси, «машин лёрнингом», я сразу прошу рассказать, что это такое. Довольно редко кандидат может хорошо объяснить суть того, чем он хочет заниматься, и еще реже может рассказать что-то о смежных системах и терминах в области работы с данными.

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

Электронные таблицы (Excel и пр.)

Электронные таблицы, или Microsoft Excel (Google Sheets, Open Office и т.п.) — наверняка самый знакомый вам класс систем по работе с данными. Он же — самый распространенный: умение работать в Excel требуется при устройстве на любую офисную работу.

На нашем сайте для простоты я часто буду называть этот класс систем «Экселем» — так сразу понятно, о чем идет речь.

Скриншот из Microsoft Excel для Mac

Можно подумать, что электронные таблицы для «новичков» и «офисного планктона», а серьезные люди, занимающиеся анализом данных, используют что-то посерьезнее. Это не так: «Эксель» используется всеми, в том числе и людьми, работающими с большими объемами данных. Он обладает очень широким функционалом и даже собственным языком программирования (VBA). Эксель очень удобен, когда нужно, быстро проанализировать небольшие наборы данных, выполнить над ними какие-то простые действия. Это великолепный инструмент и сейчас от любого, кто работает с данными, ждут уверенного владения Экселем.

Эксель должен стать вашим лучшим другом и помощником. Хорошо освойте Эксель прежде чем изучать другие вещи.

В последнее время популярность приобретает Google Sheets — аналог Экселя, входящий в офисный пакет от Google. Специфика его использования немного иная: там менее удобно анализировать большие объемы данных, зато он работает прямо в браузере и позволяет нескольким людям работать в одном документе одновременно. Нельзя сказать, что Google Sheets имеет ограниченный функционал — там тоже есть встроенный язык программирования, а еще очень много подключаемых дополнений (add-ons).

Что подразумевается под «Опытным пользователем Excel»?

Очень часто в требованиях к кандидатам написано «Опытный пользователь Excel». Так же часто кандидаты пишут у себя в резюме «Опытный пользователь Excel». И еще чаще в ходе собеседования выясняется, что под «опытным пользователем» могут подразумеваться совсем разные вещи.

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

  • Красиво оформлять таблицы в Экселе, чтобы их было удобно анализировать визуально. Числа должны быть отформатированы с разделителями, соответствующими их сути; все закономерности — подсвечены (см. «Условное форматирование«) ну и прочее.
  • Быстро изучать данные. Научитесь находить и чистить дубликаты. Применяйте к таблицам фильтры.
  • Работать со сводными таблицами. Это нужно как для изучения данных, так и просто для визуализации.
  • Визуализировать данные. Освойте основные типы диаграмм и умейте быстро применять их к массивам данных. Попытайтесь выработать «рецепты»: какая диаграмма что может сказать вам о данных? На нашем сайте будет много статей про это.
  • Вставлять данные из разных источников. Научитесь импортировать данные в свою книгу из CSV, из какой-нибудь базы данных. Когда вам присылают какой-нибудь файл, вы должны знать, как его быстро импортировать для изучения в Эксель.
  • Знать формулы. У вас должен быть багаж формул по работе с числами и с текстом, которые вы понимаете и можете легко применить. Очень важно уметь преобразовать текст в дату или в число, если вы будете работать с данными, полученными из внешних источников.
  • Уметь делать ВПР (VLOOKUP в английской версии). Это такая формула, которая позволяет «соединить» две таблички по какому-то общему полю. Обязательно изучите как она работает — нужна в работе постоянно.
  • Знать основы VBA. Не обязательно быть программистом, но написать простенькую функцию уметь нужно. Попрактикуйтесь немного, а еще создавайте свой альбом полезных для вас функций VBA, которые отсутствуют в стандартном Экселе, чтобы в случае чего быстро их использовать.
  • Пользоваться гуглом. Ставлю в этом списке последним, но на самом деле это первый по важности навык. Если вы что-то не умеете в Экселе — нестрашно, если вы можете за минуту найти ответ в интернете.

На нашем сайте не предполагается размещения курсов освоения Экселя «с нуля». Есть много других хороших сайтов, например, planetaexcel.ru.

Базы данных

С одной стороны, термин «база данных» звучит понятно. Это место, где данные хранятся в какой-то структуре (упрощенное определение, но в целом верное). Но, посмотрев на количество разделов в этой статье, можно подумать: да таких мест, оказывается, куча. Что же тогда база данных?

Если мы говорим о базе данных, или, по-научному, системе управления базами данных (СУБД), то речь идет действительно о сервере, который хранит в себе данные в заранее заданной структуре и раздает эти данные «клиентам», в роли которых могут выступать разные системы (ERP-системы, бухгалтерские и пр.) или люди, обращающиеся к базе данных.

Чаще всего базы данных «лежат» именно под какими-то системами управления процессами на предприятии. Например:

  • CRM-системы: Oracle Siebel, AmoCRM
  • ERP-системы: SAP ERP, Microsoft Dynamics
  • Системы от 1С: Бухгалтерия, Управление торговлей, ERP и прочие
  • Системы документооборота, любой сайт и т.п.

Если вы работаете с какой-то информационной системой — от сайта до сложной ERP-системы, то под ней «крутится» база данных. Это самый удобный способ хранить данные и обращаться к ним.

В случае с информационными системами все понятно: человек взаимодействует с интерфейсом этой системы, а система сама как-то считывает данные из СУБД и записывает введенные пользователем.

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

Что нужно знать о базах данных

Если вы не аналитик данных (и не хотите им стать), то вот рекомендуемый минимум:

  • Помните о том, что ваша информационная система наверняка работает на какой-то СУБД, поэтому для того, чтобы получить информацию для дальнейшего анализа, можно сделать выгрузку напрямую из СУБД. Многие считают, что для выгрузки информации можно пользоваться только интерфейсом самой системы (каким-нибудь модулем «Отчеты»). Возможность подключиться напрямую к базе данных существенно расширяет ваши возможности и позволяет использовать другие средства — от Экселя до систем BI.
  • Узнайте, какие СУБД есть у вас в компании и как вы к ним сможете подключаться, используя имеющиеся средства анализа данных — например, из Экселя. Это может существенно упростить вашу ежедневную работу.
  • Освойте SQL. Это легкий в освоении язык запросов, он гораздо проще чем языки программирования. При этом его знание на базовом уровне если не поможет вам в повседневных задачах, то наверняка увеличит ценность вашего резюме. Для изучения можете использовать сайт sql-ex.ru.

Если вы хотите профессионально работать с базами данных, то вот что вам пригодится:

  • Хорошее понимание реляционной модели. Вы должны уметь своими словами объяснить, для чего она нужна.
  • Умение проектировать простые базы данных. Поищите, что такое концептуальная, логическая и физическая модель данных. Изучите ER-диаграммы и научитесь их рисовать. Вот, например, хороший бесплатный инструмент для составления диаграмм.
  • Продвинутое знание SQL. Вы должны уметь делать не только SELECT-ы, но и понимать, как они работают.

Для тех, кто хочет стать продвинутым пользователем БД и научиться их проектировать, я рекомендую решить следующую практическую задачку:

  1. Возьмите какую-нибудь тему — например, база данных библиотеки или поликлиники. То есть, нужно сделать БД, которая хранила бы информацию обо всех ключевых процессах, протекающих на выбранном предприятии.
  2. Нарисуйте концептуальную, логическую, физическую модели данных для выбранного предприятия. Проверьте себя на ошибки.
  3. Установите какую-нибудь СУБД себе на компьютер. Есть бесплатные версии — например, Microsoft SQL Server Express с Microsoft SQL Server Management Studio или PostgreSQL. Важно, чтобы у вас была сама работающая СУБД и наглядный редактор, позволяющий создавать таблицы, выполнять SQL-запросы и так далее.
  4. Материализуйте ту БД, которую ранее спроектировали, на работающей СУБД. Если вы сделали какие-то ошибки при проектировании — наверняка они в этот момент и всплывут. Заполните таблицы какими-нибудь тестовыми данными.
  5. Придумайте несколько задач, с которыми сталкивается выбранное предприятие и постройте SQL-запросы для их решения. Например, запись пациента в поликлинику: сначала нужно получить информацию о свободном времени (или «талонах») к нужному врачу, потом получить информацию о пациенте, затем создать запись в таблицу с приемами…

Решение подобного кейса для освоения СУБД будет гораздо полезнее, чем решение 30 задачек на sql-ex, потому что в этом случае вы столкнетесь со всеми этапами проектирования базы данных и поймете как она работает.

Хранилища данных (Data Warehouse)

Если компания большая, то в ней работает несколько разных информационных систем. Бывает так, что одна система (например, по учету торговых операций) установлена в разных филиалах одной компании по отдельности (так часто бывает в сетях магазинов, где в каждом магазине установлена отдельная учетная система). Каждая из этих информационных систем использует свою СУБД. Получается, что в одной компании информация ведется в разных базах данных и собрать ее воедино становится сложно.

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

Для того, чтобы свести все эти разнородные данные воедино, придумали загружать их в еще одну базу данных, которую и называют «хранилищем данных». Здесь важно учесть следующие особенности:

  • В разных источниках данные хранятся в разном формате. Например, где-нибудь клиента зовут «Иванов Иван Иванович», а в другой системе его же зовут «Иванов И.» Данные в хранилище должны быть унифицированы, то есть данные из разных источников не должны дублироваться или противоречить друг другу.
  • Если у вас много систем-источников, то и данных в них тоже будет накапливаться много. Вряд ли они в полном объеме понадобятся в хранилище данных — как-никак, дисковое пространство стоит денег. Поэтому в хранилищах принято хранить только необходимые данные, в агрегированной форме (например, сводные помесячные данные) и с ограниченной историчностью (если старые данные больше не нужны — не храним их).
  • Поскольку данные унифицируются (то есть, приводятся к единому формату), важно понимать, какой путь преобразований они прошли в хранилище данных. Поэтому принято разделять хранилище на несколько слоев. В слоях низкого уровня данные хранятся в формате, близком к форматам источников данных; на верхнем уровне — в максимально унифицированном и удобном для работы с данными формате.
Сильно упрощенная схема хранилища данных

В этой статье мы не будем касаться «техники», связанной с хранилищами данных. Хранилищам данных будет посвящен ряд статей на нашем сайте, где все технические детали будут рассмотрены подробно.

BI системы (Business Intelligence)

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

Они преследуют две ключевые цели:

  • Дать возможности для максимально универсальной и красивой визуализации «сырых» табличных данных. Графики, диаграммы и прочие средства визуализации — все, чтобы любую вашу мысль можно было наглядно донести.
  • Дать возможность работать с данными и создавать отчеты бизнес-пользователям, далеким от техники. Для того, чтобы создать красивый дешборд в BI-системе не требуется знание SQL и программирования.

Работа в BI системе с точки зрения пользователя при этом представляет собой «исследование» данных: есть возможности с помощью пары кликов мышкой углубиться (drill down), например, с общих показателей по компании до уровня отдельной бизнес-единицы (например, магазина).

С этим связано ключевое ограничение: какие-то сложные расчеты и преобразования данных в BI-системе, скорее всего, сделать не получится, хоть и будет хотеться вашим бизнес-заказчикам, когда они увидят всю «магию» дешбордов и отчетов.

Из популярных продуктов на начало 2019 года можно вспомнить Tableau:

Power BI от Microsoft:

Можно также вспомнить SAP Business Objects, Oracle BI, QlikView или QlikSense, и многие другие.

Более подробно прочитать про них рекомендую в аналитических исследованиях компании Gartner (англ.), которая отслеживает рынок аналитических систем и выделяет на нем лидеров и аутсайдеров.

Источник: Gartner, февраль 2018

Системы бюджетирования и планирования

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

Для поддержки этого процесса нужны системы, которые позволят:

  • Вводить плановые финансовые показатели вручную (или загружать их извне);
  • Получать актуальные сводные финансовые данные по компании;
  • Сравнивать запланированные показатели с фактическими данными;
  • Проводить финансовые расчеты: консолидировать показатели, распределять их по различным правилам и т.п.

Это — базовые функции, которые имеет любая система планирования и бюджетирования.

Визуально их пользовательский интерфейс может быть похож на интерфейс отчета в какой-нибудь BI системе: те же таблички, возможность drill-down-а (перехода с одного уровня детализации данных на другой). Существенное отличие — в определенных сценариях можно вручную вводить данные (финансовые показатели) или загружать их из файлика определенного формата.

Биг дата и дата сайенс

А теперь — о самых модных сейчас словосочетаниях: big data и data science.

Сразу скажу, что Big Data — это скорее маркетинговый термин, чем что-то имеющее четкое определение. Лет десять назад таким же модным словосочетанием было «Cloud Computing» («Облачные технологии»), а вот сегодня — Big Data. Звучит красиво, всем нравится и даже присутствует в названии этого сайта.

С «Data science» проще — это конкретная вещь, имеющая специфику и применимая, в основном, в прикладных задачах. Наш сайт в меньшей степени будет посвящен Data Science, но что это такое и для чего — знать обязательно нужно.

Ну и нельзя забывать про «анализ данных», который иногда входит в перечень обязанностей data scientist-а, а иногда является отдельной дисциплиной.

Big Data

Как вы уже поняли, Big Data — это «большие данные». Как понять, какие данные являются «большими», а какие — «маленькими»?

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

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

«Средними» можно назвать структурированные данные, которые хранятся в одном месте: в базе данных информационной системы, в небольшом хранилище данных, и т.п. Доступ к ним подразумевает использование каких-то специальных средств: языка SQL, использования BI-систем.

Для полноценной работы с «большими» данными, скорее всего, будет недостаточно какого-то одного инструмента. Большой объем данных, их распределенное хранение и, как следствие, распределенные вычисления для их обработки, требуют особых навыков и понимания, как извлечь большие объемы информации.

Здесь данные можно сравнить с потоком воды. У вас может быть бутылка, содержащая литр воды. Для того, чтобы получить доступ к воде из этой бутылки достаточно будет лишь вылить воду в стакан. Это «маленькие» данные. Когда воды больше — вам нужны специальные технические средства (водопроводный кран), но ничего сложного в этом нет. Это «средние» данные.

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

Data Science и анализ данных

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

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

Аналитик данных, или data scientist, — это человек с серьезной математической подготовкой, владеющий основными методами анализа данных. Он способен проводить исследования на данных: находить их в разных источниках, приводить к единому формату, затем формировать аналитические таблицы и, наконец, применять к ним различные модели. На выходе получается, как правило, ответ на какой-то вопрос, например, «с вероятностью 30% Василий Васильев не вернет свой кредит в апреле 2020 года».

Что дальше?

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

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

Автор

Андрей Макеев

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

Добавить комментарий