Как стать автором
Обновить
49.5
Retail Rocket
Retention Management Platform
Сначала показывать

Качественные рекомендации в e-commerce — компоненты основных алгоритмов

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

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

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

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Комментарии 2

Качественные рекомендации в e-commerce — компоненты алгоритма «Сопутствующие товары»

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

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

Читать далее
Всего голосов 2: ↑1 и ↓1 0
Комментарии 0

Качественные рекомендации в e-commerce — необходимые свойства

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

Компания Retail Rocket более 10-ти лет занимается системами рекомендаций в сфере электронной коммерции. Всё это время мы сталкиваемся с неочевидными свойствами алгоритмов рекомендаций, без которых системы не будут решать свои задачи. Мы выделили и описали в статье такие свойства, как: эффективность, логичность, покрытие, специфичность, охват, актуальность и мультирегиональность. Если у вас есть система рекомендаций, и вы хотите оценить ее качество, либо вы ищете критерии для выбора или разработки системы рекомендаций, то эта статья будет вам полезна.

Читать далее
Всего голосов 8: ↑7 и ↓1 +6
Комментарии 0

Прокси-метрики в E-commerce. Часть 3

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

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

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

Читать далее
Рейтинг 0
Комментарии 0

Прокси-метрики в E-commerce. Часть 2

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

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

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

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 0

Прокси-метрики в E-commerce. Часть 1

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

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

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Комментарии 2

Почему концепция Exception в C# — зло

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

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

Читать далее
Рейтинг 0
Комментарии 24

Как построить четкие модели классов и получить реальные преимущества от UML. Часть 4

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

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

Читать далее
Всего голосов 3: ↑2 и ↓1 +1
Комментарии 4

Как построить четкие модели классов и получить реальные преимущества от UML. Часть 3

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

В первых двух частях (1, 2) мы обсудили общий принципы UML, о семантике и признаках хорошей модели. В этой части добавим ещё кое-что про хорошие модели и перейдём к плохим.

Читать далее
Всего голосов 14: ↑13 и ↓1 +12
Комментарии 4

Практики автоматического тестирования Retail Rocket

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

Я часто собеседую кандидатов на позиции .Net разработчиков в Retail Rocket. В прошлом работал в компаниях с различными командами. И далеко не один раз встречал и продолжаю встречать мнение, что “автотесты хорошо, но на них нет времени, писать их дорого, тестировать должны тестировщики”. Такое мнение не у всех, но встречается нередко (не исключаю, что мне так «везет»). В связи с этим хочу поделиться нашим подходом к автоматическому тестированию и обеспечению качества. Расскажу путь, который мы в Retail Rocket прошли за последние 3-4 года, к чему пришли сейчас, и —  главное — что дают нам автотесты и для чего мы их пишем. Надеюсь, статья кого-нибудь сподвигнет писать автотесты, кого-то — писать больше автотестов, а кому-то, возможно, поможет избежать ошибок, с которыми мы сталкивались.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 3

Как построить четкие модели классов и получить реальные преимущества от UML. Часть 2

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

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

Читать далее
Всего голосов 18: ↑17 и ↓1 +16
Комментарии 0

Как построить четкие модели классов и получить реальные преимущества от UML

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

Мне показался близким подход Леона Старра к объяснению чётких моделей классов и описанию их преимуществ. Настолько, что мы в Retail Rocket решили сделать перевод его большой статьи "How To Build Articulated UML Class Models". Будем выкладывать по частям, под катом — первая из трёх.

Читать далее
Всего голосов 18: ↑14 и ↓4 +10
Комментарии 2

Почему автоматическая регистрация зависимостей — зло

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

Есть много проектов типа Simple Injector для различных языков программирования, позволяющих по имени класса, интерфейса или неймспейса, а иногда и папки зарегистрировать класс или всю группу классов, объединенных этим признаком, в каком-то регистре. Это делается для цели автоматического инстанцирования объекта без явного указания его зависимостей. Такую регистрацию группы объектов по общему признаку в регистре с целью дальнейшего инстанцирования я называю автоматической регистрацией зависимостей.
Читать дальше →
Всего голосов 24: ↑19 и ↓5 +14
Комментарии 91

Аудит и тестирование писем: на что стоит обращать внимание при верстке

Время на прочтение 5 мин
Количество просмотров 3.7K
Привет, Хабр!

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

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


Читать дальше →
Всего голосов 7: ↑6 и ↓1 +5
Комментарии 0

