← Dashboard

Scoring transparency

Methodology

v1.2

How IP Ranking translates observed public demand signals into consistent CVS, franchise, and trending views.

Last updated: April 26, 2026

Overview

ipranking.io tracks demand for 275+ entertainment IPs (anime, gaming, western media, character brands) across 86 normalized CVS markets. The Cultural Velocity Score (CVS) measures observable demand signals, while the Trending view shows momentum (daily score changes). This page documents CVS v1.2, including the spread-adjusted Social Buzz formula, franchise-level scoring, trending delta, data sources, a historical worked example, and known limitations.

Two Scoring Models

Overall

CVS (v1.2)

Composite market presence across search intensity, geographic spread, and source breadth. Range: 0-100. Computed daily.

Trending

Daily Delta

Change in CVS between the current and previous daily snapshot. Ranks franchises by momentum, not absolute strength.

Franchise

Franchise CVS

MAX(IP scores) + breadth bonus (up to +10). Groups related IPs under a single franchise ranking.

CVS v1.2 Formula

CVS = round(

socialBuzz × 0.30

+ searchDemand × 0.25

+ globalReach × 0.25

+ sourceCoverage × 0.20

)

Dimension Definitions

DimensionWeightFormulaSource
Social Buzz30%avg(scores) × log(countries+1) / log(87)Google Trends (86 normalized CVS markets)
Search Demand25%avg(top_5_scores)Google Trends top-5 country average
Global Reach25%round(countries / 86 × 100)Netflix + Google Trends union
Source Coverage20%round(sources / 6 × 100)All 6 data sources

Why spread scaling? (v1.2)

In v1.0, Social Buzz was a simple average of Google Trends scores across all countries with data. This inflated scores for IPs popular in only one or two countries (e.g., Code Geass scoring 100 from a single high-scoring country). v1.2 multiplies the average by a logarithmic spread factor: log(country_count + 1) / log(87). An IP present in 1 country gets a factor of ~0.16, while an IP in 60 countries gets ~0.92. This rewards both intensity and geographic breadth.

Search Demand change (v1.1)

v1.0 used max(scores), which saturated at 100 for any IP with a single high-scoring country. v1.1 replaced this with the average of the top-5 country scores, providing a more stable measure of sustained demand across multiple markets.

Worked Example: One Piece historical CVS calculation (v1.2 launch snapshot)

Historical reproducibility example using the 2026-04-26 v1.2 launch snapshot. This calculation shows how CVS 74 was produced for that snapshot; it is not the current live score.

Input Data

  • Google Trends: 66 country-level scores. Average = 35.74, Top-5 avg = 100.
  • Netflix: Top 10 in 29 countries.
  • AniList + MAL + Wikipedia: Trend score data present.
  • YouTube: No matching data (0 rows).
  • Merged countries: 75 unique (Netflix 29 + Google Trends 66, with overlap).
  • Distinct sources: 5 (anilist, mal, wikipedia, netflix, google).

Step-by-Step Calculation

DimensionCalculationScoreWeighted
Social Buzz35.74 × log(76)/log(87) = 35.74 × 0.973535 × 0.30 = 10.5
Search Demandavg(top 5 scores) = 100100100 × 0.25 = 25.0
Global Reachround(75/86 × 100)8787 × 0.25 = 21.75
Source Coverageround(5/6 × 100)8383 × 0.20 = 16.6
CVS = round(10.5 + 25.0 + 21.75 + 16.6)= 74

Note: One Piece has 75 countries, so the spread factor is high (0.97). For a localized IP with 1 country, the factor would be 0.16, dramatically reducing Social Buzz.

Data Sources

SourceFrequencyCountriesCVS DimensionStatus
Netflix TudumWeekly (Tue)Provider-specific coverageGlobal ReachActive
Google TrendsWeekly86 normalized CVS marketsSocial Buzz, Search DemandActive
AniList6 hoursGlobalTrend ScoreActive
MyAnimeList6 hoursGlobalTrend ScoreActive
WikipediaDailyAll editionsSource CoverageActive
YouTubeProvider cadenceLimited-market coverageSearch DemandLimited

Franchise-Level CVS

Franchise CVS = min(100, MAX(ip_cvs) + MIN(10, active_titles × 2))

Individual IPs are scored using the CVS formula above. The franchise score takes the highest-scoring IP as its base, then adds a breadth bonus for having multiple active titles. The bonus is capped at +10 to avoid over-rewarding long-running series.

Example: My Hero Academia

  • 4 active titles: series (CVS 63), movie (CVS 45), character Deku (CVS 38), spinoff (CVS 22)
  • Best IP: series at 63
  • Breadth bonus: min(10, 4 × 2) = +8
  • Franchise CVS: 63 + 8 = 71

Franchise snapshots are stored daily in franchise_score_snapshots with all four component scores, enabling historical charts and trending analysis.

Trending (Momentum Ranking)

trending_delta = current_cvs − previous_cvs

The Trending view ranks franchises by how much their CVS changed since the previous daily snapshot. A franchise with a delta of +12 is gaining demand faster than one with +2, regardless of their absolute scores.

