Ich versuche, den Verkauf von Produkten in Verkaufsautomaten vorherzusagen. Das Problem ist, dass die Maschine in unregelmäßigen Abständen gefüllt wird und wir bei jeder Befüllung nur die aggregierten Verkäufe seit der letzten Befüllung der Maschine erfassen können (dh wir haben keine täglichen Verkaufsdaten). Grundsätzlich haben wir also Daten für aggregierte Verkäufe in unregelmäßigen Abständen. Die Intervalle liegen normalerweise zwischen 2 Tagen und 3 Wochen. Hier sind Beispieldaten für einen Automaten und ein Produkt:
27/02/2012 48
17/02/2012 24
09/02/2012 16
02/02/2012 7
25/01/2012 12
16/01/2012 16
05/01/2012 16
23/12/2011 4
16/12/2011 14
09/12/2011 4
02/12/2011 2
Unser derzeitiger naiver Algorithmus besteht darin, den durchschnittlichen Umsatz pro Tag zu berechnen, indem die in den letzten 90 Tagen verkaufte Gesamtmenge durch 90 geteilt wird.
Haben Sie eine Idee, wie Sie die Umsatzprognose pro Tag verbessern können? Ich muss vorhersagen, was beim nächsten Besuch der Maschine verkauft wird. Ist es aufgrund der Art unserer Daten möglich, einen exponentiellen Glättungsalgorithmus zu verwenden?
Danke im Voraus!
UPDATE: Vielen Dank für alle Antworten und Kommentare. Lassen Sie mich versuchen, etwas mehr Kontext zu geben (der Business Case hinter der Frage - natürlich sehr vereinfacht). Wir haben Hunderte von Verkaufsautomaten. Jeden Tag müssen wir entscheiden, welche 20 von ihnen zum Nachfüllen besucht werden sollen. Zu diesem Zweck versuchen wir, den aktuellen Status der Maschinen vorherzusagen und die "leersten" 20 Maschinen auszuwählen. Für jede Maschine und jedes Produkt berechnen wir den durchschnittlichen Umsatz pro Tag (SPD) unter Verwendung des oben beschriebenen naiven Algorithmus. Dann multiplizieren wir die SPD mit der Anzahl der Tage seit der letzten Befüllung der Maschine und das Ergebnis ist die vorhergesagte verkaufte Menge.
quelle
Antworten:
Konzentrieren wir uns auf das Geschäftsproblem, entwickeln eine Strategie, um es anzugehen, und beginnen mit der Implementierung dieser Strategie auf einfache Weise. Später kann es verbessert werden, wenn der Aufwand dies rechtfertigt.
Das Geschäftsproblem besteht natürlich darin, die Gewinne zu maximieren. Dies geschieht hier, indem die Kosten für Nachfüllmaschinen gegen die Kosten für Umsatzverluste abgewogen werden. In der aktuellen Formulierung sind die Kosten für das Nachfüllen der Maschinen festgelegt: 20 können täglich nachgefüllt werden. Die Kosten für Umsatzverluste hängen daher von der Häufigkeit ab, mit der Maschinen leer sind.
Ein konzeptionelles statistisches Modell für dieses Problem kann erhalten werden, indem eine Möglichkeit entwickelt wird, die Kosten für jede der Maschinen basierend auf vorherigen Daten zu schätzen. Das erwarteteDie Kosten für die Nichtwartung einer Maschine entsprechen heute ungefähr der Wahrscheinlichkeit, dass sie erschöpft ist, mal der Rate, mit der sie verwendet wird. Wenn beispielsweise eine Maschine heute eine 25% ige Chance hat, leer zu sein, und durchschnittlich 4 Flaschen pro Tag verkauft, entsprechen die erwarteten Kosten 25% * 4 = 1 Flasche Umsatzverlust. (Übersetzen Sie das in Dollar, wie Sie wollen, und vergessen Sie nicht, dass ein verlorener Verkauf immaterielle Kosten verursacht: Die Leute sehen eine leere Maschine, sie lernen, sich nicht darauf zu verlassen usw. Sie können diese Kosten sogar an den Standort einer Maschine anpassen; Maschinen, die für eine Weile leer laufen, können nur wenige immaterielle Kosten verursachen.) Man kann davon ausgehen, dass durch das Nachfüllen einer Maschine der erwartete Verlust sofort auf Null zurückgesetzt wird - es sollte selten vorkommen, dass eine Maschine jeden Tag geleert wird (nicht gewünscht). ..). Mit der Zeit
Die roten Punkte zeigen die Reihenfolge der Verkäufe; Die blauen Punkte sind Schätzungen, die auf der Maximum-Likelihood-Schätzung der typischen Verkaufsrate basieren.
Anhand eines solchen Diagramms für jede Maschine (von denen es anscheinend ein paar Hundert gibt) können Sie leicht die 20 Maschinen identifizieren, bei denen derzeit der größte erwartete Verlust zu verzeichnen ist: Die Wartung dieser Maschinen ist die optimale Geschäftsentscheidung. (Beachten Sie, dass jede Maschine ihre eigene geschätzte Rate hat und sich an ihrem eigenen Punkt entlang ihrer Kurve befindet, abhängig davon, wann sie zuletzt gewartet wurde.) Niemand muss sich diese Diagramme ansehen: Die Identifizierung der Maschinen, die auf dieser Basis gewartet werden sollen, ist einfach automatisiert mit einem einfachen Programm oder sogar mit einer Tabelle.
Dies ist nur der Anfang. Im Laufe der Zeit können zusätzliche Daten Änderungen an diesem einfachen Modell vorschlagen: Sie können Wochenenden und Feiertage oder andere erwartete Einflüsse auf den Umsatz berücksichtigen; es kann einen wöchentlichen Zyklus oder andere saisonale Zyklen geben; Es kann langfristige Trends geben, die in die Prognosen einbezogen werden müssen. Vielleicht möchten Sie abweichende Werte verfolgen, die unerwartete einmalige Läufe auf den Maschinen darstellen, und diese Möglichkeit in die Verlustschätzungen usw. einbeziehen. Ich bezweifle jedoch, dass es notwendig sein wird, sich über die serielle Korrelation von Verkäufen Gedanken zu machen: Es ist schwer zu denken von irgendeinem Mechanismus, um so etwas zu verursachen.
für Excel (
A2
ist eine Zelle, die die Zeit seit dem letzten Nachfüllen enthält undTheta
die geschätzte tägliche Verkaufsrate ist) undfür R.)
Die schickeren Modelle (die Trends, Zyklen usw. enthalten) müssen die Poisson-Regression für ihre Schätzungen verwenden.
quelle
Ich denke, Sie werden normalerweise den ersten Schritt der Konvertierung in eine reguläre Zeitreihe haben. Sie sagten, Sie nehmen durchschnittlich 90 Tage. Da Sie Daten haben, die häufiger vorkommen, ist es meiner Meinung nach sinnvoller, das Beste aus Ihren Daten herauszuholen, indem Sie die Tage zwischen den einzelnen Beobachtungen durch die Anzahl der für diesen Zeitraum verkauften Artikel dividieren (vorausgesetzt, dies ist Ihre zweite Spalte ist).
Als Haftungsausschluss bin ich ein totaler Amateur, daher möchten Sie den Rat eines Experten wie IrishStat bezüglich des folgenden Codes einholen (er sagte beispielsweise, ETS sei ein schlechtes Modell, behandeln Sie dies also nur als Spielzeugbeispiel), aber in der Hoffnung Damit Sie Zeit sparen, finden Sie hier einen R-Code, mit dem Sie spielen können:
Das resultierende Diagramm ist:
quelle
Was Sie haben, ist ein "Problem der intermittierenden Nachfrage". Wir haben dieses Problem gelöst, indem wir die Nachfrage in eine Rate umgerechnet haben, indem wir die tatsächliche Nachfrage durch die Anzahl der Tage im Intervall zwischen den Wartungsarbeiten dividiert haben. Diese Rate kann dann als Übertragungsfunktion modelliert werden, um eine Rate vorherzusagen, wenn die Vorhersage des Intervalls gegeben ist. Diese vorhergesagte Rate kann dann in eine Nachfrage umgewandelt werden. Es sollte darauf geachtet werden, strukturelle Verschiebungen der Rate über die Interventionserkennung zu erkennen. Versuchen Sie, "Ansatz zur Modellierung intermittierender Anforderungen mithilfe einer Übertragungsfunktionsmethode" zu googeln. Machen Sie sich keine Gedanken über die modellhaften mutmaßlichen Ansätze von Croston oder Exponential Smoothing, da diese recht mangelhaft sind.
ZUSÄTZLICHE ANALYSE:
Als ich Rate als Funktion des Intervalls modellierte, erhielt ich Folgendes. Unter Verwendung einer Vorhersage von INTERVALL unter Verwendung dieser Gleichung kann diese Gleichung dann die Rate vorhersagen, die zur Vorhersage der Nachfrage verwendet werden kann. Diese Art von Modell ermöglicht die Einbeziehung einer autoregressiven Struktur in der Rate sowie die Berücksichtigung von Impulsen, Pegelverschiebungen und / oder lokalen Zeittrends in der Rate.
# (BOP) FEHLERWERT WERT
EINGANGSREIHE X1 INTERVALL
EINGANGSSERIE X2 I ~ P00002 12/03/11 PULS
EINGANGSSERIE X3 I ~ P00007 12/08/11 PULSE
EINGANGSSERIE X4 I ~ P00010 11.12.11 PULS
quelle