AI Playbook/Recipe

Theme

What % of last month's payouts went to my top 10 affiliates? Am I dangerously concentrated?

Concentration risk as one number — what % of last month's payouts came from your top 10 affiliates, and whether that's a red flag.

For
Founders, AM, Ops, Finance
In
e-com, lead-gen, financial services, SaaS, iGaming, mobile, agency
Dasha Dagayeva
Dasha Dagayeva
Product Education Manager (she/her)
~15 min to ship

Medium

Copy
Copy & export
Copy link
Plain page URL.
Copy page as Markdown
Full recipe content for LLMs
Open in AI
Open in Claude
Recipe prefilled.
Open in ChatGPT
Recipe prefilled.
Open in Gemini
Recipe prefilled.
Open-in actions need you logged into your Claude / ChatGPT / Gemini account in this browser. Not logged in? Copy as Markdown and paste it in.
Share
01

Quick Answer

A copy-paste prompt that pulls last month's payout per affiliate, sorts descending, sums the top 10, and returns the concentration ratio (top-10 payout ÷ total payout). Same prompt also handles top-5 / top-20, last quarter, last year. Drops a clean one-line answer + chart-ready breakdown in Slack or your inbox. Built so you can answer the investor question in under 60 seconds.

Everflow, Slack, Email
This prompt uses
02

The Pain

"What percent of last month's payouts went to our top 10 partners?" — the question that comes up at every monthly business review and never has a clean answer in under 10 minutes. Customers describe their book as "80/20, maybe 90/10" from memory, then go rebuild the math in a Sheet to confirm before the meeting. The Reporting page can group by affiliate and sort by payout. It can't return "your top 10 = 67% of payouts" as a single derived number, ranked alongside your prior month, with a note when that share creeps up.

The recipe pulls one window from /v1/networks/reporting/entity, sums the top N (default 10) against the program total, and returns the ratio plus the WoW delta. Same prompt works for top-5 (the more aggressive concentration cut), top-20 (the more forgiving), and arbitrary time windows. Drops into Slack or email on a monthly cadence so the partner-review meeting opens with the answer instead of someone scrambling to assemble it.

The win is one trusted number, monthly, ranked against itself. Not the dashboard, the answer. The pattern shows up across e-com, lead-gen, fintech, SaaS — anywhere a program has more than five partners and someone owns the partner-review meeting.

Stat
The 80/20 rule shows up in 2% of Everflow customer calls — 75 conversations where a customer says some version of "20% of our partners produce 80% of our volume" without prompting. The math is rarely on a dashboard.

The 80/20 rule is pretty present with the local. 80 percent of our volume is produced by 20 percent of our largest partners.

Ops lead at a lead-gen marketplace
02b

Foundation Prompt

Set this once. Reuse across every recipe.

One universal foundation prompt that loads Everflow's API context into any AI. Paste it once, then run any recipe on top of it. Ask your AI to save it however it works best, whether that's a Gemini Gem, a Claude Skill, a ChatGPT custom GPT, or a notebook system prompt. Same content, your AI's format.

~55 lines · ~340 tokens
# Everflow API Foundation Prompt

## Role & Objective
You are an Everflow API specialist. Your job is to write
robust, accurate scripts and answer questions about
Everflow's partner marketing platform.

## Foundational Knowledge Base
Before writing any code, ingest the official LLM docs:
https://developers.everflow.io/llms.txt
03

The Prompt

Same prompt across Claude, ChatGPT, and Gemini. Returns top-5, top-10, and top-20 concentration ratios with a 30-day min-tenure exclusion and a two-window confirmation so concentration spikes don't get misread as trends.

v1.0 · tag

# role
You are an Everflow concentration-risk assistant.

# inputs
api_key       = {API_KEY}
network_id    = {NETWORK_ID}
top_n         = {TOP_N}             # default 10. also report top_5 and top_20 alongside.
window        = {WINDOW}             # last_month | last_quarter | last_year | trailing_30d
slack_webhook = {SLACK_WEBHOOK_URL}

