Analyse a competitor · 12 min read · Updated 14 Sep 2026

The Best Competitor Pricing Comparison Prompts

A competitor pricing comparison is a claim about one configuration at one moment, and most of them go wrong before the arithmetic starts. The prompts here force the model to keep annual and monthly prices apart, record every charge that is not the headline figure, and end with a list of what the page does not say.

A competitor pricing comparison is a claim about one configuration

Most pricing comparisons go wrong before any arithmetic happens. Two vendors publish numbers, somebody puts them side by side, and the table implies the two figures describe the same purchase. They rarely do. One assumes annual billing and the other monthly, one counts a platform fee the other folds into the seat price, and one of them charges for onboarding in a line the table never reached.

So the first decision is not which prompt to use. It is what configuration you are comparing at: how many seats, over what term, billed how, in which currency, with which capabilities required. Write that line down before you run anything. Every prompt below produces a different answer for a different configuration, and a comparison that does not state its own is not reproducible by the colleague who questions it.

The word price hides two numbers

Almost every software pricing page carries a billing toggle. The two figures behind it are not close to each other, and the gap is widest exactly where buyers start. HubSpot’s Sales Hub page in September 2026 puts Starter at $7 per seat per month billed annually and $20 billed monthly, which is the same plan described by two numbers nearly three times apart.

A table with one price column has therefore already made a decision and not recorded it. The prompts here refuse to let the model make that decision, which is why the first one spends a rule on it rather than on tone or persona. Price intelligence as a discipline is largely the practice of keeping these distinctions straight at scale.

Four prompts for comparing competitor pricing

Run them in order. Each one consumes the output of the one before it, so the table built first becomes the input to the cost model and the tier analysis rather than being rebuilt three times with small differences.

Start here. It produces the table everything else is built on.

From the pricing pages I have pasted below, build a comparison of every plan for [COMPETITORS]. One row per plan, with these columns: vendor, plan name, price, billing period the price assumes, unit the price is charged per, minimum commitment, and what moves a buyer to the next tier up. Rules: - If a page shows both annual and monthly prices, give both in separate columns. Never collapse them into one number. - Record any one-time fee, onboarding charge, credit allocation or seat minimum in its own row, not in a footnote. - Where a plan says "contact sales" or "custom", write exactly that. Do not estimate. - End with a list headed "Not stated on these pages" covering anything a buyer would need that the pages do not say. PRICING PAGES (saved [DATE]): [PASTE]

Once the table exists, this answers the question a buyer is actually asking.

Using the pricing table you just built, work out what each vendor would cost [COMPANY SHAPE]: [N] seats, a [TERM] commitment, paying [ANNUALLY OR MONTHLY], in [CURRENCY]. Show the arithmetic line by line. Include every one-time charge, seat minimum and mandatory add-on in the first-year total, and show year one and year two separately, since onboarding fees fall away. Where a vendor's page does not let you compute this, say which input is missing rather than substituting a typical figure.

The question that decides whether a comparison survives contact with a buyer.

From the same pricing pages, work out what moves a buyer from each plan to the next one up. For every tier boundary, give: the capability or limit that triggers the upgrade, the price step in both billing periods, and whether the trigger is a hard cap or a soft one. Then tell me which boundary a company of [N] seats doing [USE CASE] would hit first, and what in the page tells you that.

Run this last. What is missing is usually what loses the deal.

Looking only at the pricing pages provided, list everything a buyer would need in order to decide, that these pages do not state. Sort into: not published anywhere, published elsewhere on their site, and available only by contacting sales. For each item say why it matters to the decision. Do not guess at any of the values.

The fourth is the one people skip and the one that most often changes a decision. A buyer comparing two vendors is rarely stopped by a price; they are stopped by something neither page told them, and a list of those gaps is a better brief for a sales conversation than the comparison itself.

What to paste in before you ask about a competitor's price

Pricing is the single worst subject to ask a model about from memory, because the answer is numeric, confident and checkable, and nothing about it signals its age. Three things belong in the context window first.

Each competitor's pricing page, saved with the billing toggle in a known state

Where it comes from
Open the page, set the toggle to annual, save the text, then set it to monthly and save it again. For the tiers that never reach a public pricing page, the figure has to come from a buyer, a review listing or a procurement record instead.
What good looks like
Both toggle states captured, the date written at the top, and the footnotes included rather than trimmed.
Without it
The model reports whichever single figure it has, which is the more expensive one more often than not, and nothing in the output shows that a second price existed.

Your own price list on the same basis

Where it comes from
Your live pricing page rather than the internal deck, because the deck usually carries list prices nobody pays and omits the fees you have stopped mentioning.
What good looks like
The same currency, the same billing periods and the same unit of sale as the competitor pages you saved.
Without it
The comparison quietly flatters you, because your side arrives as best-case numbers and theirs as published ones.

