BMI × KELL 2026-08-23T20:53:01Z prospectus=https://bmi.hitme.dev/prospectus.txt https://bmi.hitme.dev/ bmi.com=Broadcast Music, Inc. (PRO) refs=wikipedia BMI · industry PRO guides · ASCAP licensing FAQs not_affiliated=YES === SCOPE (FACTS) === BMI collects: public PERFORMANCE royalties on COMPOSITIONS (songs) BMI does NOT collect: mechanicals · sync fees · sound-recording performance (label/artist digital = other orgs e.g. SoundExchange) ASCAP: peer US PRO (separate catalog · separate blanket) — venue often needs BOTH labels/recorded: own masters; BMI path is writer/publisher on underlying work (unless label also owns publish) FY2022 (public): collect ~$1.573B · distribute ~$1.471B catalog: ~22.4M works · ~1.4M songwriters (reported) pay: quarterly · often 6–9 month lag after performance quarter split: 50% writer / 50% publisher (full pie needs both affiliations) op_take: admin off top before distribute (industry cites ~10–15% class for PROs generally) === BMI CORE — OUTPUTS === blanket_license out: fee from radio/TV/stream/venue/business · right to play BMI catalog performance_census_sample out: play counts (digital logs) · radio/TV/venue estimates via monitors + samples + cue sheets match_allocate out: work-ID ↔ performance events · weighted rate-per-performance · writer/publisher shares royalty_pool out: collected fees − operating cost → member distribution pool distribute out: quarterly statements · writer share · publisher share · foreign reciprocal shares repertoire out: registered works · IPI/CAE · publisher links · share splits licensee_sales out: license agreements · renewals · compliance invoices === COST / REVENUE LEVERS (WHERE $ MOVES) === SAVE_levers: match error · sample vs census gaps · lag float · duplicate PRO admin · dispute reopen · infra for log ingest MAKE_levers: faster accurate match → more payable events found · denser licensee coverage · lower admin % → more $ to members (retention) · new private/on-prem products for labels/publishers === KELL → BMI (IF / CHANGE / GET) === # SAVE match_compute if: billions of play rows · match/allocate CPU-bound change: door pack 360,800 MT/s · memcpy 259,093 MT/s · zero-heat 0.0°C get: same match job · less time/thermal $ · lower $/event processed ingest_backpressure if: DSP/census dumps stall pipeline change: high bus + labeled compress (172:1 / 344:1 class) get: fewer dropped/deferred logs · less reprocess cost lag_float if: 6–9 month lag ties working capital change: faster mill + machine APIs (ms.txt / DATESTAMP receipts) get: shorter close cycle option → less float cost · earlier member pay (retention) dispute_reopen if: under-match → claims/audits change: deterministic receipt trail for allocate runs get: fewer reopen hours · lower legal/ops burn dual_PRO_overhead if: ASCAP+BMI dual systems for same licensee world change: shared zero-egress private compute for dual-catalog match (customer-side) get: one infra spend serves both catalog pipes (licensee or admin co-op) # MAKE find_more_plays if: sample miss / unmatched cue change: denser continuous match on full logs get: more attributable performances → larger accurate pool slices (fairness) · stronger member stickiness licensee_product if: venues/labels want proof-of-use dashboards change: private door + brain.json machine face get: sellable compliance/analytics add-on (new revenue line) label_publisher_desk if: recorded labels need composition↔master link speed change: kell m2m APIs + zero-egress get: paid B2B reconcile service beside PRO (not replacing mechanical/sync) global_sync if: foreign reciprocal files wait on RTT change: 0.11 µs-class predictive relay (fleet table) get: tighter multi-society handoff option member_UX_retention if: writers leave over lag/opacity change: low-token status receipts get: keep catalog share · defend vs ASCAP/SESAC churn KELL_RECEIPTS primary=https://gotokell.hitme.dev/ms.html numbers=https://gotokell.hitme.dev/best_numbers.json confirm=https://gotokell.hitme.dev/DATA_RECEIVED_CONFIRMED.txt mirror=https://gotokell.hitme.dev/bmi/ Contact: brian@hitme.dev