Plainwork

Plainwork / Hillband / Hill pace calculator: pace on a climb or descent

How to read a competitor's SaaS pricing page without getting the price wrong

Copying a competitor's price into your spreadsheet sounds like a five-minute job. It rarely is. Pricing pages are built to sell, not to document, so the number in the biggest type is often not the number a customer pays. This is the checklist we use before any price goes into a comparison. It needs nothing but a browser and the public page.

Written from our own method for the Price Teardown service. It is a research checklist, not financial advice. Examples are labelled with the date we looked, because pricing pages change.

1. Find out which billing toggle is selected

Most pages have a "Monthly / Yearly" switch. Some do not mark which side is active, and show only one price. When we read Calendly's public page on 2026-10-09, the Standard price was shown as "$10" per seat per month with a "Save 17%" badge but no marked selection, so the only honest reading was "probably the yearly rate, inferred". If the page does not say, write "billing period not stated" instead of choosing one. Then flip the toggle and read the page again: if the number changes, you have both prices.

2. Separate list price from promotions

Record the regular price and any promotion as two facts. A promotion has a length ("for the first 3 months") and ideally an end date. Two traps we have seen in practice:

  • A teaser price shown as the headline. Entry plans advertised at about a dollar for the first year exist, where the regular price is more than twenty times higher. The comparison number is the regular price; the teaser goes in a note.
  • An expired offer still displayed. A banner or footnote can carry an offer whose own fine print gives an end date that has already passed. If the date is in the past, it is not a price anyone can get. Note it as "expired but still displayed".

If a countdown ("savings end in...") shows no date, write "end date not stated" and do not treat the discount as permanent.

3. Per-seat, per-user or flat?

"$12 per user per month" for a ten-person team is $120. Write down the unit (seat, user, project, contact, event) and what counts as one. Check the small print for who must hold a seat: some tools only charge people who connect a calendar or edit, others charge everyone with a login.

4. Read the limits, not just the features

A feature ticked on a plan often has a cap beside it: number of projects, contacts, automations, history, storage or API calls. Capture the cap as a number. If the page lists a feature without a limit, write "limit not stated" rather than "unlimited". Only call something unlimited when the page uses that word.

5. Find the feature gates

The gate is the feature that pushes a customer up a tier: payments, SMS reminders, SSO, custom branding, exports, role permissions, priority support. Make a small grid: rows are features customers ask about, columns are plans, cells say which plan first includes it. The first column with a tick is the real price of that feature.

6. Add fees and add-ons the headline hides

Look for transaction fees (for example a percentage plus a fixed amount per card payment), overage charges, paid add-ons, onboarding fees and minimum terms. Fees are usually on a separate page or in the footnotes. If you cannot find them, say so.

7. Note the currency, region and tax

A "$" is not always US dollars. Write the currency if the page states it; some pages state it only in the footnote ("All prices are in USD"). Some show several currencies side by side, and many exclude sales tax or VAT. Say which one you recorded, and mention that prices may vary by region.

8. Write down the source and the date

Every figure needs the URL and the day you read it. Pricing pages change without notice, and a number without a date cannot be checked later. Do not use review sites or old blog posts for list prices: they are often out of date. Use them, if at all, as clues for where to look.

9. Separate what you know from what you infer

Keep three buckets: quoted from the page, inferred (and why), and could not establish. "Contact sales" pages go in the third bucket. Do not fill gaps from memory.

A one-minute checklist per competitor

QuestionWrite down
Which billing toggle is shown?Monthly, yearly or "not stated"; both prices if you can see both
Is any price a promotion?List price, promo price, length, end date or "not stated"
What is the pricing unit?Seat, user, project, contact; what counts as one
What are the caps on each plan?Numbers, or "limit not stated"
Which plan first adds each key feature?Your feature-gate grid
Any fees or add-ons?Percentages, fixed fees, add-on prices
Currency, region, tax?As stated on the page
Source URL and date read?Both, every time

Then answer one question

A table is not a decision. Finish by writing one sentence that answers what you actually wanted to know, such as "is a $9 plan too cheap, or too dear?". Often the real competitor is a free plan, not the paid one next to yours, and the useful finding is which feature a free plan does not offer.

Want to see this applied end to end? Read a full sample teardown, with sources and unknowns listed. If you would rather not spend an afternoon on it, the Price Teardown service does this for your product and 2 to 4 competitors in 24 hours for $49.

More from the catalogue

Other small tools

See everything →