References

Affiliate Score

How the Affiliate Score algorithm ranks programs from 0 to 100.

Overview

The Affiliate Score is a composite metric (0-100) that ranks affiliate programs based on their value to affiliates. It is used across rankings, recommendations, and comparisons.

Every input is a structured field of the program's YAML file. The free-text rate is shown on the program's page but never read by the score, so rewording it cannot move a program.

Score Components

ComponentMaxDescription
Commission Value40A single percentage, or a flat amount in US dollars
Cookie Duration15How long the tracking cookie lasts, once the terms are verified
Type + Duration25Recurring programs score higher, especially lifetime
Verified10Terms checked against the program's own page
Completeness10Programs with full data rank higher

Commission Value (40 pts)

Read from the structured commission fields (mode, value, currency) and the program's kind. Two kinds of commission count:

Percentage-based

Mode percentage, in any currency.

formula
score = min(value / 50, 1) * 40
  • 50%+ commission = maximum 40 points
  • 25% commission = 20 points
  • 10% commission = 8 points

Flat fee

Mode flat with currency set to USD.

AmountScore
$1 - $498
$50 - $9916
$100 - $49928
$500+40

Everything else: 0 points

  • Tiered and hybrid deals (mode tiered or hybrid, e.g., "$5 per lead + 30%"): no single rate to compare
  • No rate published (mode unknown, including "varies")
  • A flat amount in another currency, or with no currency set
  • A zero amount
  • Referral rewards paid in credit or gift cards (kind referral)

The program's own page shows those terms in full. The /best topic lists and the category pages count commission by the same rule.

formula
score = verified ? min(cookie_days / 90, 1) * 15 : 0
  • 90+ days = maximum 15 points
  • 30 days (standard) = 5 points
  • 7 days = ~1 point

Counted only for verified programs. An unverified program's stored cookie window is often an import default, and the site does not show it, so it scores 0 until the terms are checked.

Type + Duration (25 pts)

TypeDurationScore
One-time—5
Hybrid—5
Tiered—12
RecurringUnknown18
Recurring12 months21
Recurring24 months23
RecurringLifetime25

Recurring programs are significantly more valuable because affiliates earn on every renewal, not just the initial sale.

Verified (10 pts)

Programs with the verified badge receive 10 bonus points. A verified program had its terms checked against its own affiliate page. Verification also lets the cookie window count.

Completeness (10 pts)

FieldPoints
Description (21+ chars)4
Agent prompt (11+ chars)3
Signup URL3

Examples

ProgramCommCookieTypeVerifCompTotal
30% rec/lifetime, 90d, verified241525101084
50% rec/12mo, 30d, verified40521101086
Tiered 20-40%, 60d, verified01012101042
$200 gift card per referral, 30d, verified055101030
$500 USD one-time, 30d, unverified, partial40050449
10% one-time, 30d, unverified, minimal8050013

Implementation

The scoring function is defined in src/lib/programs.ts as affiliateScore(). It is a pure function of the program's structured fields. The commission it counts comes from rankedCommission() in the same file, which the list pages use too. The embeddable score badge shows the same number.

TypeScript
import { affiliateScore } from "@/lib/programs";
const score = affiliateScore(program); // 0-100

Fields Read

YAML fieldUsed for
commission.mode, commission.valueCommission value
commission.currencyFlat amounts count only when it is USD
kindReferral rewards earn no commission points
commission.type, commission.durationType + Duration
cookie_daysCookie duration, verified programs only
verifiedVerified, and whether the cookie window counts
description, agents.prompt, signup_urlCompleteness

The rate text (commission.rate) and commission.conditions are shown on the program's page and never scored.