Forecasting Marketing ROI with (un)Common Logic
Marketing budgets have a habit of arriving with two lines attached: a top line that reads growth, and a bottom line that reads accountability. The moment you accept both, you accept forecasting. Not the vague kind that decorates a board slide, but a working forecast you can run week by week, refine as data comes in, and use to make actual bets on channel mix, timing, creative, and spend. The difference between teams that hit plan and teams that scramble is rarely a better creative hunch. It is almost always a better forecast.
I have built, audited, and rebuilt forecasting systems for organizations as different as venture backed ecommerce shops and multinational B2B firms. The most reliable ones have something in common: they combine first principles with statistics, and they honor the messy edge cases that formats like MMM or last click models tend to sand down. Call it an uncommon logic, lowercase u, lowercased c, and always grounded in how money moves through your funnel. The firm (un)Common Logic gets the spirit right in their name. You want both the common logic that keeps you honest and the uncommon angles that reveal leverage.
What we really mean by ROI
ROI is a simple ratio that marketing teams complicate: profit generated divided by investment. If you cannot specify profit and you cannot state investment, the ratio is decoration. Agree early on the lens:
Define close to cash. For ecommerce, contribution margin after variable costs, payment fees, and fulfillment. For subscription, contribution over a payback window with churn considered. For B2B, pipeline value with expected close rates, then net revenue after discounts and service costs.
Define the investment fully loaded where possible. Media costs, platform fees, agency retainers, creative production, and the people headcount directly associated with running the program. If you cannot get to fully loaded, at least be consistent each quarter.
Everything that follows rests on those two choices. If you let them shift underfoot, your forecast will look better than reality exactly when optimism is most dangerous, often in Q4.
The spine of a forecast is not a model, it is a map
A working forecast starts with a map of how dollars travel through your business. I spend more time on this than anything else in the build. It needs to show, in simple causal steps, the path from marketing touch to dollars in the bank, and it needs to account for delay, leakage, and compounding.
For a direct to consumer brand, the map is usually: impression, click, session, add to cart, checkout, purchase, repeat purchase. The delay between impression and session is minutes, but the delay between first purchase and second can be months. For a B2B SaaS, the map is ad exposure, site visit, content engagement, form fill, MQL, SAL, SQL, closed won, activation, expansion. The lags are longer, the noise is louder, and multiple teams own the middle.
This is not a slide exercise. I expect to fill in numbers for each node: conversion rates, time lags, and costs. If you cannot get those from analytics, grab representative samples and annotate them by hand. For one client with opaque CRM data, we pulled 200 closed deals and reconstructed their paths in a spreadsheet. It was not pretty, but it clarified the lag structure that no dashboard had shown.