The configuration you are comparing at

Where it comes from
A decision you make before running anything: how many seats, what term, which region, and which capabilities have to be included.
What good looks like
One line, written down, that a colleague could use to reproduce your table exactly.
Without it
The model picks a configuration implicitly, usually the entry tier, and the comparison answers a question nobody asked.
Then run it
Paste the grounding instruction, then the saved pages with their capture dates, then the pricing prompt. Keep your own price list in the same message so the comparison is built in one pass.
Before the output leaves the building
Open each vendor's live page beside the output and check the plan names, both prices and every one-time fee. Those three are what a rep says out loud, and they are where a stale figure costs the room.

What a model returned about competitor pricing, with and without the page

We ran the same question twice against one vendor whose prices are published openly, once with nothing supplied and once with the page saved that morning. The point of printing both is that the ungrounded answer is not obviously bad. It is the kind of answer somebody checks, nods at, and puts in a deck.

Both runs asked what HubSpot Sales Hub costs. The only difference between them is whether the saved pricing page was in the context window.

Claude Opus 5asked from memory, no sources supplied

2026-09-14

HubSpot Sales Hub has four tiers: Free, Starter, Professional and Enterprise. Starter is around $20 per user per month. Professional is around $100 per user per month, and Enterprise around $150 per user per month. Professional and Enterprise also carry one-time onboarding fees of roughly $1,500 and $3,500.

Checked against HubSpot Sales Hub pricing, captured 14 September 2026

The tier names are right and the onboarding fees are right. Every per-seat figure is the monthly-billing price presented as the price: the page shows Starter at $7 per seat per month billed annually against $20 billed monthly, and Professional at $90 against $100. A team quoting this in an annual comparison overstates Starter by roughly 186%. The answer also never reaches the credit allocations on the two paid upper tiers or the two-user cap on Free.

Conflation

Claude Opus 5same question, given the saved pricing page

2026-09-14

Free .......... $0 / $0 ... up to 2 users Starter ....... $7 annual / $20 monthly Professional .. $90 annual / $100 monthly + $1,500 one-time onboarding + 3,000 credits included Enterprise .... from $150 / seat / mo + $3,500 one-time onboarding + 5,000 credits included Not stated on this page: Enterprise monthly rate.

Checked against HubSpot Sales Hub pricing, captured 14 September 2026

Every figure matches the page, both billing periods survive, and the closing line names the one number the page does not publish rather than estimating it. The output is now only as good as the day the page was captured, which moves the risk from accuracy to age.

The failure was not invention

Every tier name came back correct. The onboarding charges came back correct. What went wrong was subtler: each per-seat figure quoted was the monthly-billing price, presented without saying so. Against an annual comparison that overstates the entry tier by roughly 186 per cent, and it does it consistently in the same direction, so nothing inside the answer looks inconsistent enough to query.

This is why “check the AI for hallucinations” is not a workable instruction for pricing work. Nobody is scanning for a fabricated plan name. The thing to check is whether each figure knows which billing period it belongs to, and the only way to check that is to have the page open.

What a grounded answer still cannot fix

The second run is accurate and its accuracy has a shelf life measured from the moment the page was captured. That is a genuine improvement, because a dated claim can be re-checked and an undated one cannot, but it is worth being precise about what changed: the risk moved from being wrong to being old. Those need different remedies, and only one of them is solved by a better prompt.

Checking a price comparison before a rep quotes from it

Three checks, in this order, because they are ordered by what costs you the room.

What to verify in a competitor pricing comparison, in order of what a mistake costs
CheckWhy it is firstHow long it takes
Plan namesA retired tier name is the fastest way to tell a buyer your information is old, and they will know before you do.One page load per vendor
Both figures, and which is whichThe most common error and the least visible. A single price column means somebody chose, silently.One toggle click per vendor
Everything that is not the headline priceOnboarding fees, seat minimums and included allowances change the first-year total without changing the price.A careful read of the footnotes

Then give the output somewhere to live. A comparison that stays in a chat window is re-derived by the next person who needs it, slightly differently. The competitive pricing matrix takes the table with its columns intact and exports it, which matters mainly because it gives every figure a cell to sit in beside the date it was captured.

The one line to add to every pricing table you publish internally

Captured from each vendor’s published pricing page on [DATE], at [N] seats on a [TERM] commitment billed [ANNUALLY OR MONTHLY]. Prices for plans marked contact sales are not published.

A competitor pricing comparison prompt cannot tell you the page changed

The comparison you just built is correct and it has already started ageing. What makes pricing different from most competitive work is the shape of the decay: it is not gradual, it is a step, and it happens on a day nobody announces.

