Bosca / Recommendations

Strategies

Where candidates come from

A strategy is a candidate generator plus its configuration. Strategies build pools of candidates with no per-person targeting — that happens later, at serving time — so the expensive work is done once and shared across everyone.

Strategy types

Four ways to find candidates

Trending

Globally popular content by recent interaction velocity — the shared baseline every viewer can fall back to.

Co-engagement

"People who engaged with this also engaged with" — item-to-item edges built from real behavior.

Cohort co-engagement

The same co-engagement, conditioned on a viewer's cohort, so "people like you" means people who behave alike.

Personalized

The live trained model — the source behind a person's ranked feed and the per-viewer re-ranking everywhere else.

Generate, then serve

Broad pools, personal ranking

Strategies never rank for a specific person. They materialize a pool — the trending set, the co-engagement edges — and serving does the personal part live, at request time, for whoever is looking. It's why a feed can reflect the latest behavior without precomputing one for every profile.

  • The three behavioral types are driven by an analytics query and produce a materialized pool.
  • The personalized type holds the live model that ranks and re-ranks per viewer.
  • Deleting a strategy removes the recommendations it produced — pools are owned, not orphaned.

Running strategies

Status, priority, schedule

Every strategy moves through a simple lifecycle and only produces recommendations while it's active — so you can stage one, pause it, or retire it without deleting its history.

  • Status — draft, active, paused, or archived; only active strategies contribute.
  • Priority — decides which strategies feed a placement first.
  • Schedule — behavioral strategies refresh on a cron schedule, or on demand the moment you ask.
strategy
{
  "name": "Home — Trending",
  "type": "TRENDING",
  "status": "ACTIVE",
  "priority": 10,
  "evaluationSchedule": "0 * * * *"
}

Keep exploring

More on Recommendations