The brief is familiar: viewers cannot find anything, engagement is flat, and a recommendation system is going to fix it. A model is selected, an engineer is assigned, and a proof of concept produces something plausible on the recent catalogue.
Then it meets the archive, and the whole thing quietly slows down.
The model is downstream of the tagging
A recommender works with what the content is described as. If the description is thin, inconsistent or wrong, no amount of modelling recovers it — the system will confidently recommend on the basis of bad labels.
In most media businesses the labels are bad for structural reasons rather than careless ones. Content was ingested over fifteen years by different teams, under different schemes, some of it acquired with a third party’s metadata attached, some of it tagged by whoever had five minutes.
What “bad metadata” actually looks like
- Genre applied inconsistently. The same programme is drama in one batch and crime in another, because two people made reasonable different calls.
- Free text where structure was needed. Contributor names spelled four ways, so “more from this presenter” cannot work.
- Missing entirely on the archive, which is exactly the content discovery is meant to surface. Recent titles are well described; they were also easy to find.
- Rights data separate from descriptive data, so a recommendation can surface something not licensed to show — the failure mode nobody forgives.
- No relationships. Series, episodes, seasons, brands and clips related by naming conventions instead of by structure.
Fix the foundation first
Not glamorous, and it is the project:
One taxonomy with an owner. Someone decides what a genre means, and the decision is enforced at ingest rather than corrected afterwards.
Structured entities for people and titles, with identifiers, so a contributor is a thing rather than a string.
Rights and availability as data, queryable, so what can be shown is a fact the system knows rather than a rule applied at the end.
Tagging at ingest, validated. Every item entering untagged is a future gap that someone will pay to fill.
Where AI helps — carefully
The archive is too large to tag by hand, and this is a genuinely good use for models: automatic tagging, transcription, and semantic search over back catalogue that has no useful description at all.
Two conditions. Generated tags should be marked as generated, so their confidence is known and they can be reviewed or regenerated. And they should populate the same taxonomy as human tagging, not a parallel one — otherwise you have created a second metadata problem to sit alongside the first.
The order that works
Get the catalogue described, get search working on it, and see how far that goes. Search is cheaper, its failures are visible, and a large share of “I cannot find anything” turns out to be search rather than recommendation.
Then build the recommender on a foundation that can support it.
Planning discovery work? Get in touch, or read about our entertainment and media work.