Promo economics audit — price the offer before you ship it
Four weeks to find out what your promos, bonuses, streaks and loyalty tiers actually cost, what they cost in a bad month, and where to put the caps. You keep the model.
Most promo budgets are a guess with a spreadsheet around it
Not because the teams are careless. Because a promo is a contingent payout, and contingent payouts do not have a single number. They have a distribution, and nobody was asked to produce one.
Want the reasoning before the engagement?
The pillar guide covers what financial engineering is and how its three pillars price each mechanic, with sixteen worked models and the Python behind them.
Five stages over four weeks
Week 1
Instrument
Find out what actually happened
- ✓Pull redemption, payout and cohort data for every live and recent offer
- ✓Separate incremental buyers from the ones who would have converted anyway
- ✓Establish the baseline conversion each promo is measured against
- ✓Flag the offers where the data cannot answer the question yet
Output: Offer inventory with realised cost per offer and a list of measurement gaps
Week 1–2
Model
Price each mechanic as the instrument it is
- ✓Expected value and breakeven conversion for every discount and promo
- ✓Wagering and completion modelling for bonuses with turnover conditions
- ✓Survival-curve redemption and present-value liability for points and cashback
- ✓Threshold and hazard-rate models for tiers, streaks and leaderboards
Output: One Python model per mechanic, parameterised to your numbers
Week 2
Simulate
See the tail before it arrives
- ✓Monte Carlo the payout distribution, not just the point estimate
- ✓Report P50, P90, P95 and P99 payout so reserves are sized against the tail
- ✓Stress the assumptions that matter most and rank them by sensitivity
- ✓Identify which offers are one bad cohort away from a loss
Output: Payout distribution per campaign, with the reserve number to budget against
Week 3
Cap
Decide the limits while it is still cheap
- ✓Per-user and per-campaign exposure caps derived from the distribution
- ✓Kill-switch thresholds sized to a defined false-trigger rate
- ✓Abuse and bonus-hunting detection rules based on payout outliers
- ✓Revised offer terms where the model says the current ones cannot work
Output: Written risk limits, trigger thresholds, and revised terms where needed
Week 3–4
Hand over
You keep the model, not a slide deck
- ✓Working session with whoever will own the model after I leave
- ✓Documented assumptions, so a wrong number can be found and changed
- ✓Rerun instructions for the next campaign cycle
- ✓Optional: wire the caps and triggers into the campaign system itself
Output: Full model handover, documented and rerunnable by your team
Deliverables
Everything runs in Python with NumPy and the standard library. No licence, no vendor, no dependency on me after handover.
Who this is for
Good fit
- ✓You run promos, bonuses or a rewards currency at meaningful volume
- ✓Someone has asked what a campaign actually cost and the answer took a week
- ✓You are about to launch a loyalty tier or gamification mechanic
- ✓Your finance team and your growth team disagree about promo cost
- ✓You suspect a specific offer is losing money but cannot prove it
Not a fit
- ×You want a dashboard rather than a model
- ×Nobody on the team can supply campaign-level payout data
- ×The offer terms are fixed and cannot change whatever the model says
Find out what your offers cost
Four weeks, fixed scope. Bring one live offer to the first call and we can price it on the call, before anything is signed.
External Resources
Methods and references behind this service
Investopedia — Financial Engineering
Reference on the field, its three pillars, and its primary applications
Investopedia — Value at Risk
The risk measure used to size promo reserves and kill-switch thresholds
NumPy documentation
The only dependency the delivered models need beyond the standard library
QuantLib
Open-source quantitative finance library, reference for pricing model structure
CFA Institute — Refresher Readings
Curriculum material on derivatives valuation and risk measurement
Federal Reserve FRED
Free economic time series used for discount rates in liability models
The models behind this service
Marketing Mix Modeling on a Small Budget
Attribution divides credit for clicks it saw. MMM estimates what would have happened without the spend. Here is the smallest working version in runnable Python, plus the point where a geo holdout beats it.
Read →Streak mechanics for B2B retention: where the reward goes
Cost per saved account falls every single month, so the cheapest save is always the latest one. Under a fixed budget the month that saves the most accounts sits in the middle: month 4 in the worked model below.
Read →Fintech Thought Leadership That Passes Compliance
Fintech thought leadership stalls in compliance review because it is written as opinion. Rewrite the claims as arithmetic a reviewer can recompute, and review stops being a fight.
Read →