i wrote down ~100 public saas pricing pages so i'd stop guessing
I kept pricing off gut instinct + one competitor for way too long. You know the move. competitor is $29 so you're $19. or you're $49 because "premium." neither is a strategy. it's just… anchoring with extra steps, so i did something kind of dumb and kind of useful: opened a bunch of public pricing pages and wrote them down. analytics tools, email tools, form builders, newsletter stuff, hosting, that kind of indie/bootstrappy SaaS. no login walls. if i couldn't see a number, i didn't invent one. Sticker prices were less useful than noticing the shape: where free cuts off what the mid tier is actually selling (usually "remove friction," not "more features") whether the unit is seats, usage, projects, subscribers, etc. copying one competitor's number skips all of that. if you want the sheet I packaged it as an excel workbook (pricing tab + a patterns tab + a blank experiments sheet). yellow/uncertain cells mean i refused to make a number up. free 12-row sample: https://payhip.com/b/0Ubzu full ~100 comps: https://payhip.com/b/l72jY ($19) otherwise curious how people here actually did comps when they first shipped. interviews? gut? one rival's page? something else? ended up with ~100 rows in a spreadsheet. product, category, url, model (flat / seat / usage / freemium+paid / whatever), entry/mid/top when it was on the page, free tier y/n, annual discount if obvious, a short note, date checked. what got boring after enough of them some of it stops being interesting once you've seen it twenty times: usable free tiers that do one real job, then you pay to remove branding / raise limits / unlock collab. not the "7-day demo of everything" free. annual is weirdly consistent. like, ~two months free / ~15–20% off shows up a lot. a ton of indie entry prices live in this unglamorous $9–25 band. not always, but enough that "$79 starter" starts looking like a choice, not a default. not everything is per-seat. flat-by-project / flat-by-workspace shows up more than i expected. i wasn't