# Ongoing revenue: how this engagement pays you every month
*Private strategy memo, 2026-08-25. Researched from Adam's own competition database
(on this server), his published fee schedules, your sent emails, and the market.
Nothing here is client-facing.*

---

## 1. The reframe: you are not selling a website, you are selling growth to a
## flat business

Adam's business, measured from his own winners database and published fees:

- It is an **entry-fee business**. Roughly $415-430K/yr floor (winners x published
  fees), plausibly $550-700K actual. Everything else — the professor sites, the
  events — is marketing for it. The professor sites carry no ads, no affiliate,
  no subscriptions: they earn $0 directly.
- **NYI Spirits alone is about half the business** (733 winners in 2024 x $300-350).
  Spirits entries are priced ~3x wine/beer everywhere he operates. Spirits is
  where his pricing power lives — and spirits is duty free's biggest category.
- **The business has been flat since 2018** (~2,200-2,700 medals/yr for seven
  years). The wine franchises are in structural decline (Berlin wine: 168
  winners in 2017 → 23 in 2025).
- **Churn is severe: only ~20% of winning brands return the next year.** He
  re-acquires ~80% of his customers annually.
- His own site brags "we have not raised our prices in 17 years."
- The sticker/licensing after-market (what IWSC and SFWSC engineer as the
  profitable second half — sticker rolls, artwork licensing, per-1,000-label
  printing licences) exists on his sites but is undeveloped and unpriced.

So the honest answer to "how do I make him more money": **DFP's job is to fix
retention and justify the first price rise in 17 years.** A brand that enters
NYISC gets its medal displayed, year-round, next to its live price in the app
that duty-free buyers use. That is: a renewal hook ("re-enter to keep your badge
current"), an acquisition list (every award-quality brand found in duty free
that has never entered — the app already surfaces this), and a premium-fee
justification exactly in the segment (spirits) where his margins already are.
Every point of retention he gains is worth roughly $3-5K/yr to him. That is the
engine you want to be indispensable to.

## 2. What the market says about DFP's own revenue

- **Consumer affiliate in duty free is nearly nonexistent.** Across Awin, CJ,
  Impact and Skimlinks, the only confirmed live program is Frankfurt Airport
  Shopping (5% CPO, Germany-only). Dubai, Heinemann, Lotte, Shilla: nothing.
  The classic comparison-site playbook does not work here yet. Do not let
  anyone project affiliate revenue for this site.
- **B2B pricing intelligence is real and priced**: $99-300/mo is the accepted
  entry point (Prisync, Price2Spy, Priceshape). And the travel-retail data that
  IS sold today (m1nd-set, Generation Research) is shopper-behavior data —
  **nobody sells SKU-level price monitoring across duty-free operators.** The
  TFWA Cannes audience is precisely the buyer, and Adam is walking into that
  room in five weeks. This is the genuinely passive product this engine could
  power — and the one place a revenue share makes sense, because you would
  build and measure it.

## 3. Your recurring revenue, ranked for this relationship

