Skip to content
Rating
rating.bd / trp.bd

The independent
rating service for
Bangladesh entertainment.

Rating is a Bangladesh-focused unified rating platform that ranks channels, persons, and content using transparent VIS, CRS, and PPS scores. Every rank shows its working. Every change is versioned. Every source is pluggable.

3
Scoring formulas
14
Scheduled jobs
90d
Raw API archive
Leaderboard
Illustrative
#EntityScorevs prev
  • 1
    Channel I
    Channel
    9,412+1
  • 2
    Maasranga TV
    Channel
    8,847-1
  • 3
    Mosharraf Karim
    Person
    7,261+2
  • 4
    Coke Studio Bangla
    Channel
    6,918-1
  • 5
    Tahsan Khan
    Person
    5,4020
  • 6
    Natok: Bonjour Madam
    Content
    4,188+3
GET /v1/leaderboardsbreakdown: JSON
RatingA KaritKarma product. Auth via Wenme, RBAC via Darwan, comms via BitsPath, talent verification via Kuhok.

Three entity types

We rank what the
industry actually
argues about.

Channels, persons, content. Each gets its own leaderboard surface, its own scoring formula, and its own slice of the Insights API. The three are linked through canonical entity resolution so a single drama appears once, no matter how many channels uploaded a clip from it.

Surface
CRS

Channels - Channel Rating Score

CRS sums VIS across every piece of content a channel published in the window. Rewards consistent output. Surfaces subscribers, lifetime views, video count, content published-in-period, total duration, and persons identified inside the channel's catalog.

Surface
PPS

Persons - IMDB-style identity, Person Popularity Score

Person replaced the legacy Artist entity. One identity can carry multiple types with Bangla and English aliases. PPS aggregates across every channel the person appears on, weighted by presence (lead 1.0, guest 0.5, mention 0.2 by default, configurable) and multiplied by detection confidence.

ActorActressSingerDirectorYouTuberCricketerModel+ admin-extensible
Surface
VIS

Content - Video Impact Score

VIS is the atomic unit. Computed from delta_views, delta_engagement (likes plus comments), velocity (growth rate over time), and recency (decay from publish date). Categories like Natok, Music Video, Comedy, Interview, News are detected by a local Ollama qwen2.5:1.5b classifier with a rule-based fallback.

Methodology, on the record

Three scores. One audit trail.

Every score row stores its full component breakdown as JSON next to a methodology version stamp. A ranking can be re-explained back to the inputs that produced it, and an old leaderboard can be recomputed against the formula that was live on that date.

Scoring guard

When an ingestion gap leaves a period with no VIS scores, the engine skips CRS and PPS computation and leaderboard generation instead of overwriting valid data with zeros. Dashboards fall back to the previous valid leaderboard until fresh ingestion completes.

Formula
VIS
Video Impact Score

f(delta_views, delta_engagement, velocity, recency). The atomic unit. Every content row gets one per period.

Formula
CRS
Channel Rating Score

Sigma(VIS) for every piece of content that channel published in the window. Rewards consistent output, not single viral hits.

Formula
PPS
Person Popularity Score

Sigma(VIS x presence_weight x confidence). Default weights: lead 1.0, guest 0.5, mention 0.2, all configurable scoring parameters.

Pluggable signal providers

One provider interface. Every source you will ever add.

A Provider is a versioned plugin with capabilities (ChannelMetrics, VideoMetrics, ArtistMapping, CategoryHints), a cron schedule, and per-provider rate limits. Each provider ingest() call returns canonical Signals that the engine normalizes into Channels, ContentItems, Persons, and Categories. Scoring runs only on canonical data, never on raw provider payloads.

Pluggable signal providers

Every data source is a versioned plugin behind one interface. YouTube ships first as the production provider. The architecture is designed so TV-TRP panels, OTT, and Meta surfaces plug in behind the same interface without touching the scoring core or the API contract.

Canonical entities, not source-locked records

Channels, Persons, ContentItems, and Categories are stored once. Provider rows map to them. A person who tours through three channels and ten videos has one identity, one PPS, one rank.

Audited methodology, not a black box

Every score row stores its full component breakdown as JSON next to a methodology version stamp. Old leaderboards can be recomputed and historically compared without overwriting the past.

Refuses to publish zeros

When an ingestion gap leaves a period with no VIS scores, the engine skips CRS computation, PPS computation, and leaderboard generation instead of writing zero rows. Dashboards keep serving the previous valid leaderboard.

YouTube provider
Quota-aware ingestion jobs
Live
Fresh
Recent content sweep
Every 2 hours
Priority
Watchlist and hot entities
Every 30 minutes
Backfill
Catalog depth and history
Every 4 hours
Raw payload retention
90 days
API endpoint avoidance
no search.list
Bangla and English aliases

Auto-detects person mentions using Bengali script patterns alongside English markers like ft. and starring. Suggestions enter a pending-review queue before becoming permanent Person records.

Claim and verify

The graph verifies itself.

Rankings are only as good as the identity data underneath them. Rating closes the loop three ways: owners claim their channels, the Kuhok production network verifies talent credits, and an LLM proposes new persons that humans approve.

Channel owners claim their numbers

