Glossary
How to Identify a Losing Customer Segment (LTGP:CAC + Repurchase)
A losing customer segment is a cohort, grouped by acquisition channel or the period a customer first ordered in, where LTGP:CAC falls below 3x or the repurchase multiplier stays under 1.3x. Upstream's Cohort Matrix plots every cohort on those two numbers and labels the ones that miss the bar Trap or Drain, the two losing quadrants.
How Upstream flags it
Cohort quadrant = Trap when LTGP:CAC < 3x and repurchase multiplier >= 1.3x Cohort quadrant = Drain when LTGP:CAC < 3x and repurchase multiplier < 1.3x Buyer segment (no ad-spend attribution needed) = Trap when a repeat customer's net gross profit is $0 or less Buyer segment (no ad-spend attribution needed) = Drain when a one-time customer's net gross profit is $0 or less
Upstream's Cohort Matrix groups customers by acquisition channel or ad set when that data exists, or by the period they first ordered in when it doesn't, then plots each group on two axes: LTGP:CAC (lifetime gross profit against acquisition cost, the same ratio behind the Compounding / One-Hit / Trap / Drain quadrants used everywhere else in the product) and repurchase multiplier (orders divided by customers in that group). A cohort only counts as Compounding when both bars clear at once, an LTGP:CAC of 3x or higher and a repurchase multiplier of 1.3x or higher. Trap and Drain are the two quadrants where a cohort is losing: Trap means buyers keep coming back but the channel costs too much to acquire them profitably, Drain means neither bar clears.
That quadrant needs ad spend data to compute CAC. Upstream also tracks a second, simpler view of losing customers that doesn't: the Buyer Segments panel groups every customer by repeat-purchase behavior and net gross profit alone. A repeat buyer whose orders net zero or negative profit lands in Trap; a one-time buyer who never became profitable lands in Drain. It's the same losing-segment idea from the customer side rather than the channel side, useful the moment a store has order history, even before any ad account is connected.
Worked example
Two channel cohorts from the same illustrative store (Upstream's own demo fixture, not averaged across merchants):
Retargeting channel (Trap)
- Customers
- 2,900
- Ad cost per customer (CAC)
- $34
- Lifetime gross profit (LTGP)
- $47,000
- LTGP:CAC
- 1.4x
- Repurchase multiplier
- 1.5x
Buyers come back (1.5x clears the 1.3x repeat bar), but the channel costs too much to acquire them profitably. LTGP:CAC never reaches 3x.
Cold Prospecting channel (Drain)
- Customers
- 4,600
- Ad cost per customer (CAC)
- $16
- Lifetime gross profit (LTGP)
- $13,000
- LTGP:CAC
- 0.8x
- Repurchase multiplier
- 0.4x
Neither bar clears: buyers don't come back (0.4x), and the channel doesn't even recover its own acquisition cost (0.8x).
Both cohorts are losing segments, but for different reasons, and that difference changes what to do next. Retargeting's problem is acquisition cost, not the customers: buyers already return, so cheaper spend or better targeting could pull LTGP:CAC over 3x without touching anything else. Cold Prospecting is losing on both axes at once, buyers don't return and the channel doesn't cover its own cost, which is the pattern Upstream's suggested actions surface first when they recommend shifting budget out of a cohort.
How Upstream computes this for your store automatically
Upstream builds these cohorts automatically from your real Shopify orders and connected ad accounts, grouping by channel or acquisition period without an export or a manual query. Click into any Trap or Drain cohort and Upstream shows who's actually in it: real shipping geography and buying patterns pulled straight from Shopify, plus age and gender if Meta or Google Ads is connected. The lowest-margin cohorts also surface on their own as a suggested action, prompting a budget shift out of the cohort rather than leaving you to spot it on a chart.
No credit card required · Installs in 60 seconds
A Fox & Otter Data product