New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

A percentage in a commercial term is being set, questioned

Audit the base not the rate

by swan-gtm · MIT license · ★ 159 on GitHub · updated Sep 23

Audit the base not the rate cover

Use this skill when a percentage in a commercial term is being set, questioned, or is producing a number nobody expected — sales commission, revenue share, affiliate and creator payouts, channel margin, agency fees, referral fees,…

---
name: audit-the-base-not-the-rate
title: Audit the base, not the rate
description: |
  Use this skill when a percentage in a commercial term is being set, questioned, or is
  producing a number nobody expected — sales commission, revenue share, affiliate and creator
  payouts, channel margin, agency fees, referral fees, rebates. Triggers: "reps are hitting quota
  but margin isn't moving", "what does this promo actually cost us", "our partner payouts are
  higher than the model", "is 15% a fair rate", "we're renegotiating the split", "the comp plan
  is paying out on deals we lost money on". It finds what the percentage multiplies, identifies
  the condition under which that choice starts to matter, quantifies the gap at that condition,
  and identifies the clause to revisit.
category: RevOps
tags: [RevOps, Sales]
---

Percentages get negotiated loudly. Bases get agreed in a subordinate clause. The rate is what everyone argues about and the base is what determines the money.

Overview

Percentages get negotiated loudly. Bases get agreed in a subordinate clause. The rate is what everyone argues about and the base is what determines the money.

Manual install (npx, ZIP)
Claude Codenpx skills add swan-gtm/gtm-skills --skill audit-the-base-not-the-rate -g -a claude-code
Claude Code (manual)mkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/swan-gtm/gtm-skills/tar.gz/e65d97205fd2 \ | tar -xz -C ~/.claude/skills --strip-components=3 gtm-skills-e65d97205fd2/skills/roman-palii/audit-the-base-not-the-rate
Windows (PowerShell)New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/a4383757de8c8ef0a94a/audit-the-base-not-the-rate.zip" -OutFile "$env:TEMP\audit-the-base-not-the-rate.zip"; Expand-Archive "$env:TEMP\audit-the-base-not-the-rate.zip" -DestinationPath "$HOME\.claude\skills" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md8.7 KB
Read the files here
swan-gtm/e65d9721 file
SKILL.md
Show the full text100 lines

Percentages get negotiated loudly. Bases get agreed in a subordinate clause. The rate is what everyone argues about and the base is what determines the money.

This is a check, not the answer. Run it, state what it found in a line or two, then return to the question actually asked and answer that. If someone asks whether a discount is survivable, the base is one input among retention, cash flow, acquisition cost and cost to serve — surface it, quantify it, and move on. An answer that audits the clause thoroughly and never addresses the decision is a worse answer, however correct the audit.

A term counts as unambiguous only when it states which side of fees, tax and refunds it sits on. "The amount actually paid" does not: it reads as the customer's payment or as what settled to you after processing, and those are different numbers. If the clause does not say which, the base is undefined — name both readings and price the gap, however confident the wording sounds. Where it genuinely does say, confirm it in a sentence and spend nothing further on it.

Find the multiplicand

Every percentage term multiplies something. Locate the noun, not the number:

  • Sales commission — bookings, billings, recognised revenue, or cash collected? Before or after discount? Before or after churn and clawback? Of revenue or of gross margin?
  • Supplier or creator revenue share — list price or the price actually paid? Gross or net of processing fees? Does it reach shipping and tax?
  • Affiliate and channel payouts — order total or product subtotal? Before or after a discount code? New customers only, or every order the cookie touches?
  • Agency fees — gross media spend or net? Does it include the platform's own fees?
  • Referral fees — first-year contract value, total contract value, or collected cash?

These are starting points, not a taxonomy. Do not rely on an assumed industry default. Read the clause and name the noun.

Find the condition where the bases diverge

This is the part that gets skipped, and it explains why bad bases survive for years: under normal conditions the difference between competing bases is invisible, small, or quietly accepted. Some pay out identically until an event separates them; others differ on every transaction by an amount nobody has ever totalled. Find the point where the difference becomes material.

Name the event, then compute both bases at it:

