D2C vs. B2B SaaS Growth: Orders, Subscriptions, and Retention

Two dashboards can both say “retention” while describing entirely different businesses. A D2C chart may count people who chose to buy again; a B2B SaaS chart may track how much recurring revenue survived churn and how expansion changed the base. Comparing those percentages before aligning the customer unit, cohort, clock, and revenue boundary produces a tidy number with no reliable decision behind it.

D2C versus SaaS growth: two equal shopping carts holding coins and an open laptop side by side, unmarked price tag, monitor showing abstract chart, closed notebook, potted plant

“Retention” can describe three different measures

For a transaction-led D2C business, the first question is often whether a customer returned for another purchase:

Repeat customer rate = customers who purchased more than once ÷ total customers × 100

Shopify provides this basic formula. Its numerator counts people who purchased more than once; it does not count orders or revenue. To make the result operational, place customers into first-purchase cohorts and give each cohort the same observation window. Otherwise an older customer has had more time to repeat than a newer one.

A SaaS team needs at least two different views. Logo retention asks how many accounts from the starting cohort remain. Gross revenue retention (GRR) follows starting recurring revenue after churn and contraction but before expansion. Net revenue retention (NRR) includes expansion from those same starting customers:

GRR = (starting recurring revenue − churned recurring revenue − contraction) ÷ starting recurring revenue × 100
NRR = (starting recurring revenue − churned recurring revenue − contraction + expansion) ÷ starting recurring revenue × 100

Stripe’s retention formulas keep revenue from new customers outside both measures. Because GRR excludes expansion, it cannot exceed 100%. NRR can exceed 100% when expansion within the retained cohort outweighs churn and contraction.

Consider an illustrative comparison, not real company data. If 30 people from a cohort of 100 first-time buyers order again within the declared window, the repeat customer rate is 30 ÷ 100 = 30%. If a SaaS cohort starts with a recurring-revenue index of 100, loses 5 points to churn and 3 to contraction, then gains 8 through expansion, GRR is (100 − 5 − 3) ÷ 100 = 92% and NRR is (100 − 5 − 3 + 8) ÷ 100 = 100%.

Those percentages are not a league table. The D2C result says that 30 of 100 people transacted again. The SaaS GRR says the starting revenue base retained 92 of 100 indexed points before expansion. The SaaS NRR says expansion restored the revenue index to its starting level even though gross loss occurred. A D2C repeat customer rate and SaaS NRR can both be called “retention” while counting different units, events, and economic behavior.

Compare growth models only after the unit, cohort, clock, retention event, and revenue boundary match.

Revenue continues through repurchase or an ongoing service

This matrix classifies how revenue continues: through a new purchase decision or a continuing service relationship; it does not classify physical products against software or one-time payments against monthly billing.

Decision dimensionD2C transaction motionB2B SaaS motionImportant exception
Commercial unitA consumer, order, and product mixA business account, contract, workspace, or another defined logoSeats and end users are not automatically customer logos
Initial revenue eventA completed orderA paid subscription, contracted service, or metered useA free signup is evidence of interest or use, not recurring revenue
Continuing valueThe customer chooses to place another economically sound orderThe account continues paying while receiving the serviceA D2C replenishment subscription creates a recurring sub-ledger
ExpansionMore frequent orders, additional items, or a different product mixMore seats, usage, products, or a higher tierPrice increases need to be separated from behavioral expansion
LossNo repeat order within a defined window, plus returns or refunds that reverse valueCancellation, nonrenewal, downgrade, or reduced usageSilence is easier to classify in a contract than in irregular purchasing
Operating obligationProduct availability, merchandising, payment, delivery, support, and returnsAvailability, security, product operation, support, billing, and continuing adoptionBoth can contain services and physical or digital components

AWS describes SaaS as vendor-hosted software accessed on demand, often priced by subscription or pay-as-you-use. The provider continues to operate the service after conversion. Stripe’s recurring-revenue guide separates the corresponding movements in MRR or ARR into new, expansion, contraction, and churn components.

Not every SaaS contract is a fixed monthly charge. Usage-based, tiered, hybrid, and negotiated structures can alter the bill. The durable feature is that the provider keeps delivering and operating software while the customer maintains a commercial relationship. Implementation and other one-time services can sit beside that relationship without becoming recurring revenue.

In a transaction-led D2C motion, a completed first order closes the transaction. Unless a subscription or another active commitment exists, the next order must be earned at a later need state. A predicted reorder interval is still a forecast, not contracted recurring revenue.

