Rating Methodology (AAA-D)
This page keeps its historical slug for backwards-compatible links. The current public methodology is AAA-D and leakage-taxonomy led. Gold/Silver/Bronze/Declared are legacy compatibility fields, not the current certificate-facing rating scale.
TrackForge rates catalogue and track state using an institutionally recognisable AAA-D scale. The rating expresses active royalty-leakage exposure under the declared methodology version, workflow version, taxonomy version, and jurisdictional scope.
The current public methodology label for the M58 grading/certification slice is methodology v1.1.
Short Version
A rating is made by applying a fixed scoring model to a frozen catalogue population:
- Freeze the original ingested catalogue population.
- Read the results-page findings for that population.
- Attach the evidence available for each population row.
- Project each row into deterministic leakage state.
- Apply risk-point penalties for active failure-mode findings, agreement-binding risk, ISWC risk, and population defects.
- Average the row scores.
- Apply catalogue-level caps where a defect is too material to be averaged away.
- Map the final score to AAA-D.
- Hash the rating input, leakage vector, methodology artefact, and proof root.
The purpose of the rating is not to reward attractive metadata. It is to measure how much of the catalogue population can be relied on for collection, sale diligence, and remediation under the declared workflow.
For the recomputable public scoring contract, see Rating Input & Scoring Schedule. That page is the detailed schedule for row inputs, risk points, catalogue caps, threshold lookup, and verification requirements.
Population Denominator
Catalogue-sale diligence begins with the original ingested catalogue population where that population is available. Every in-scope uploaded track remains in the denominator, even if it is later cleaned, matched, remediated, or found to be orphaned.
This rule matters because a cleaned subset can make a distressed catalogue look better than it is. A track with no ISRC, no matched evidence snapshot, no work identity, or no registration evidence is itself a rating fact. It is not removed from the denominator because the workflow could not enrich it.
When an original intake population was not persisted for a historical or non-production event, the model falls back to the sealed evidence snapshot set. Current M58 production events should identify which population source was used.
From Results Page To Rating
The /results page is the operational view of the ingested catalogue analysis. It is built from run-scoped recovery.findings rows. Those rows carry the failure mode, description, asset type, asset identifier, owner entity, value tier, valuation method, provenance, and enrichment evidence for each detected leakage condition.
The rating is a deterministic translation of that results state into an institutional grade. The results page answers: what problems did the catalogue analysis find? The rating answers: given those problems, the population denominator, and the sale-diligence rules, what grade does this catalogue deserve?
The leakage findings on the results page are therefore the primary taxonomy input to the grade. M58 v1.1 also adds registration and diligence signals that are not always represented as ordinary leakage findings:
- PRS/SearchWorks WACD agreement binding.
- ISWC missing/conflict coverage.
- Population defects such as missing ISRCs or population rows with no matched sealed snapshot.
These additional signals exist because a catalogue can carry serious transaction risk even where income is still being received. Inferred PRS income, for example, may still pay, but it is weaker than agreement-determined income for sale diligence.
Relationship To The Revenue Leakage Taxonomy
TrackForge maintains a revenue leakage taxonomy: named failure modes across the music royalty value chain. The public taxonomy families are:
| Stage | Family | Examples of leakage conditions |
|---|---|---|
| 1 | Creation | ownership complexity, ghost contributions, sample or interpolation clearance gaps |
| 2 | Recording | missing ISRC, duplicate ISRC, conflicting recording identity |
| 3 | Rights assignment | missing assignments, conflicting publisher/writer shares, transfer ambiguity |
| 4 | Work registration | missing work registration, missing ISWC, wrong shares, territory or agreement defects |
| 5 | Recording-to-work linkage | missing or wrong ISRC-to-work link, tunecode mismatch, work/recording contamination |
| 6 | Distribution | delivery gaps, DSP metadata divergence, unavailable or mismatched release data |
| 7 | Consumption / usage | unreported or misclassified usage signals |
| 8 | Usage reporting | usage files missing identifiers, bundled reports, poor statement granularity |
| 9 | Matching & allocation | black-box allocation, MLC absence, SoundExchange absence, MCPS drain-clock exposure |
| 10 | Royalty calculation | wrong rates, currency conversion errors, deductions or threshold issues |
| 11 | Payment distribution | payment to wrong entity, defunct payment path, retained income |
| 12 | Reconciliation & audit | unaudited catalogue state, time-barred claims, insufficient evidence |
The full taxonomy is broader than any single rating workflow. M58 v1.1 is the current UK/US catalogue-sale diligence workflow. It consumes the active findings and evidence available under that workflow, then records the deterministic projection in the leakage vector.
The public results page groups findings into industry-facing categories such as Ghost Tracks, Unclaimed Royalties, Unregistered Works, Rights Chain Issues, Distribution & Delivery, Linkage Failures, Data Quality, and Payment Leakage. Underneath those categories are the RL-*, XD-*, DL-*, and PO-* failure-mode identifiers used by the taxonomy.
In the compact M58 proof bundle, the production leakage vector currently records one row-risk item per rated catalogue population row. That item carries the active finding count, severity counts, agreement-binding state, ISWC state, population flags, evidence references, and remediation pointer for that row. Where a richer export includes individual RL-* finding identifiers, those identifiers explain the underlying taxonomy conditions that contributed to the row risk.
Leakage Vector
Each leakage-vector item has a stable shape:
{
"taxonomy_item_id": "M58-CATALOGUE-TRACK-RISK",
"state": "active | inactive | not_applicable",
"affected_revenue_pathway": "uk_us_collection",
"affected_right_type": "composition_and_recording",
"evidence_references": ["..."],
"materiality_inputs": {},
"remediation_pointer": "..."
}
The vector is ordered, canonicalised, and hashed. The hash is stored as leakage_vector_hash in the rating event. Any change to an active condition, evidence reference, materiality input, or remediation pointer changes the hash.
Per-Track / Per-Row Risk Points
Each rated population row starts at 100. Risk points are added from the active evidence state and then capped at 100. The row score is:
row_score = max(0, 100 - min(total_risk_points, 100))
Current M58 v1.1 risk points:
| Input | State | Risk points |
|---|---|---|
| Active finding severity | critical finding | 22 each, up to 3 per row |
| Active finding severity | high finding | 13 each, up to 3 per row |
| Active finding severity | medium finding | 6 each, up to 3 per row |
| Active finding severity | low finding | 2 each, up to 3 per row |
| Agreement binding | agreement-bound | 0 |
| Agreement binding | inferred or assumed | 18 |
| Agreement binding | missing or conflicting | 35 |
| ISWC coverage | present | 0 |
| ISWC coverage | missing | 10 |
| ISWC coverage | conflicting | 20 |
| Population integrity | missing ISRC | 28 |
| Population integrity | no matched evidence snapshot | 30 |
| Population integrity | duplicate ISRC in population | 8 |
| Population integrity | missing title | 6 |
| Population integrity | missing work identity | 10 |
The active-finding severity inputs come from the evidence snapshot's finding summary, which is derived from the results-page leakage findings for the current run. Agreement, ISWC, and population-integrity inputs are recomputed directly from the frozen population and source evidence used by the rating event. The full public scoring schedule is published in Rating Input & Scoring Schedule.
Catalogue Aggregation
The raw catalogue score is the arithmetic average of the row scores across the rating denominator:
raw_catalogue_score = sum(row_score) / rated_population_count
The model then applies cap rules. Caps prevent a catalogue with a severe structural defect from receiving a high grade merely because the rest of the population looks clean.
Current M58 v1.1 catalogue caps:
| Condition | Maximum score |
|---|---|
| Any critical active finding exists | 72 |
| Any missing or conflicting agreement binding exists | 82 |
| Any inferred or assumed agreement binding exists | 90 |
| Zero agreement-bound works and any agreement risk exists | 72 |
| Agreement-risk rows are at least 25% of the population | 82 |
| Missing/conflicting agreement rows are at least 25% of the population | 40 |
| Original population is used, zero agreement-bound works, and agreement risk exists | 40 |
| Any ISWC conflict exists | 82 |
| Any missing ISWC exists | 90 |
| ISWC-risk rows are at least 25% of the population | 82 |
| Missing ISWCs are at least 50% of the population | 40 |
| Missing ISRCs are at least 10% of the population | 40 |
| Unmatched population rows are at least 10% of the population | 40 |
The final numeric score is the lower of the raw average and every applicable cap.
Numeric Score To AAA-D
| Minimum final score | Rating |
|---|---|
| 95 | AAA |
| 90 | AA |
| 82 | A |
| 72 | BBB |
| 62 | BB |
| 52 | B |
| 40 | CCC |
| 30 | CC |
| 20 | C |
| 0 | D |
Rating Definitions
| Rating | Current meaning |
|---|---|
| AAA | No active leakage conditions under the current workflow and scope; identity, rights, and registration state are clean against the current taxonomy and evidence snapshot. |
| AA | No material active leakage; minor remediable or informational issues may exist but do not presently create meaningful leakage exposure under the current scope. |
| A | Low leakage exposure; limited active leakage conditions or data defects with bounded operational impact. |
| BBB | Moderate leakage exposure; active leakage conditions exist and should be remediated before the catalogue is represented as operationally clean. |
| BB | Elevated leakage exposure; multiple active leakage conditions, material registration defects, or unresolved rights/identity problems affect revenue pathways. |
| B | High leakage exposure; broad or severe leakage across one or more material revenue pathways. |
| CCC | Severe to critical leakage exposure; catalogue or track state is materially compromised under the current workflow. |
| CC | Critical leakage exposure; collection pathways are significantly broken or structurally unsafe for certification as clean. |
| C | Near-failing state; pervasive active leakage or missing rights/registration state in material pathways. |
| D | Failing state under the current methodology; cannot be represented as materially collection-ready. |
Agreement Binding And ISWC Coverage
For UK composition pathways, TrackForge treats PRS/SearchWorks WACD agreement binding as a rating input. A work can still receive revenue when the publisher claim is not explicitly tied to a specific agreement, but that revenue path is weaker: the claim is more vulnerable to dispute, counterclaim, and manual back-and-forth than a work bound to the relevant PRS/ICE agreement record.
The rating methodology distinguishes:
- Agreement-bound works - the track/work is tied to the relevant society-assigned agreement identifier in the client's PRS/WACD account.
- Unbound or inferred works - the work has ownership or income signals, but no explicit agreement binding in the frozen evidence snapshot.
- Missing or conflicting works - the work has no reliable agreement route or has evidence that contradicts the expected client account path.
- Not applicable - agreement binding is outside the declared rights, society, or workflow scope for that subject.
ISWC coverage is also a rating input. Missing, conflicting, or weak ISWC evidence reduces the ability to resolve the registered composition, cross-reference society records, and support downstream registrations or corrections. The impact is methodology-versioned so a small number of low-value unresolved identifiers cannot be averaged together with severe agreement-binding gaps.
Failure Rates And Summaries
A rating event should expose both counts and rates. For example:
- Agreement binding: bound, inferred/assumed, missing/conflicting, not applicable.
- ISWC coverage: present, missing, conflicting, not applicable.
- Leakage state: active, inactive, not applicable.
- Taxonomy family counts where individual
RL-*findings are available. - Population integrity: missing ISRC, unmatched snapshot, duplicate ISRC, missing work identity.
Counts show scale. Rates show materiality. A catalogue with 10 missing ISWCs out of 50 tracks carries a different risk profile from 10 missing ISWCs out of 10,000 tracks. The cap rules above are the current public mechanism for turning material failure rates into grade ceilings.
Proof And Reproducibility
Every M58 rating event records:
methodology_versionandmethodology_hash.taxonomy_versionandworkflow_version.rating_input_hash.leakage_vector_hash.agreement_binding_summary.iswc_coverage_summary.- snapshot run and snapshot time.
- Merkle root / current root and OpenTimestamps proof state where applicable.
The rating input hash binds the final grade to the exact methodology, scope, population-derived leakage vector, row materiality inputs, summary counts, and proof references. The Merkle/root proof binds the sealed evidence snapshots used by the rating workflow. Where a population row has no matched sealed snapshot, that absence is not hidden: it appears as population risk in the leakage vector and affects the rating.
Legacy Medal Tiers
Historical TrackForge systems used Gold/Silver/Bronze/Declared as metadata-completeness labels. Those labels may still appear in:
- Historical certificates.
- Legacy API fields such as tier counts.
- Internal diagnostics while systems are migrated.
They must be labelled as legacy when shown beside current rating output. They do not define the current certificate-facing methodology.
Track And Catalogue Ratings
Track-level output can expose both the track's leakage vector and, where implemented, its AAA-D rating. Catalogue-level output aggregates track and pathway state under the published methodology rules.
Historical ratings remain bound to the methodology version and hash used when they were produced.
Not-Rateable States
A failed or incomplete workflow is not a lower rating. If required evidence steps did not complete, the output should be withheld or marked not-rateable until the declared workflow has run successfully.