Как стать автором
Обновить
63.19
Сначала показывать

Еще чуть-чуть быстрее ищем кратчайший путь на Python

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров360

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

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

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

Читать далее

Тайные сообщества товаров: обзор графовых методов

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров1.5K

Привет, Хабр! На связи команда матчинга и группировки из ecom.tech. Наша команда решает задачи поиска, группировки и сортировки товаров, с помощью алгоритмов машинного обучения. Например, такие алгоритмы объединяют товары от разных продавцов в одной карточке, что дает покупателям возможность сэкономить время и деньги. 

Сегодня мы расскажем, как исследовали алгоритмы community detection для группировки товаров, с какими проблемами столкнулись и при чём тут матчинг. Статья будет полезна всем, кто работает с большими объемами данных и ищет способы оптимизировать операции с этими данными. Поехали!

Читать далее

Гайд: как сделать хороший текст для интерфейса, на примере сайта Самоката

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров3K

Привет, Хабр! На связи UX-редакция ecom.tech. Наша команда занимается созданием текстов для интерфейса Самоката. Мы помогаем поддерживать голос бренда, делаем приложение и сайт удобным и понятным для пользователя. В этой статье расскажем, как сделать сайт понятным, писать просто о сложном и не раздражать пользователей текстами. Рассказываем всё на примере сайта Самоката.

Читать далее

Гайд: делаем собственную клавиатуру для терминала сбора данных

Время на прочтение8 мин
Количество просмотров2.1K

Привет, Хабр! На связи команда фронтенд-разработки из ecom.tech. Меня зовут Миша, я занимаюсь разработкой интерфейсов для внутренних сервисов. Например, мы сделали удобное приложение для курьеров-партнёров Самоката, сервис для быстрой работы логистов, интуитивно понятный терминал для складов. 

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

Читать далее

Как заставить крутиться таймер –  инструкция для iOS-разработчиков

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров1.5K

Привет, Хабр! На связи Андрей –  iOS разработчик из ecom.tech. Моя команда помогает различным маркетплейсам делать крутые вещи для их приложений. 

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

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

Читать далее

Как заставить LLM работать на вас – разбираемся на примере задачи сопоставления товаров на маркетплейсе

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров4.5K

Привет, Хабр! На связи команда продуктового матчинга ecom.tech. В этой статье мы расскажем, как используем LLM для задачи сопоставления товаров на маркетплейсе. 

Как перевести задачу с продуктового языка на язык промптов. Что делать, если ни одна LLM не обучается на нужную тебе задачу (fine-tune). Как быть с поддержкой русского языка. Об этих и других аспектах по использованию LLM – читайте ниже.

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

Читать далее

Необычные вкусы покупателей: что такое товарные пары и как их исследовать

Уровень сложностиПростой
Время на прочтение16 мин
Количество просмотров3.7K

Привет, Хабр! На связи команда продуктовой аналитики.

Подбор и обновление ассортимента товаров — постоянная головная боль для любого ритейлера. Это трудоемкий процесс, где каждая ошибка стоит реальных денег. В ecom.tech мы стараемся сделать его проще при помощи автоматизации, а заодно изучаем предпочтения покупателей. На этот раз мы искали, что обычно покупают в паре – так называемые комплементарные товары.

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

Читать далее

Продуктовый матчинг на маркетплейсе: что происходит под капотом сравнения товаров

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров2.3K

Привет, Хабр! На связи команда продуктового матчинга ecom.tech. 

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

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

Читать далее

Увеличиваем выручку с помощью математики: как учитывать бизнес-контекст в оптимизационных задачах

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров1.6K

Привет! Я Эдуард, в ecom.tech руковожу группой прогноза спроса для Мегамаркета. В этой статье хочу рассказать, что меняется в работе с алгоритмами машинного обучения, когда начинаешь учитывать ограничения и нюансы бизнес-задачи. Расскажу на примере одного исследования – как мы искали способы увеличить выручку маркетплейса.

В статье будет математика, псевдокод, но главное – постараюсь рассказать, как вся эта техническая часть опирается на бизнес-контекст. Поехали!

Читать далее

Продуктовый матчинг, или туда и обратно с миллионами товаров

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров2.2K

Привет, Хабр! На связи команда продуктового матчинга ecom.tech. 
В серии статей мы расскажем о разработке матчера для Мегамаркета. Первым делом – давайте вместе  посмотрим с разных сторон на задачу продуктового матчинга и разберёмся, почему любому маркетплейсу критически важно уметь её решать (и решать хорошо).
Disclaimer: все названия вымышлены, все совпадения случайны. Кроме Мегамаркета – он настоящий.

Читать далее

Как мы обучаем коллег исследованиям: подход ecom.tech

Время на прочтение13 мин
Количество просмотров3.4K

Привет! Меня зовут Костя Коваленко, я руководитель отдела продуктовых исследований в ecom.tech. Мы разрабатываем ИТ для ритейла реального времени, на наших технологиях работают Самокат и Мегамаркет. Последние 2,5 года я развиваю практику и отдел исследований в компании. 

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

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

Читать далее

Пишем плагин для Atlassian Jira — добавляем на экран задачи вкладку с логом автоматизаций

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров1.7K

