If one customer pays more than about 30% of your recurring revenue, work out your runway twice: once as things are, and once without that customer from the end of their notice period. If the second runway is shorter than the time it takes you to replace them or raise money, act now rather than at renewal. Below 30% it is still worth knowing the number; above it, the customer's decisions become your runway.
This guide walks through that stress test on one company, then covers where to draw the lines and what to change first.
The example
A B2B startup with:
- €310,000 in the bank
- €58,000 of monthly costs
- €26,000 of MRR, of which the largest account pays €9,100
Its runway today is 310,000 / (58,000 - 26,000) = 9.7 months. The founders are about to hire on the strength of that number.
Step 1: work out the share
Divide the largest customer's MRR by total MRR: 9,100 / 26,000 = 35%. Do the same for your top three combined. A top-three share above half means you have a similar problem, just spread across three renewal dates instead of one.
Check the trend as well as the level. Concentration rises without any new big deal: the large account adds seats, a few small customers cancel, and a share that was 28% in spring is 35% by autumn. That is the usual way founders miss it. It looks like the business is growing, and the biggest account is growing fastest.
Step 2: read the contract
Before you model anything, find four facts in their contract:
- The notice period. How long they must keep paying after they decide to leave.
- The renewal date, and whether it renews automatically.
- Whether they can terminate for convenience, or only for cause.
- Their payment terms. Large companies often pay on 60 or 90 days, which the payment terms guide covers in detail.
Say the contract renews in five months, with 90 days' notice, and no termination for convenience.
Step 3: run the runway twice
Without the customer, MRR falls to €16,900 and net burn rises to 58,000 - 16,900 = €41,100 a month.
| Scenario | Months at €32,000 burn | Cash left then | Months at €41,100 burn | Total runway |
|---|---|---|---|---|
| They stay | 9.7 | €0 | 0 | 9.7 months |
| They give 90 days' notice today | 3 | €214,000 | 5.2 | 8.2 months |
| They stop paying today | 0 | €310,000 | 7.5 | 7.5 months |
The last row covers a customer in financial trouble, or one that gets acquired, which can stop paying before any notice period plays out. Treat it as the floor.
You can run the same numbers in the cash runway calculator: once with total MRR, once with the customer removed.
Step 4: compare it with your replacement time
Now the question that decides whether to act: how long would it take to replace €9,100 of MRR? Look at your last few deals of a similar size and measure from first call to first invoice. Suppose it was about six months.
Against a runway of 8.2 months without them, six months to replace them leaves two months of slack. That is not enough to also run a fundraise if the replacement slips. The hire the founders were planning would shorten both runways further. In this case, the stress test says to make the account safer before adding costs.
If the no-customer runway had been 18 months against a six-month replacement time, the same 35% would be a risk to monitor, not a reason to change plans.
Where to draw the lines
There is no universal threshold, but two reference points help.
Accounting rules draw the first. Under IFRS 8, paragraph 34, a listed company must disclose when a single external customer accounts for 10% or more of its revenue, and how much that customer brings in (IFRS 8 as adopted in EU Regulation 2023/1803). That is where the standard setters decided one customer is material to understanding a business.
The second is where it starts to threaten runway. Plainhub flags any customer above 30% of MRR, because at that share one email can take a third of your revenue with it. Treat these as working lines:
| Largest customer's share | What to do |
|---|---|
| Under 10% | Nothing special. Losing them is a bad month. |
| 10% to 30% | Know their renewal date, notice period and payment terms. Check the share every month. |
| Over 30% | Run the stress test above every month, and base spending decisions on the runway without them. |
What to change first
The fixes make that customer's revenue harder to lose and grow everything around it. In rough order of how fast each one helps:
- Plan spending on the lower runway. While one account is over 30%, make hiring and spending decisions against the runway without them. It costs nothing and removes the worst outcome, which is committing costs you cannot cover if they leave.
- Lengthen the commitment at renewal. Ask for a longer notice period or an annual term. An annual contract paid upfront puts a year of their revenue in the bank, which protects you better than any clause. A modest discount for annual prepayment is often worth offering in exchange.
- Set a ceiling for new deals. A rule such as "no new customer above 25% of MRR at signing" forces the conversation about phasing or pricing while you still have leverage.
- Sell to companies like them. Write down why this account is a good fit, then find smaller companies with the same problem. Each one you add reduces the share without touching the big account.
- Watch the roadmap. Count how much engineering time goes to that customer's requests. Past a point you are building their internal tool, which makes you harder to leave and harder to sell to anyone else.
The mistake that catches people out
Planning on MRR that includes the big account as if it were as safe as the rest. It feels safe because it is your best customer, and usually your happiest. But their budget, their new CFO or an acquisition can end the contract for reasons that have nothing to do with you. Knowing the customer is big is the easy part. The step that gets skipped is working out the runway without them.
In Plainhub, the Revenue page shows your top customer's share of MRR and warns once it passes 30%. To see the runway without them, mark the customer At risk: they drop out of MRR immediately and every runway figure recalculates as if they had gone. Switch them back to Active when you are done. It takes seconds, which makes it easy to do every month.