Analyse a competitor · 12 min read · Updated 5 Oct 2026
Feature Comparison Prompts for Competitive Intelligence
A feature matrix looks like a statement about products and is really a statement about documentation. A tick means a page said so. A blank means no page you supplied did. These prompts keep that difference visible, hold every row to a written definition, and record which plan each answer is true on.
Download our CI Prompts Library
Stop rewriting prompts every time you analyse competitors. Steal our 112 prompts, with the instructions they need to run precisely and be deterministic.
A competitor feature tick is a claim about their documentation
A feature matrix presents itself as a statement about products. It is a statement about pages. A tick means something you saved said so. A blank means nothing you saved did. Both are much weaker claims than the grid implies, and both are all the evidence supports.
The two are not equally sound, and that is the problem. A tick is roughly reliable, because a vendor claiming a feature on their own site has committed to it. A blank is unreliable in four different ways at once, and the matrix records all four the same way.
| What actually happened | What the blank implies | What it is worth |
|---|---|---|
| The vendor genuinely does not do it. | Correct. | A real gap you can sell against, if a buyer cares. |
| They do it, and only the documentation mentions it. | Wrong, and confidently. | A claim a competitor can correct in front of your buyer. |
| They do it on a plan you did not compare at. | Wrong for this deal, right for another. | The most common version, and the hardest to spot afterwards. |
| You did not save the page. | Nothing. It is a hole in your research. | Nothing, until somebody quotes the matrix as evidence. |
The fix is not to work harder at filling the grid. It is to stop using a symbol that cannot carry the difference. That is why every prompt here labels a cell rather than ticking it.
EXPLICIT, VAGUE and ABSENT, and why the third needs a sentence
EXPLICIT means a page names the feature outright. VAGUE means a page waves at it without saying what it does. That is a real and common state, and a tick and a blank both get it wrong. ABSENT means no page you supplied mentions it.
ABSENT is the one that needs its meaning written into the output, not just into your head. Make the model state that ABSENT means not in these sources, rather than not in the product. The matrix will outlive the conversation in which you knew the difference. A label that carries its own caveat survives being forwarded. A blank does not. Comparing like with like across a whole set is competitive benchmarking, and it needs the same labelling discipline one row at a time.
What a competitor feature comparison needs before the first row
Two files, one decision and one act of honesty about your own product.
Each competitor's documentation and pricing pages, saved as text
- Where it comes from
- Product pages oversell and documentation rarely does, so take both. The gap between them tells you something on its own. A vendor with a feature named on the homepage and missing from the docs is saying something. A competitor's product roadmap runs to changelogs and release notes, which put a date on each feature.
- What good looks like
- The docs index, the pricing page with its per-tier tables, and the capture date on every file.
The plan you are actually comparing at
- Where it comes from
- A decision, not a file. Which tier does the buyer in front of you have on the table? And does the comparison assume the vendor's entry plan or their top one?
- What good looks like
- Named explicitly, and written into the prompt, so every cell in the matrix answers the same question.
Your row list, with each feature defined in a sentence
- Where it comes from
- Written by you before anything is compared. Two vendors using the same word for different things is the most common way a feature matrix becomes untrue. A written definition is what forces them into separate rows.
- What good looks like
- One sentence per row, specific enough that a person could read a page and decide yes or no without asking you.
Your own capability answers, written as honestly as theirs
- Where it comes from
- Your docs, not your roadmap. A matrix that grades a competitor on what they have shipped, and you on what you mean to ship, will be wrong in the one direction that costs you a deal.
- What good looks like
- The same EXPLICIT, VAGUE and ABSENT labels applied to your own pages, by someone willing to write VAGUE.
- Then run it
- This one runs in two passes rather than one. Define the rows first and paste the result back as your row list. Only then supply the pages and build the matrix. Keep the plan check separate and point it at the pricing pages, because it answers a different question.
- Before the output leaves the building
- Work along the EXPLICIT cells for a competitor and find the sentence behind each one. Then pick three ABSENT cells and go looking properly. ABSENT is the label that turns into a false claim the moment somebody repeats the matrix without its caveat.
Prompts for a feature comparison across competitors
Order matters more on this job than on almost any other. Define the rows before you compare anything, and two different features stop being compared under one name. It is also the step that gets skipped, because it produces nothing you can see.
Start here. The confidence column is the whole point of it.
Compare the feature lists I have pasted for [OUR PRODUCT] and [COMPETITORS]. Produce a table with one row per feature and these columns: feature, who states it, exact wording used, and a confidence column with one of EXPLICIT / VAGUE / ABSENT. Rules: - EXPLICIT only when a page names the capability outright. - VAGUE when the page gestures at it ("powerful reporting") without saying what it does. - ABSENT when no provided page mentions it at all. ABSENT means "not in my sources", not "they do not have it" - label it that way in the output. Do not add features that appear in none of the sources. SOURCES: [PASTE]
Run this before the matrix. A row without a written definition compares two different things.
Here are the feature names used across the pages I gathered for [OUR PRODUCT] and [COMPETITORS]: [PASTE]. Group the names that appear to describe the same capability, and for each group write one definition in a single sentence that both vendors' wording would have to satisfy. Where two vendors use the same word for what the pages describe differently, say so and split them into separate rows. Return the definitions as a numbered list I can paste back in. Do not build a comparison yet.
The one that catches the error a buyer will catch. Run it against the pricing page, not the product page.
Here are the pricing and plan pages for [COMPETITORS]: [PASTE]. Here is my feature row list: [PASTE]. For each feature, tell me the lowest plan on which the page states it is available, and quote the wording. Include any limit stated alongside it: quantity caps, hours, seats, or allowances. Where the page does not state availability for a plan, write "not stated on this page" rather than inferring from the tiers above or below it. Then flag every row where the answer differs between the plan I am actually competing against, [PLAN], and the vendor's top plan.
Last. It is the only one that produces something you would act on rather than publish.
Using the completed matrix, list the rows where a competitor is EXPLICIT and we are ABSENT or VAGUE. For each, say what the competitor's page claims the capability does, in their words, and what a buyer would use it for. Then sort the list into: rows a buyer has actually raised with us, rows nobody has ever asked about, and rows where we cannot tell. Do not recommend building anything. I want the gaps separated by evidence of demand, not by how large they look.
The plan check runs against pricing pages rather than product pages, and that is deliberate. A product page describes what a product can do. A pricing page describes what a customer gets. Those two documents disagree more often than any other pair a vendor publishes. Where the disagreement is about what a tier includes rather than what exists, a pricing comparison is the job that settles it.
A competitor's features, right on the wrong plan
We asked whether a real product includes four common sales features, then opened its plan comparison page. All four answers were yes. All four were the wrong answer.
Claude Opus 5asked whether HubSpot Sales Hub includes sequences, call recording, forecasting and custom reporting
2026-09-18
Yes to all four. Sales Hub includes email sequences, call recording with conversation intelligence, sales forecasting and custom reporting. Sequences and call recording are core parts of the product; forecasting and custom reporting come with the paid tiers.
Checked against HubSpot Sales Hub pricing and plan comparison, read 18 September 2026
All four features are real, and the answer is still wrong about the thing a buyer is deciding. The page states all four on Professional and above, and none of them for Starter, which is the plan a small team usually chooses. The sharper problem is the last sentence. The answer split the four into core parts of the product and paid-tier extras, and the page draws no such line. All four sit on the same tier. That boundary was not left out or approximated. It was supplied. An invented distinction reads exactly like a remembered one, because it is more specific rather than vaguer. The stated allowances went missing too: 750 transcription hours a month on Professional against 1,500 on Enterprise, and up to 100 custom reports against 500.
Fabrication
Claude Opus 5plan comparison page supplied, answer required per plan
2026-09-18
Starter ...... none of the four stated on this page Professional . call recording + transcription (750 hrs/account/month) sequences (5,000/account) default and custom forecasting custom reporting (up to 100) Enterprise ... same, with 1,500 hrs, 500 reports and forecasting across team hierarchies Free ......... not stated on this page
Checked against HubSpot Sales Hub pricing and plan comparison, read 18 September 2026
The same four features, now attached to the plans the page attaches them to, with the stated allowances kept rather than summarised away. Note the two rows reading not stated. That is the honest shape of an absence, and it is what a tick or a blank both destroy.
Sequences, call recording, forecasting and custom reporting are all real features of that product. Anyone checking whether the product does these things would have marked the answer correct. A buyer on the entry plan would have found out otherwise. The page states all four on Professional and above, and none of them for Starter.
The plan boundary the page never draws
The answer did not just leave the plan out. It supplied one, splitting the four into core parts of the product and paid-tier extras. On the page all four sit on the same tier, so that split came from somewhere other than the source.
This is the version worth guarding against, because a careful reader waves it through. An invented boundary is more specific than the truth rather than vaguer, and people read detail as a sign that somebody checked. The blurry answer gets questioned. The confident, precise one does not. A cell that reads ABSENT for a year is also the clearest statement of a competitive gap you will get, provided the label carries the date it was checked.
An allowance is not a tick either
The rows you chose are the competitive argument
Everything above is about filling cells honestly. The bigger bias in a feature comparison is never in the cells. It is in which rows exist at all, and it survives because nobody checks it.
A matrix built from your own product’s feature list will show you ahead every time, whatever the products actually do, because every row is something you decided to build. A matrix built from a competitor’s page shows the reverse. Neither is dishonest, and both are useless. The tell is the same in both cases: a long tail of rows nobody has ever been asked about in a deal.
Build the row list from deals, not from products
The list worth having comes from evaluations. Which features have appeared in a request for proposal, been raised unprompted on a call, or turned up in a closed-lost reason. That list is usually short, sometimes uncomfortable, and it is where a gap costs you something. It is also the list a pre-sales team gets questioned on in a demo, so every row needs an answer somebody has tested. The rest belongs in an appendix, for the one buyer a year who asks.
It is worth naming what this does to the document. A matrix built from deal evidence is smaller, has more real ties in it, and makes fewer claims. It also survives a sceptical reader, which the ninety-row version does not. A product comparison written for a buyer rather than for an internal review is shorter again.
How to automate a competitive feature comparison
A feature matrix does not go out of date all at once, which is what makes it dangerous. Most rows stay true for a year. One row changes the week after you published it, and nothing in the document tells that row apart from the others.
The row that changes is rarely a random one. It is the feature a competitor was missing, that you built a differentiator on, and that they therefore put at the front of the queue. A feature gap analysis is where those rows are worth tracking separately, because they are the ones with a date coming. The gap you lead with is the gap most likely to close. You tend to find out when a claim in the battlecard stops surviving contact with a buyer.
Flares watches competitor product pages, release notes and changelogs. A feature appearing where an ABSENT label used to sit then reaches you dated, rather than by word of mouth. Which rows belong in the matrix, and what a closed gap means for your positioning, stay judgement calls.
The honest limit is the documentation itself. A vendor that ships quietly and documents late will show up late in any monitoring. That is an argument for treating recent ABSENT labels as provisional, not for checking more often. Legal technology vendors are the hard case, because contract review and drafting features ship weekly and only the release notes date them. Documentation is not the only surface that lags. Reading a competitor’s website as a structure catches renames the docs have not absorbed yet. Their pricing page moves faster than either, and competitor pricing is where a tier boundary shifts before any document mentions it.
Know when a competitor closes your gap
Flares watches competitor product pages and release notes, so a new capability shows up dated.
14-day free trial · 30-second setup
Feature comparison matrix FAQ
What is the best prompt for a competitor feature comparison?
One that replaces the tick with a label. Ask for EXPLICIT when a page names the feature outright, VAGUE when it waves at it without saying what it does, and ABSENT when no page you supplied mentions it. Then make the model state that ABSENT means not in the sources, rather than not in the product. That one change removes most of the errors, because it gives doubt somewhere honest to sit.
How do you stop AI inventing features a competitor does not have?
Supply the pages, forbid outside knowledge, and demand the exact wording next to every cell. Invention needs a blank to fill, and a matrix that requires a quote for each claim leaves none. One failure survives this, and it is quieter. A feature stated on a vendor's top plan gets reported as though the buyer's plan has it. That is why the plan check is a separate prompt.
Why does a blank cell in a feature matrix mislead people?
Because it reads as a statement about the competitor, and it is a statement about your research. A blank can mean the vendor does not do it, the page did not say, the docs say it elsewhere, or you did not save the right file. All four look identical once the matrix leaves your hands, and only one is a real gap you can sell against.
How do you compare features when two vendors use the same word differently?
Write the row definition before you compare anything, and split the row when the definitions do not match. Two products can both claim reporting, and mean a fixed dashboard in one case and a query builder in the other. A matrix that merges them compares two different features under one name. Feature parity assessed on labels rather than definitions is the most common way a comparison becomes confidently untrue.
Should a feature comparison be built at a specific pricing tier?
Always, and it should say which one at the top. Most feature questions in software have a per-plan answer, so a matrix that does not state its plan answers a different question for each vendor. Build it at the plan your buyer is genuinely looking at. Keep a second column for the vendor's top plan only if the upgrade path is part of your argument.
Can AI read a competitor's documentation to build a feature matrix?
A model reads documentation well, and that is exactly the work worth handing over. A hundred pages of docs become one row per feature, with the wording kept. What it cannot do is reach the documentation itself. You save the pages, it reads them, and the quality of the matrix is decided at the saving step rather than the reading one.
How many rows should a feature comparison have?
As many as a buyer would actually weigh, which is usually far fewer than you could list. A matrix of ninety rows is a document nobody reads. Worse, it buries a genuine advantage among eighty-nine ties. Pick the rows that have changed a decision in a real deal, and keep the rest in an appendix you can produce when somebody asks.
How do you handle a capability sold as a paid add-on?
As its own row, with the price in the cell rather than a tick. An add-on is a yes to does it do this and a no to is it included. A matrix that folds those into one symbol misleads whichever way it goes. Naming the add-on and its cost also puts the comparison on the same footing as the pricing conversation that follows.
Can one feature comparison cover more than two competitors?
One comparison can cover several. What breaks down first is not the reading but the row definitions. Past three or four vendors, a model starts smoothing away the wording differences between them, which is exactly what the definitions existed to protect. The matrix gets tidier and less true at the same time. Run each vendor separately against one fixed set of rows, then assemble the table yourself.
Where should a completed feature comparison live?
Somewhere with a column for the date and the source of each cell, because those two fields are what make it maintainable. A feature parity comparison matrix gives every row that structure and will export it. The alternative is a matrix that lives in a chat transcript and gets rebuilt from scratch each quarter.
Feature comparisons that do not quietly expire
Flares tracks what your competitors ship and when, so every row carries a date you can trust.
14-day free trial · 30-second setup