Term Difference stays invisible when It becomes material on
Revenue share full price any discount, promo code, or negotiated price
Commission on revenue standard pricing discounting, or a deal with unusual delivery cost
Commission on bookings nothing churns refunds, non-payment, early cancellation
Affiliate on order total no discounts, no returns codes, partial returns, shipping-heavy orders
Agency on gross spend fees are trivial platform fees rise, or spend shifts channel

If a base has never been tested against its divergence condition, its economic consequences have been assumed rather than validated.

Quantify at the condition

Model both bases at the divergence event and state the per-unit gap, not just the totals.

Worked, revenue share: supplier takes 55%, your percentage costs are 10%. On a list-price base the supplier's payout does not move when you discount, so every 1.00 of discount costs you 0.90. On a received-price base their payout falls with the price, so the same 1.00 costs you 0.35 — roughly a third of the damage, from a clause, not a negotiation.

The same shape appears elsewhere. Commission on bookings rather than collected cash pays full rate on revenue that never arrives; the gap equals your non-payment rate times total commission. Affiliate on order total rather than product subtotal pays partners a percentage of your shipping costs.

State the figure as a rate — "each 1.00 of discount costs 0.90 against 0.35" — because that number is what survives into the renegotiation. Then multiply it by the affected volume where that volume is known: a gap of 0.09 per order is a rounding error on one deal and a budget line across four million. The scaled exposure, not the per-unit figure, is what decides whether the clause is worth reopening.

Work backwards when payouts miss the model

The common real case is not a clause being drafted — it is a payout that came in wrong and nobody knows why. The same arithmetic runs in reverse, and it localises the error before anyone opens the contract.

If the rate is unchanged and payout is otherwise simply rate × base — no tiers, caps, minimums, accelerators, fixed fees or clawbacks — the discrepancy is in the base:

actual base / modeled base = actual payout / modeled payout

and the size of what the model missed is:

unexplained base = (actual payout − modeled payout) / rate

So a payout 40% above model means the real base is roughly 1.40× the modelled one — and you are looking for a component of about that size. That number is the search filter. Shipping, tax, discount treatment, returns not deducted, renewal or cookie attribution: check them against the magnitude rather than one at a time.

Before diagnosing a base error, confirm that actual and model cover the same period, event, population and unit. A quarter's lag or an accrual-against-payment mismatch produces a stable overage that looks exactly like a base error.

Do not name a cause from the ratio alone. A total cannot distinguish an inflated base from an elevated rate — both produce the same number — so check the effective rate per line before concluding either. State the magnitude, offer the common candidates, and if none of them fit, ask what sector-specific variable could move a base by that amount.

Change the base, not the rate

A base change can be easier to frame than a rate cut, because the headline percentage stays where it is. Where the two bases coincide on ordinary business, say so and quantify it — the ask then costs the counterparty nothing outside the condition being fixed, and that arithmetic is the argument. Where they differ on every transaction, the ask is a real transfer and should be traded as one rather than presented as a technicality.

What good looks like

  • The multiplicand is named before anyone argues about whether the rate is fair. A rate without its base is not a number you can evaluate.
  • The output is a figure someone can act on — "each 1.00 of discount costs 0.90 against 0.35, and we discount 4,000 orders a quarter" — not an observation that the base matters.
  • The base finding stays in proportion. A commercial question gets a commercial answer with the clause as one input; an answer that audits the contract thoroughly and never addresses the decision has failed even when the audit is correct.
  • Where the base is genuinely ambiguous, both readings are priced. Where it is genuinely defined, that is confirmed in a sentence and nothing further is spent on it. Manufacturing ambiguity is as costly as missing it.
  • A mismatch between actual and modelled payouts produces a magnitude to search for, not a named cause. The ratio narrows the field; the line-level data closes it.

Rules

  • MUST answer the question that was asked. The base audit is an input to it, never a replacement for it, and never the structure of the response.
  • MUST identify the multiplicand before discussing whether the rate is fair.
  • MUST treat a base as undefined unless the clause states its position relative to fees, tax and refunds. Confident phrasing is not definition.
  • MUST scale the per-unit gap to the affected volume where that volume is known.
  • NEVER assume a standard base, or infer one from what the parties presumably meant.
  • NEVER present a base change as a rate cut. They are different asks and the second one loses.
  • Where the base is unknown, model both and recommend neither. Leading with one and noting the other differs is not a caveat — the reader keeps the first number.
