Как стать автором
Обновить

Компания Retail Rocket временно не ведёт блог на Хабре

Сначала показывать

«Подземные камни» А/Б-тестирования в e-commerce

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

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

Первое, что хочется сделать — сравнить показатели работы продукта до внесения изменений и после. Но в таком случае нельзя утверждать, что разница в показателях обусловлена только новой функциональностью, так как на состояние продукта в любой момент времени может повлиять любой внешний фактор. Поэтому принято прибегать к контролируемым рандомизированным экспериментам, которые также называют А/Б-тестами. В том числе и для товарных рекомендаций в e-commerce.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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


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

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

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

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

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

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


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

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

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



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

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

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

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



Предыстория


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

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

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

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

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

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


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