Skip to main content
Card class: Non-HeroCategory: Ecommerce Platform

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 countsFor 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 fieldcustomer_email, customer_id, grand_total, customer_group_id, extension_attributes.company_attributes.company_id from GET /rest/V1/orders.
VAT / tax treatmentTax-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 inclusionIncluded via grand_total.
DiscountsDeducted (post-promotion).
Credit Memo refund treatmentNOT subtracted. Gross LTV. A high-refund customer may rank above their net contribution.
state machine inclusionAll states except canceled.
pending_payment quirkIncluded.
Multi-currency grand_total vs base_grand_totalUses 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 aggregationEach Company aggregated as one customer for the B2B segment by default.
Time window90D
Alert triggerNone by default.
Rolesowner, marketing

Calculation

RANGE(grand_total) by spend bucket
  WHERE date BETWEEN [period_start, period_end]

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):
CohortCustomer count90D revenueRevenue shareAvg per customer
Top 10% (982 customers)982$1,640,00065%$1,670
- of which B2B Companies142$1,210,00048%$8,520
- of which consumer840$430,00017%$512
Mid 60% (5,892 customers)5,892$720,00028%$122
Bottom 30% (2,946 customers)2,946$172,0007%$58
Total9,820$2,532,000100%$258
What this is telling marketing:
  1. 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.21mof1.21m of 1.64m).
  2. 142 B2B Companies generate 48% of total revenue. Each is worth ~8,500oftrailing90dayrevenue, 8,500 of trailing-90-day revenue, ~34,000 annualised. Loss of any single top-decile B2B account is a 0.3% hit to total revenue.
  3. The mid-60% consumer cohort (mostly mid-LTV repeat consumers) generates 28% of revenue from 60% of customers. Healthy retention layer.
  4. 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.
  5. 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.
  6. Cross-checking B2B Revenue Share: 48% B2B share is consistent with this cohort decomposition (the Companies are mostly in the top decile).
  7. 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.
The point: customer base on Adobe Commerce is heavily concentrated. Cohort decomposition reveals where to invest marketing effort.

Sibling cards merchants should reference together

CardWhy pair it with Customer Segments
Customer CountThe denominator.
Churn RiskPer-cohort churn prioritisation.
B2B Revenue ShareTop-decile dominance comes from B2B.
B2B Accounts Gone QuietTop-decile B2B silence is the highest-priority Sales action.
Repeat Customer RateLifetime repeat behaviour underlies cohort stability.
Total RevenueThe aggregate.
AOVAOV varies materially across cohorts.
shopify.customer_segmentsCross-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:
ReasonDirection 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
Cross-connector reconciliation (when these connectors are connected for this merchant):
PairExpected relationshipWhat divergence tells you
klaviyo.list_segmentsKlaviyo’s RFM segments should overlap with this card’s LTV cohortsMaterial divergence indicates Klaviyo’s segmentation criteria don’t reflect dollar-weighted reality.
ESP top-spender listShould match top-decile within sync lagKlaviyo 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 20,000oftrailing90dayrevenue;aDTCfashionstoresmaybe20,000 of trailing 90-day revenue; a DTC fashion store's 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 include pending_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.

Tracked live in Vortex IQ Nerve Centre

Customer Spend Segments is one of hundreds of KPI pulses Vortex IQ tracks across Adobe Commerce and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English. Start for free or book a demo to see this metric running on your own data.