1---
2name: audit-the-base-not-the-rate
3title: Audit the base, not the rate
4description: |
5 Use this skill when a percentage in a commercial term is being set, questioned, or is
6 producing a number nobody expected — sales commission, revenue share, affiliate and creator
7 payouts, channel margin, agency fees, referral fees, rebates. Triggers: "reps are hitting quota
8 but margin isn't moving", "what does this promo actually cost us", "our partner payouts are
9 higher than the model", "is 15% a fair rate", "we're renegotiating the split", "the comp plan
10 is paying out on deals we lost money on". It finds what the percentage multiplies, identifies
11 the condition under which that choice starts to matter, quantifies the gap at that condition,
12 and identifies the clause to revisit.
13category: RevOps
14tags: [RevOps, Sales]
15---
16 
17Percentages get negotiated loudly. Bases get agreed in a subordinate clause. The rate is what everyone argues about and the base is what determines the money.
18 
19**This is a check, not the answer.** Run it, state what it found in a line or two, then return to the question actually asked and answer that. If someone asks whether a discount is survivable, the base is one input among retention, cash flow, acquisition cost and cost to serve — surface it, quantify it, and move on. An answer that audits the clause thoroughly and never addresses the decision is a worse answer, however correct the audit.
20 
21A term counts as unambiguous only when it states which side of fees, tax and refunds it sits on. "The amount actually paid" does not: it reads as the customer's payment or as what settled to you after processing, and those are different numbers. If the clause does not say which, the base is undefined — name both readings and price the gap, however confident the wording sounds. Where it genuinely does say, confirm it in a sentence and spend nothing further on it.
22 
23## Find the multiplicand
24 
25Every percentage term multiplies something. Locate the noun, not the number:
26 
27- **Sales commission** — bookings, billings, recognised revenue, or cash collected? Before or after discount? Before or after churn and clawback? Of revenue or of gross margin?
28- **Supplier or creator revenue share** — list price or the price actually paid? Gross or net of processing fees? Does it reach shipping and tax?
29- **Affiliate and channel payouts** — order total or product subtotal? Before or after a discount code? New customers only, or every order the cookie touches?
30- **Agency fees** — gross media spend or net? Does it include the platform's own fees?
31- **Referral fees** — first-year contract value, total contract value, or collected cash?
32 
33These are starting points, not a taxonomy. Do not rely on an assumed industry default. Read the clause and name the noun.
34 
35## Find the condition where the bases diverge
36 
37This is the part that gets skipped, and it explains why bad bases survive for years: **under normal conditions the difference between competing bases is invisible, small, or quietly accepted.** Some pay out identically until an event separates them; others differ on every transaction by an amount nobody has ever totalled. Find the point where the difference becomes material.
38 
39Name the event, then compute both bases at it:
40 
41| Term | Difference stays invisible when | It becomes material on |
42|---|---|---|
43| Revenue share | full price | any discount, promo code, or negotiated price |
44| Commission on revenue | standard pricing | discounting, or a deal with unusual delivery cost |
45| Commission on bookings | nothing churns | refunds, non-payment, early cancellation |
46| Affiliate on order total | no discounts, no returns | codes, partial returns, shipping-heavy orders |
47| Agency on gross spend | fees are trivial | platform fees rise, or spend shifts channel |
48 
49If a base has never been tested against its divergence condition, its economic consequences have been assumed rather than validated.
50 
51## Quantify at the condition
52 
53Model both bases at the divergence event and state the per-unit gap, not just the totals.
54 
55Worked, revenue share: supplier takes 55%, your percentage costs are 10%. On a **list-price** base the supplier's payout does not move when you discount, so every 1.00 of discount costs you **0.90**. On a **received-price** base their payout falls with the price, so the same 1.00 costs you **0.35** — roughly a third of the damage, from a clause, not a negotiation.
56 
57The same shape appears elsewhere. Commission on bookings rather than collected cash pays full rate on revenue that never arrives; the gap equals your non-payment rate times total commission. Affiliate on order total rather than product subtotal pays partners a percentage of your shipping costs.
58 
59State the figure as a rate — "each 1.00 of discount costs 0.90 against 0.35" — because that number is what survives into the renegotiation. Then multiply it by the affected volume where that volume is known: a gap of 0.09 per order is a rounding error on one deal and a budget line across four million. The scaled exposure, not the per-unit figure, is what decides whether the clause is worth reopening.
60 
61## Work backwards when payouts miss the model
62 
63The common real case is not a clause being drafted — it is a payout that came in wrong and nobody knows why. The same arithmetic runs in reverse, and it localises the error before anyone opens the contract.
64 
65If the rate is unchanged and payout is otherwise simply `rate × base` — no tiers, caps, minimums, accelerators, fixed fees or clawbacks — the discrepancy is in the base:
66 
67`actual base / modeled base = actual payout / modeled payout`
68 
69and the size of what the model missed is:
70 
71`unexplained base = (actual payout − modeled payout) / rate`
72 
73So a payout 40% above model means the real base is roughly 1.40× the modelled one — and you are looking for a component of about that size. That number is the search filter. Shipping, tax, discount treatment, returns not deducted, renewal or cookie attribution: check them against the magnitude rather than one at a time.
74 
75Before diagnosing a base error, confirm that actual and model cover the same period, event, population and unit. A quarter's lag or an accrual-against-payment mismatch produces a stable overage that looks exactly like a base error.
76 
77Do not name a cause from the ratio alone. A total cannot distinguish an inflated base from an elevated rate — both produce the same number — so check the effective rate per line before concluding either. State the magnitude, offer the common candidates, and if none of them fit, ask what sector-specific variable could move a base by that amount.
78 
79## Change the base, not the rate
80 
81A base change can be easier to frame than a rate cut, because the headline percentage stays where it is. Where the two bases coincide on ordinary business, say so and quantify it — the ask then costs the counterparty nothing outside the condition being fixed, and that arithmetic is the argument. Where they differ on every transaction, the ask is a real transfer and should be traded as one rather than presented as a technicality.
82 
83## What good looks like
84 
85- The multiplicand is named before anyone argues about whether the rate is fair. A rate without its base is not a number you can evaluate.
86- The output is a figure someone can act on — "each 1.00 of discount costs 0.90 against 0.35, and we discount 4,000 orders a quarter" — not an observation that the base matters.
87- The base finding stays in proportion. A commercial question gets a commercial answer with the clause as one input; an answer that audits the contract thoroughly and never addresses the decision has failed even when the audit is correct.
88- Where the base is genuinely ambiguous, both readings are priced. Where it is genuinely defined, that is confirmed in a sentence and nothing further is spent on it. Manufacturing ambiguity is as costly as missing it.
89- A mismatch between actual and modelled payouts produces a magnitude to search for, not a named cause. The ratio narrows the field; the line-level data closes it.
90 
91## Rules
92 
93- MUST answer the question that was asked. The base audit is an input to it, never a replacement for it, and never the structure of the response.
94- MUST identify the multiplicand before discussing whether the rate is fair.
95- MUST treat a base as undefined unless the clause states its position relative to fees, tax and refunds. Confident phrasing is not definition.
96- MUST scale the per-unit gap to the affected volume where that volume is known.
97- NEVER assume a standard base, or infer one from what the parties presumably meant.
98- NEVER present a base change as a rate cut. They are different asks and the second one loses.
99- Where the base is unknown, model both and recommend neither. Leading with one and noting the other differs is not a caveat — the reader keeps the first number.
100 
View all files on GitHub →

