Pricing & Staffing Models Explained: What Enterprise Retention Really Costs
Share
Why retention pricing is different (and why it should be)
Retention is not a banner ad. It’s pipes, switches, rescue valves, and gauges. The wrong budget conversation treats it like a creative line — “how many emails do we get?” The right one treats it like operations — “how do we keep placement healthy, prevent churn, and move RPR and second-purchase rate without bribing our list?” Operations have setup costs, guardrails, and maintenance. If your model ignores those, your “savings” will turn into complaint spikes, spam placement, stalled experiments, and pilots that die after launch week.
This guide is intentionally unromantic: we will translate output promises into hours and risk, show the hidden costs that create real outcomes, and give you scripts and clauses that keep projects from eating your calendar and margin. You will leave with a budget you can defend to finance and a staffing plan your ops team can live with.
Four pricing models enterprises actually use
Every modern retention engagement resolves into one of four shapes. Pick the one that matches your risk, speed, and governance needs — then price honestly.
1) Retainer (outputs with guardrails)
A fixed monthly fee covering a defined set of outputs across strategy, production, QA, and analytics. Retainers work when scope is steady, governance is good, and both sides agree to change-order discipline.
- Pros: predictable cost, straightforward procurement, easy to plan capacity
- Cons: scope creep risk, temptation to “ship volume” instead of outcomes, underfunded QA if not explicit
- Use when: you want predictable velocity and minimal admin overhead
2) Pod (dedicated cross-functional team)
A cross-functional team (strategist, producer, builders, deliverability/analyst) dedicated a set number of hours per week. Pods behave like an embedded team and are priced at an FTE-blended rate.
- Pros: faster iteration, fewer handoffs, flexible backlog handling
- Cons: higher monthly cost, requires mature backlog & roadmap, can idle if stakeholders stall
- Use when: you need speed, experiment volume, or cross-brand orchestration
3) Time & Materials (T&M)
Hours × rate. Transparent and flexible, but requires strong internal PMO and ruthless prioritization. Ideal for migrations, incident response, and one-off deliverability rescues.
- Pros: pay only for what you use, easy to expand or contract
- Cons: budget variability, temptation to “hour” work that needs outcomes
- Use when: you have internal leadership to direct the work, or the engagement is short and discrete
4) Outcome-based (milestones or KPI tranches)
Fees tied to milestones (e.g., “migration cutover achieved”) or KPI lift (e.g., “+X% holdout-adjusted RPR”). Powerful when baselines are clean and scopes are narrow; dangerous when data is messy or decision rights are unclear.
- Pros: aligned incentives, easy to justify to finance
- Cons: heavy upfront analytics, easily derailed by disputed baselines
- Use when: both sides can agree on measurement and the project has a crisp boundary
Reality check: most enterprise SOWs blend models: retainer or pod for the backbone, T&M for migrations/incidents, and a small outcome tranche for incentive-sensitive work (e.g., discount gating uplift tests).
Capacity math: convert outputs into hours/FTEs
Procurement loves nouns (“10 emails”). Operations pay the invoice in verbs: plan, brief, build, QA, schedule, analyze, fix. Map outputs to hours. It will save your bacon.
| Output | Tasks | Typical Hours | Risks/Notes |
|---|---|---|---|
| Lifecycle flow (3–6 emails) | Strategy, copy, design blocks, builds, dynamic logic, segmentation, QA, analytics | 20–40 | Multilingual/RTL adds 30–60%; data issues add rework |
| Campaign email (single send) | Brief, build, QA, schedule, post-send readout | 3–6 | Proof-first modules reduce rebuild time |
| SMS nudge | Copy, segmentation, quiet hours, QA, post-send | 1–2 | Consent and frequency caps matter; add snooze |
| Deliverability incident | Root cause, pause, segmentation cleanup, warm-down plan, seed/panel | 8–20 | Protect domain; freeze sends during fix |
| Migration cutover | Data mapping, warm-up, parallel, QA, go/no-go | 60–120 | Complexity swings hours by 2–3× |
Agency reference pricing (examples): Many reputable boutiques price T&M in the $125–$200/hr range, with per-email pricing between $400–$900 depending on complexity and multilingual needs. For transparency, our standard list rates are $150 per hour or $550 per email (retainer and pod discounts may apply). Use these as orientation; your SOW should be built from your hour map and risk.
Hidden costs everyone forgets (until finance asks)
- ESP/SMS platform fees: Braze MAUs, Klaviyo contact tiers, Attentive messaging + 10DLC brand/campaign fees, short codes, carrier surcharges.
- Seed/panel testing: inbox placement services for incident diagnosis and migration validation.
- Reverse ETL/warehouse: Hightouch/Census, Snowflake/BigQuery, dbt — small monthly fees that buy huge clarity.
- Translation ops: TMS seats (Lokalise/Phrase/Transifex), linguist hours, QA passes for RTL.
- Design system debt: image-only templates raise placement risk and QA hours. Fixing them pays for itself.
- Experiment traffic: uplift and holdouts need audience; budget the “cost of truth.”
- Compliance time: 10DLC filings, DPA/legal review, data flow diagrams for IT.
Migration & cutover budgets: zero-downtime realism
Assume a six-week arc for mid-complexity replatforms:
- Week 1–2: dedicated domain + DMARC; engagement-band warm-up; data mapping; seed/panel baselines.
- Week 3–4: parallel sends for critical flows; compare RPR/placement; complaint watch; fix event/identity mismatches.
- Week 5: go/no-go; cutover; rollback plan in writing.
- Week 6: stabilization; readout; backlog for improvements.
Budget range: 60–120 hours depending on data hygiene, multilingual needs, and number of brands/locales. Add seed/panel fees.
Deliverability costs: placement is a line item
Placement is your license to operate. Budget time each month for complaint monitoring by domain, list hygiene, engagement band enforcement, and template accessibility fixes. During incidents, budget emergency T&M hours and freeze sends.
- Dedicated domain + DMARC alignment and tracking CNAMEs
- Engagement bands (0–30/31–60/61–90); sunset suppression
- Complaint dashboard by domain (Gmail/Yahoo/Outlook)
- Template standards: real HTML text, alt text, AAA contrast (no image-only)
- Incident playbook with owners, timelines, seed/panel checks
Global & multilingual ops costs
“We’ll just duplicate flows per language” is how programs drown. The price you want is dynamic templates with language packs and a TMS flow, not manual copy/paste. Budget translation hours per cycle and extra QA passes for RTL.
- Language capture & preference storage;
langfield on profile - Template language packs/partials; translators edit keys, not logic
- RTL:
dir="rtl"containers, mirrored icons, font coverage, extra QA - Regional consent & quiet hours; localized legal
Experimentation & incrementality budgets
Holdouts and uplift aren’t “nice to have.” They are the cost of knowing. Budget experiment design, analytics time, and “traffic cost” (the audience you spare to know if something worked).
- Message-level holdouts (10–20%) for saves/recs; never “off for big weeks”
- Flow-level control (5–10%) when changing structure
- Uplift tests to gate incentives to persuadables
- Bandits for creative framing (proof vs. perk), graded by RPR and P2-rate
Simple calculators: retainer, pod, and T&M
Retainer estimator (pseudo-sheet)
# Inputs
flows_per_qtr = 4
campaigns_per_month = 12
sms_nudges_per_month = 8
migration_hours = 0
deliverability_hours = 12
analytics_hours = 10
qa_ratio = 0.25 # 25% of build time
# Build time assumptions (avg)
hours_per_flow = 28
hours_per_campaign = 4.5
hours_per_sms = 1.5
# Math
build_hours = flows_per_qtr/3 * hours_per_flow + campaigns_per_month * hours_per_campaign + sms_nudges_per_month * hours_per_sms
qa_hours = build_hours * qa_ratio
total_hours = build_hours + qa_hours + deliverability_hours + analytics_hours + migration_hours
# Pricing
rate = 150 # USD/hour
retainer = total_hours * rate
Pod estimator
1 Strategist (0.4 FTE), 1 Producer (0.5 FTE), 2 Builders (0.8 FTE combined), 1 Analyst/Deliverability (0.3 FTE) → blended ~2.0 FTE. If your internal “fully loaded” calc is $10–12k per FTE/month, expect pods at $20–24k/month (plus platform/seed costs). Adjust for multilingual/multi-brand complexity.
T&M budget
For discrete projects (e.g., migration, incident): hours × rate. Ensure a not-to-exceed (NTE) with a change-order clause.
SOW & SLA language that prevents overrun
Copy-ready clauses (trim or expand as needed):
QA & Send SLA
Agency shall provide a minimum QA window of [X] business hours prior to any scheduled send. QA includes device rendering,
link/UTM validation, segmentation/suppression checks, and accessibility (alt text, contrast). No template changes may occur
within [Y] minutes of send time. Client agrees to consolidate feedback through a single approver of record.
Deliverability Incident Response
If complaint rate exceeds [0.08%] at Gmail or seed/panel indicates material placement decline, Agency will pause promotional sends,
notify Client within [60] minutes, and initiate the deliverability playbook (root cause, segmentation cleanup, warm-down/up plan).
Holdouts remain active. A “no blame” post-mortem will be shared within [5] business days.
Persistent Holdouts
Agency will maintain 10–20% randomized holdouts on save/recommendation messages and a 5–10% flow-level control during structural changes.
Holdouts are never removed during peak periods. Weekly readouts include holdout-adjusted RPR, conversion, AOV, and second-purchase rate.
Change Freeze
During agreed risk windows (migrations, incidents, BFCM), a change freeze is in effect. Only pre-approved critical fixes will be deployed.
All other changes are queued for the next window. Exceptions require joint approval by Client’s lifecycle lead and Agency’s producer.
Three budget scenarios (with line-by-line assumptions)
Scenario A — “Stabilize & Prove” (lean retainer)
- Flows: rebuild post-purchase + second-purchase (2 flows/quarter)
- Campaigns: 8/month; SMS: 6/month
- Deliverability: 8 hours/month; Analytics: 8 hours/month
- Experimentation: 1 uplift test/quarter, holdouts on saves/recs
Hours: ~60–80/month → at $150/hr ≈ $9–12k + platform/seed costs
Good for: one brand, one region, modest calendar, team learning the discipline
Scenario B — “Scale Velocity” (pod)
- Flows: rebuild/optimize core spine; add winback/replenish variants
- Campaigns: 12–16/month; SMS: 8–12/month
- Deliverability: 12–16 hours/month; Analytics/experimentation: 12–16 hours/month
- Multilingual: 2–3 languages; TMS and extra QA
Team: ~2.0 FTE blended → $20–24k/month + platform/seed/TMS costs
Good for: multi-brand or multilingual orgs that need faster cycles
Scenario C — “Replatform & Globalize” (hybrid)
- Migration T&M: 80–140 hours one-time + seed/panel
- Pod or retainer for BAU work during cutover
- Multilingual buildouts (language packs, RTL)
- Outcome tranche for agreed lift after stabilization
Budget: $15–25k one-time + BAU pod/retainer + platform/seed/TMS
Good for: enterprises switching ESP/SMS or consolidating regions
The 45-day pilot: prove value before big commitments
No committee ever fell in love with a deck. Pilots put proof on the table and limit downside. Structure yours like this:
- Scope: rebuild 2 flows (post-purchase, second-purchase), 1 deliverability fix (warm-up or remediation), 1 SMS nudge, holdouts on saves/recs
- Success: +X% holdout-adjusted RPR on pilot messages; +Y pts in 30-day second-purchase; complaints ≤0.08% at Gmail; discount reliance flat or down
- Kill switch: two strike conditions (missed SLAs twice, complaint spike) auto-pause the pilot
- Readouts: weekly 10-minute; month-end “what changed/learned/test next”
Pilot pricing: a fixed fee equivalent to ~40–60 hours ($6–9k) or a scaled pod for 6 weeks. Don’t hide it inside a giant retainer. Clarity wins.
Negotiation playbook: pay for plumbing, then paint
- Anchor to outcomes, not volume. “We buy +X% RPR and +Y pts second-purchase without higher complaints. Everything else is scope.”
- Make QA non-negotiable. If a vendor underprices QA, you’ll pay in placement incidents. Put QA hours in the SOW explicitly.
- Ask for a staffing chart by FTE equivalents. “Who actually does this work?” Names, roles, time allocation. Pooled black boxes are where projects go to die.
- Bundle governance, not freebies. Cut scope before you cut QA, deliverability, or analytics. A cheap SOW that breaks your domain is the most expensive thing you’ll buy.
- Use outcome tranches where clean. For discount gating uplift, fine — baseline is clear. For “fix everything,” don’t. You’ll litigate baselines all quarter.
- Insist on a kill switch. It protects both sides and focuses everyone on operational honesty.
FAQ
What’s a reasonable hourly or per-email price?
Boutiques often fall in the $125–$200/hr range; per-email $400–$900 based on complexity and languages. Our list rates are $150/hr and $550/email. Translate promises into hours and QA time, then decide which model fits your risk.
How much should we allocate to deliverability each month?
Plan 8–16 hours for monitoring, hygiene, and template accessibility — more during migrations or incidents. Put a freeze clause in your SOW for risk windows.
Can we run outcome-based for the whole program?
It’s risky. Save outcomes for narrow, measurable work (discount uplift gating). Use retainer/pod for BAU and T&M for unexpected work.
Do we need a CDP for pricing this?
No. A warehouse + dbt + reverse ETL is frequently enough until you have a mature data team and clear CDP use cases.
How do we price multilingual?
Use dynamic templates with language packs and a TMS. Budget linguist hours and extra QA per language (30–60% overhead for RTL). Avoid duplicating flows per language — it explodes maintenance.