**A. Managed data operations — the centerpiece.** Adam was told in your first
email, verbatim, to "budget data collection as an ongoing cost rather than a
one-time build," and the review page already teaches him cost = airports x
cadence and asks him to pick both (decisions #11 and #13). The week's incident
log — the currency mix-up, the variant-price trap, Heathrow silently serving a
third of its catalogue, two robots-compliance stops — is your proof that
"watching it" is real work. Bill: guaranteed freshness per tier, the failure
alarms, collector repair when sites change, and the quality checks. Tiers keyed
to the two dials he picks himself.

Pricing honesty, in both directions: Hamish anchored hosting at $20-40 and
credits at $16-99, so never sell "hosting" or "compute" as the product — your
marginal service cost is ~$0 and if Adam ever reads the fee as pass-through
compute, discovering that converts a fair price into a grievance. The fee buys
an outcome (data he can defend in a trade meeting) and a person on the hook for
it. Something in the $250-500/mo range at launch cadence/coverage reads
defensible against the incident log; below $150 it reads like hosting and
inherits the anchor.

**B. Milestone quotes, not a development retainer.** Your trust rebuild was
explicitly "you never have to take my word for anything for more than a week at
a time." An open-ended retainer recreates the structure that failed before.
Quote "operational by Cannes" as a fixed milestone at real rates on Sep 7 — the
$1,500 was a one-time trust purchase and both of you know it.

**C. Hosting at an honest $25-50/mo, kept severable.** Deliberately not a
profit center. Cheap, clean hosting is what makes the portability promise
credible, and portability is your differentiation, not a leak. One caveat to
disclose proactively: the code moves in an afternoon, but collection depends on
a clean outbound IP — a new host could silently break it. Say this before he
ever discovers it; offer egress testing as part of any migration.

**D. The platform wave — the biggest pool, on Adam's own timeline.** He already
endorsed the sequence in writing: DFA in the family look, "Melbourne becomes
the second site on the new platform" in October, the global database as one
central home, professor verticals after. Each migration is a milestone quote
plus a per-property ops fee. Ten properties at even $100-200/mo each is the
real recurring number, reached one consented step at a time — never as a
platform he can't leave.

**E. New verticals sold to Adam, not to third parties.** His own brief names
fragrance, makeup, tobacco, chocolate — the schema is already vertical-agnostic.
Each vertical is a build milestone + an ops tier + (for him) a new competition
audience. Zero IP tension, unlike reselling the engine elsewhere.

**F. The data product — the passive play, structured as a joint product.** A
travel-retail price-benchmark report or dashboard for brands/operators, $99-500/mo
per subscriber, powered by your engine, sold under his brand and Cannes
relationships, revenue shared. This is the ONE place revenue share works,
because you build it and you measure it. Decline any revenue share on his
existing competition business — there is no attribution infrastructure, and an
unmeasurable toll on his core revenue reads as exactly that.

## 4. Guardrails — what your own written words rule out

- **No lock-in, ever.** "The code is yours and can move in an afternoon" is in
  his inbox and on the review page he can quote back. Hosting fees propped up
  by switching friction, rian-owned service accounts, undocumented glue — all
  off the table. Your premium was defined against Replit as platform thinking
  plus "me still being here every season." Charge for presence, not captivity.
- **Vendor accounts are his** (review item #18) — no markup/reseller models.
- **Billing discipline is load-bearing.** "Turning over a new billing leaf"
  means every fee is itemized, prompt, monthly-cancellable. One vague invoice
  reopens the old wound.
- **The IP gap — fix it in the next contract.** Everything reusable you built
  this week (the fetch port, the robots engine, the quarantine, the matcher,
  the test suite) sits in a repo you told Adam is his. As written, you have no
  clean right to reuse your own engine elsewhere. The next SOW needs one plain
  clause: Adam owns the app and keeps a perpetual license to everything in it;
  you retain the generic components. Ask for it while he is delighted, not
  after it matters.
- **"Income is a secondary consideration"** is in writing. It does not ban
  charging; it means increases arrive framed as value, transparently, never as
  a squeeze.

## 5. The sequence

1. **Fri Aug 28** — deliver PoC + video + the $1,500 and support invoices
   (the billing leaf, turned).
2. **~Sep 7 review** — one page, three numbers: milestone quote "operational by
   Cannes" (includes building the scheduler/alerting — the thing managed ops
   then operates); managed data ops from Oct 1, tiered by the airports and
   cadence he picks in decisions #11/#13; hosting as its own honest line.
   Plus the IP clause.
3. **Before Cannes (Sep 18-26)** — hand him two artifacts that make DFP
   indispensable to the competition business: the prospect list (award-caliber
   duty-free brands that never entered his competitions) and a one-page sample
   price-benchmark report as a Cannes leave-behind to test data-product demand.
4. **October** — the Melbourne conversation he already scheduled = the platform
   wave begins.

## 6. What I'd push back on from your message

"Maybe even though the code is Adam's, I could set it up on my own hosting and
charge for that" — hosting alone is anchored at $20-40 and is the one fee that,
inflated, contradicts your portability promise. Host it cheap and visibly
severable; put the money in operations, milestones, the platform wave, and the
data product. And "passive" deserves honesty: A, D and E are recurring but not
passive — they are paid watchfulness. The only truly passive line on this list
is F, and it needs Cannes to validate demand before it exists.
