Acquisition source quality, or why your cheapest channel is your most expensive
Cost per funded loan ranks channels one way. Contribution per cohort ranks them another. The gap is the largest unclaimed margin in the business.
Every marketing review ranks channels by cost per acquisition. It is the wrong ranking, and almost everybody knows it, and almost nobody changes it — because the right ranking takes ninety days to become visible and the budget meeting is on Thursday.
This is the fourth in the KPI series, after first payment default, the recovery funnel and sales pacing.
The two orderings#
Rank six channels by cost per funded loan and you get one list. Rank the same six by contribution per funded loan, twelve months on, and you frequently get close to the reverse.
The mechanism is not mysterious. Channels that produce cheap volume often do so because they reach people with fewer alternatives, and people with fewer alternatives default more. The channel is not badly run. It is selecting a different applicant, and the price reflects that.
The commercial consequence is that a channel can look forty percent cheaper on CPA and be materially loss-making on contribution — while the team running it is hitting every target it has been given.
If your acquisition team is measured on cost per funded loan, you have asked them to optimise the wrong number, and they will do it well.
What contribution per cohort actually contains#
Four components, and the third is the one that gets skipped.
| Component | Where it lives | The usual mistake |
|---|---|---|
| Interest and fee income | Loan management system | Recognising at origination rather than as earned |
| Expected credit loss | Risk models or IFRS 9 staging | Using actuals only, which lag by months |
| Acquisition cost | Ad platforms, affiliate and broker invoices | Booking spend to the month it was paid, not the cohort it bought |
| Servicing and collections cost | Finance, usually an allocation | Leaving it out because it is hard |
Book the affiliate invoice to the month it was paid rather than the cohort it acquired, and every channel looks fine in a growing month and terrible in a flat one. That is an artefact of your accounting, not a fact about the channel.
The seasoning problem, and why it needs an agent#
The honest ranking needs cohorts that have seasoned — ninety days at minimum for a first read, twelve months for a real one. That is longer than any marketing cycle, so the ranking is always out of date at the moment it is needed.
There are two bad responses. Rank on CPA because it is available. Or rank on partial cohorts and treat a forty-day read as if it were a twelve-month one.
The workable response is a discipline, and it is exactly the kind of discipline a monitor is better at than a person under budget pressure: hold the judgement until the cohort supports it, then act immediately when it does. Humans find the first half hard and the second half harder.
Broker and affiliate flow deserves its own view#
Where volume comes through partners, the funnel before your funnel leaks in ways you are paying for.
- Leads seen against leads reaching your decision engine
- Lost before reaching a check — a technical loss, and it is your bill
- Duplicates within the partner, and duplicates against your own base
- Failed ruleset checks at the partner's end versus yours
- Passed first check, funded, and the eventual quality of that funded book
A partner with a high duplicate rate is charging you for customers you already had. That is a contract conversation, and it needs the number attached.
Define it before you measure it#
- One conformed channel dimension. UTM source, affiliate ID and broker ID resolve to one channel value. Without this every cross-channel comparison is meaningless.
- Attribution rule stated on the report. Last non-direct click is fine. Undisclosed is not.
- Cohort anchor is the funding date, never the spend date.
- Suppress unseasoned cohorts. A blank cell is honest. A partial default rate presented as a default rate is not.
- Costs at the same grain as the volume. If spend only exists monthly and volume is daily, say so rather than interpolating silently.
The dimensional model underneath#
fct_loanat issue grain withdim_channelattached at the decision, not reconstructed laterfct_application, so channel-level acceptance is separable from channel-level demandfct_partner_leadat lead grain, carrying partner, duplicate flags and the stage reacheddim_channel, conformed across marketing, risk and financefct_marketing_costat the finest grain your invoices support, with the grain declared- Metrics for
cpa,contribution_per_loan,fpd_30_by_channel,duplicate_rate
The agent#
The agent's real contribution is patience. It will not rank a channel on a forty-day cohort no matter how much the budget meeting would like it to, and it says which cohorts it is refusing to use and why. That refusal is the feature.
What good looks like#
- Both rankings side by side, CPA and contribution, with the seasoning stated
- Default and FPD by channel as standing metrics rather than an occasional analysis
- Partner lead flow reported end to end, including what you paid for and never received
- Suppression of unseasoned cohorts, visible rather than silent
- A named decision each quarter about where the marginal euro goes, with the previous quarter's decision reviewed
The channel that looks expensive on CPA is often the cheapest place you can put money. You will not find that out from a dashboard that stops at cost.
Next in this series: onboarding drop-off, and the third-party check that costs more than a pricing decision.
Want this KPI under watch first?
The Monitoring Pod stands up one agent per KPI domain, on your dimensional model, with the decomposition already done before it interrupts anybody.