The Consumer DTC and Shopify Help Center guides show that the practical contrast is discrete repurchase versus a continuing service relationship, not “physical product versus software” or “one-time payment versus monthly fee.” D2C can include subscriptions, and SaaS can include usage-based and nonrecurring charges, as Amazon Web Services, Stripe MRR, and Essential SaaS also document.

D2C tells you the route, not the clock

Only now does the category definition resolve the right ambiguity. D2C and DTC are interchangeable abbreviations for direct-to-consumer. Shopify’s model definition describes a brand selling its own products through direct channels instead of depending on wholesale or third-party retail. The direct relationship gives the brand more control over the offer and customer experience while leaving it responsible for inventory, fulfillment, service, and returns.

D2C is one part of the broader B2C category. B2C covers businesses selling to individual consumers through direct or intermediary channels. D2C identifies the route from the brand to the end customer. That route can be hybrid: a brand’s site and physical stores may be direct while marketplaces, retailers, and wholesalers remain indirect.

Nor is D2C synonymous with ecommerce. The OECD’s statistical definition classifies ecommerce by whether an order is placed over a computer network using a method designed for ordering. D2C classifies the seller-customer relationship. A brand-operated physical store can be direct without being ecommerce, while a marketplace order can be ecommerce without being the brand’s direct channel.

Subscription is another separate dimension. Some D2C brands offer recurring product subscriptions; others earn one order at a time, and one business can do both. The subscription changes purchase and billing cadence, not whether the route is direct.

D2C or DTC identifies a brand’s direct route to an end consumer, B2C is the wider buyer category, and ecommerce is classified by the digital ordering method. Shopify and OECD state that none of those definitions requires subscription billing.

The labels can now be used precisely: D2C says who controls the route to the consumer; ecommerce says how the order is placed; subscription says how purchasing recurs; B2B SaaS says software is being delivered as a service to a business customer.

A cohort contract makes unlike metrics comparable

The cohort contract makes the settings hidden inside an analytics tool visible beside the chart; it defines one metric, not the business model or a benchmark.

Contract fieldD2C questionB2B SaaS question
IdentityWhat joins guest, email, store, and subscription purchases into one customer without double counting?Is the logo a legal entity, billing account, workspace, parent account, or product instance?
Entry eventWhich completed first order admits a customer, and how are cancellations or test orders handled?Which paid start, contract effective date, or production activation admits an account?
Observation clockIs repurchase measured at 30, 90, 180, or another product-relevant number of days after first order?Is retention measured monthly, quarterly, annually, or at the contractual renewal boundary?
Retained eventDoes any second completed order count, or must it survive cancellation, refund, and return?Does an account need to remain contracted, paying, active, or all three?
Revenue boundaryAre taxes, shipping, discounts, refunds, subscriptions, and marketplace sales included consistently?Which recurring charges enter MRR or ARR, and which services or usage charges remain separate?
Expansion ruleIs value growth another order, more items, higher net sales, or greater contribution?Is expansion caused by seats, usage, add-ons, tier movement, or price?
Cost policyWhich fulfillment, payment, return, service, and acquisition costs enter the decision view?Which hosting, support, implementation, success, and acquisition costs enter the decision view?

Shopify’s customer cohort report groups customers by first-order period and follows activity across comparable intervals. The report can show retention, sales, average order value, channel, and one-time versus subscription purchases, with configurable definitions, metrics, intervals, and filters. That flexibility also means two charts bearing the same label can represent different populations.

For SaaS, begin with the customers and recurring revenue present at the start of the period. Keep newly acquired customers in the acquisition bridge rather than adding them to GRR or NRR. Read account count beside revenue: a large downgrade can reduce revenue retention without losing a logo, while several small cancellations may change logo retention more than revenue retention.

Commerce cohort outputs change with first-order filters, intervals, and selected metrics. Shopify documents that SaaS logo, gross revenue, and net revenue retention likewise differ because they count accounts or revenue and treat expansion differently.

Growth bridges explain what changed

The bridges trace how each model acquires, converts, retains, and expands value; they do not make the evidence beneath those shared verbs interchangeable.

The D2C growth bridge

In D2C, acquisition brings in an eligible consumer at a stated cost. Conversion is a completed first order that survives cancellation and return. Retention requires another completed order within a product-relevant window. Expansion may come from more frequent orders, additional products, or greater contribution per order. Cost recovery must be read from realized cohort contribution rather than gross order value alone.

