Всем привет! На связи команда аналитиков X5 Tech. Мы продолжаем исследовать подходы Reinforcement Learning для ценообразования. В этой статье мы рассмотрим применение контекстных многоруких бандитов на примере модельной задачи, опишем несколько реализаций и сравним их.
Temporal Fusion Transformer: улучшение прогнозирования в ритейле с минимальными затратами
Всем привет! Меня зовут Дмитрий Поляков, я работаю аналитиком данных в команде ad-hoc аналитики X5 Tech. В этой статье мы хотели бы рассмотреть задачу прогнозирования, которая является чрезвычайно важной задачей в ритейле.
Мы детально рассмотрим основные преимущества и архитектурные особенности модели Temporal Fusion Transformer (TFT), наш подход к использованию этой модели в задаче прогнозирования спроса, и как нам удалось увеличить точность прогнозов в среднем на 7%, затратив при этом минимальные усилия.
Также эта статья будет полезна и тем, кто хочет глубже понять принципы работы TFT, изучить её применение в библиотеке Darts и решить задачу прогнозирования для множества многомерных временных рядов.
Diff-in-diff: жизнь за пределами идеального эксперимента
Привет, Хабр! На связи команда ad-hoc аналитики X5 Tech.
Основная задача аналитика при проведении А/Б тестирования - оценка эффекта воздействия (тритмента). В этой статье мы обсудим, что такое идеальный эксперимент и почему он позволяет корректно оценить эффект от воздействия. Затем расскажем, когда идеальный эксперимент невозможен и дадим интуитивное обоснование того, как метод difference-in-difference помогает справиться с оценкой эффекта воздействия в таких ситуациях. В конце мы обсудим формальные предпосылки метода и покажем на примере симуляций последствия их невыполнения.
Как гуманитарию подойти к IT: из переводчика в технические писатели
Всем привет! Меня зовут Мария Ибрагимова, я технический писатель в X5 Tech. Но так было не всегда. Ещё каких-то 4 года назад я работала в проектном институте с устрашающим названием ЛЕННИИХИММАШ и не представляла себя в сфере информационных технологий. Хочу поделиться своим опытом, как мне удалось подойти к IT.
Повышение производительности складской комплектации: как без трудоёмкого хронометража найти потенциал ускорения
Текущая экономическая ситуация в мире приводит к сильному давлению роста цен во всех секторах экономики. Ритейлеры не могут перекладывать эти риски на плечи своих покупателей, что приводит их к необходимости поиска новых путей сокращения затрат на экземпляр процесса, т. е. на штуку товара. Усиливающаяся конкуренция с e‑commerce требует перестройки процессов и выхода на повышенные скорости доставки в борьбе за клиента.
И кажется, что все имеющиеся инструменты повышения эффективности уже использованы. Но есть ещё один. В этой статье я расскажу о нашем опыте повышения производительности операций в распределительных центрах торговой сети «Пятёрочка» без больших финансовых вливаний и долгосрочных разработок. Я руковожу Департаментом развития аналитики «Цепочки поставок и поддерживающие функции» в Х5 Tech, и моя команда занимается поиском путей повышения эффективности бизнеса через анализ больших данных.
Пишем сервис инференса ML-модели на go, на примере BERT-а
Привет, на связи команда аналитиков Х5 Tech. В статье пишем сервис инференс ML-NLP модели на go. Допустим, вам нужно внедрить ML-модель (разработанную/обученную на Рython-фреймворке) в сервис в вашей инфраструктуре. По какой-то причине (не важно какой) этот сервис должен быть на golang-е. Здесь покажем, как это можно сделать, используя ONNX.
Если вы это читаете, то, вероятно, или вы знакомы с обучением ML-моделей на Рython, библиотекой моделей huggingface, языковыми моделями BERT, или вы являетесь бэкенд разработчиком на golang.
В качестве примера будем использовать модель из библиотеки huggingface seara/rubert-tiny2-russian-sentiment, которая классифицирует сантимент текста.
Единый стандарт дизайн-подхода в X5 Teсh
Всем привет, меня зовут Илья Гордеев, я дизайн-менеджер направления b2b продуктов в X5 Tech. На протяжении этого года я и моя команда разработали и внедрили в свои продукты ряд единых практик и артефактов, которые повысили общую гигиену дизайна, уровень продуктового подхода и понимание потребностей пользователей. Как мы это делали — расскажу в статье.
Гайд по мета-анализу результатов тестов
Привет! На связи команда аналитиков «Пятёрочки» X5 Tech.
Подсчитать и проанализировать можно не только A/B, но также подвергнуть анализу ряд тестов с общей нулевой гипотезой. Другими словами, протестировать результаты серии тестов с классическим статистическим выводом о значимости показателей этой серии, то есть провести мета-анализ.
На написание этой статьи меня вдохновило общение внутри моей классной команды, общение с одним из аналитиком Gett, а также данный пост и комментарии к нему по поводу статьи Ebay.
Мета-анализ стоит на ступеньку выше по доказательности, чем обычный тест, так как аккумулирует информацию по ряду тестов. Можно сказать, что он проводит операцию слияния данных (data fusion), давая оценку оценкам, поэтому и мета. И раз он сильнее по доказательности, то и позволяет увереннее внедрять статистически значимые инициативы. Про это и поговорим в статье.
Проблемы при поддержке IT-продуктов на базе AI и варианты их решения
Добрый день! Меня зовут Саша Беляев и сейчас я лидирую несколько направлений разработки вокруг аналитики, AI/ML, AB-test, внутри Х5 в продукте CVM. Подробнее о моём опыте можно посмотреть тут. Сегодня я хочу поделиться своими мыслями о проблемах, которые возникают при передаче в промышленную эксплуатацию решений на базе AI, а также попробую сформировать некоторый набор рекомендаций, которые смогут кому-нибудь облегчить жизнь в будущем.
В статье хочу поговорить не про то, какие фреймворки или подходы лучше использовать (про них можно самостоятельно погуглить), а про специфические проблемы, свойственные IT-решениям на базе AI, с которыми сам неоднократно сталкивался. По этой причине статья будет, скорее, не про волшебные таблетки, а своего рода медитацией вокруг темы и попыткой выработать определённые рекомендации.
О технарях, управленцах и почему всё не так однозначно, как кажется
Привет, Хабр! Сегодня поговорим о вечном вопросе в мире разработки: должен ли руководитель быть технарём? Казалось бы, всё просто: хороший начальник — это тот, кто и код напишет, и архитектуру спроектирует, и команду организует. Но давайте честно: в реальном мире единороги встречаются чаще, чем такие универсальные солдаты.
Вся правда о переходе с монолита на микросервисы, когда у тебя сеть из десятков тысяч магазинов: опыт Х5 Tech
Привет, Хабр! Меня зовут Алексей Топчий, я уже более 20 лет работаю в IT. Прошёл все уровни: бэкенд, фронтенд, фулстек со множеством языков и технологий. В СберТехе занимался Единой фронтальной системой, в Яндексе участвовал в стартапе, связанном с FMCG. Сейчас занимаюсь сервисом ценообразования в сети магазинов «Пятёрочка» (X5 Group).
В этой статье я приоткрываю тайну бэк-офиса современного магазина и делюсь опытом, как мы развиваем программный комплекс, что интересного при этом происходит, с какими проблемами сталкиваемся и как их решаем. Статья будет полезна архитекторам, техническим менеджерам и всем, кто интересуется преобразованием корпоративных IT-ландшафтов.
Problem Management или как превратить проблемы в возможности
Привет, Хабр! Меня зовут Сергей. В X5 Tech я отвечаю за поддержку системных сервисов магазинов, обновлений и аналитику на уровне второй линии поддержки. Примерно с начала 2024 года у нас стартовала масштабная инициатива по реинкарнации Problem Management. Хотя уже сейчас понятно, что это даже не реинкарнация в прямом понимании этого слова, а фактически запуск.
Я давно (с 2011 года) работаю в X5. За это время успел побывать в множестве разных ролей от системного администратора до бизнес‑архитектора. И могу сказать, что большую часть этого времени Problem Management у нас был в том или ином виде. Мне удалось посмотреть и поучаствовать в этом процессе в разных амплуа — от человека, который со стороны поддержки ИТ проблемы регистрирует, до человека, который их решает. В текущей активности я принимаю непосредственное участие в создании и развитии процесса Problem Management, формировании стратегии, а также отвечаю за работу и развитие роли Problem аналитиков. Что это за ребята и чем они занимаются — я расскажу в статье.
Хочу поделиться своим опытом с позиции человека, который сейчас принимает непосредственное участие в создании, становлении и развитии сложного и очень важного процесса управления проблемами в X5 Tech. Надеюсь, наш кейс будет полезен всем, кто развивает направление ProblemManagement у себя, а также тем, кто только планирует создание такой функции или размышляют над целесообразностью его внедрения.
Кейс оптимизации запросов для Greenplum
Всем привет! Меня зовут Андрей, я работаю дата аналитиком в Data Team продукта Dialog.X5/Insights в X5 Tech. Мы предоставляем аналитику по продажам и покупательскому поведению на данных X5 Group. Для обработки больших объёмов данных в продукте используется СУБД (система управления базами данных) Greenplum.
В статье рассмотрим ресурсоёмкую операцию для распределённых систем COUNT(DISTINCT) и два способа оптимизации. Для предварительного погружения в планы запросов можно прочитать вот эту хорошую статью.
Бутстрап в PySpark
Всем привет! Меня зовут Илья Черников, я аналитик больших данных в X5 Tech, сейчас занимаюсь аналитикой и оценкой активностей CVM маркетинга экспресс-доставки “Пятёрочки”.
В статье я расскажу о том, как мы решали вопрос автоматизации оценки эффективности большого количества маркетинговых кампаний с помощью бутстрапа в PySpark. Я опишу различные подходы к реализации бутстрапа с их плюсами и минусами, а также расскажу об итоговом варианте, который мы выбрали для себя.
Температура успеха: как X5 Tech измеряет эффективность развития IT-продуктов
Привет, Хабр! На связи команда ad-hoc аналитики X5 Tech. Если вы работаете в IT, то знаете как непросто оценивать результативность развития IT-продуктов и команд. А теперь представьте, что таких продуктов у вас десятки, и решения по ним нужно принимать оперативно, ведь речь идёт о миллиардах рублей в год.
В этой статье мы покажем, как в таких условиях можно быстро сориентироваться и внедрить системное решение для контроля эффективности развития продуктовых активностей. Мы назвали его “Продуктовый градусник”. Статья будет полезна продуктовым менеджерам, аналитикам, разработчикам и руководителям, которые хотят улучшить свои продукты, процессы и команды, основываясь на проверенных практиках и data-driven подходе.
50 оттенков линейной регрессии, или почему всё, что вы знаете об A/B тестах, помещается в одно уравнение
Всем привет! A/B тестирование уже давно стало стандартом в проверке гипотез и улучшении продуктов в X5. Но, как ни странно, многие из «модных» техник, которые применяются в A/B тестировании, на самом деле, не что иное, как вариации старой доброй линейной регрессии.
Основная идея здесь проста: правильное добавление новых переменных в модель помогает лучше контролировать внешние факторы и уменьшать шум в данных. Это позволяет точнее оценить эффект от воздействия и объединить разные статистические подходы, которые обычно рассматриваются отдельно. Но почему это работает? Почему всё сводится к тому, что добавление переменных помогает объединить, казалось бы, разрозненные техники?
Чтобы разобраться в этом, для начала вспомним основы линейной регрессии, после чего перейдём к различным статистическим методам снижения дисперсии и покажем, как они сводятся к линейной регрессии. Затем объединим все техники вместе и на примере покажем, как они работают на практике.
Новый взгляд на оценку русскоязычных моделей: обновлённый бенчмарк ruMTEB и лидерборд
Всем привет! Меня зовут Роман Соломатин, я представляю команду AI-Run из X5 Tech, мы занимаемся генеративными сетями в целом и языковыми моделями в частности. Несколько месяцев назад русскоязычное сообщество разработчиков искусственного интеллекта получило инструмент для оценки моделей — бенчмарк ruMTEB (Massive Text Embedding Benchmark). Однако, первая версия ruMTEB имела 6 протестированных моделей, но при этом отсутствовал удобный лидерборд.
Мы решили улучшить ситуацию и провести дополнительное тестирование, чтобы сделать бенчмарк более репрезентативным и полезным для сообщества.
User Story Map как инструмент управления ожиданиями и не только: практические советы
Привет! Нас зовут Катя Черных и Маша Вострикова, мы бизнес-аналитики в Х5 Tech. Мы любим инструмент User Story Map (карта пользовательских историй или USM), проводим по нему воркшопы в X5 и хотим поделиться своим опытом.
В статье рассказываем, как на этапе Discovery (начальный этап проработки задачи, на котором выявляются основные требования и анализируются поставленные бизнес-цели) прорабатывать большие инициативы, используя USM.
Фокус делаем на практическом использовании карты и на что обращать внимание при построении USM. Мы собрали возможные сложности, разобрали конкретные кейсы и описали варианты взаимодействия с заинтересованными лицами.
Я так хочу, чтобы лето не кончалось: истории про леща, северное сияние и созвоны на бегу (+ конкурс)
До ковида лето было не лучшим временем для IT-специалистов. Душные забеги на работу, с работы, и хорошо, если в обеих локациях был кондиционер. Отпуск скрашивал жизнь, но лишь на пару недель из тринадцати. Сейчас всё поменялось: в X5 Tech преобладают удалёнка и гибрид. Больше возможностей интересно прожить не только отпуск, но и весь тёплый сезон.
В более свободном графике человеку проще делать именно то, что хочется, раскрыться по-настоящему. Это может дать начало реально интересной и увлекательной истории, которая вдохновит тех, кто узнает о ней.
Мы хотим поделиться этой мотивацией с вами и собрали истории сотрудников X5 Tech из разных городов о том, как они провели это лето. А ещё — нам очень интересно узнать вашу собственную историю. Читайте и делитесь рассказом о своём лете в постах и комментариях. Более подробно — под катом.
А/Б тестирование: множественная проверка гипотез
Хабр, привет! Сегодня обсудим, как проверять много гипотез в одном эксперименте. Разберёмся, почему растут вероятности ошибок. Познакомимся с метриками множественного тестирования и поправками, которые позволяют их контролировать. Узнаем, как оценить необходимый размер групп и повысить чувствительность.