SDR commission models that survive a cancellation
The common ways to pay SDRs, what each one incentivises, and how to write a compensation policy that resolves no-shows and cancellations the same way every month.
Most arguments about SDR pay are not about the rate. They are about the edge cases — the meeting that no-showed, the one that rescheduled twice, the one the client cancelled the day before, the one that was already invoiced when it fell apart. A model that does not answer those in advance is a model that gets renegotiated every month.
This is a structural guide, not a benchmark. We are not going to quote market rates, because rates vary by market, seniority and deal size, and a number invented on a vendor page is worse than no number.
The four common structures
Per-booking. A flat amount per meeting produced. Simple, highly motivating, and the easiest to compute. Its weakness is that it pays on a promise: without an outcome gate, it rewards volume regardless of whether the meeting held or was remotely qualified.
Per-held-meeting. The same, gated on attendance. Removes the volume-at-any-cost incentive and aligns the rep with the client’s actual interest. The trade-off is that the rep now carries risk they only partly control — the prospect’s attendance is not entirely theirs to influence — which usually means the per-unit rate has to be higher.
Tiered or accelerated. Rate increases past a threshold. Useful for pushing the top of the distribution, but it introduces a cliff: a rep at 9 bookings with a tier at 10 has a strong incentive to book a bad tenth. Softer accelerators reduce that.
Base plus variable. The variable component uses one of the above. Standard for employed reps, and often legally necessary. For contractors it may be the wrong shape entirely.
A fifth exists and is worth naming: percentage of client price. It scales automatically with the value of the work, which is elegant when clients pay very different amounts per meeting. It also means reps can infer your margins, which you may or may not want.
The decision that matters most: what triggers payment
Pick one and write it down:
| Trigger | Pays on | Rep carries |
|---|---|---|
| Booking created | A promise | No outcome risk |
| Meeting held | A delivered unit | Attendance risk |
| Client invoiced | Your billing cycle | Attendance + your process risk |
| Client paid | Cash collected | Attendance + your process + client credit risk |
Pushing the trigger later reduces your risk and increases theirs, and they will price that in. Paying on client paid makes the rep an unsecured creditor of your customer, which is a hard sell and slow to boot. Meeting held is the usual sweet spot: it aligns incentives without making the rep carry risks they have no visibility into.
Writing the compensation matrix
This is the part most operations keep in somebody’s head. Write it as a table over the scenarios that actually occur:
- Who initiated — the prospect, the client, or you
- How much notice was given
- Whether a reschedule was requested
- Whether the meeting had already been invoiced
Then for each row, state two things: what the rep keeps and what the client is credited. Those are separate decisions. It is entirely coherent to credit the client and still pay the rep, if the failure was not the rep’s doing — and that is often the right answer, because a rep who loses income to a client’s cancellation learns to distrust the whole system.
A sketch of the shape:
| Scenario | Client credited | Rep keeps |
|---|---|---|
| Prospect no-show, no reschedule | Yes | Policy decision — usually yes, if qualification was sound |
| Prospect no-show, reschedule requested | No (meeting pending) | Yes, pending the rescheduled outcome |
| Client cancelled, short notice | No | Yes |
| Client cancelled, long notice | Partial or full | Policy decision |
| Disqualified after the fact as unqualified | Yes | No |
| Already invoiced when cancelled | Credit note next cycle | Yes |
The exact answers are yours. The point is that they are decided once, stored, and applied identically in March and November regardless of who closes the books.
Make the credit automatic and visible
A credit the client sees appear by itself is a non-event. A credit they have to notice and ask for is a renewal risk, and the suspicion it creates outlasts the amount involved. If your client-facing view shows held and no-show meetings with the credit already applied, the conversation is over before it starts.
The same logic applies internally. A rep who can see why a commission row was reduced, against a stated policy, argues far less than one who receives a smaller payment with no explanation.
Three implementation details that prevent most disputes
One row per booking, enforced by the database. Not by application logic — by a unique constraint. Background jobs retry and queues redeliver; both can attempt the same insert twice. A constraint makes the duplicate impossible rather than unlikely.
An explicit lifecycle. Pending → approved → paid, with reversion possible. “Has this been paid” should be a stored state, not a recollection or an inference from a bank statement.
Frozen prices. When a commission row or a billing record is created, copy the price onto it. If it looks the price up live, raising a client’s price next quarter silently rewrites what you owed reps last quarter — and reproducing a historical payslip becomes impossible.
The test of a good model
You should be able to hand the policy to someone who has never closed your books and have them produce the same numbers you would. If that is not true, the policy is still in someone’s head, and you are one holiday away from an inconsistent month.