L'apprentissage automatique derrière Farecast

Prédire la boîte noire des prix des vols

Il y a quelques années, je suis tombé sur ce document de recherche «Acheter ou ne pas acheter: extraire des données sur les billets d'avion pour minimiser le prix d'achat des billets», lorsque je travaillais à l'UCL sur un projet qui cherchait à aider les gens à mieux naviguer dans les villes en utilisant Les données. Je venais de recevoir un grand ensemble de données sur les transactions par carte Oyster de Transport for London. Ce document, qui cherche à recommander l'achat d'un billet d'avion, nous a inspiré à appliquer un concept similaire pour aider les gens à décider quelle carte de voyage acheter, avec un système de recommandation qui apprendrait de leurs habitudes de voyage. Cette recherche a abouti à cet article «Mining Mobility Data to Minimize Travellers 'Spending on Public Transport» et à cette nouvelle de la BBC.

J'ai refait surface le document de données sur les billets d'avion pour le groupe de lecture Skyscanner - nous nous sommes réunis pour discuter de documents de recherche qui abordent des problèmes similaires à ceux auxquels nous sommes confrontés au sein de Skyscanner. Tout comme le dernier article, voici un bref aperçu non technique de ce dont nous avons discuté.

Faire un produit à partir de la prévision des prix

Les prix des vols sont notoirement susceptibles de changer: je suis sûr que la plupart d'entre nous ont regardé un vol, y ont réfléchi pendant un certain temps, puis n'y reviennent que pour constater que son prix avait augmenté (ou, si nous '' re lucky, down).

Comme l'expliquent les auteurs de cet article, une partie de la prévision d'un prix de vol semble être de décoder le moteur de décision caché que les transporteurs utilisent pour fixer leurs propres prix: peut-être que le prix d'un itinéraire actuel est basé sur les sièges disponibles, sur demande, sur les prix des concurrents, sur la période de l'année, ou une multitude d'autres facteurs. Étant donné qu'il y a tellement de raisons différentes pour lesquelles les prix des vols peuvent changer (et nous n'avons pas nécessairement accès à toutes les données que les fournisseurs utilisent pour fixer les prix), pourrions-nous jamais raisonnablement développer des moyens de prédire les prix des vols?

Ce scénario est celui où l'apprentissage automatique peut venir à la rescousse. En utilisant la seule hypothèse selon laquelle il y aura une certaine similitude entre les prix des itinéraires historiques et futurs, les auteurs créent un modèle basé uniquement sur des données qui sont facilement disponibles sur le Web: l'itinéraire (par exemple, Seattle-Washington), les jours avant le départ (par exemple, 10), et les prix historiques. Ce modèle essaie de répondre à la question: étant donné un itinéraire, une date de départ et le prix actuel, dois-je acheter le billet ou dois-je attendre?

Les auteurs jettent un certain nombre de méthodes d'apprentissage automatique bien connues sur le problème, telles que l'apprentissage par renforcement et la prévision de séries chronologiques, et un modèle combiné qui (sans surprise), s'avère être le plus précis. Le document, cependant, se retient sur un certain nombre de fronts: il ne nous donne des résultats que pour un petit ensemble d'itinéraires sélectionnés à la main, ne considère que jusqu'à 21 jours avant une date de départ (ce qui signifie que 75% de leurs utilisateurs ne seraient pas et ne tient pas compte des effets à long terme comme la saisonnalité (pour être juste, c'était avant l'ère des mégadonnées, donc l'évolutivité était un problème pour eux).

Néanmoins, il y a un certain nombre de points clés à retenir dans ce document:

  1. Précision des prédictions
  2. Prédire n'est pas la même chose qu'informer. Les récentes annonces de Google montrent qu'ils ont mis en œuvre quelque chose comme ça dans leur recherche de vols. Cependant, ils informent les utilisateurs sur la base des tendances historiques («ce tarif est susceptible d'augmenter» plutôt que «nous prévoyons que ce tarif sera x»).
  3. Les données ordonnées dans le temps ne signifient pas un problème de série chronologique. Étant donné que les données sont ordonnées par le temps, l'une des approches «naturelles» à essayer était un modèle qui prédit si un prix augmentera ou baissera en fonction de son comportement récent. Cependant, les auteurs ont constaté que les prix des vols avaient tendance à augmenter - à la hausse ou à la baisse - et donc prédire le prochain prix en fonction de ce qui s'est passé au cours des dernières heures était l'une des approches les moins performantes.

Les auteurs de ce document ont ensuite fondé Farecast, qui a finalement été acquis par Microsoft. Bing a finalement abandonné la fonction de prédiction du Farecast, mais d'autres moteurs de méta-recherche ont développé des produits similaires; Kayak a un outil de prédiction des prix depuis plus de 3 ans (voir son article de blog annonçant la fonctionnalité), et Google vient de lancer un outil de prédiction dans son récent article de blog.

Conclusion

Si vous êtes intéressé par l'aspect technique de ce travail, consultez l'article, contactez-moi sur Twitter ou suivez-moi sur Medium - d'autres résumés de lecture sont en cours!