Tecnologia Retail Rocket
Tecnologia Retail Rocket
La visione del team di ingegneri del software di Retail Rocket è di cambiare il mondo dell’e-commerce e renderlo davvero personalizzato.
Richiedi una demoRetail Rocket in breve:
-
Cluster analitico di oltre 250 server in 6 diversi data center
-
Più di 230 milioni di visitatori unici utilizzano mensilmente i siti web dei nostri clienti
-
Più di 1.000 aziende collegate a Retail Rocket in tutto il mondo
-
I nostri server elaborano più di 450.000 richieste API esterne al minuto
-
Richieste API al secondo al picco: 15.000+
-
Più di 200 anni-uomo sono stati investiti nello sviluppo della piattaforma
-
Zero dati clienti persi in 8 anni
Approccio alla scienza dei dati
L'essenza del lavoro di Retail Rocket è identificare le esigenze dei clienti del negozio online analizzando il loro comportamento (clickstream, chiavi di ricerca, cronologia delle transazioni, ecc.). Inoltre, ci concentriamo sulla matrice di prodotto del rivenditore e personalizziamo anche le comunicazioni su ogni canale (sito web, app mobile, e-mail, SMS, ecc.). Per generare consigli personalizzati, il nostro team di data science ha sviluppato una base matematica scalabile. Di seguito i diversi approcci che utilizziamo oggi:
- Filtro dei contenuti
- Statistiche bayesiane
- Filtro collaborativo
- Algoritmi di personalizzazione ibridi in tempo reale
- Analisi predittiva basata su machine learning e Catene di Markov
- e molti altri.
Componenti tecnologiche
Piattaforma analitica
Per l'apprendimento automatico, utilizziamo Spark basato sulla piattaforma Hadoop Yarn, il sistema di cluster computing più adatto alle nostre attività attuali. Per quanto riguarda le componenti Hadoop native, usiamo Apache Kafka per la trasmissione dei dati, la libreria distribuita di Machine Learning Mahout e la pianificazione task di Oozie.
Il team di Retail Rocket ha un repository su GitHub con molti progetti interessanti: un motore per A/B test in JavaScript, una libreria Spark MultiTool in Scala, script per la distribuzione di un cluster Hadoop utilizzando Puppet e altri.
Frontend
Quasi tutto ciò che l'utente finale riceve viene elaborato in cluster di server Linux. Il codice è scritto in C#, Asp.Net MVC. Tutti i dati sono archiviati e distribuiti in tre sistemi di gestione database: Redis, MongoDB e PostgreSQL.
Quando è necessario garantire l'interazione dei componenti distribuiti, ad esempio, durante il calcolo di un segmento di utenti, utilizziamo Thrift. Inoltre, affinché vari sottosistemi ricevano un flusso di dati dai negozi online, viene utilizzato il trasporto Kafka, menzionato sopra.
Processo di sviluppo
In fase di sviluppo il nostro team si attiene alla metodologia di continua fornitura di nuove funzionalità ai clienti (attualmente sono collegati a noi oltre 2000 negozi).
Usiamo un pacchetto di Git + GitLab con i test unitari (a inizio del 2021 abbiamo più di 3000+ test), test di accettazione e revisione del codice.