Skip to content
Academy
Marketing Academy · Field Work●Email & Lifecycle
CoreForecast· 45 minutes

Forecast the Trade-off: Zomato's SMS Frequency Cap vs Revenue

Zomato

Objective: Given a table of messages-per-month, revenue-per-message, and cumulative opt-out rate, forecast the send frequency that maximizes net revenue without breaching the lesson's 3.5% industry-average opt-out benchmark.

You're the CRM lead at Zomato modeling how many SMS sends per month the loyalty segment can absorb before opt-outs erode the list faster than incremental sends generate revenue.

Given send-frequency test data for 2, 4, 6, and 8 messages/month, calculate net revenue at each level (gross revenue minus projected list-value lost to opt-outs) and recommend a cap with the automated-flow-first reasoning the lesson argues for.

Before you start

What you'll need

Free path (everything below is enough to finish)

FreeModel net revenue and opt-out curves across frequency levels

Free, chart-building and formula-driven scenario comparison need nothing more

Paid upgrades (optional, faster/deeper)

Klaviyo Flows(optional)
FreemiumRun the actual automated cart/browse/post-purchase SMS triggers at scale

Automated triggers, the highest-revenue-per-recipient sends in this forecast, require flow automation to run reliably

No access? Send automated triggers manually to small test segments and log results in Sheets

The process

2 steps

Step 01 of 02

Capping frequency against opt-out risk

The lesson's Step 3 caps most ecommerce SMS programs at 4-6 messages/month, warning that beyond that ceiling opt-outs spike and reach degrades, citing a 3.5% industry-average opt-out benchmark from the lesson's Bushbalm example.

The test data shows opt-out rate holds near 1.2% through 4 sends/month, then jumps to 4.8% at 8 sends/month. Where does the curve break?

Google Sheets— Import frequency-test.csv, plot opt-out rate against sends/month.

Procedure

  1. Import frequency-test.csv with columns: sends/month, opt-out rate, revenue/message
  2. Plot opt-out rate against sends/month and locate where the curve bends upward sharply
  3. Mark any frequency level above the 3.5% opt-out benchmark as over the safe cap
Sample output
2 sends/mo: 0.6% opt-out
4 sends/mo: 1.2% opt-out
6 sends/mo: 2.9% opt-out
8 sends/mo: 4.8% opt-out  <- exceeds 3.5% benchmark

Healthy

The recommended frequency sits at or below the point where opt-out rate crosses the 3.5% benchmark.

Unhealthy

Recommending 8 sends/month because gross revenue is highest there, ignoring that opt-out rate has already broken the safe threshold.

What this means

Gross revenue per send is the wrong optimization target once opt-out rate compounds against future list value.

So what do I do about it?

SymptomActionEffort
The frequency recommendation is based on gross revenue aloneCross-check the recommended frequency against the 3.5% opt-out benchmark before finalizing30 min
YouYou can do this yourself, no engineering access required.

Step 02 of 02

Automated flows beat broadcasts on revenue per recipient

The lesson states automated flows (cart, browse, post-purchase) beat broadcast sends by 3 to 10x on revenue per recipient, so a frequency cap should be spent on automation first, broadcasts second.

Of your 4 allowed monthly sends, the current plan is 4 broadcasts and 0 automated flows. Does that match where the revenue actually comes from?

Google Sheets— Same sheet, add a revenue-per-recipient column split by send type.

Procedure

  1. Tag each historical send as 'broadcast' or 'automated flow'
  2. Compare average revenue/recipient for each tag
  3. Reallocate the monthly send budget to prioritize automated triggers before adding broadcast sends
Sample output
Broadcast avg: ₹8/recipient
Automated flow avg (cart/browse/post-purchase): ₹41/recipient (5.1x higher)
Recommendation: keep 2-3 automated triggers always-on, cap broadcasts at 1-2/month

Healthy

The monthly send budget is weighted toward automated triggers, with broadcasts filling the remaining cap.

Unhealthy

Spending the full frequency cap on broadcasts and treating automated flows as optional extras.

What this means

The cap isn't a budget to fill with broadcasts, it's a ceiling that automation should claim first.

So what do I do about it?

SymptomActionEffort
The send plan is 100% broadcast with no automated triggersMove cart, browse, and post-purchase triggers into the plan before adding any broadcast30 min
YouYou can do this yourself, no engineering access required.

Final deliverable

A frequency-vs-revenue model recommending a monthly send cap, with the send budget split between automated triggers and broadcasts, and a written justification citing the opt-out benchmark.

See a reference example
Sample output
Instacart, SMS frequency model (excerpt)

Recommended cap: 4 sends/month (1.2% opt-out, under the 3.5% benchmark)
Budget split: 3 automated triggers (cart, browse, post-purchase) + 1 broadcast/month
Projected net revenue: ₹1.94/recipient higher than the current 6-broadcast plan after accounting for opt-out list erosion

Success criteria

You're done when you can:

  • Frequency recommendation stays at or under the 3.5% opt-out benchmark
  • Model compares net revenue, not just gross revenue, across frequency levels
  • Send budget prioritizes automated triggers over broadcasts