A price rise is the easy case, because it is visible the next time anybody looks. The expensive case is a repackaging. A vendor moves one capability from the middle tier to the top one and every published figure on their page stays exactly the same, so a comparison built on those figures remains arithmetically perfect while describing a product that no longer exists at that price. Nothing in the output looks stale, which is precisely the problem.

Being late on that has a specific cost, and it is not embarrassment. It is a rep quoting a tier that was reorganised last quarter, in front of a buyer who has the competitor’s page open on a second screen, and losing the argument about everything else in the comparison at the same time.

Watching for it is ordinary competitive monitoring rather than anything a prompt can do. Flares tracks competitor pricing pages and what each tier contains, so a repackaging arrives as a notification rather than as a surprise in a deal, and the pages you paste into this prompt are the current ones.

What monitoring does not do is decide what the change means for your price. Whether a competitor moving a capability upmarket is an opening or a threat depends on your own packaging and your own buyers, and that is the judgement this prompt was always there to support rather than to make.

A competitor pricing comparison built on today

Flares tracks competitor plans and what each tier includes, so a repackaging does not pass unnoticed.

Discover Flares

14-day free trial · 30-second setup

Competitor pricing comparison FAQ

How do you prompt ChatGPT to compare competitor pricing?

Give it the saved pricing pages rather than the company names, then ask for one row per plan with separate columns for the annual and the monthly price. The instruction that does the most work is the one forbidding a single price column, because collapsing the two is the most common way a pricing comparison becomes wrong while looking complete.

Why does an AI get competitor prices wrong?

Less often by inventing them than by answering a question the page answers twice. Asked for a price, it returns one number, and that number is usually the monthly-billing rate because it is the one quoted most often in text. It also answers only what was asked, so one-time onboarding charges, seat minimums and included allowances sit outside the comparison unless the prompt demands them.

Should a pricing comparison use list price or the price you actually pay?

Both, in separate tables, because they decide different things. The list comparison decides whether you survive a shortlist drawn up before anyone speaks to you. The comparison built from what buyers actually signed decides whether those deals are worth winning. They can sit on opposite sides of parity at the same time, which is why a competitive pricing index is meaningless until it states the configuration it was computed at.

What should a competitor pricing comparison include beyond the price?

The billing period each figure assumes, the unit it is charged per, any seat minimum, every one-time charge, what is included before metering starts, and what triggers the move to the next tier. The last one is the item most often left out and the one a buyer feels first, because a limit reached in month four changes the real price without any price having changed.

How do you stop a model guessing a price that says contact sales?

Tell it what to write instead. An instruction to record the exact words "contact sales" or "custom" gives the model somewhere honest to put the gap, and a closing section listing what the pages do not state turns the absence into content rather than a hole somebody fills later from memory.

Can AI read a pricing page screenshot instead of pasted text?

It can, and the failure mode changes rather than disappearing. A screenshot captures one state of the billing toggle and usually crops the footnotes, so the output inherits whichever price was on screen and loses the conditions attached to it. If you work from images, capture both toggle states and the fine print as separate images, and say in the prompt which is which.

How current does a competitor pricing comparison stay?

Until the competitor changes something, which they do without telling you. The change that matters least is a price rise, because it is visible. The one that matters most is a repackaging that moves a capability between tiers, since every published figure stays identical while the comparison quietly stops describing what a buyer gets.

Is it legal to compare a competitor's published prices?

Using published prices for analysis is ordinary commercial practice. The care belongs on what you then say publicly: a comparison shown to buyers should be accurate on the day it is shown, state the configuration it assumes, and be updated when the competitor changes theirs. Most complaints about competitive pricing claims are about stale or unmatched comparisons rather than about the act of comparing.

What is a matched configuration in a pricing comparison?

The same job priced on both sides: the same seat count, the same term and billing cadence, the same capabilities wherever each vendor happens to gate them, and everything charged separately counted in. Software has no identical product to compare, so a matched configuration is a construction rather than a measurement, and writing down the judgements it contains is what makes the resulting number arguable rather than merely stated.

Where should the output of a pricing comparison prompt go?

Into the structure the people who use it already open. A table with named columns drops straight into a pricing teardown template, which also gives each figure somewhere to carry its capture date, and a date beside a price is what lets a reader six weeks later tell a current fact from a fossil.

Can one prompt compare more than two competitors at once?

Yes, and the quality falls once the pages stop fitting comfortably in one message. Three or four vendors is usually the point where it is better to run each vendor separately into the same column headings and assemble the table yourself, because a model reconciling six pricing pages at once starts normalising differences that were the whole point of looking.

Competitor pricing changes, watched continuously

Flares watches competitor pricing pages and tells you what moved, so your comparison starts from current figures.

Discover Flares

14-day free trial · 30-second setup