๐Ÿ’ธratemypricingโ˜… github
๐Ÿง  how the machine makes up its mind

The Heuristic

Every rating runs an assembly line of small AI agents โ€” each with one job โ€” and ends in a transparent points system. No black-box vibes; here's exactly how it works.

The assembly line ๐Ÿ› ๏ธ

1
The ScoutGPT-5 mini

Given any URL, it hunts down the real pricing page โ€” following navigation links, the sitemap, and a site's own machine-readable index. If the page just links out to the rates (a docs or detail page), it digs one level deeper. It will never settle for a blog post that merely mentions pricing.

โ†“
2
The ReaderGPT-5

Reads the page as untrusted data and pulls out only the literal pricing structure: plans, prices, metered dimensions, add-ons, and in-plan options. It ignores any text trying to instruct or flatter it, so a page can't talk its way to a better score. If the quick read looks suspiciously thin, it does a full browser render and tries again.

โ†“
3
The LibrarianGPT-5

Looks at the whole page to name the company and file it into one shelf: DevTools, PaaS, AI Lab, SaaS, or Education. The category sets the expectations the scorer judges against.

โ†“
4
The AnalystGPT-5

Sees only the clean, structured data โ€” never the raw page โ€” and works out the billing model and a plain-language summary. Because it can't read the page text, injected prose can't sway its judgement.

โ†“
5
The Scorerpure math ยท no model

A transparent points system. It doesn't ask a model for a number โ€” it counts the structure (plans, meters, add-ons, sales walls) and adds up named deductions. Every point on a result page is one of these lines.

โ†“
6
The JudgeGPT-5 mini

A final QA pass. It compares the finished result against the page it read and flags anything that went wrong โ€” wrong page, wrong company, missing details, an implausible score โ€” so regressions get caught before they're published.

The data narrows as it flows: a messy page becomes clean structured facts, and only those facts โ€” never the raw page โ€” reach the parts that judge and score. That's also the trick that makes it prompt-injection-proof.

How the score is built ๐Ÿงฎ

Two scores, each starting at 100. A clear, normal pricing page keeps almost all of it โ€” points only come off for genuine friction.

๐Ÿงพ

Pricing clarity

Can a buyer quickly understand what they'll pay and predict the bill?

Free baseline โ€” no penalty
  • โœ“ up to 3 plans
  • โœ“ 4 in-plan options
  • โœ“ 2 add-ons
  • โœ“ 3 metered dimensions
Then points come off for friction
  • Each plan beyond 3 to compare (a free tier counts for less)โˆ’6, up to โˆ’24
  • Mixing pricing models (flat + usage + add-ons all at once)โˆ’9 per model
  • Each metered dimension beyond 3 to trackโˆ’3, up to โˆ’28
  • Each add-on beyond 2โˆ’4, up to โˆ’16
  • Each in-plan config choice beyond 4 (machine sizes, regionsโ€ฆ)โˆ’2, up to โˆ’20
  • No self-serve price anywhere โ€” you must call salesโˆ’45 (the big one)
  • A contact-sales Enterprise tier sitting on top of real pricingโˆ’4 (barely)
  • Pricing page too sprawling to read in fullโˆ’15
๐Ÿ’ก Usage-based pricing is not punished for existing โ€” it's fair, pay-for-what-you-use. Only the complexity of many meters counts, and barely so for dev tools, platforms, clouds & AI labs (it's expected there). Education is the exception โ€” pricing should be flat.
๐Ÿงฑ Scope-aware: a platform that sells 40 things will naturally have more plans. That breadth is largely forgiven โ€” but per-product complexity (lots of meters) is not.
๐Ÿค–

Agent easiness

Could an AI agent actually read and understand the page on its own?

A clean, self-contained pricing page = 100
Points come off when reading is hard
  • Couldn't load the page at allโˆ’100
  • No clean machine-readable version โ€” had to parse raw HTMLโˆ’15
  • Couldn't find any real prices to readโˆ’40 to โˆ’55
  • Page too large to read in one goโˆ’20
  • Real prices weren't on the pricing page (scattered across sub-pages)โˆ’20
  • Prices gated behind a login or sales callโˆ’20
๐Ÿ”Ž This is separate from clarity on purpose: the pricing might be perfectly clear to a human, but if an agent has to render JavaScript or dig through sub-pages to find the rates, that's a worse experience โ€” and it shows here.