Keep the supporting views separate:

  • First-order conversion shows whether the direct selling surface turns eligible demand into orders.
  • First-order contribution shows whether the order creates value after the costs triggered by it.
  • Fixed-horizon repeat customer rate shows whether an acquisition cohort returns.
  • Orders and contribution per acquired customer show how much repeat activity is worth.
  • Return and refund behavior show how much recorded order value survives.

A repeat rate can rise while later orders become discount-heavy or expensive to fulfill. Average order value can rise through a product mix with weak contribution or greater return exposure. A durable growth claim therefore needs behavior and economics from the same cohort.

The B2B SaaS growth bridge

In SaaS, acquisition brings in a paying account through the applicable self-serve or sales-assisted path. Activation requires an observable product-value event rather than a signature or login alone. Retention follows both the account and its recurring revenue. Expansion comes from additional paid value within existing customers through seats, usage, products, or tiers. Cost recovery depends on the contribution realized while the cohort remains.

Stripe’s SaaS metric map keeps acquisition, engagement, retention, recurring-revenue growth, and economics distinct. That prevents a rise in leads, users, ARR, or NRR from being presented as proof that the entire system improved.

ARR can increase while GRR weakens when new business or expansion outpaces loss. NRR can remain at 100% while logo retention falls when expansion among survivors replaces revenue from churned accounts. These results are not contradictory; they answer different questions.

Recurring revenue can move through new business, expansion, contraction, and churn. Stripe indicates that NRR includes expansion from existing customers, while GRR excludes it and account retention counts logos rather than revenue.

Growth volume does not identify the constraint

A rising D2C order count may come from more first-time buyers even when comparable cohorts do not improve their repeat behavior. It may also reflect deeper discounts, unequal observation windows, or a reporting mix weighted toward older cohorts. Separate new from returning customers, compare cohorts at the same age, and read orders per customer, net sales, and contribution before calling the growth durable.

A rising SaaS recurring-revenue total can also coexist with weaker customer economics. New ARR may cover churn, and expansion in a small set of accounts may support NRR while logo or gross revenue retention falls. Annual prepayment changes cash timing without proving product adoption or the next renewal. Reconcile new, churn, contraction, and expansion to the same opening and closing recurring-revenue base.

These questions locate the moving component in either model; they are not another metric contract:

  • Is growth coming from new customers, existing customers, or a definition change?
  • Did the retained population have equal time and opportunity to produce the event?
  • Did price or mix move the number without changing customer behavior?
  • Does recorded revenue survive refunds, credits, contraction, and direct delivery cost?
  • Is value broadly distributed, or is one segment carrying the aggregate?

The answers point to the constraint. Healthy first-order contribution with weak second-order behavior directs a D2C team toward product fit, reorder timing, post-purchase experience, and the next offer before it buys more of the same acquisition. Strong SaaS acquisition with weak activation directs attention to realized product value before renewal discounts conceal the issue. These are hypotheses for cohort testing, not universal prescriptions.

Benchmarks are valid only when metric contracts match

A useful benchmark needs a numerator, denominator, cohort, interval, eligibility rule, price structure, and segment that match the metric being judged. D2C repeat behavior varies with replenishment or replacement cycle, product mix, channel, and observation window. Products bought frequently and durable products do not give customers the same chance to reorder within one fixed period.

SaaS retention varies with account size, average revenue per account, billing cadence, subscriber count, and business segment. ChartMogul’s retention research reports several of those cuts instead of one context-free figure. Its vendor-observed SaaS population is neither a D2C comparison set nor a target for every software company.

When an external contract does not match, mature internal cohorts are the stronger primary comparison: the same product family, channel, segment, acquisition definition, and cohort age. Two measures do not become comparable merely because both are percentages.

Shopify and Stripe’s NRR guide explain that because commerce and SaaS retention outputs vary with cohort configuration, unit, revenue treatment, segment, and cadence, no single percentage is a defensible cross-model retention target, as ChartMogul’s New Normal report also documents.

Hybrid models need more than one ledger

A D2C brand may combine one-time orders with replenishment subscriptions. A SaaS company may combine recurring access, metered usage, implementation, and other nonrecurring services. A brand may sell both direct and through retail or wholesale. Folding those motions into one growth rate removes the information needed for diagnosis.

