Sign in

Blog · Wallet share and penetration

Cross-sell and upsell: measuring each from the ledger so they stop being one number

The difference between cross-sell and upsell, how each is computed from the ledger, cross-sell as new product lines at an existing customer and upsell as more of a line already bought, the norm each is measured against, the two lists they produce, and why blending them into one expansion figure hides which of the two a team is good at.

The short answerCross-sell is revenue from a product line the customer did not buy in the prior period. Upsell is the increase in revenue on a line the customer already bought. Both come from the ledger per customer per line, period against period, and the sum of the two is expansion at existing customers. The cross-sell norm is the lines similar customers hold; the upsell norm is the spend per line similar customers reach. Blended, the expansion figure hides that a team is winning new lines and losing volume on old ones, or the reverse.

An expansion figure of 14 percent at existing customers is reported and applauded. It is 22 percent cross-sell and minus 8 percent upsell: the team is winning new lines and losing volume on old ones, and one number hid both. This guide sets out the two measures from the ledger, the norms, and the two lists.

The definitions

Per customer, per product line, period against prior period:

Cross-sell = revenue on lines with no revenue in the prior period Upsell = increase in revenue on lines with revenue in both periods, floored at zero Downsell = decrease on the same lines Expansion = cross-sell + upsell − downsell

Cross-sell splits into new lines and returning lines, by whether the line had revenue in any earlier period.

The rows you need

  • Ledger: customer, product line, period, revenue, quantity where held.
  • Customer master: customer, segment, size.
  • Norms: per segment, lines held and median spend per line.

Customer identifiers only.

The identity

ending revenue at existing customers = starting + cross-sell + upsell − downsell − churned lines

Every dollar of change at an existing customer is in one class. A customer whose change does not decompose fails it and is listed.

A worked decomposition

One segment, this year against last.

Component Value Share of starting revenue
Starting revenue $18.4m
Cross-sell, new lines $2.1m +11%
Cross-sell, returning lines $0.6m +3%
Upsell $1.9m +10%
Downsell ($3.4m) −18%
Churned lines ($0.9m) −5%
Ending $18.7m +2%

Expansion of two percent, made of fourteen points of new and returning lines and eighteen points of shrinkage on existing lines. The team sells; the base leaks. The blended figure said "flat".

Two gaps, two lists

Cross-sell list. Per customer: lines similar customers hold that this one does not, valued at the norm. Returning lines first.

Upsell list. Per customer, per line held: the difference between spend and the norm for that line. Where quantity is held, split into volume and price.

Customer Cross-sell gap Top line Upsell gap Top line
4471 $96,000 B, returning $140,000 A: buys half what peers do
2207 $18,000 E $20,000

Where it goes wrong

Blended into expansion. Which of the two is working is unknowable.

Price counted as upsell. A list price increase becomes a sales achievement.

Returning lines not separated. The easiest cross-sell is buried.

Downsell ignored. The base leaks under a positive expansion figure.

Every quarter, four components

Mapped once, the ledger and the norms produce cross-sell, upsell, downsell, the identity and both lists per customer every quarter. Covirage builds this from the exports as they are. The sales intelligence solution describes the setup, and the products per customer guide covers the cross-sell norm in depth.

Questions people ask

What about a line that was bought two years ago and not last year?

It is a reactivated line: cross-sell by the period comparison, and flagged as a return rather than a new line, because a returning line is a recovery and is usually easier. The report shows new lines and returning lines separately within cross-sell.

How does upsell differ from price?

An increase in revenue on a line can be more volume or a higher price. Where the ledger carries quantity, upsell is split into volume and price; where it does not, it is reported as revenue and labelled. A price increase counted as upsell flatters the team.

What is the gap for each?

Cross-sell gap: the lines similar customers hold that this one does not, valued at their median spend. Upsell gap: for lines this customer holds, the difference between its spend and what similar customers spend on that line. Both against the company's own norm, both per customer.