River
Y CombinatorBacked by Y Combinator
FREE TEMPLATE

Competitive Intelligence Report Template

A competitive report does not go wrong when it is written. It goes wrong afterwards, invisibly, because no claim records when anybody last looked.

Free download  ·  No account needed

A claim like they charge 49 dollars per seat is true on the day somebody reads the pricing page. It then stays in the document forever, because the document recorded the claim and not the reading. Nothing in it knows its own age. So the report circulates, the facts drift, the conclusions built on them keep getting repeated, and eighteen months later it is folklore nobody can audit and nobody will admit is stale.

The fix is mechanical rather than diligent. Every cell in the comparison matrix carries three values instead of one: the claim, the source, and the date it was read. Each field gets its own recheck interval, because a list price and a founding year do not decay at the same rate. Pair it with a company filing analysis for the figures a listed rival must publish, and a competitor monitoring pack for the changes between rechecks.

The part that pays is the join. Observations and conclusions get set in the same font in every competitive document ever written, so a judgement inherits the credibility of the facts underneath it and then outlives them. Here a conclusion names the cells it rests on, which is a separation the US intelligence community's own analytic standards make mandatory. One rebuild found 19 of 48 cells past due and withdrew three conclusions already in circulation. Nineteen expired cells is a maintenance queue. Three withdrawn conclusions is why the queue matters.

One rebuild, 19 expired cells, three withdrawn conclusions

The four sheets that make a competitive report auditable instead of circulated.

Comparison Matrix

Illustrative, for four fictional freight software companies. Ten of 48 cells shown. Every cell carries the claim, the source it came from and the date somebody read it.

CellFieldPlayerClaimObservedState
C01List priceCalderonPlatform fee from 60000 dollars a year plus usage per shipment2026-02-14Changed
C03List priceTessaly39 dollars per user per month, published, self-serve checkout2026-02-11Current
C02List priceNorlanderNo value. Not published anywhereneverGap
C13Review-site themeCalderonImplementation length is the dominant complaint, named in r...2026-02-12Held
C17Open rolesCalderon64 open roles. 8 in enterprise sales, 21 in engineering, 4...2026-02-14Current
C19Open rolesTessaly23 open roles. 9 in enterprise sales and solution engineering2026-02-11Changed
C22Named customersNorlander11 named on their customers page, 4 of them grocery2026-02-14Changed
C38Ownership and fundingNorlanderMajority recapitalisation by their existing growth investor2026-02-14Changed
C41Revenue or scaleCalderon612.4 million dollars FY2025 revenue, up 8 per cent2026-02-14Changed
C45Founded, headquartersCalderonFounded 2009, headquartered Chicago2026-02-14Current

The full matrix is 48 cells across 12 fields and four players: 34 sourced to the player's own published material, 9 to review sites and trade press, and 5 recorded as gaps with a named route to closing each. C02 is the gap that matters, because without a sourced price for Norlander there is nothing to price against.

Recheck Audit

Generated, not maintained. Recheck-by is the observation date plus that field's interval, so the queue is arithmetic rather than a judgement about what still feels current.

CellFieldWas dueDays overOutcomeConsequence
C01List price2025-03-20331ChangedBroke INF-01, which was already in circul...
C19Open roles2025-08-17178ChangedBroke INF-03, which was already in circul...
C38Ownership and funding2025-08-06192ChangedBroke INF-04, which was already in circul...
C22Named customers2025-08-06192ChangedINF-05 re-tested against the new value an...
C11Positioning claim2025-10-16118ChangedFed the new conclusion INF-06
C28Integration coverage2025-11-1786ChangedNothing was resting on it
C41Revenue or scale2026-02-077ChangedNothing was resting on it
C09Positioning claim2025-09-28139UnchangedNothing was resting on it
C18Open roles2026-02-113UnchangedHeld, but INF-04 fell anyway on another cell
C06Packaging model2026-01-2817UnchangedReconfirmed INF-05 at no cost

Nineteen of 48 cells were past their recheck date, 1,961 cumulative overdue days, median 86 and worst 331. Eleven were rechecked and had not moved, which is worth logging because a value that has held through three rechecks is stronger than one observed once. Eight had changed. Three of those eight were holding up conclusions somebody had already acted on.

Inference Register

Conclusions live apart from observations and name the cells they rest on. That reference is the whole point: it is what makes a judgement re-testable when a cell underneath it moves.

IdConclusionRests onCirculatedState
INF-01We beat Calderon on price in any deal under 40 seatsC01 C03Battlecard, OctoberBroken
INF-02Implementation length is our strongest wedge against Ca...C13 C17 C29Battlecard, OctoberStanding
INF-03Tessaly does not turn up in our enterprise dealsC19 C07 C31Board deck, Q4Broken
INF-04Norlander cannot fund a national grocery pushC38 C18Pricing discussion, JanuaryBroken
INF-05Norlander is a grocery and cold chain specialist rather...C10 C06 C22noHeld, narrower
INF-06Tessaly is moving upmarketC11 C19 C35 C39noNew this cycle
INF-07Brightpath does not compete in multi-site accountsC24 C12 C36noStanding but thin
INF-08Calderon is building a services-led motionC17 C33noStanding
INF-09We do not know what Norlander charges and cannot price...C02 C42noGap-bound

