2. Skapánê: un futur champion européen du Big Data
Crée en mars 2015
Compte aujourd’hui 9 personnes
Accélérée à Euratechnologies depuis ses débuts
Membre de la « French Tech » - supportée par la BPI
Lauréat du Réseau Entreprendreen 2016
Lauréat LMI « Pépite » en 2016
SKAPÁNÊ
3.
4. Le problème à traiter
o Identifier en temps réel le comportement probable d’un client pendant sa session de navigation:
o Va-t’il acheter ? Quel est le risqued’abandonde panier?
o Si oui, pour quel montant?
o Quel mode de livraison va-t-ilchoisir ?
o Quel moyen de paiement va t’il préférer ?
o Le paiement sera t’il honoré(fraude) ?
o Pour:
o Diminuer les abandonsde panier : réduction,frais de livraison,…
o Proposerdes produits complémentairesle plus tôt possible
o Modifier l’expérience client: choix des paiement proposés(one-click,…),choix du mode de livraison
SKAPÁNÊ
5. Les apports du Machine Learning
o Informatique traditionnelle postule un modèle
elle traite des donnéeset fournit des modèles descriptifs
Sur la base d’hypothèses déjà définies
o Le Big Data traite les signaux faibles sans postuler de modèles
il infèredes modèles prédictifs à partirdes données
Et trouve ainsides choses que l’on ne cherchait pas forcément !
Ou fournitdes résultats que l’on ne sait pas toujoursinterpréteren « boîte blanche»
SKAPÁNÊ
10. •Identité
•Localisation
•Page d’entrée
Début de session
•Durée de session
•Pages visitées
•…
Navigation
•Durée complète de
session
•Pages visitées
•Bilande la session
Sortie du tunnel
de commande
Mise à jour des
données
Calcul des
prédictions
Mise à jour des
indicateurs de
supervision
Personnalisation
de la navigation
Action client
La capacité de prédiction au long d’une session de navigation
SKAPÁNÊ
11. Un exemple : la fraude
Les transactions de paiement sur les sites de eCommerce sont généralement sécurisées par le passage en authentification forte,
de type 3DSecure
La sécurisation de la transaction en elle-même est très bonne, car elle garantit le paiement pour le e-marchand
Cette méthode est généralement complétée par un service de lutte contre la fraude au moment du paiement ou post-paiement
Identification des cartes suspectes
Non-validationdes commandes(oucontrôleunitaire)
Néanmoins, plusieurs écueils subsistent:
Du point de vue de la sécurité, ces méthodes ne garantissentque le premier paiement des achatsen plusieurs paiements
Le marchés’accordeà reconnaîtreque des ventessont perduesau passageen 3DS
Le coût du service n’est pas neutre
SKAPÁNÊ
12. Objectif
Une méthode de détection de la fraude avant le passage en phase de paiement permet:
D’identifier des cas potentiels de fraudepour décider du type de paiement
Un click ou sécurisé, contrôle manuel, paiement en 3 ou 4 fois ou pas, …
D’utiliser le comportementdu client avant la commande
D’utiliser l’historiquedu client sur le site marchand
L’objectif est d’affiner les critères de déclenchement de 3DS afin de réduire le nombre de commandes soumises au contrôle, et de
faciliter les achats des bons clients
Réduction des coûts de 3DS
Augmentationdes ventes
En maîtrisantle coût de la fraude
SKAPÁNÊ
13. Méthode
Cette détection peut se faire à l’aide d’un modéle prédictif de machine learning intégré dans le tunnel
de commande
Le modéle statisque peut également aider à définir les régles de détection
Intégrationdans un moteur de fraudeexistant
SKAPÁNÊ
14. Données Transactions
0,18%à 0,23%de transactionsen impayé sur les données (Classedéséquilibrée)
ExpérienceSkapánê:
25 millions de transactions
4 milliards de lignes de web logs traitées
Règles temps réel via un Business Rules Engine
SKAPÁNÊ
Unbalanced Binary Classification
15. Modèles étudiés
Différents modéles pour la classification sont disponibles dans Spark:
Logistic regression
Decision tree classifier
Randomforest classifier
Gradient-boostedtreeclassifier
Multilayer perceptronclassifier
One-vs-Rest classifier (a.k.a.One-vs-All)
Naive Bayes
SVM
SKAPÁNÊ
Algorithmes les plus utilisés pour une classification binaire
(notamment en Spark)
16. Méthodes d’évaluation
SKAPÁNÊ
Evaluation principale du modéle pour une classification binaire ‘déséquilibrée’:
ROC(ReceiverOperatingCharacteristic)
AuC(AreaUnderCurve)
Evaluation en liaison avec la matricede confusion
18. Optimisation du modèle
L’algorithme choisi : Random Forest
Plusieurs paramètres à optimiser pour obtenir le meilleur résultats
Profondeurd’arbre
Coefficient pour le gain de l’information
Nombred’arbre
Nombred’itération
Le choix est fait lors de la phase d’ Hyperparametertuning
SKAPÁNÊ
19. Optimisation du modèle
Hyper parametertuning
Les différents paramètres sont évalués suivant une échelle de valeur fournie.
Chaque résultat est évalué grâce à une fonction d’évaluation (AuC)
Cette évaluation se fait par la biais de la validation croisée et évite le sur-apprentissage (Overfitting)
SKAPÁNÊ
20. Optimisation du modèle
Hyper parametertuning
Exemple de tuning
SKAPÁNÊ
rf=RandomForestClassifier()
pipeline = Pipeline(stages=[rf])
paramGrid = ParamGridBuilder().addGrid(rf.numTrees, [10,15,20])
.addGrid(rf.impurity, [u"gini",u"entropy"]).addGrid(rf.maxBins,[32,48])
.addGrid(rf.maxDepth,[8,12,16]).build()
crossval = CrossValidator(estimator=pipeline,
estimatorParamMaps=paramGrid,
evaluator=BinaryClassificationEvaluator(),
numFolds=3) # use 3+ folds in practice
# Run cross-validation, and choose the best set of parameters.
cvModel = crossval.fit(training) #training variable holds the training Dataset (DF)
Sur 25 M d’enregistrement: 1h30 de traitement
23. Intégration en production
SKAPÁNÊ
o Un bon modèle prédictif doit s’appuyer sur les données du site concerné
Calcul d’un modèle sur l’historiquedu site concerné(logs web et transactions)
Mise à jour du modèle de façon régulière(pour s’adapterà l’évolution de la fraude)
o Utilisation de ce modèle en temps réel pour calculer un score de fraude avant le passage au paiement
25. Fonctionnalités
SKAPÁNÊ
Gestiondesproduits
Identifiant,liste descatégories, description,libellé, marque,prix
Pourchaque produit, série temporellesur la quantité commandée ; miseà jouren temps réel à chaque nouvellecommande
Gestiondesconsommateurs
Identifiant,nom, date d'enregistrement,information de livraison,information de facturation
Pour chaque consommateur,série temporellesur le nombrede commandeseffectuées ; mise à jour en tempsréel à chaque nouvelle
commande
Gestiondesscoresde fraude
Identifiant,identifiant du consommateur,information de livraison,informationde facturation, date de commande,adresseIP, prix total,
carte de paiement,liste des items, …
Propriétésd'item gérées:identifiant du produit, quantité commandée,prix unitaire, prix total
26. Intégration en production
SKAPÁNÊ
Moteur de règles assurant la supervision du système
Déclenchement d’alertes
Paramétrable via des fichiers excel
28. Intégration en production
SKAPÁNÊ
Architecture de production
Distribution de charge – haute disponibilité
Intégration multi-solution (API Rest/WebService)
Temps de réponse < 100 ms
29. Plateforme utilisée
Spark 2 .0 / Hadoop 2.5
Jboss Drools
Java / Scala / Python
SKAPÁNÊ
Cluster Skapánê
80 cores
152 Go RAM
40 To disque
1 To de weblogs
25 millions de commandes
< 2 h de calcul d’algorithme
Temps de réponse web < 10 ms
30. Conclusion
La combinaison:
De méthodesde Datascience (algorithmes et méthodologie)
De volumesimportants de données
D’une plateforme puissante
De l’intégrationd’algorithmes en temps réel
Permet:
De créer des fonctionnalités nouvelles
De dépasserles capacités actuelles d’analyseen introduisantle prédictif
De rentrer dans l’ère du “Data Driven”
SKAPÁNÊ