Growth Hacking в Retail Rocket: от поиска гипотез до методики тестирования

Время на прочтение 6 мин
Количество просмотров 3.9K
Growth Hacking овеян множеством мифов. Одни считают его панацеей от всех бед, другие — чуть ли не шарлатанством. Недоверие подогревают кейсы с невероятными цифрами роста в десятки и сотни раз, которые пытаются бездумно копировать и не получая такого же роста объявляют подход неработающим.

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

С момента основания Retail Rocket взлом роста стал неотъемлемой частью работы компании. Более шести лет мы вырабатывали уникальную систему проведения тестирований и подборов алгоритмов. В том числе благодаря этой методологии, мы можем обеспечивать самый высокий показатель ROI на рынке. И сегодня мы хотим поделиться опытом использования Growth Hacking'а в ecommerce.


Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 0

Как выдержать повышенные нагрузки на систему: рассказываем о масштабной подготовке к Черной Пятнице

Время на прочтение 5 мин
Количество просмотров 3K
Привет, Хабр!

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

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

Наш CTO Андрей Чиж (chizh_andrey) рассказывает, как мы готовились к Черной Пятнице 2018, какие меры предприняли, чтобы избежать падений, и, конечно, же о результатах такой тщательной подготовки.


Читать дальше →
Всего голосов 10: ↑8 и ↓2 +6
Комментарии 2

Нужен ли магазину «Стильный кросселл»: опыт Retail Rocket в анализе изображений для формирования рекомендаций

Время на прочтение 15 мин
Количество просмотров 3.1K
Интерес к анализу изображений для формирования рекомендаций растет с каждым днем. Мы решили разобраться, насколько реальные результаты приносит эта трендовая тема. Рассказываем о тестировании использования глубинного обучения (Deep Learning) для улучшения рекомендаций сопутствующих товаров.



В этой статье мы описываем опыт применения технологии анализа изображений для улучшения алгоритма сопутствующих товаров. Читать ее можно двумя способами: те, кто не интересуется техническими деталями использования нейронных сетей, могут пропустить главы про формирование датасета и реализацию решений и перейти сразу к AB-тестам и их результатам. А тем, кто имеет базовое представление о таких понятиях как эмбендинги, слой нейронной сети и т.д., будет интересен весь материал целиком.
Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 6

Как мы нашли критичную уязвимость AspNetCore.Mvc и перешли на собственную сериализацию

Время на прочтение 5 мин
Количество просмотров 5.9K
Привет, Хабр!

В этой статье мы хотим поделиться нашим опытом в оптимизации производительности и исследовании особенностей AspNetCore.Mvc.



Предыстория


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

В результате профилирования мы обнаружили, что большую часть процессорного времени “съедает” десериализация. Мы выкинули стандартный сериализатор и написали свой на Jil, в результате чего потребление ресурсов снизилось в разы. Все работало как нужно и мы успели об этом позабыть.
Читать дальше →
Всего голосов 21: ↑20 и ↓1 +19
Комментарии 4

Как писать функциональные требования

Время на прочтение 5 мин
Количество просмотров 149K
Привет, Хабр!

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

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


Читать дальше →
Всего голосов 12: ↑10 и ↓2 +8
Комментарии 11

Рабочее место .NET разработчика или трудности выбора идеальной конфигурации ver.2.0

Время на прочтение 5 мин
Количество просмотров 16K
Привет, Хабр!

И снова мы приоткрываем дверь «за кулисы» проекта Retail Rocket. Запуская инженерный блог, мы обещали рассказывать о подходах, используемых в области анализа данных, и разработки технологий, которые позволяют создавать самую популярную на рынке ecommerce платформу персонализации.

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


Старое рабочее место .NET разработчика в офисе Retail Rocket

Все также половина нашей команды разрабатывает на .NET, но почти все разработчики сменили Visual Studio и Resharper на Rider 2018. Rider оказался заметно быстрее, чем Visual Studio с решарпером, и мы не устояли. Также из-за все большего количества проектов и файлов, нам пришлось разделить единый solution на несколько. Но нам все еще требуются быстрые машины, чтобы работа оставалась комфортной.

В начале этого года перед нами встала задача оборудовать еще несколько рабочих мест для разработчиков, мы решили поработать над существующей производительностью и подобрали новые комплектующие.
Читать дальше →
Всего голосов 16: ↑14 и ↓2 +12
Комментарии 92
1

Информация

Сайт
retailrocket.ru
Дата регистрации
Дата основания
Численность
101–200 человек
Местоположение
Россия