Когда Jira обрастает кастомной логикой, автоматизациями и интеграциями, рано или поздно возникает потребность в отслеживании действий, которые произвели (или не произвели) с задачей все эти роботы.

- Если вам периодически приходят баги о неработающей автоматизации и вы начинаете смотреть логи scriptrunner, automation и прочих JWME – этот момент настал.

- Если заказчик просит фиксировать факт отправки сообщения во внешнюю систему в комментарии к задаче – этот момент точно настал.

- Если вы уже и сами начали создавать комментарии из автоматизаций и groovy-скриптов – момент настал совершенно абсолютно точно.

Этот туториал будет полезен начинающим разработчикам в стеке Atlassian и администраторам Jira, пробующим себя в разработке плагинов.

Читать далее

Как безболезненно внедрить исследования в продуктовую разработку

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров4.3K

Дизайнеры Samokat.tech начали проводить продуктовые исследования внутренними силами команды. «‎Что из этого вышло» и «‎Как внедрить такой подход» – разбираем на конкретных примерах от первого лица.

Читать далее

Как сделать А/B-тест в офлайне, на примере ускорения доставки в Самокате

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров3.3K

Привет! Меня зовут Илья, я продуктовый аналитик в Samokat.tech. 

Делать A/B-тесты – довольно привычная вещь для аналитиков. Но как быть, если нужно провести эксперимент в физическом мире? Какие особенности и ограничения есть в офлайне? Как выбирать и оценивать метрики? 

Давайте расскажу на примере – как мы пробовали доставлять заказы Самоката ещё быстрее.  

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

Читать далее

Квоты в Kubernetes: очевидные, менее очевидные и совсем не очевидные

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров14K

Привет, Хабр! Я Виктор, техлид продукта CI/CD в Samokat.tech. А это, :(){ :|:& };: fork-бомба, которая создаёт свои дочерние процессы бесконечно. Запуск такой штуки в контейнере без ограничений роняет всю ноду. Не используйте в проде! Если запустить в WSL, то винду тоже укладывает. Как же избежать запуска такой штуки на проде? Помогут квоты.

Давайте разберемся как работают квоты в Kubernetes. Там есть немало граблей. В этой статье поделюсь своим опытом по работе с квотами – расскажу, чем квоты хороши, что у них под капотом, в каких задачах используются и почему нужны даже в среде single-tenant.

Читать далее

От 20 до 200 человек за полтора года: как мы строили дизайн-департамент Samokat.tech

Время на прочтение9 мин
Количество просмотров3.4K

Привет! Меня зовут Олег, я руковожу дизайн-направлением Samokat.tech. За последние пару лет наша команда выросла в 10 раз и стала одним из крупнейших департаментов компании. 

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

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

Читать далее

Отключаем ненужный функционал плагина для Jira с помощью кастомной аннотации Spring

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров2.6K

Привет, Хабр! Меня зовут Игнат, в Samokat.tech я пишу плагины, автоматизации и интеграции для Jira. 

Как разработчик-самоучка, который до «вот этого всего» немного писал на Java, но не пользовался ни средствами сборки (привет, Maven!), ни фреймворками (привет, Spring!), и первые шаги делал по мануалам Atlassian, я сталкивался (и продолжаю) с проблемами, решений которых вендорская документация не подскажет, и эти решения приходится открывать самому. 

В этой статье мы вместе с вами напишем свою Spring-аннотацию, которая будет с помощью кастомного бин-постпроцессора (который мы тоже напишем) отключать в нашем плагине для Jira ненужный в проде отладочный функционал.

Эта статья ориентирована на начинающих разработчиков в стеке Atlassian и администраторов, пробующих себя в разработке плагинов для Jira. Те, кто до знакомства с Atlassian SDK уже разрабатывал «под ентерпрайз», не обязательно найдут здесь что-то новое, остальных – приглашаю под кат.

Читать далее

Гайд по микрофронтендам на single-spa, или Как уже наконец-то уйти от монолита во фронтенде

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров20K

Привет, Хабр! Меня зовут Данил, я Frontend-разработчик в Samokat.tech. Недавно мы с командой распилили монолит на Angular и перешли к микрофронтендам на Vue. 

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

Читать далее

Как мы боролись с овербукингом Kubernetes-кластеров

Время на прочтение10 мин
Количество просмотров12K

Привет! Меня зовут Александр Лебедев, я SRE в Samokat.tech. Мы строим надёжную платформу для сервисов быстрой доставки и в зону ответственности моей команды входят поддержка Kubernetes-кластеров и управление их ресурсами.

Под катом история о том, как мы пришли к своему варианту resource management через борьбу с овербукингом по CPU.

Читать далее

Приходите на Flow 2023 Meetup #9 про системный и бизнес-анализ

Время на прочтение3 мин
Количество просмотров1.9K

Когда: 21 июня (среда), 17:30 — 21:30 (СПб)

Формат: офлайн (СПб) и онлайн 

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

Регистрация на митап тут

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

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

Посмотреть описание докладов
1

Информация

Сайт
ecom.tech
Дата регистрации
Численность
5 001–10 000 человек
Местоположение
Россия
Представитель
Мишаня Сторожилов