{
 "name": "OF Agency Ranking scoring rubric",
 "version": "1.0",
 "published": "2026-09-11",
 "url": "https://ofagencyranking.com/methodology",
 "license": "CC BY 4.0",
 "publisher": {
  "name": "OF Agency Ranking",
  "operated_by": "FantasyRise LLC",
  "disclosure_url": "https://ofagencyranking.com/disclosure"
 },
 "rule": "Every criterion is scored on what the agency publishes on its own site as of the date checked. Anything not published scores 0 for that criterion and the profile says \"not disclosed as of <date>, checked at <URL>\". All fourteen criteria carry equal weight. The score is the mean of the fourteen criterion scores, out of 10, one decimal. A fact published only in a machine-readable file such as llms.txt, and on no page written for people, counts at half the band it would otherwise earn; where a human-readable page says a term is set in the agreement or not public, that statement governs and a contrary claim in llms.txt does not count.",
 "arithmetic": {
  "formula": "score = sum(criterion scores) / 14, rounded to one decimal",
  "criterion_range": [
   0,
   10
  ],
  "weighting": "equal",
  "tie_break": [
   "count of criteria scored 10",
   "agency name, alphabetical"
  ]
 },
 "evidence_rules": [
  "Only the agency's own published pages and public registers count.",
  "Every cell carries the quoted sentence, the source URL and the date it was read.",
  "Anything not published scores 0 for that criterion.",
  "A fact published only in a machine file counts at half its band; a human-readable page overrides a contrary machine file.",
  "Where a fact is published is recorded: a term on a single acquisition page, or one a page builds with JavaScript on click, is published and the cell says where.",
  "Longevity is scored on the oldest public record, never on the agency's own statement.",
  "Third-party listings, reviews and press are shown on the profile and never scored.",
  "Claims that cannot be verified without exposing a creator are shown and not scored."
 ],
 "statuses": {
  "published": "Published",
  "partly": "Partly published",
  "published_zero": "Published, scores 0 under the band",
  "withheld": "Withheld for the call or the agreement",
  "not_found": "Not found on the site",
  "unverifiable": "Unverifiable, provisional"
 },
 "criteria": [
  {
   "position": 1,
   "key": "commission_disclosure",
   "name": "Commission published",
   "short": "Commission public",
   "definition": "The commission rate or range is published on the agency's site before any call, with the basis stated (gross, or net after the platform's 20%).",
   "why": "It is the single fact creators most want and most agencies withhold until a sales call.",
   "scoring": "10 = exact rate or range published with basis stated, on a pricing, services or FAQ page. 5 = published without basis, or only inside a comparison article. 0 = not disclosed, including \"disclosed on the call\"."
  },
  {
   "position": 2,
   "key": "login_control",
   "name": "Creator keeps sole login",
   "short": "Login stays with creator",
   "definition": "Published onboarding, FAQ or terms state that the creator retains sole access to the account credentials, email and two-factor codes.",
   "why": "The account is the business. Whoever holds the login can change payout details or lock the creator out.",
   "scoring": "10 = creator-only access stated. 5 = shared access disclosed. 0 = agency logs in, or not stated."
  },
  {
   "position": 3,
   "key": "direct_payouts",
   "name": "Payouts go direct to the creator",
   "short": "Direct payouts",
   "definition": "Platform payouts go to the creator's own bank account, never through the agency.",
   "why": "Money that passes through an agency is money the creator has to ask for.",
   "scoring": "10 = stated. 0 = routed through the agency, or not stated."
  },
  {
   "position": 4,
   "key": "term_and_exit",
   "name": "No minimum term, clear exit",
   "short": "Minimum term",
   "definition": "Minimum term, notice period and renewal are published.",
   "why": "Undisclosed terms, silent renewal and no route out are where creators get trapped. Minimum terms are legal; hidden ones are the problem.",
   "scoring": "10 = no minimum term, notice 30 days or less, published. 6 = no minimum term stated, notice not stated. 3 = minimum term disclosed with an exit route. 0 = not disclosed."
  },
  {
   "position": 5,
   "key": "tail_commission",
   "name": "No commission after exit",
   "short": "Post-exit commission",
   "definition": "Whether any commission continues after the agreement ends is published.",
   "why": "A post-termination percentage on existing subscribers is the clause that costs creators most, and it is almost never on a marketing page.",
   "scoring": "10 = explicitly none. 5 = tail disclosed with length and basis. 0 = not disclosed."
  },
  {
   "position": 6,
   "key": "upfront_cost",
   "name": "No upfront cost",
   "short": "Upfront cost",
   "definition": "Nothing is payable before the creator earns: no setup fee, retainer or software charge.",
   "why": "Upfront fees shift the risk to the creator before the agency has done anything.",
   "scoring": "10 = explicitly none. 0 = fees, or not disclosed."
  },
  {
   "position": 7,
   "key": "content_ownership",
   "name": "Creator owns the content",
   "short": "Content ownership",
   "definition": "Published statement that content created during the agreement belongs to the creator and any license ends with the contract.",
   "why": "A perpetual license lets an agency keep using a creator's material after she leaves.",
   "scoring": "10 = ownership stated and the agency's license ends with the contract. 5 = ownership stated, license terms kept in a private agreement. 0 = license survives exit, or not stated."
  },
  {
   "position": 8,
   "key": "legal_entity",
   "name": "Verifiable legal entity",
   "short": "Legal entity",
   "definition": "Legal name, jurisdiction and address are published and can be checked in a public register.",
   "why": "An agency that exists only as a contact form cannot be held to anything.",
   "scoring": "10 = legal name, jurisdiction and address published, and the register named or linked. 5 = name and country. 0 = contact form only."
  },
  {
   "position": 9,
   "key": "longevity",
   "name": "Longevity, documented",
   "short": "Operating since",
   "definition": "Years operating under this name, supported by the oldest public evidence we can reach, in this order of strength: a company register filing date, the domain registration date, the oldest readable archived copy of the site, or a dated third-party artifact that names the agency (a portfolio piece, a directory entry, press). A predecessor structure counts if it is publicly documented. A founding year stated only on the agency's own site does not count.",
   "why": "Agencies appear and vanish. A record that survives a few years is evidence of a business, not a campaign.",
   "scoring": "10 = five or more years documented. 7 = three to five. 4 = one to three. 1 = under a year. Scored on the oldest public evidence, never on the agency's own statement."
  },
  {
   "position": 10,
   "key": "results_evidence",
   "name": "Results with a verification route",
   "short": "Results evidence",
   "definition": "Results are shown with a way to check them: payout screenshots published with permission, a results page, a creator reference on request, or a live-dashboard offer.",
   "why": "Every agency claims growth. Few give a creator a way to check the claim before signing.",
   "scoring": "10 = artifacts plus a verification route. 6 = artifacts without a route. 3 = figures without artifacts. 0 = none."
  },
  {
   "position": 11,
   "key": "honesty_about_limits",
   "name": "Says who should not sign",
   "short": "Honesty about limits",
   "definition": "The site names situations in which a creator should not sign, or a competitor that is the better fit.",
   "why": "It is the best available proxy for whether the rest of the site is straight.",
   "scoring": "10 = names situations and competitors. 5 = names situations. 0 = none."
  },
  {
   "position": 12,
   "key": "scope_disclosed",
   "name": "Scope of the commission itemized",
   "short": "Scope itemized",
   "definition": "What the commission includes is listed, so that add-ons are visible before signing.",
   "why": "\"Full service\" means nothing until it is itemized.",
   "scoring": "10 = what the commission includes is itemized and the site states whether anything costs extra. 5 = a list without that statement. 0 = not stated."
  },
  {
   "position": 13,
   "key": "scale",
   "name": "Scale and infrastructure, published",
   "short": "Scale",
   "definition": "Team size, roster size, platform coverage and locations as published by the agency.",
   "why": "Size is a real advantage for multi-platform creators and a real disadvantage for creators who want attention. It is scored, and it is scored low on purpose relative to disclosure.",
   "scoring": "10 = 100+ team or 10+ platforms. 7 = 20+ team or several platforms. 4 = small team, disclosed. 0 = not disclosed."
  },
  {
   "position": 14,
   "key": "content_protection",
   "name": "Content protection included and described",
   "short": "Content protection",
   "definition": "Leak monitoring and takedowns are included in the commission, and the mechanism is published: monitoring cadence and typical takedown time.",
   "why": "Leaks are the second most common creator fear after account control, and \"DMCA\" is often an upsell.",
   "scoring": "10 = included, mechanism and typical takedown time published. 7 = included, mechanism published, no timing. 5 = included, no detail. 0 = extra fee, or not stated."
  }
 ],
 "changelog": [
  {
   "date": "2026-09-11",
   "version": "1.0",
   "note": "First published version: fourteen criteria, equal weights, and the rule that anything an agency does not publish scores zero. Every later change to a band or a weight is dated here."
  }
 ],
 "applied_to": "https://ofagencyranking.com/data/ranking.json"
}
