J'exploite une entreprise en ligne depuis deux ans de suite, j'ai donc mes données de ventes mensuelles depuis environ deux ans. Mon entreprise pour chaque mois est certainement affectée par le swing saisonnier (se comporte mieux à Noël, etc.), et probablement par d'autres facteurs que je ne connais pas.
Afin de mieux prévoir les ventes futures, et afin de mesurer l'efficacité de ma campagne de vente ou l'impact de nouveaux concurrents, je veux être en mesure de développer un modèle de série chronologique approprié pour extrapoler mes données de vente actuelles dans le futur. C'est ainsi que lorsque je compare le résultat de ma prédiction avec le résultat réel, je peux tester quantitativement l'efficacité de ma campagne de vente, ou l'impact des concurrents.
Ma question est, étant donné que j'ai 2 ans de données sur les ventes, est-il possible de formuler un modèle de série chronologique prédictif pour cela?
Remarque: je m'intéresse davantage aux concepts et aux théories d'arrière-plan plutôt qu'aux outils de la boîte noire. En parlant d'outils, j'ai Mathica, Matlab, R, Excel, Google Spreadsheet .... vous l'appelez.
la source
Réponses:
Oui, il existe des moyens de procéder. Les gens gagnent leur vie en faisant des trucs comme ça ;-)
Vous recherchez des prévisions causales . Regardez ce manuel en ligne gratuit sur la prévision pour en savoir plus sur la méthodologie de prévision.
Vous avez deux problèmes clés à résoudre: la saisonnalité (ou plus généralement, la structure des séries chronologiques, éventuellement avec autorégression) d'une part, et les effets de causalité comme les promotions d'autre part. Le chapitre 8 du manuel ci-dessus traite des éléments des séries chronologiques dans le contexte d'ARIMA, tandis que le chapitre 5 traite des effets de causalité.
Heureusement, il est possible de résoudre les deux problèmes en calculant soit des modèles dits ARIMAX (le X signifie «effets externes», c'est-à-dire ARIMA avec des effets externes), soit des régressions avec des erreurs ARIMA. Voir le billet de blog de Rob Hyndman sur "La confusion du modèle ARIMAX" pour la différence. La
auto.arima()
fonction dans leforecast
package R s'adaptera à une régression avec des erreurs ARIMA. Passons en revue un exemple, où je prends un ensemble de données standard avec une tendance et une saisonnalité fortes et j'ajoute des "promotions".Les points rouges sont les promotions. Par défaut, vous obtiendrez des intervalles de prédiction tracés en gris. Vous pouvez alimenter plusieurs régresseurs dans votre modèle via le
xreg
paramètre, ce que vous devez faire si vous avez différents types de promotions avec des effets différents. Expérimentez un peu.Je recommanderais de regarder des données plus fines que mensuelles si vous les avez, par exemple, hebdomadairement. Surtout bien sûr si vos promotions ne durent pas pendant des mois entiers. Vous pouvez le faire séparément par produit, surtout si vous faites la promotion de produits spécifiques ou sur des catégories entières.
Une alternative serait, étant donné que vous êtes plus intéressé par les concepts que par le code, d'examiner le lissage exponentiel et de le modifier en fonction de vos besoins, en ajoutant des composants promotionnels aux composants standard à trois niveaux, saison et tendance. Vous pouvez faire beaucoup plus vous-même avec le lissage exponentiel qu'en essayant d'estimer au maximum la probabilité d'un modèle ARIMAX, mais le lissage peut devenir un peu un cauchemar de comptabilité si vous avez plusieurs types de promotion.
la source
tout d'abord, vous n'avez pas beaucoup de données avec lesquelles jouer, seulement 24 observations. Dans votre cas, cela signifie que vous avez à peine quelques paramètres pour estimer de manière fiable. la manière la plus systématique dans la prévision est de proposer un processus de génération de données (DGP). vous faites une hypothèse sur le véritable processus de vos ventes, puis essayez d'estimer ses paramètres.
considérons un modèle de série temporelle pur avec AR (1) DGP: , c'est-à-dire que vos ventes ce mois-ci sont la moyenne pondérée des ventes du mois dernier plus et une constante. vous avez déjà 3 paramètres (deux coefficients et une variance d'erreur), ce qui signifie environ 8 observations par paramètre - clairement pas beaucoup.xt=ϕxt−1+c
puisque vos ventes sont saisonnières, nous devons y faire quelque chose. une façon consiste à ajouter une saisonnalité multiplicative : en notation d'opérateur de décalage, ou sous forme développée: . cela ajoute un paramètre de plus à estimer, donc vous descendez à 6 observations par paramètre - un véritable tronçon.x t = c + ϕ 1 x t - 1 + ϕ 12 x t - 12 - ϕ 1 ϕ 12 x r - 13(1−L)(1−L12)xt=c xt=c+ϕ1xt−1+ϕ12xt−12−ϕ1ϕ12xr−13
dans Matlab ce modèle est spécifié comme
arima('ARLags',1,'SARLags',12)
cela suppose que vos ventes sont stables, c'est-à-dire qu'elles ne progressent généralement pas.
si vous pensez que vos ventes augmentent, alors vous avez deux options: marche aléatoire (RW) et tendance temporelle.
dans Matlab RW est spécifié avec
arima('D',1,'SARLags',12)
de toute évidence, ce ne sont que des exemples de différents DGP. quoi que vous fassiez, gardez à l'esprit le nombre de paramètres à estimer. avec 24 observations votre modèle doit être très simple, 4 paramètres au maximum (y compris les variances).
la source
Voici ce que vous devez faire Créez deux graphiques:
Regarde-les. Annoter les dates de toute promotion spéciale ou activité concurrentielle connue. "Décembre" est généralement assez évident, mais ajoutez une note si cela peut aider à le dire.
Allez-y et adaptez un modèle de série chronologique - n'importe quel modèle (il y en a des centaines). Le modèle peut vous donner une prévision légèrement meilleure pour la prochaine période (t + 1) que votre jugement. Au moins, cela remettra en cause votre jugement. Au-delà de la période suivante (t + n, n> 1), tout modèle de série chronologique est de la merde. † Alors, oubliez d'évaluer quantitativement l'efficacité des campagnes de vente ou les effets des concurrents. Si vous comparez les ventes réelles aux prévisions, vous constaterez que les prévisions sont nulles. Il est difficile de prédire l'avenir et aucune méthode ne modifie ce fait fondamental.
Vous trouverez vos deux graphiques plus utiles. Étudiez-les pendant un certain temps, puis passez le reste de votre temps à trouver des idées pour augmenter les ventes - ce sera une utilisation beaucoup plus rentable de votre temps que d'essayer d'adapter un modèle de série chronologique.
† Vous avez plus d'espoir si vous pouvez créer un modèle prédictif basé sur des indicateurs avancés - c'est-à-dire que les ventes de logements pour le mois précédent peuvent être utiles pour prédire les ventes de stores pour les fenêtres du mois en cours.
la source