At a glance
Customer base distributed into LTV cohorts (top 10%, mid 60%, bottom 30%) plus B2B-vs-consumer split. Adobe Commerce paid edition has a native “Customer Segments” feature for marketing rules; this card is the analytical complement, surfacing how the cohort mix evolves and where revenue is concentrated. The 80/20 rule is usually 70/30 on Adobe Commerce because B2B Companies dominate the top.
| What it counts | For each customer (email-based identity, optionally Company-grouped on B2B), compute trailing-90-day SUM(grand_total) and rank. Bucket into LTV deciles, then aggregate to top-10% / mid-60% / bottom-30%. Cross-tab against B2B/B2C segment. Returns the count and revenue contribution per cohort. |
| API field | customer_email, customer_id, grand_total, customer_group_id, extension_attributes.company_attributes.company_id from GET /rest/V1/orders. |
| VAT / tax treatment | Tax-inclusive on B2C; exempt on most B2B. Cohort ranking is by grand_total, so B2C customers in the UK appear slightly higher in the LTV ranking than equivalent-revenue US B2B customers. |
| Shipping inclusion | Included via grand_total. |
| Discounts | Deducted (post-promotion). |
| Credit Memo refund treatment | NOT subtracted. Gross LTV. A high-refund customer may rank above their net contribution. |
state machine inclusion | All states except canceled. |
pending_payment quirk | Included. |
Multi-currency grand_total vs base_grand_total | Uses base_grand_total for cross-currency LTV ranking. |
Store View scope (store_id) | All Store Views by default. Per-Store-View variants useful when consumer cohort is regionally heterogeneous. |
| B2B Company aggregation | Each Company aggregated as one customer for the B2B segment by default. |
| Time window | 90D |
| Alert trigger | None by default. |
| Roles | owner, marketing |
Calculation
Worked example
A homewares brand on Adobe Commerce 2.4.6, B2B Companies module enabled. Snapshot Monday 4 May 26. Trailing 90-day customer base, 9,820 active customers (180 B2B Companies + 9,640 consumers):| Cohort | Customer count | 90D revenue | Revenue share | Avg per customer |
|---|---|---|---|---|
| Top 10% (982 customers) | 982 | $1,640,000 | 65% | $1,670 |
| - of which B2B Companies | 142 | $1,210,000 | 48% | $8,520 |
| - of which consumer | 840 | $430,000 | 17% | $512 |
| Mid 60% (5,892 customers) | 5,892 | $720,000 | 28% | $122 |
| Bottom 30% (2,946 customers) | 2,946 | $172,000 | 7% | $58 |
| Total | 9,820 | $2,532,000 | 100% | $258 |
- The top 10% generates 65% of revenue. Classic Pareto. On Adobe Commerce, the top decile is dominated by B2B (142 of 982 customers but 1.64m).
- 142 B2B Companies generate 48% of total revenue. Each is worth ~34,000 annualised. Loss of any single top-decile B2B account is a 0.3% hit to total revenue.
- The mid-60% consumer cohort (mostly mid-LTV repeat consumers) generates 28% of revenue from 60% of customers. Healthy retention layer.
- Bottom 30% of customers contribute only 7% of revenue. Mostly one-time gift buyers, single-purpose shoppers, and recently-acquired-not-yet-repeat. Marketing investment in this cohort is generally unprofitable; a “first repeat purchase” cadence may be worth running, but acquisition spend on lookalikes of this cohort is wasteful.
- Cross-checking Churn Risk: top-10% has 8% churn risk, mid-60% has 32%, bottom-30% has 44%. The retention investment priority is mid-60%: high churn risk, material revenue contribution, manageable count for an email-cadence intervention.
- Cross-checking B2B Revenue Share: 48% B2B share is consistent with this cohort decomposition (the Companies are mostly in the top decile).
- Strategic implications:
- B2B account-based marketing focus on top-10% B2B Companies (142 accounts, ~$1.2m revenue at stake).
- Consumer retention focus on mid-60% (5,892 customers, ~$720k revenue at stake).
- Acquisition focus reviews the lookalike profile of top-10% consumers (840 customers, $430k revenue) rather than blanket lookalikes of all-customers.
Sibling cards merchants should reference together
| Card | Why pair it with Customer Segments |
|---|---|
| Customer Count | The denominator. |
| Churn Risk | Per-cohort churn prioritisation. |
| B2B Revenue Share | Top-decile dominance comes from B2B. |
| B2B Accounts Gone Quiet | Top-decile B2B silence is the highest-priority Sales action. |
| Repeat Customer Rate | Lifetime repeat behaviour underlies cohort stability. |
| Total Revenue | The aggregate. |
| AOV | AOV varies materially across cohorts. |
shopify.customer_segments | Cross-platform peer. |
Reconciling against the vendor’s own dashboard
Where to look in Adobe Commerce Admin:Customers > Segments (Adobe Commerce paid edition only) lets you define rule-based segments for marketing automation. The Admin Segments feature is rule-driven (e.g. “customers with >5 orders in last 12 months”); this card uses LTV ranking which the Admin doesn’t natively compute.
Reports > Customers > Customers by Orders Total ranks customers by lifetime revenue. Decile-bucketing requires CSV export and spreadsheet computation.
Reports > Customers > Customers by Number of Orders ranks by order count, complementary to LTV ranking.For B2B (Adobe Commerce paid edition):
Customers > Companies with sort by 90-day revenue (manual via export-and-pivot).Why our number may legitimately differ from Admin:
| Reason | Direction of divergence |
|---|---|
| LTV vs Order Count ranking. Card uses LTV (sum of grand_total). Admin’s order-count-rank shows different ordering. | Material if a few large orders skew LTV |
| B2B Company aggregation. Card aggregates by Company; Admin shows by buyer-email. | Material if Companies have multiple buyers |
canceled exclusion. Card excludes; Admin includes unless filtered. | Card LTV slightly higher |
| Time window. Card uses 90 days; Admin reports default to all-time. | Different cohorts entirely |
| Refund-adjustment. Card uses gross LTV (no refund subtraction). | Material for high-refund customers |
| Pair | Expected relationship | What divergence tells you |
|---|---|---|
klaviyo.list_segments | Klaviyo’s RFM segments should overlap with this card’s LTV cohorts | Material divergence indicates Klaviyo’s segmentation criteria don’t reflect dollar-weighted reality. |
| ESP top-spender list | Should match top-decile within sync lag | Klaviyo top-spender lists are usually current; this card uses 90-day; diff = customers outside the 90D window. |
Known limitations / merchant FAQs
Why does the card use LTV ranking rather than the Adobe Commerce Customer Segments feature? Adobe Commerce’s native Customer Segments is rule-driven (predicate logic for marketing automation: “customers in California with abandoned carts in last 7 days”). It’s optimised for marketing rules, not analytical decomposition. This card complements rather than replaces; use the native feature for marketing-rule targeting and this card for cohort-revenue analysis. Adobe Commerce vs Magento Open Source: any difference? Open Source lacks the Customer Segments rule engine but has the same underlying customer/order tables. The card runs identically. Open Source merchants who want rule-based marketing typically install a third-party module or use ESP segmentation (Klaviyo, Mailchimp). Why are top-decile thresholds different across stores? The card computes deciles on the merchant’s own customer base. A high-AOV B2B distributor’s top decile threshold may be 400. Each store’s thresholds reflect its own business shape. Are B2B Companies really worth aggregating to one customer? Depends on the question. For “where is revenue concentrated”, yes (one Company is one decision-making unit). For “how many people log into our portal”, no (each buyer-email is a user). Configure the manifest aggregation to match the question. Why includepending_payment orders in LTV?
B2B net-30 pipelines depend on pending_payment-state orders. Excluding them would understate B2B LTV by a third or more on net-30-heavy stores.
My multi-store Adobe Commerce, can I see per-region cohorts?
Yes, configure per-Store-View variants. Useful when consumer cohort is regionally heterogeneous (UK is mostly mid-LTV, US has more long-tail bottom-decile).
Why is the bottom decile so big (30% of customers, 7% of revenue)?
Common pattern. New customer acquisition floods the bottom; gift buyers, one-time-purpose shoppers, and recently-acquired-not-yet-repeat customers all pile into the lowest decile. This is normal and useful as the “convert to repeat” pool, but generally not where retention investment pays back.
A specific B2B Company isn’t appearing in top-10% even though they spent a lot, why?
Most likely cause: the 90-day window doesn’t include their order. B2B accounts on quarterly cadence may have placed their last $50k PO 100 days ago, putting them outside the window. Consider a longer window (180D, 365D) for B2B-LTV ranking specifically.
The card and ESP segmentation disagree on top spenders, who’s right?
Both, for different definitions. Card uses 90-day Adobe order data; ESP often uses a longer window plus marketing-engagement signals. Align the windows before comparing.