{"reference":"Abikanlu & Aina (2021). The Journal of Social Media in Society, 10(1), 79–99.","metrics":[{"key":"ranking_score","label":"Ranking score","description":"Composite channel/station rank score from weighted curated signals.","unit":null,"category":"derived_online","default_provenance":"inferred","active_version":"ranking_score@2","version_history":[{"version":2,"formula":"weighted signals; schedule requires selected EPG evidence; distribution requires current retained carriage evidence","notes":"Publication-safety revision: untraceable schedules and carriage contribute zero.","active":true,"created_at":"2026-10-03T23:09:16.406815"},{"version":1,"formula":"sum(source_weight * recency_decay * signal) over curated items","notes":"Initial scoring formula (see app.scoring).","active":false,"created_at":"2026-10-03T23:09:16.394441"}],"sources":["Curated coverage (attributed)","Structured ratings imports","Demand telemetry"],"coverage":"Channels/stations with at least one attributed signal in the window.","limitations":"A composite of weighted online signals, not a panel audience measurement. Derived-online estimates and independent external ratings are kept in separate categories and never summed.","grounding":"Abikanlu & Aina (2021). The Journal of Social Media in Society, 10(1), 79–99."},{"key":"ranking_reach_weighted","label":"Reach-weighted discoverability score","description":"Composite discoverability score combining attention signals with verified carriage footprint breadth.","unit":null,"category":"derived_online","default_provenance":"inferred","active_version":"ranking_reach_weighted@2","version_history":[{"version":2,"formula":"weighted signals; schedule requires selected EPG evidence; distribution requires current retained carriage evidence","notes":"Publication-safety revision: untraceable schedules and carriage contribute zero.","active":true,"created_at":"2026-10-03T23:09:16.412293"},{"version":1,"formula":"weighted blend: buzz 0.20, sentiment 0.15, reach 0.20, engagement 0.15, schedule 0.05, demand 0.10, distribution 0.15","notes":"Initial formula separating audience reach from carriage distribution breadth.","active":false,"created_at":"2026-10-03T23:09:16.401432"}],"sources":["Curated coverage (attributed)","Structured ratings imports","Demand telemetry","Verified platform carriage footprint"],"coverage":"Active channels/stations with curated coverage or verified platform distribution carriage.","limitations":"Blends multi-parameter attention signals with verified broadcast/cable/DTT/DTH distribution reach. Distribution footprint measures transmission availability across verified platforms, distinct from audience ratings.","grounding":"Abikanlu & Aina (2021). The Journal of Social Media in Society, 10(1), 79–99."}],"sources_and_methods":{"access_modes":{"official_feed":"Direct, authenticated APIs, RSS/Atom feeds, XMLTV endpoints, or structured ratings imports provided by broadcasters and measurement bodies.","licensed":"Commercially licensed data partnerships and syndication feeds under explicit legal agreements.","polite_scrape":"Attributed public web schedule and news extraction strictly adhering to robots.txt, crawl-delay directives, per-domain token-bucket rate limits, and honest user-agent identification.","render":"Headless browser rendering for permitted dynamic SPAs respecting explicit site consent and robots directives."},"politeness_policy":{"robots_txt":"Strict adherence to site-published robots.txt disallow and crawl-delay directives with zero evasion, residential proxy pools, or fingerprint spoofing.","rate_limiting":"Per-domain in-process token-bucket rate limiting (default 1 req/sec) to avoid server load on broadcaster platforms.","identification":"Honest identification with public contact URI via standard User-Agent header.","caching":"RFC 7232 / 9110 conditional GET caching (ETag / If-Modified-Since) returning HTTP 304 to minimize bandwidth and redundant transfers."},"provenance_classes":{"first_party_verified":"Direct telemetry or verified broadcaster feed.","independent_external":"Licensed or audited third-party measurement panel.","derived_online":"Extracted from public web listings or attributed online mentions.","editorial":"Curated or verified by editorial staff.","inferred":"Statistically modeled or composite estimate.","owned_campaign":"First-party promotional tracking."},"sources_summary":{"official_feed":1,"licensed":0,"polite_scrape":67,"render":0},"platform_and_carriage_auditing":{"description":"Multi-technology carriage tracking for television and radio channels across terrestrial, satellite, cable, and OTT platforms.","miss_tracking_deactivation":"Lineup observations employ stateful N=3 consecutive miss tracking before soft-deactivating carriage associations and recording termination timestamps.","promotion_criteria":{"registry_match":"Verification against statutory broadcast regulator catalogs (e.g. NBC, ICASA, CA).","domain_self_attestation":"Exact origin verification matching official broadcaster landing domains.","corroboration":"Corroboration across N >= 3 distinct attribution sources.","survival_floor":"Longevity floor requiring first seen timestamp >= 14 days AND seen_count >= 2 without entity conflicts."},"access_technologies":{"dtt":"Digital Terrestrial Television (e.g. FreeTV, GOtv, StarTimes DTT)","dth":"Direct-to-Home Satellite (e.g. DStv, StarTimes DTH, Moreplex)","cable":"Digital and analog cable networks","iptv":"Managed IP television services","ott_app":"Broadcaster and standalone OTT/VOD applications (e.g. Netflix, Showmax)","fm":"Terrestrial FM radio frequencies","dab":"Digital Audio Broadcasting","online_stream":"Live web, HLS, or Icecast streams","other":"Unspecified or legacy fallback"}}}}