The launch that took credit for the season
Structural time-series decomposition and changepoint detection separate what your launch actually did from what the calendar was going to do anyway.

The launch bump that was really seasonality
"The redesign is working." The founder said it in the all-hands, with the chart behind him: signups up 22 percent in the six weeks since the new onboarding shipped. The growth team got the win, the roadmap got three more redesign bets, and the paid budget got shifted toward the flow that was "converting."
Signups were up 22 percent. The redesign shipped in early September. So does the entire B2B buying season.
Nobody in the room was being dishonest. The chart was real, the lift was real, and the story connecting them was invented on the spot, the way stories always are when a number moves right after something you did. Last year's September, in the same dashboard, was up 19 percent over August with no redesign at all. Nobody pulled last year's September, because nobody asks for evidence against good news.
A metric that moves after your launch is an anecdote. A metric that moves against its own forecast is a result.
Every time series has a shape before you touch it
Business time series are not flat lines waiting for your interventions. They have trend, weekly rhythm, seasonal swells, holiday craters, and the occasional step change from something boring like a pricing-page crawl-rate fix. Your launch lands on top of all of it. Judging a launch by "before vs after" means crediting yourself with whatever the underlying shape was about to do anyway.
The dangerous month is the one where the calendar helps you. September flatters onboarding changes. January flatters fitness apps and B2B tooling alike. The week after a price increase flatters nothing, and that launch gets unfairly buried. Either way the decision that follows is misallocated: budget doubling down on a bump the calendar produced, or a genuinely good change rolled back because it shipped into a seasonal trough.
Subtract the forecast, then judge the launch
The method is decomposition, and it is standard practice in any serious data function. A structural time-series model splits the metric's history into components: the long-run trend, the day-of-week cycle, the annual seasonal curve, holiday effects, each estimated from years of the company's own data. What remains after subtracting all of that is the residual, the part of the series your known structure cannot explain.
The launch question then becomes precise. Not "did signups go up," but "did the residual shift when the launch shipped, by more than its normal noise." Changepoint detection answers that formally: it locates the dates where the series' underlying behavior actually changed and puts an uncertainty band around each one. If your launch date does not show up as a changepoint, the calendar owns the move, not the redesign. We built exactly this readout for our own funnel after one September fooled us, and the redesign it dethroned had been "working" in three consecutive board decks.
The counterfactual framing matters more than the specific model. Prophet-style decomposition, BSTS, state-space models: any of them beats eyeballing, because each produces the number the room never has, which is what this metric was expected to do this month with no launch at all. Against that baseline, a 22 percent September bump can decompose into 17 points of season, 3 of trend, and 2 of maybe.
(The residual is also where the bodies are buried. One client's "flat" October was actually a strong launch canceling out a churn problem. The blended line showed nothing. The decomposition showed both.)
Why decomposition is not a spreadsheet exercise
None of this is a spreadsheet exercise. Seasonal curves need multiple years of history and shrink toward sanity when the history is short. Changepoints need uncertainty bands or every noisy Tuesday becomes a discovery. Holiday effects interact with weekly cycles, promotions contaminate the baseline, and a model fit carelessly will confidently attribute your Black Friday to whatever shipped that Wednesday. It is a statistician's afternoon and a founder's minefield, which is exactly why the honest version is rare and the all-hands version is everywhere.
The founder with the September chart eventually got a real answer: the redesign was worth about four points, not 22. Still positive, still worth keeping, no longer worth three more bets and a budget shift. The season went back to being the season.
TensorLabs builds this kind of attribution readout for founders who are tired of arguing with their own dashboards. If some launch in your history got credit you have quietly started to doubt, get in touch and describe it. We will tell you what a decomposition would ask of your data before you spend anything on the answer.
You might also like
Keep reading from the journal.
July 27, 2026MachineLearning
Stop ordering inventory to the average
Quantile demand forecasts combined with per-SKU margin economics pick the order point that ordering to the average forecast conceals.
July 27, 2026MachineLearning
Your bids are buying your cheapest customers
Censoring-aware predicted LTV points your bidding algorithm at customers worth acquiring, instead of at whichever signup event is cheapest to measure.
July 27, 2026Analytics
Your save offers go to customers who were staying anyway
Uplift modeling targets the customers your retention offer actually persuades, instead of spending the discount budget on accounts that were never leaving.