С реальными решениями

Интеграция данных в стратегию оказывается отличительным признаком для предприятий любого размера. Клишированный термин «Data-Driven» подходит не только для технологических компаний с миллиардными доходами.

Такие компании, как DiscoverOrg и MVF, используют данные для принятия решений и создания лучших продуктов.

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

Однако легче сказать, чем сделать.

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

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

Я также предложу несколько решений.

Слишком много данных ведет к низкой производительности

Большое количество данных. Он решает все проблемы с плохим алгоритмом, верно? Ну вроде как.

Фактически, большие данные могут вызвать множество новых проблем. В частности, с производительностью.

Большие данные означают, что если у вас нет систем, которые могут обрабатывать данные, вы быстро столкнетесь с проблемами.

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

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

Итак, как нам повысить производительность систем больших данных?

Решение 1. Платите за больше вычислений

Один из способов решить эту проблему - просто потратить больше денег - купить больше вычислений на своих кластерах или получить машины большего размера. Но всегда есть предел.

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

Иногда речь идет не столько о вычислениях, сколько о дизайне, а также о базовой системе.

Решение 2. Миграция в облачное хранилище данных, созданное для скорости

Благодаря сочетанию технического долга и времени, системы начинают замедляться. Есть несколько способов улучшить свою работу, не покупая только машины побольше.

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

Вы можете заглянуть в облачные хранилища данных, такие как Azure Synapse, Redshift или BigQuery. Это может помочь повысить производительность в зависимости от того, как вы проектируете хранилище данных.

Решение 3.Улучшите дизайн своего хранилища данных

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

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

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

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

Управление сложными бизнес-решениями в Excel

Excel и электронные таблицы продолжают определять решения на миллиарды долларов в компаниях по всему миру. Использование Excel также привело к ошибкам на миллионы и миллиарды долларов даже в самых умных компаниях.

Например, в 2008 году Barclays согласился купить Lehman Brothers, но ошибки в таблицах привели к тому, что они понесли убытки по контрактам, которые они не собирались покупать. Подробная таблица активов Lehman содержала около 1000 строк, которые необходимо было преобразовать в PDF. Однако в исходной версии Excel были скрытые строки с 179 элементами, которые Barclays не хотели. Примечания о том, что они не хотели, чтобы эти контракты были перенесены в PDF, но скрытые строки были. В результате им пришлось купить 179 контрактов, которые они не хотели.

А в 2012 году JP Morgan потерял почти 6 миллиардов долларов из-за того, что в основном сводилось к ошибкам Excel.

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

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

Решение 1. Относитесь к Excel, как к коду инженеров

Если ваш Excel используется для принятия важных решений, вы должны относиться к нему так же, как инженеры относятся к коду.

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

Итак, Excel следует рассматривать как код.

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

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

Решение 2. Автоматизируйте Excel с помощью Python и SQL

Автоматизируйте и разрабатывайте рабочие процессы чистых данных для четко определенных бизнес-процессов, которые можно преобразовать в SQL и код.

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

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

Какое решение лучше всего, зависит от сложности процесса, его повторяемости и того, насколько важны решения, принимаемые на основе решения данных.

Быстрое размещение ваших данных в хранилищах данных

Сейчас я поговорил с специалистами по обработке данных и аналитиками компаний в США, и у всех них есть одна серьезная жалоба: они не могут получить свои данные достаточно быстро.

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

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

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

Решение 1.Используйте ELT вместо ETL для специальной работы

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

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

Вот тут-то и пригодятся ELT.

Для тех, кто не знаком с ELT и ETL. Это методы извлечения, преобразования и загрузки данных в хранилища данных. Обратите внимание, что первая буква этого процесса составляет ETL.

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

ELT перемещают преобразование в конец процесса, что позволяет аналитикам данных и ученым начать работу с данными до их полной обработки. Это действительно представляет определенный риск с точки зрения управления данными.

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

У ELT есть множество решений и инструментов - вот некоторые из них:

Решение 2.Внесите только те данные, которые вам нужны

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

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

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

Это помогает распределить ресурсы и обеспечить быстрое получение данных.

Согласованные значения и определения данных

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

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

Для тех, кто не знаком с этой проблемой, приведу простой пример.

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

Что определяет многодневное мероприятие? Это событие, которое длится более 24 часов, или событие, которое длится более 2 дней, или, возможно, что-то среднее между ними?

Определение ключевых концепций, которые ваш бизнес использует ежедневно, важно - есть вероятность, что каждая бизнес-команда будет использовать этот термин, KPI и определение. Если нет единого определения для разных команд, вы, вероятно, увидите непоследовательные отчеты: одна команда скажет, что было 100 многодневных поездок, а другая скажет, что было 90 многодневных поездок.

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

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

Отсутствие четких определений и четких источников истины сопряжено с множеством рисков.

Решение №1: Реализуйте стратегию управления данными

Отличное решение - настроить процесс управления данными.

Управление данными - это процесс управления доступностью, удобством использования, целостностью и безопасностью данных в корпоративных системах на основе внутренних стандартов и политик данных, которые также контролируют использование данных.

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

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

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

Данные в современных компаниях часто сильно интегрированы и автоматически заполняются различными сторонними источниками. Я привел приведенный выше пример интеграции Workday и Salesforce.

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

Другими словами, управление данными - это человеческий процесс.

Решение №2: выберите инструмент для определения происхождения данных

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

Например, такие инструменты, как TreeSchema, Octopai и Kylo автоматически очищают источники данных вашей команды, чтобы отслеживать метаданные - кому принадлежит какая таблица, какова схема ваших данных и откуда они берутся.

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

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

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

Отсутствие четкой стратегии обработки данных

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

Как правило, первым шагом является создание четкой стратегии обработки данных.

Это означает, что вы смотрите на свои общие бизнес-цели, а затем видите, где вы можете согласовать их с вашими целями данных, а не наоборот.

Я работал с клиентами, чьей целью было интегрировать ИИ в свои сервисы, но они не задумывались, какую роль ИИ будет играть в их общей бизнес-стратегии.

Решение 1. Начните сначала со своих бизнес-целей

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

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

Шаг первый - пройти базовый контрольный список стратегии аналитики данных.

Как вы улучшите свой процесс анализа данных сегодня?

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

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

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