Call Us Free: 1-888-334-1276
AutoSEO scientific analysis suite showing Fourier frequency decomposition, change-point detection, cross-correlation, and causal-impact charts across multiple client domains
AutoSEO  ·  Scientific Analysis Suite

Time-series science applied to your client's SEO data.

Four rigorous methods, one daily data pipeline. Every result comes with a confidence score or significance test, so the numbers are ready for client reports.

At a glance

Four questions a normal dashboard can't answer.

λ

What cycles are real?

STL + FFT identifies weekly, biweekly, and monthly patterns, with a confidence score per peak so you can ignore the artifacts.

Δ

When did the level shift?

PELT pins the exact date a metric stepped up or down, the magnitude in σ, and whether the date aligns with a known Google update.

Does X predict Y?

FFT cross-correlation on STL residuals measures lead/lag between metric pairs with a Bartlett-formula significance threshold.

Did our action cause it?

Synthetic-control causal impact builds a counterfactual from peer domains and reports the lift with a 95% confidence interval.

1 Frequency Analysis

STL decomposition + targeted FFT

Finds the cycles hiding in daily traffic data: the weekly day-of-week rhythm, biweekly content cadences, monthly campaigns, and anything else that repeats above the noise. The math is two steps. First, STL (Seasonal-Trend decomposition using Loess) splits each metric into a slow trend, a weekly seasonal pattern, and a residual. Then FFT (Fast Fourier Transform) runs on the detrended signal to identify which cycles dominate, with a confidence score on every peak. The result tells you which cycles are real, which days are unusual, and which URLs benefit most from a meta rewrite.

What it surfaces

  • Dominant cycles per metric with per-peak confidence
  • Concurrent anomaly-day calendar (≥2 metrics flagged same day)
  • Top-20 URL / keyword rewrite-priority rankings
  • Pre/post split at every published meta rewrite

What you do with it

  • Pick rewrite candidates by rank, not gut feel
  • Separate real events from single-metric blips
  • Validate past rewrites with measured before/after
  • Export XML to Claude, ChatGPT, or any LLM
2 Change-Point Detection

PELT with Google algorithm-update annotation

Pinpoints the exact dates a metric stepped up or down. These are the step-changes a smoothed trend line blurs into noise. The PELT algorithm (Pruned Exact Linear Time) walks the series and finds the optimal set of breakpoints in linear time, so it can run across every metric on every domain without slowing the dashboard. Each detection comes with a magnitude, a direction, and an annotation if the date aligns with a known Google algorithm update, so you can tell platform impact apart from your own changes.

What it reports

  • Exact date of each level shift
  • Before/after means and percentage delta
  • Effect size in σ (≥3σ is unambiguous)
  • Match against bundled Google update list

What you do with it

  • Answer "what happened on date X" with specifics
  • Tell algorithm damage apart from your own changes
  • Scan 50+ domains in the background, alert on shifts
3 Cross-Correlation

FFT-based lead/lag on STL residuals

Measures whether one metric predicts another, and after how many days. The math runs FFT (Fast Fourier Transform) correlation on STL residuals, so the strong weekly day-of-week pattern doesn't drown out the real signal. A Bartlett-formula significance threshold (the standard test for distinguishing real correlation from random noise) tells you whether the relationship between the two metrics is statistically meaningful, rather than just visually suggestive. Useful for proving that ranking improvements actually drive traffic, or showing that they don't.

Default pairs

  • GSC clicks ↔ GA4 active users
  • GSC position ↔ GA4 active users
  • GSC CTR ↔ GA4 active users
  • GSC impressions ↔ GA4 active users

How to read it

  • Lag > 0: X leads Y by that many days
  • Lag = 0, high |r|: same-day shared event
  • |r| below threshold: no real relationship
4 Causal Impact

Synthetic-control intervention measurement

Estimates how much lift a specific action caused, against a counterfactual built from comparable client domains that didn't have the same intervention. The technique is synthetic control, the same family as Google's CausalImpact library: fit an OLS regression (Ordinary Least Squares, a standard statistical model) on the pre-intervention period, project forward what the focal domain would have done without the change, then measure the gap between actual and projected. Answers "did the rewrite actually work?" with a number and a 95% confidence interval rather than a guess.

What the page shows

  • Cumulative lift in raw units and as %
  • Actual-vs-counterfactual chart with 95% CI band
  • Daily pointwise effect (green positive, red negative)
  • Control basket with per-peer correlations

Data requirements

  • ≥28 pre-intervention days
  • ≥14 post-intervention days
  • ≥1 suitable peer control
  • Refuses to produce a number when minimums aren't met
Methodology FAQ

Questions analysts ask before trusting a number.

Why use STL residuals instead of raw daily values?

Raw daily SEO metrics share a strong weekly day-of-week pattern. Correlating raw values mostly tells you "both spike on weekdays", which is true but useless. STL strips trend and weekly seasonality first, so downstream methods analyze the anomalous parts of each series, where real signal lives.

How is Causal Impact different from a before/after comparison?

Before/after can't separate your intervention from algorithm updates, seasonality, or anything else happening simultaneously. Causal Impact builds a counterfactual from peer domains without an intervention near the same date. Market-wide effects touch the peers too and get absorbed. The remaining gap is attributable to your action, with a 95% CI.

What are the data requirements?

Frequency and Change-Point need 90+ days per metric. Cross-correlation needs 60+ days of overlap. Causal Impact needs 28+ pre and 14+ post days, plus one peer with no overlapping intervention within ±30 days. Below these thresholds the tool refuses to produce a number rather than fabricate one.

How often does the analysis refresh?

Daily. GSC and GA4 fetchers run nightly, the frequency report rebuilds at 2:30 AM, and change-point / causal-impact analyses run on demand with a 24-hour cache. A manual Refresh button is on every page.

Further reading: Did Your Last SEO Move Actually Work? The Statistics Your Dashboard Doesn't Show.

Included with every AutoSEO subscription

All four tools, every tier.

Get AutoSEO Back to overview & pricing