Building SQL ConstantCare®: Product, Packaging, and Pricing

Our new SQL ConstantCare® is our first paid online service – it tells you what you should do next on your SQL Servers. I’ve written about the vision and the architecture design, and this week I’m continuing to share the behind-the-scenes planning.

When you buy it, how exactly should we charge you? There’s a few options:

  • Priced per-server (say, each server is $X per month)
  • Priced per-user
  • Priced per-tier (maybe basic reports are $X, and more in-depth reports are $Y, or maybe it’s based on the frequency of reports)
  • A combination of the above (like $X per user for the first Y servers, then $Z for unlimited)
  • Freemium – free for up to X servers or users (and freemium could be mixed with either per-server or per-person pricing)

I ruled out per-server pricing early on because I wanted users to be excited to use this on all of their servers. I’ve talked to a lot of monitoring software customers who said things like, “We have 1 license of our monitoring software, and we move it around from server to server based on what’s having problems.” Screw that – I need to get data on your server when it’s healthy, before the problems strike, so I can identify things like good execution plans before they go awry.

I kinda wanted to try freemium. Because we built it with cost-effective serverless technologies, we could really afford to process the data for tens of thousands of SQL Servers for free. However, that’s only the processing – not doing tech support or improving the service. Those cost money, and I wasn’t sure I’d be able to convert enough free customers to a high enough premium tier to pay for that support & development. (Remember, I’ve got the ISV background, and I know how expensive those departments can be.)

One could also argue that there’s a real value in getting performance & health data on all of the world’s SQL Servers, and then using that data to identify the right customers for consulting and training. It might even make us a strong acquisition target because we’d have data that other ISVs, consulting companies, and cloud hosts might want. However, companies probably don’t want to acquire a list of customers who aren’t even willing to pay $10 to make their SQL Servers faster or more reliable. And worse, I didn’t wanna be acquired out of desperation because we’d run out of money, and that seems to be a recurring theme with companies that get acquihired.

Besides, in a way, I could kinda do limited-time-freemium by doing a Free Server Friday, running sales, giving folks a free trial for a week, or even using it as part of our annual salary survey. One of the things I loved about WooCommerce‘s pricing & coupon handling is that there’s a lot of flexibility.

I settled on simple per-user pricing for the MVP (Minimum Viable Product – a concept in Lean Startups, something I’ll be talking about later.) As we add features down the road, we can add additional tiers like Enterprise, ISV (who needs to watch their customer servers), or Consultant (yes, I want freelancers to be able to use this to understand what’s happening on their clients’ servers.)

Then I had to decide what was included.

The beauty of controlling your own services and content is that you can figure out how you want to bundle them together for the best customer value. We do consulting, training, and now online services – so what was the right way to sell the new service? Should it be standalone, or bundled with:

We might just let you pay with these

  1. Access to our video training library (because the emails might point you there, telling you in more details about the task you need to perform on a server)
  2. Access to our live online classes
  3. Access to our consultants – could be private emails, or via our Slack channel, or comments on your PasteThePlan plans, or X hours or WebEx time per month – which could be expensive for us, but as Paul Graham suggests, try things that don’t scale
  4. Access to entirely new stuff – like perhaps deeper levels of analysis for PasteThePlan – I ruled this out because I didn’t want to spend any more development time than I had to, at least not yet

So say for example we give you access to #1, but we charge for #3 – here’s what one of the emails might look like:

You’re currently not running CHECKDB, and based on your data volumes and your low server horsepower, I don’t think you’re going to be able to start. For now, you should set up a weekly CHECKDB job with the PHYSICAL_ONLY option. Here’s a video explaining how to do it, and if you want to learn more about the mechanics behind my recommendation, here’s a 1-hour video that goes even deeper. If you’re not confident in how this works, click here to buy & schedule a 30-minute call with the next available consultant.

Or, if I had a much higher price and included a set number of consultant calls per month, that last sentence might look like this:

Got questions about any of your homework tasks this week? Click here to schedule a 30-minute session with the next available consultant. You have 3 remaining free sessions this month.

