SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
#Tech4Exec
OUI.sncf propose des voyages moins chers grâce
au Big Data et au Machine Learning
Agenda
•Contexte Data OUI.sncf
•Exemple « Trajets alternatifs »
•Conclusion & Questions
Contexte Data OUI.sncf
Chiffres
•1,5 Mds de recherches d’itinéraires /
an
•33 M de possibilités de voyages
•100 To de données / mois
Usages
•Assurer la QoS de nos SI
•Centralisation des LOGs
•Hypervision
•Personnaliser les Offres
•Prédiction des prix et Propositions de trajets alternatifs
Focus sur la Proposition de trajets alternatifs
2013 – 2015 : POC par une « Component Team »
•6 mois pour explorer la donnée
•18 mois pour construire et prouver la fiabilité du nouveau système
2016 – aujourd’hui : Indus. et Valorisation par une « Feature Team »
•Construction de fonctionnalités
•Exposition de service
Trajets alternatifs
Et autres contributions de la Data et du Machine Learning au développement de l’Offre OUI.sncf
Problème : un cache de données inadapté
Contraintes
•Distributeur contractuellement limité dans sa capacité de
requêter le Catalogue du transporteur
•Refonte Offre SNCF avec effet volume sur l’Entrepôt d’Offres
•Cache limité à 200 trajets
•Asset peu résiliant
Innovation
•Créer un cache avec un volume de prix suffisant pour proposer
le meilleur prix à la journée
Décision
•Utiliser le trafic naturel du passé pour remplacer l’EO
Une expérimentation sur 6 mois pour dire si le produit est viable
et mérite une équipe à plein temps
Proof of Concept - Démarche
Démarche Agile Exploratoire
•Kanban sur la totalité du projet
Atelier initiaux pour déterminer les objectifs => Fonction du coût
Puis cadencée par des paliers et des “ stop ou encore “ mensuels
Proof of Concept - Dispositif
Une mini équipe :
● 1 Architecte et Dev Sénior (compétences
écosystème Hadoop)
● 1 Data Scientist (issu de la finance et du
marketing)
● 1 Dev plus junior (réparti sur 2 personnes)
● 1 Scrum Master
● Des contacts métiers pour aider le Data
Scientist à décoder les modèles de données
Objectif : articuler ces compétences
autour d’objectifs communs
Step 1 : Analyse exploratoire & Data Cleaning
•Analyse exploratoire des LOGs
•Statistiques de fréquence de renouvellement des informations
(trajets/tarifs)
•Data Cleaning
•Facteurs d'influence sur la vitesse de disparition d'un trajet/tarif
(saisonnalité, classes de tarifs, comportements clients)
•Analyse de l'évolution du stock
•Tech : Flume, Hadoop & Jobs Map/Reduce
•Technos déjà en place chez OUI.sncf en 2013
•Résilientes – Tolérance à la panne
1
Step 2 : Système naïf / Modélisation
•Une architecture sans intelligence « Machine Learning »
•On reçoit un historique de donnée et on publie la plus « fraiche »
•Aucune règle
•Construction de la Mesure du taux d’erreurs
•Quels sont les taux d'erreurs ?
•Déduire les axes d'amélioration
•Modélisation et développement de la fonction de coût
•Ce qu’on va chercher à optimiser
•Comment faire progresser la fiabilité de la donnée sans retomber
dans un cache basique ou tout est requêté à période fixe
•Tech : ELS, Greenplum, Spark, Mahout, Akka
2
Step 3 : Machine Learning
•La machine ne suffit pas
→ des « sachants » métiers pour révéler le sens des données
•Le Data Scientist cherche des logiques pour générer l’information qu’on
n’a pas
•Ex. : on a reconstruit toute la matrice de corrélation des gammes de services
•Le ML a montré les modèles qui permettaient de générer de l’information
d’aussi bonne qualité que si on l’avait reçue
•Ex. : déduire les prix « avec cartes de fidélité » (peu de volumes) à partir du flux « sans cartes »
… simulation du volume
•On a cherché à prédire le prix suivant
•Rétro-engineering sur le Yield
•Remarque : parfois les modèles pensés par le Data Scientist n’étaient pas
automatisables → introductions des compétences de Data Engineers
•Pragmatisme & Culture du quick win
•Réduction du nombre de requêtes au catalogue
3
Step 3 : Machine Learning
•Les services historiques du cache portés sur le nouveau système
•Volume : 200 à 2000 trajets proposés
• Le système devient ouvert et force de potentiel grâce au Big Data
•« Meilleur tarif pour un trajet » devient le « Flux Trains » càd « le meilleur tarif pour 10 trajets
différent », avec le même niveau d’expérience client
•À ce stade on propose de nouvelles Feature en Production directement à
partir du gisement de données
•« Meilleur prix du jour » + « n clients ont vu la même chose que vous »
•« Jauge de prix » pour aider les clients à fixer leurs seuils d’alerte sur les tarifs
4
Step 3 : Machine Learning
•L’équipe est devenue une « Feature Team »
•Compétences Front
•API Management
•Service évolué d’alerte sur le Petits prix
•Propositions de trajets alternatifs, moins chers et plus longs
•Services Front :
•Meilleur prix du jour, du mois
•Meilleur prix des trains de la journée
•toute variété tarifaire confondue
•Au lieu de 6 propositions dans un devis standard
•Flux comparateurs et Ciblages proposés à des partenaires
5
Depuis 2016
•Le système est très évolutif et les métiers ont pleins d’idées J
•Passer en mode « push » (Kafka)
•Répliquer rapidement sur un autre transporteur (les BUS)
•On refait en quelques sprints le parcours de initial de plusieurs mois
•Donnée plus volatile → mise en qualité ; confirme l’importance du Data Engineer
•Réinjecter du Machine Learning
•Privilégier la Data Analyse pour anticiper les changements plutôt que de repartir
d’une copie blanche en Data Science
•Data ré-engineering sous contrainte pour rafraichir nos données avant le client
(INRIA – Tech : Algo. Random Forest)
•Prioriser nos prochains Dévs par la mesure
•mieux isoler les pbs, analyser dans le détail (Tech : Kibana, Grafana)
Le système aujourd’hui
Data
•7 M de Logs traités / jour ; chaque Log est traité et indexé en 1,5s
•22 M de propositions Train
•2 M de propositions Bus
•78 M de préférences utilisateurs
•500 K statistiques de prix
•250 K trajets trains
•Cluster Elasticsearch de Production : 200 M de documents
•Hadoop/HDFS : 64 TO de données ; une dizaine de traitements Spark
•Kafka : 300 messages/s
Conclusions et enseignements
Le chemin est long … mais nécessaire
•La valeur se développe au fur et à mesure, différemment de ce qu’on
imagine au départ
•donc il ne faut rien promettre au départ J mais prouver
progressivement (mesures)
•au final : des règles assez simples
•Equipe évolutive : Component & Tech → Feature &
Multi-compétences
•La vraie Data Science est nécessaire mais ponctuellement
•Il faut orienter les Data Scientist vers la Data Analyse
•C’est là qu’on a le plus de valeur, par incréments
•C’est aussi leur meilleur apprentissage
Aujourd’hui chez OUI.sncf
•30 collaborateurs font du Big Data toutes disciplines et
territoires confondus
Des questions