Details

Updated
Sep 23, 2026
License
MIT
Stars on the repo
★ 159
Checked
Source
swan-gtm/gtm-skills ↗
Creator
swan-gtm · 51 listings
View creator

Similar skills

See all →
SkillReverse engineer native, managed, Electron/JavaScriptREAmorluto/rea · by morlutoReverse engineer native, managed, Electron/JavaScript, packaged, firmware, and browser targets with REA. Use shipped-artifact or requested runtime evidence to explain features, compare versions, decompile code, or guide a reconstruction. Skip REA for ordinary source-repository architecture analysis.★ 316k GitHub starsSkillBrainstorms ideas into designs before any creative workBrainstorming Ideas Into Designsobra/superpowers · by obraYou MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.★ 290k GitHub starsSkillRequires technical rigor and verificationCode Review Receptionobra/superpowers · by obraUse when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires technical rigor and verification, not performative agreement or blind implementation★ 290k GitHub starsSkillDiagnosis loop for hard bugs and performance regressionsDiagnosing bugsmattpocock/skills · by mattpocockDiagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.★ 267k GitHub starsSkillImplement the result of /to-spec and /to-tickets in codeImplement specmattpocock/skills · by mattpocockImplement the result of /to-spec and /to-tickets in code.★ 267k GitHub starsSkillWriting a PR bodymattpocock/skills · by mattpocockUse when writing a PR body.★ 267k GitHub stars