This table keeps one ledger for each motion and reconciles them only at the customer and finance layers; it does not blend them into one retention rate.

Hybrid surfacePrimary ledgerCompanion view
One-time D2C ordersOrders, returns, net sales, and contribution by first-purchase cohortRepeat customers, purchase interval, products per customer, and channel
D2C replenishment subscriptionActive subscribers, recurring order success, skips, pauses, cancellation, and subscription cohort valueInventory, fulfillment, returns, and one-time add-on orders
B2B SaaS subscriptionLogos, MRR or ARR, activation, GRR, NRR, and gross contributionSeats, usage, product adoption, support, and concentration
SaaS usage or servicesMetered or nonrecurring revenue under its own recognition ruleRelationship to the recurring account without treating it automatically as ARR
Direct plus retail distributionDirect-channel customer and order economicsPartner sell-in or sell-through under separately defined channel data

The ledgers may share a customer identity where evidence supports the match, but their events remain distinct. A D2C subscriber shipment is a subscription event and a physical order exposed to fulfillment and returns. A SaaS implementation fee belongs to the customer relationship without automatically becoming recurring revenue. The distinctions are what make the combined view explainable.

Seven questions make the monthly review auditable

The seven questions audit one reporting period before the team approves more acquisition spend or declares a retention gain; they are not another cohort definition:

  1. What is the unit? — Name the consumer, account, order, subscription, contract, seat, user, and revenue unit that each metric counts.
  2. What admitted the cohort? — Use a completed first order, paid start, contract event, or another inspectable rule.
  3. Has every cohort had equal time? — Compare customers at the same age, not a new cohort with one month of opportunity against an old cohort with a year.
  4. What proves retention? — Specify the second completed order, active paid account, renewal, recurring-revenue balance, or product-value event.
  5. Where is expansion? — Keep it visible and separate so it does not hide gross loss.
  6. What value survived? — Reconcile cancellations, returns, refunds, contraction, credits, and the consistently defined direct costs.
  7. Which lever changes next? — Choose the largest evidenced constraint—acquisition, conversion, activation, retention, expansion, price, or cost—and name the result that would falsify the intervention.

Together, the questions hold both models to the same evidence standard without forcing D2C to imitate SaaS or SaaS to imitate retail.

The commercial relationship determines the clock

D2C growth becomes durable when enough acquired consumers return for another contribution-positive transaction. B2B SaaS growth becomes durable when accounts keep receiving value, recurring revenue survives churn and contraction, and useful expansion adds to the retained base. Neither model is inherently easier, more durable, or more profitable. In either one, acquisition volume can hide weak cohorts.

Use the D2C transaction clock when every new order must be earned. Use the SaaS recurring-revenue clock when an account relationship persists and changes through renewal, contraction, and expansion. When both are true, keep both ledgers and reconcile them—never average away the difference.

Frequently asked questions

How should customer acquisition cost be compared between D2C and B2B SaaS?

The basic calculation can be the same—sales and marketing cost divided by newly acquired customers—but the acquisition event and recovery clock must differ. Shopify’s ecommerce CAC formula uses first-time customers and warns against counting ad spend while omitting creative, agency, software, or other acquisition costs. For D2C, compare CAC with realized contribution from the same first-purchase cohort after returns; for SaaS, compare it with recurring gross contribution from the acquired account cohort over time, keeping implementation revenue and new-logo definitions explicit.

How should returns and refunds affect D2C repeat customer rate?

Choose the retained event before calculating the rate: if the business means an economically completed repeat purchase, an order later fully refunded or cancelled should not remain in the numerator. Use an initial operational view and a restated view after the return window when waiting would make the metric too late to manage, and show the restatement amount beside the cohort. The Shopify customer cohort documentation allows definitions, intervals, and metrics to vary, which is why the report must state whether “repeat” means order placed, paid, fulfilled, or retained after returns.

How should guest checkouts and duplicate customer profiles be handled in a D2C cohort?

Resolve identity before assigning first-purchase cohorts, using a stable customer key and a documented rule for verified email, account, or other permitted identifiers; keep unmatched guests separate rather than assuming two similar records are one person. Shopify’s customer-management documentation can merge duplicate profiles and combine orders, but the merge is irreversible and unavailable for some profiles, including certain subscription or B2B states. Preserve a merge log and restate historical cohort counts after an approved merge so retention does not improve merely because one customer’s purchases were split across profiles.

One person. A whole marketing team.

Invite only