His name is Helmut.

Epic Life Quest: Level 13 Completed.

Blog Posts
1 Comment

When I made the decision to stop having consulting employees, a big part of that was being able to be flat out gone for longer periods of time. In a tiny 4-5 person business, it’s challenging (but by no means impossible) for 2 of the team members (Erika & I) to simply disappear for a month at a time. We could have done it by adapting how the company worked, I know, but that’s a matter for that other blog post – this is about my Epic Life Quest, and here, the company change manifested itself in us being able to disappear for longer periods of time.

  • Buy a Porsche 911 Targa – I’ve long had a love affair with the design of these, both old and new. I remember building Porsche 911 models as a kid, and fantasizing about the day I’d be able to buy one. For several years, I’d wanted to custom-order one with the exact paint color & leather I wanted, but one day Erika said out of nowhere, “Let’s just buy one off the lot. Get the experience right now instead of waiting, and it’ll be the same.” She was right. Completed July 2019. There are some tasks I put in here and go, yeah, this is epic, but THIS one, this one was EPIC, all caps.
  • Weigh 190 pounds or less for 6 months straight – Until mid-2014, I yo-yo’d between 210 and 220. When I made it a life quest to stay under 200 for 6 months straight, I was able to pull it off. Guess that means I’ve gotta set the next goal. Started July 22, 2018, scheduled to finish January 22, 2019. Broke 190 on Jan 2 after 3 weeks of fun & travel.  Completed July 2019.
  • Half-point: fly into Telluride airport – Erika and I were obsessed with this short runway surrounded by cliffs and mountains. Completed August 2019.
  • Half-point: fly in a hot air balloon – filed under “things I never even thought of doing, but the moment presented itself.” Completed August 2019.
  • See Napa while grapes are on the vines – we fell in love with wine country when we did the company retreat there in 2016, but we’d only seen it off-season. We got the chance to pick grapes off the vine and taste ’em. We’ve come to the conclusion that winemaking is like yardwork, squared. Completed August 2019.
  • Take Erika to Hawaii – she wanted to see volcanos, the beaches, and the islands where they shot LOST. We’re on a 14-day Hawaii cruise as I write this, and during the course of it, I also revised some of my Epic Life Quest goals. I’d always wanted to take a repositioning cruise, a cruise around the tip of Cape Horn, and a world cruise, gradually amping up my cruise lengths. On this Hawaiian one, we spent 4 days at sea going out, and 5 days coming back. I do love sea time, but the cruise ship motion out in the open ocean is a little over the top. I don’t get seasick, but the motion’s big enough that I don’t really covet this anymore. I think river cruises in Europe might be the next thing we go after, and we’re doing a big Norway cruise in 2020.
  • Be gone for 2 months in one year – regular readers will know that vacations are really important to me, and that I’ve worked remotely for a long time. I gradually took it up a level: in 2019, I aimed to be gone for 2 months. For me, being “gone” means that I’m away from home, and I’m mostly on vacation. I still do work before Erika wakes up each morning – email, write, learn – but when I’m “gone,” I’m not available for client work (because I’m often in places with odd schedules or sketchy Internet.) In 2019, we did extended vacations in Iceland, Paris, Colorado, Napa, and Isle of Man, and this 2-week Hawaii cruise. (Not included in this task: yet another week in Mexico during the end of year holidays.)

Yeah, this level added up to 6 points, not 5, but since the last couple were really completed in tandem, it doesn’t feel like they should carry over to another level. Time to start fresh on the next level and get to hustlin’. Here’s what I’m working on next.

Read the Comments

How the Company-Startup Thing Worked Out For Me, Year 7

It’s time for my annual update on the wild ride. If you want to catch up, check out past posts in the Brent Ozar Unlimited tag. This post covers year 7 of the company – April 2017 to April 2018.

This year was about making financial sacrifices.

One way (certainly not the only one) to build an app is to work through these phases:

  1. Start by solving a pain manually with hourly rate consulting
  2. Gradually turn it into a productized service: a standard, fixed-rate consulting package
  3. Build tools so you can deliver the finished product faster (thereby increasing your profit), but still do the work primarily as a productized service that involves human beings
  4. Gradually make the tools so smart that your customers can use the tools rather than the consulting part of it – turn your productized service into an app

At phase 4, you’ve got an app, which means you can:

  • Reduce the cost, enabling you to serve more customers
  • Scale to more customers with less staff
  • Spend a fortune on development, support, documentation, etc.

Making the jump from phase 3 (where your consultants use the tool) to phase 4 (where the public does) can be really expensive and risky. In late 2015, when the company bought out Jeremiah and Kendra, I decided to go for it. I hired Richie to be our architect/dataveloper, and I knew it was going to take years before we could get that product to market. I was fine with that risk. Not ideal – sure, in a perfect world you ship things gradually – but I was totally comfortable with that long term waterfall risk.

About two years into the process – during this year, year 7 of the company – the decision to bootstrap (self-finance) the whole thing was very financially challenging for me personally.

On the income side, we had:

  • Erik, Tara, and I doing consulting work
  • Me doing training
  • Residual (but dropping) training income from Jeremiah & Kendra’s videos

On the expenses side, we had:

  • Salaries for Erik, Tara, Richie, and Erika
  • Jeremiah & Kendra’s continuing buyout payments
  • Taxes (because of the way deals like this work, money paid to Jeremiah & Kendra was seen as income on my own personal taxes, so I paid a LOT of taxes)
  • And I had to eat, too

To keep things going, I did a lot of work without getting paid for it – at least in the short term – knowing that I was just gambling everything I had on the eventual success of SQL ConstantCare®, a product that couldn’t bring in revenue until year 8. I took on projects I didn’t necessarily want to do, and I started taking a really hard look at the profitability of everything we were doing.

I abandoned in-person training classes
and switched to online-only.

I’d been teaching in-person classes for several years, and they did pretty well financially, but I wondered how an online-only class might go. I did some experimenting to make our online classes even more valuable than in-person classes by:

  • Giving every student a lab VM – I would lecture for an hour or two, teaching a concept, and then have students solve a challenge with that concept in their own lab VM.
  • Setting up a Slack chat room – so the attendees could talk to each other, compare notes about how they were solving the problem, and even get hints from me if they hit a wall.
  • Including Instant Replay recordings – so students could re-watch the class recordings for a year. I know when I used to attend classes, I loved revisiting the slides and my notes, but there’s just no replacement for seeing the actual lectures.

When I thought I had the formula down, I stopped offering in-person classes and only offered online classes instead. I blogged about the reasons why at the time.



As I worked on this plan, it seemed too good to be true. Why wasn’t anybody else in our business doing online-only training? Surely I must be missing something – there had to be a catch. I held my breath, and…tickets sold well. I sold less seats than the in-person classes, but I got a much higher profit percentage on each ticket sold, so I wound up way ahead. Plus, my quality of life went up – I wasted less time traveling and spent more quality time at home.

That work/life balance was especially helpful as our beloved dog Ernie was diagnosed with cancer and given about six months to live. We’d always spoiled her silly, and with me being at home most of the time, we took it to absurd levels. She passed away in January 2018.

I did keep doing pre-cons for established conferences – for example, Erik & I managed to sell out not one but TWO freakin’ pre-cons at SQLbits 2018. That was bananas (and profitable,) and we would have gone to the conference anyway, so that was nice.

