ROB RUSH
Case studies
Interactive walkthrough

Synthetic data · deterministic

Marketing analytics

Baseline
Jan 1–14, 2025
Current
Jan 15–28, 2025
Scope
Paid search + paid social

Campaign & Conversion Analyst

Sessions rose 50% while qualified conversions fell 16.7%. The walkthrough splits the drop into volume, channel mix, and conversion rate, and lets you test your own assumptions.

AnalyticsData Science
Explore the scenario

Sessions

2,000→3,000

+50%

Baseline → current

Qualified conversions

60→50

-16.7%

Baseline → current

Conversion rate

3%→1.7%

-1.3 percentage points

Baseline → current

“Qualified conversions” counts sessions with at least one accepted synthetic submission, not unique people or sales-qualified leads.

What changed behind the total?

In the synthetic snapshot: Paid search: Traffic share fell from 50% to 33.3%. Conversion rate fell from 5% to 3%. Paid social: Traffic share rose from 50% to 66.7%. Conversion rate stayed at 1%.

Your assumptions

Change the inputs.
See the difference.

Adjust the current period; the baseline stays fixed. Results update in your browser.

Paid search
Paid social

Original scenario 50 qualified conversions from 3,000 sessions.

View updated breakdown ↓
Try a different scenario
How to read these assumptions

Conversions are rounded to whole sessions. Reported rates use those rounded counts, so they can differ slightly from the assumed rate. These are hypothetical possibilities, not forecasts, recommendations, or live AI.

01 / Explain the changeCalculated from the snapshot

More traffic. Fewer conversions.

Sessions rose from 2,000 to 3,000; qualified conversions fell from 60 to 50.

TotalIncreaseDecrease
Volume, then channel mix, then channel ratesBaseline: 60, reaching 60. Traffic volume: +30, reaching 90. Channel mix: -20, reaching 70. Channel rates: -20, reaching 50. Current: 50, reaching 50. Units: qualified conversions. Values are also in the table below.05010060Baseline+30Volume-20Mix-20Rates50Current
Qualified conversions · positive contributions in green, negative in rust. Contribution order affects the allocation; this is accounting, not causal impact.

Choose a step to see how it contributes to the result.

Select Baseline, Traffic volume, Channel mix, Channel rates, or Current above to inspect the calculation.

View contribution data
Ordered reconciliation of qualified conversions
StepContribution / totalRunning total
Baseline6060
Traffic volume+3090
Channel mix-2070
Channel rates-2050
Current5050
The interpretation

In this ordered comparison, traffic volume contributes +30, channel mix contributes -20, and within-channel rate changes contribute -20 qualified conversions. Together they reconcile the observed change of -10.

02 / Inspect the evidence

Which channel changed?

Rates are calculated from summed counts, never averaged across rows. All values below use the same records as the chart.

Paid search

Traffic share fell from 50% to 33.3%.

Conversion rate fell from 5% to 3%.

Paid social

Traffic share rose from 50% to 66.7%.

Conversion rate stayed at 1%.

Compare exact channel metrics
Channel performance · baseline → current
ChannelSessionsQualified conversionsConversion rate
Paid search1,000 → 1,00050 → 305% → 3%
Paid social1,000 → 2,00010 → 201% → 1%
All included channels2,000 → 3,00060 → 503% → 1.7%
Inspect the channel funnels

Each stage counts sessions reaching that stage in order. These constructed patterns suggest questions; they cannot establish why a visitor dropped out.

Ordered funnel counts · baseline → current
ChannelEntryEngagedForm startedSubmittedQualified
Paid search1,000 → 1,000700 → 680180 → 17080 → 6050 → 30
Paid social1,000 → 2,000450 → 90080 → 16020 → 4010 → 20
Inside the analysis

Follow the evidence.

A guided explanation of calculated results. No live AI calls or simulated model reasoning.

Walkthrough complete

  1. Validate the snapshot

    Both 14-day windows have every channel/date represented. Row keys, integer counts, and ordered funnel stages pass validation.

  2. Compare like-for-like periods

    2,000 → 3,000 sessions; 60 → 50 qualified conversions.

  3. Separate volume, mix, and rates

    Traffic volume: +30 · Channel mix: -20 · Channel rates: -20

  4. Frame the next investigation

    Inspect the observed funnel changes. A controlled experiment and trustworthy measurement are needed before claiming a cause.

03 / Next decision

Investigate before reallocating.

For a real campaign, first verify that submissions and acceptance rules were measured consistently. Then examine paid-search form completion and qualification. The synthetic page and device splits here cannot identify a real problem.

If the evidence supports a form change, test it against an unchanged control. Define qualified conversions per session as the primary metric, monitor submission quality, and set the sample requirement before running the test.

What this cannot tell us

A pattern is not a cause.

This fixture cannot prove an ad caused a conversion, identify real customer behavior, or establish an optimal budget. It has no spend, revenue, or independent tracking-receipt data.

Schema checks establish internal consistency—not that real-world tracking is accurate.

Data dictionary, provenance, and validation

Fixture traffic-1.0.0 contains 336 synthetic aggregate rows. Two complete 14-day windows use America/Los_Angeles calendar dates. The fictional page groups are Offer, Proof, and Guide; devices are desktop and mobile. No visitor identifiers or real business data are included.

Published period/channel totals are authored. A deterministic largest-remainder allocation distributes them across dates, pages, and devices while preserving exact totals and ordered funnel counts. Those finer patterns are constructed—not independent evidence about audiences.

The what-if controls keep the baseline fixed and model current qualified conversions as sessions × assumed rate, rounded to whole sessions. Intermediate stages are constructed only to preserve valid synthetic records and are hidden in hypothetical mode. Calculations stay in browser memory and reset when the page reloads; no model provider is contacted. Limited site analytics may record an interaction event without your input values.

Session grain
One row per date, channel, entry-page group, and device. Each session belongs to one row.
Qualified conversion
A session reaching entry → engagement → form start → submission → synthetic acceptance. Multiple submissions in a session count once.
Conversion rate
Sum of qualifying sessions divided by sum of sessions. A zero denominator is shown as unavailable.
Attribution
Same-session outcomes assigned to the session channel; not GA4 cross-channel attribution, CRM leads, or incrementality.
Decomposition
Apply current traffic volume at baseline mix/rates, then current channel mix, then current channel rates. Contributions reconcile to the observed change. Other orders can distribute interactions differently.

The rendered report runs validation before analysis: consecutive nonoverlapping periods, complete channel/date coverage, unique row keys, safe nonnegative integer counts, and monotonic funnels. Charts, tables, metric cards, and replay numbers use the resulting analysis object. Displayed rates are rounded to one decimal place; calculations use unrounded values.

From business question to usable analysis

Clear metrics. Inspectable evidence. Better questions.

I built this case to show metric definition, data validation, conversion analysis, and interactive scenario modeling. The data is synthetic and I wrote the explanations. Every figure comes from deterministic calculations; no AI model is used anywhere in this analysis.