Best Buy mobile website


On recherche à déterminer le comportement d'achat de jeux Xbox à partir de requêtes sur la plate forme mobile de Best Buy. À partir d'une requête comment peut-on prévoir le clic sur un produit ?

Pour cela nous disposons d'un historique de deux années comportant 67 millions de clics et 27 millions de recherches, ainsi d'un catalogue des jeux Xbox avec leur référence produit respective.

Résultat : la meilleure méthodologie arrive à prévoir en moyenne 78 % de clics sur un produit, ma méthodologie arrive à en prévoir en moyenne 64 %. En classement final, j'obtiens la 65e place sur un total de 97 équipes participantes.

Pour chaque requête, il y a des probabilités différentes de choisir différents produits, je conserve la probabilité de choix la plus élevée que je mets dans un dictionnaire que j'appelle dictionnaire historique.
Le cas des requêtes existantes a été ainsi traité.

Si une requête n'existe pas dans l'historique, j'utilise alors un dictionnaire que j'appelle dictionnaire nouveau. Ce dictionnaire est constitué de la manière suivante :
je procède à un rapprochement textuel c'est-à-dire si je réalise la requête suivante :"tetris", alors le moteur va rechercher dans le catalogue des produits un nom de produits qui se rapproche le plus du nom "tetris" en utilisant la fonction SAS compged (voir ci-dessous). Je n'ai pas réalisé volontairement de filtre sur le catalogue des produits pour n'intégrer que les produits xbox ce qui fait réduire les résultats de ma prévision.

Image Description


Normalisation : suppression des accents, des majuscules, des espaces

La fonction compged

Elle permet de calculer sous la forme d'un score la distance généralisée entre deux chaines de caractères. Plus le score GED est faible plus il y a correspondance des deux chaînes de caractères.

Chaîne de caractères A  
Chaîne de caractères B   
Score GED
baboon
baboon
0
baXboon
baboon
100
baoon
baboon
100
baXoon
baboon
50
baboonX
baboon
10
baboo
baboon
20
Exemples issus de Nefera Croom, NYASUG June 2009

Cette fonction est très utile, je l'ai déjà utilisée dans un programme pour détecter des emails crées par des robots, les emails ayant un corps identique auquel une série de chiffres (exemple : toto1@yahoo.fr, toto2@yahoo.fr, toto3@yahoo.fr).

Lien de la compétition kaggle