Een schaalbaar machine learning-platform voor het voorspellen van billboard-impressies
The Neuron
- Klantcase
- Data Engineering



The Neuron biedt een programmatisch biedingsplatform om digitale Out-Of-Home-advertenties in realtime te plannen, kopen en beheren. Ze vroegen ons het aantal verwachte impressies voor digitale advertenties op billboards op een schaalbare en efficiënte manier te voorspellen.
Onze aanpak
Ons werk bestond uit drie onderdelen: het opzetten van een data lake in AWS, het verwerken van data, en het ontwikkelen, trainen en implementeren van een machine learning model.
Data Lake in AWS
We startten met de opzet van een data lake. Met een data lake kun je grote hoeveelheden gestructureerde en ongestructureerde data opslaan. Organisaties gebruiken tegenwoordig een breed scala aan applicaties die grote hoeveelheden data genereren in verschillende formaten.
Voor The Neuron zetten we een data lake op met S3 voor dataopslag, Glue Catalog voor metadatabeheer en Glue Jobs (managed Apache Spark jobs) voor dataverwerking. Het data lake is opgedeeld in drie lagen:
- Brons voor ruwe, onbewerkte data.
- Zilver voor verwerkte gegevens.
- Goud voor volledig verwerkte en verrijkte data.
Door het gebruik van serverless AWS-componenten zorgden we voor een goede schaalbaarheid en stabiliteit van het platform en lagere operationele kosten. We ontwikkelden en implementeerden alle infrastructuur met Infrastructure as Code (IaC) met behulp van Terraform.
Gegevens van camera’s verzamelen
Elk billboard is uitgerust met een camera. De continue stroom van beelden wordt verzameld door een externe dienst die objectdetectie-algoritmen gebruikt om het aantal passerende mensen en voertuigen te meten.
De ruwe data wordt elke 5 minuten uit deze dienst gehaald en opgeslagen in de bronzen laag van het data lake in CSV-formaat. Vervolgens wordt de data verwerkt en opgeslagen in de zilveren laag van het data lake in Apache Parquet formaat. Als laatste stap wordt de data geaggregeerd, zodat deze klaar is voor gebruik binnen het Machine Learning model. De geaggregeerde data wordt vervolgens opgeslagen in de gouden laag van het data lake. Alle verwerkingsstappen worden uitgevoerd met behulp van Apache Spark.
Modelontwikkeling, training en implementatie
Het doel van het project was om het aantal billboard-impressies over een bepaalde periode te kunnen voorspellen. Om de nauwkeurigheid van het model te vergroten, kreeg elk billboard zijn eigen getrainde versie van het model. Dit betekende dat er een apart model moest worden getraind voor in totaal 140 billboards.
Resultaat
Om meerdere Machine Learning modellen gelijktijdig te trainen, gebruikten we AWS Sagemaker. De resulterende modellen werden opgeslagen in S3. De modellen werden vervolgens beschikbaar gesteld via een REST API, vanuit waar voorspellingen worden opgehaald en beschikbaar gesteld aan het biedingsplatform.
Per billboard worden verwachte impressies voor de komende twintig minuten voorspeld en via het uitwisselingsplatform aan potentiële kopers gepresenteerd.
Toekomst
Naast de integratie van data uit camera’s, zetten we data pipelines voor het verwerken en beschikbaar maken van data over de weersomstandigheden rondom billboards. Deze data kan in de toekomst bijdragen aan een verdere verbetering van de nauwkeurigheid waarmee het aantal verwachte impressies wordt voorspeld.
Meer weten?
Business Manager Joachim gaat graag met je in gesprek over wat we als datapartner voor jou en je organisatie kunnen betekenen.
Business Manager06 23 59 83 71joachim.vanbiemen@digital-power.com
1x per maand data insights, praktijkcases en een kijkje achter de schermen ontvangen?
Meld je aan voor onze maillijst en blijf 'up to data':