Looking back at this decision, I’m really glad I did it. It was a quality-of-live vs. quantity-of-revenue decision. The more I look back at my life, the more I’m glad I make decisions like that. It feels like every time I’ve said, “Should I work less and make less, or work more and make more?” I’ve ended up choosing the former, and I’ve been happier with it. You’ve probably heard DBAs talk about being smart and lazy – working juuuuust hard enough so that you don’t have to work more. That works with your life, too, not just with your scripting of daily monotonous GUI tasks.

I think at some point in the future, I might start teaching in-person classes again. As a teacher, it’s fun to see the lights in peoples’ eyes as they suddenly understand a tough topic, and it’s tough to beat that rush. However, I really like working from home, and I still do enough travel for clients that bring me onsite to their offices, and I get the light-bulb moments there.

We started offering online classes taught by others.

I wish I could say this whole thing was part of some kind of brilliant plan, but Edwin Sarmiento just asked if he could do an Always On Availability Groups class through us. I knew Edwin, I knew he knew his stuff, so I said sure, let’s give it a shot.

Edwin’s class sold well – no surprise there, he’s a pro – and it was a win/win. We were able to offer more classes to our audience, and the audience was excited to attend top-notch stuff from the comfort of their homes – especially given that the course matter was in demand, and unavailable through local trainers.

We split the revenue right down the middle with our guest instructors, a 50/50 share. They got new income they wouldn’t have been able to get otherwise because we were really good at marketing, and we got new products to sell. I tried to make it so easy that all the instructor had to do was show up and deliver a great class.

This worked out really well financially for both sides. This worked out well, although I ended up discontinuing guest instructor classes in Dec 2018 to simplify our lineup (and my life.) Looking back in the rear view mirror at this one, this was just plain old luck.

I stopped selling to the EU.

I saw the GDPR coming, talked to our attorneys, looked at the compliance tools in a lot of services we relied on, and I just wasn’t confident in our ability to defend ourselves quickly and inexpensively against EU regulators. We’d never sold peoples’ data, but that doesn’t mean anything to outside inquiries – if they come calling, you have to be prepared to document all kinds of stuff for ’em. Dealing with government regulations isn’t something that fills me with joy, nor did the EU bring in a significant portion of our revenue, so I dropped it.

An influencing factor at the time was that we were working on SQL ConstantCare®, a mentoring system where you sent in performance and health metrics from your SQL Servers, and we’d give you advice on what tasks to focus on. I knew customers would be uploading metadata into the cloud – and that’s a super-sensitive area.

I didn’t want to have to defend that stuff to EU regulators until we had a version where EU customers could pick their data center – like have all their data reside in a specific country – and where we automatically deleted all data older than 30 days. Those things don’t ensure compliance, not by any means, but I just didn’t even wanna go near EU sales until we had those things in place. They just weren’t a high priority for US customers, so they were low on the priority list. (It’s really tough being a small business with limited resources – so many things I wish we could do, but only so many dollars in my wallet.)

So I blogged about stopping sales to the EU, and uninformed people went bananas. “OMG, HE MUST BE SELLING UR PRIVATE DATA TO THE FACETUBES!” Every time I saw those reactions, I just smiled and shook my head. I could tell who had never tried to build a business, pouring their life into it. Those folks would say things like, “Just become compliant – how hard can it be? What do you have to hide?” Riiiight. Someday, those folks will walk into a courtroom or a government office to defend themselves or their companies, and they’ll learn some fun lessons.

Looking back, I’m really happy with that decision: GDPR enforcement is still a big question mark, the new EU copyright directive is a hot mess, and…Brexit. Just no point in a small business dealing with all that paperwork for a relatively small percentage of revenue. I do love Europe, and I still travel there, and I wanna get back in business there at some point, but…just only so many hours in the day, and I don’t wanna spend any of them on government busywork. It’s that whole quality of life thing. I’m glad I chose quality over quantity.

Looking forward, I’m excited that the compliance ecosystem has no choice but to get better over time. A year ago, I blogged about how a data safety industry was on the horizon, and last month, Grant Fritchey showed how it’s coming true. We’re still tiny enough to dodge every US compliance regulation that I’ve seen – I don’t expect that to last forever, but hopefully just long enough for the third party ecosystem to get its act together. (I’m looking at you, WordPress.)

I made 3 big mistakes when
we launched SQL ConstantCare®.

We took on private early access customers, and then in March, publicly announced SQL ConstantCare®. Richie was finally able to show the public what he’d been working on for years. Suddenly now people could understand why I’d been so interested in Postgres, Aurora, the Serverless framework, and so on.

As year 7 came to an end, we could finally:

  • Start getting money in the door to recoup the 2 years of development investments
  • Start converting our consulting process over to SQL ConstantCare’s back end (instead of using a data collection app, which would later resurface during year 8 as the Consultant Toolkit)

Looking back now, I can see a few big mistakes I made. (Well, I mean, I can see a lot, but let’s talk about three.)

First, I shouldn’t have thrown free consulting time into SQL ConstantCare®. I positioned it as “mentoring, not monitoring,” thinking that I’d gradually segue my work into being a mentor for hundreds of DBAs with thousands of servers. The math on that didn’t work: some folks had a very high expectation of the amount of hours per week that a mentor would personally spend with them. (For example, I would get a 500-line stored procedure as an email attachment along with a note like, “Can you make this go faster? We have a deployment tomorrow.”) There wasn’t a good common understanding of what a mentor does (versus what a subcontractor does.) In hindsight, this was my mistake, so I fixed that with the product relaunch solely as an email monitoring product.

Second, I should have gotten the consultants involved earlier. I should have had Erik and Tara use the SQL ConstantCare® infrastructure as part of our consulting work rather than using sp_Blitz, sp_BlitzCache, sp_BlitzIndex, etc. It would have slowed us down initially (because the data just wasn’t as good initially), but it would have forced us to build better back end tools, faster – just as using sp_Blitz, sp_BlitzCache, sp_BlitzIndex, etc forced us to rapidly improve them as we used ’em during our daily consulting work.

Doing that would have forced both Erik and Tara out of their comfort zones – writing PostgreSQL queries against the SQL ConstantCare® database structure – but it would have paid off in a higher quality SQL ConstantCare® product, faster. But this is one of the tough things about being a manager: I didn’t want to force the employees to adopt a skill they weren’t interested in. I’m 100% sure they would have done it if I asked them to, but I didn’t ask them to. I’m a bad manager. (I’m always the first to admit that, too.)

Third, I shouldn’t have bundled the training with it. I had a vision of getting the home page of the web site down to just 3 things:

  • SQL ConstantCare®: long-term mentoring, monitoring, and self-paced training, say $1k/year/user
  • SQL Critical Care®: an urgent emergency room for one specific server, $7k for 3 days
  • Live Class Season Pass: attend all my online training for a year

In theory, this sounds great and simple. To pull it off, I removed the Recorded Class Season Pass, and only sold the self-paced video training through SQL ConstantCare®. I figured people would buy that at a nice low price, watch the videos, and then eventually get tempted to try the monitoring.

I was wrong. In practice, a good chunk of the market just didn’t want their monitoring data going into the cloud yet – but they DID want self-paced online training. I later ended up selling the Recorded Class Season Pass again, standing alone, and it outsold SQL ConstantCare®.

