River
Y CombinatorBacked by Y Combinator
FREE TEMPLATE

Competitor Comparison Page Template

Five documents and five sheets built on a claim register, where the recheck interval comes from the source a claim was read off.

Free download  ·  No account needed

Claim Verification Log

[Page] — one row per claim about them

A claim is four things, not one: the sentence, the source it was read off, the date it was read, and the interval at which it gets read again.

ClaimSentence shapeSource typeRead onCaptureRechecks / yrDirection if wrong
requiredrequiredrequiredderived
requiredrequiredrequiredderived
requiredrequiredrequiredderived
requiredrequiredrequiredderived
requiredrequiredrequiredderived
requiredrequiredrequiredderived

The three required cells are the ones a live page almost never has. A source URL with no capture stops being evidence the moment they rewrite the page, and rechecks is derived from the source type rather than chosen, so a changelog-sourced row lands on zero and a marketing-sourced row on six.

Every template for this page ships the same anatomy: hero, snapshot table above the fold, feature deep dive, pricing, when to choose them, social proof, FAQ, closing call to action. Then maintenance arrives as one bullet. Review quarterly, or update it when their product changes. Neither instruction is actionable, and for the same reason: neither one knows where any individual claim on the page came from, so neither can say which claims have probably rotted.

So this pack records the source instead. The worked audit in it covers Kelvedge, which sells field-service scheduling and has six live comparison pages, the oldest 22 months old. Every discrete claim about a competitor was rechecked against that competitor's current published sources: 187 claims, 118 still true, 63.1%. Split by where the claim was taken from, claims read off a changelog held at 100% and off their docs at 89.7%. Claims read off their own marketing pages held at 53.5%, and a rep's recollection at 18.2%.

The share of a page's claims taken from those soft sources explains 69% of the variance in its survival rate; the page's age explains 20%. The 14-month page written from docs held better than the 3-month page written from feature pages, which is why recheck intervals here derive from source type rather than from the calendar. That costs nothing: 736 recheck events a year against the 748 a blanket quarterly review already spends. Detecting the change is the other half, and competitor monitoring is where that lives.

187 claims, 63.1% still true, and the column that predicted which ones

The Claim Verification Log, the Page Inventory it rolls up into, the Refresh Schedule it derives, and the Change Watch Log.

Claim Verification Log

Seven of the 187 rows, one per source type, from six live comparison pages at Kelvedge, a fictional field-service scheduling company. All seven were read between 10 and 13 March 2026 and rechecked against that competitor's current sources.

ClaimThe sentence as publishedShapeSourceVerdict
C-001Fenwold shipped capacity forecasting against booked work in July 2025.Dated and attributedChangelogHolds
C-004Fenwold's docs describe a drag-and-drop dispatch board as available on the enterprise plan only.Attributed to their wordingDocsHolds
C-003Fenwold does not offer technician utilisation reported weekly.Asserts an absenceDocsWrong, understates them
C-009Fenwold offers quoting from the technician app.Credits themPricing pageWrong, overstates them
C-017Fenwold offers role-based permissions below the manager level.Credits themMarketing pageWrong, overstates them
C-035Fenwold offers drive-time estimates from live traffic.Credits themReview siteWrong, overstates them
C-039Fenwold offers a customer self-scheduling portal.Credits themNone publishedWrong, overstates them

Row C-003 is the shape that matters. It asserts an absence, their own API reference contradicts it, and nothing on the page showed the reader a basis. 51 of the 69 wrong claims were that shape, and only three of the 69 carried any basis at all. The recheck interval each row inherits is on the Refresh Schedule tab, and it runs from zero to six a year.

Page Inventory

All six live pages, oldest first. Soft sources are their marketing pages plus anything a rep remembered, which is 82 of the 187 claims.

PageCompetitorAgeClaimsHoldsSoft sourceUnderstatingOverstating
FENFenwold22mo4153.7%51.2%145
ALDAldercomb17mo3658.3%47.2%114
RISRiscombe14mo3177.4%22.6%52
PELPellworth9mo2857.1%53.6%93
MARMarrowby6mo2770.4%33.3%62
CLECleatham3mo2466.7%54.2%62

Read Riscombe against Cleatham. Riscombe's page is 14 months old and holds at 77.4%; Cleatham's is 3 months old and holds at 66.7%, and the difference between them is the soft-source column, not the age one. Across the six, soft-source share explains 69% of the variance in hold rate and age explains 20%. Only 34 of the 187 claims showed the reader any basis, and the sheet carries that count per page too.

Refresh Schedule

The 35 batch rows collapsed to one line per source type. Nothing here is chosen: the interval derives from where the claim was read.

Source the claim came fromClaimsPer claim / yrDerived / yrQuarterly / yrWeeks wrongMechanism
Changelog1800720.0Subscribe to the feed
Docs or API reference3927815613.0Recheck twice a year
Their pricing page3462041364.3Recheck six times a year
Their marketing page7164262844.3Recheck six times a year
Third-party review site142285613.0Recheck twice a year
No published source110044n/aDelete, do not schedule
Total187736748Same effort, aimed differently

The objection to this is always effort, and the totals settle it: 736 recheck events a year against the 748 a blanket quarterly review already spends. Moving the two high-decay groups from four rechecks a year to six takes the average time a false claim sits live from 6.5 weeks to 4.3. The changelog group pays for that by going to zero, because a dated append-only feed announces its own changes, and the eleven unsourced claims are deleted rather than rescheduled.