Mais conteúdo relacionado

Semelhante a TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au Machine Learning

MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?
MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?
MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?Benoit Fillon
 
Azure Stream analytics / Event Hub
Azure Stream analytics / Event HubAzure Stream analytics / Event Hub
Azure Stream analytics / Event HubMichel HUBERT
 
Track 2 - Atelier 3 - Comment Ysance met le cloud au service du digital avec ...
Track 2 - Atelier 3 - Comment Ysance met le cloud au service du digital avec ...Track 2 - Atelier 3 - Comment Ysance met le cloud au service du digital avec ...
Track 2 - Atelier 3 - Comment Ysance met le cloud au service du digital avec ...Amazon Web Services
 
Le Cloud, une réponse à nos besoins - Apéro Digital avril 2019 - Pascal Martin
Le Cloud, une réponse à nos besoins - Apéro Digital avril 2019 - Pascal MartinLe Cloud, une réponse à nos besoins - Apéro Digital avril 2019 - Pascal Martin
Le Cloud, une réponse à nos besoins - Apéro Digital avril 2019 - Pascal MartinPascal MARTIN
 
Modélisation de données pour MongoDB
Modélisation de données pour MongoDBModélisation de données pour MongoDB
Modélisation de données pour MongoDBMongoDB
 
Morning Tech#1 BigData - Oxalide Academy
Morning Tech#1 BigData - Oxalide AcademyMorning Tech#1 BigData - Oxalide Academy
Morning Tech#1 BigData - Oxalide AcademyOxalide
 
EXL Group - Offre Data Science
EXL Group - Offre Data ScienceEXL Group - Offre Data Science
EXL Group - Offre Data ScienceAshraf Grioute
 
OpenDataSoft - Les plateformes ouvertes de données, nouveau levier de l'innov...
OpenDataSoft - Les plateformes ouvertes de données, nouveau levier de l'innov...OpenDataSoft - Les plateformes ouvertes de données, nouveau levier de l'innov...
OpenDataSoft - Les plateformes ouvertes de données, nouveau levier de l'innov...OpenDataSoft
 
Tracer la voie vers le big data avec Talend et AWS
Tracer la voie vers le big data avec Talend et AWSTracer la voie vers le big data avec Talend et AWS
Tracer la voie vers le big data avec Talend et AWSJean-Michel Franco
 
OWF12/BIG DATA Presentation big data owf ysance
OWF12/BIG DATA Presentation big data owf ysanceOWF12/BIG DATA Presentation big data owf ysance
OWF12/BIG DATA Presentation big data owf ysanceParis Open Source Summit
 
Comment passer d'un POC en prod @ plusieurs milliards de rêquetes
Comment passer d'un POC en prod @ plusieurs milliards de rêquetesComment passer d'un POC en prod @ plusieurs milliards de rêquetes
Comment passer d'un POC en prod @ plusieurs milliards de rêquetesCarles Sistare
 
Optimisations et Performances d'un POC en prod @ plusieurs milliards de requê...
Optimisations et Performances d'un POC en prod @ plusieurs milliards de requê...Optimisations et Performances d'un POC en prod @ plusieurs milliards de requê...
Optimisations et Performances d'un POC en prod @ plusieurs milliards de requê...David Caramelo
 
Denodo, pilier central de votre stratégie API
Denodo, pilier central de votre stratégie APIDenodo, pilier central de votre stratégie API
Denodo, pilier central de votre stratégie APIDenodo
 
Réflexions sur les missions et les compétences liées à une démarche data terr...
Réflexions sur les missions et les compétences liées à une démarche data terr...Réflexions sur les missions et les compétences liées à une démarche data terr...
Réflexions sur les missions et les compétences liées à une démarche data terr...Mairie de Paris
 
REX Cassandra et Spark au service de la musique en ligne (Français)
REX Cassandra et Spark au service de la musique en ligne (Français)REX Cassandra et Spark au service de la musique en ligne (Français)
REX Cassandra et Spark au service de la musique en ligne (Français)DataStax Academy
 
AWS Paris Summit 2014 - T3 - Du temps réel au data warehouse : capturez et an...
AWS Paris Summit 2014 - T3 - Du temps réel au data warehouse : capturez et an...AWS Paris Summit 2014 - T3 - Du temps réel au data warehouse : capturez et an...
AWS Paris Summit 2014 - T3 - Du temps réel au data warehouse : capturez et an...Amazon Web Services
 
