Daniel Baran
← Back to overview

Product Owner · SWR/ARD · 2024 – 2025 · Baden-Baden → Stuttgart

AI recommendation engine for SWR.de

Context

On swr.de, articles are published across different departments such as sport, knowledge, local topics and more. Below each article sits a block with further recommendations. Until then, those recommendations were curated manually by editors: time-consuming, not scalable and not optimised by department.

Problem

Manual recommendations meant high editorial effort in an area that can be solved better algorithmically. At the same time, a standard recommendation engine is not ideal here because each department has different relevance signals. Sport needs recency, knowledge needs semantic proximity, local topics need geographic fit.

Constraints

Existing editorial workflows must not be broken. Results must be understandable and influenceable by editors. Category-specific relevance weightings such as time, semantics, location and tags differ by department. Public broadcasting privacy standards also applied.

Process

We took over an existing AI model and fine-tuned it by category. The core idea: different departments need different objective functions. Sport: time recency dominant. Knowledge: semantics and tags dominant. Local topics: location dominant. In parallel, we built a custom A/B testing tool where editors evaluated and compared recommendations on behalf of the audience. Their ratings fed back into fine-tuning.

Solution

A live AI recommendation engine on swr.de with department-specific weightings and an editor-driven A/B testing loop for continuous fine-tuning.

Results

Manual recommendation maintenance by editorial teams was replaced by the engine. Concrete click numbers are not public.

Learnings

A good recommendation engine for a publisher is not one model for everything. It is a framework where each department gets its own objective function. Editors as an active part of evaluation are the lever where many projects fail.