How should we calculate CRM ROI in MMM when most costs are fixed?

6 min read
Published Sep 24, 2026
Updated

The short answer

Calculate CRM ROI in MMM from incremental contribution after product and order costs, minus the full CRM program cost, divided by that program cost. Include fixed platform fees and relevant operating costs for the same period. Evaluate additional campaigns using only the costs and outcomes they change. If costs are missing, report contribution without an ROI ratio.

This article is part of Asked by Marketers, a series answering real questions from marketing leaders.

Sellforte's team holds more than 1,450 meetings each year with marketing leaders in Ecommerce and Retail about Marketing Mix Modeling and incrementality testing. Each week, we anonymize at least one question from those conversations and answer it in depth, based on what marketers are actually struggling with, not what keyword tools suggest. About the series →

Why marketers ask this

CRM can appear to generate substantial sales while its spend column shows very little, or nothing at all. The platform invoice may sit outside the media budget, and the team may pay the same fee whether it sends one campaign or several. A very high reported return then leaves marketers with a practical question: does CRM deserve more investment, or does the calculation leave out much of its cost?

Here, CRM means customer communications such as email, app push, and SMS. These activities can have different cost structures even when they share a platform. One channel's fixed subscription and another channel's delivery charges need explicit treatment before their returns can be compared.

What should go into the CRM ROI calculation in MMM?

Start with the additional sales CRM causes and the costs of running the program over the same period. A revenue figure attributed to email is not automatically an incremental sales estimate: some recipients would have purchased without the message.

Marketing Mix Modeling (MMM) can estimate CRM's contribution alongside paid media and other sales drivers. Check what the model was built and validated to measure. A CRM component included to help isolate paid media's effect may need further validation before it supports CRM investment decisions.

For a defined campaign, incrementality testing can compare eligible customers randomly assigned to receive the communication with a holdout group. Measure outcomes across both groups using the same sales definition and observation window. Establish which effect the evidence supports before calculating its return.

To assess the program after its operating costs, use this definition:

CRM program ROI = (Incremental contribution before CRM costs − Total CRM program cost) ÷ Total CRM program cost

Incremental contribution is the additional net sales left after product costs and variable order costs, such as fulfillment. Account for discounts and returns consistently, and avoid deducting an item again if it is already reflected in net sales or margin. If the campaign discounts purchases that would have happened anyway, include that lost margin in the contribution estimate. Sellforte's guide to setting overall media investment explains how these economics establish a return threshold.

Build the CRM cost total with finance. Include the relevant platform subscription, delivery charges, and the share of team, agency, or production costs used to run the program. Document what is included. A delivery-only report leaves out the fixed costs of running the program.

Label the metric clearly. Sellforte's ROI definitions distinguish sales returned per euro invested from margin returned per euro invested. The net ROI formula above also subtracts CRM cost from the numerator. These calculations produce different numbers, so agree on the formula before comparing CRM with paid media.

How should we allocate fixed CRM costs?

Allocate fixed costs to the period and activities they support, using a documented rule agreed with finance. Keep this allocation separate from the cost of changing campaign activity.

For example, an annual platform fee can be spread over the service period for monthly reporting. If the platform also supports service messages or other business functions, assign CRM marketing its relevant share. Usage or team time can provide a practical allocation basis where it reflects how the resource is used. Apply the same rule consistently and show the total being allocated.

Dividing that allocated fee by the number of messages creates an average cost per send. Under a flat contract, sending fewer messages does not necessarily reduce the invoice. A per-send allocation is useful for reporting, but it should not be treated as a variable cost in a budget scenario.

If you use a percentage of attributed sales as a spend proxy, label it clearly. It is an assumption, not an observed platform cost. Changing that percentage changes the reported return even if estimated incremental sales stay exactly the same. Replace it with actual costs when available; until then, keep proxy-based returns out of comparisons presented as actual program ROI.

If CRM cost data are missing or recorded as zero, show the estimated incremental sales contribution and mark ROI as unavailable. Division by zero does not produce a usable return measure. Explain whether the cost is unknown, excluded from the report, or genuinely unchanged for the decision being considered.

Which metric should guide an additional CRM campaign?

Compare the additional contribution the proposed campaign would generate with the additional costs it would create. Sellforte's explanation of marginal ROI makes the distinction between historical average performance and the return from the next increase in activity.

Within an existing subscription, an extra campaign may leave the platform fee unchanged. Include any extra delivery charges and production work it requires. Check whether the proposed volume would trigger a higher contract tier or require more staff capacity. A cost that is fixed for this month's decision can change when the team expands the program or renews the contract.

Estimate the extra campaign's effect relative to the current plan. The program's average return does not establish how much another message will add. If the change creates no additional financial cost, report its additional contribution in euros or dollars; an ROI ratio with a zero denominator still has no useful interpretation.

For a budget review, show both the full program result and the economics of the proposed change. Apply the same sales definition, margin treatment, and time horizon to the paid media alternatives being considered. The plan also needs enough team capacity and an audience available to contact.

How this looks in practice

Consider a hypothetical monthly CRM program. All figures below are illustrative. Assume MMM estimates €60,000 in incremental net sales, and finance confirms that 40% remains after product and variable order costs, before CRM costs. Assume the program does not change the margin on purchases that would have happened anyway. The platform allocation and team costs below cover this program for the same month.

ItemMonthly amount or calculation
Incremental net sales€60,000
Contribution before CRM costs€60,000 × 40% = €24,000
Allocated fixed platform cost€12,000
Allocated team and production costs€6,000
Variable delivery charges€1,000
Total CRM program cost€19,000
Contribution after CRM costs€24,000 − €19,000 = €5,000
CRM program ROI€5,000 ÷ €19,000 = 26.3%

Dividing incremental sales by delivery charges alone would produce 60.0 times. Using the full €19,000 cost gives a sales return of 3.16 times. Neither is the 26.3% net program ROI: they use sales in the numerator and different cost coverage.

Now assume an additional campaign would generate €5,000 in extra net sales at the same 40% contribution rate. It requires €500 in additional delivery and production costs, with no change to the platform fee or other program costs. The expected extra contribution after those costs is (€5,000 × 40%) − €500 = €1,500.

The monthly program earns €5,000 after its allocated CRM costs, and the proposed campaign would add a further €1,500 under these assumptions. If it triggers a higher platform fee or additional operating costs, include those before deciding. If the estimated campaign lift is uncertain, check whether the plausible range changes the decision.

Should service emails share the same CRM measurement?

Review messages by purpose and sending trigger before combining them. Purchase confirmations and promotional campaigns can have different relationships with sales, while a service message may also contain an offer. Our guide to separating email marketing from service messages in MMM explains how to assess these mixed cases.

How Sellforte helps

Sellforte combines MMM, incrementality testing, and attribution to help teams assess the additional sales their marketing generates. For CRM, that assessment includes clarifying the activity being measured and the cost basis used to interpret its return. Book a demo to discuss your measurement setup.

Authors

Lauri Potka

Lauri Potka is the Chief Operating Officer at Sellforte and has over 15 years of experience in Marketing Mix Modeling, marketing measurement, and media spend optimization. Before joining Sellforte, he worked as a management consultant at the Boston Consulting Group, advising some of the world's largest advertisers on data-driven marketing optimization. Follow Lauri on LinkedIn, where he is one of the leading voices in MMM and marketing measurement.