Prévision des ventes pour les TPE et PME : un guide pratique qui commence simple
Prévision des ventes et de la demande pour TPE/PME : des méthodes de référence aux modèles statistiques et au ML, backtesting honnête, Ramadan et fêtes mobiles, réassort.
La plupart des TPE et PME font déjà de la prévision des ventes. Simplement, elle se fait de tête ou dans un tableur : « au dernier Ramadan on a vendu à peu près ça, donc on commande un peu plus ». Parfois ça marche. Souvent, ça donne des ruptures sur les meilleures ventes et du stock dormant sur tout le reste.
Pas besoin d'un service data science pour faire mieux. Il faut un historique de ventes propre, quelques méthodes de référence honnêtes, et un moyen de vérifier qu'un modèle fait vraiment mieux qu'elles. Ce guide explique comment j'aborde la prévision de la demande, des méthodes les plus simples jusqu'au machine learning, et quand l'effort n'en vaut pas la peine.
Ce qu'il faut avant de commencer
- Un historique des ventes au niveau où vous décidez. Si vous réapprovisionnez par produit et par magasin chaque semaine, il vous faut les ventes hebdomadaires par produit et par magasin. Deux ans, c'est un bon début : chaque saison apparaît au moins deux fois.
- Les ruptures de stock. Un jour de rupture affiche zéro vente, mais la demande n'était pas nulle. Si ces jours ne sont pas signalés, le modèle apprend que personne ne voulait le produit.
- Les événements connus. Promotions, changements de prix, fêtes, ouvertures et fermetures de magasins.
- Une décision à améliorer. Une prévision n'est utile que si elle change une commande, un planning ou une production.
La prévision des ventes commence par des méthodes de référence
Avant tout modèle, mettez en place des méthodes simples. Elles ne coûtent rien, s'expliquent facilement et sont étonnamment difficiles à battre :
- Naïve : la semaine prochaine ressemblera à cette semaine.
- Naïve saisonnière : la semaine prochaine ressemblera à la même semaine l'an dernier (ou au même jour la semaine précédente, pour des données quotidiennes).
- Moyenne mobile : la moyenne des dernières semaines.
Tout modèle plus complexe doit faire mieux qu'elles, mesuré de la même façon. Sinon, gardez la méthode simple. J'ai vu des équipes passer des mois sur un modèle qu'une prévision naïve saisonnière égalait.
Les modèles statistiques
L'étape suivante, ce sont les modèles classiques de séries temporelles :
- Le lissage exponentiel donne plus de poids à l'historique récent, et ses versions saisonnières (souvent appelées Holt-Winters) gèrent la tendance et les cycles annuels. C'est robuste et efficace pour beaucoup de produits aux ventes régulières.
- Les modèles de la famille ARIMA capturent la dépendance de chaque période aux précédentes. Avec des termes saisonniers et des variables externes, ils peuvent intégrer des effets comme les promotions.
Ces modèles sont bien connus, rapides, et donnent des intervalles de prévision presque gratuitement. Pour quelques centaines de produits aux ventes stables, ils suffisent souvent.
Le machine learning avec variables calendaires et promotions
Quand vous avez beaucoup de produits, beaucoup de points de vente et de nombreux facteurs externes, les arbres de gradient boosting marchent souvent bien. Au lieu de modéliser chaque série séparément, on entraîne un seul modèle sur toutes, avec des variables comme :
- les ventes récentes (semaine dernière, moyenne des quatre dernières semaines, même semaine l'an dernier),
- le calendrier (semaine de l'année, jour de la semaine, mois, jours de paie),
- les promotions, le prix et le niveau de remise,
- les fêtes et périodes particulières,
- les caractéristiques des produits et des magasins.
Un modèle global apprend des comportements communs à plusieurs produits, ce qui aide les nouveautés et les produits à faible rotation qui ont peu d'historique. CatBoost et XGBoost conviennent tous les deux ; je les compare dans CatBoost vs XGBoost.
Ramadan et fêtes mobiles
C'est essentiel pour les entreprises au Maroc, dans le Golfe ou en Égypte. Le calendrier hégirien est lunaire : le Ramadan et les deux Aïds avancent d'environ 11 jours chaque année par rapport au calendrier grégorien. Un modèle qui ne connaît que « semaine 12 » ou « mars » placera l'effet Ramadan au mauvais endroit l'année suivante.
La solution consiste à ajouter des variables explicites : nombre de jours avant le début du Ramadan, date comprise ou non dans le Ramadan, jours depuis l'Aïd, etc. Même chose pour Pâques, le Black Friday ou tout événement qui ne tombe pas à date fixe. Attendez-vous aussi à des comportements différents pendant le Ramadan lui-même : horaires d'achat décalés, hausse de l'alimentaire et des cadeaux, baisse dans d'autres catégories.
Le backtesting : tester comme on va utiliser
N'évaluez jamais une prévision avec un découpage aléatoire entre entraînement et test : le modèle verrait le futur. Faites plutôt du backtesting :
- Entraînez sur les données jusqu'à une date de coupure.
- Prévoyez les semaines suivantes.
- Comparez avec ce qui s'est réellement passé.
- Avancez la date de coupure et recommencez.
Cela reproduit l'usage réel et montre comment la performance varie selon les saisons. Vérifiez que les variables n'utilisent que ce que vous auriez su au moment de prévoir : « la promotion de cette semaine » n'est valable que si elle était planifiée à l'avance.
Choisir la bonne mesure d'erreur
- La MAE (erreur absolue moyenne) se lit facilement : en moyenne, on se trompe de tant d'unités.
- La MAPE (erreur absolue moyenne en pourcentage) est populaire, mais elle casse avec les zéros et explose sur les petits volumes, où se tromper de 2 unités peut ressembler à 200 % d'erreur.
- La WAPE (erreur absolue totale divisée par les ventes totales) est un bon choix par défaut en commerce : c'est un pourcentage, elle gère les zéros et pondère les produits par leur volume.
Regardez aussi le biais : une prévision toujours 10 % trop basse est un problème systématique, même si son erreur moyenne paraît acceptable.
De la prévision à la commande
Un seul chiffre ne suffit pas pour décider combien commander. Il faut une idée de l'incertitude. Les intervalles de prévision ou les prévisions par quantiles donnent la fourchette de demande probable. Ensuite, on choisit un niveau de service par produit : pour une meilleure vente, on commande de quoi couvrir la demande la plupart des semaines ; pour un article lent et cher, on accepte plus de risque de rupture.
En combinant cela avec les délais fournisseurs, les quantités minimales et la durée de conservation, la prévision devient une proposition de commande que l'acheteur valide ou ajuste. Garder une personne dans la boucle au début, c'est ainsi qu'on gagne la confiance, et c'est la même approche que je recommande dans l'automatisation IA pour les entreprises.
Quand ça n'en vaut pas la peine
- Très peu d'historique, ou des produits qui changent sans cesse. Le jugement et des règles simples peuvent faire mieux.
- De tout petits volumes, où une erreur coûte peu.
- Aucune décision derrière. Si personne ne changera une commande à cause de la prévision, ne la construisez pas.
Travailler ensemble
Je suis Driss Briksine, ingénieur logiciel et ML, titulaire d'un master en statistique et science des données de l'université de Hasselt et d'une licence en science des données de l'UM6P. Je construis des systèmes de prévision et de ML, et les logiciels qui les mettent entre les mains de ceux qui décident. Voyez mes réalisations, dont le CPT Dashboard, un système de ML validé de façon stricte.
Si vous avez un historique de ventes et une décision à prendre avec plus d'assurance, envoyez-moi un court descriptif.