Überblick über alle extrahierten Preise je Produkt
Funktionsumfang des preis.wert Tool und Analyse-Dashboards
Messung von potenziell preisbildenden Faktoren (15.11.2019)
Förderjahr 2018 / Project Call #13 / ProjektID: 3523 / Projekt: preis.wert

Wir haben das Open Source preis.wert Tool, zur Abfrage von Preisen in Online-Shops, sowie ein Analytics-Dashboard zur Visualisierung der erhaltenen Datensätze, entwickelt und damit eine exemplarische proof-of-concept Datenerhebung ausgewählter Anbieter und Produkte im Bereich Elektronik- und Textilhandel, im Untersuchungszeitraum von Mai bis September 2019, in Österreich durchgeführt. Während wir die gewonnenen Messergebnisse und Interpretation und Erkenntnisse daraus gesondert in eigenen VLOG-Beiträgen vorstellen werden, möchten wir heute den Fokus auf die entwickelte Software legen und zeigen welchen Funktionsumfang das preis.wert Tool bietet um selbst Datenerhebungen, im Bereich dynamischer und personalisierter Preisgestaltung, durchführen zu können.

  • Funktionsumfang im Bereich der Datenerhebung
  • Installation und Konfiguration des preis.wert Tools
  • Visualisierung und Analyse der gewonnenen Datensätze

Funktionsumfang im Bereich der Datenerhebung

Preis.wert ist ein frei erweiterbarer Crawler zur regelmäßigen und automatischen Abfrage von Preispunkten aus Online-Shops. Die Open Source Software wurde in Python 3 entwickelt, basiert auf der Open Source Bibliothek Scrapy, wurde für den Einsatz in einer Linux Umgebung entwickelt, unter Ubuntu 18.04.3 LTS getestet und steht unter der GPL-3 Lizenz zur Verfügung.

Existierende Preisvergleichsportale sind ungeeignet, um fundierte Aussagen zu Dynamic und Personal Pricing zu treffen, denn sie gehen nicht auf relevante Besonderheiten des Web-Crawlings als Faktor potentieller preisbildender Maßnahmen ein. Um Online-Shops einer strukturierten Datensammlung zu Dynamic- und Personal-Pricing unterziehen zu können, wurden preis.wert Module entwickelt, die Abfragen und Simulation folgender Testszenarien der potentiellen Preisdiskriminierung ermöglichen:

  • Cookie-Management: zum Preisvergleich Neukunden vs. widerkehrender Bestandkunden
  • VPN-Steuerung: zum Preisvergleich aus unterschiedlichen Geo-Locations (Stadt-Land, innerstädtisch, etc.)
  • User-Agents: zum Preisvergleich von unterschiedlichen Geräten (Linux, Microsoft, Apple, sowie diverser mobiler Devices wie Android und iPhones)

Die preis.wert Software erlaubt es diese Module selbständig zu konfigurieren und untereinander zu kombinieren. Über eine Workflowsteuerung werden die Preise der hinterlegten Shops in frei wählbaren Intervallen erhoben.  Das preis.wert Tool ermöglicht somit datenbasierten Preisgestaltungsmethoden im Online-Handel, unter Berücksichtigung der Faktoren Geo-Location, Cookie-Management und Devices, zu messen.

preis.wert Dashboard - Darstellung Preisverlauf je Produkt

Installation und Konfiguration des preis.wert Tools

Der Technical User Guide beschreibt sämtliche Schritte die zum Setup benötigt werden um das preis.wert Tool selbst einsetzen zu können. Er beschreibt hierbei die Softwarekomponenten in den Bereichen Setup, Datenstruktur, sowie Auswertung und Evaluierung im Detail und geht auf die vorhandenen Konfigurationsmöglichkeiten ein. Der Einsatz des Systems setzt einen Grundsatz an technischem Know-How voraus. Ein standard Betrieb out-of-the box wird anhand dieses Guides Schritt für Schritt dokumentiert und durch Illustrationen ergänzt um den Einsatz so einfach wie möglich zu gestalten. Im Code-Repository sind bereits Produkte und Webshops in einer Default-Konfiguration hinterlegt um das Tool sofort selbständig testen zu können und zeigt wie das System eigenständig erweitert werden kann. Der Einsatz verschiedener Serverstandorte ist optional gehalten, da dieser Zugang zu einem VPN benötigt. Hierbei wurde der OpenVPN Standard gewählt, d.h. jeder Provider der einen Zugang mittels dieser defacto Standard-Schnittstelle anbietet, kann in preis.wert integriert werden.preis.wert scraping - inklusive VPN handling

Visualisierung und Analyse der gewonnenen Datensätze

