Bosca / Recommendations

The model

A recommender that trains itself

Two models do the work: one understands your content the day it's created, and one learns from how people behave. Both retrain on your data, the learned one has to prove itself before it can take over, and you can put a new model up against the current one in a live test.

Two models, one engine

Meaning and behavior

The content model

Learns from each item's own features and meaning — its type, language, categories, and what the text is actually about.

  • Works from day one — new content is recommendable before its first interaction.
  • Powers "similar" and the cold-start fallback for brand-new profiles.
  • Understands meaning, so two pieces on the same topic read as alike even with different words.

The personalized model

Learns a representation of each person and each item from real interactions, then ranks one against the other.

  • Trains once there's enough interaction history to learn from.
  • Reads a person through their signals and affinities, so even a new viewer gets a feature-based feed.
  • Drives the personalized feed and the per-viewer re-ranking on every surface.

Training & quality

A challenger has to earn its spot

Training runs in the background — kick one off and it produces a new candidate model. Before that candidate ever serves a request, it's graded on held-out interactions the model never saw. A new model only takes over if it measures up to the one already serving; if it falls short, the current model keeps its place.

  • The held-out set is exactly the interactions withheld from training, so the grade is honest.
  • The tolerance is yours to set — hold the bar exactly where you want it.
  • A trained model is versioned and published, so you always know what's live.
champion vs challenger
Championserving
Challengerpromotes ✓
a challenger that scored lower would be held back

A/B testing

Prove it in production

An offline grade is only half the story — what matters is whether people engage. Two ready-made experiments let you find out: put the model up against a simpler heuristic, or a new model version up against the current one. Each splits traffic by a feature flag and measures engagement and positive feedback.

  • Experiments start switched off — you provision them, then turn them on when you're ready.
  • If a flag is off, missing, or errors, serving quietly falls back to the production default.
engine experiment · 50 / 50
Arm A — the model50%
Arm B — heuristic50%
goal · engagementgoal · positive feedback

Keep exploring

More on Recommendations