Μοντελοποίηση απόδοσης πολυκαναλικής διαφήμισης με κατανεμημένη επεξεργασία δεδομένων : υλοποίηση και αξιολόγηση attribution models με Apache Pyspark και υπάρχουσες βιβλιοθήκες μηχανικής μάθησης
| datacite.contributor.RelatedPerson | Θεοδωρακόπουλος, Λεωνίδας | |
| datacite.contributor.RelatedPerson | Χαλκιόπουλος, Κωνσταντίνος | |
| datacite.contributor.Supervisor | Σιούτας, Σπυρίδων | |
| dc.contributor.author | Οικονόμου, Ανδρέας | |
| dc.contributor.other | Oikonomou, Andreas | |
| dc.date.accessioned | 2026-10-21T12:52:41Z | |
| dc.date.available | 2026-10-21T12:52:41Z | |
| dc.date.issued | 2026-06-18 | |
| dc.degree | masterThesis | |
| dc.description.abstract | Η παρούσα μεταπτυχιακή εργασία αποτελεί επέκταση της προπτυχιακής διπλωματικής εργασίας στην οποία αναπτύχθηκε μια υλοποίηση του R-Tree σε Python και Apache Spark. Σκοπός της εργασίας είναι (α) η γενίκευση του δισδιάστατου R-Tree σε N-διάστατο χώρο και η αξιοποίησή του ως μηχανής τμηματοποίησης πελατών (customer segmentation) για εφαρμογές ψηφιακού marketing με έμφαση στο μοντέλο RFM (Recency, Frequency, Monetary), και (β) ως δευτερεύουσα συνεισφορά, η εφαρμογή της δομής αυτής ως μηχανής επιτάχυνσης για το πρόβλημα της Multi-Touch Attribution σε πραγματικά δεδομένα διαφημιστικών καμπανιών. Μεθοδολογικά, σχεδιάστηκε και υλοποιήθηκε ένα σύστημα τεσσάρων επιπέδων: (α) επίπεδο πυρήνα (core) με γενικευμένες δομές NDPoint, HyperRectangle και NDRTree που υποστηρίζουν N διαστάσεις, αλγορίθμους R*-Tree split και STR bulk loading· (β) επίπεδο τμηματοποίησης (segmentation) με κωδικοποίηση χαρακτηριστικών μέσω πέντε μεθόδων κανονικοποίησης (MIN-MAX, Z-score, λογαριθμική, ποσοστιαία και ταυτοτική) και υψηλού επιπέδου API ορισμού τμημάτων· (γ) κατανεμημένο επίπεδο (distributed) βασισμένο σε PySpark με αρχιτεκτονική partition-local indexing· και (δ) επίπεδο απόδοσης αξίας (attribution) που υλοποιεί πέντε μεθόδους κατανομής χρεώσεων (last_touch, first_touch, linear, time_decay, matched_lift) με causal matching επιταχυνόμενο από R-Tree. Η αξιολόγηση πραγματοποιήθηκε σε συνθετικά σύνολα δεδομένων RFM μεγέθους έως 16.000.000 πελατών και στο πραγματικό σύνολο δεδομένων Criteo Attribution σε τρία επίπεδα κλίμακας (1, 5 και 16,5 εκατομμύρια συμβάντα). Τα κύρια αποτελέσματα τμηματοποίησης δείχνουν ότι το range query κλιμακώνεται εμπειρικά ως O(log n) και ότι τα ερωτήματα KNN, lookalike και skyline παραμένουν κάτω από 25 ms ακόμη και στα 10 εκατομμύρια εγγραφές. Η σύγκριση κεντρικοποιημένης και κατανεμημένης υλοποίησης αναδεικνύει σημείο ισοζυγίου (crossover) στα ~1.5–2 εκατομμύρια εγγραφές. Τα αποτελέσματα attribution δείχνουν ότι όλες οι πέντε μέθοδοι συμφωνούν στο κορυφαίο 18% των καμπανιών (CV<1.3%), ότι η μέθοδος linear είναι η πιο σταθερή κατά Shao-Li, ότι η time_decay έχει τη μέγιστη συμφωνία με το παραγωγικό μοντέλο της Criteo (0.96), και ότι η αιτιακή μέθοδος matched_lift υποβιβάζει τρεις φορές περισσότερες καμπάνιες από όσες προωθεί έναντι του last_touch (324 έναντι 107 από τις 661 καμπάνιες). Περιορισμοί της εργασίας είναι η εκτέλεση Spark σε τοπικό περιβάλλον (local[*]) αντί για multi-node cluster, η αξιολόγηση τμηματοποίησης σε συνθετικά δεδομένα, η προσέγγιση campaign-level αντί channel-level attribution, και η εξάρτηση από την υπόθεση unconfoundedness του causal matching. Πρακτικές εφαρμογές του συστήματος περιλαμβάνουν την παραγωγή lookalike audiences για διαφημιστικές καμπάνιες, τον εντοπισμό υψηλής αξίας πελατών μέσω skyline ερωτημάτων, και την παροχή αξιόπιστων μετρικών απόδοσης αξίας σε σύνθετα διαφημιστικά μονοπάτια. Πρωτότυπα στοιχεία της εργασίας είναι η ενοποιημένη υποστήριξη τεσσάρων διαφορετικών τύπων ερωτημάτων (range, KNN, lookalike, skyline) πάνω στην ίδια N-διάστατη δομή R-Tree, ο συνδυασμός κανονικοποίησης χαρακτηριστικών με χωρική ευρετηρίαση στο πλαίσιο ψηφιακού marketing, και η αξιοποίηση του R-Tree ως μηχανής επιτάχυνσης matching για propensity-matched causal attribution σε real-world κλίμακα 16M συμβάντων. | |
| dc.description.translatedabstract | This Master’s thesis extends my undergraduate thesis that implemented a 2D R-Tree in Python and Apache Spark. The purpose is twofold: (a) to generalize the 2D R-Tree to an N-dimensional space and employ it as a customer segmentation engine for digital marketing applications, focusing on the RFM (Recency, Frequency, Monetary) model, and (b) as a secondary contribution, to apply the resulting structure as an acceleration engine for the Multi-Touch Attribution problem on real-world advertising data. Methodologically, a four-tier system was designed and implemented: (a) a core layer with generalized NDPoint, HyperRectangle, and NDRTree structures supporting N dimensions, R*-Tree split algorithms, and STR bulk loading; (b) a segmentation layer with feature encoding via five normalization methods (Min-Max, Z-score, logarithmic, percentile, identity) and a high-level segment-definition API; (c) a distributed layer based on PySpark following a partition-local indexing architecture; and (d) an attribution layer implementing five credit-allocation methods (last_touch, first_touch, linear, time_decay, matched_lift) with R-Tree-accelerated causal matching. Evaluation was performed on synthetic RFM datasets of up to 10,000,000 customers and on the real-world Criteo Attribution dataset at three scale tiers (1, 5, and 16.5 million events). The main segmentation results show that range queries scale empirically as O(log n) and that KNN, lookalike, and skyline queries remain below 25 ms even at 10 million records. The comparison between centralized and distributed implementations reveals a crossover point at approximately 1.5–2 million records. The attribution results show that all five methods agree on the top 18% of campaigns (CV<1.3%), that linear is the most stable method by Shao-Li stability, that time_decay has the highest agreement with Criteo’s production model (0.96), and that the causal matched_lift method demotes three times more campaigns than it promotes compared to last_touch (324 vs 107 out of 661 total campaigns). Limitations include local Spark execution (local[*]) rather than a multi-node cluster, segmentation evaluation on synthetic data only, campaign-level rather than channel-level attribution, and dependence on the unconfoundedness assumption in causal matching. Practical applications include lookalike audience generation, high-value customer identification via skyline queries, and stable attribution metrics for complex advertising journeys. Original contributions include unified support of four query types (range, KNN, lookalike, skyline) over a single N-dimensional R-Tree, integration of feature normalization with spatial indexing in the digital marketing domain, and the use of an R-Tree as a matching-acceleration engine for propensity-matched causal attribution at the 16M-event scale. | |
| dc.identifier.uri | https://hdl.handle.net/10889/33254 | |
| dc.language.iso | el | |
| dc.rights | Attribution-NonCommercial-NoDerivatives 4.0 International | en |
| dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/4.0/ | |
| dc.subject | Διαστατικές δομές δεδομένων | |
| dc.subject | Ν-διάστατη ευρετηρίαση | |
| dc.subject | RFM μοντέλο | |
| dc.subject | Τμηματοποίηση πελατών | |
| dc.subject | Κατανεμημένη υπολογιστική | |
| dc.subject | Ψηφιακό marketing | |
| dc.subject.alternative | Spatial data structures | |
| dc.subject.alternative | R-Tree | |
| dc.subject.alternative | ND-RTree | |
| dc.subject.alternative | N-dimensional indexing | |
| dc.subject.alternative | Distributed computing | |
| dc.subject.alternative | Multi-touch attribution | |
| dc.subject.alternative | Digital marketing | |
| dc.subject.alternative | Lookalike audiences | |
| dc.title | Μοντελοποίηση απόδοσης πολυκαναλικής διαφήμισης με κατανεμημένη επεξεργασία δεδομένων : υλοποίηση και αξιολόγηση attribution models με Apache Pyspark και υπάρχουσες βιβλιοθήκες μηχανικής μάθησης | |
| dc.title.alternative | Modeling the performance of multichannel advertising with distributed data processing : implementation and evaluation of attribution models with Apache Pyspark and existing machine learning libraries |