Recommender systems
Recommender systemsRecommender systems
Recommender systemsrecsysfr
 
Cloud design patterns
Cloud design patternsCloud design patterns
Cloud design patternsPascal Laurin
 
Neo4j - Cas d'usages pour votre métier
Neo4j - Cas d'usages pour votre métierNeo4j - Cas d'usages pour votre métier
Neo4j - Cas d'usages pour votre métierNeo4j
 
GraphTour Paris - Cas d'usages populaires Neo4j
GraphTour Paris - Cas d'usages populaires Neo4jGraphTour Paris - Cas d'usages populaires Neo4j
GraphTour Paris - Cas d'usages populaires Neo4jNeo4j
 

Semelhante a TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au Machine Learning (20)

MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?
MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?
MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?
 
Azure Stream analytics / Event Hub
Azure Stream analytics / Event HubAzure Stream analytics / Event Hub
Azure Stream analytics / Event Hub
 
Track 2 - Atelier 3 - Comment Ysance met le cloud au service du digital avec ...
Track 2 - Atelier 3 - Comment Ysance met le cloud au service du digital avec ...Track 2 - Atelier 3 - Comment Ysance met le cloud au service du digital avec ...
Track 2 - Atelier 3 - Comment Ysance met le cloud au service du digital avec ...
 
Le Cloud, une réponse à nos besoins - Apéro Digital avril 2019 - Pascal Martin
Le Cloud, une réponse à nos besoins - Apéro Digital avril 2019 - Pascal MartinLe Cloud, une réponse à nos besoins - Apéro Digital avril 2019 - Pascal Martin
Le Cloud, une réponse à nos besoins - Apéro Digital avril 2019 - Pascal Martin
 
Modélisation de données pour MongoDB
Modélisation de données pour MongoDBModélisation de données pour MongoDB
Modélisation de données pour MongoDB
 
Morning Tech#1 BigData - Oxalide Academy
Morning Tech#1 BigData - Oxalide AcademyMorning Tech#1 BigData - Oxalide Academy
Morning Tech#1 BigData - Oxalide Academy
 
EXL Group - Offre Data Science
EXL Group - Offre Data ScienceEXL Group - Offre Data Science
EXL Group - Offre Data Science
 
OpenDataSoft - Les plateformes ouvertes de données, nouveau levier de l'innov...
OpenDataSoft - Les plateformes ouvertes de données, nouveau levier de l'innov...OpenDataSoft - Les plateformes ouvertes de données, nouveau levier de l'innov...
OpenDataSoft - Les plateformes ouvertes de données, nouveau levier de l'innov...
 
Tracer la voie vers le big data avec Talend et AWS
Tracer la voie vers le big data avec Talend et AWSTracer la voie vers le big data avec Talend et AWS
Tracer la voie vers le big data avec Talend et AWS
 
OWF12/BIG DATA Presentation big data owf ysance
OWF12/BIG DATA Presentation big data owf ysanceOWF12/BIG DATA Presentation big data owf ysance
OWF12/BIG DATA Presentation big data owf ysance
 
Comment passer d'un POC en prod @ plusieurs milliards de rêquetes
Comment passer d'un POC en prod @ plusieurs milliards de rêquetesComment passer d'un POC en prod @ plusieurs milliards de rêquetes
Comment passer d'un POC en prod @ plusieurs milliards de rêquetes
 
Optimisations et Performances d'un POC en prod @ plusieurs milliards de requê...
Optimisations et Performances d'un POC en prod @ plusieurs milliards de requê...Optimisations et Performances d'un POC en prod @ plusieurs milliards de requê...
Optimisations et Performances d'un POC en prod @ plusieurs milliards de requê...
 
Denodo, pilier central de votre stratégie API
Denodo, pilier central de votre stratégie APIDenodo, pilier central de votre stratégie API
Denodo, pilier central de votre stratégie API
 
