Skip to content
← Glossary

Upsell / Cross-sell

Last updated:

Upsell: moving a customer to a more expensive plan. Cross-sell: selling them a complementary product or service.

In practice

Both are expansion-revenue levers — the most reliable way to achieve "negative churn" (see Churn), because it's almost always cheaper to sell more to an already-convinced customer than to acquire a new one. Timing matters more than technique: pitching an upsell before the customer has reached their aha moment on the base plan reads as pushy sales, not added value.

The formula

Expansion rate = MRR added by existing customers in the period (upgrades, added seats, extra modules) ÷ MRR at the start of the period

Upsell

The same customer paying more for more of the same: a higher tier, more seats, more usage. It rides on a pricing model that has room above the plan the customer chose.

Cross-sell

The same customer buying something adjacent: a second module, a companion product, a service. It rides on knowing which customers have the adjacent problem — which means usage data, not a list of everyone.

Against churn

Expansion rate minus gross revenue churn is net revenue churn; when expansion wins, net churn is negative and the base grows without a single new customer. That comparison is the whole reason this lever exists.

It is almost always cheaper to sell more to a customer who already trusts you than to acquire one who doesn't — the cost of an expansion is a conversation, the cost of a new customer is a CAC. But the timing rule is absolute: no offer before the customer has reached their aha moment on what they already pay for. An upsell pitched to someone who hasn't got value yet reads as a sales tactic, and is remembered as one.

Worked example

A playbook, written down

  1. A project tool with a €50 plan (5 seats) and a €110 plan (15 seats). 400 customers, €20,000 MRR. Until now, upgrades happen when a customer hits the seat limit and finds the pricing page on their own.
  2. Playbook, three lines: (1) at 4 of 5 seats used and at least 30 days of activity, show an in-app note explaining the next tier — never before day 30; (2) at 5 of 5, the founder sends one personal email; (3) any account that added a second project type gets offered the reporting module.
  3. Before: about 8 upgrades a month, +€480. After a quarter: 15 upgrades (+€900) and 6 module sales at €30 (+€180). Expansion rate: from 2.4% to 5.4% of opening MRR.
  4. Gross revenue churn that month: 5%. Net revenue churn went from +2.6% to −0.4%: the existing base now grows by itself, before counting a single new customer.

Nothing in the playbook is clever. What changed is that the offer now happens at a signal, after value, every time — instead of whenever a customer stumbles onto the pricing page.

Orders of magnitude

How to improve it

In the Tour

The question that measures it

Do you have an expansion playbook (upsell/cross-sell)?

  • Yes, active and used20 pts
  • Some ideas, not systematic7 pts
  • Nothing0 pts

"Do you have an expansion playbook (upsell/cross-sell)?" is the third and last question of the Tour — 20 for active and used, 7 for some ideas, not systematic, 0 for nothing. It closes the Revenue stage after pricing and LTV because it is the lever that turns both into growth without new acquisition. Answering 0 here is common and rarely fatal on its own; a 0 here next to a 0 on retention is the combination the whole Tour exists to point out.

Questions people ask

What's the difference between upsell and cross-sell?

Upsell: more of the same thing — a bigger plan, more seats, more usage. Cross-sell: a different thing — a second module, an add-on, a service. Upsell is driven by the customer's own growth and needs a pricing model with tiers; cross-sell is driven by adjacent problems and needs usage data to know who has them. Most companies should do the first before the second.

When is the right moment to propose an upgrade?

After value, at a signal. After value means the customer has reached the aha moment on what they already pay for — a minimum tenure or an activity threshold is the practical proxy. At a signal means the trigger is something they did (approached a limit, added a team, asked about a feature), not something on your calendar. Both conditions, every time.

How does expansion relate to negative churn?

Directly: net revenue churn = gross revenue churn − expansion. When expansion in a period exceeds what cancellations and downgrades removed, net churn is negative and the existing base grows on its own. Expansion is the only lever that can make that happen — retention work can bring gross churn towards zero, but never below it.

Related terms

Start your Tour →How it works