fbpx

Технологии Retail Rocket

Команда разработчиков и аналитиков Retail Rocket стремится изменить мир Ecommerce и сделать его по-настоящему персонализированным с момента написания первой строки кода в 2012 году.

О Retail Rocket в цифрах:

• Более 80 серверов (в основном в Германии)
• В месяц обрабатывается более 100 миллионов уникальных посетителей (уникальных файлов cookie)
• Более 1 000 интернет-магазинов подключено к Retail Rocket по всему миру.
• Более 450 000 внешних запросов в минуту (в среднем)
• В разработку инвестировано 45 человеко-лет

Data science подход

Суть работы Retail Rocket – выявление потребностей посетителя магазина с помощью анализа поведения и товарной матрицы магазина. Для формирования персональных рекомендаций нам изначально обязательно был необходим математический фундамент, который бы легко масштабировался. Вот практически полный перечень подходов, используемых нами сегодня:

  • Контентная фильтрация (content filtering).
  • Коллаборативная фильтрация (colaborative filtering).
  • Предсказательные модели (predictive analytics) на основе машинного обучения и цепей Маркова.
  • Байесовская статистика.
  • Алгортмы гибридной персонализации в режиме реального времени.

… и многие другие.



 
Роман Зыков, Директор по аналитике, выступает на ежегодной конференции RecSys 2016 @ MIT University (Boston)
Деятельность в сообществе Data Science

Наша команда разработчиков принимает активное участие в жизни научного сообщества. Они выступают на значимых в индустрии конференциях, получают награды в соревнованиях Data Science. Помимо этого, можно увидеть публикации наших разработчиков в специализированных интернет-изданиях.

img

 

 

spark
Аналитическая платформа

Для машинного обучения мы используем Spark на базе платформы Hadoop Yarn – это система кластерных вычислений, которая лучше всего подходит для наших текущих задач. Из родных компонентов Hadoop у нас работает Apache Flume для доставки данных, библиотека распределенного Machine Learning Mahout и планировщик задач Oozie.

У команды Retail Rocket есть репозиторий на GitHub с множеством интересных проектов: Движок для A/B-тестов на JavaScriptБиблиотека Spark MultiTool на Scala, скрипты для развертывания кластера Hadoop с помощью Puppet.

 

iis8
Фронтэнд

Почти все, что видит пользователь, обрабатывается на win-машинах с веб-сервером IIS, код написан на C#, Asp.Net MVC. Все данные хранятся и раздаются в трех СУБД: Redis, MongoDB, PostgreSQL.

Когда нам надо обеспечить взаимодействие распределенных компонентов, к примеру, при вычислении сегмента пользователя по User-Agent для профилирования аудитории, используется Thrift. А для того, чтобы различные подсистемы могли получать поток данных для этого от интернет-магазинов, применяется упомянутый выше транспорт Flume.

git
Процесс разработки

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

Для этого мы применяем цепочку технологий Git + GitLab + TeamCity с прохождением юнит-тестов (по состоянию на начало 2017 года проведено более 1 200 тестов), приемочных тестов и code review.