Four of the nine had been circulated, and three of those four broke in a single rebuild. INF-01 was in the battlecard and in 14 opportunity notes. INF-03 was the stated reason for not staffing a competitive response. INF-04 was cited three weeks before, when list price was held on two renewals. INF-06 is the one the audit built rather than broke, off four cells that moved together.

Signal Register

The inbox. Anything observed that is not yet a matrix cell lands here and gets a disposition, so the decision is made once in writing instead of being re-argued by whoever notices the thing next.

IdPlayerWhat was seenSourceDisposition
S02CalderonPer-seat tiers gone from the pricing page, replaced by one plat...PrimaryPromoted
S03TessalyCareers page went from 4 open roles to 23. Nine are enterprise...PrimaryPromoted
S04NorlanderNewsroom post announcing a majority recapitalisation by their e...PrimaryPromoted
S07NorlanderCustomers page now names 11, down from 14. Two of the four remo...PrimaryPromoted
S08CalderonA partner's webinar slide named a managed onboarding package an...SecondaryParked
S09NorlanderA job posting describes a cold chain compliance module that is...PrimaryParked
S11BrightpathA tender award notice lists them on a three-site contractPrimaryParked
S13NorlanderA candidate interviewing with us described their internal roadmapunsourceableDiscard: not public
S14TessalyA customer forwarded a proposal PDF carrying their discount sch...unsourceableDiscard: not public
S16NorlanderOn-premise deployment named again in a recent reviewSecondaryDiscard: duplicate

Sixteen signals: 7 promoted into 8 cells, 5 parked with the condition that would promote them written down, 3 discarded as not published and 1 as a duplicate. Every changed cell traces to a promoted signal, which is how you know nobody edited the matrix directly. S11 is the one to chase: a tender award notice that would settle the thinnest conclusion in the register.

What is in the pack

01

Comparison Matrix

One cell per field per player, each carrying its claim, its source, whether that source is primary, and the date it was read

02

Recheck Audit

Generated from the matrix rather than kept by hand, listing every expired cell with its days overdue and what the recheck found

03

Inference Register

Conclusions held apart from observations, each naming the cells it rests on and where it has already been circulated

04

Signal Register

The inbox for anything observed but not yet promoted to a cell, with four dispositions and the condition that would promote it

05

How Staleness Is Computed

The recheck interval per field type, the four states a cell can hold, and why a founding year is marked never rather than given a long interval

06

Intelligence Report

The standing document, rebuilt each cycle and led by the conclusions that were withdrawn and where each one had been used

07

Player Profiles

One per player, generated from that player's column, carrying every source and date through and marking expired claims inline

08

Category Map and Watch List

A two-axis map whose positions are computed from cells, and ten watch items each with a threshold that can actually fire

How it works

  1. 1

    Send what you already have

    Who you track, whatever assessment exists in any shape, and the decision this is for. The messy old deck is the most useful thing you can send, not the least.

  2. 2

    Split observation from conclusion

    Your existing material carries both in the same font. Every claim naming no source becomes a gap, and every conclusion gets the cells it rests on reconstructed.

  3. 3

    Set an interval per field

    Pricing and hiring decay in weeks, ownership and integrations in quarters, a founding year never. Recheck-by is the observation date plus that interval.

  4. 4

    Then run it against itself

    The audit names its own expired cells, rechecks them at source, and pulls up every conclusion resting on the ones that moved.

Frequently asked questions

What do I need before this is useful?

Who you track and why they matter, and whatever assessment you already have. Four to six players is the working range. The existing material is the point rather than a starting inconvenience, because the first output is a list of the claims in your own report that are already past due.

How is this different from a competitor comparison template?

A comparison template gives you a grid to fill in. This gives every cell in that grid two more columns, a source and an observation date, and a recheck interval attached to its field type. That is the difference between a document that decays quietly and one that can tell you which parts have expired.

Does an expired cell mean the claim is wrong?

No, and the distinction is enforced. An expired cell is unverified, which is a different state, and it gets marked in every document it appears in. The rule is that it may not be quoted to a customer or a board until somebody has rechecked it at source.

Why keep conclusions in a separate sheet?

Because a judgement written beside a fact inherits its credibility and then outlives it. Each conclusion names its supporting cells, so a rechecked cell surfaces every judgement that just came unstuck. A broken one is withdrawn at the top of the report, naming every place it was circulated, because analytic standards require a product to state how its judgments changed from previously published analysis.

Does it score confidence or rank the competitors?

Neither, deliberately. A cell is sourced or not, current or expired, primary or secondary, and those four facts beat a number from one to five nobody can reproduce. Ranking is an inference, so it lives in the register with its cells named rather than in the matrix as though it were an observation.

What about information a competitor has not published?

It stays out, and the discard gets logged so nobody re-collects it. Everything here comes from their site, filings, job postings, press releases, documentation, published customer lists, review sites, court records and what their customers say in public. Federal law defines a trade secret partly by not being readily ascertainable through proper means, which is the line this pack sits on the safe side of.

Does this replace a battlecard?

No, it feeds one. This is the evidence base with dates on it; a sales battlecard is one competitor turned into objection handling for a live deal, and a competitor teardown is the depth pass on one player. What buyers actually said belongs in a win loss review.

Find out which of your competitive facts have expired

Send the players and whatever assessment you already have. The first pass tells you what in it is already past due.

Build my competitive report