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.
- 19,412+1Channel IChannel
- 28,847-1Maasranga TVChannel
- 37,261+2Mosharraf KarimPerson
- 46,918-1Coke Studio BanglaChannel
- 55,4020Tahsan KhanPerson
- 64,188+3Natok: Bonjour MadamContent
Every score row carries its full component breakdown. Audit any rank back to the inputs.
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.
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.
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.
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.
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.
f(delta_views, delta_engagement, velocity, recency). The atomic unit. Every content row gets one per period.
Sigma(VIS) for every piece of content that channel published in the window. Rewards consistent output, not single viral hits.
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.
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.
- 01Initiate via YouTube OAuth
- 02Verify against the channel
- 03Tokens encrypted at rest
- 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.
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.
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
| Capability | Rating | Trustpilot | Google Reviews | In-house widget |
|---|---|---|---|---|
| Built for Bangladesh entertainment | Maybe | |||
| TRP and content scoring (not user reviews) | ||||
| IMDB-style Person entity with appearances | ||||
| Provider architecture designed for TV, OTT, Meta | YouTube live | |||
| Published methodology with version history | Partial | |||
| Channel-ownership claims via OAuth | Business claim | Business claim | ||
| Bangla + English alias resolution | Maybe | |||
| 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.
Q01What 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.
Q02Is 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.
Q03How 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.
Q04Can 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.
Q05Can 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.
Q06How 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.
Q07What 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.
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 billing with automated access control: webhooks enable or disable API access in Darwan when payments succeed or fail.