Updated July 29, 2026
10 min read
Analytics

How Much Competitive History Do You Need to Keep?

Twelve Months of Derived Series, Two Years of Prices, and Days of Raw Captures

Short answer

Keep twelve months of any series you compare year on year, twenty-four months of prices and reviews, and raw page captures for days. Twelve months is the minimum that supports a year-on-year comparison, which is the only control that separates a seasonal dip from a real decline.

GB
Written byGabor BartaCo-founder, Oppira

Gabor leads product and content at Oppira. He has spent over a decade building tools and writing about competitive intelligence, social media analytics, and growth marketing for B2B SaaS companies.

Published July 29, 2026

1. How much competitive history do you actually need?

Twelve months for any series you compare year on year, twenty-four for prices and reviews, and days for raw page captures. Anything shorter than twelve months cannot tell a season from a decline.

Retention window
The period for which a monitoring system keeps a given kind of record before discarding it, which sets the longest comparison any report built on that record can make.
Also known as: Data retention period, Lookback window

The window is a decision about which questions stay answerable, not a storage decision. A six-month window quietly removes the year-on-year comparison from every report you will ever run, and nothing in the interface tells you that the comparison is missing.

It is also the one setting you cannot fix retroactively. Add a competitor today and you have one day of history for them, however good the tool is. History only accumulates forward, which makes an early decision to over-collect much cheaper than a later regret.

2. How long is each type of competitive data worth keeping?

Windows differ by an order of magnitude across data types. Pricing and review history earn twenty-four months, engagement and ad series earn twelve, and raw HTML captures earn days.

A retention window per competitive data type, and the question you lose by dropping it
Data typeUseful windowWhat you lose by dropping it
Pricing page values and structure24 months or longerThe ability to show a price trend, and the evidence that a change happened at all
Landing page and homepage copyEvery version, indefinitelyThe messaging history, which is the cheapest read on how a rival's strategy moved
Review text and ratings24 monthsWhether a complaint theme is growing, and whether a product fix worked
Organic post records and engagement12 monthsThe year-on-year comparison, and a stable per-account median to judge outliers against
Ad creatives and first-seen dates12 monthsSeasonal creative reuse, and the refresh interval that signals a working campaign
Follower and audience counts12 months, weekly pointsGrowth-rate context, which turns a follower number into something interpretable
Alerts and insights you acted onIndefinitelyThe record of what you decided and why, which is what stops a debate restarting
Raw HTML and API payloads30 to 90 daysAlmost nothing, once the fields you care about have been extracted and stored
A retention window per competitive data type, and the question you lose by dropping itThe pattern is that derived series are cheap and permanently useful, while raw captures are bulky and useful only until extraction succeeds. Keep the first, expire the second.

3. Why is twelve months the window our published aggregates use?

Twelve months is the shortest window that supports a year-on-year comparison, and a fixed rolling window keeps every figure in the same table on the same denominator. Both properties are deliberate.

Take the two reasons in turn. A year-on-year comparison is the only control that separates a calendar effect from a real change, and it needs the same period one year earlier. Twelve months is therefore not a round number chosen for tidiness, it is the minimum that makes the control possible.

The second reason is comparability. When every aggregate is computed over the same rolling twelve months, two figures from the same table can be read against each other, and nothing in the table is quietly older than the rest. A window that varied per metric would produce a table where the numbers are not the same kind of thing.

That is a trade we make on purpose rather than a limitation to work around. A longer aggregate window would answer multi-year questions and would also mean every published figure includes months that no longer describe the market. We chose current and comparable over long.

The design rule generalises. Pick the window from the longest comparison you intend to make, state it next to every number, and keep it fixed. A window that drifts is worse than a short one, because nobody can tell which figures are affected.

4. What breaks when your history is shorter than twelve months?

Three things break in order: the year-on-year control disappears, per-account medians become unstable, and below about a month you have a snapshot rather than history.

At six months, every dip is ambiguous. You can see that a competitor posted less in November than October and you cannot see that they did the same last November, so each seasonal pattern arrives looking like news.

At three months, the per-account baseline goes as well. In the Oppira Benchmark for June 2026 the typical tracked LinkedIn account posted 1.04 times a week, which means a three-month window holds too few posts per account for a median stable enough to judge an outlier against.

1.04posts/week

Typical LinkedIn cadence for a tracked competitor account

Oppira Benchmark, unweighted mean across 56 tracked LinkedIn accounts, as of June 30, 2026.

At one month you have a snapshot. It answers what a competitor is doing and cannot answer what changed, which is the only question that ever prompts a decision. This is the same structural gap that makes a chat assistant unable to monitor anything.