Réflexions sur les missions et les compétences liées à une démarche data terr...
Réflexions sur les missions et les compétences liées à une démarche data terr...Réflexions sur les missions et les compétences liées à une démarche data terr...
Réflexions sur les missions et les compétences liées à une démarche data terr...
 
REX Cassandra et Spark au service de la musique en ligne (Français)
REX Cassandra et Spark au service de la musique en ligne (Français)REX Cassandra et Spark au service de la musique en ligne (Français)
REX Cassandra et Spark au service de la musique en ligne (Français)
 
AWS Paris Summit 2014 - T3 - Du temps réel au data warehouse : capturez et an...
AWS Paris Summit 2014 - T3 - Du temps réel au data warehouse : capturez et an...AWS Paris Summit 2014 - T3 - Du temps réel au data warehouse : capturez et an...
AWS Paris Summit 2014 - T3 - Du temps réel au data warehouse : capturez et an...
 
Recommender systems
Recommender systemsRecommender systems
Recommender systems
 
Cloud design patterns
Cloud design patternsCloud design patterns
Cloud design patterns
 
Neo4j - Cas d'usages pour votre métier
Neo4j - Cas d'usages pour votre métierNeo4j - Cas d'usages pour votre métier
Neo4j - Cas d'usages pour votre métier
 
GraphTour Paris - Cas d'usages populaires Neo4j
GraphTour Paris - Cas d'usages populaires Neo4jGraphTour Paris - Cas d'usages populaires Neo4j
GraphTour Paris - Cas d'usages populaires Neo4j
 

Mais de Publicis Sapient Engineering

XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humainXebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humainPublicis Sapient Engineering
 
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveurXebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveurPublicis Sapient Engineering
 
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...Publicis Sapient Engineering
 
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin Publicis Sapient Engineering
 
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?Publicis Sapient Engineering
 
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?Publicis Sapient Engineering
 
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribuéXebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribuéPublicis Sapient Engineering
 
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...Publicis Sapient Engineering
 
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !Publicis Sapient Engineering
 
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des datavizXebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des datavizPublicis Sapient Engineering
 
XebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilitéXebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilitéPublicis Sapient Engineering
 
XebiCon'18 - Sécuriser son API avec OpenID Connect
XebiCon'18 - Sécuriser son API avec OpenID ConnectXebiCon'18 - Sécuriser son API avec OpenID Connect
XebiCon'18 - Sécuriser son API avec OpenID ConnectPublicis Sapient Engineering
 
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...Publicis Sapient Engineering
 
XebiCon'18 - La sécurité, douce illusion même en 2018
XebiCon'18 - La sécurité, douce illusion même en 2018XebiCon'18 - La sécurité, douce illusion même en 2018
XebiCon'18 - La sécurité, douce illusion même en 2018Publicis Sapient Engineering
 
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...Publicis Sapient Engineering
 
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...Publicis Sapient Engineering
 

Mais de Publicis Sapient Engineering (20)

XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humainXebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
 
Xebicon'18 - IoT: From Edge to Cloud
Xebicon'18 - IoT: From Edge to CloudXebicon'18 - IoT: From Edge to Cloud
Xebicon'18 - IoT: From Edge to Cloud
 
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveurXebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
 
XebiCon'18 - Modern Infrastructure
XebiCon'18 - Modern InfrastructureXebiCon'18 - Modern Infrastructure
XebiCon'18 - Modern Infrastructure
 
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
 
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
 
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
 
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
 
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribuéXebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
 
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
 
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
 
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des datavizXebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
 
XebiCon'18 - Le développeur dans la Pop Culture
XebiCon'18 - Le développeur dans la Pop Culture XebiCon'18 - Le développeur dans la Pop Culture
XebiCon'18 - Le développeur dans la Pop Culture
 
XebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilitéXebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilité
 
XebiCon'18 - Sécuriser son API avec OpenID Connect
XebiCon'18 - Sécuriser son API avec OpenID ConnectXebiCon'18 - Sécuriser son API avec OpenID Connect
XebiCon'18 - Sécuriser son API avec OpenID Connect
 
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
 
