Over NPO
24 October 2022

“Als Engineer bij NPO krijg ik alle ruimte om technische grenzen te verkennen”

Als Machine Learning Engineer is Tycho continu bezig met het testen en evalueren van verschillende aanbevelingsmodellen voor NPO Start. Benieuwd wat deze modellen precies meten en wat dit te maken heeft met de optimale gebruikerservaring? Lees dan snel verder.

Tycho is onderdeel van het personalisatieteam. Dit team is voor een aantal zaken verantwoordelijk: zoekmachines, data integraties en het aanbevelingssysteem voor NPO Start.

Kun je wat meer vertellen over het project waar je aan werkt?
“Het aanbevelingssysteem heeft betrekking op de pagina’s ‘aanbevolen voor jou’ en ‘bekijk ook eens’ binnen de app en website van NPO Start. Het gaat hierbij om gepersonaliseerde aanbevelingen die de kijker te zien krijgt, gebaseerd op zijn of haar voorkeuren of zoekgedrag. We gebruiken hiervoor een aantal modellen. Deze zelf ontwikkelde modellen leren van gebruikersgedrag en zijn opgebouwd uit bestaande algoritmes. Wij verzamelen ‘evenementen’, dit zijn acties, handelingen en gegevens die we meten op NPO Start. Zo meten we bijvoorbeeld welke gebruikers bepaalde afleveringen of series kijken en hoelang ze hiernaar kijken. Onze modellen proberen we continu te verbeteren. Ook testen en vergelijken we verschillende type modellen.”

Uit het onderzoek dat Tycho en zijn collega’s hebben gedaan voor NPO Start zijn drie gebruikersgroepen (ook wel modellen) gerold:

  • Model 1: leert van losse afleveringen die zijn bekeken
  • Model 2: leert van series die zijn bekeken en beveelt op basis hiervan losse afleveringen aan
  • Model 3: leert van series die zijn bekeken en beveelt op basis hiervan andere series aan.

“We hebben deze modellen met elkaar vergeleken en hier kwamen hele interessante verschillen uit. In het onderzoek kijken we veel naar het click through rate percentage (CTR). Dit percentage meet hoeveel mensen er op een bepaalde tegel klikken. Een tegel binnen NPO Start kun je zien als een serie, losse aflevering of bijvoorbeeld een film. Wat we uit het onderzoek naar voren zagen komen, is dat de meeste gebruikers op de losse afleveringen klikten, dus model 1. Maar wat mij en mijn collega’s ook opviel is dat het tweede model, dat leert van series en vervolgens losse afleveringen aanbeveelt, minder kliks had, maar áls er dan geklikt werd, bleven gebruikers wel veel langer kijken.

De verschillende metingen en conclusies bespreken we vervolgens met het team. Uit het onderzoek kwamen twee verschillende resultaten naar voren. Enerzijds werd er het meest geklikt op het model met de losse afleveringen, maar anderzijds bleef de gebruiker langer kijken nadat er was geklikt op het model dat keek naar series en vervolgens losse afleveringen aanbeval. Dit laat zien dat het ene resultaat niet per se beter is dan het andere.”

Welke conclusie kwam hier vervolgens uit?
“We zijn met de afdeling in discussie gegaan om te bekijken wat iedereen hiervan vond. Zijn we als NPO een aanbieder die genoeg mediaconsumpties (losse afleveringen) wil genereren, of willen we juist dat de gebruiker iets bekijkt waar hij of zij ook echt lang naar blijven kijken? Wij wilden als team zelf het meest interessante aanbieden aan de gebruiker, dus dat de gebruiker langer blijft kijken, in plaats van het model met de meeste kliks. Dit was echter de mening en conclusie van mijn eigen team. Team Data Analyse had bijvoorbeeld een andere visie, want zij keken juist meer naar de hoeveelheid kliks.”

Met wat voor tools en methodieken werk je?
“Alle online infrastructuur doen we in Google Cloud omgevingen, denk hierbij aan het opzetten van modellen en het uitvoeren en linken van datastromen. De modellen zelf zijn gemaakt in Python. Infrastructuurprocessen schrijven we zelf en doen we via GO, dit is een programmeertaal opgezet door Google.”

Hoe werken jullie als afdelingen met elkaar samen?
“Tijdens de onderzoeken die wij doen worden meerdere afdelingen aangehaakt. Dit maakt het ook interessant, want zo ga je door meerdere onderdelen van het bedrijf. Ik vind het erg leuk dat er binnen NPO samengewerkt wordt met meerdere afdelingen. Ook vind ik het heel interessant dat we nadenken over wat goed voelt en wat we als publieke mediapartij willen laten zien. Dit in plaats van de visie hoe meer we verkopen hoe beter. Dat is uniek, want NPO is maatschappelijk en daardoor minder commercieel dan concurrenten.”

Waarom vind je het zo leuk om aan dit project te werken?
“Zo’n 2,5 miljoen mensen gebruiken wekelijks NPO Start. Het voelt daardoor heel waardevol. Je ziet veel resultaten op grote schaal terug en je moet de testen en modellen zo opzetten, dat het voor heel Nederland werkt. Dat maakt het leuk. Als het project is afgelopen blijven we het model doorontwikkelen. Maar er kan ook weer een nieuw model worden ontwikkeld en vervolgens worden getest. Zulke projecten lopen dus eigenlijk nooit af, want er is altijd meer onderzoek mogelijk.”

Buiten dit project heeft Tycho ook andere interessante werkzaamheden. Op de vraag wat hij verder zo leuk vindt aan zijn functie heeft hij dan ook direct een antwoord. “Als Engineer bij NPO krijg ik alle ruimte om technische grenzen te verkennen. Het is onwijs interessant en leuk om daaraan mee te werken. Zo beschikken we over een supergrote klantenbase, het gaat om miljoenen Nederlanders. We houden gigantische ICT-infrastructuren bij om alle processen te ondersteunen. Er valt daarnaast op heel veel plekken enorm veel te leren. Ik kan veel projecten oppakken als Machine Learning Engineer, dus ik kan alle kanten op. De ene keer test ik een applicatie, dan zet ik een infrastructuur in de cloud op en een week later ben ik een model aan het opzetten. Het is heel veelzijdig.”