2016-12-01 2 views
0

Ich versuche, die beste Art und Weise einige Produkte von Ranking, zu arbeiten, basierend auf sowohl ihren Gesamtumsatz auf dem neuesten Stand, und die Verkäufe in den letzten x Tage (um zu zeigen, Trends, heiße Produkte)Sales-Ranking-Algorithmus

Was ich gerne tun würde, ist beides, so dass die größten Verkäufer einen hohen Rang haben, aber wenn sie ausverkauft sind, werden sie nach unten bewegt (keine kürzlichen Verkäufe) oder wenn sie besonders hohe Verkaufszahlen haben, werden sie aufgesprungen.

Da es Verkäufe sind, könnten die Zahlen 10x nach Produkt unterschiedlich sein, also nehme ich an, dass wir eine logarithmische Skala dafür brauchen. Was ist der beste Weg, die beiden zu kombinieren?

+0

"Die Verkäufe in den letzten x Tagen (um Trends, heiße Produkte zu zeigen)" Sie gewinnen, t Trends aus "Umsatz in den letzten x Tagen" erhalten Trend ist beibehalten (vielleicht sogar steigend) Rate des Verkaufs - das erste Derivat der Funktion nicht das Integral (Summe) über die letzte Periode. –

+0

Ich denke, das Wort Trend ist falsch, wir betrachten einen Vergleich zwischen Produkten, die am besten innerhalb der letzten X Tage – Ben

+0

"verglichen, die sich am besten im Vergleich zueinander verkauft haben" in Bezug auf was? Menge, Umsatz, Gewinn? Wie auch immer, mein Vorschlag ist, einen gewichteten Durchschnitt zwischen: (1) durchschnittlichen (pro Tag) Gesamtumsatz und (2) den durchschnittlichen Verkäufen (pro Tag) in den letzten 10 Tagen, mit einem höheren Gewicht für den zweiten, zu verwenden. –

Antwort

3

Was ich gerne tun würde ist, beide zu verwenden, so dass die größten Verkäufer hochrangig sind, aber wenn sie ausverkauft sind, werden sie nach unten bewegt (keine kürzlichen Verkäufe) oder wenn sie besonders hohe kürzliche Verkäufe haben werde aufgesprungen.

Eine besonders einfache Möglichkeit, dies zu tun wäre, zu halten, für jedes Produkt, zwei exponential moving averages, eines mit einem kurzen Faktor und einer mit einem langen Faktor. Beachten Sie, dass jeder dieser Durchschnittswerte einfach aktualisiert wird, indem der Durchschnittswert bis zum Tag mit einem Faktor multipliziert und die Zahl für diesen Tag mit einem Komplementfaktor multipliziert wird.

Sie müssen die zwei Faktoren basierend auf Ihrem Problem festlegen, aber siehe here eine Erklärung über die Beziehung zwischen diesem Faktor und der effektiven Zeit gemittelt.

Die Gesamtpunktzahl für das Produkt wäre eine Gesamtpunktzahl unter Berücksichtigung dieser beiden Mittelwerte.

Damit Verkäufe zu sein, könnten die Zahlen 10x unterschiedlich von Produkt sein, so gehe ich davon aus wir eine logarithmische Skala für diese benötigen. Was ist der beste Weg, die beiden zu kombinieren?

Es gibt keinen besseren Weg - Sie müssen verschiedene Optionen ausprobieren und diese so lange stimmen, bis Sie mit den Ergebnissen zufrieden sind.

Wenn die langen und kurzen Durchschnitte sind l und s, dann eine allgemeine Art der Mittelung (nicht der einzige!) Ist α f (l) + (1-α) f (s) , wo α eine konstante in [0, 1] und f ist eine Funktion Dämpfungs. Sie haben Logarithmen als Dämpfungsfunktion erwähnt, aber Sie könnten feststellen, dass beispielsweise die Quadratwurzel für Ihren Fall besser funktioniert (es hat auch weniger Probleme mit kleinen oder Null-Argumenten).

+0

Ich bin mir nicht sicher, exponentiellen Verfall ist genau hier. Um weitere Informationen hinzuzufügen, sind die "Produkte", für die wir verkaufen, Eintrittskarten für Veranstaltungen.Wir merken einen U-förmigen Kauftrend - viele Verkäufe am Tag 0, dann schießt dieser ab und kommt wieder näher zum Veranstaltungstag. Alle diese Verkäufe zählen jedoch, sie werden nicht wirklich weniger relevant im Laufe der Zeit. Wir werden immer Ereignisse am selben Tag vergleichen, so dass sie alle auf einem Level Playing Field sind, also was zählt, ist die Gesamtzahl der Verkäufe, die sie gemacht haben, mit einer Gewichtung der letzten Verkäufe, nur um diejenigen zu bevorzugen, die neuere haben Verkäufe, über denen, die nicht tun – Ben

+0

@Ben Recht, können Sie exponentielle Durchschnitte, gleitende Fenster arithmetische Mittelwerte und gerade allgemeine Durchschnitte benutzen (das ist, was Sie gerade angehoben haben). Es besteht keine Notwendigkeit, dass der kurze und der lange Durchschnitt dasselbe Schema verwenden. –

+0

Dank @Ami, überall kann ich einige reale Beispiele zum Vergleich sehen, die besser geeignet sein könnten? – Ben