More from swan-gtm

SkillAn ABM program cannot prove engagement mattersAccount-Based Engagement Scoring and Buying Group Measurementswan-gtm/gtm-skills · by swan-gtmUse this skill when an ABM program cannot prove engagement matters, accounts get handed to sales on gut feel, or nobody knows which activity moves buying groups forward. Builds an account engagement score (weighted signals plus decay), maps buying group coverage across the decision-making unit, and defines explicit handover gates so marketing and sales agree on readiness. Produces a scoring model, a buying group tracker template, and a handover decision rule. Rule: without buying group visibility a high engagement score is a false positive; handover requires both the score and the coverage threshold met. Trigger phrases: ABM measurement, which accounts are hot, buying committee coverage, when do we hand this to sales, account engagement score, ABM ROI.★ 159 GitHub starsSkillWriting ad copy — headline formulas, visual directionAd Copywriting - Headline Formulas, Visual Design & Voice of Customerswan-gtm/gtm-skills · by swan-gtmUse this skill when writing ad copy — headline formulas, visual direction, and voice-of-customer sourcing that makes ads specific instead of generic.★ 159 GitHub starsSkillDefining ad personasAd Persona Frameworkswan-gtm/gtm-skills · by swan-gtmUse this skill when defining ad personas — translating ICP segments into the persona lens every ad, angle, and offer gets built against.★ 159 GitHub starsSkillInbound leads arrive incomplete B2B Data Enrichment for Revenue Operationsswan-gtm/gtm-skills · by swan-gtmUse this skill when inbound leads arrive incomplete (missing company size, industry, revenue), the TAM list lacks data for scoring, or the CRM cannot route and segment without enrichment. Maps coverage gaps, compares single-source and waterfall provider strategies, and builds an integration roadmap with cost guardrails and quality gates. Produces a provider recommendation matrix, a waterfall architecture, and a go or no-go checklist. Rule: no single provider has full coverage; a waterfall across two or more providers in sequence beats any one source on match rate. Trigger phrases: data enrichment, leads come in with no company info, enrichment coverage, firmographic data, which enrichment tool, data freshness.★ 159 GitHub starsSkillYou need to know what people are saying about a brandBrand mention monitorswan-gtm/gtm-skills · by swan-gtmUse this skill when you need to know what people are saying about a brand across the web and social — "monitor brand mentions", "what are people saying about [brand] this week", "run a brand sweep", "social listening", "find high-risk mentions", or "how does [brand] compare to [competitor] in the conversation". Sweeps social platforms, news, forums, and review sites; scores every mention on reach, velocity, sentiment, and risk-topic match; and produces a triage report bucketed into Crisis / Watch / Engage / Log with a suggested owner and response window for each mention, so the team responds before one spirals.★ 159 GitHub starsSkillAllocating paid budget by stageBudget Allocation by Stageswan-gtm/gtm-skills · by swan-gtmUse this skill when allocating paid budget by stage — testing vs scaling vs retargeting, and how the split shifts as spend grows.★ 159 GitHub stars