SQL ConstantCare launch revenue

Between those 3 mistakes, SQL ConstantCare didn’t make as much money as I’d have hoped. It was deeply discounted at launch, so from March 1 to April 30, it had $107,636 in revenue. (That’s the year 7 time span for this blog post.) That’s not bad – it’s decent money – but it obviously didn’t pay for the development in the first two months of sales.

In its first year altogether, from March 2018 through Feb 2019, it ended up making $239,507, and I’m quite happy with that. It pays for the ongoing development and the hosting (but not the sunk costs, and they’re sunk, and I’m at peace with that.) I’m utterly tickled pink with the product as it stands – Richie did a wonderful job of building it, and I wouldn’t change a thing about its construction. We got really lucky with the Serverless framework, Amazon’s continued investments in Lambda and Aurora Postgres, and the upcoming Aurora Serverless, which is a beautiful match for our bursty workloads.

In year 7, consulting was on life support.

I didn’t invest any of my time in the consulting wing of the business. Sure, I did consulting, but I didn’t invest time to improve the quality of the product. Erik, Tara, and I just kept on keepin’ on, delivering the same SQL Critical Care® that companies were happy to pay for.

With any successful product, though, you face the Innovator’s Dilemma: you can’t rest on your laurels, and you have to figure out new ways of relieving the same pain at a dramatically lower price. In year 7, I had to choose between:

  • Leaving the product as-is, continuing to make money on it
  • Invest my time in making the product better (improving the tooling, automating the reports, changing it to more or less time, adding followups, etc)
  • Paying out of pocket to make the product better (like giving company equity to a consultant and telling them to run with the consulting arm of the business, putting in their own time into it)

I chose the first one. Today, you know how that ended – I ended up letting go of the consulting employees – and looking back, I’m comfortable with the decision. The consulting part of the business helped Erik and Tara to earn good money working from home. It was a financial risk and a time sink for me personally, but the tradeoff was worth it during year 7.

Year 7 was luckily safe,
but I realized that it was luck.

I took a lot of risks that year, and I didn’t get too badly burned. The cloud-based lab training classes online paid off, SQL ConstantCare® eventually paid off, and the consulting side of the business didn’t have too many lulls that cost us money.

As year 7 wound to a close, though, the lower-than-expected revenue from SQL ConstantCare® opened my eyes to the risks, and made me start thinking about them more carefully. From years 1 through 7, Jeremiah, Kendra, and I had always thought about growing the company to the point where someone would acquire it. With SQL ConstantCare® paying for itself, but not much more than that, I had to come to terms with the fact that we weren’t going to get acquired for huge money anytime soon.

Brent Ozar Unlimited could either be a barely-viable acquisition target, or a really successful lifestyle business. Year 7 was the last year that I still had the goal of being a startup, and in year 8, I transitioned the company over toward being a lifestyle business. But I’m getting ahead of myself! More on that next year.

Read the Comments
Brent Ozar in Iceland 2019

Epic Life Quest: Level 12 Completed.

Blog Posts

Life’s little moments of success can pass us by so easily. If we don’t track the things we’re proud of, we lose track of how far we’ve come. Steve Kamb’s Epic Quest of Awesome inspired me to build my own Epic Life Quest. I keep track of achievements, and after five significant ones, I level up. Here’s what I completed this last round:

  • Ride the Isle of Man TT mountain course – it’s a well-regardedscary fast race through one of the most beautiful places I’ve seen. On my Sept 2018 visit, I took a morning to ride along on a motorcycle through the route. Completed Sept 2018.
  • Acquire an existing web site – I had never really been in the market for one, but I had the chance to buy a site that lined up well with a few experiments that I wanted to run. More info on this soon. Completed Nov 2018.
  • Get our November 2018 Black Friday sale over $500K – I aimed for this in 2017, but I couldn’t quite pull it off, ending up at $439K. This was the year I pushed it over this big round number. Completed Nov 2018.
  • For 5 years straight, take 2 weeks off per year with Erika. We started this in 2014 with a 2-week trip to Tulum to burn up the holiday weeks where nobody wants to book consultants. It was a fantastic experience. Completed Dec 2018.
  • Helicopter onto a glacier – Erika and I flew in about a week early for SQL Saturday Iceland and this was lovely and totally awe-inspiring. Completed March 2019.

View this post on Instagram

Flying over glaciers

A post shared by Brent Ozar (@brento) on

2019 is a kind of pay-ourselves-back year, mostly traveling to fun places at fun times of year to be there. When Ernie was diagnosed with cancer, Erika & I cut most of our travel to spend more time with her. With her gone, Erika doesn’t want to get another dog – we really love to travel together, and having a dog makes that a lot more difficult. So now we’re back to our nomadic lifestyle, with 2019 trips lined up to Paris, Israel, Belgium, Dallas, Miami, Orlando, South Dakota, Utah, Sacramento, Isle of Man, Netherlands, and Vegas. Because of that, I probably won’t check off any work-related tasks in 2019, and I’m comfortable with that.

Read the Comments

Why I Do Stuff This Way #tsql2sday

Blog Posts
1 Comment

For this month’s T-SQL Tuesday, Andy asked us why we do what we do. In the big picture, I use GTD 50,000 foot goals, and I translate that down to more tactical stuff in my Epic Life Quest. I’ve written a lot about the tactical stuff, but not the big-picture stuff.

Here are my big-picture goals:

  1. Be a fantastic partner for my loved ones.
  2. Enjoy my time on Earth as many ways as I can.
  3. Retire with complete financial security.

They’re in that order because I’m ridiculously lucky enough to have found a career that I truly love. You know what they say: do what you love, and you’ll never work a day in your life. Well, the flip side of that is that you’ll work your ass off, chasing achievements that turn out to matter less and less over time.

When I first started doing career & life planning, I realized that I was spending all my time planning my career, and none of my time planning my life. I needed to turn that around, so the first step of it was consciously putting the list in that order. That way, when I do GTD reviews, I’m faced to start at the top one in the list and go, “Oh yeah, I suck at that.”

