Anticiper l'affluence grâce au machine learning

Anticiper l'affluence grâce au machine learning

Comment prédire la fréquentation pour mieux planifier équipes et stocks. Approche pragmatique avec XGBoost, météo et calendrier. Applicable à la restauration, retail, musées, loisirs.

Le problème

Combien de visiteurs demain ? La question revient chaque jour pour les commerces, restaurants, musées, salles de sport, espaces de loisirs. Trop de personnel prévu, c'est de la marge perdue. Pas assez, c'est un service dégradé.

Nous avons travaillé sur ce sujet dans la restauration, où le problème est particulièrement aigu. Sur un service de 150 couverts, une erreur de 15 passe inaperçue. Sur un service de 25 couverts, la même erreur change tout. Les exemples de cet article viennent de ce projet, mais l'approche s'applique à tout établissement dont la fréquentation varie.

Dans cet article, nous partageons notre approche : comprendre le métier avec les équipes, choisir la bonne méthode de prédiction, préparer les données, et déployer un modèle qui fonctionne au quotidien.

Ce qui influence l'affluence

La fréquentation d'un établissement dépend de facteurs qu'on connaît bien :

  • La météo. Un samedi ensoleillé n'a rien à voir avec un samedi pluvieux.
  • Le calendrier. Jour de la semaine, vacances scolaires, jours fériés.
  • Les événements. Un concert ou un match à proximité peut tout changer.
  • L'historique. Les patterns se répètent d'une année sur l'autre.

Ces facteurs interagissent entre eux. La météo n'a pas le même effet un mardi qu'un samedi. Les vacances de février ne ressemblent pas à celles de juillet.

Les approches de prédiction

Plusieurs familles de méthodes existent pour prévoir des séries temporelles. Chacune a ses forces et ses limites.

Méthodes statistiques classiques

ARIMA et Holt-Winters sont les approches traditionnelles. Elles modélisent la série à partir de ses valeurs passées : tendance, saisonnalité, bruit. Ces méthodes sont bien documentées et fonctionnent sur des données régulières.

Leur limite : elles ne prennent pas en compte les variables externes. Impossible d'intégrer la météo ou les événements locaux dans le modèle. Pour de l'affluence, c'est un handicap majeur.

Références : Forecasting: Principles and Practice - ARIMA, Holt-Winters

Prophet

Prophet, développé par Meta, a popularisé la prévision de séries temporelles. Il décompose la série en tendance, saisonnalité (annuelle, hebdomadaire) et effets des jours fériés. Son API simple et sa robustesse aux données manquantes l'ont rendu populaire.

C'est un bon point de départ, mais Prophet reste un modèle additif : il suppose que les effets s'additionnent. Il ne capture pas bien les interactions complexes — par exemple, que la météo affecte différemment l'affluence selon le jour de la semaine.

Référence : Prophet - Documentation officielle

Deep learning

Les réseaux de neurones récurrents (LSTM) et les architectures spécialisées (N-BEATS, Temporal Fusion Transformer) peuvent capturer des patterns très complexes. Ces modèles apprennent directement depuis les données brutes, sans feature engineering manuel.

Le problème : ils nécessitent beaucoup de données pour bien généraliser — souvent plusieurs années d'historique à haute fréquence. Ils demandent aussi une infrastructure GPU et des compétences spécifiques pour l'entraînement et le déploiement. Pour un établissement avec 2-3 ans d'historique journalier, c'est souvent surdimensionné.

Références : N-BEATS (arXiv), Temporal Fusion Transformer (arXiv)

Gradient boosting

XGBoost et LightGBM sont des algorithmes d'apprentissage par arbres de décision. Ils excellent sur les données tabulaires — exactement ce qu'on a ici : une ligne par jour avec des colonnes pour la météo, le calendrier, l'historique.

Leur force : ils capturent naturellement les interactions entre variables sans qu'on ait besoin de les spécifier. Ils intègrent facilement des variables hétérogènes (numériques, catégorielles, binaires). Et ils sont interprétables : on peut voir quelles variables pèsent dans les prédictions.

Ces algorithmes dominent les benchmarks académiques sur données tabulaires, comme le confirme l'étude "Tabular Data: Deep Learning is Not All You Need" et les benchmarks récents (2024) comparant 20 modèles sur plus de 100 datasets.

Références : XGBoost - Documentation, LightGBM - Documentation

Notre choix : XGBoost

Pour ce cas d'usage, XGBoost offre le meilleur compromis :

  • Il intègre les variables externes (météo, calendrier, événements)
  • Il capture les interactions sans les coder manuellement
  • Il fonctionne bien avec quelques années d'historique
  • Il tourne sur n'importe quel serveur, sans GPU
  • Il est stable, documenté, maintenable

Ce n'est pas l'outil le plus sophistiqué, mais c'est celui qui correspond aux contraintes du terrain.

L'algorithme choisi, le vrai travail commence. Car un modèle de prédiction ne vaut que ce que valent les données et les hypothèses qu'on y injecte. Avant de préparer les données, il faut comprendre le métier.

Le travail avec les équipes

Avant de parler technique, il y a un travail essentiel : comprendre le métier.

Quelle erreur coûte le plus cher ? Prévoir 80 couverts quand il y en a 100, ou prévoir 120 quand il y en a 100 ? La réponse n'est pas évidente et dépend du contexte : coût du personnel inoccupé vs coût d'un service dégradé, produits qui se conservent ou non, capacité à rappeler du personnel en urgence...

Ces discussions avec les équipes sur place permettent de définir comment le modèle doit être pénalisé quand il se trompe. Si sous-estimer est plus grave que surestimer, on configure le modèle en conséquence. C'est un choix métier, pas technique.

Même chose pour évaluer la qualité des prédictions. Une erreur de 10 couverts sur un service de 30, ce n'est pas pareil qu'une erreur de 10 sur un service de 150. Les métriques qu'on suit doivent refléter ce qui compte vraiment pour l'exploitation.

Enfin, les données d'entraînement se définissent avec le terrain. Quelles périodes sont représentatives ? Faut-il exclure les mois de travaux ou une année atypique ? Y a-t-il des événements locaux récurrents à intégrer ? Chaque établissement a son contexte : une brasserie de centre-ville n'a pas les mêmes dynamiques qu'un restaurant de zone commerciale. Cette connaissance métier oriente la préparation des données et la sélection des variables pertinentes.

Une fois ces choix métier posés, on passe à la préparation concrète des données qui alimenteront le modèle.

La préparation des données

L'algorithme ne fait pas tout. Ce qui fait la différence, c'est la qualité des données qu'on lui fournit :

  • L'historique de fréquentation, nettoyé et structuré
  • Les données météo récupérées automatiquement (via Open-Meteo)
  • Le calendrier enrichi : vacances par zone, jours fériés, événements locaux
  • Les bonnes variables temporelles : jour de la semaine, semaine de l'année, distance aux vacances...

Le modèle apprend les relations entre ces facteurs et l'affluence passée. Ensuite, il applique ce qu'il a appris aux jours à venir.

Ce qu'il faut pour commencer

  • Un historique de fréquentation. Idéalement 1 à 2 ans, pour capturer les variations saisonnières.
  • Une granularité suffisante. Par jour au minimum, par créneau horaire si possible.

Les données météo et calendrier, on les récupère automatiquement.

Autres secteurs concernés

L'approche décrite s'applique partout où la fréquentation fluctue et impacte les ressources à mobiliser :

  • Commerce de détail. Anticiper l'affluence pour ajuster les plannings de caisse et le réassort.
  • Musées et sites culturels. Gérer les flux de visiteurs, optimiser les effectifs d'accueil et de médiation.
  • Salles de sport. Prévoir les pics de fréquentation pour éviter la saturation des équipements.
  • Événementiel. Estimer la participation pour dimensionner la logistique (traiteur, sécurité, parking).
  • Parcs et loisirs. Adapter les ouvertures d'attractions et les effectifs selon l'affluence prévue.

Les variables changent (météo plus ou moins déterminante selon le secteur, événements spécifiques au territoire), mais le principe reste le même : exploiter l'historique et le contexte pour mieux anticiper.

Conclusion

Prédire l'affluence n'est pas un problème de data science complexe. C'est un problème de bon sens, outillé par les bonnes méthodes. Le choix pragmatique de XGBoost, le travail avec les équipes métier pour comprendre ce qui compte vraiment, des données bien préparées : ce sont ces ingrédients qui font la différence.

Un modèle qui fonctionne au quotidien vaut mieux qu'un modèle sophistiqué que personne ne maintient. L'objectif n'est pas la prédiction parfaite, mais une aide à la décision fiable que les équipes adoptent.

Vous voulez en discuter ? Contactez-nous.

Pour aller plus loin