Technologieën van Retail Rocket

Sinds de 2012, toen de eerste code regel van Retail Rocket werd geschreven, is het Retail Rocket engineering en data science team vastberaden om de wereld van e-commerce te veranderen en het echt te personaliseren.

Een paar cijfers een korte beschrijving van Retail Rocket:
• Meer dan 80 servers (voornamelijk in Duitsland).
• 100+ miljoen unieke bezoekers (unieke cookies) verwerkt per maand.
• 1.000+ webshops gebruiken Retail Rocket over de hele wereld.
• 450.000+ externe verzoeken per minuut (gemiddeld).
• 45+ jaar geïnvesteerd in ontwikkeling.

Data science aanpak

De basis van de Retail Rocket is het identificeren van behoeften van de webshopbezoeker door het analyseren van hun gedrag en product databases. Het genereren van real-time gepersonaliseerde aanbevelingen vereist gebruik van state-of-the-art fundamentele benaderingen en algoritmen, inclusief:

 
  • Content filtering.
  • Collaboratieve filtering.
  • Voorspellende analyses op basis van machine learning en Markov ketens.
  • Bayesiaanse statistiek.
  • Real-time hybride personalisatie algoritmen.

… en nog veel meer.



 
Roman Zykov, Retail Rocket Chief Data Scientist, spreekt tijdend RecSys 2016 annual conference @ MIT University (Boston)
Activiteit in de Data Science community

Ons engineering team is een zeer actief lid van de data wetenschappelijke community met een aantal publicaties en prijzen op data science wedstrijden, evenals presentaties op gerenommeerde evenementen.

img

 

 

spark
Analytics cluster

Voor machine learning gebruiken we Spark, op basis van een Hadoop Yarn platform - een cluster computing-systeem met behulp van Scala - een functionele programmeertaal. Voor native Hadoop componenten – gebruiken we Apache Flume voor het overbrengen van gegevens, Mahout Machine Learning en Oozie scheduler.

Retail Rocket team ondersteunt een repository de GitHub met een aantal interessante projecten:  Simple A / B-testen in JavaScript, Spark MultiTool Bibliotheek voor Scala, Hadoop cluster implementatie scripts met behulp van Puppet.

 

iis8
Frontend

Bijna alles waar een gebruiker interactie mee heeft, wordt verwerkt door IIS-webservers, wordt de code geschreven in C #, Asp.Net MVC. Databases die we gebruiken zijn: Redis, MongoDB, PostgreSQL.

Als we de uit te voeren interacties nodig hebben tussen gedistribueerde componenten, bijvoorbeeld voor de berekening van de gebruiker segmentatie op basis van de User-Agent (publiek profilering) gebruiken we Thrift. En voor de datastroom van de webshops naar verschillende subsystemen, gebruiken we Goot transport.

git
Development proces

Wij zijn voorstanders van het continue levering methode als de meest efficiënte manier voor onze klanten (vandaag de dag werken we met meer dan 1000 winkels).

Om dit te ondersteunen maken we gebruik van een keten van technologieën: Git + GitLab + TeamCity met geautomatiseerde unit tests (1200+ vanaf het begin van 2017), acceptatietests en code review procedures.