Um eine graphische Aufbereitung der Preismesspunkte zur Unterstützung der Interpretation der gemessenen Preiseffekte zu erhalten, wurde ein Analysis-Dashboard in Form eines Jupyter Notebooks entwickelt. Bei Jupyter Notebooks handelt es sich um interaktive Dokumente in den sowohl Code als auch Ergebnisse wie Abbildungen und Tabellen dargestellt werden können. Das Dashboard enthält sämtliche Datenverarbeitungsschritte der importierten Daten in chronologischer Form und erlaubt es die jeweiligen Code-Segmente auch einzeln auszuführen.

preis.wert Dashboard - Jupyter Notebook

Um einen Überblick über alle extrahierten Preise je Produkt zu erhalten wird eine zusammenfassende Abbildung erstellt, darüber hinaus wird für jedes Produkt ein eigener Chart generiert in der die Preisentwicklung, aufgeschlüsselt nach Shops, dargestellt wird. Um potenziell personalisierte Preisgestaltung detektieren zu können, wird jedes Produkt bei einem Shop auch einzeln dargestellt und nach verwendeten Identitäten aufgeschlüsselt. Dabei sind die einzelnen Abfragen durch Dreiecke dargestellt. Die Verbindungslinie zwischen den Datenpunkten dient ausschließlich der Illustration und entsprechen keinem tatsächlichen Preis. Ein mehrfaches Abweichen der Datenpunkte bei verschiedenen Identitäten könnte ein Hinweis auf personalisierte Preisgestaltung sein.

preis.wert Dashboard - Beispiel Hinweis auf personal pricing

In diesem Beispiel weisen einzelne Abfragen erhöhte Preise aus. Ob es sich hierbei um kurzfristige Preisänderungen für alle Kunden oder um personalisiere Preise handelt ist mit einem Datenpunkt nicht festzustellen.

Zusammenfassung

Auf Basis des Open Source Tools Scrapy wurde in preis.wert ein Web-Scraper entwickelt der Datenpunkte aus Webshops extrahiert und am Filesystem ablegt. Dieser kann hinsichtlich User-Agents (Identitäten), VPN (Location) und Cookie-Management angepasst werden. Um eine graphische Übersicht der Preismesspunkte zu erhalten und potentielle Effekte der dynamischen und personalisierten Preisbildung anhand des gemessenen Datensatzes identifizieren zu können, wurde ein Analyse-Dashboard in Form eines Jupyter Notebook entwickelt. Dies ermöglicht es interaktive Dokumente, wie Code als auch Ergebnisse wie Abbildungen und Tabellen darzustellen und den Output auf Basis des erhobenen Datensatzes zu erzeugen. Das preis.wert Tool ermöglicht eine einfache Anwendung out-of-the box, als auch eine rasche Adaptierung des Systems mit der benötigten Flexibilität. Für eine detaillierte Übersicht der Architektur und Komponenten verweisen wir auf den preis.wert Technical User Guide. Die preis.wert Software, als auch die im Projekt erhobenen Datensätze (in anonymisierter Form), stehen zum Download über das Code-Repository des AIT – Austrian Institute of Technology bereit.

Tags:

Scrapy User-Agent VPN Location Cookies Analyse-Dashboard preis.wert Crawler Dynamic Pricing Machine Learning E-Commerce Algorithmen

Andrew Lindley

Profile picture for user Endruuu
Andrew Lindley ist Research Engineer am Center für Digital Safety & Securityam des AIT - Austrian Institute of Technology GmbH.
Die Unit Data Science & Artificial Intelligence (DSAI) bietet Beratung im Bereich Data Science und entwickelt Lösungen, die eine fundierte Entscheidungsfindung auf Basis großer, heterogener Datensätze und Echtzeitdaten ermöglichen.
https://www.ait.ac.at/themen/data-science

Skills:

Data Science
,
data analytics
,
Software Engineering
,
Research
,
Project Management
CAPTCHA
Diese Frage dient der Überprüfung, ob Sie ein menschlicher Besucher sind und um automatisierten SPAM zu verhindern.

    Weitere Blogbeiträge

    Datenschutzinformation
    Der datenschutzrechtliche Verantwortliche (Internet Privatstiftung Austria - Internet Foundation Austria, Österreich) würde gerne mit folgenden Diensten Ihre personenbezogenen Daten verarbeiten. Zur Personalisierung können Technologien wie Cookies, LocalStorage usw. verwendet werden. Dies ist für die Nutzung der Website nicht notwendig, ermöglicht aber eine noch engere Interaktion mit Ihnen. Falls gewünscht, treffen Sie bitte eine Auswahl: