Message, market and model fit: the three checks I run before spending a euro on ads

TL;DR

Difficulty: Intermediate

Most money losing campaigns fail underneath the ads, not in them. Before scaling, check three fits in order:

  • Message: a five second test, counting how many of the right readers understand the offer correctly.
  • Market: the share of the people you can reach that you would need to win, using Brian Balfour's model market threshold with your own target.
  • Model: the real payback month, allowing for customers who cancel. The simple CAC divided by monthly margin flatters you.

The fits move each other, so after any change to one, check the other two again. They are practitioner frameworks (Andreessen, Kennedy, Balfour), useful questions rather than proven laws.

A campaign can have good ads and still lose money, because the message, the market and the business model underneath were never lined up. In this article I walk through the three checks I run before scaling spend, with an invented Galway coffee subscription, a five second test, a market sizing sum and a payback calculation that counts the customers who leave.

Good ads cannot rescue a broken offer

Most paid campaigns I am asked to rescue are not badly built. They lose money anyway, because something underneath the ads was never lined up. The words promise one thing to the wrong people. Or the right people are there, but there are too few of them to matter. Or everything works except the sums: each customer costs more to win than they will ever leave behind.

You cannot fix a weak offer with targeting. You cannot fix a price that does not pay back with a sharper headline. So before I scale any spend, I run three checks, and I run them in order.

  • Message. Does the right reader understand, quickly and correctly, what you sell and why it is for them?
  • Market. Are there enough of those readers, and can you reach them at a price you can bear?
  • Model. Once you have paid to win a customer, does the money come back, and how fast?

This article walks through each check with one invented business, every number written out, so you can run the same audit on your own.

Where the idea of "fit" comes from

The word "fit" in this sense goes back to an essay by Marc Andreessen, the investor, published on 25 June 2007. He defined product/market fit as "being in a good market with a product that can satisfy that market", and argued that the market is the most important factor in whether a young company succeeds.1 He also made a point I like for its honesty: you can always feel product/market fit when it is happening, and you can always feel when it is not.

Note what that is. It is an argument from experience, written for founders. It is not a study, and Andreessen never claimed it was.

Direct response marketers had their own version long before. Dan Kennedy describes a triangle of message, market and media: the offer and the words, the people who receive them, and the channel that carries them. In his telling, none of the three can work without the others, and the goal is "Right Message, Right Market, Right Media".2

The most useful modern version is Brian Balfour's, from a series of essays he wrote in 2017 after his years as VP of Growth at HubSpot. He argued that product/market fit alone is not enough to build a large company, and that you need four fits at once: market product fit, product channel fit, channel model fit and model market fit.3 He later summed the framework up on one page, where he says the four fits form "an ecosystem for growth" and that you have to keep revisiting them "because they are continuously changing".4

My three checks are a smaller cousin of these ideas, sized for a business spending its own money on ads rather than one raising venture capital. Message sits where Kennedy's message meets Balfour's market product fit, which starts from the problem your market has and asks how your core value can be put in the simplest terms, a line he calls the hook.5 In other words, how the value is put into words. Market is the audience and its size. Model is how you charge and what a customer is worth. The channel sits between them, and I come back to it in its own section.

One caution before the work starts. All of these are practitioner frameworks. They are thinking tools from people who built companies, not measured results. They help you ask sharper questions. They do not prove anything on their own, which is why every check below ends in a number you collect yourself.

The business I will audit

Every number in this article is made up, and the business does not exist. Corrib Lane Coffee is a small roastery in Galway, run by Aoife. She sells a coffee subscription online at corriblanecoffee.example: a bag of freshly roasted coffee through the letterbox every month, for €16.

After the beans, the roasting, the packaging, the postage and the payment fees, she keeps 45% of each payment. That is her contribution, the money left over to pay for marketing, rent and herself.

m=P×gm = P \times g

Here mm is the monthly contribution per subscriber in euro, PP is the monthly price, and gg is the share of the price she keeps after direct costs, written as a fraction (so 45% is 0.450.45). The groundwork on percentages and fractions is in Foundations: percentages.

For Aoife, m=16×0.45=7.20m = 16 \times 0.45 = 7.20, so each active subscriber leaves her €7.20 a month.

Aoife has run Meta ads for two months. Subscribers arrive, and yet her bank balance keeps shrinking. She wants to double the budget before Christmas. I am going to check all three fits before she does.

Message fit: does the right reader get it in five seconds

Message fit is the question of whether the people you want understand what you offer, correctly, without effort. Could they tell a friend what you sell, who it is for and what happens after they pay?

Message problems hide. A clever headline can earn plenty of clicks from people who misunderstood it, and the misunderstanding shows up weeks later as cancellations, by which point nobody connects it to the headline.

I look at four things on an ad or a landing page:

  • the headline makes a specific promise, not a category label
  • the line under it says who it is for
  • the picture shows the outcome, not just a mood
  • the button says what happens next, in the reader's words

If you want a deeper method for building the message itself, I wrote about the StoryBrand framework and about Jobs To Be Done (JTBD) separately. Here the question is narrower: is the message you already have being understood?

How I test it: the five second test

The test I reach for first is the five second test. You show a person the design for five seconds, hide it, and ask a couple of questions about what they saw. The method is usually credited to the user experience researcher Christine Perfetti, who named it in the mid 2000s.6 It measures first impressions, not whether the page works when someone uses it, and first impressions are exactly what an ad buys.

I ask one question that has a right answer, such as "What does this company sell, and how often would you pay?" Then I count the right answers.

p^=kn\hat{p} = \frac{k}{n}

Here p^\hat{p} is the comprehension rate, the share of people who understood the offer correctly, kk is the number of correct answers and nn is the number of people asked. It is an ordinary rate, explained in Foundations: ratios and rates.

Worked example: Corrib Lane's two headlines

Aoife's current ad says "The perfect gift for coffee lovers". She has a second version ready: "Fresh roasted coffee, through your letterbox, every month". She recruits 40 home coffee drinkers for each version through an online testing panel, shows each person one version for five seconds, and asks what the company sells and how often they would pay.

  • Version A, the gift headline: 12 of 40 say "a monthly subscription". The rest say "a gift box", "a one off bag" or "not sure". So p^A=12/40=0.30\hat{p}_A = 12 / 40 = 0.30, or 30%.
  • Version B, the letterbox headline: 28 of 40 get it right. So p^B=28/40=0.70\hat{p}_B = 28 / 40 = 0.70, or 70%.

Seventy against 30 looks decisive. But 40 people is a small sample, so before believing it I check how much the result could wobble by chance. The standard error of a proportion tells me that.

SE=p^ (1−p^)nSE = \sqrt{\frac{\hat{p}\,(1 - \hat{p})}{n}}

Here SESE is the standard error, the typical amount the rate would move if I asked a fresh group of the same size, p^\hat{p} is the comprehension rate I measured, and nn is the number of people asked. A 95% confidence interval is roughly p^±1.96×SE\hat{p} \pm 1.96 \times SE. Both ideas are explained from scratch in Foundations: sampling and Foundations: confidence intervals, and OpenStax sets out the same interval for a proportion.7

For version A: SE=0.30×0.70/40=0.00525=0.0725SE = \sqrt{0.30 \times 0.70 / 40} = \sqrt{0.00525} = 0.0725. Then 1.96×0.0725=0.1421.96 \times 0.0725 = 0.142, so the interval runs from about 16% to 44%.

For version B the arithmetic is the same, because 0.70×0.300.70 \times 0.30 is also 0.210.21. The interval runs from about 56% to 84%.

The two intervals do not overlap. Even allowing for chance, the letterbox headline is understood far better. The rough interval method is only fair when both the right and the wrong answers number more than five, which they do here (12 and 28 right, 28 and 12 wrong).7 With 20 people per version the intervals would have run into each other around 50%, and I would not have trusted the gap. That is why I ask 40.

The finding is bigger than "B wins". Version A was attracting people who thought they were buying a gift. Hold that thought, because it comes back in the sums.

Market fit: are there enough of the right people within reach

Message fit tells you the right people understand you. Market fit asks whether there are enough of them, and whether you can reach them at a sensible price. A perfect message to an audience of 300 is a hobby.

Andreessen's whole essay is an argument that the market matters most.1 Balfour makes a sharper version of the same point with a simple sum he calls the model market fit threshold. For a venture backed software company he writes it as average revenue per user, times the customers in the market, times the share you think you can capture, which must reach at least 100 million dollars.8 He suggests 10% as a rule of thumb for the share a software company without strong network effects might capture, and says that if your sum needs 50% or more, you should be worried.8

Aoife is not building a company for venture capital. But the sum works just as well with her own target in place of 100 million dollars.

c=TA×Nc = \frac{T}{A \times N}

Here cc is the share of the reachable market you would need to win, TT is the yearly revenue you are aiming for, AA is the average revenue per customer per year, and NN is the number of people you can realistically reach. It is Balfour's threshold turned round to ask "what share would I need?". The arithmetic is shares and fractions, in Foundations: percentages.

Worked example: is the Irish market big enough

Aoife wants €300,000 a year in revenue. A subscriber pays €16 a month, so a subscriber who stays all year is worth A=16×12=192A = 16 \times 12 = 192 euro.

She needs 300,000/192=1,562.5300{,}000 / 192 = 1{,}562.5, so about 1,563 subscribers active at any one time.

How many people can she reach? Her ad tool suggests an audience of adults in Ireland interested in speciality coffee and home brewing equipment. She discounts it heavily, because platform estimates run generous, and settles on 60,000 people she can realistically reach with the budget she has. That is her own estimate, and an invented one.

So c=300,000/(192×60,000)=300,000/11,520,000=0.026c = 300{,}000 / (192 \times 60{,}000) = 300{,}000 / 11{,}520{,}000 = 0.026. She needs about 2.6% of the people she can reach. By Balfour's yardstick that is a comfortable share, well below the 10% he uses for software. The market is big enough.

Note what changed with the new headline, though. The gift audience she had been targeting is larger, but it is the wrong market for a subscription. Gift buyers buy once. The home brewers are a smaller audience, so each one costs a little more to reach. Market fit is not "the biggest audience". It is the audience that matches the message and the model.

Two more market questions I always ask, without a formula:

  • Do they already know they have the problem? Selling to people who already search for a coffee subscription is easy. Teaching people that supermarket coffee is stale is slow and costly.
  • Who else is shouting at them? A crowded space is not a death sentence, but it raises the cost of every click.

I deliberately give no universal "healthy" figures for search volume or ad prices here. The right threshold depends on your price and your margin, which is the next check.

Model fit: does the money come back, and how fast

Model fit is the question of whether your business model can afford to buy customers. It does not matter how well the ads perform if each customer costs more to win than they will ever leave you.

Two numbers settle it. The first is the customer acquisition cost (CAC): what you spend on marketing divided by the customers it brings. The second is how long it takes for a customer's contribution to pay that cost back.

The quick version of the payback period divides one by the other.

tsimple=CACmt_{\text{simple}} = \frac{\text{CAC}}{m}

Here tsimplet_{\text{simple}} is the payback period in months, CAC\text{CAC} is the cost of winning one customer, and mm is the monthly contribution per customer from earlier. It is a ratio, in Foundations: ratios and rates.

Balfour's rule of thumb is that most startups need to keep the payback period under one year.9 That is a practitioner's judgement about cash, not a law, but it is a sensible place to start. A business living on this quarter's revenue may need far less.

Worked example: Corrib Lane's simple payback

In her last test Aoife spent €1,200 on Meta ads and won 30 subscribers. So CAC=1,200/30=40\text{CAC} = 1{,}200 / 30 = 40 euro.

So tsimple=40/7.20=5.6t_{\text{simple}} = 40 / 7.20 = 5.6 months. Five and a half. Grand, comfortably under a year. On this number she should double the budget.

She should not, and the reason is the most common mistake I see in model checks.

The payback that ignores churn is a fairy tale

The simple formula quietly assumes every customer stays until they have paid you back. Subscribers do not. A good few cancel after the first bag. The share who stay from one month to the next is the retention rate, and its opposite, the share who leave, is churn.

To see when a group of customers really pays back, add up what the group leaves you month by month, allowing for the ones who leave. If rr is the monthly retention rate, then in month one every customer pays, in month two a share rr is still there, in month three r2r^2, and so on. The running total after tt months is a geometric sum.

C(t)=m×1−rt1−rC(t) = m \times \frac{1 - r^{t}}{1 - r}

Here C(t)C(t) is the cumulative contribution per customer you acquired, after tt months, mm is the monthly contribution, rr is the monthly retention rate as a fraction, and tt is the number of months. As tt grows, C(t)C(t) creeps up towards m/(1−r)m / (1 - r), which is the most a customer will ever be worth. That ceiling is a simple form of customer lifetime value, explained with a discount rate in Foundations: lifetime value. The real payback month is the first tt where C(t)C(t) reaches the CAC. Solving for it needs a logarithm, t=ln⁡ ⁣(1−CAC (1−r)m)/ln⁡rt = \ln\!\left(1 - \frac{\text{CAC}\,(1 - r)}{m}\right) / \ln r, rounded up, and logarithms are explained in Foundations: logarithms.

Worked example: Corrib Lane's real payback

Aoife looks at her subscription data. Of the people who signed up from the gift ad, 85% renew each month, so 15% cancel. That is r=0.85r = 0.85.

First the ceiling: m/(1−r)=7.20/0.15=48m / (1 - r) = 7.20 / 0.15 = 48 euro. On average, a subscriber from this ad will leave her €48 in total, ever.

Then month by month, C(t)=48×(1−0.85t)C(t) = 48 \times (1 - 0.85^{t}):

  • after one month: 48×0.15=7.2048 \times 0.15 = 7.20
  • after three months: 48×(1−0.614)=18.5248 \times (1 - 0.614) = 18.52
  • after six months: 48×(1−0.377)=29.9048 \times (1 - 0.377) = 29.90
  • after 11 months: 48×(1−0.167)=39.9748 \times (1 - 0.167) = 39.97
  • after 12 months: 48×(1−0.142)=41.1748 \times (1 - 0.142) = 41.17

The €40 is only earned back in month 12. Using the logarithm: 1−40×0.15/7.20=1−0.833=0.1671 - 40 \times 0.15 / 7.20 = 1 - 0.833 = 0.167, and ln⁡0.167/ln⁡0.85=−1.792/−0.163=11.0\ln 0.167 / \ln 0.85 = -1.792 / -0.163 = 11.0. Rounded up to a whole month, that is month 12.

So the honest payback period is 12 months, not 5.6. And the margin of safety is thin: the whole lifetime is worth €48 against a €40 cost. A small rise in ad prices before Christmas and every new subscriber would lose money.

This is where the three checks join up. Why is churn so high? Because the gift headline brought gift buyers. They understood "gift", they bought one, and they cancelled. The model problem was a message problem all along.

Worked example: the same sums after the message fix

Aoife switches to the letterbox headline and targets the home brewers. Two things change, and she measures both over a month of smaller spend.

  • Reaching the narrower audience costs more. She spends €1,350 and wins 30 subscribers, so the CAC rises to 1,350/30=451{,}350 / 30 = 45 euro.
  • The people who arrive wanted a subscription. Monthly retention rises to 92%, so r=0.92r = 0.92.

The ceiling is now 7.20/0.08=907.20 / 0.08 = 90 euro, nearly double. Month by month, C(t)=90×(1−0.92t)C(t) = 90 \times (1 - 0.92^{t}):

  • after six months: 90×(1−0.606)=35.4390 \times (1 - 0.606) = 35.43
  • after eight months: 90×(1−0.513)=43.8190 \times (1 - 0.513) = 43.81
  • after nine months: 90×(1−0.472)=47.5190 \times (1 - 0.472) = 47.51

The €45 is earned back in month nine. Check with the logarithm: 1−45×0.08/7.20=0.51 - 45 \times 0.08 / 7.20 = 0.5, and ln⁡0.5/ln⁡0.92=−0.693/−0.083=8.3\ln 0.5 / \ln 0.92 = -0.693 / -0.083 = 8.3, which rounds up to nine.

The CAC went up by €5 and the business got better. Payback fell from 12 months to nine, and each customer is now worth twice as much over their life. If you only watched the cost per subscriber in the ad dashboard, you would have called this change a failure.

Cumulative contribution per subscriber, before and after the message fixTwo lines rising over 12 months. The gift headline line rises slowly and flattens, reaching €41.17 by month 12. The letterbox headline line rises faster, reaching €56.91 by month 12. The gift line passes its €40 acquisition cost only in month 12, the letterbox line passes its €45 cost in month nine.What one acquired subscriber has paid back, month by month€0€25€50€75€100135791112Gift headline, 85% retentionLetterbox headline, 92% retentionCumulative contribution in €Months since signing up

The months since signing up run along the horizontal axis, from one to 12. The vertical axis shows the total contribution, in euro, that the average subscriber you paid to acquire has left you by that month, allowing for the ones who cancelled. Both lines start at €7.20, because everyone pays for the first bag. The gift line flattens early, because so many leave, and only creeps past its €40 cost at the very end of the year. The letterbox line keeps climbing and clears its higher €45 cost three months sooner. The takeaway: retention, not the cost per click, decides whether paid acquisition works for a subscription.

The channel has to fit the model too

Between market and model sits the channel, the way you reach people. Balfour calls this channel model fit, and his central claim is that "products are built to fit with channels, channels are not built to fit with products".9 He lays businesses along a spectrum of average revenue per user. At one end, low revenue per user forces low cost channels, which in turn need products that are quick to understand and quick to buy. At the other end, high revenue per user can pay for expensive channels such as outbound sales.9 The middle he calls a danger zone, where revenue per user is too high for the low cost channels to deliver and too low to pay for sales people, and he argues that companies there fail more often.9

You do not need a formula for this. You need the CAC ceiling from the model check and an honest estimate of what each channel costs per customer.

Worked example: should Aoife hire a salesperson

A friend suggests Aoife sell office subscriptions by phone. Suppose an hour of a salesperson's time costs her €30, including the calls that go nowhere, and one call in ten turns into a subscriber.

The cost per subscriber is 30×10=30030 \times 10 = 300 euro. Even after the message fix, a home subscriber is worth €90 over a lifetime. So phone sales for a €16 subscription would lose about €210 per customer.

Office subscriptions might be worth it at a much higher price, say a whole team's coffee for €150 a month. But that is a different product with a different message, sold to a different market. Which is exactly Balfour's point: change the channel and you have changed the other fits too. If you want a structured way to choose the channel itself, I walked through the Bullseye framework for channel selection separately.

Change one fit and you have to check the others

The single most useful line in Balfour's series, for me, is that the fits are always changing, and when one breaks you cannot simply change one element, you have to revisit and possibly change them all.3 Every worked example above has shown it. The message decided who arrived. Who arrived decided churn. Churn decided the model.

It runs the other way too. A price change is a model change, but it also changes the message and the market.

Worked example: a price rise ripples back

Suppose Aoife considers raising the price from €16 to €19, to fatten the margin. Leave fees aside for a moment and say the extra €3 is all contribution, so mm rises from €7.20 to €10.20.

If retention stayed at 92%, the ceiling would rise to 10.20/0.08=127.5010.20 / 0.08 = 127.50 euro. Lovely on paper.

But would retention stay at 92%? A pricier subscription asks for a different promise ("single estate, roasted to order") and appeals to a smaller group. If retention slipped to 88%, the ceiling would be 10.20/0.12=8510.20 / 0.12 = 85 euro, below the €90 she has today. Fewer people would also say yes to the ad, so the CAC would probably rise.

So the audit starts again: a five second test of the premium headline, a fresh audience estimate, and a small spend to measure CAC and retention before committing.

How I run the audit, in order

I run the three checks in a fixed order, because each one feeds the next. A model check on traffic that misunderstood the offer measures the wrong customers.

The message, market and model auditA top to bottom flow. Start by working out the monthly contribution per customer. Run a five second test of the message. If comprehension is low, rewrite the message and test again. If it is good, estimate the reachable market and the share needed. If the share needed is too high, rethink the market or the target. If it is reasonable, run a small paid test to measure acquisition cost and retention. Work out the real payback month allowing for churn. If payback is within your limit, scale gradually and recheck all three after any change. If it is not, find which fit caused it and go back to that step.Work out the monthly contribution percustomerMessage: five second test, count thecorrect answersDo most of the right readersunderstand the offer?noNo: rewrite the message and test againyesMarket: estimate who you can reach andthe share you needModel: a small paid test to measure CACand retentionReal payback month, allowing for churnIs payback within the limit yourcash allows?noNo: find the fit that caused it and goback to that stepyesYes: scale gradually, recheck all threeafter any change

The paid test is the slow part of the audit, because retention needs at least a couple of renewal cycles before the numbers mean much, and a month of data is still thin. If you want to know how much data a test like this really needs, I wrote a whole piece on sample sizes for campaigns and tests.

What the audit cannot tell you

A few honest limits, because a framework oversold is worse than none.

It does not predict the future. The retention rate Aoife measured in one month is an estimate, with all the uncertainty of any small sample. Retention also changes with time, usually falling fastest in the first months and then levelling off. A single monthly rate is a simplification. For the proper treatment of churn over time, see survival analysis, churn and customer lifetime value.

It is a set of questions, not a score. Some versions of this framework online offer a "message fit formula", perceived value divided by cognitive load, or a single fit score out of 100. The old version of this article had one too. I have dropped it, because neither side of that fraction can be measured, and a formula you cannot fill in is decoration. The checks above each end in a number you can actually collect.

The fits are borrowed ideas, not proven laws. Andreessen, Kennedy and Balfour wrote from experience. None of their frameworks is the result of a controlled study, and none claims to be.

Spend should be the last step, not a leap of faith

When a campaign looks good on paper and still loses money, in my experience the cause is one of three things, usually tangled together: the wrong words bringing the wrong people, too few of the right people within reach, or sums that only work if nobody ever cancels. So I check them in order, and after any change to one, I check the other two again.

Only then does the budget go up, because by then I know what the extra money is buying.

Footnotes

  1. Marc Andreessen, Part 4: The only thing that matters, Pmarca Guide to Startups, 25 June 2007, https://pmarchive.com/guide_to_startups_part4.html

  2. Dan S. Kennedy, The 3 Ms of Successful Direct Marketing Campaigns, excerpt from No B.S. Direct Marketing, Entrepreneur, 17 July 2018, https://www.entrepreneur.com/growing-a-business/the-3-ms-of-successful-direct-marketing-campaigns-new/313518

  3. Brian Balfour, Why Product Market Fit Isn't Enough, brianbalfour.com, 28 June 2017, https://brianbalfour.com/essays/product-market-fit-isnt-enough

  4. Brian Balfour, Four Fits For $100M+ Growth, brianbalfour.com, https://brianbalfour.com/four-fits-growth-framework

  5. Brian Balfour, The Road to a $100M Company Doesn't Start with Product (market product fit), brianbalfour.com, 5 July 2017, https://brianbalfour.com/essays/market-product-fit

  6. Eduard Kuric, Five Second Testing: Taking A Closer Look At First Impressions (Case Study), Smashing Magazine, 6 December 2023, https://smashingmagazine.com/2023/12/five-second-testing-case-study

  7. OpenStax, Introductory Statistics 2e, section 8.3 A Population Proportion, Rice University, 2023, https://openstax.org/books/introductory-statistics-2e/pages/8-3-a-population-proportion

  8. Brian Balfour, The Model Market Fit Threshold and What it Means for Your Growth Strategy, brianbalfour.com, 26 July 2017, https://brianbalfour.com/essays/model-market-fit-threshold-for-growth

  9. Brian Balfour, Get Out of the ARPU CAC Danger Zone with Channel Model Fit, brianbalfour.com, 18 July 2017, https://brianbalfour.com/essays/channel-model-fit-for-user-acquisition

If a campaign looks grand in the dashboard but the bank balance disagrees, I am happy to run this audit with you in a free workshop: your message, your market and your real payback, in euro. The first two weeks of work are on me, and you keep the numbers either way.