5. What should you keep forever, and what should you delete quickly?

Keep the derived series and the decisions permanently, because both are small and irreplaceable. Delete raw HTML, screenshots at full resolution and API payloads within about 90 days of extracting the fields.

Two piles, split by whether the record can be reconstructed:

  • Keep permanently: one row per check with the date, the metric and the value; the text of every page version; the price on each observed date; and the decision you took when an alert fired. All of it is text, and none of it can be recovered later if dropped.
  • Expire quickly: raw HTML, full-resolution screenshots and unparsed API responses. These are large, and once the fields have been extracted correctly they answer nothing the derived row does not. Ninety days is generous for catching an extraction bug.

Volume is rarely the real constraint, which is worth knowing before anyone proposes a shorter window to save space. In the Oppira Benchmark for June 2026 the typical tracked advertiser ran 9.37 Meta ads a month and 3.12 Google ads a month, so a full year of ad history for one competitor is tens of creatives held as text.

9.37ads/month

Typical Meta ad volume for a tracked advertiser

Oppira Benchmark, unweighted mean across 75 tracked advertisers, as of June 30, 2026.

3.12ads/month

Typical Google ad volume for a tracked advertiser

Oppira Benchmark, unweighted mean across 78 tracked advertisers, as of June 30, 2026.

So the honest framing is that a short retention window is almost never a cost decision. It is a default nobody changed, and it silently removes the comparisons that make the whole programme worth running.

6. How do I keep competitive history without a tool?

One spreadsheet, one row per check, and a dated screenshot for anything you might have to prove. Five columns are enough, and the discipline is recording the date you looked rather than the date you guess.

This works, it costs about ten minutes a week, and it fails only when the habit lapses. Start here before buying anything.

  1. Make one sheet with a row per observation. Five columns: date checked, competitor, what you looked at, the value you saw, and the source URL. One row per check, appended forever. Never overwrite a row, because the old value is the entire point of keeping it.
  2. Screenshot anything you may need to prove. Prices, plan limits and headline claims deserve a dated image, because competitors change them without publishing a note. A screenshot with the date visible settles the argument two months later in a way a remembered figure cannot.
  3. Record the date you looked, not the date it changed. You almost never know when a change happened, only when you noticed it. Logging the observation date keeps the record honest and turns two consecutive rows into a window inside which the change occurred.
  4. Copy page text, not links. Paste the visible text of a pricing or landing page into a dated note. A link points at whatever the page says today, which makes it useless as history, and archived versions of the page may never have been captured.
  5. Keep a decision log next to the observations. One line per competitor move you responded to, with the date and what you chose, including no action. This is the cheapest record to keep and the one teams miss most, and it stops the same debate reopening each quarter.

Purpose-built monitoring removes the habit dependency rather than changing the method. Oppira visits the tracked channels daily, keeps the derived series, and holds the aggregate lookback at twelve months so every published figure is computed over the same period.

7. Which retention decisions cannot be undone?

Three: not tracking a competitor yet, not capturing page text before it changed, and shortening a window that had already accumulated. Each one deletes a comparison you cannot rebuild at any price.

In descending order of regret:

  1. A competitor you have not started tracking has no history, and no tool can create it. Add the ones you plausibly care about early, even the ones you watch loosely.
  2. A page version nobody captured is gone. Third-party archives are incomplete and cannot be relied on for a specific pricing page on a specific date.
  3. Shortening a window discards the accumulated part immediately, and the year-on-year comparison stops being available the moment you do it, not a year later.

Key Takeaways

Twelve months is the floor for a comparison

A year-on-year read is the only control that separates a seasonal dip from a real decline, and it needs the same period a year earlier. Shorter windows remove it silently.

Prices and page copy deserve longer than everything else

Twenty-four months for prices and reviews, and every version of landing page copy, because a messaging and pricing trail cannot be reconstructed from anywhere.

Keep derived rows, expire raw captures

One dated row per observation is small and irreplaceable. Raw HTML and unparsed payloads are bulky and answer nothing extra after 90 days.

Our published aggregate window is twelve months

A fixed rolling window keeps every figure in a table on the same denominator. It cannot answer multi-year questions, and that is a deliberate trade for currency.

Volume is almost never the constraint

The typical tracked advertiser ran 9.37 Meta ads and 3.12 Google ads a month, so a full year of ad history for one competitor is tens of creatives held as text.

History only accumulates forward

A competitor added today has one day of record. Adding the ones you loosely care about early is far cheaper than wishing you had.

Frequently Asked Questions

Oppira

Turn reading into a reaction

Oppira watches your competitors, keeps your playbook current, and drafts the response. Start free and see your market clearly by tomorrow.