XebiCon'18 - Spark NLP, un an après
XebiCon'18 - Spark NLP, un an aprèsXebiCon'18 - Spark NLP, un an après
XebiCon'18 - Spark NLP, un an après
 
XebiCon'18 - La sécurité, douce illusion même en 2018
XebiCon'18 - La sécurité, douce illusion même en 2018XebiCon'18 - La sécurité, douce illusion même en 2018
XebiCon'18 - La sécurité, douce illusion même en 2018
 
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
 
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
 

TEch4Exec - OUI.sncf propose des voyages moins chers grâce au Big Data et au Machine Learning

  • 1. #Tech4Exec OUI.sncf propose des voyages moins chers grâce au Big Data et au Machine Learning
  • 2. Agenda •Contexte Data OUI.sncf •Exemple « Trajets alternatifs » •Conclusion & Questions
  • 4. Chiffres •1,5 Mds de recherches d’itinéraires / an •33 M de possibilités de voyages •100 To de données / mois Usages •Assurer la QoS de nos SI •Centralisation des LOGs •Hypervision •Personnaliser les Offres •Prédiction des prix et Propositions de trajets alternatifs
  • 5. Focus sur la Proposition de trajets alternatifs 2013 – 2015 : POC par une « Component Team » •6 mois pour explorer la donnée •18 mois pour construire et prouver la fiabilité du nouveau système 2016 – aujourd’hui : Indus. et Valorisation par une « Feature Team » •Construction de fonctionnalités •Exposition de service
  • 6. Trajets alternatifs Et autres contributions de la Data et du Machine Learning au développement de l’Offre OUI.sncf
  • 7. Problème : un cache de données inadapté Contraintes •Distributeur contractuellement limité dans sa capacité de requêter le Catalogue du transporteur •Refonte Offre SNCF avec effet volume sur l’Entrepôt d’Offres •Cache limité à 200 trajets •Asset peu résiliant Innovation •Créer un cache avec un volume de prix suffisant pour proposer le meilleur prix à la journée Décision •Utiliser le trafic naturel du passé pour remplacer l’EO Une expérimentation sur 6 mois pour dire si le produit est viable et mérite une équipe à plein temps
  • 8. Proof of Concept - Démarche Démarche Agile Exploratoire •Kanban sur la totalité du projet Atelier initiaux pour déterminer les objectifs => Fonction du coût Puis cadencée par des paliers et des “ stop ou encore “ mensuels
  • 9. Proof of Concept - Dispositif Une mini équipe : ● 1 Architecte et Dev Sénior (compétences écosystème Hadoop) ● 1 Data Scientist (issu de la finance et du marketing) ● 1 Dev plus junior (réparti sur 2 personnes) ● 1 Scrum Master ● Des contacts métiers pour aider le Data Scientist à décoder les modèles de données Objectif : articuler ces compétences autour d’objectifs communs
  • 10. Step 1 : Analyse exploratoire & Data Cleaning •Analyse exploratoire des LOGs •Statistiques de fréquence de renouvellement des informations (trajets/tarifs) •Data Cleaning •Facteurs d'influence sur la vitesse de disparition d'un trajet/tarif (saisonnalité, classes de tarifs, comportements clients) •Analyse de l'évolution du stock •Tech : Flume, Hadoop & Jobs Map/Reduce •Technos déjà en place chez OUI.sncf en 2013 •Résilientes – Tolérance à la panne 1
  • 11. Step 2 : Système naïf / Modélisation •Une architecture sans intelligence « Machine Learning » •On reçoit un historique de donnée et on publie la plus « fraiche » •Aucune règle •Construction de la Mesure du taux d’erreurs •Quels sont les taux d'erreurs ? •Déduire les axes d'amélioration •Modélisation et développement de la fonction de coût •Ce qu’on va chercher à optimiser •Comment faire progresser la fiabilité de la donnée sans retomber dans un cache basique ou tout est requêté à période fixe •Tech : ELS, Greenplum, Spark, Mahout, Akka 2
  • 12. Step 3 : Machine Learning •La machine ne suffit pas → des « sachants » métiers pour révéler le sens des données •Le Data Scientist cherche des logiques pour générer l’information qu’on n’a pas •Ex. : on a reconstruit toute la matrice de corrélation des gammes de services •Le ML a montré les modèles qui permettaient de générer de l’information d’aussi bonne qualité que si on l’avait reçue •Ex. : déduire les prix « avec cartes de fidélité » (peu de volumes) à partir du flux « sans cartes » … simulation du volume •On a cherché à prédire le prix suivant •Rétro-engineering sur le Yield •Remarque : parfois les modèles pensés par le Data Scientist n’étaient pas automatisables → introductions des compétences de Data Engineers •Pragmatisme & Culture du quick win •Réduction du nombre de requêtes au catalogue 3
  • 13. Step 3 : Machine Learning •Les services historiques du cache portés sur le nouveau système •Volume : 200 à 2000 trajets proposés • Le système devient ouvert et force de potentiel grâce au Big Data •« Meilleur tarif pour un trajet » devient le « Flux Trains » càd « le meilleur tarif pour 10 trajets différent », avec le même niveau d’expérience client •À ce stade on propose de nouvelles Feature en Production directement à partir du gisement de données •« Meilleur prix du jour » + « n clients ont vu la même chose que vous » •« Jauge de prix » pour aider les clients à fixer leurs seuils d’alerte sur les tarifs 4
  • 14. Step 3 : Machine Learning •L’équipe est devenue une « Feature Team » •Compétences Front •API Management •Service évolué d’alerte sur le Petits prix •Propositions de trajets alternatifs, moins chers et plus longs •Services Front : •Meilleur prix du jour, du mois •Meilleur prix des trains de la journée •toute variété tarifaire confondue •Au lieu de 6 propositions dans un devis standard •Flux comparateurs et Ciblages proposés à des partenaires 5
  • 15. Depuis 2016 •Le système est très évolutif et les métiers ont pleins d’idées J •Passer en mode « push » (Kafka) •Répliquer rapidement sur un autre transporteur (les BUS) •On refait en quelques sprints le parcours de initial de plusieurs mois •Donnée plus volatile → mise en qualité ; confirme l’importance du Data Engineer •Réinjecter du Machine Learning •Privilégier la Data Analyse pour anticiper les changements plutôt que de repartir d’une copie blanche en Data Science •Data ré-engineering sous contrainte pour rafraichir nos données avant le client (INRIA – Tech : Algo. Random Forest) •Prioriser nos prochains Dévs par la mesure •mieux isoler les pbs, analyser dans le détail (Tech : Kibana, Grafana)
  • 16. Le système aujourd’hui Data •7 M de Logs traités / jour ; chaque Log est traité et indexé en 1,5s •22 M de propositions Train •2 M de propositions Bus •78 M de préférences utilisateurs •500 K statistiques de prix •250 K trajets trains •Cluster Elasticsearch de Production : 200 M de documents •Hadoop/HDFS : 64 TO de données ; une dizaine de traitements Spark •Kafka : 300 messages/s
  • 17. Conclusions et enseignements Le chemin est long … mais nécessaire •La valeur se développe au fur et à mesure, différemment de ce qu’on imagine au départ •donc il ne faut rien promettre au départ J mais prouver progressivement (mesures) •au final : des règles assez simples •Equipe évolutive : Component & Tech → Feature & Multi-compétences •La vraie Data Science est nécessaire mais ponctuellement •Il faut orienter les Data Scientist vers la Data Analyse •C’est là qu’on a le plus de valeur, par incréments •C’est aussi leur meilleur apprentissage Aujourd’hui chez OUI.sncf •30 collaborateurs font du Big Data toutes disciplines et territoires confondus