Recommendations · Reuters · 2024
Read Next
A recommendation engine I prototyped alone, proved on live pages, then shipped with the team as Reuters.com's Read Next platform.
- +20%
- recirculation
- +22%
- subscription conversion, single-article visitors
Context
Reuters.com serves a large, mostly anonymous audience. Retention depends on turning a one-article visit into a second and third, because that's where subscription intent starts.
The problem
Most readers arrived from search or social, read one article and left. The end of every article was a dead end.
What the evidence said
Tag-based related links matched topics, not intent. What a reader did in this session said more than what the article was tagged.
Options on the table
What shipped
- Four-tier tag classification feeding weighted sentence-transformer embeddings
- Session profiling with recency decay
- MMR ranking so recommendations stay relevant without repeating one story
- Chrome-extension prototype on live article pages before any production commitment
Outcome
Shipped as Read Next. Recirculation up 20%, and subscription conversion among single-article visitors up 22%.
My role, and the team's
- Me
- Built the prototype solo, ran the live-page proof, wrote the case for production and set the success metrics.
- The team
- Engineering took it to production scale; design owned the module; analytics owned the measurement plan.
From the working file
- Decision
- Build an in-house recommender behind a feature flag on article pages.
- Why now
- Prototype shows higher click-through on the end-of-article slot than tag links across a two-week sample.
- Success metric
- Recirculation (2+ articles per session). Guardrail: time on page must not fall.
- Kill criterion
- No recirculation lift at 95% confidence after four weeks: revert to tag links.
- Ask
- Two engineers for one quarter; editorial review of the ranking rules.
What I'd do differently
I'd bring editorial in at prototype stage rather than at review. Their instinct for what shouldn't sit together would have saved a tuning cycle.