La matematica dietro l’e-commerce B2B di Aton

È un’esperienza ormai quotidiana: mi collego a un sito di e-commerce, con un’idea abbastanza precisa in testa di cosa comprare; valuto un paio di alternative, e con una certa soddisfazione (il prezzo è davvero buono!) il mio carrello si riempie. A questo punto mi accingo a completare l’acquisto quando…

…l’ultimo ostacolo! Una serie di prodotti compaiono sullo schermo: pare infatti che altri clienti che mi somigliano li abbiano acquistati, per cui potrei farlo anch’io, e visto che ho acquistato questo telefono, sembra logico che io voglia acquistare anche la relativa custodia.

Un po’ infastidito scorro velocemente questa vetrina virtuale preparata solo per me, e… sorpresa… mi accorgo che… mi interessa!

In Aton, lo sapete, siamo molto interessati ai recommendation systems. Deriva dal nostro DNA: è ormai chiaro che il successo che hanno in ambito B2C può essere riflesso in ambito B2B, e ci attira molto la loro caratteristica win-win; sono uno strumento vantaggioso per il venditore, ma che migliora anche l’esperienza dell’utente finale.

Eccovi quindi una piccola carrellata di quello che stiamo facendo.

Innanzitutto, è interessante notare che non è tutto… intelligenza artificiale! È possibile creare un recommendation system semplicemente analizzando a livello statistico lo storico dei carrelli degli utenti (si chiama appunto basket analysis), contando la frequenza della presenza di coppie o gruppi particolari di prodotti, e identificando pattern di acquisto da riproporre all’utente finale nella fase di checkout. In effetti è un tool già molto potente così, e molti lo applicano con profitto.

Per la costruzione di un modello più “sofisticato” è ovviamente indispensabile essere in possesso di una grande mole di dati relativi allo storico delle vendite, in modo da sfruttare appieno la potenzialità degli algoritmi di IA. Tra questi spicca il collaborative filtering, che si pone come obiettivo quello di calcolare la similarità tra gli utenti di un sistema per poi generare dei consigli sugli acquisti basati sull’affinità tra gli utenti ed i prodotti che non hanno ancora acquistato.

In questo ambito, ci paiono promettenti l’algoritmo NCF (Neural Collaborative Filtering), che sfrutta il deep learning “classico” e l’architettura di apprendimento delle  reti neurali, l’ALS (Alternating Least Squares), che applica una fattorizzazione matriciale (ossia una compressione delle informazioni) allo storico degli acquisti degli utenti, e permette sostanzialmente di prevedere che un utente comprerà qualcosa anche se non l’ha effettivamente mai fatto; e soprattutto l’RBM (Restricted Boltzmann Machine) che, pur essendo stata ideata nel 1986 e avendo una struttura molto semplice, ha degli ottimi risultati nella pratica.

Dopo aver composto un recommendation system… se ne fa un altro. Ci sono moltissimi parametri che si possono variare, e un buon recommendation system è una composizione di algoritmi: ben difficilmente si mettono tutte le uova nello stesso paniere; utilizzare più algoritmi permette di avere un set di suggerimenti più variegato e sarà più probabile incontrare il gusto dell’utente.

Per valutare quale sistema sia il migliore, si applicano poi altre tecniche statistiche, le cosiddette ranking metric e rating metric, che ci consentono di confrontare le predizioni con i casi reali, e valutare cosa poi applicare sul “campo”.

Il nostro recommendation system è quindi pronto, ma non è di certo definitivo: come minimo, va adattato alla strategia di marketing dell’azienda; inoltre, fra qualche mese sarà probabilmente necessario ri-modificare un po’ i parametri, per adattarsi alle “fluttuazioni del mercato” o alle nuove tecnologie…

Insomma, è un mondo complesso e affascinante, come molte cose che riguardano l’informatica di questi tempi. Però noi ci crediamo, perché veramente può dare del valore aggiunto. Come sempre, siamo davvero curiosi di vedere cosa ci riserverà il futuro!