Change Watch Log

Seven of the 27 rows. The last column is the gap this sheet exists to measure: days from their change to our edit.

WatchCompetitorSourceHow it was foundClaimsState when foundDays
CW-22FenwoldChangelogSubscription2Caught in time2
CW-24RiscombeChangelogSubscription4Caught in time2
CW-26MarrowbyChangelogSubscription2Caught in time2
CW-05FenwoldPricing pageScheduled recheck3Already false38
CW-01FenwoldDocsScheduled recheck1Already false55
CW-12AldercombMarketing pageScheduled recheck7Already false102
CW-21CleathamReview siteScheduled recheck1Already false152

Two populations, and they barely overlap. Six changes arrived by subscription, covering 12 claims, every one closed within four days and not one of them ever wrong on the live page. Twenty-one arrived by scheduled recheck, covering 60 claims, and all 60 were already false when found: a median of 102 days wrong, the longest 152. The other nine wrong claims had no source to watch, so they were wrong from the day they were published.

What you get

01

Claim Verification Log

One row per claim about a competitor, carrying the sentence word for word, the source type and URL, the date it was read, the capture, and the recheck interval that source earns. Everything else in the pack derives from this sheet.

02

Claim Direction Audit

One row per wrong claim, split by whether it understated the competitor or credited them with something they dropped. The two are not the same problem, and 51 of the 69 wrong claims on the worked audit were the first kind.

03

Page Inventory

One row per live page with its hold rate, its soft-source share and its error directions, so the comparison across pages is available rather than inferred. It is the standing companion to a one-off competitor teardown.

04

Refresh Schedule

Recheck intervals derived from source type instead of the calendar, batched by page and source, with both totals shown so the effort question is settled by arithmetic rather than argued.

05

Change Watch Log

One row per detected change, keeping the date they changed something and the date we edited the page apart, so the gap between the two becomes a number somebody owns.

06

Source Method

Filled in once before any claim is written: which competitors get a page and why, where each one's changelog and docs actually live, how a claim gets captured, and who signs off a superiority claim.

07

Fairness Standard

The per-claim standard, written before the page is, plus the sentence shapes that never publish. It states the legal frame accurately: the FTC's policy encourages naming competitors, and what creates exposure is a false statement of fact.

08

Page Copy

The published draft, written with a claim id beside every table cell and every factual sentence. It includes the section most comparison pages omit, which is what the competitor is genuinely better at.

09

Substantiation File

The document you send when somebody challenges a sentence: per claim, the source, the read date, the capture, the exact supporting words quoted, and a name against the sign-off.

10

Update Procedure

The four ways a stale claim gets found and the fixed order for closing one, including the step everybody skips, which is rechecking the neighbouring claims from the same source while the tab is open.

How it works

  1. 1

    Send the page you already have

    The URL of a live comparison page, or several. Every discrete claim on it comes off the page into the register first, including the table cells and the checkmarks, because a checkmark is a claim.

  2. 2

    Find each claim's source

    River reads the competitor's changelog, docs and pricing page and checks each claim against them. Where nobody knows where a claim came from, that gets logged as its own finding rather than backfilled with a source that agrees.

  3. 3

    Get the direction and the interval

    Every wrong claim is classed by which way the error runs, and every surviving claim inherits a recheck interval from the source it was read off. Understating claims go to the front of the rewrite queue.

  4. 4

    Rewrite, then keep it true

    The copy gets rebuilt from verified claims, dated in the sentence and attributed to their own wording. The register then feeds whatever the field needs, including a sales battlecard that stops disagreeing with the page, or a switch campaign built on the same source-first discipline.

Frequently asked questions

What format are the downloaded files?

The five documents come as .docx and the five sheets as .csv, so they open in Word, Pages, Google Docs, Excel, Numbers and Sheets with nothing to convert. The download needs no account, and the sheets arrive carrying the worked audit rather than empty.

What does Edit with AI actually do?

It installs the pack as a private space and primes River to fill it from what you send. The first useful output is usually an audit of a page you already have live, reporting the share of its claims that no longer hold.

Is it a problem to name a competitor?

Naming them is not the problem and never was. The FTC's own policy says it has supported brand comparisons where the bases of comparison are clearly identified. What is actionable is misrepresenting the nature, characteristics or qualities of another company's goods or services.

Why not just review the page quarterly?

Because quarterly spends the same effort on the claim that cannot go stale and the claim that already has. Derived intervals cost 736 recheck events a year against 748 for blanket quarterly, and they cut the average time a false claim sits live by a third.

What if the competitor has no changelog?

Then their docs or API reference is the next best source, and it held at 89.7% on the worked audit. Where neither exists, say so in the Source Method, because every claim will come from marketing copy or from what their users report, which are the two groups that decay.

Does this write the page or only check it?

Both, in that order. Page Copy is a real draft with a claim id beside every factual sentence, but it comes after the register, because a draft written first gets assembled out of the competitor's own marketing copy. Positioning belongs in a positioning map instead.

How do claims about our own product work?

They need an internal source rather than an external one: a docs page, a shipped flag, a support article. The FTC expects advertisers to have a reasonable basis for advertising claims before they are disseminated, and a product manager saying we do that is not one.

Find out how much of your comparison page is still true

Send the URL of a page you already have live. The audit reports the share of its claims that no longer hold, and which source each one came from.

Edit with AI