Methodology

Where every number comes from.

Recoup is a contract reader and an earnings projector. This page says, in plain English, exactly how we know what we know — and where the gaps are. The confidence chips throughout the app link here.

01What Recoup measures (and what it doesn't)

Recoup focuses on what your record contract actually says, and what your music is reasonably earning right now from streaming and radio.

In scope

  • · Royalty splits as written in your contract
  • · Recoup balance and projected clear date
  • · Streaming income, per country, per DSP
  • · Master royalty, publishing, and mechanicals
  • · Red-flag detection on punitive clauses

Out of scope

  • · Legal advice (we read; we don't advise)
  • · Touring and merch income
  • · Sync placements (tracked only when you enter them)
  • · Live performance royalties
  • · YouTube content-ID claims you haven't connected

02Confidence labels

Every number in Recoup carries one of three labels. The label tells you how directly we measured it.

Verified

A number from a source that knows the truth: your distributor statement, a CMO payout (PRS, GEMA, ASCAP, APRA, TONO, Gramo), a connected Spotify for Artists account, or a directly-read contract clause.

Tracked

A number sourced from a reliable third-party tracker (Songstats Enterprise, public broadcaster APIs, scraped public charts) and multiplied by published country rates. Within a few percent of what statements will show, but not directly verified.

Modeled

An estimate built from country averages — used when no direct or third-party data exists for that market or income stream. Useful for a ballpark, not for a tax return.

03The 7-tier internal taxonomy

Internally we track seven provenance tiers. Each tier maps to one of the three user-facing labels above.

Internal provenance tiers and their user-facing label
TierWhat it isUser label
oauthConnected to your account — Spotify for Artists, Apple for Artists, distributor loginverified
nativeRead from a first-party broadcaster API (NRK PSAPI, SR open data, BBC RMS, ABC AU)verified
statementParsed from a CMO or distributor statement you uploaded (TONO, Gramo, DistroKid)verified
wrapiThird-party tracker API (Songstats Enterprise — covers all major DSPs and 200+ countries)tracked
scrapedPublic charts and discovery feeds parsed without an official APItracked
derivedCalculated from another tracked input plus a published rate (radio plays × country radio rate)tracked
modeledCountry average applied where no per-song signal exists yetmodeled

The rollup rule for any aggregated number is “worst label wins” — if one ingredient is modeled, the total reads as modeled.

04Per-country data quality (V1 launch markets)

What we can actually measure today, for each market we've tuned country rates for.

Streaming and radio data quality per Tier A/B market at V1 launch
MarketStreamingRadio
NONorwaytrackedmodeled
SESwedentrackedmodeled
DKDenmarktrackedmodeled
FIFinlandtrackedmodeled
ISIcelandtrackedmodeled
GBUnited Kingdomtrackedmodeled
DEGermanytrackedmodeled
AUAustraliatrackedmodeled

Radio is modeled across every market at V1. Native radio connectors (NRK, SR, BBC, ABC) land in a follow-up — see the roadmap.

05How the geo-aware earnings formula works

Streaming royalties are not a single number times a single rate. Each country pays a different per-stream rate, so we sum the contribution from every country separately. The formula below covers streaming master income — mechanical, publishing, and radio lines layer on top with their own per-country rates.

Formula

streaming master income =
  Σ over countries(streams_in_country × rate_in_country) × artist_share

Worked example

A song with 10,000 streams last month, split 70/30 between the US and Norway, on a 50% artist share contract. Rates shown are illustrative country averages (~$0.003 US, ~$0.005 NO) so the math reads cleanly:

US contribution = 7,000 × $0.003 = $21.00
NO contribution = 3,000 × $0.005 = $15.00
Total streaming income = $36.00
Artist share (50%) = $18.00 / month

The naive shortcut of multiplying total streams by a global average ($0.005) would give $50.00 — overestimating by about 39% because the global average assumes every stream paid like Norway, when most of these plays are in the lower-paying US market. Geo-aware math reflects the actual mix.

06Public sources we use

Informational — these are the publicly-documented APIs and datasets the projection sits on top of. No keys are printed here.

  • STRSongstats Enterprise — per-country streams across Spotify, Apple Music, Deezer, Tidal, YouTube Music, Amazon. Documented at docs.songstats.com.
  • RATSpotify Loud & Clear — per-country streaming rate anchors. Published yearly at loudandclear.byspotify.com.
  • RADNRK PSAPI / SR open data / BBC RMS / ABC AU — first-party public-broadcaster play logs. Used by the native radio backends landing in a V2 follow-up.
  • CMOPRS / GEMA / ASCAP / APRA / TONO / Gramo and similar CMO statements — entered manually by users, mapped to the statement tier above.