# task
1. Compute date range based on {window}:
     last_month   = first→last day of prior calendar month
     last_quarter = first day of prior calendar quarter → last day
     last_year    = Jan 1 → Dec 31 of prior calendar year
     trailing_30d = today-30 → today
2. POST /v1/networks/reporting/entity
     body: {
       from: "{from}", to: "{to}",
       columns: [{ column: "affiliate" }],
       query: { filters: [], exclusions: [] },
       sort_columns: [{ column: "payout", direction: "desc" }],
       timezone_id: 80,             # America/New_York; swap if needed
       currency_id: "USD"
     }
3. Compute:
     total_payout         = sum of payout across ALL affiliates
     top_5_payout         = sum of payout of top 5 by payout
     top_10_payout        = sum of payout of top 10 by payout
     top_20_payout        = sum of payout of top 20 by payout
     concentration_5      = top_5_payout / total_payout * 100
     concentration_10     = top_10_payout / total_payout * 100
     concentration_20     = top_20_payout / total_payout * 100
     total_active_partners = count of affiliates with payout > 0
4. Also compute the same ratios for the prior comparable window (the month before
   last_month, the quarter before last_quarter, etc.) so you can show direction.
5. Flag concentration tiers:
     - top_10 > 80%        = "highly concentrated" (red)
     - top_10 50–80%       = "concentrated" (yellow)
     - top_10 30–50%       = "diversified" (green)
     - top_10 < 30%        = "broadly diversified" (green+)
6. For each of the top {top_n} affiliates also capture:
     - affiliate name + id
     - payout in window (USD)
     - % of total payout
     - WoW/MoM direction vs prior window (up / down / steady)
7. Format a Slack / email message:
     - Headline (single line): "Top {top_n} = {concentration_10}% of last month's payouts ({tier})"
     - Sub-line: "Top 5 = {concentration_5}% · Top 20 = {concentration_20}% · {total_active_partners} active partners"
     - Direction line: "Up/Down {delta_pp} points vs prior {window}"
     - Per-partner table: rank, name, payout, % of total, direction arrow
     - Footer: link to Reporting page filtered to this window
8. POST to slack_webhook.
9. Return the same digest as Markdown so I can paste into an investor update.