Behavior

  • Positive delta: franchise is gaining demand (sorted highest first)
  • Negative delta: franchise demand is declining
  • Zero: stable between snapshots
  • New: franchise appeared for the first time (no previous snapshot)

Trending requires at least two daily snapshots to compute. With 7+ days of history, the signal becomes stable enough for reliable trend detection.

Known Limitations

  • YouTube coverage is limited. The YouTube pipeline matches videos by category ID and channel whitelist, capturing ~2 IPs per run. Search Demand relies primarily on Google Trends top-5 average.
  • Reddit community signals are paused. Reddit's commercial API terms require a paid agreement. When reactivated, Social Buzz will blend Google Trends with Reddit discussion volume.
  • CVS weights are static. The 30/25/25/20 weights are fixed across all categories. Category-specific weights (e.g., gaming IPs may weight YouTube higher) are planned for v2.0.
  • Source coverage varies by provider. IP Ranking normalizes CVS across 86 markets, but provider availability differs across Netflix, Google Trends, YouTube, and community or reference sources. Netflix source coverage and normalized CVS market coverage should not be conflated.
  • No Signal Yet is not a verdict. No Signal Yet means an IP has not accumulated enough visible cross-source demand signals in the latest available snapshot. It does not mean the IP has no audience, revenue, or cultural value.
  • Trending requires history. The Trending view needs at least 2 daily snapshots. With only 1 snapshot, all franchises show as “New”.

How We Compare

Featureipranking.ioParrot AnalyticsAniTrendz
ScopeCharacter/franchise IPsTV/movie titlesAnime titles
Countries86200+Global (unspecified)
Sources6 publicProprietaryCommunity polls
MethodologyFully disclosedProprietaryVote-based
AccessFree dashboard + request access$10,000+/moFree
CategoriesAnime, Gaming, CharactersAll TV/filmAnime only

Frequently Asked Questions

What is CVS?

CVS (Cultural Velocity Score) is ipranking.io's proprietary 0-100 index that quantifies observable entertainment IP demand. Version 1.2 combines Social Buzz (30%, spread-adjusted), Search Demand (25%, top-5 average), Global Reach (25%), and Source Coverage (20%) from 6 data sources across 86 normalized CVS markets.

How often is CVS updated?

CVS is computed daily at 11:00 UTC and stored in the cvs_scores table. Franchise snapshots are generated daily at 12:00 UTC. The homepage ranking reflects the latest available snapshot.

What changed in v1.2?

v1.1 replaced the max-based Search Demand with a top-5 country average to reduce single-country saturation. v1.2 added geographic spread scaling to Social Buzz: the raw average is multiplied by log(country_count+1)/log(87), penalizing IPs that are intense in only a few countries.

What data sources does IP Ranking use?

IP Ranking aggregates data from 6 sources: Netflix Tudum, limited-market YouTube coverage, Google Trends across 86 normalized CVS markets, AniList, MyAnimeList, and Wikipedia Pageviews. Source coverage varies by provider and should not be conflated with normalized CVS market coverage.

How does CVS differ from Parrot Analytics?

Parrot Analytics measures demand at the content title level (TV shows, movies). ipranking.io measures demand at the character/franchise IP level: tracking how brands like Pokemon, Hello Kitty, or Demon Slayer resonate across global markets regardless of any single title.

Can I reproduce a CVS score?

Yes. CVS v1.2 formula: CVS = round(socialBuzz x 0.30 + searchDemand x 0.25 + globalReach x 0.25 + sourceCoverage x 0.20), where socialBuzz = avg(scores) x log(country_count+1)/log(87) and searchDemand = avg(top-5 scores). Each dimension is normalized to 0-100.

How is franchise CVS calculated?

Franchise CVS = MAX(ip_cvs across all titles) + MIN(10, active_title_count x 2). The breadth bonus (up to +10) rewards franchises with multiple active titles. Franchise scores are recomputed daily and stored in franchise_score_snapshots.

What does Trending mean?

Trending ranks franchises by momentum: the change in CVS between the current and previous daily snapshot. A positive delta means the franchise is gaining demand. Trending becomes available after two or more daily snapshots exist.

Is IP Ranking free?

Yes, the public dashboard is free. Enterprise workflows, data exports, and API access are handled through private beta or custom research inquiries. See ipranking.io/enterprise for current access details.

Version History

VersionDateChanges
v1.0April 17, 2026Initial release. 4 dimensions, fixed weights (30/25/25/20). 6 data sources. Social Buzz = avg(scores). Search Demand = max(scores).
v1.1April 26, 2026Search Demand changed from max to top-5 average. Fixes single-country saturation bias.
v1.2April 26, 2026Social Buzz spread scaling: avg × log(countries+1)/log(87). Penalizes IPs strong in few countries only. Franchise daily snapshots enabled. Trending view added.
v2.0PlannedCategory-specific weights. Economic Value dimension (from marketplace prices). Adaptive normalization.

Revenue Estimates

Select IPs display estimated lifetime revenue with confidence levels (L1–L4).

Full revenue estimation methodology →

ipranking.io Methodology v1.2. Weights and data sources are subject to refinement. Questions? hello@ipranking.io