Skip to content
For telecoms and pay TV

Recommendation Engine for Telecoms and Pay TV Operators

Your viewer picks between a live schedule and a large on-demand library, and their package limits both. TasteRay ranks the two in one list and writes down why, from your candidates.

TasteRay gives telecoms and pay TV operators a recommendation engine that ranks live channels and on-demand titles in one list, against what a household says it wants now. You send what the subscriber is entitled to and what is on air, and each result returns with a written reason. Enterprise adds custom AI, SLA and white-label.

A pay TV guide lists hundreds of channels and a library behind them, and the person holding the remote at 8:15 on a Friday wants one answer. The operator holds what a streaming service does not: a schedule, a package per household, and a box in the living room. Each of those shapes this integration.

Live channels and on-demand in one ranking

We wrote a list of ten items for a household: five live channels and five on-demand titles, including Bluey, a kids channel and a sports channel. The request said a six-year-old had just gone to bed and two adults wanted something now. An on-demand miniseries, an on-demand documentary and a live documentary channel came back, and the two children's items did not.

Treat that as a result to test on your own lists and keep your parental controls in front of the API. The channel names in the request are placeholders we wrote.

Request body
{
  "vertical": "tv",
  "context": {
    "profile": "Pay TV household, 8:15pm Friday, two adults and a six-year-old who has just gone to bed. Wants something to watch together now.",
    "preferences": [
      "live or on-demand",
      "adult drama or documentary"
    ]
  },
  "items": [
    {"id": "c4", "name": "Live: Docu World", "description": "Live channel: nature and history documentaries.", "metadata": {"type": "live channel"}},
    {"id": "v2", "name": "Chernobyl", "description": "VOD: five-part drama miniseries.", "metadata": {"type": "vod"}},
    // ...and 8 more: Live: Sports One, Live: Kids Zone, Planet Earth II, Bluey S1 and others
  ],
  "options": {"count": 3}
}
Real capture, , from the keyless demo in fast mode, which returns at most three results. All three results, with one or two of the four key_factors each. Round trip 2.5 s, meta.processing_time_ms 1,999. The model's sentences are verbatim.
  1. Chernobyl

    95 out of 100, taste_match_score

    You are in the 'post-kids' sweet spot: tired but not ready to sleep, wanting something that feels mature and substantive without the commitment of a long, multi-season saga. Chernobyl is the definitive adult drama experience for a Friday night.

    • You explicitly asked for an adult drama. This is not a show you can half-watch with a distraction; it is a tense, gripping narrative that respects your intelligence and demands your focus.
    • At five episodes, it is a perfect weekend project. You can start tonight and decide if you want to finish it over the next few days, or just watch one episode to 'cap' the evening without guilt.
  2. Planet Earth II

    92 out of 100, taste_match_score

    You want a documentary, but perhaps you want one that feels like a spectacle. Planet Earth II offers the 'wow' factor of a big-screen film with the accessibility of a home viewing experience. It’s the ultimate 'visual escape'.

    • It ticks the 'documentary' box but with high production values. It’s not dry or academic; it’s cinematic. This makes it far more engaging for a casual Friday evening watch.
    • Six episodes give you plenty of buffer. You can watch one and feel you’ve had a complete, rewarding experience, or binge a couple if you’re in the zone.
  3. Live: Docu World

    78 out of 100, taste_match_score

    Sometimes you don't want to pick a specific show because you're unsure of your energy level. Live: Docu World gives you the option of 'low-friction' viewing. It’s adult content, but it feels passive and easy, perfect for when you're half-tired.

    • You mentioned 'live or on-demand'. This option caters to the 'live' preference if you just want to put the TV on and not make a decision. No clicking, no searching.

Fields shown: item.name, metadata.taste_match_score, explanation.why_match, explanation.key_factors.

What changes in an operator integration

Entitlements come first
Two neighbours on different packages should see different answers. Filter candidates by the household's package before the call, because the API only returns items from the list you send, and it knows nothing about your bundles.
The schedule expires
A live item is only worth recommending while it is on or about to start. Build live candidates from your EPG at request time or every few minutes, and keep the broadcast time in description, so the reason can refer to it.
Ten slots, hundreds of channels
A request ranks at most ten items. Preselect first: what is on now and in the next hour, narrowed by genre or by what the household has watched, plus a handful of on-demand titles.
The household, not the person
One box may mean several viewers. The API stores no profiles, so you decide whether context.profile describes a person, a profile or a household, and a pseudonymous identifier is enough. Keep kids profiles out of the integration unless your contract says otherwise.
The box in the living room
There is no set-top box SDK. Your middleware calls the API and your app renders the result. Plan for a few seconds per response, with slower outliers, so anything on the home screen should come from your own cache.
Remote-control input
Typing on a remote is slow, and voice depends on your platform. Theme buttons written by your editors work on any box, and each is one request. A viewer on your mobile companion app can type a whole sentence.

What the schedule does to your request budget

A daily refresh of on-demand rows is cheap. Live rows have to refresh when the schedule does, and your request budget follows that. The table is our arithmetic on a 30-day month, as an example to replace with your numbers.

Example refresh grids for an operator, and the tier each one fits. As of 5 November 2026.
SurfaceCalculationRequests a monthTier that fits
On-demand rows by package20 themes × 30 package groups, refreshed daily18,000Pro, $199 a month for 100,000
Live-and-on-demand rows20 themes × 30 package groups, refreshed hourly432,000Enterprise, custom limits
Per-household evening pick200,000 households × one request an evening6,000,000Enterprise, custom limits

For an operator of your size

Large operators buy under contract. TasteRay Enterprise provides custom AI trained on your content, white-label delivery, an SLA, dedicated support, analytics and custom limits, and it can start with a pilot on one surface and one part of the catalog. No training data is needed to start. A DPA is available on request, and the security page sets out the data flow.

You would deal with people who have years of experience running product, technology and growth at scale. More on the team page.

Mike Wolniak, CEO
Built and sold the VML hub in CEEMEA.
Mike Jaskolski, CTO
Led product and technology for Nokaut and Morizon, both of which went public. Builds the TasteRay engine, trained on more than 500,000 long-form reviews.
Marius Labudda, Growth
Drove user growth at Sportano and G2A.com.
Kordian Klecha, Product
Has built products and services used by millions.

When this is the wrong tool

If you want a platform covering metadata, ad audiences and every home-screen row from viewing behaviour, compare ThinkAnalytics or XroadMedia. If policy rules out sending viewer context to a third party and its AI model providers, tell us first, or read build vs buy.

Sources and further reading

FAQs about Recommendation Engine for Telecoms and Pay TV Operators

Can TasteRay recommend live channels as well as on-demand titles?

Yes. An item is anything you can name and describe, so a live channel and an on-demand title can share one request. In a capture on 5 November 2026 the API ranked five of each together. Build live candidates from your own EPG, because the API has no knowledge of your schedule.

How do we respect what each subscriber is entitled to watch?

Filter before you call. Your system knows each household's package, so send only titles and channels that household can play, and the API only returns items from the list you send. TasteRay holds no record of your bundles or subscribers, and a pseudonymous identifier or no identifier at all is enough.

Does TasteRay work on set-top boxes?

Through your own middleware. TasteRay is a REST API with no set-top box SDK, so your backend calls it and your app renders the result. A response takes a few seconds and can run longer, so serve the home screen from a cache and keep live calls for moments when a viewer asks.