Touristen Typologie berechnet und visualisiert ein dynamisches User Clustering von Touristen anhand von Bildbewertungen.
Motivation
Im Auftrag von Prof. Dr. Roman Egger wurde ich als Full Stack Developer engagiert, um sein Konzept des dynamsichen User Clusterings von Touristen anhand von Bildbewertungen als Web-Applikation umzusetzen.
Touristen sind multioptionale Kunden, die hybride Reisemuster zeigen. Für das Marketing stellt dies eine enorme Herausforderung dar, da Kundensegmentierungen schwierig werden. Welcher Typologie sollte jemand zugeordnet werden, der einmal Strandurlaub mit seinen Kindern macht, das nächste Mal einen Actionurlaub mit Freunden unternimmt? Jemand, der sich im 5-Sterne Hotel verwöhnen lässt, das nächste Mal einen Campingurlaub verbringt? Mit diesem Projekt soll die Multioptionalität von Reisenden abgefragt und Touristen in Cluster kategorisiert werden, indem sie Bilder bewerten.
Basierend auf anerkannten Typologien der Literatur wurden jeweils 6 Bilder zu 16 Typologien ausgewählt und auf 3 repräsentative Bilder durch Nutzervoting reduziert. Die 48 Bilder wurde von 622 Personen annotiert. Die Vektoren der Bilder (doc2vec) dienen als Grundlage für den Nutzervektor. Alle Nutzer werden mittels Louvain Algorithmus geclustert und mittels der Algorithmen t-SNE und UMAP visualisiert.
Eckdaten des Projekts
- Start: 16.07.2020
- Übergabe: 07.08.2020
- Status: production
Technische Beschreibung
In meiner Verantwortung standen Anforderungserhebung, technische Konzeption, Entwicklung und Deployment. Bilder, initiale Daten der Entitäten in CSV und Skripte in Python zur mathematischen Berechnung der Typologie wurden zur Verfügung gestellt.
Verwendete Technologien
- Backend
Python
: Backend und Skripte zur Dateninitialisierung aus CSVFlask
: Web-Framework zur Bereitstellung einer REST APIFlask-Migrate
: Database Migrations mitalembic
undSQLAlchemy
SQLAlchemy
: Object-Relational MapperDocker
: Development (VSCode devcontainer) und Productiongunicorn
/nginx
: WSGI bzw. Reverse Proxy
- Frontend
HTML
: MarkupCSS / SCSS
: StylingJavaScript
: InteraktionChart.js
: Datenvisualisierung
Google Cloud Platform
: Cloud-Infrastruktur- Compute Engine: Hosting der Flask Applikation
- Cloud SQL: Serverless Database (PostgreSQL)