Обновить
Сначала показывать
Порог рейтинга
Уровень сложности

Как мы научились честно считать эффект промокодов: Causal Inference в онлайн-доставке X5 Digital

Время на прочтение9 мин
Охват и читатели5.1K

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

Представьте стандартный отчёт по промокампании: «Пользователи, применившие промокод, потратили на 800 рублей больше среднего». Бизнес доволен, маркетинг рапортует об успехе. Но подождите, а сколько из них потратили бы эти деньги и без промокода?

Это не риторический вопрос. Это принципиальная проблема, которая называется selection bias — систематическая ошибка отбора.

Читать далее

Новости

Ритейл до компьютеров

Время на прочтение9 мин
Охват и читатели5.7K

Недавно вечером после работы я зашёл в «Перекрёсток». Усталый, шёл между рядами, взял апельсины и машинально положил на электронные весы. Они сами распознали фрукт, показали картинку и напечатали ценник. Потом я отправил в корзину салфетки, выпечку и пакет молока. На кассе самообслуживания терминал проверил скидки, предложил списать баллы и подтвердить оплату. В этот момент где-то в системе обновились остатки, пересчитались метрики по категориям, а алгоритм учёл мою покупку в общем спросе.

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

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

Читать далее

Зачем роботам погонщик?

Время на прочтение8 мин
Охват и читатели6.8K

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

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

Читать далее

От vibe coding к Spec-Driven Development: как приручить скорость ИИ и довести проект до продакшена

Время на прочтение8 мин
Охват и читатели11K

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

Поговорим о том, как не дать «вайб-кодингу» развалить ваш продакшен и почему Spec-Driven Development (SDD) — это наш новый «компилятор», которому нужно доверять.

Читать далее

Стейкхолдеров бояться — задачи не делать

Время на прочтение14 мин
Охват и читатели5.3K

Стейкхолдеры — это те самые люди, которые приходят с задачей «Надо ещё вчера», а формулируют её на уровне «Копаем от забора до заката!» и при этом вполне способны одним решением заморозить проект. В итоге команда либо бросается делать «как поняла» и приплывает не туда, либо зависает в ожидании мифического ТЗ, либо выгорает в героическом овертайме, а результат всё равно остаётся под вопросом. Знакомо?

В этой статье разберём, как выживать и делать задачи, когда требования туманны, сроки горят, а вокруг ещё и смежники, у которых свои приоритеты. Будут конкретные приёмы и чек-листы из практики: как отличать «Да, но на самом деле ничего не будет» от настоящего «да», почему у одних «нет» — это отказ, а у других просьба дать больше информации, как работать в условиях неопределённости без ступора и лишней работы, и как держать стейкхолдера в курсе так, чтобы он видел контролируемое горение, а не хаос.

Спойлер: ключевой навык — не угадать, что имели в виду, а забрать задачу, переформулировать своими словами и доуточнить, что же имелось ввиду.

Читать далее

Оптимизация маршрутов доставки заказов маркетплейса или как мы победили в E-CUP 2025

Время на прочтение11 мин
Охват и читатели3.9K

Хабр, привет! Недавно завершилось ML-соревнование E-CUP 2025. Наша команда из X5 Tech заняла первое место в треке «Логистика: автопланирование курьеров», где было нужно оптимизировать время, затрачиваемое курьерами на доставку 20 000 заказов. В статье расскажем про подходы, которые использовали для решения этой задачи. Посмотрим, во сколько раз можно сжать JSON с матрицей расстояний. Какой код мы использовали для быстрого решения задачи TSP с помощью LKH-3. Обсудим, на что обращать внимание при кластеризации заказов.

Постановка задачи

Требовалось распределить порядка 20 000 заказов между 280 курьерами и построить для каждого из них маршрут так, чтобы минимизировать их суммарное время работы. Оно складывалось из времени перемещения курьеров между заказами и времени выполнения самих заказов (service time). За каждый невыполненный заказ добавлялся штраф 3000 секунд...

Читать далее

Выжимаем максимум из опенсорсных моделей и готовим Text2SQL

Время на прочтение12 мин
Охват и читатели6.6K

В любой крупной компании есть повторяющийся сценарий. Аналитик сидит над экспериментом или моделью, строит А/В тесты и дашборды, и в этот момент приходит бизнес и просит быстро посмотреть «продажи жвачки за вчера». Аналитик переключается, пишет запрос, отдаёт результат, а через десять минут прилетает почти такой же вопрос. Потом ещё один и ещё. День заканчивается, а свои задачи стоят и покрываются ржавчиной.

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

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

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

Читать далее

Как облегчить работу дизайнера с помощью ИИ и сохранить визуальный стиль

Время на прочтение8 мин
Охват и читатели9.4K

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

Мы в X5 Tech решили превратить генеративный ИИ из источника хаотичных вариаций в стабильный конвейер брендового визуала. Зафиксировали стиль, задали структуру, выстроили управление вариациями, и в итоге собрали рабочий пайплайн. Когда он заработал, скорость выросла почти вдвое, некоторые команды полностью отказались от фотостоков или значительно сократили их использование, а 40–45% визуального контента «Пятерочки» и «Чижика» теперь создается с участием ИИ.

В этой статье — разбор принципов, на которых держатся пайплайны управления генерациями: как модели помогают контролировать структуру и стиль, какую роль в этом играет дизайнер и за счет чего связка ControlNet, LoRA, Style Reference и мультимодальных ИИ превращает генерации в предсказуемую систему.

Читать далее

Открыть или пролистать — как вы выбираете статьи в ленте? Опрос редакции блога X5 Tech

Время на прочтение1 мин
Охват и читатели6.9K

У статьи в ленте Хабра есть несколько строк, чтобы пройти читательский фильтр «открыть или пролистать». Для кого-то всё решают цифры и вау-эффект, для кого-то – реальный кейс, для кого-то – автор или хаб. И мы, команда редакции блога X5 Tech, очень хотим узнать, что вам ближе, чтобы анонсы в нашем блоге показывали важное и не тратили ваше внимание на лишнее.

Читать далее

Утечка, которой не было: как Next.js раздувает RAM в Kubernetes

Время на прочтение13 мин
Охват и читатели8.3K

Привет, Хабр! Меня зовут Вадим Королёв. Я руководитель команды разработки в X5 Tech. Очень люблю Next.js и решать проблемы, которые он приносит. С ним всегда происходит что-то интересное. Расскажу о причине утечки памяти в Node.js, которая оказалась глубже, чем можно было подумать.

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

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

Читать далее

Аптайм портфеля: анализируем акции как код

Время на прочтение8 мин
Охват и читатели19K

Привет, Хабр!

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

Мы хотим привнести инженерный и аналитический подход в мир инвестиций. Эксперты из ДРТ (бывший Deloitte) и УК «Альфа Капитал» расскажут, на что обращать внимание при покупке ценных бумаг. А сотрудник X5 Tech поделится своим опытом сборки портфеля.

Хотите разобраться, как искать и читать данные о компаниях, в которые хотите вложиться? Тогда погнали!

Читать далее

Как мы сделали альтернативную систему метчинга товаров в X5 Digital: опыт, грабли и результат

Время на прочтение9 мин
Охват и читатели6.4K

Привет, Хабр! Меня всё ещё зовут Данила Федюкин, и я продолжаю быть тимлидом в X5 Digital. Руковожу командой, которая занимается метчингом. В прошлый раз я рассказывал, как мы перешли на собственную систему рекомендаций, а в этот раз о том, как делаем то же самое, но с метчингом товаров.

X5 Digital – один из цифровых бизнесов Х5. Мы работаем в режиме Highload с RPS в 7500 и отвечаем за всю онлайн-доставку в более чем 1000 городах и населённых пунктах России.

Этот канал постоянно растёт. В 2024 году покупатели Х5 совершили свыше 119,5 млн заказов продуктов на дом.

Мы делаем собственную in-house WMS для дарксторов, приложения для сборщиков и курьеров, CRM, каталоги товаров и другие онлайн-продукты, а ещё мобильное приложение для торговых сетей.

Всё это, отталкиваясь от разных форматов доставки. В «Перекрёстке» среднее время доставки CTD (Click-to-Delivery — от оформления заказа до его получения клиентом) сократилось до 45 минут, в «Чижике» — до 37 минут, а в «Пятёрочке» порядка 40% заказов доставляются клиентам менее чем за 20 минут.

Читать далее

Разрабатываем чек-лист самопроверки макетов: подход, ошибки и результаты

Время на прочтение8 мин
Охват и читатели6.6K

Когда впервые появилась идея чек-листа самопроверки макетов, я воспринял её как очередную бюрократию. Ещё один документ, который никто не будет читать. Казалось, и без него всё под контролем: опытная команда и выстроенные процессы. Но когда дизайнеров в моём направлении стало не семь, а пятнадцать, а количество продуктов увеличилось в три раза, стало ясно, что без простого инструмента контроля качества мы утонем в хаосе.

Привет, Хабр! Я Илья Гордеев, руковожу командой дизайна внутренних продуктов в X5 Tech. В этой статье расскажу, как мы создали чек-лист самопроверки, какие сложности прошли при внедрении и как он помогает экономить время на ревью, держать планку дизайнерам, а команде работать быстрее и чище.

Читать далее

Ближайшие события

Правда ли, что ICPC работает как социальный лифт в IT-карьере

Время на прочтение9 мин
Охват и читатели9.1K

Привет, Хабр! Я давно отучился в школе и институте, но хорошо помню, как мне говорили: «Учи! Тебе это пригодится! Без этого никуда! Это очень важно…» и почти никогда не объясняли, зачем учить, когда это пригодится и для чего.

Поэтому, когда мне поставили задачу написать про полуфинал Международной студенческой олимпиады по программированию (ICPC) для региона «Северная Евразия», я решил не пересказывать данные из Википедии. Вы и сами можете их прочитать, а кто-то даже рассказать о собственном опыте участия. Я спросил коллег внутри X5 Tech, как навыки, полученные на соревнованиях по программированию помогли им в реальной жизни: на собеседованиях, в продакшене, в решении сложных системных задач или даже в бытовых ситуациях. Про то, что спортивное программирование развивает алгоритмическое мышление, стрессоустойчивость и умение работать в команде в ограниченное время, пишут много, но теория не всегда переносится на практику.

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

Читать далее

Проксируй это: как ускорить A/B-тесты и не попасть в ловушку метрик

Время на прочтение13 мин
Охват и читатели5.6K

В A/B-тестах хотелось бы смотреть на главную метрику, ту самую North Star, которая показывает успех продукта. Но на практике она почти всегда медленная, шумная и бесполезная для быстрых решений. Например, вы запускаете тест новой системы рекомендаций, ждёте неделю, две, а LifeTime Value не двигается. И непонятно, это потому что нет результата или ещё рано делать выводы.

Чтобы не тратить месяцы на догадки, можно воспользоваться прокси-метриками — быстрыми, чувствительными показателями, которые реагируют раньше, чем бизнес-метрика «успевает моргнуть». Проблема в том, что это решение часто требует дополнительные ресурсы.

Привет, Хабр! Меня зовут Артем Ерохин, и я Data Scientist в X5 Tech. Я прочитал современные исследования, пропустил их через свой опыт и собрал концентрат подходов к работе с прокси-метриками. Постараюсь передать только суть. Разберемся, зачем нужны прокси, как с ними не выстрелить себе в ногу, где заканчивается польза и начинается самообман.

Читать далее

Ваш грейд, стек и немного боли: опрос для data-специалистов

Время на прочтение1 мин
Охват и читатели429K

Приветствуем всех коллег по цеху!

Мы в X5 Tech запускаем опрос, чтобы лучше понять, как живёт сообщество специалистов по работе с данными: какие инструменты используете, какие вызовы встречаете в работе и о чём мечтаете в свободное время.

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

Пройти опрос

Text2SQL в аналитике: как мы научили ИИ понимать бизнес-запросы без посредников

Время на прочтение20 мин
Охват и читатели10K

Привет! Меня зовут Михаил Куляскин, я инженер по машинному обучению в команде продуктивизации ИИ в X5 Tech. Недавно я выступал с докладом на крупной конференции CodeFest в Новосибирске,  по которому и написана данная статья. В ней я расскажу о нашем опыте построения сервиса text2sql — интеллектуального помощника, который позволяет получать доступ к данным из баз по запросу на естественном языке. Такой сервис особенно актуален для крупных компаний с развитой аналитической культурой и большим объемом данных: он позволяет менеджерам и аналитикам запрашивать нужную информацию в виде таблицы, графика или конкретного ответа, не прибегая к помощи специалистов по SQL.

Читать далее

Дивергенция как мера специфичности аудитории вашей пилотной механики

Время на прочтение11 мин
Охват и читатели6.8K

Хабр, привет! На связи Никита и Егор, мы работаем над продуктовой аналитикой в дирекции по развитию программы лояльности Х5. В статье мы бы хотели рассказать вам о том, как можно использовать модификацию дивергенции Кульбака-Лейблера для ответа на вопрос, а насколько ваша пилотная аудитория специфична относительно генеральной совокупности всех клиентов, и какие могут быть «подводные камни».

Читать далее

Кофе — мой type, музыка — мой out: строим NERвный-пайплайн на продуктовых запросах

Время на прочтение11 мин
Охват и читатели6.4K

Привет, Хабр! На связи команда Ad-Hoc аналитики X5 Tech. В этой статье расскажем, как мы научили поиск извлекать важные сущности из запросов пользователей. Полный разбор реализации NER (Named Entity Recognition) для продуктового ритейла, шаг за шагом: как мы размечали данные, считали метрики на уровне токенов и сущностей — и почему для коротких и длинных запросов потребовались разные архитектурные решения.

Читать далее

Несогласованность эффектов или «Где деньги, Лебовски?»

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели9.3K

В статье рассматриваются проблемы, возникающие при оценке эффектов A/B-тестов и Causal Inference в ритейле, когда необходимо анализировать изменения выручки по различным категориям товаров и общей (тотал-) категории. Мы подробно рассмотрим, почему простое суммирование оценок эффектов по категориям не всегда дает корректную оценку для тотал-категории, и предложим эффективный способ решения этой проблемы.

Читать далее
1
23 ...