A channel owner proves ownership through YouTube OAuth: an initiate-and-verify flow, encrypted token storage, and a claim-expiry job that revokes stale grants. A verified claim unlocks a private owner analytics dashboard on top of the public leaderboard.

Claim lifecycle
  1. 01Initiate via YouTube OAuth
  2. 02Verify against the channel
  3. 03Tokens encrypted at rest
  4. 04Expiry job revokes stale claims

Kuhok talent verification

Rating bridges to Kuhok, the film and TV production network. Payment-verified Kuhok credits flow into the Person and Appearance graph, and PPS scores flow back onto Kuhok profiles. One bidirectional loop, zero re-entry.

Appearance claims + verifications

LLM person discovery

A local Ollama model (qwen2.5:1.5b) scans content metadata and proposes new Persons. Every AI discovery lands in a human review queue before it earns a permanent record. Nothing auto-publishes.

Discovery job + review queue
NewsForge feed
News content on person profiles
Weekly digests
Email + WhatsApp via BitsPath
API key management
Admin-issued, quota-bound keys
37
API controllers
14
Scheduled jobs
45
Domain entities
35
Web routes

Counted from the Rating codebase: API controllers, Quartz job classes, domain entities, and Next.js routes.

Rating vs the alternatives

Trustpilot ranks merchants. Google ranks places. Rating ranks the Bangladesh entertainment industry.

Consumer review platforms answer a different question. They aggregate user opinion about businesses. Rating aggregates audience-impact signals about channels, the people on them, and the content they produce, weighted by formulas the industry can audit.

Scroll for full table

CapabilityRatingTrustpilotGoogle ReviewsIn-house widget
Built for Bangladesh entertainmentMaybe
TRP and content scoring (not user reviews)
IMDB-style Person entity with appearances
Provider architecture designed for TV, OTT, MetaYouTube live
Published methodology with version historyPartial
Channel-ownership claims via OAuthBusiness claimBusiness claim
Bangla + English alias resolutionMaybe
Public rankings + paid insight API

Questions buyers actually ask

The straight answers.

Every answer is mirrored in the FAQPage JSON-LD on this page so answer engines surface the same response.

Q01

What is Rating?

Rating is the independent Bangladesh entertainment rating platform built by KaritKarma. It ranks channels, persons (actors, singers, directors, hosts), and individual content items using transparent scoring formulas (VIS for content, CRS for channels, PPS for persons). It ships live at rating.bd, with trp.bd redirecting to the same surface.

Q02

Is Rating only for YouTube data?

YouTube is the first production provider because YouTube is where most Bangladesh entertainment audience time actually lives in 2026. Rating is built on a pluggable signal-provider architecture (a versioned plugin behind one interface), designed so TV-TRP panels, OTT platforms, and Meta surfaces can plug in without rewriting the scoring engine. Today, YouTube is the provider that ships.

Q03

How does Rating handle one person who appears on many channels?

Rating uses an IMDB-style Person entity. A person has Bangla and English aliases, one or more types (the taxonomy is database-driven and admin-extensible), and a list of Appearances that link them to specific content with a role context. A single Person Popularity Score (PPS) aggregates across every channel they appear on, weighted by presence: lead 1.0, guest 0.5, mention 0.2 by default, with the weights stored as configurable scoring parameters.

Q04

Can a channel or artist contest a ranking?

Yes. Every score row stores its full component breakdown as JSON, so any rank can be explained back to the inputs that produced it. Methodology changes are version-stamped, which means a contested ranking can be recomputed against the exact methodology that was live on that date. There is no off-the-record adjustment layer.

Q05

Can a channel owner claim their channel?

Yes. Channel ownership claims run through YouTube OAuth: the owner initiates a claim, Rating verifies it against the authenticated channel, and tokens are held in encrypted storage with a claim-expiry job revoking stale grants. A verified owner gets a private analytics dashboard for their channel alongside the public leaderboard placement.

Q06

How does Rating handle Bangla and English variants of the same name?

Person and channel records carry an aliases table that holds Bangla and English (and romanized) variants. Auto-detection scans content metadata for Bengali patterns and English markers like ft., featuring, and starring, and a local LLM discovery job proposes new persons. Every suggestion enters a pending-review queue before it gets a permanent Person record.

Q07

What stops Rating from publishing zero-score leaderboards when ingestion fails?

A scoring guard. When no VIS scores exist for a period, for any reason, the engine skips CRS computation, PPS computation, and leaderboard generation instead of writing zero rows over the last valid data. Dashboards continue to serve the previous valid leaderboard until fresh ingestion lands.

Open the dashboard

The ranking everyone can argue with, no one can dismiss.

Public leaderboards are free at rating.bd. The paid insights API serves duration distributions, publish-time heatmaps, format analysis, and head-to-head comparisons. Subscription billing comes with automated access control, and weekly digests deliver over email and WhatsApp through BitsPath.

Subscription plans, BDT per month
Basic
1K API calls
BDT 499
Pro
10K API calls
BDT 1,499
Enterprise
100K API calls
BDT 4,999

Subscription billing with automated access control: webhooks enable or disable API access in Darwan when payments succeed or fail.