I’ve gotten better at those family-oriented GTD tasks over the years, but not by much. (Then again, I don’t think I’ve gotten much better at #2 and #3 either, but that’s the thing about having role models – you’re always looking up at what else is possible, not down at the stuff you’ve already accomplished.)

For example, as I write this, I’m sitting in a Starbucks in Laguna Beach, writing before Erika wakes up. She wanted to hear the ocean and do some shopping, so we drove up the coast and spent the weekend in an oceanside hotel. I didn’t need a vacation, mind you – we were in Mexico for two weeks in December, and we’ve got trips to Iceland and Paris next month – but she wanted to go, so we went. Why not? She’s got life goals too.

You should try Getting Things Done.

Start with this video review of the book or this written overview, and then get the book.

GTD is going to sound very tactical – dumping things out of your brain, categorizing them, then breaking down your calendar into the different kinds of work that you do. And that’s true – it is a productivity book – at first.

But when you clear out your mind from all the stuff you think you have to do, you start to focus on the much bigger stuff, and you realize that some of the tasks are just wasting your time. If something doesn’t match up to one of your big life goals, then categorize it appropriately, and then focus on what really matters instead.

Read the Comments
Gumroad vs WooCommerce review comparison

Gumroad vs WooCommerce: Comparison Review

Blog Posts
No Comments

I’ve used WooCommerce for years to sell training and online services, but I recently started using Gumroad. Here’s a quick comparison:

Gumroad vs WooCommerce review comparison

The short story:

  • Gumroad is for people who want to sell stuff right away, easily.
  • WooCommerce is for people who want more power and control,
    and are willing to spend a lot of time managing their store.

Now for the longer story,
starting with my background.

I’m a data professional: I help companies make their Microsoft SQL Server databases faster and more reliable. In my work, I sell training videos, live webcasts, and online service subscriptions at BrentOzar.com.

I leverage that online store in my in-person events, too: when I teach a class at a conference, the students often get a free product like my Recorded Class Season Pass. That perk helps drive my ticket sales – students like it, conference organizers like higher ticket sales, and it doesn’t really cost me anything (since it’s digital content anyway.)

I’m a little unusual for an online store user because I do database work for a living, so I look at the products through a pretty technical lense.

WooCommerce & WordPress’s database back end make me nervous.

Back in 2017, in light of the EU’s General Data Protection Regulation (GDPR), I took a fresh look at the WooCommerce & WordPress database & code, asking questions like, “Is personally identifiable data encrypted?” For example, when someone comments on a blog, the data includes the commenter’s name, email address, and IP address. Furthermore, when that data is backed up, are the backups encrypted? Where do they go?

I came away pretty disappointed.

Then I talked to my attorney, and I had a boiling pit of acid in my stomach.

It’s going to be pretty hard for a data professional with a WordPress site to look a government official in the eye and say they’re really GDPR compliant. Furthermore, I don’t just wanna smile and nod and say, “Oh yeah, we’re technically compliant with the letter of the law,” and not really be compliant with the spirit of the law. I wanna set a great example, not a fly-by-night example.

With that in mind, I stopped selling stuff to Europe. It was a relatively small percentage of my income anyway, and I wanted to minimize my risks. (All of us with WordPress blogs still have a lot of work to do on that front, sadly.)

In January, I launched our Consultant Toolkit, an app for Microsoft SQL Server consultants to gather data about their clients’ servers. When the preview launched, I got a lot of requests from EU consultants to be able to buy it. Then when the pricing came out, I got even more requests, so I rolled up my sleeves late one night and said, “How can I make this happen?”

I turned to Gumroad,
an online store-as-a-service.

I knew Gumroad from a few online artists. You sign up for Gumroad, upload what you want to sell (app, video, PDF, whatever) and set the price. They take care of the rest, including VAT, invoicing, refunds, customer data, permissions access, all kinds of stuff.

I was stunned by how easy and fast it was to set up a Gumroad store, and…it just worked.

One of the more painful issues I’d dealt with, VAT, just simply goes away with Gumroad. They collect it, they file it, they deal with customer questions about it, end of story. It just doesn’t matter where your customers live.

Their GDPR story isn’t quite as elegant as I’d like: in section 11.6 of their terms, you have to email their support to get their Data Protection Addendum. I’m kinda surprised it isn’t shown publicly on their site.

But dang, letting Gumroad deal with that political stuff sure is easier than rolling it yourself with WooCommerce.

Drawbacks with Gumroad? If you want a feature they don’t offer, that’s the end of that. Gumroad just doesn’t have a lively plugin or extension ecosystem like WooCommerce’s. There are hundreds of WooCommerce plugins to do stuff like add custom product attributes like student names/emails, bundled products, team pricing, social media sharing for a discount, I could go on and on.

Two really big showstoppers for me: Gumroad doesn’t let you offer products with free trials, nor do they have really powerful coupon systems – like building custom one-off totally-free coupons to print as conference handouts. Those are both tools I rely on pretty heavily, and they really do produce results.

Verdict: I’m sticking with Woo,
but using Gumroad for EU sales.

Gumroad doesn’t allow you to sell tickets to live events over time, so that’s a non-starter for me. Plus, I just love the power and flexibility of Woo, and our sales volume is high enough that it merits the admin overhead of dealing with third party plugins. I’ll stick with selling our training through WooCommerce.

Gumdrop in the bucket

Gumdrop in the bucket

However, Gumroad gives me the ability to easily sell smaller items like the Consultant Toolkit – things that stand on their own, with minimal web pages & content involved. We made $5K in our first 4 days on Gumroad, so I’m happy with that, especially given the limited amount of work that I had to put into it. (We signed 64 Consultant Toolkit subscriptions in WooCommerce in that same amount of time, or about 3x, which makes sense – most of our readership is non-EU.)

If you have a day job, and you just want to dip your toes in the market of selling a zip file with your slide decks, e-books, or training videos, Gumroad makes a heck of a strong case – especially if you have international clients.

Read the Comments
Brent Ozar in Mazatlan

Refocusing My 2019 Plans: Letting Go of Consulting Employees

Blog Posts

When last we met, dear reader, I was super excited that I’d broken $500K in Black Friday sales – a goal that I’d been working on for a while. I was really proud of that.

That moment triggered a lot of introspection, though.

In my post about year 6 of the company, I wrote about how the business was a stool with 4 legs: training, consulting, online services, and community. At that time, I didn’t have the skills to make the consulting leg of the business consistently profitable, so I laid off Angie, Doug, and Jessica. However, I kept Erik & Tara on board because we had enough business to keep them pretty consistently busy.

However, that also ended up keeping me busier, too: dealing with sales, contracts, customer relationship management, it all added up. It took up Erika’s time, too: herding clients to get their homework and checks paid, dealing with insurance, taxes, etc. I’d never formally tracked how much of my time was spent on each part of the business, but I had a pretty good feeling of where the stress was coming from. It wasn’t Erik and Tara, mind you – they have always been completely awesome – but the surrounding business involves a lot of stress and gotta-handle-it-right-now issues.

Brent Ozar in Mazatlan

Taken from the iPad as I started writing this (on holiday, naturally)

I’m not a fan of stress.

I don’t live to work – I work to live vacation.

Erika and I frequently sing each other the lyrics of Franz Ferdinand’s Jacqueline:

It’s always better on holiday

So much better on holiday

That’s why we only work when

We need the money

So after Black Friday finished, I asked myself a lot of tough questions.

I use Dr. Walling’s framework for decisions like this.

Every year, I get away at least once to do a planning retreat with Dr. Walling’s book. Each time, I learn a lot about myself, re-evaluate things I’m doing, and ask tough questions about why and how I’m doing them. For me, one of the most powerful techniques from the book has been to come up with 10-20 alternatives for each thing I’m doing. It helps me step back and think about whether what I’m doing still makes sense, or whether I should do a wildly different approach.

For example, I thought about GroupBy.org and came up with 10 ways I could approach it. Here are my exact notes from the retreat:

  1. Keep it as-is
  2. Hire a virtual assistant to manage it:
    1. Write posts & Mailchimps for call for speakers, call for speakers ending, voting starting, voting closing, speaker thank you and denied, cohost invites
    2. Edit posts, put in screenshots, headers
    3. Republish posts with date/time that the podcast goes out
    4. Put the content into the Mailchimp newsletter
  3. Train Erika to manage it (doing those same above tasks – she doesn’t have the free time to do it now, but maybe I could clear out other things on her calendar to make room for it)
  4. Open source it – hire a web developer to write WordPress plugins to manage processes, like count down to voting starting, run the voting, close the voting and do announcements, push the right content to MailChimp, etc.
  5. Discontinue it – pick my battles and my expenses. I’m already investing ~$3K/quarter, and I’m looking at investing more. At the end of the day, I’m not sure I’m providing a really valuable service that user groups and virtual chapters couldn’t provide if they wanted to.
  6. Do it more often (monthly?)
  7. Do it less often (2x/year?)
  8. Give it to a vendor
  9. Give it to PASS
  10. Make it a standalone entity – start a non-profit corporation, invite a round of board members, recruit the first round of sponsors, and then let it fly on its own

The first 4 ideas came right out of me in the first few minutes, but the rest came hours later as I was considering other projects, or when I came back to the questions after sleeping on ‘em, or reading additional books.

I looked at everything I do – SQLServerUpdates.com, the blog, the First Responder Kit, SQL ConstantCare®, the Office Hours podcast, you name it – even the consulting business – with a fresh set of eyes. I think about scaling each thing up, scaling it down, tackling it differently, merging it with something else, or abandoning it entirely. I always have more ideas than I have time or money, so I have to figure out where to place my bets.

I used Tim Ferriss’s priorities to figure out where to cut back.

As part of the retreats, I also read business books. This year, I’ve been reading (and re-reading) Tim Ferriss’s classic, The Four Hour Work Week. It’s every bit as spammy as the title suggests, but at the core, it’s about work-life balance. It’s about figuring out how to stop doing the busy work that doesn’t pay off so that you can either do more of the work that DOES pay off, or split – and go spend time with the ones you love. For the remaining work that you gotta do, it’s about automating as much of that as possible to reduce the time it consumes.

Ferriss talks a lot about the 80/20 rule, saying things like:

  • Focus on the 20% of your customers/products that produce 80% of your income.
  • Ditch the 20% of your customers/products that produce 80% of the problems.
  • With the time you free up, invest it more wisely.

I read a lot of management books this year, but that one really resonated with me and challenged some assumptions I’d made.

So what if I didn’t have consultant employees? What if I still offered consulting if people really wanted it, but I took the tools we’d built for consulting, and I used those in the training business instead?

There’s a saying in business: in a gold rush, sell shovels. For years, I’ve been trying to do both: have gold miners (data consultants) on staff, plus sell shovels (training and SQL ConstantCare) to other miners. I wasn’t losing money mining gold, mind you, but…I wasn’t making all that much, either, and I could be building even better shovels. And what if I took our shovels and started selling them to you as part of our training?

That was it – I realized I had to close the consulting line of business. I had to stop thinking about the business as a multi-legged stool. It was the wrong analogy. I had found a successful strategy in the online services business, and I needed to focus on that.

So is it bad to build consulting companies, or am I bad?

Does that mean consulting is a bad business? Not at all! Any business can be a good business – that just doesn’t mean it’s the right business for me. I want to get out of the trading-money-for-time business, and get into more scalable forms of income. I did consulting for a long time to pay the bills, but…it’s not the only way to pay the bills. I used to do web site development, too. Times just come in your life when you need to hit F5 and get a fresh set of results.

Does this mean I failed at consulting? Yeah, I think so, in the same way I failed at web development – it’s something I did for a while for money, and I enjoyed it, but over time, I found other sources of income that I liked more, and paid better. I still bust out the PHP and MySQL from time to time, but it’s not where I focus my personal growth.

Like I wrote in the post a couple of years ago about the first round of layoffs – I really admire folks who can grow a consulting company to 10-15 employees. It’s one hell of a lot of work, stress, and risk. It pays off when you get there, but the journey is Herculean, and I just found a different route to success that feels like it fits better with my Jacqueline mentality.

Time to edit and re-focus for 2019.

For 2019, I’m making several course corrections:

  • I gave Erik & Tara great severance packages and let them go yesterday. They’re fantastic employees and coworkers, and it’s not their fault, but I need to focus and do things differently.
  • Getting rid of consulting employees meant I didn’t need Erika full time anymore, either. (There are still time-sensitive admin tasks in the business for sure, like customer login support, but I’m going to transition those over to a virtual assistant firm.)
  • I’m going to take some of our consulting tools and sell them as part of our training. For example, we’ve got a data gathering utility that makes life way easier for independent consultants.
  • I’m going to pivot SQL ConstantCare® to being an entry-level monitoring tool. I’m going to remove the mentoring component entirely, and just give you a low-cost way to know if your servers are doing alright.
  • I’m pausing GroupBy.org and the weekly Office Hours podcasts for now. I love both of these, but in 2019, I want to find more ways to give back that don’t involve me being connected to the Internet at specific dates/times. I want to get more creative with my calendar and taking longer periods off.

These changes will give me more time to focus on the training and SQL ConstantCare®, hopefully working less while simultaneously doing more profitable work.

I’m really excited about these changes. Years ago, when I laid off Angie, Doug, and Jessica, I was mentally exhausted and burned out, frustrated that I couldn’t make the business work in the exact way I wanted. Today, I’m in a much better place, happy and content. I’m not happy to let go of Erik and Tara, mind you – they’re phenomenal people that I loved working with – but I’ve found my calling in a way that I can’t afford to ignore. I wanna spend less time working, more time with my family, and I think I’m going to be able to do it.

Let’s see how it goes.

Read the Comments
2018 Black Friday sales in WooCommerce

Epic Life Quest Task: Sold $500K in our Black Friday Sale.

Blog Posts

In 2013, mostly just for laughs, I ran a Black Friday sale on BrentOzar.com. It did way better than I’d expected – turns out a lot of y’all love Black Friday shopping as much as I do – so I gradually put more work into it over time.

Black Friday 2018 sales

Woohoo, WooCommerce!

Here’s how it did over the years:

  • 2013: $52,780
  • 2014: $84,577
  • 2015: $167,728
  • 2016: $181,457
  • 2017: $439,550 – a great jump upwards that I was really happy with, but ever-so-slightly disappointed because I’d set an Epic Life Quest task goal of $500K. That goal seemed bonkers, but I put a ton of prep work in.
  • 2018: $514,033

I wrote about this year’s prep work, and now it’s time to look back to see what worked out well, what didn’t, and what changes I’m making based on what I learned.

A long sale helped, but accepting checks/POs/invoices didn’t.

Last year, we did a quantity-limited sale: the first X seats in each class were discounted. That drove a lot of sales in early, and then a separate small burst of sales on Black Friday itself. The dark line here is revenue:

Black Friday sales revenue 2017 (dark line is $)

Black Friday sales revenue 2017 (dark line is $)

But last year, we had (what seemed like) a lot of requests from DBAs at large shops who couldn’t get their purchasing departments to move quickly enough to act on a Black Friday sale. This year, we ran the same sale all month long to make it easier for them, and we even accepted check & wire payments.

This year, the sales were distributed through the month – and ended up peaking on the last day instead of the first!

2018 Black Friday sales in WooCommerce

2018 sales

Other than the last day panic, the peaks roughly align with targeted email campaigns to remind different segments of folks about the sale. So which one’s better, quantity-limited or all-month-long? I’m not sure yet, gotta think about that one and analyze the data.

We definitely got more sales from big shops – the team memberships paid off really well – but >99% of orders still came in via credit card, not check/invoice/PO. Even people who bought the big Team Memberships paid via card. With that in mind, I don’t think we’d hassle with check/invoice/PO payments again.

We did get a handful of last-minute, November 30th questions from people saying, “Hey, we just heard about the sale, and we want to pay via invoice/check/PO.” I can only hold the sale open so long, hahaha.

Bundles outsold the heck out of single products.

The Season Passes still dominate sales: the Live Class Season Pass was far and away the top seller with about $230K sold, and the re-added Recorded Class Season Pass was #2 with about $100K sold. (SQL Constant Care sold about $50K, but that blurs the lines a little – it’s a combination of the SaaS mentoring and recorded videos.)

The new Team Membership sold to a few companies, which I’d call a huge success because the price of entry was fairly high, and it wasn’t announced ahead of time. It’s hard for most companies to suddenly whip out the company card and ring up a $10K-$20K charge.

In fact, so many bundles sold (and so few guest instructor classes sold) that it made me step back and rethink my business plan for 2019. We’re going to simplify the site down, make it easier for people to choose between 3 things:

  • An individual class (live or recorded)
  • A season pass (live or recorded)
  • A team membership

To do that, and to keep the accounting simple, we’re going to stop selling guest instructor classes. I love our guest instructors, and I loved their material – but I gotta pick my battles. I’m already stretched too thin trying to do my own training classes, build SQL ConstantCare®, and do consulting, so I had to make some tough choices. We’ll keep selling the existing class dates, but we won’t add new ones.

Europeans are determined to buy our stuff.

I announced last year that we were stopping selling stuff to the EU/EEA for now, and we put steps in to make sure EU/EEA customers couldn’t check out. Holy cow, though, they were determined to work around it: fake addresses, VPNs to other areas, trying to pay via wire transfer, you name it. It still wasn’t a financially significant amount, but it generated a lot of work for Erika, who had to refund these customers and explain that yes, we were serious about this.

I sure wish they paid more attention to their governments first – for example, they need to be aware of the train wreck that is the upcoming EU copyright directive. What an incredible hot mess.

So why don’t we just give in? Because it’s a relatively low portion of our revenue, the risks are really high, and I don’t have enough confidence in all of our third party partners yet. For example, I have zero faith in GoToWebinar’s ability to handle the right to be forgotten. From any given webinar invite you get, try figuring out how to request them to show you what data they hold on you, and ask for the right to be erased. It’s terrible, and it’s no easier from the webinar hosting side (they keep all data for 365 days, long after you really need it, and you can’t even ask NOT to see that data.) Their GDPR compliance page has a really hand-wavy answer, too:

“contact Support for assistance”

For 2019, I’m going to start switching away from third party partners who don’t make it delightfully easy for customers to comply with the GDPR. I can’t promise anything yet, but I’d like to be in a position where we can open up EU/EEA sales for the next Black Friday. (Plus, I just want to ease Erika’s workload, hahaha.)

Google Pay & Apple Pay wasn’t quite smooth enough.

When people buy our live classes, a decent chunk of ’em buy for someone else – like big company training departments buying classes for their staff members. To facilitate that, we have a student name/email form on the class so you can put someone else in instead:

WooCommerce product page with Google Pay enabled

See the big dark “Buy now” button? That’s because I’m browsing with Google Chrome – it’s Google Pay. It’s easier to use – payment is integrated into the browser – but it has a dark side: it bypasses the required student name/email fields on the form.

Managers often bought for their employees, and you can guess how it went: they’d get so attracted to the “Buy now” button that they wouldn’t fill out the student name/email. Then, they would email us and say, “This class is for so-and-so, please enroll them instead.” That was more work for Erika. The related Github issue for the Stripe extension was closed back in 2017 with WooCommerce telling folks to hire their own developers. (Fair.)

It generated enough extra work that I ended up disabling Google Pay & Apple Pay, so now the form looks a lot cleaner, and we don’t have to worry about that:

WooCommerce product page without Google Pay

I have a running list of things I’d like to get improved in WooCommerce and a couple of plugins, and 2019 is going to be the year that I sponsor a developer to get some of these things coded.

The learning curve for team setups was terrible.

I added team purchasing at the last minute, almost on a whim, and holy cow, did Erika and I pay the price all month. When team purchases went well, they went flawlessly – but when they went wrong, they went really wrong, taking hours of customer handholding and database changes.

Example: someone would buy a team membership for 3 people, think that their payment hadn’t gone through for some reason, then buy another team membership for 3 people, and then cancel the second subscription when they realized the first one had gone through. The teams plugin would look at their account, see that their most recent team subscription had been canceled – and not allow any of their teams to work.

I’ll put together a list of what we learned and share that with the authors of the teams plugins, and hopefully they’ll improve the functionality for other WooCommerce users over time. Ideally before next Black Friday, hahaha.

Now, what do we do for next year?

First, I don’t wanna raise the goal beyond $500K. I’d be happy enough (ecstatic, really) if we hit that goal two years in a row. I need to keep building on what I know, learning from others, and running experiments. Some of those experiments are gonna fail, and temporary setbacks are okay.

Second, I’ve already got a vacation planned with Erika – we’re going on a cruise for the first half of November, and then an onsite client engagement. That means I either have to do a “real” Black Friday/Cyber Monday sale, confined to those dates, or else I have to make sure the sale doesn’t need my involvement. (That could mean outsourcing the store management, or training/empowering other people on our team to do it.)

My gut hunch right now is that we switch to a “real” Black Friday sale:

  • Contract a PHP/MySQL developer to do a round of performance tuning fixes
  • Contract the plugin development companies to make some improvements specific to our sales processes
  • Switch webcasts from GoToWebinar (where I don’t trust their GDPR handling) over to a more GDPR-savvy webcast company
  • Enable sales to the EU/EEA again (not just for the added revenue, but also to cut down on the human intervention required)
  • Migrate the site from WPengine to our own cloud hosting so we can temporarily scale up/down more easily in preparation for the big sales days
  • Do a round of user experience tests, checking out as a customer, signing up their team members, etc, looking for problems that will pop up on Black Friday

That’s a non-trivial amount of work – but hey, it’s a non-trivial amount of sales income. It just comes down to figuring out how much to invest, and when.

But for now, a week in Vegas at SQLintersection, celebrating at é by José Andrés, and then off to Cabo with Erika for some rest and relaxation (which will check off another Epic Life Quest task: taking 2 weeks off with her each year for 5 straight years.)

Also, tequila. A lot of tequila.

Read the Comments

My #PASSsummit 2018 Session Evaluation Ratings & Comments

Blog Posts

After big conferences, I like to share my session evaluations to talk about what worked and what didn’t. Let’s see how we did this year.

Pre-Con: Performance Tuning in 21 Demos

This was an all-day session that Erik Darling and I co-presented. When Erik and I designed this session, we were both at a point in our presentation-writing style where we were madly in love with demos. All week long when working with clients, we have to spend a lot of time in slides, explaining concepts that we see out in the wild all the time. (I give my talk on parameter sniffing at least three times per month.) So we thought, “What if we do nothing but demos? What if we just show off our favorite behaviors in SSMS, and…nothing else?”

It was risky because we weren’t really taking you from point A to point B, unraveling a concept all day long and going deeper and deeper into it. We just picked some of our favorite demos of all time, wrote several new ones, and tried to put them in some kind of order that made sense.

We had 273 attendees, 72 surveys filled out:

  • Rate the value of the session content. 4.74 out of 5
  • How useful and relevant is the session content to your job/career? 4.71
  • How well did the session’s track, audience, title, abstract, and level align with what was presented? 4.79
  • Rate the speaker’s knowledge of the subject matter. 4.96
  • Rate the overall presentation and delivery of the session content. 4.81
  • Rate the balance of educational content versus that of sales, marketing, and promotional subject matter. 4.79

Woohoo! I’m really happy with the feedback numbers – they’re much better than last year’s ratings – and ecstatic with the sales numbers. We were up against great lineup including Bob Ward, Kimberly Tripp, and Pinal Dave, and we were the top-selling spot. That completely blew me away. (I thought managers would be more likely to send their staff to more conventional sessions that took you from point A to point B.)

Let’s see what people wrote in the comments – and I’m not going to show every comment, just representative samples:

Event logistics comment highlights: (room temperature, size, capacity, sound, etc.):

  • Room size was perfect, temperature was good. Unfortunately the sound was a bit faint – could not always make out what the presenter was saying.
  • I had a hard time hearing the speakers. They were loud enough but there was distortion.
  • comfortable room. Audio and video were perfect
  • Would be nice to have some healthy snacks around (fruit and nuts) and also some charging stations.
  • Perfect event logistics for this session.
  • Chilly

Overall, I’m happy – it’s hard to make 273 people happy all day in a room. PASS did great. For a feel for what that room size is like:

Content & delivery comment highlights:

  • Both Brent and Erik were able to maintain the audience attention
  • This was a very useful and interesting session. The material is so well documented and organized, it is very easy to step through and to work with after I leave the Summit. I appreciated the amount of material provided and the Q & A being open to the audience so we can all learn from each others situations. The day went by so quickly. It was a good mix of fun and serious subject matter that will definitely help me address concerns back at work as well as help me be a better developer and troubleshooter.
  • Brent and Erik possess a wealth of knowledge on the principles and underhood mechanisms of SQL Server. The way they share the knowledge is bright and easy to understand. I wish this particular session was focused on tips and tricks a bit more, and a bit less on the internal concepts.
  • Great organization, knowledge and pace. Was able to accommodate all questions and kept people engaged with a fun and interactive experience.
  • I wish everyone could be as good as Brent. Not necessarily the same, just as good. Erik isn’t as wild, but both were engaging to watch. Forget about slides, everything is hands on, solving a real problem. My brain was full but alert after a whole day, and you bet I will be studying the demo scripts on my own. First rate!
  • The only downside to this pre-con is that if you follow the blog, many of these scenarios were already covered. I would still recommend it for a newer DBA or one who wasn’t familiar with Brent and his team. As always, they are great presenters.
  • Love the energy of the duo on stage. Their passion is shared to the public.
  • Discovered Brent Ozar Unlimited a couple months ago. So glad to have a chance to learn from them in person. Learned a lot and certainly continue follow them on-line.

I’m really, really happy with these comments compared to last year’s. Last year, we tried cramming way too much stuff into a single day. This year, we took the time to dive deeper into specific demos, and at the end of the day, we allocated a lot more time for questions. It paid off – we didn’t get the comments this year saying that we were rushed.

Slack Q&A comment highlights:

  • Very entertaining and educational. I enjoyed the interaction via Slack with the polls. I really learned a lot and appreciate Brent and Erik sharing the knowledge with the community.
  • Loved it! Really enjoyed the content as well as the Slack channel to ask questions and interactive polling – great idea for a large room!
  • Brent and Erik are always entertaining. I loved the use of Slack to take and answer questions during the session. I’m also excited about the year of ConstantCare that was included!
  • Great session. Very valuable. Always love the mix of technical with humor. I like the use of the slack channel for asking questions and comments. Very interactive. I appreciate the addition of a video training code that allows me to train more once back at work.

I’m so totally sold on using Slack for interactivity in big rooms for all-day sessions. I don’t think it makes sense for 75-minute sessions because it’s too hard to get attendees into Slack and into the right room, but they’re clearly willing to make that time investment for a pre-con, and it pays off.

General Session: Getting Better Query Plans by Improving SQL’s Estimates

This was my regular 75-minute session during the conference itself. You can see an earlier version of it at GroupBy. The basic demo idea was the same, but I’d added SQL Server 2019 in as well, and tweaked a lot about the flow. I had 653 attendees, 169 surveys filled out:

  • Rate the value of the session content. 4.80 out of 5
  • How useful and relevant is the session content to your job/career? 4.75
  • How well did the session’s track, audience, title, abstract, and level align with what was presented? 4.79
  • Rate the speaker’s knowledge of the subject matter. 4.96
  • Rate the overall presentation and delivery of the session content. 4.88
  • Rate the balance of educational content versus that of sales, marketing, and promotional subject matter. 4.85

Well, alrighty then. With numbers that good, especially across 169 folks, I’m not sure I even wanna read the comments, but let’s do it:

Event logistics comment highlights: (room temperature, size, capacity, sound, etc.):

  • Not a stable beamer, was wobbly constantly (Brent says: one of the two projectors in the room was vibrating the whole time)
  • Shaky projector, otherwise all good
  • Too warm. Turn up the AC.
  • very cold rooms, very aggressive air-con
  • WiFi connection was terrible
  • Great
  • Excellent
  • Packed room but that is expected with someone like Brent Ozar speaking.
  • Good but seating gets very tight in popular sessions – seats are too close together.

Yep, pack 653 folks in a room, and it’s gonna be tough to make the room work for everybody. I’m mostly sharing the comments here just to explain that people can be unhappy with the room and still end up leaving good scores for the presenter. It’s your job as a presenter to outshine room problems.

Content comment highlights:

  • As usual, Brent was excellent. The session had a great pace and was very upbeat. The session was helpful for beginners as well as seasoned professionals.
  • Speaker really knew his stuff. Was able to make it light and seem familiar and intuitive. Giving me the confidence to go and try various pieces at my own workplace. Very funny and great content.
  • Excellent teacher for sure. Wish he had included some more complicated example queries though.
  • Would like to see more in depth information presented. More scenarios and diving deeper…maybe more sessions to accomplish this. But always great to attend your sessions.

It’s called a pre-con. You should check it out. 😉

Question handling comments:

  • Brent got stuck maybe a little too long on a couple of questions from the audience about cardinality estimator Changes without it actually leading any further in the presentation. Apart from that: Excellent delivery of excellent content.
  • Great as per usual, i always try to make it to a Brent session at PASS. I think you pushed through some of it just a hair too quickly that made it harder to follow but did a great job answering all the audience questions throughout
  • Pros – Very knowledgeable. Great info. Entertaining!
    Cons – I felt that he jumped around a bit too much, esp at the end. Maybe limit the Q&A part to the last 15 min, instead of 30-45 min…

The question handling is really interesting to me on this one because people so rarely ask questions in a 600+ person room. When I started getting questions, I got so excited at the opportunity, so I went down a bunch of rabbit holes. (They were really good questions!) Given the high scores on the session, I’m kinda okay with this though. I think I was still able to cover what I wanted.

Humor comments:

I’m only picking maybe 1/4 of the comments – by far and away, the vast majority of the comments were about the delivery – but here goes:

  • Charismatic speaker, but maybe tone it down a bit. Some of the jokes were edging towards being offensive. The clever consultant versus big bad Microsoft schtick gets old quickly.
  • Brent was hilarious as usual, and also informative. He makes learning boring topics interesting and his depth of knowledge is extraordinary.
  • Great energy and content, thank you!
  • Brent was excellent. Funny and engaging with tons of useful info.
  • The ‘Robin Williams’ shtick gets old
  • Brent is awesome as always! With great sense of humor! Making this talk lively and not boring!
  • Brent has an exceptional ability in using humor to keep us engaged through technical material.
  • Most fun and exciting and unboring worthy content in a short time
  • Excellent presentation. Love Brent’s sense of humor. I watch him speaker for how to be a better speaker as well as the SQL knowledge.
  • Excellent pace especially for a session after lunch 🙂 Brent is a very engaging speaker, I was not bored at all even if I already know a good amount of the subject.
  • Loved the talk. Brent has an amazing sense of humor and the unique ability to talk some of the most dry topics on the planet and make them interesting.
  • Your style define the passion for what you do, everyone should express more than you in expression level. Thanks for sharing all you knowledge.
  • So far my favorite presenter of the whole summit. He was extremely knowledgeable and very witty and entertaining. And he always had insightful answers without having to gloss over area lacking knowledge. I would take all day training from Brent. I can’t say enough good about his presentation. Top rate!

The humor is what makes me a Purple Cow: I try to do something wildly different than the rest of the sessions. Like Seth Godin writes in that book, it generates raving fans – people are either gonna love you, or hate you. That’s the reaction you want – you don’t wanna be cheese pizza, where everybody is kinda “meh” and just shuffles out of your session without remembering your name or what you do.

When you build your own conference sessions, bring you: bring your personality and your excitement to it. If you can’t be excited about the topic, why bother?

Update: here are other presenters sharing their feedback:

Read the Comments
2018 Black Friday Sale

Building the 2018 Black Friday Sale at BrentOzar.com

Blog Posts

For last year’s Black Friday sale, I set a goal of $500K in sales, then did a ton of prep work:

  • Set up a new training class lineup with labs
  • Added a new Live Class Season Pass so folks could attend my classes all year long
  • Added a handful of guest instructor courses
  • Wrote a multi-day email launch sequence
  • To handle the doorbuster deal load, upgraded our web site hosting at WPengine to a $6k/mo plan

It paid off with a big sales jump: $440K, well above 2016’s $181K but still shy of my ambitious goal.

Later, after the sale finished, we ended up making a couple of other big changes: we stopped selling to the EU, and we stopped selling the recorded videos separately, instead bundling them into SQL ConstantCare™.

What worked and what didn’t

The email launch sequence worked great. We had a lot of reader engagement, and it drove a lot of interest in the new classes without a significant amount of unsubscribers.

The Live Class Season Pass was a success. Students really liked the ability to spend one set amount and then repeatedly take different classes. I hadn’t thought of this, but several students said they picked up so much more details the second time around because they’d been overwhelmed the first time. As an instructor, I love this because I got to know some of the students over the year, and could see the students getting better at the labs over time. I really enjoyed building the community.

Customers really wanna buy the videos separately. I hoped that putting all the videos inside SQL ConstantCare® would simplify the buying process, and people would just pay for our one subscription process and be done with it. No go, though: there remains a good audience of people who want to just buy one specific training video, and are scared off by online services or software. (It’s also a gateway drug, so to speak – people start with one small video, and then collect more if they liked the first one.)

Guest instructor classes worked well. Readers are willing to buy courses from folks they haven’t seen present before.

People actually use Google Pay & Apple Pay, but not Bitcoin. We use Stripe for online payments, and they adopted these payment methods pretty quickly. Around 10% of checkouts used Google Pay or Apple Pay, but nobody ever used Bitcoin for a course. When Stripe removed support for it, it didn’t bother me at all.

The midnight doorbusters were a disaster (again.) For the second year in a row, WPengine’s server choices weren’t able to handle the load, despite giving them a blank check to pick the hardware. I did a post-mortem meeting with them, and they were really good about making it right. I have no bad feelings toward WPengine, and indeed, we’re still hosting with them today. I just wouldn’t recommend them for radical scale changes in short bursts, even with advance notice.

2018 Black Friday Sale

What we’re doing differently this year

No more doorbusters. (sigh) They were a fun experiment years ago when we were at lower audience levels, but today, ah, the curse and blessing of a larger audience.

This year, we’re just going to launch all the sales on November 1st and run them all month.

It’s funny because as a database & web app guy, I know full well that if I cleared my calendar and hired a resource, it’s a solvable problem. However, the really low revenue of doorbusters means I would lose money on that, and there are limits to what I’ll do for fun. I can see revisiting this in the future when we hire a site reliability engineer to manage our infrastructure ourselves, but we’re at least two years away from that.

We’re adding payment via check/invoice PO. In the past, I turned that off during Black Friday because we didn’t want people claiming one of the limited seats, and then not paying, thereby depriving somebody else of a seat. However, we got a lot of feedback from folks who said their company wanted to buy, but they couldn’t use a credit card, and could instead FedEx a check.

Taking payments is a little more work for us, but not terrible. We use EarthClassMail.com to receive our mail, scan it, and automatically deposit checks. Erika just has to connect the dots between which checks are for which orders. We’re drawing the line at filling out company forms to become a new vendor, though.

We’re selling self-paced recorded videos individually again. The people have spoken, and they said “Shut up and take my money.” Done. I started setting this up about a month ago, and people started buying them immediately without any promotion. That was kinda wild.

We’re adding a new Team Membership. WooCommerce brought out a Teams for Memberships plugin, and we’d had a few companies buy Live Class Season Passes for several of their team members, so I thought, “Why not?”

Let’s see if we can cross the $500K mark this time. Big money, no whammies….

Read the Comments
Vanquest EDCM-SLIM 2.0

What’s In My Bag, 2018 Edition

Blog Posts

I alternate between a few different backpacks depending on trip length, so I keep the core of my electronic gear in an organizer pouch. I can just toss this into whatever bag I want to take:

Vanquest EDCM-SLIM 2.0

Vanquest EDCM-SLIM 2.0

It’s a Vanquest EDCM-SLIM 2.0 8″ x 6″ organizer pouch with lots of webbing. Wild overkill for a geek bag. Vanquest makes lots of tactical, medical, and first aid organizers with Molle straps for military folks. I was really torn between this and their FTIM 5×7, but went with the EDCM after reading a couple of reviews that said the dual-zipper format of the FTIM was a little finicky to open.

Most of the gear inside is pretty self-explanatory, but a few links to my favorite stuff:

AmazonBasics 4″ USB-to-Lightning cable – I like short cables. I wish they made a USB-C version of this, but none yet.

Sandisk USB-C & USB flash drive – nice form factor with both USB-C and USB-A ends so you can pop it into a variety of computers.

Logitech Spotlight remote – because the drivers let you throw a spotlight on the monitor. Way, way better than a laser, especially in big rooms with multiple monitors.

Anker USB battery – old small cheap one just for emergencies. As soon as they make a small lipstick-sized one with USB-C, I’ll replace it. I have a much larger Anker PowerCore 20000 that I bring when carrying larger backpacks.

Not pictured, in the pockets: Airpods, snack bars, and single-serving packets of ibuprofen, Throat Coat tea, and lens wipes.

Read the Comments