For the first version, I decided to keep it simple: email advice, plus access to all of our self-paced recorded video training. In the future, we might add in a Pro level with bundled pricing for access to our consultants, or even refer folks to other consulting firms that are good fits for the problems they’re facing.

The packaging and pricing affected our other products, too.

Oh you’ll know when the marketing launch hits, trust me

We’re taking a relaxed approach to launching this, just kinda putting it out there on the site. We figured we’d learn a few quick lessons about the install process, troubleshooting, email quality, market interest, and how it’d affect our other products. (And we did!)

Our recorded videos used to be available at various monthly subscription prices. We started by throwing all that out and boiling down to just one product, SQL ConstantCare®. This way, as you’re going through the video training, you can get tips on what modules you should be watching that will be most relevant to your own servers. (We have so much video training that people often ask what they should watch first – this solves that problem.) This helped us learn if search visitors were interested in buying the full-blown SQL ConstantCare® product, or if we still needed to sell the videos separately.

For our live training classes, the corporate purchasing department often buys the tickets for the students. Those purchasing folks get twitchy when they see a subscription renewal notice in their cart like that they’re going to get charged again later – so for now, we’re not including SQL ConstantCare® in the live class purchases. I think we’re going to soon, though – I’ll just tweak the checkout process so that they get one year of SQL ConstantCare® with no warnings about renewal.

There was a consulting change right away I didn’t expect: sales prospects started and asking, “Which service is right for me, SQL Critical Care® or SQL ConstantCare®?” The way I’ve answered it is that our 3-day SQL Critical Care® is like an emergency room for SQL Server where we work together face to face to solve an urgent problem. SQL ConstantCare® is more like ongoing therapy where I send you one email per week with advice over a long period of time. I’ll need to work on the web site to make that decision easier for folks.

In subsequent posts in this series, I’ll talk about drawing the line for the Minimum Viable Product (MVP), what we learned from the first few rounds of users, how we’re aiming for GDPR compliance, and more. Next week: what we decided to collect in v1 – and what we avoided.

Previous Post
[Video] Office Hours 2018/3/21 (With Transcriptions)
Next Post
Missing Index Impact and Join Type

8 Comments. Leave new

  • Thank you for taking the time to be this transparent Brent. Breaking down your thought process and being open and honest about your decisions is great to see. I’m looking forward to more development in this area and seeing where things take off.

    Reply
  • Brent, What are the minimum login rights required for Constant Care to work? Read “SQL ConstantCare® Quick Start” but there is no mention of minimum rights required to function.

    Apart from that, this looks really good. Glad to see it being targetted to enable an entire estate view as opposed to a limited x server count which can be a nightmare to handle especially when you can’t afford to cover the DEV/UAT environments and miss opportunities.

    Reply
    • Marcus – great question! Like any monitoring tool, it’ll need view-server-state at minimum. You can run with lower privileged logins if you like, but of course data will be missing.

      Reply
  • petros ANDRIKOPOULOS
    March 29, 2018 2:00 am

    Brent, thank you for sharing your ideas. I believe that this product will be very helpful and valuable to all of us who administer a complex SQL Server environment. My only concern is the security issues that the relevant department will arise – we have to convince them… Is it possible to publish a demo/example report that will be sent in a weekly basis?

    Congratulations for your idea and implementation.

    Reply
    • Yep! Go to the product page and you can see screenshots of sample emails on the left. I’ll talk more about the contents and the level of automation in an upcoming April post.

      Reply
  • Brent,

    Me again…

    Is there a way we can pay by purchase order? I know this question is gonna come up especially with me trying to get the company to purchase it while on promotion.

    Thanks

    Reply
    • Marcus – ah, yes, the hamburger trick:

      https://www.youtube.com/watch?v=30knrJBeyr0

      No, to keep our costs and labor down, we’re only taking good old fashioned money. (Checks and POs take more work to process than credit cards.) After the marketing launch, in a month or so, we’ll open up payment via check, PO, and hamburger barters, but it’ll be at the full price.

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.

Menu
{"cart_token":"","hash":"","cart_data":""}