<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>saas — jd:/dev/blog</title><description>Posts tagged &quot;saas&quot; on jd:/dev/blog.</description><link>https://julien.danjou.info/</link><item><title>The SaaSpocalypse Won&apos;t Kill SaaS</title><link>https://julien.danjou.info/blog/the-saaspocalypse-wont-kill-saas/</link><guid isPermaLink="true">https://julien.danjou.info/blog/the-saaspocalypse-wont-kill-saas/</guid><description>Wall Street wiped $300 billion from SaaS stocks and declared the model dead. They&apos;re right about the wrong thing.</description><pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img src=&quot;https://julien.danjou.info/images/blog/saaspocalypse.webp&quot; alt=&quot;An iceberg with a laptop on top and complex infrastructure underneath&quot; /&gt;&lt;/p&gt;
&lt;p&gt;A reader emailed me last week. He&apos;d listened to &lt;a href=&quot;https://saas.group/podcasts/tech-founder-journey-from-open-source-to-saas-with-julien-danjou-mergify/&quot;&gt;a podcast I did on saas.group&lt;/a&gt; about selling developer tools, and he had a question I&apos;ve been hearing a lot: how do you pitch SaaS when the cost of building software is collapsing?&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://julien.danjou.info/images/blog/saaspocalypse-techcrunch.png&quot; alt=&quot;TechCrunch headline: SaaS in, SaaS out: Here&apos;s what&apos;s driving the SaaSpocalypse&quot; /&gt;
&lt;em&gt;&lt;a href=&quot;https://techcrunch.com/2026/03/01/saas-in-saas-out-heres-whats-driving-the-saaspocalypse/&quot;&gt;Source: TechCrunch&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Fair question. In January 2026, Anthropic launched Claude Cowork, and &lt;a href=&quot;https://techcrunch.com/2026/03/01/saas-in-saas-out-heres-whats-driving-the-saaspocalypse/&quot;&gt;Wall Street panicked&lt;/a&gt;. Roughly $300 billion in SaaS market cap disappeared in a single trading session. Wall Street analysts &lt;a href=&quot;https://thenewstack.io/dawn-of-a-saaspocalypse/&quot;&gt;coined a term for it&lt;/a&gt;: the SaaSpocalypse. Per-seat pricing? Dead on arrival, apparently.&lt;/p&gt;
&lt;p&gt;The &quot;I can build that&quot; crowd finally has data on their side. They&apos;re right about one thing, and wrong about everything else.&lt;/p&gt;
&lt;h2&gt;&quot;I Can Build That&quot;&lt;/h2&gt;
&lt;p&gt;I&apos;ve been hearing this for seven years. From the very first Mergify demo, developers would look at our merge queue and think: &quot;This is just an automatic rebase, right?&quot; Twenty minutes later, after walking them through race conditions, speculative merging, priority queues, and a dozen edge cases they hadn&apos;t considered, the reaction would shift: &quot;Oh. That sounds quite hard to do.&quot; (I &lt;a href=&quot;https://julien.danjou.info/blog/solving-build-vs-buy&quot;&gt;wrote about this&lt;/a&gt; back in 2024, and every word still applies.)&lt;/p&gt;
&lt;p&gt;AI has made the objection louder. A developer with Claude or Cursor can now scaffold a basic merge queue in a weekend. I know this because &lt;a href=&quot;https://julien.danjou.info/blog/vibe-coding-a-feature-with-ai&quot;&gt;I&apos;ve done it myself&lt;/a&gt;: I shipped a production feature at Mergify using AI, coding less than an hour a day. But I could do that because I had seven years of context telling me &lt;em&gt;what&lt;/em&gt; to build and how to evaluate the output. The AI wrote the code. The judgment about what code to write came from running the product.&lt;/p&gt;
&lt;p&gt;A competitor starting from scratch with the same AI? They&apos;d build the wrong thing. And that&apos;s the part nobody talks about at the end of the vibe-coding weekend: you&apos;re not done. You&apos;re at the starting line. You&apos;ve compressed the first sprint, not the product. It&apos;s not done until you have real users running real workloads. Until you have a team that can maintain what you built. Until you can evolve it for years. The weekend prototype doesn&apos;t know that GitHub&apos;s API is asynchronous in ways they don&apos;t document, that it breaks under load in ways you only discover at scale, or that the enterprise customer needs SAML before they&apos;ll even look at your product.&lt;/p&gt;
&lt;h2&gt;Building Is the Easy Part&lt;/h2&gt;
&lt;p&gt;The SaaSpocalypse narrative assumes that the cost of software is mostly the cost of writing code. It&apos;s not. Writing code was always the cheapest part.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://julien.danjou.info/images/blog/saaspocalypse-retool-report.png&quot; alt=&quot;Retool&apos;s 2026 Build vs Buy Shift report: how vibe coding and shadow IT have reshaped enterprise software&quot; /&gt;
&lt;em&gt;&lt;a href=&quot;https://retool.com/blog/ai-build-vs-buy-report-2026&quot;&gt;Source: Retool&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://retool.com/blog/ai-build-vs-buy-report-2026&quot;&gt;Retool&apos;s 2026 Build vs. Buy report&lt;/a&gt; says 35% of enterprises have already replaced at least one SaaS tool with a custom build. That&apos;s a real number. But the report also shows where the replacements are concentrated: workflow automations, internal admin tools, basic dashboards. The easy stuff. The tools that were always one ambitious intern away from being replaced. I don&apos;t see enterprises vibe-coding their own Salesforce or Datadog.&lt;/p&gt;
&lt;p&gt;The costs that AI didn&apos;t make cheaper:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Users.&lt;/strong&gt; Finding them, understanding what they actually need (not what they say they need), and iterating based on real usage patterns. We built speculative merging at Mergify because a customer running 100+ PRs a day showed us that sequential merging broke down at scale. That insight came from watching real teams hit real walls, not from a prompt. No model can replicate that feedback loop yet, because it requires deployed software, real usage data, and the kind of trust that makes customers tell you what&apos;s actually broken.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Maintenance.&lt;/strong&gt; Your weekend project works today. Will it still work when GitHub ships a breaking API change? When your company scales from 50 to 500 engineers? When the on-call engineer at 2am needs to debug a failure path you never tested? AI &lt;a href=&quot;https://julien.danjou.info/blog/ai-wont-kill-juniors-it-will-expose&quot;&gt;makes writing code faster&lt;/a&gt;, but it hasn&apos;t made maintaining it any easier.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Trust.&lt;/strong&gt; Enterprise buyers don&apos;t want a git repo. They want SOC 2, uptime SLAs, a support contract, and someone to call when things break. Trust is earned across hundreds of deployments, not generated in a prompt.&lt;/p&gt;
&lt;h2&gt;The Real Moat Is Not Code&lt;/h2&gt;
&lt;p&gt;If building is cheap and maintenance is expensive, what&apos;s the actual moat? Domain expertise. The thing that takes the longest to build up and is the hardest to transfer.&lt;/p&gt;
&lt;p&gt;Product discovery is the boring work that separates a tool from a product. The thousands of conversations with users. The wrong turns that taught you what not to build. The instinct for when a feature request is actually a symptom of a different problem. Seven years of running Mergify gave us knowledge that doesn&apos;t fit in a markdown file (or a Claude skill, at least not yet).&lt;/p&gt;
&lt;p&gt;Reliability, trust, and ease have no price. They&apos;re earned over years, not generated over a weekend.&lt;/p&gt;
&lt;p&gt;AI agents are getting better at learning domains. &lt;a href=&quot;https://metr.org/blog/2025-03-19-measuring-ai-ability-to-complete-long-tasks/&quot;&gt;METR benchmarks&lt;/a&gt; show that the scope of what AI can handle autonomously is doubling roughly every seven months. I&apos;m not dismissing that. But domain expertise isn&apos;t just knowledge you can look up. It&apos;s judgment shaped by consequences. AI can read your docs. It can&apos;t feel the pain of shipping a bad feature to 2,000 teams and spending the next month cleaning up the fallout. That scar tissue is what makes you build differently the next time. Maybe AI will get there. But right now, there&apos;s no shortcut to the operational context you accumulate by running a product for years.&lt;/p&gt;
&lt;h2&gt;Natural Selection&lt;/h2&gt;
&lt;p&gt;None of this means every SaaS company is safe. Thin wrappers, glorified CRUD apps, tools that existed only because building was expensive: they should be worried. This is natural selection, and it won&apos;t be fair. Some decent products with real value will die too, because their surface area is small enough for AI to replicate. A standalone CSV-to-dashboard tool? That&apos;s a Claude prompt now, not a business.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://julien.danjou.info/images/blog/saaspocalypse-benioff.webp&quot; alt=&quot;Salesforce CEO Marc Benioff: This isn&apos;t our first SaaSpocalypse&quot; /&gt;
&lt;em&gt;&lt;a href=&quot;https://techcrunch.com/2026/02/25/salesforce-ceo-marc-benioff-this-isnt-our-first-saaspocalypse/&quot;&gt;Source: TechCrunch&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://techcrunch.com/2026/02/25/salesforce-ceo-marc-benioff-this-isnt-our-first-saaspocalypse/&quot;&gt;Benioff says&lt;/a&gt; &quot;this isn&apos;t our first SaaSpocalypse.&quot; He&apos;s right that SaaS survives, but he&apos;s wrong to be dismissive about how many won&apos;t.&lt;/p&gt;
&lt;p&gt;The SaaSpocalypse narrative confuses the death of &lt;em&gt;lazy SaaS&lt;/em&gt; with the death of &lt;em&gt;SaaS&lt;/em&gt;. The model isn&apos;t dying. The bar is rising. The products that survive will be the ones where the code was never the point. The point was always the knowledge embedded in it.&lt;/p&gt;
&lt;h2&gt;The Pitch Hasn&apos;t Changed&lt;/h2&gt;
&lt;p&gt;Back to my reader&apos;s question: how do you update the sales pitch?&lt;/p&gt;
&lt;p&gt;You don&apos;t. The pitch was never &quot;we wrote the code so you don&apos;t have to.&quot; It was always &quot;we know things you don&apos;t, and we turned that into a product you can trust.&quot; The framing shifted. Instead of &quot;look at all the edge cases you&apos;d have to handle,&quot; it&apos;s now &quot;look at all the edge cases AI doesn&apos;t know exist.&quot;&lt;/p&gt;
&lt;p&gt;The moat was never the code. It was always the knowledge.&lt;/p&gt;
</content:encoded><category>ai</category><category>startup</category><category>saas</category></item><item><title>SaaS Pricing is Hard</title><link>https://julien.danjou.info/blog/saas-pricing-is-hard/</link><guid isPermaLink="true">https://julien.danjou.info/blog/saas-pricing-is-hard/</guid><description>Our Journey at Mergify</description><pubDate>Tue, 04 Feb 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Pricing is one of the hardest things to get right in SaaS. If you’re a startup founder, especially in B2B, you’ve likely wrestled with pricing questions:&lt;/p&gt;
&lt;p&gt;💰 &lt;strong&gt;How much should I charge?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;📊 &lt;strong&gt;What pricing model makes sense?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;⚖️ &lt;strong&gt;How do I ensure fairness while maximizing revenue?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;At &lt;a href=&quot;https://mergify.com&quot;&gt;Mergify&lt;/a&gt;, we’ve spent years experimenting, iterating, and learning the hard way. Here’s a breakdown of our journey—and what we’d do differently if we had to start over.&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;How We Picked Our First Pricing Model&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;When we first launched Mergify, we had no idea what the right pricing model should be. So, like many startups, we &lt;strong&gt;copied GitHub&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;We charged &lt;strong&gt;per user, based on the size of the entire organization.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This meant that if a company had 200 engineers, they had to pay for all 200 engineers—even if only 20 or 30 of them actually used Mergify.&lt;/p&gt;
&lt;p&gt;For small companies (e.g., 20–30 engineers), this wasn’t a big deal. They usually had one team using Mergify across all their repos. But as we grew and larger companies came in, things got tricky.&lt;/p&gt;
&lt;p&gt;🛑 &lt;strong&gt;Larger companies had multiple teams, and only some teams used Mergify.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;💰 &lt;strong&gt;They didn’t want to pay for everyone—just for the engineers who actually needed it.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We needed to change.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://julien.danjou.info/images/blog/52ea4806-fcf2-43cc-b5e2-cd505bc8d0f2_1376x864.webp&quot; alt=&quot;Illustration of SaaS pricing evolution from per-organization to per-collaborator model&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Counting Users the “Right” Way&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;To address this, we moved to a new model:&lt;/p&gt;
&lt;p&gt;✅ Instead of charging per &lt;strong&gt;organization&lt;/strong&gt;, we charged per &lt;strong&gt;collaborator&lt;/strong&gt;—engineers who had &lt;strong&gt;write access&lt;/strong&gt; to a repository where Mergify was active.&lt;/p&gt;
&lt;p&gt;This felt fairer. A company with 100 engineers could now pay only for the repositories where Mergify was used, rather than for the entire org.&lt;/p&gt;
&lt;p&gt;At the same time, we &lt;strong&gt;doubled our price per user&lt;/strong&gt;. Why?&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Customers were already seeing the value, and price wasn’t their biggest concern.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The new model lowered the user count for most companies, so we had to balance revenue.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;&lt;strong&gt;The Math: Why This Worked&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;For a company with &lt;strong&gt;100 engineers&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Old model:&lt;/strong&gt; $2 per user × 100 users = $200/month&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;New model:&lt;/strong&gt; $4 per user × 50 repo contributors = $200/month&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For many customers, their bill stayed roughly the same. But they were &lt;strong&gt;happier&lt;/strong&gt; because they felt they were paying for what they actually used.&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Fairness is Everything&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;But the journey didn’t stop there.&lt;/p&gt;
&lt;p&gt;Larger organizations often &lt;strong&gt;gave write access to all engineers by default&lt;/strong&gt;, even if only a subset was actually making commits. That meant some companies were being charged for engineers who weren’t actively contributing.&lt;/p&gt;
&lt;p&gt;So we introduced another iteration:&lt;/p&gt;
&lt;p&gt;✅ &lt;strong&gt;Charging per “active user”—engineers who actually made commits.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This approach, inspired by &lt;strong&gt;&lt;a href=&quot;https://slack.com/help/articles/23546798305171-FAQ--Updates-to-Slack%E2%80%99s-active-user-calculation&quot;&gt;Slack’s active user model&lt;/a&gt;&lt;/strong&gt;, made more sense. Now, companies only paid for users who actively used Mergify.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://julien.danjou.info/images/blog/8295f69d-866e-46b3-907b-b23eaa9b0c94_1376x864.png&quot; alt=&quot;Illustration of active user pricing model for SaaS billing&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;The Math: Why This Worked (Again)&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;For a company with &lt;strong&gt;100 engineers&lt;/strong&gt;, where only &lt;strong&gt;40 engineers actively pushed commits&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Previous model:&lt;/strong&gt; $4 per user × 100 write-access users = &lt;strong&gt;$400/month&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;New model:&lt;/strong&gt; $8 per user × 40 active users = &lt;strong&gt;$320/month&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Again, the price per user increased, but total spending often decreased or stayed the same. More importantly, it felt &lt;strong&gt;fairer&lt;/strong&gt; to customers.&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;The Real Takeaway: Fairness &amp;gt; Exact Pricing Models&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;What we’ve learned is that most customers don’t scrutinize &lt;strong&gt;how much they pay&lt;/strong&gt;—but they deeply care about &lt;strong&gt;why they are paying it&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;💡 &lt;strong&gt;Customers want fairness more than they want cheap pricing.&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;They don’t want to pay for people who never use the product.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;They want transparency in billing.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Now, no matter how much we refine our pricing, &lt;strong&gt;some customers will always question it&lt;/strong&gt;. That’s fine. What matters is that we keep the discussion focused on value—not just pricing mechanics.&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;Advice for SaaS Startups Navigating Pricing&lt;/strong&gt;&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Don’t get stuck in the weeds of perfect pricing.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Focus on maximizing total revenue, not obsessing over per-user logic.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Price increases aren’t scary if you frame them well.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Every time we changed how we counted users, we also raised prices—and it worked fine. You can always grandfather happy customers.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;People care more about fairness than numbers.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If customers understand &lt;strong&gt;why&lt;/strong&gt; they’re paying what they’re paying, they’re much less likely to complain.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;&lt;strong&gt;Final Thoughts&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Pricing is a constant &lt;strong&gt;work in progress&lt;/strong&gt;. We’ll probably keep refining it at Mergify as we grow. But the core lesson is this: &lt;strong&gt;be transparent, focus on fairness, and anchor pricing to the value your product delivers.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you want more on how we think about pricing, I wrote about &lt;a href=&quot;https://julien.danjou.info/blog/saas-and-work-based-pricing&quot;&gt;why we&apos;re sticking with seat-based pricing over work-based models&lt;/a&gt; and the broader &lt;a href=&quot;https://julien.danjou.info/blog/solving-build-vs-buy&quot;&gt;build vs buy dilemma&lt;/a&gt; from the customer&apos;s perspective.&lt;/p&gt;
</content:encoded><category>saas</category><category>mergify</category></item><item><title>SaaS and Work-based Pricing</title><link>https://julien.danjou.info/blog/saas-and-work-based-pricing/</link><guid isPermaLink="true">https://julien.danjou.info/blog/saas-and-work-based-pricing/</guid><description>Is this the future?</description><pubDate>Tue, 19 Nov 2024 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Despite the rising popularity of work-based pricing in SaaS, Mergify is sticking with seat-based pricing—for now. Here’s why we believe it’s the right choice for our product and our customers, and their ability to budget with confidence&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;The Work-Based Pricing Trend&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Following the latest SaaS pricing trends is tempting, especially when they align so well with a powerful concept: customers pay in proportion to the value they receive. In recent months, “work-based” pricing has gained traction across the industry, especially in AI-driven applications where you pay per task completed. It’s a straightforward exchange: resolve a customer’s problem and receive $1.&lt;/p&gt;
&lt;p&gt;Simple, clear, and highly attractive.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://julien.danjou.info/images/blog/bde84986-3269-430e-a397-d7970e372fbd_1376x864.webp&quot; alt=&quot;Illustration of work-based pricing in SaaS&quot; /&gt;&lt;/p&gt;
&lt;p&gt;When we first considered revisiting Mergify’s pricing for next year, work-based pricing seemed like a model worth exploring. Imagine a setup where every task accomplished by Mergify correlated directly to the value we delivered to our customers. More value equals more payment, a transparent exchange that clients find easy to understand. But, as we dove deeper, we realized that the nature of Mergify’s work doesn’t fit so neatly into this model.&lt;/p&gt;
&lt;p&gt;And that might be true for your SaaS as well.&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;The Value Clarity of Work-Based Pricing&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Work-based pricing makes perfect sense for certain SaaS products. Consider the AI-driven customer support solutions rolling out recently, like &lt;a href=&quot;https://www.salesforce.com/agentforce/pricing/&quot;&gt;Salesforce’s $2-per-conversation approach&lt;/a&gt; or &lt;a href=&quot;https://www.intercom.com/help/en/articles/8205718-fin-ai-agent-resolutions&quot;&gt;Intercom’s Finn and its 0.99$ per resolved conversation&lt;/a&gt;. The pricing here is inherently appealing because it aligns precisely with the customer’s perception of value: for every problem resolved, they see a clear, direct benefit to their end users, who leave satisfied and engaged.&lt;/p&gt;
&lt;p&gt;This clarity makes it easy for a customer to decide—they’re paying to solve a specific pain point for their users, and each solved interaction has a measurable outcome. The more conversations are solved, the more they pay; it feels like a no-brainer.&lt;/p&gt;
&lt;p&gt;Customers see exactly where their money is going, and it scales beautifully alongside their growth: the more users they have, the more problems they have, and the more value you can provide. But also: the more users they have, the more money they have, so they’re happy with giving you a part of it. Everything can grow at the same rate, from the customer’s business size to the value your SaaS provides.&lt;/p&gt;
&lt;p&gt;This reminds me of the early days of cloud computing when Amazon Web Services introduced usage-based billing. The more your business grew, the more infrastructure you used, and the higher the bill. It made perfect sense, and that was one of the reasons for its success and early adoption by startups.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://julien.danjou.info/images/blog/8928f8ae-0c2c-4992-8a82-0c7739b205be_1376x864.png&quot; alt=&quot;Illustration of usage-based billing scaling with business growth&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;Why Work-Based Pricing Doesn’t Always Fit&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;At Mergify, we aimed to find the same direct correlation between our value and our pricing model. However, our reality is different: the value we provide is primarily to software engineers who use Mergify to streamline their CI/CD workflows. It’s an incredibly powerful tool, but it doesn’t impact our customers’ end-users in an obvious way. This makes work-based pricing challenging because we’re one step removed from the end-user experience — and, therefore, from the business.&lt;/p&gt;
&lt;p&gt;We brainstormed possible approaches. Perhaps we could charge per pull request made by developers. After all, that’s a major part of what Mergify automates and where it provides value. But we immediately saw a problem: this model could encourage the wrong behavior. If every pull request carries a charge, teams might try to reduce the number of pull requests to save on costs, potentially compromising code quality. As engineers ourselves, we value clean, &lt;a href=&quot;https://en.wikipedia.org/wiki/Atomic_commit&quot;&gt;atomic commits&lt;/a&gt; and easy reviews. A per-pull-request charge could discourage these practices, creating friction between the optimal workflow and our pricing model.&lt;/p&gt;
&lt;p&gt;Another challenge with work-based pricing is the difficulty it presents for customers when predicting their usage. Most organizations set budgets a year in advance, and it’s nearly impossible for a team to accurately estimate the number of pull requests or jobs they’ll need in a year. This unpredictability makes budgeting stressful and challenging, especially for engineers seeking approval for software expenses. With seat-based pricing, customers know their costs upfront, which aligns much better with annual budget planning.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://julien.danjou.info/images/blog/37914459-6600-46b0-a064-bd6144fb49fe_1376x864.png&quot; alt=&quot;Illustration of the challenges of per-unit pricing for developer tools&quot; /&gt;&lt;/p&gt;
&lt;p&gt;We also considered a per-job charge based on CI (Continuous Integration) runs, but this quickly ran into similar issues. Running a high volume of CI jobs often results in better software quality. Charging per job could lead to reduced testing—a problematic incentive in an industry where quality matters deeply. CI providers charge per job because of the required computing power, but in Mergify’s case, we don’t incur comparable costs. So, a per-job charge wouldn’t reflect our real costs and could end up discouraging best practices.&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;The Challenge of Finding the Right Fit&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;In a perfect world, we’d find a model where Mergify’s pricing scaled directly with the customer’s perceived value. However, we found that our usage patterns, like many SaaS, do not align with the benefits of the work-based approach. To truly capture the value Mergify provides, we realize that seat-based pricing continues to be our best option, at least for now.&lt;/p&gt;
&lt;p&gt;By charging per user (seat), we avoid influencing developer behavior, allowing them to use Mergify to improve their workflow without second-guessing how often they use it. We also want to avoid the stress of unpredictable costs. Seat-based pricing allows our clients to budget accurately and avoid unexpected expenses, aligning our pricing model with their planning cycles and offering peace of mind. As we continue to build Mergify, our goal remains to be the trusted tool in the hands of developers.&lt;/p&gt;
&lt;p&gt;Right now, that means a seat-based model, which keeps our focus where it belongs—on supporting teams to do their best work, no strings attached.&lt;/p&gt;
&lt;p&gt;This decision wasn&apos;t easy, and we might revisit it in the future. Pricing is a delicate balance between the customer&apos;s experience, the product&apos;s value, and the company&apos;s needs. I wrote more about &lt;a href=&quot;https://julien.danjou.info/blog/saas-pricing-is-hard&quot;&gt;our full pricing journey at Mergify&lt;/a&gt; — from copying GitHub&apos;s model to active user billing.&lt;/p&gt;
</content:encoded><category>saas</category><category>mergify</category></item><item><title>Solving Build vs Buy</title><link>https://julien.danjou.info/blog/solving-build-vs-buy/</link><guid isPermaLink="true">https://julien.danjou.info/blog/solving-build-vs-buy/</guid><description>A Developer’s Dilemma</description><pubDate>Tue, 13 Aug 2024 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Selling to developers is challenging, and the mindset of “build or buy” is one of the biggest hurdles. Over the past year at &lt;a href=&quot;https://mergify.com&quot;&gt;Mergify&lt;/a&gt;, we&apos;ve encountered countless engineers grappling with this dilemma.&lt;/p&gt;
&lt;p&gt;Developers are natural problem-solvers. When they encounter an issue, their first instinct is often to build a solution themselves. They see a problem, identify it, and immediately start imagining how they would solve it. However, there&apos;s a significant gap between having expertise in engineering and having expertise in a specific solution.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://julien.danjou.info/images/blog/b4c65ae0-f84e-4061-a094-35e39c1f133d_1376x864.webp&quot; alt=&quot;Illustration of the build vs buy dilemma for developers&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;The Overconfidence Trap&lt;/h2&gt;
&lt;p&gt;Many developers fall into the trap of underestimating the complexity of the problems they&apos;re trying to solve. It&apos;s akin to asking an engineer, &quot;How long to fix XYZ?&quot; and hearing, &quot;Should be done today,&quot; only for the task to stretch out over a week as unforeseen complications arise. They start working on the problem, only to discover layers of hidden challenges—refactoring needs, unexpected dependencies, and more. It all makes sense in hindsight, but it&apos;s nearly impossible to foresee these issues at the outset.&lt;/p&gt;
&lt;p&gt;This overconfidence often leads to the creation of subpar solutions. While some teams might eventually succeed, these homegrown solutions fall short of their commercial counterparts more often than not. Moreover, solving problems outside of your core business usually results in a poor return on investment. Think about it: how many companies still manage their own email servers when GSuite offers a hassle-free solution for just $6 per user per month? Your IT team is incapable of competing with such an offer.&lt;/p&gt;
&lt;p&gt;The typical customer for this comes to your demo call with a speech along those lines: “We’ve tried building a solution to this problem, but we failed because we hit too many bumps in the road; it seems you guys know how to solve it.” Teams that take this road are the easiest to win customers because they already know they can’t build.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://julien.danjou.info/images/blog/8f07ef4b-9de1-4f46-b001-2b3939f1c38c_1376x864.webp&quot; alt=&quot;Illustration of customers discovering the complexity they underestimated&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;The Build or Buy Mindset in Action&lt;/h2&gt;
&lt;p&gt;During our demo sessions at Mergify, we frequently encounter engineers who are initially skeptical about buying a solution. They come with a build-or-buy mindset, confident in their ability to solve the problem themselves. They&apos;re curious about why they should spend money on a product when they believe they can build it in-house. This is where it gets interesting.&lt;/p&gt;
&lt;p&gt;One of the most enjoyable aspects of these sessions is debunking their assumptions. For instance, many engineers approach our merge queue system thinking, &quot;This is just an automatic rebase, right?&quot; After a 20-minute demo, they often leave with a new appreciation for the complexities involved. &quot;Oh, okay. That sounds quite hard to do. Good job.&quot; This is where I reply with: “Well, this is why we’ve been working on this for 5 years already and have hundreds of customers.” 😉 Let me brag a bit.&lt;/p&gt;
&lt;p&gt;By walking them through the numerous edge cases and intricacies that our product handles, we can show them just how challenging the problem really is.&lt;/p&gt;
&lt;h2&gt;The Power of Demonstrating Value&lt;/h2&gt;
&lt;p&gt;This experience highlights why startup founders who are engineers can be excellent salespeople. They understand the technical mindset and can effectively communicate the value of their products. The key is to convey the value of your product in your messaging and demos.&lt;/p&gt;
&lt;p&gt;Having at least one feature that is both highly valuable and challenging to implement can make a significant impact. The more features like this you can demonstrate, the better—provided they solve real problems and aren&apos;t just complex for complexity&apos;s sake.&lt;/p&gt;
&lt;h2&gt;Final Thoughts&lt;/h2&gt;
&lt;p&gt;The &quot;build or buy&quot; dilemma is a significant barrier in marketing devtools. Developers&apos; natural inclination to build solutions themselves can lead to underestimations of complexity and overconfidence. By demonstrating the intricate challenges your product solves and highlighting its value, you can shift their perspective. In the end, it&apos;s about showing that your solution is not just a convenience but a necessity for efficient and effective problem-solving. Once you&apos;ve won them over, the next challenge is &lt;a href=&quot;https://julien.danjou.info/blog/saas-pricing-is-hard&quot;&gt;getting pricing right&lt;/a&gt; — which has its own set of hard lessons.&lt;/p&gt;
</content:encoded><category>saas</category><category>startup</category></item></channel></rss>