What predicts LTV quality within a cohort by channel?
Early signals like a second order within 60 days can predict cohort LTV by channel, once you test them against 12-month contribution on older cohorts.
Written by Linus Tse, founder of Greyfield Data
· 7 min read
On this page 8 sections
The best predictor of quality within a cohort is usually a behavior in the first 30 to 60 days, such as a second order or a kept second subscription charge. You only know which one works for your brand after you test it against cohorts that are already 6 or 12 months old. Until then, an early indicator is a guess.
LTV understanding by channel takes a year to arrive if you wait for cohorts to age. Early indicators give you a read in weeks. We built a CAC apportionment demo on a synthetic DTC brand that includes cohort aging by channel, so you can see how these curves separate over time.
Key takeaways
- An early indicator is only useful once you've shown it predicts 6 or 12 month contribution per customer on older cohorts.
- A second order within 60 days is a strong candidate for one-time buyers. For subscribers, the second order is mostly automatic, so use a kept second charge instead.
- Discount code use on the first order often predicts lower value, but in influencer and affiliate channels the code is how the order was attributed, so read it inside each channel.
- First-order AOV is a weak predictor in many catalogs. Test it before you rely on it.
- Report each indicator by channel next to cohort size, and check that its ranking of channels matches the 12-month ranking.
What early indicators can you measure in the first 60 days?
You can measure six useful signals before a cohort is two months old. Each one is cheap to compute from Shopify orders and subscription data.
| Early indicator | Measured at | Why it might predict LTV | What can mislead you |
|---|---|---|---|
| First-order AOV | Day 0 | Bigger baskets can mean higher intent | Bundles and free-shipping thresholds inflate it |
| Discount code use | Day 0 | Deal-seekers may not repeat at full price | Influencer codes are attribution, not price sensitivity |
| Subscription vs one-time first order | Day 0 | Subscribers have a default next order | Prepaid plans shift revenue into month 0 |
| Second order within 30 or 60 days | Day 30 or 60 | Repeat behavior is the thing LTV measures | Automatic for monthly subscribers |
| First-order contribution margin | Day 0 | Low-margin entry orders can stay low margin | Promotions in launch months |
| Product entry point | Day 0 | Some products lead into the range better | Small product groups swing |
For subscribers, swap "second order within 30 days" for "second charge kept." A monthly subscriber gets a second order unless they skip or cancel, so the raw signal mostly measures plan type. Skips don't show up in Shopify at all, which is why we keep them as events, as in what Recharge skips tell you about subscriber LTV.
How do these cohorts age over time?
Cohorts by channel tend to separate slowly, which is why waiting is expensive. This synthetic example tracks one month of new customers through month 12, using cumulative contribution per customer before CAC.
| Channel | Customers | Month 0 | Month 3 | Month 6 | Month 12 |
|---|---|---|---|---|---|
| Paid social | 1,000 | $14 | $30 | $47 | $71 |
| Paid search | 600 | $22 | $48 | $72 | $104 |
| Influencer | 400 | $9 | $22 | $35 | $55 |
Contribution here means net sales minus cost of goods, fulfillment, and payment fees, with the cohort size fixed at customers acquired. Contribution margin LTV by acquisition channel walks through that calculation and the SQL.
The channel ranking is the same at month 3 as at month 12 in this sample. That won't always hold. A channel that brings in more subscribers can start slow and catch up after month 6, so look at the whole curve before you call a winner.
How do you validate a leading indicator?
You validate a leading indicator by measuring it at a fixed early age on cohorts that are already old, then checking whether it separates 12-month contribution. Here is the method we use.
- Pick cohorts with at least 12 months of history. Use several months of them, not one.
- Freeze the indicator at a fixed age. Measure "second order within 60 days" using only data up to day 60, so later behavior can't leak in.
- Split each channel's cohort by the indicator. Compare 12-month contribution per customer for customers with and without it.
- Check the gap is large and stable. The gap should hold across cohort months and not depend on one promotion.
- Check the channel ranking. Rank channels by the indicator at day 60, then by 12-month contribution. If the order matches, the indicator is useful for budget calls.
- Hold some cohorts back. Choose the indicator on older cohorts, then confirm it on newer ones you didn't use to choose it.
A worked example: scoring indicators inside paid social
These numbers are synthetic. The paid social cohort has 1,000 customers and $71 of 12-month contribution per customer. Each row splits that cohort by one indicator. The "without" column is recomputed so the two groups average back to $71.
| Indicator (paid social) | Customers with it | 12-month contribution with | Without | Gap |
|---|---|---|---|---|
| Second order within 60 days | 220 | $170.00 | $43.08 | $126.92 |
| Subscription first order | 350 | $120.00 | $44.62 | $75.38 |
| Starter kit as entry product | 400 | $88.00 | $59.67 | $28.33 |
| First-order AOV of $70 or more | 300 | $74.00 | $69.71 | $4.29 |
| Discount code on first order | 620 | $58.00 | $92.21 | -$34.21 |
Check one row: 220 × $170 = $37,400. The other 780 customers hold $71,000 - $37,400 = $33,600, which is $43.08 each.
In this sample, a second order within 60 days separates customers by about $127, while first-order AOV barely moves the result. Discount code use points the other way: coded customers are worth $34.21 less.
Now check the ranking across channels. Second order within 60 days was 31% for paid search, 22% for paid social, and 18% for influencer. That is the same order as 12-month contribution: $104, $71, $55. In this sample, the indicator passes both tests.
Making sure by channel things look healthy
Once an indicator passes, put it on a weekly view by channel next to customer counts. That gives you early indicators of a channel going soft long before its 12-month number lands.
Set your own baseline. We don't use outside benchmarks for these rates. Use each channel's own trailing cohorts as the reference line.
Show cohort size. A 400-customer cohort can swing several points on a handful of orders. Show counts beside every rate.
Read discount codes inside each channel. In influencer and affiliate channels, the code is how the order got credited. A high code rate there doesn't mean low intent. Compare coded and uncoded customers within the channel, not across channels.
Watch the mix. If a channel's share of subscription first orders shifts, its curve will shift too. Split subscribers from one-time buyers before you blame the channel.
Keep forecasts separate. If you project 12-month value from the indicator, show the projection in its own labelled column next to actuals.
Our retention dashboard in Sigma shows a cohort view on synthetic data, and the retention value calculator estimates what a change in repeat rate is worth. If you're deciding between a retention app and your own warehouse for this, see the Lifetimely vs custom data warehouse comparison.
Frequently asked questions
What's the predictor of quality within a cohort?
Usually a behavior in the first 30 to 60 days, such as a second order for one-time buyers or a kept second charge for subscribers. Confirm it by splitting older cohorts by the indicator and comparing 12-month contribution per customer.
What are early indicators of customer LTV by channel?
Common candidates are first-order AOV, discount code use, subscription versus one-time first order, a second order within 30 or 60 days, first-order margin, and the entry product. Which ones work depends on your catalog, so test each against older cohorts.
Is first-order AOV a good predictor of LTV?
Sometimes, but often weakly. Bundles and free-shipping thresholds can raise AOV without raising repeat behavior, so measure the gap in 12-month contribution before you use it.
How long should you wait before judging a channel's cohort?
Long enough for a validated early indicator, often 30 to 60 days. Without one, compare cohorts at the same age and wait for at least 6 months of contribution.
What to do next
Pick two indicators from the first table and run the validation on cohorts that are at least 12 months old. If the gap is small or the channel ranking doesn't match, drop the indicator and try the next one. To see cohort aging by channel on synthetic data, open the CAC apportionment demo, or book a call if you want help running this on your own data.
Part of the Ecommerce reporting guides, a reading path through related articles.

Linus Tse
Founder of Greyfield Data. Built 400+ dashboards. Certified in Sigma, Snowflake, Tableau, and Power BI.
About Linus

