Algorithmus zur Berechnung der Wartezeit auf einen Rabatt.
Python, Pandas, NumPy, Matplotlib, BeautifulSoup, Scikit-Learn, Flask, Forecast, Algorithmus, PostgreSQL.
Um einen möglichen Algorithmus zu entwickeln, der eine Preissenkung in Wartetage umwandelt, braucht es Referenzdaten von verschiedenen Personen. Diese Referenzdaten müssen so analysiert werden können, dass sie folgende Frage beantworten:
Lässt sich anhand eines Algorithmus der Wert einer Preiseinsparung in Wartetagen ausdrücken?
Ein solcher Algorithmus erlaubt es für jeden beliebigen Preis und beliebigen Rabatt die durchschnittlichen Wartetage vorauszusagen. Daraus kann bewertet werden, ob sich das Warten auf ein Angebot lohnt. Dafür muss ein Markt geschaffen werden, dem zukünftige Rabatte bekannt sind.
Eine Rabattform sind Mengenrabatte, die Unternehmen gewähren, wenn sie eine garantierte Stückzahl von Produkten verkaufen.
Um einen solchen Mengenrabatt für eine Einzelperson zu erzielen, muss es möglich sein eine Interessengemeinschaft zu bilden.
Die Dauer bis eine solche Interessengemeinschaft vollständig gebildet ist, kann als Wartezeit auf einen Mengenrabatt angesehen werden. Durch den Algorithmus ist es möglich, den Mengenrabatt der Wartezeit gegenüber zustellen und das Angebot zu bewerten.
Es ist möglich, dass der Preis, der durch den Mengenrabatt erzielt wurde, höher ist als die schon bestehenden Angebote im Netz. Durch einen Zusammenzug der vorhandenen Angebote im Netz ist es möglich das beste Produkt in der Kategorie Preisleistung anzugeben und mit jenem der Interessengemeinschaft zu vergleichen.
Ziel dieser Arbeit ist es, einen Algorithmus zu finden und eine Plattform zu erstellen, die alle oben erwähnten Punkte berücksichtigt.
In der Theorie ist ein Markt vollkommen, wenn er über eine Homogenität und Gleichartigkeit der Güter verfügt und keine persönlichen Präferenzen vorliegen. Weitere Merkmale von vollkommenen Märkten sind, dass keine zeitlichen und räumlichen Differenzierungen bestehen und eine vollständige Markttransparenz herrscht. Die Realität sieht aber anders aus: Das Kaufverhalten kann durch Massnahmen wie beispielsweise über Rabatte beeinflusst werden oder auch durch geschicktes Marketing eine persönliche Präferenz geschaffen werden.
Der traditionelle Markt wird immer mehr ins Internet verlagert. Dies führt zu einer mehrheitlichen Abschaffung der räumlichen und zeitlichen Differenzierung. Deshalb sind die meisten Anbieter online vertreten, sei es im eigenen Webshop oder auf einer anderen Verkaufsplattform. Auch wenn man durch das Internet über mehr Informationen gelangt, herrscht keine vollkommene Markttransparenz. Selten verfügt die Nachfrageseite respektive die Anbieterseite über sämtliche Informationen eines Marktes.
Das Vergleichen von Preisen im Internet braucht viel Zeit, denn es müssen in der Regel zahlreiche Webseiten besucht und miteinander verglichen werden. Es existieren bereits Webseiten, die automatisch gewünschte Güter aus verschiedenen Fachmärkten zusammenziehen und so die Suche beschleunigen. Dennoch gibt es keine Garantie, dass das Produkt, das gekauft wurde, wo anders nicht günstiger angeboten wird.
Es stellt sich nun die Frage, ob der bezahlte Preis die Wartezeit von Suchbeginn des gewünschten Produktes bis zum entgültigen Kaufabschluss lohnt. Ist der bezahlte Preis höher oder gleich dem initialen Preis, hat sich das Warten nicht gelohnt. Im umgekehrten Fall lässt sich nicht intuitiv bestimmen, ob es das Warten wert war. Dazu müsste der Preisunterschied in Wartezeit ausgedrückt werden. In der folgenden Arbeit wird dieser Parameter Wartetage genannt.
Durch die Analyse der Referenzdaten (aus der Umfrage im Kapitel 3) konnte ein Zusammenhang zwischen den unterschiedlichen Wartetagen erkannt werden. Es hat sich gezeigt, dass der Algorithmus von keinen Referenzwerten abhängt. Dies erlaubte es ein Algorithmus zu entwickeln, der mit über 98\% Genauigkeit die Referenzdaten vorhergesagt, aber auch die Wartetage für einen beliebigen Preis und Rabatt bestimmt. Diese Berechnungen erlauben es abzuwägen, ob es sich lohnt auf ein Angebot zu warten.
Der Proof of Concept hat gezeigt, dass eine Plattform geschaffen werden kann, der Mengenrabatte auf den individuellen Käufer abwälzt. Die Plattform erlaubt es einem potentiellen Käufer einer Interessensgemeinschaft beizutreten. Das implementierte Prognosetool berechnet fortlaufend die Dauer bis der Deal zu stande kommt.
Mit dem Gegenüberstellen der errechneten Wartetagen des Algorithmus und dem prognostizierten Wert, wurde ein Massstab geschaffen, der es ermöglicht Angebote zu bewerten.
Durch die Plattform wird versucht mehr Transparenz im Onlinemarkt zu erzielen. Die Nachfrageseite kennt neu die Dauer, bis ein Angebot zustande kommt und ob sich die Wartezeit lohnt. Die Angebotsseite kennt den Absatz zu einem zukünftigen Zeitpunkt und weiss, ob das Angebot vertretbar ist. Es ist schwierig zu beurteilen, ob anhand der gewählten Methoden, die Werte richtig prognostiziert werden. Es ist gut möglich, dass ein anderer Ansatz wie die lineare Regression verwendet werden muss. Weiter braucht es beim Algorithmus Anpassungen, falls die Plattform flächendeckend konzipiert wird. Dies setzt neue Referenzierte voraus.
Zu Beginn des Projekts wurde der Ansatz verfolgt, bestehende Angebote aus dem Internet zusammenzuziehen. Dafür wurde ein Crawler mit der Bibliothek BeautifulSoup implementiert. Wie sich im Verlauf des Projekts gezeigt hat, ist die Implementation eines vollumfänglichen Crawlers äusserst umständlich. Strukturiert der Onlinehändler den Quellcode seiner Webseite um, bedarf es einer Änderung des Crawlers. Zusätzlich hat die Konkurrenzstudie gezeigt, dass sich schon viele Preisvergleichsplattformen etabliert haben. Somit wurde der Fokus der Arbeit auf die Kernfunktionalität, dem Bewerten eines Angebotes, gelegt, da es sich um eine Marktlücke handelt.
Zur Entwicklung der Plattform wurde Python als primäre Programmiersprache gewählt. Dieser Entscheid hat sich bis anhin als gut erwiesen. Denn Python zeichnet sich durch grosse Flexibilität und Skalierbarkeit aus. Mit Open Source Bibliotheken wie Flask und PostgreSQL war es möglich die Applikation in einer Programmiersprache umzusetzen. Ist es zu einem späteren Zeitpunkt nötig weitere Module hinzuzufügen (oder zu ändern) kann dies problemlos umgesetzt werden.
Falls der Algorithmus flächendeckend anwendbar ist und die Plattform markttauglich entwickelt werden kann, stellt dies ein Alleinstellungsmerkmal dar. Der Nutzen sowohl für Angebotsseite als auch für Nachfrageseite wäre mehr Transparenz auf dem Onlinemarkt.
720h (2 Personen à 360h)
Fabian Becker, Steven Schmid
Fabian Becker, Steven Schmid
Simon Schubiger simon.schubiger@fhnw.ch
Louis-Paul Wicki louispaul.wicki@fhnw.ch