Where attribution fits, and where it breaks
Attribution is the marketing word most likely to derail a forecast. People argue about assigning credit, then ship a forecast that assumes the assignment is fact, not a guess. I prefer to split the problem into two questions: What is incremental, and what is attributable.
Incrementality asks whether a channel creates net new outcomes versus what would have happened anyway. You can test it with geo experiments, PSA ads, holdouts, or natural experiments like inventory outages. Attribution asks who gets credit on a given customer path. You can assign rules, use data driven models, or build custom algorithms. A forecast that relies only on attribution will swell with channels that harvest demand, like branded search, and starve channels that create demand, like upper funnel video.
A practical sequence: use incrementality to set priors on channel effectiveness, then use attribution within those bounds to distribute budget and find tactical wins. If your PSA test says prospecting display drives 5 to 8 percent lift in new sessions, your forecast should force CPA expectations and spend caps inside that lift range, even if last click numbers sing a happier tune.
The pieces of a forecasting engine
Once you have the map, build a modular engine that can be tuned. Most robust setups include at least four https://pastelink.net/r8wx0jyb parts.
A base forecast. This is the walk forward of what happens if marketing spend stays flat. It must include seasonality, known macro effects, pricing changes, and product launches. For retail clients, I back cast three years of weekly sales, fit a time series with holiday spikes and promotions, and then annotate the weeks where supply chain constrained sales. Models like TBATS or Prophet can help with the seasonal shape, but I prefer to layer judgment for outliers.
A channel response layer. Each channel gets a response curve that converts spend to incremental outcomes. Diminishing returns are real. Paid social rarely keeps the same CPA past certain frequency and audience saturation. Search campaigns cap out by available queries and auction dynamics. I often start with S curves for social and quadratic or logarithmic responses for search, then fit parameters using a mix of marketing mix modeling and controlled tests. If you cannot fit curves, start with ranges. For instance, prospecting social CPA may degrade by 20 to 40 percent once daily spend crosses a threshold of 1.5 times the trailing 30 day average.
A lag and decay layer. Not all effects are immediate. TV and online video drive delayed site traffic. Content marketing and PR compound slowly. This is where adstock concepts are useful. Define how long an impression continues to influence behavior and how quickly it decays. A typical digital video adstock half life might be 2 to 4 weeks, while paid search is close to immediate. Calibrate with correlation plots and event studies around heavy flights.
A conversion and value layer. After your channel brings traffic, the site or sales team converts it with a certain rate and value. This layer must reflect changes in CRO, pricing, promotions, and sales capacity. I once watched a team celebrate higher spend in lead gen while a parallel headcount freeze cut sales coverage by 25 percent. Pipeline ballooned, revenue did not. The forecast caught it because we made sales capacity a variable.
A short story about a forecast that saved a quarter
A consumer subscription brand I worked with relied on direct response social for 70 percent of new customers. Their CPA trend had been stable for six months. In week one of a quarter, they tripled creative volume and scaled spend 60 percent over two weeks. The in platform CPA looked acceptable, but the forecast flagged a risk: the response curve parameters predicted a 25 percent CPA rise at that level, and LTV for the new audience skewed 15 percent lower based on demographic data.
We ran a three week split by audience and creative theme, fed the new data into the engine, and adjusted. The curves were right. Actual CPA crept up 23 percent. The lower LTV showed up in cohort retention by day 30. We dialed back prospecting by 20 percent, pushed more into search and branded content partnerships for mid funnel support, and redirected creative into the themes with higher post click engagement. The team missed the original top line by 4 percent, but they hit payback targets and avoided what would have been a deeper hole in Q3. The only reason we could respond in time was a forecast that made the risks visible early.
Estimating the unglamorous constants
Forecasts fail when constants are wrong. The romantic parts of a model do not save you if costs, taxes, or payment terms are mis-specified. A paid social CPA of 40 dollars behaves very differently if your effective merchant fee is 3.2 percent instead of the 2.5 percent someone quoted last year. For B2B CAC, an assumed 70 percent show rate to demos that is actually 52 percent will tank your math faster than any modeling choice.
Do not outsource these to finance and hope for the best. Partner with them. Match your assumptions to the P&L definitions. Agree on payback windows by segment. If your board expects 6 months payback on blended CAC, but your channel managers optimize to 9 months on paid channels, your forecast is speaking a different language than your decision makers.
When you do not have much data
Early stage teams often think they cannot forecast because history is thin. You still can, you just need stronger priors and broader ranges. Start with external benchmarks to shape response curves. If your product is in a category with average paid social CAC near 60 to 100 dollars, set your prior at 80, give it a plus or minus 30 percent band, then move quickly to create your own empirical evidence: short holdouts, geo splits, or sequential budget steps.
One ecommerce founder I worked with felt stuck below 100 thousand dollars a month in spend. We built a simple forecast with three channels, set conservative priors, and ran a four week budget ramp test. The first ramp showed search saturated fast. The second showed social could scale but only with creative that hit a 1.1 percent click through rate or higher. We baked that creative threshold into the response curve, not because it is a physics law, but because it reflected the practical gating factor for their team. Spend doubled over the next quarter with CAC within the predicted band.
MMM, MTA, and the value of tempering either with judgment
You can build a forecast without a formal MMM or data driven attribution, but once your spend and channel count grow, they help. MMM aggregates channel effects over time and handles non digital channels gracefully. MTA tries to parse paths at the user level. The safest route I have found is to use MMM to set the outer boundaries by channel and to use MTA or rules based attribution to guide tactical execution inside those boundaries. The forecast lives between them.
If the MMM says paid search drives 25 to 30 percent of incremental revenue at current budgets, and your MTA shows a certain campaign cluster with stellar last click CPA, the forecast should ask whether that cluster is harvesting branded queries or true non brand intent. If branded, cap it near the MMM bound and argue for more brand creation upstream. If non brand and within saturation limits, push it higher and let the MMM re-estimate quarterly.
Seasonality and its troublemaking cousin, promotionality
Seasonality is not optional. It is the signature your market writes across your P&L each year. Retail peaks late November through December. Fitness spikes in January. Business software closes late in quarters. But many companies assign too much to seasonality and too little to promotionality, the pattern driven not by the calendar alone but by your own pricing, merchandising, and sales behavior.
Your forecast should separate the two. If last year’s May surge came from an aggressive 20 percent sitewide discount, your baseline for May this year without that discount is lower. Include a promotion variable that lifts conversion rate and average order value according to historical lift. Then ask a hard question: did that promotion pull demand forward or create net new? If the week after the sale saw a dip, account for that dip in your adstock settings. Without this, you will over attribute success to ads and underplay the distortion touches of your own levers.
Building a scenario cockpit leadership can live with
A forecast earns its keep when your CMO can ask, what happens if we shift 10 percent of budget from prospecting social to YouTube in August, and you produce a clear, credible answer with a range, a timeline, and the risks. The cockpit for this has three panels: spend, outcomes, health.
Spend shows channel budgets, expected saturation limits, and marginal ROI at the edge. Outcomes shows weekly or monthly revenue, contribution margin, CAC, and payback. Health shows the leading indicators that will warn you if the forecast is drifting: CTR, CVR, CPMs, search impression share, lead acceptance rate, sales coverage, and returns rate.
Tie each panel to your source of truth. For outcomes, I prefer finance validated revenue rather than ad platform conversions. For health, ad platform metrics are fine, but pick the few that map directly to your response curve assumptions. If your curve assumes CTR above 1 percent for prospecting to hold, highlight if you drop below 0.8 percent for more than three days.
Handling uncertainty without hand waving
A forecast that delivers one number is a hostage to variance. Real decisions tolerate ranges better than false precision. Two moves help.
First, propagate uncertainty. If your channel response curve has a confidence band, run the forecast at the lower and upper bounds. If seasonality has a spread, include it. Present results as a band with a median, not a point. A range of 4.2 to 4.9 million in contribution for the quarter is more honest than 4.6 million to the dollar.
Second, separate aleatory and epistemic uncertainty. Some variance is inherent randomness, like daily auction dynamics. Some comes from lack of knowledge, like not knowing the impact of a new creative concept. The first you size and accept. The second you reduce with tests. Tag the parts of your forecast that are epistemic and attach a test plan. If you plan to spend 500 thousand dollars behind a new influencer program, forecast with a wide band and schedule a measurement read at a small scale in the first month.
The ugly work of data hygiene
If your data is a mess, your forecast will look polished and still mislead. The messy parts usually include channel classification, de duplicated conversions, offline lift from online exposures, and order cancellations or returns that show up late. Stitching this together often requires manual audits. Do them.
At one retail client, the reported ROAS on a large display campaign looked healthy. A return rate spike showed up 45 days later for customers exposed to that campaign. We discovered a creative variant that drove discount seekers who churned after first purchase and returned a higher share of items. Without returns connected to campaign cohorts, the forecast had overestimated Q2 profit by 8 percent. We added returns by campaign cohort with lag, and that one fix changed multiple decisions.
A short checklist leaders can use to assess a forecast
Does the forecast define ROI on a contribution basis with a clear payback window that finance agrees with? Are channel response curves explicit, with diminishing returns and saturation limits, not linear guesses? Is incrementality measured or at least bounded with tests, not inferred only from attribution? Are lags, adstock, promotions, and returns modeled rather than elided? Does the presentation show ranges and specify which uncertainties can be reduced by testing?
The cash flow view that marketing teams forget
Revenue is not the same as cash. If your payment processor pays on a two day lag, your media vendors bill on 30 day terms, and your affiliates on 60, your cash exposure profile can help you time spend. In distressed quarters, this matters. I have seen teams pull forward high ROAS spend into the last week of the month to appear on track, only to tighten cash a week later when payouts land and vendor invoices converge.
Add a cash flow layer to your forecast that translates media spend and revenue into cash by week. If you are in B2B, do this with pipeline stages and expected close dates mapped to invoice timing. Share it with your CFO. It builds trust and forces discipline.
Beware of smooth curves in jagged markets
Response curves promise smooth control. Real markets add cliffs. Platform policy changes, signal loss from privacy shifts, and auction volatility can move CPAs 20 percent in a week. When iOS 14 privacy updates cut audience precision, entire paid social programs had to relearn. Your forecast should include contingency pathways. If CPMs jump beyond a trigger, specify reallocation rules. If a platform bans a creative theme you rely on, hold a set of backup concepts, ready to rotate, and reflect their historically lower performance in the model.
People and process, not just math
The strongest forecasting systems I have seen live inside a cadence. Weekly reviews that compare forecast to actuals, explain deltas, and adjust parameters when evidence warrants it. Monthly leadership sessions that use the cockpit to make spend decisions for the next month. Quarterly refits of MMM and revalidation of priors. The people who run this need both analytic chops and field sense. They should be close enough to creative and media buying to know when a trend is just fatigue and when it is a structural shift.
I am skeptical of forecasts built in isolation by a data team. They tend to be technically elegant and practically brittle. Bring in channel managers, CRO, sales leaders, and finance. The friction in those meetings improves the model more than any new technique.
A pragmatic build sequence for most teams
Map the funnel and quantify each stage with best available data, including lags and variable costs. Establish a base forecast with seasonality and promotions. Define channel response curves with priors and bands informed by tests or benchmarks. Add lag, adstock, returns, and sales capacity variables. Stand up a cockpit with scenarios, ranges, and health metrics, then start a weekly forecast-to-actual review.
This can be done in a month with a small cross functional team if you avoid perfectionism. Start in spreadsheets, then graduate to code once the logic stabilizes. Tools are a choice, not a prerequisite. I have built viable versions in Google Sheets and in Python with Stan for the curves. The point is not the tech, it is the reasoning.
Where (un)Common Logic earns its keep
Call the philosophy here (un)Common Logic. The common part is the discipline: define ROI in contribution terms, fit response curves, respect lags, run tests, and reconcile with finance. The uncommon part is the willingness to encode the quirks of your business that models usually ignore. If your warehouse capacity caps ship speed in peak weeks and that slows repeat purchase, put it in. If your sales team loses 12 percent of productivity when demos are booked on Fridays, reflect that in the lag to opportunity. If your market is sensitive to weather, do not wish it away. Bring in day level weather indices for the regions that matter.
A forecast that contains those realities will look idiosyncratic. Good. Your company is idiosyncratic. The moment your forecast looks like a textbook, it is probably lying to you somewhere important.
Edge cases that deserve respect
Two edge cases I would not ignore.
First, brand campaigns that pay off outside the quarter. CFOs frown at lines that say long term. Fair enough. But if you eliminate brand entirely, you often see paid search and direct traffic weaken over the next 60 to 120 days. Measure this with geo splits where you can, or at least with market level regressions that connect brand spend to branded search queries and direct sessions over time. Then build a small annuity model, conservative by design, that credits brand with a share of future lift. Tie that credit to a cap based on historical evidence. It will not satisfy every debate, but it is better than zero.
Second, product changes that change marketing math. A free shipping threshold tweak can drop average order value, which ripples into allowable CPA. A trial to paid conversion change from 20 to 16 percent can appear minor at the product level and wreck CAC payback. Your forecast must ingest product roadmap items and simulate their effects. If you cannot get precise estimates, run sensitivity cases and mark the risk.
What good looks like when it is working
You know your forecasting system is healthy when channel managers start to anticipate it. They speak in marginal ROI, not total ROAS. They phrase requests as swaps within a budget, with expected impact ranges. Finance opts in to weekly or biweekly reads instead of quarterly postmortems. Creative briefs tie to the thresholds your response curves reveal, like CTR or view through rate goals that unlock lower CPAs. Leadership trusts the ranges because, over a quarter or two, the forecast bands catch most of the variance and the deltas are explained without theatrics.
The hard part is not reaching that state once. It is holding it. People churn, platforms shift, and new products stretch the map. The uncommon logic is the habit of rebuilding the simple pieces quickly, attaching evidence where you can, and carrying forward only the assumptions that survive contact with new data.
Marketing teams will always face pressure to promise more for less. A strong forecast is not a shield against that pressure. It is a way to turn it into choices. You can buy more growth if you are willing to accept lower margins this month. You can hit margins if you slow top line and invest in brand to prepare for next quarter. You can reallocate from a saturated channel to an underinvested one and accept the test cost. None of these are comfortable. All of them are, at least, honest.
That is the job, and it is worth doing with care.