# guardrails
- Skip affiliates with $0 payout in the window (they don't move the ratio).
- Min-tenure: exclude affiliates with `time_created` < {from} - 30 days when computing the prior-period comparison. New partners with no prior-period baseline will distort the direction signal. Note their contribution separately as "new this period: +{N} partners contributed {$X}".
- Confirm any concentration-direction signal (the up/down delta) using two windows: current vs prior, AND current vs prior-prior. A one-month swing without the longer-window context is noise.
- Round currency to whole dollars; round percentages to 1 decimal.
- Use base currency only (no FX mixing — API returns USD-converted).
- If `total_payout` is 0 (rare — fully paused program), return "no payouts in window" rather than dividing by zero.
- For annual windows, expect 100K-1M+ rows of affiliate data; paginate the entity reporting call if your network is >5K active partners.
04

The Steps

Generate an API key in Core Platform

Core Platform → Control Center → Security → API Keys → click the + API key button. Read-only on Reporting is enough.

Pick your time window

Default is last full month. Quarterly and annual are common alternates. Trailing-30d works for ongoing monitoring.

Pick your "top N" tier

Default is top 10. Top-5 is the more aggressive concentration cut (red flag if >50%). Top-20 is the more forgiving cut (yellow flag if >80%).

Paste your keys into the prompt

Replace {API_KEY}, {NETWORK_ID}, {TOP_N} (default 10), {WINDOW} (default last_month), and {SLACK_WEBHOOK_URL} in the prompt block below.

Optional — schedule it monthly

Drop into Make, Zapier, or Apps Script. Run on the 2nd of each month so the prior month's payouts have fully settled. The digest lands before your monthly business review.

05

Sample Output

Everflow
Everflow Reports <reports@everflow.io>
to me  ·  Tue, May 1 at 8:00 AM
MONTHLY
Acme Affiliate Program · concentration check · April 2026
Top 10 = 64.2% of last month's payouts · 🟡 concentrated
Top 5 = 41.8% · Top 20 = 82.1% · 187 active partners
↓ -3.2 points vs March — program diversifying
Rank · Partner Payout % share Δ MoM ────────────────────────────────────────────────────────────────── 1. Push-traffic aggregator $48,200 11.4% ▼ 2. Tier-1 search publisher $39,800 9.4% ▲ 3. Coupon network $31,200 7.4% ▼ 4. Native widget partner $27,900 6.6% ▲ 5. Email-blast specialist $24,100 5.7% ─ 6. Influencer creator network $19,200 4.5% ▲ 7. Display retargeter $17,800 4.2% ▼ 8. Comparison site $15,400 3.6% ─ 9. Cashback site $14,100 3.3% ▼ 10. SEO content publisher $12,300 2.9% ▲ Top 10 subtotal: $250,000 · Total program payout: $389,400
Tier-1 search publisher up 18% MoM — single-partner reliance increasing. Watch for next month's check.
✓ Program added 14 new partners this month, contributing $8,400 of payout. The long tail is growing.
06

FAQ

Real questions, real answers
What concentration % should I worry about?

Most VCs and PE shops start asking hard questions when top-10 exceeds 50%. Top-10 > 80% is the threshold where "channel risk" becomes a real diligence concern (one partner collapses and your revenue tanks). The recipe color-codes the tiers automatically — red / yellow / green / green+.

Why payouts and not revenue?

Payouts represent your actual cost-to-acquire allocation. Revenue concentration matters too, but payouts are the lever you control. If 70% of your payouts go to 10 partners, that's where 70% of your bidding power, your account management time, and your relationship risk lives.

Why top 10 specifically? Why not just top 5 or top 20?

Top-10 is the industry-standard concentration cut (matches 10-K disclosure and most investor diligence). The recipe returns top-5, top-10, and top-20 simultaneously so you can see all three. Use top-5 for an aggressive risk read; top-20 for a forgiving view.

06b

Notes & counter-cases

Edge cases, gotchas, and things to watch.

Vocabulary note for the prompt output. Customers tend to say "80/20" or "top partners" in conversation, rarely "concentration risk." If you're posting the digest in Slack or pasting it into a partner-review deck, leading with "Top 10 = 64% of payouts" reads cleaner than leading with "concentration." The recipe outputs both — pick the framing that fits where it lands.

Structural vs fixable concentration. Some verticals have category-defining partners: lead-gen with one large comparison-site player, telco with one regional aggregator, retail with one big couponer. Those partners look "dangerous" on the top-N math but are the floor of the market, not a fixable risk. The recipe surfaces the ratio. Whether that ratio is something to act on or a market reality is a judgment call, not math.

Top-5 vs top-20 cuts. Top-5 = 50% is a red flag in most programs. Top-20 = 80% is the forgiving cut. Run all three (top-5, top-10, top-20) in one prompt — the spread tells you whether you have a "few whales" or a "long tail" shape.

Mover detection. Run the same prompt against a 3-month rolling window and flag when the top-10 share creeps up by more than 5 percentage points month-over-month — the early signal that you're becoming more concentrated, not less. Re-run monthly and watch the trend, not just the absolute.

ASK US ANYTHING

Got a question this playbook hasn't answered yet?

Drop us the question you wish had a prompt. We'll write it, test it against real Everflow data, and ship it as the next recipe — usually within two weeks.

DJReviewed every Tuesday by Dasha & Jordan
NEWSLETTER

First dibs on new recipes

One Tuesday email. Latest industry news plus new recipes the day they ship. Unsubscribe in one click.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
×
Submit a recipe

Got a recipe of your own?

Share what's working with the Everflow API. Our team will reach out about details, timelines, and next steps.

Reviewed weekly · Author credit on every published recipe · We respond to every submission
Submit your idea and our team will reach out about details, timeline, and process.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
×
SHARE THIS RECIPE

Spread the playbook

LinkedIn no longer accepts pre-filled captions via URL. Two clicks: copy the caption below, then open LinkedIn and paste in the composer.

Your caption
Copy first, then open LinkedIn and paste in the composer.