2018 year in review

Since 2012, I have written a year-in-review post to detail and share highlights and challenges of the previous year. So as is tradition, here is my review of 2018.

Previous year in review posts: 2012 | 2013 | 2014 | 2015 | 2016 | 2017

In all, 2018 was an incredibly successful year for me and my company, Sandhills Development. We had some great achievements that expanded the team, grew our revenue and profit, acquired a new product, sold two plugin products, branched out into a new market and industry, and matured as a company. We also, however, had some significant challenges that were perhaps some of the hardest yet. I’d like to share some details about each.

Team growth

When Sandhills Development first started, I had no intention of having a large team and was very reluctant to ever grow the company to more than 5-8 people. Through the growth of our products, however, it has been necessary to increase the size of our team to fill ever-growing resource needs. At first I was leery to allow the team to expand beyond what I felt I could directly manage but over time I welcomed the challenges that are involved with doing so.

Today we are at 19 full time employees and one part time / variable time contractor on the software side of the business, and two full time and two part time helpers in the brewery. We’re preparing to bring on 2-3 more on the software side in the near term.

In March, 2018, we welcomed Tyler Lau full time to our marketing and administration team.

In May, 2018, we welcomed Daniel Goldak to our Easy Digital Downloads support team.

In May, 2018, we welcomed David Sherlock as a variable time contractor to our Easy Digital Downloads support team.

In August, 2018, we hired Jeordyn Hensly to help with retail sales in the brewery. Her role transitioned to brewing assistant and bar tender by October.

In August, 2018, we hired Jacob Unruh to work on the production side (brewing, packaging, cleaning) of the brewery.

In September, 2018, we welcomed Mihai Joldis to our Easy Digital Downloads and Restrict Content Pro support teams.

In October, 2018, we welcomed Mandy Jones to our marketing team.

In October, 2018, we welcomed Tunbosun Ayinla to our AffiliateWP development team.

In October, 2018, we welcomed Phil Derksen to Sandhills Development as a partner and product lead.

Each person that has joined us has been an incredible asset to the team and I’m proud and honored to have each of them working with us.

Sandhills Development team (Mihai not present), September 2018

In the next two-four weeks we plan to on-board three or even four new team members in various roles.

Sales and acquisitions

For the third and fourth time in recent years, I sold two of my earlier plugin products to new owners in 2018. These were products that had tremendous amounts of potential but were falling by the wayside under my control.

In February I sold Fullscreen Background Images to Scott Deluzio. This was one of my earlier products and one of my favorites for a long time. I think what I liked most about it was its simplicity and single purpose. It’s easy for plugins to grow beyond their original scope and become something far and away from the original intention. Fullscreen Background Images was a plugin that always stayed true to its original purpose and I really loved that.

In October I sold Simple Google Maps Shortcode to Gordon at Web Factory. This was another of my favorite plugins that I relished the simplicity of. It literally did one thing and one thing only: register a shortcode that displayed a map of any address.

Both of these plugins had a lot of potential for doing much more but managing them on top of our other projects was beyond my capacity, so I decided to sell off both plugins.

In 2017, when we closed the extension marketplace for Easy Digital Downloads, we purchased a large number of plugins from 3rd party developers and brought those plugins under our own management. That was my first experience negotiating purchase deals of that nature. This year I had another first: negotiating an acquisition and merger with another company.

On October 1, 2018, Sandhills Development acquired WP Simple Pay through a merger.

As we have grown over the years, I knew there was a distinct possibility large acquisitions would be in my future, either as the entity being acquired or the entity doing the acquiring. I’ve had a number of potential acquisition discussions over the years, mostly from parties interested in purchasing Easy Digital Downloads, but this was the first time I was on the other side of the table for a product worth more than $500,000.

I had been considering the possibility of purchasing another company / product for some time but had never landed on any definite targets. The acquisition of WP Simple Pay landed unexpectedly but was ultimately a perfect fit for everyone involved so discussions did not take long.

In May, Phil Derksen, the founder and owner of WP Simple Pay, approached me with a quick email:

Ironically, that email was sent a few minutes after we concluded a podcast / webinar episode on the topic of selling WordPress product businesses.

Phil went on to tell me how he felt he’d grown WP Simple Pay as far as he could solo and was ready to be part of a larger team. His options were to either build a team or join an existing team. Phil and I have known each other for close to ten years (we met very early on in both of our WordPress careers) and we’ve always gotten along great. We share a lot of values and ideals, both in our personal lives and in the way we build products.

We quickly agreed that WP Simple Pay and Sandhills Development could be a great fit, so we moved on to discussing ways to make a merger or acquisition a reality. There were a few possible avenues on the table:

  1. Sandhills Development could purchase WP Simple Pay outright, assuming full ownership of the product, and then employ Phil
  2. Phil could sell WP Simple Pay to Sandhills Development and then move on to do something else entirely
  3. Phil could transfer ownership of WP Simple Pay to Sandhills Development in exchange for cash and/or equity in the larger company

In the end we decided on the 3rd option. Phil was given a piece of equity in Sandhills Development in exchange for Sandhills Development assuming ownership of WP Simple Pay.

WP Simple Pay was incredibly attractive to me for a number of reasons.

The first was that it was led by someone I’d known and respected for a long time. Anytime you work closely with someone, you will get to know them really well. Ideally you get along great with the people you work with. Knowing that Phil and I already had a good relationship meant there was very little worry about culture and personality fit.

The second reason was that WP Simple Pay was already a successful product bringing in ~$25,000 / month with good profit margins. That meant the product was already paying for itself while being operated by a solo founder. With a few additional resources, it won’t be difficult to grow it to $30,000 and beyond.

The third aspect of WP Simple Pay I found attractive as a prospective acquisition was its position in the eCommerce ecosystem. It was successfully serving a niche of customers that neither Restrict Content Pro nor Easy Digital Downloads were fulfilling well, mostly due to the nature of those products and their complexity. By adding WP Simple Pay to our product portfolio, we are able to attract another customer segment, expanding our potential reach.

Revenue

Since writing my first year-end review in 2012, we have grown our revenue each and every year. In 2018 we continued that trend with an overall increase of 21.47% with a total income of $2,747,500. This was an increase of ~$500,000 over 2017 with a profit increase of 96.65%.

Of the $2.7, our break down between projects was roughly:

  • AffiliateWP: $1,170,405
  • Easy Digital Downloads: $900,609
  • Restrict Content Pro: $396,192
  • Sugar Calendar: $11,644
  • WP Simple Pay (Oct – Dec): $74,205
  • Brewery: $83,367
  • Misc (affiliate income, revenue shares, other): $90,346

There are a few items I’d like to go into more depth regarding revenue.

First, AffiliateWP became our first product to independently surpass a million in revenue in a single year. This was a milestone I was exceptionally pleased with and is a testament to the product we’ve built and the team behind it. Along with being our largest revenue generator, it’s also still one of the least difficult products to maintain and support. It’s incredibly stable and due to it’s stability and high volume, it operates on a ~30% profit margin.

The excess cash flow generated by AffiliateWP has enabled a level of flexibility for us that has been immensely valuable. It has permitted us to take risks, devote team members to new projects, and put efforts into places we wouldn’t have otherwise.

We have extensive plans for AffiliateWP in the next year and I’m really excited to share more information about those soon.

Second, Easy Digital Downloads saw a decline in revenue for the first time. Over the course of 2018, our average monthly revenue dropped from $73,500 to $70,500, with a peak at $83,000 and a bottom of $60,600. Note: I have excluded November from these averages due to the significant fluctuations caused by our annual Black Friday sale. In the first half of the year, we averaged $73,700 per month and in the second half of the year that average had dropped to $66,500.

This decline, while it may not look too terribly drastic, was excruciating to watch and deal with. On average we had a net operating loss of $10,000 every month for six months in a row. Out of the 12 months in 2018, seven operated at a loss ranging from $2,500 up to $20,800. At the end of 2018 we did manage to turn a small profit for Easy Digital Downloads but that was largely due to the influx of funds the annual Black Friday sale brings us.

There are a lot of factors we have considered as possible reasons for the decline in Easy Digital Download’s revenue, but they are mainly guesses. We’ve been unable to nail down one or even many definite causes. A few potential reasons include:

  • Natural age of a product. It’s possible we’ve simply hit our peak, though I don’t believe this.
  • We unintentionally out-priced our average customer. This is quite possible.
  • We face tougher competition than ever before. This is definitely a factor.
  • Something changed (such as traffic sources) but we haven’t identified it yet.
  • Business owners got spooked by GDPR and other stricter regulations of online businesses.
  • We have not succeeded well enough at updating our product offering to hold the interest and value of business owners.

While we are unsure of what 2019 holds for EDD’s revenue, we are fully committed to it and do believe firmly that we’ll be able to continue to grow above and beyond what we’ve done thus far.

The fourth item I’d like to cover is the $74,205 we added through WP Simple Pay. By acquiring a mature product, instead of building from scratch, we significantly increased the rate of revenue growth. Of course we also incurred the necessary expense to acquire the product and its team (Phil Derksen). Due to how the merger / acquisition was done, however, the cost had no direct impact on our cash flow nor cash reserves.

The $74,205 revenue that WP Simple Pay added was purely from October 1 to December 31st. With an average of $24,735 in monthly sales, WP Simple Pay will have a significant impact on our 2019 sales.

The fifth part of our revenue I want to mention in more depth is the $83,367 we earned through Sandhills Brewing. Last year my brother and I seriously entered into an effort to open a microbrewery in our hometown, and we succeeded. The brewery began operating in February, 2018, and opened to the public at the end of April, 2018. We started at $1,181.11 in sales our first month of operation and finished the year with ~$13,000 in December.

Note, some of the reported revenue for the brewery is from investment from Sandhills Development.

I’ll share more on the brewery below.

The final aspect of our revenue I would like to touch on is profitability. In 2017 I stated that one of my goals was to maintain the sustainable profitability that we had achieved. In 2018 I’m pleased to say we were able to hold strong and operated at a 19% profit margin.

This profitability gave us the flexibility to grow, invest, and plan for the future .

Content marketing

I began my career in WordPress with blogging. Early on I wrote multitudes of posts and articles, ranging from tutorials to opinion pieces to product launches. Writing content was integral to everything I did.

As the company grew, however, it became more and more challenging for me to write as frequently as I would have liked and my publication rate dwindled to almost zero. In the last year for example, I’ve published less than 10 articles.

Content marketing is something we’ve struggled with as a company for a long time. We never quite managed to figure out how to consistently produce high quality content on a consistent schedule. We tried again and again but never succeeded.

That is until this last year. At the end of 2017 we put together a content plan for 2018 that included planned content for several months at a time with specific people assigned to write the content. This worked really well but was still a struggle because it required everyone to find time in their already busy schedules to write the content. What it did, however, was pave the way and lay the foundation for a dedicated position in our team for the first time: content writer.

We hired Mandy Jones towards the end of summer to come on as our dedicated writer. This worked really well, not only because it raised the bar for how much content we could push out but because it also significantly lightened the load of the rest of the team that had been working extra hard to produce the content previously.

For the first time in a long while, we were able to publish consistent, high quality content across multiple brands.

Hiring a dedicated writer was an excellent reminder of how hiring the right person for the right role can have a significantly positive impact on a teams’ performance and work load.

Along with the content marketing efforts we pushed forward in 2018, we finally for the first time also managed to establish a real marketing department led both by Kyle Maurer and Lisa Gibson. As a developer at my core, I’ve always struggled with many aspects of effective marketing so it was never a part of the company I felt comfortable managing nor creating.

One of the beautiful aspects of building a team is seeing first hand the skills and values each team member can bring to the table. In 2018 Lisa and Kyle clearly demonstrated their marketing skills and made it clear how much value we could add by having a full-fledged marketing program.

Today we have four full-time team members working in marketing. By the end of the year I expect we will add one or two more.

Product updates

As usual, there are a number of significant updates surrounding each of our products throughout the year, and I’d like to share a few with you for each.

Easy Digital Downloads

At the end of 2017 we announced a plan for significant updates to Easy Digital Downloads in order to solve some large, overwhelming issues left over from poor early decisions. We originally estimated that we would be able to finish and release the update within the first six months of 2018.

Obviously that release did not happen as we are still yet to release 3.0 and it’s now more than a year past our original announcement. There are a bunch of reasons the release has taken longer, but the primary reason is that the project was simply way larger of an undertaking than we had originally estimated. It was extensive enough that it has taken more than a year of very active development by half a dozen developers to get it near beta ready.

We are now anticipating a beta being ready in the next 1-3 months and we are working to provide for frequent updates on our development blog.

Since we’ve spent so much of our development resources on the development of 3.0, many other areas of Easy Digital Downloads slowed down in 2018, though never to a stand still. We now have a better team than ever before and we’re able to keep continued focus on numerous areas of the product at all times.

As mentioned above in the revenue section, Easy Digital Downloads did see its first decline in sales in 2018. We tackled the problem from a lot of different angles, but two of the most visible are what we did with pricing (yes we changed them again).

In June we launched a new pricing model that introduced “access passes” for extensions. These were effectively memberships that granted access to certain extensions. The lower memberships granted access to more basic or standard extensions and the higher memberships granted access to the more advanced extensions. This is the direction we have planned to take Easy Digital Downloads for several years. We originally launched EDD with what came to be called the “extension model”, where advanced features are sold as separate plugins, each requiring their own purchase.

Over the years we collected extensive evidence to suggest that a la carte extension sales is not a great experience and, oftentimes, is too challenging and/or overwhelming for customers. The access passes we introduced in June were our solution to the problem by neatly packaging all of the extensions into a tiered membership setup.

Except it didn’t work.

We had already seen the model work wonderfully for AffiliateWP and Restrict Content Pro so we really expected the same model to work for Easy Digital Downloads too. After launching the new model, however, our sales continued to decline and they dropped enough that we were seriously concerned that we had just damaged them even further.

Ultimately we came to a conclusion on why the memberships didn’t work for Easy Digital Downloads: we had out-priced our average customer. Even though the membership options were offered at a significant discount over purchasing extensions individually, the price tag continued to scare people off. At least that is what we believed.

On August 1 we lowered the prices for extension passes. That change was difficult to make and not without challenges, but it appeared to have worked:

Aug 1 – Oct 31 compared to previous three months

We are still at a lower monthly revenue than at the beginning of 2018 but we are continuing to see improvements.

Restrict Content Pro

In 2018 we were able to raise RCP’s revenue by more than $60,000 over the previous year. We were able to achieve this by continuing development and significantly upping our marketing efforts for the platform.

Along with the content marketing mentioned above, we also leaned heavily on re-targeting advertising, both of which helped push the needle.

The main focus in 2018 for RCP was the completion of 3.0, which, like EDD 3.0, is a significant architecture adjustment with a re-designed database structure that improves performance and opens the gates for a large number of major features we’ve wanted to build for a long time. The previous database design prohibited a lot of important features.

Restrict Content Pro 3.0 beta was released last week and so far has been running smoothly. We’ll give it a couple more weeks before finalizing the release.

It took nearly a year to complete the 3.0 update, in part because of its size and complexity and in part because we had an unexpected team departure that took its toll on the project. More on that below.

Sugar Calendar

On March 13, 2018, I announced a new website and development focus for Sugar Calendar. The plan was to do with Sugar Calendar what we did with Restrict Content Pro, and that is still the plan that we are working on completing.

Due to a number of reasons, some in our control and some outside of our control, the development and release of the new Sugar Calendar has taken significantly longer than we had intended. Our intentions originally were to have the new version and a series of add-ons released in six months or less from the time of that announcement. That, sadly, has not happened, and we’re not proud of it.

Our communication of the delays that have occurred have also been less than stellar, and for that I want to apologize to each and every one of our customers.

The good news, however, is that we are still absolutely dedicated to finishing the project and I can now say with much more confidence that we are getting close.

We currently plan to release the beta of the new version on, or very close to, February 5, 2019.

AffiliateWP

AffiliateWP continues to be the most reliable and feature-rich affiliate marketing plugin available for WordPress. Through extensive integrations and wide support for all of the main eCommerce, membership, and form plugins, AffiliateWP has continued to grow and thrive.

We hit two milestones in 2018 for AffiliateWP. First, we broke the $2,000,000 mark in earnings, and second, we broke $1,000,000 in sales in a single year.

2018 saw an increase of $273,930 in revenue over 2017, with several months breaking $100,000 in earnings.

Even though we’ve had great success with AffiliateWP, we feel we’ve only scratched the surface and there’s so much more we want to build. We have extensive plans for the next 9-12 months and we can’t wait to share some of them. The first major initiative we’re working on is expected to launch into beta in the first or second quarter of 2019.

SellBird

We have been teasing SellBird for more than two years now. While it is still not ready to show you, I am thrilled to say we have made a lot of progress on the platform and are nearing our first beta phases.

SellBird has been one of the most interesting and definitely most challenging projects we’ve worked on. We’ve always had a general idea of what we wanted to build, but determining exactly how the detailed aspects of the platform behave really eluded us for quite some time.

The first year of working on SellBird was mostly us just picking around without really creating anything. A shotgun approach if you will. The second year of SellBird began to see a more specific target that permitted it to start taking shape. Finally after more than two years, we have a very clear goal for the project and progress is moving forward nicely.

WP Simple Pay

As mentioned above, WP Simple Pay joined the Sandhills family in October. Being our first experience bringing an existing, thriving product under our control, there has been some adjustment periods and elements of the merge that have gone slower than we’d like, but overall it’s gone very well.

We have worked to increase the development and marketing resources on the project and have been working towards merging support systems.

Towards the end of November we released the first major update for WP Simple Pay after adding more developer resources to the project. The 3.3 update introduced some significant new features that really helped extend the platform and give customers more control over the display and behavior of their payment forms.

In the next 12 months we will continue to devote significant developer and marketing resources to push the product further.

Sandhills Brewing

Anyone that has spent any amount of time with me in person, at conferences or other events, likely knows that I have a deep seated love for locally made craft beer. About three years ago my brother and I made a commitment to opening our own brewery as a passion project.

In February, 2018, we managed to complete the licensing process and were able to legally begin producing beer at Sandhills Brewing.

The brewery was a passion for both my brother and I and something we’d wanted to do for a long time. We both, however, had full time career positions running our respective companies that consumed the vast majority of our time. While neither of us knows what the long term future holds, we did both know that we were not ready to leave the digital world behind, so opening the brewery was in no way a career change. It was, instead, a way for us to realize several of our deep passions, namely creating specialty beers and building positive changes in our communities.

When we first opened to the public in April, we were set up to serve free samples and sell beer in sealed containers that customers could take home with them. We operated out of a very rough and minimal warehouse space for six months. It was very much a minimum viable product, but it worked.

We used the warehouse and the to-go sales to slowly fund the construction of our first taproom, which we managed to open at the end of October. The taproom is a place customers can come and sit down to enjoy a beer with friends and family. It was created to be a comfortable space designed for casual conversations and low key enjoyment of the wide array of beer styles we produce.

The beer world is heavily regulated and nothing moves quickly. Anything that involves the state or federal government is measured in timelines of weeks and months, not hours or days, much less minutes or milliseconds. After building companies in the digital space where it’s easy to get antsy when a file download takes a few extra seconds, it was both agonizingly painful and refreshing to work within an industry that expects less rapid turn around times.

As I have detailed a few times before, I have faced a few significant mental challenges in the last few years while building Sandhills Development. Most recently I struggled with severe burnout. I found myself completely incapacitated and unable to find any joy in digital work. I was, and am, immensely proud of what we’d built and the team I’d assembled, but the day-to-day work of maintaining the company was draining my will to be in front of a screen.

The brewery ended up being exactly what I needed to re-discover my passion for WordPress and the web. I effectively took a six-eight month break from the digital world to build the brewery with my brother and in doing so, re-discovered my love for the web and the products we have been building as a team.

Along with helping me re-find a passion for the web, the brewery has given me an inordinate number of experiences that I’ve been able to turn into valuable lessons for the software side.

Sandhills Brewing is the brewery that WordPress built. Without the success of our WordPress-based products, Sandhills Brewing would have never happened. With that, if anyone reading this is a beer fan and finds themselves in Hutchinson or Mission, KS, come visit our spaces!

Interested in following along with our brewery journey? Follow along through our website or Instagram.

My personal trials and triumphs

I’m writing this while Molly and I prepare to welcome our third daughter to the world and it reminds me of how fortunate we are to have the family, friends, and support that we do.

On the personal side, 2018 was largely defined by three major experiences.

Opening Sandhills Brewing

First, as described above, my brother and I succeeded with a goal we’d had for a long time: open a brewery. Brewing has been a passion of ours since ~2012 and we have both yearned for side-projects that include more direct connection to the physical world and the communities in which we live. Sandhills Brewing fulfilled both criteria superbly. It has given us a chance to work with our hands (we did the majority of our own construction, remodeling, and equipment installations ourselves) and it has enabled us to have a more direct connection with the people in our community.

Within less than a month of opening, the brewery’s taproom quickly became a gathering spot for many groups of friends and families. Each weekend, when the taproom is open, we see people come in, sit, and enjoy the space and beers we’ve created. They smile, laugh, and cheer. Unlike in the digital world, nearly every interaction we have with customers is a positive experience. We are part of their celebration and it’s immediately obvious how distinct the juxtaposition is to our digital interactions, which typically revolve around a problem that needs fixed.

For the first time ever, I have a sense of purpose and belonging in my local community. It used to only be a place I lived, now it’s a place I feel a part of and one I want to help thrive. And we’re now working on repeating the process by opening our second brewery and taproom in Kansas City.

The Sandhill Prairie Farm wild fire

The second major experience occurred in March, right as we were in the middle of getting the brewery’s production up and running. Prairie fires are not terribly uncommon in Kansas, like other drier parts of the world. While we’ve had close-calls with fires in the past, my family has never dealt with the destruction of a direct hit. That is until March 14, 2018, when a prairie fire lit by an arsonist tore through my parent’s property, destroying everything in its path. Everyone that was in the house when the fire approached escaped unharmed, though it was an incredibly close call for my father who rushed to turn on sprinklers and hoses to try and save the house. The fire moved so quickly and within minutes it was on all sides of the property, cutting off the road and escape route. He was forced to drive across pastures to escape.

That was quite possibly the longest, most trialing day of my life, but also one that strengthened family and neighborly bonds. The number of people that came to our aid to help with cleanup and restoration was deeply humbling. When I first got the call from my dad to tell me about the approaching fire, I immediately jumped into our team’s Slack channel and left a simple message:

Emergency. Parent’s property on fire.

My team did not hesitate and immediately understood what that meant. Aside from the obvious, it was clear and known that I would be unavailable for an undetermined amount of time. The whole team stepped up and took care of everything, many of them even offering to drive across the country to come help with cleanup.

I’ve never been more grateful nor proud to work with my team.

The fire, while terrible, gave me a greater appreciation for the relationships we build. Ultimately family and friends, and the bonds we nurture with those people, are more important than anything else we can possibly build.

Possible acquisitions and a team departure

The third major experience of 2018 was perhaps a culmination of four others: struggling with mental burnout, building the brewery, the wild fire, and then losing one of my most senior team members.

In my 2017 review I described the experience of re-discovering my role within my own company. I continued to struggle with motivation throughout much of 2018, even though I now had a better idea of where I fit in. Building the brewery gave me new purpose and was an opportunity to take a much-needed mental break. The wildfire helped me recognize the importance of relationships and the power and strength of a great team. Then two more series of events happened.

In the course of two-to-three months, I was approached by not one, not two, not three, but five different companies interested in potentially acquiring all or part of Sandhills Development. These conversations, while not entirely new to me, came at a time I was feeling vulnerable but also potentially motivated to sell. I’d just gone through a traumatic family experience that made me relish the idea of having fewer business obligations, I was actively involved in building the brewery, and I was mentally burnt out from the digital world. Each of those made me consider the possibility of walking away more than ever before.

In the middle of those conversations, a metaphorical bomb dropped.

John Parris, one of my longest-term team members, a shareholding partner, most valuable contributors, and a great friend, called to tell me he needed to leave the company.

Early on in John and I’s working relationship, we were sitting in a brewery enjoying dinner and a beer when I asked him what he really wanted to do in the next few years. I’ll never forget what he told me:

I want to run your company while you go make beer.

It took a lot of guts to say something like that to the CEO of the company, and I loved it. It showed me that John was confident, motivated, and as determined as I was to build Sandhills Development into something great.

John was a huge supporter of the brewery efforts, not just because he wanted me to follow my passions but because he understood the importance of diversifying our revenue streams, and he saw tremendous value in the company building physical presences that have the potential to outlast each of us.

I believed John to be one of my most solid pillars in the company, but then he left unexpectedly, and it rattled me to the core.

Like me, John had been struggling with mental burnout and was needing a change of scenery. That just so happened to coincide with a large WordPress company’s recent acquisition creating a position for John that landed in his lap unexpectedly. It was too good of an opportunity for him to turn down.

The month proceeding his phone call to me became one of the most difficult I’ve ever experienced in my leadership tenure for this company. I felt lost, angry, betrayed, and overcome with an overwhelming sense that I had lost control of my company. I was tormented with the thought that my efforts to build the brewery and my struggles with mental burnout had culminated in the initial signs of the demise of my company. I barely slept, worrying that I would be forced to choose between leading the brewery and leading the digital team.

I began to consider more than ever the possibility of selling my company. Being blindsided with the departure of a team member that I believed would never leave, made me really wonder “what if?”. I knew that selling my company would afford me enough financial freedom to not need to worry about money. I also knew that selling my company would give me unbridled freedom to pursue passions I haven’t been able to focus on.

I also knew, however, that selling the company at this stage would leave me with an overwhelming sense of abandonment. I felt that I had just been abandoned by my partner so how could I do the same to the rest of my team? While acquisition conversations never got as far as discussing a price, the moment I recognized that selling would cause me to abandon my team, I knew my way forward, and it did not involve selling the company.

I don’t blame John for needing to leave and I’m proud to have worked alongside him. I’m thrilled for him to have found a new way to exercise his skills and passions and wish him nothing but the best. Ultimately I recognized that it was likely my own inaction that lit the fire leading to his departure.

Recognizing where my own failings or inaction caused John to leave has given me tremendous motivation to prevent that from happening again. In retrospect it was probably an event that needed to happen eventually in order to drive the necessary changes within Sandhills Development as a company.

2019 and beyond

2018 had significant wins for several of our products and from a revenue / profit perspective and, while not everything went great, I feel I’ve learned and grown more as a CEO this past year than ever before. Based on what we’ve learned as a team and what we already have in motion, I suspect 2019 will be our best year yet.

We try to avoid setting major year-long goals and instead to focus on smaller, more short-term goals that we can more easily measure and achieve. We do, however, hope to achieve the following in 2019:

  1. Raise overall revenue to $3,500,000
  2. Release Sugar Calendar 2.0 and a series of Pro add-ons that helps raise its revenue to $20,000 / month
  3. Launch SellBird.com and begin generating revenue through it
  4. Hire between 3 – 6 new team members
  5. Launch an affiliate payouts service for AffiliateWP
  6. Formalize more of our processes and the company structure / operations
  7. Continue to increase revenue and expand the platform for each of our products

Cheers to years past and those yet to come 🍻!

The post 2018 year in review appeared first on Pippins Plugins.

WP Simple Pay joins the Sandhills Development family

I am excited to share that WP Simple Pay has joined Sandhills Development.

WP Simple Pay, led by Phil Derksen, launched four years ago with the goal of offering a simple way to integrate Stripe payments into WordPress. It has stayed true to its goal and continues to be an excellent way to process payments and subscriptions with Stripe.

Since 2013, the team at Sandhills Development has worked to build the best products we can in eCommerce, membership, affiliate marketing, and other verticals. While doing that we’ve learned a lot about what we do well and what we’ve done poorly. We’ve also learned very well the kinds of customers our products work for and those that they’re not quite suited for. We’ve found the gaps and strengths in our offerings.

WP Simple Pay is a product that perfectly fits into several of the gaps in our offerings, so by bringing WP Simple Pay into Sandhills Development, we can do much better at offering our customers the solution that best fits their needs, whether it be complex digital eCommerce or simple payment processing; full-blown memberships or just quick and easy monthly payments.

Phil and I first got to know each other near the beginning of our WordPress product journeys six or more years ago and have consistently communicated since then. We’ve shared strategies, ambitions, and challenges in master mind groups, over many dinners, and frequently consulted each other as we built our products. Phil’s products have used Easy Digital Downloads and AffiliateWP for years and his experiences and feedback from doing so have contributed great value back to me and my team.

As of October 1, WP Simple Pay is now being maintained under the Sandhills Development umbrella. Phil has joined the Sandhills Development team where he will continue to lead and work on WP Simple Pay as well as other projects.

What will change

As with any merger or acquisition, customers may be uneasy and worried that the tool or team they love will change. We fully recognize why that uneasiness happens and want to reassure everyone that the changes that will be made in the next few months will be positive for all.

At first, very little will change. The product will still be led by Phil and the same support team will continue offering top-notch support. We will make a few minor branding updates to bring the product in line with our existing products.

Being part of a bigger team now, WP Simple Pay will receive development, support, and marketing resources from Sandhills Development. After the initial merge and everything is settled in, this will allow us to continue growing the tremendous product Phil has built, and push it even further.

We are really excited to be working together and cannot wait to begin sharing the results of our combined efforts.

The post WP Simple Pay joins the Sandhills Development family appeared first on Pippins Plugins.

Simple Google Maps Shortcode plugin has new home with WebFactory

In October, 2012, I released a plugin called Simple Google Maps Shortcode. It was a very simple plugin that simply registered a shortcode that could be used to display a Google map of any address on a post or page. The plugin was simple, efficient, and did just the one thing very well. Overtime it grew to more than 10,000 active installs and is still actively used on thousands of sites. Today I’m happy to announce that the plugin has a new home and has been acquired by WebFactory.

Gordan has already released a few updates for the plugin and plans to continue developing it into a more powerful solution for site owners to add Google maps to their sites.

Among other things, Gordan plans to release updates to introduce the following:

  • A GUI for creating/customizing the final map display
  • A detailed explanation and help guide to assist site owners with generating a Google Maps API key, necessary after the recently announced pricing and billing changes: https://cloud.google.com/maps-platform/user-guide/pricing-changes/
  • New support for custom pin images
  • New support for custom fields, ie [map]$custom-field-with-address[/map]

This acquisition brings WebFactory’s portfolio of Google maps plugins to three. Along with Simple Google Maps Shortcode, Gordan also developers and maintains:

I have known Gordan for a long time and have complete confidence in his ability to deliver superb results.

The post Simple Google Maps Shortcode plugin has new home with WebFactory appeared first on Pippins Plugins.

New website and branding for Sugar Calendar

Today I’m really excited to announce the launch of a new, dedicated website for Sugar Calendar! Say hello to sugarcalendar.com.

This is the first in a large series of updates we are working on for our sweet and simple event calendar plugin for WordPress. In the coming months you will see new features released, improved interfaces, numerous add-on plugins, and a whole lot more!

Back in November, 2017, John James Jacoby joined my team at Sandhills Development specifically to work on Sugar Calendar. With the skills and experience that John brings to the table, we will be elevating Sugar Calendar  from a small, simple event calendar plugin to a full-featured event platform. Work on this is in progress and a lot of updates will be coming out in the near future.

John and I have both spent considerable time building and maintaining our own event calendar plugins so with our combined knowledge and experience added to the vast wealth of skills at Sandhills Development already, we should be able to deliver a really good platform.

While we are working on the updates, we need to ask a small favor of existing customers. As part of the migration to the new website, we have regenerated all license keys and account records on sugarcalendar.com. In order to ensure your site(s) stays up to date with the latest versions, please follow these steps:

  1. Update to Sugar Calendar version 1.6.6 from within WordPress like any other update.
  2. Reset your account password at https://sugarcalendar.com/account using the same email address you purchased Sugar Calendar with.
  3. Once updated and logged into your account, please retrieve your new license key and update your site(s) that use Sugar Calendar with it. This is the license key you will use from now on.

That’s it!

With the launch of the new site, we also have an affiliate program available that you may join. Help promote Sugar Calendar and earn a commission on every sale!

If you have any questions or issues, do not hesitate to reply to this email or send us a support ticket from the new support page.

P.S. The upcoming updates will include a price change. Upgrade to or purchase an Ultimate license now to lock yourself into the low price forever.

The post New website and branding for Sugar Calendar appeared first on Pippins Plugins.

Full Screen Background Images Pro acquired by Scott DeLuzio

Full Screen Background Images Pro is a plugin I first built seven years ago that allows site owners to easily configure background images on their site that scales automatically based on the browser size. As one of my earlier plugins, I’m thrilled to announce that it has a new owner and home. Last week, Scott DeLuzio and I came to agreement for him to take over sales, development, and support of the plugin.

The plugin can now be found at https://fullscreenbackgroundimages.com/.

I am really excited to see Scott take the plugin further by adding great new features and bringing it up to date with today’s standards and expectations. If you have previously purchased the plugin, or are considering purchasing it, rest assured that you are in excellent hands with Scott.

To help ensure the transfer goes smoothly, let’s address some commonly asked questions for acquisitions like this.

Do customers that purchased from Pippin’s Plugins still get updates and support?

Yes! All customers will get support and updates directly from Scott for the duration of their license key. For example, if a license was purchased from pippinsplugins.com on June 1, 2017, that license will be valid for support and updates from Scott until June 1, 2018, at which time it is then necessary to purchase a renewal from https://fullscreenbackgroundimages.com/.

Can customers log into their account at the new website?

Once all customer accounts have been migrated, yes. Expect an email from Scott in the coming days with instructions on how and where to log in.

Can expired license keys be renewed at the new website?

Yes. Please contact Scott through the new website if you need any assistance in renewing an expired key.

Who should customers contact for help, Pippin or Scott?

Contact Scott through the new support page.

If you have any questions, comments, or concerns regarding the plugin or the acquisition, feel free to leave a comment below or get in touch with Scott or I directly.

The post Full Screen Background Images Pro acquired by Scott DeLuzio appeared first on Pippins Plugins.

2017 in review

As is my tradition at the end of each year, I’d like to share experiences, failures, and successes from 2017.

Previous year in review posts: 20162015201420132012.

Personal

From a personal perspective, there’s a number of things from 2017 I’d like to share, including accomplishments and challenges.

Moving to a new home in the Kansas Sandhills

Of everything that happened in 2017, there is one single highlight on the personal side of things: getting acreage outside of my city. In June, my wife and I noticed a property for sale three miles north of Hutchinson, KS, where we live. It had 11 acres comprised of woods, tall grass prairie, and plum thickets. Aside from a number of Cedar trees (an invasive species), the property was mostly pristine Kansas Sandhills that had never (to our knowledge) been farmed.

I grew up unschooled on an apple orchard my parents operated and the property included about 100 acres of trees and open prairie. I have longed to be back in the country away from the city ever since I moved away from my parents’ home. I consider my time growing up, free to be a wild child, some of the most important and formative years of my life and I want my children to have the same freedom and opportunities to explore and learn as I did. I hope for them to develop a deep love for nature through being immersed in it every day as I was.

After thinking about it for a week or two, we decided to jump on the chance of getting our own small plot of land. We put an offer on the property, which included a good house, and had it accepted less than 72 hours later. The next month was a whirlwind of getting everything in order, including selling our previous home. We had anticipated the possibility of it taking months, or even a year, to sell our house but were pleasantly surprised to have a solid offer on it in less than 10 days, which we accepted.

Moving to our new home was not free of challenges, especially as far as internet access was concerned, but after getting settled in everyone was thrilled. No place has ever felt more like home than where we are now and I’m eternally grateful to have had the opportunities and good fortune necessary to get here.

Building greenspace

Along with achieving a long-term goal of moving back into a rural setting, 2017 gave me an opportunity to move forward with another of my hopefuls: purchasing land to convert into greenspace and prevent the complete overtaking of concrete that was inevitable for the area. Shortly after completing our new home purchase, I also finalized the purchase of a vacant, 3 acre lot in our city for the sole purpose of creating a nature area.

I wrote about this briefly on my personal blog.

There is still a lot of work to do on it, which I’ll be beginning later this winter and I look forward to including updates on my progress in followup year-end-review posts.

Part of preparing the property for tree planting and other green developments involves keeping it mowed. During the spring and summer I will be mowing it every other week and it takes me about 2.5 hours to finish. I’ve found it as a great opportunity to sit (on a mower) and think for 2-3 hours. It’s actually a rare opportunity, the option to sit and think for extended periods of time. At first I thought I would want to hire someone to mow it for me but I’ve found the time to myself and my thoughts to be exceptionally valuable.

Between spending long periods of time on my bike and mowing the park, I’ve found the time with just my thoughts to be some of my most productive for working through hard challenges. Originally I thought I would want to get rid of any and all “dead” time, now I cherish it.

Re-discovering my role within my own company

On at least four separate occasions I have sat down to write a blog post on how I have lost my role as the lead developer of my WordPress products. As I have continually brought on immensely talented individuals to join my team, I have successfully hired myself out of my primary job: writing code.

This was an entirely intentional transition that, all things considered, worked spectacularly. It has allowed me to step wholly away from the development of our products and focus instead of other areas of the business. What I had not anticipated, however, is the effect this move would have on my personal motivation.

I so successfully hired myself out of my job that I often found myself unsure of what I should do. I frequently found myself sitting in my office monotonously going from easy task to easy task while trying to find my purpose again.

As a solo founder, the beautiful thing about bringing highly skilled team members on board is that you are then given the flexibility to put your own focus and efforts where they are most needed or most valuable. The downside, however, is that you also tend to find that you are no longer needed by your team to complete the task you used to be solely responsible for.

My presence is no longer needed for an update to one of our products to be completed and released. I am no longer needed for customer support. I am no longer needed for our marketing efforts. It is no longer necessary for me to review every line of code that’s written. Most of the company administration tasks no longer depend entirely on me. Obviously my presence and focus on projects and around the company is still immensely valuable, but the profound effect that a lack of need has on a solo founder’s motivation and drive can be intense.

I have always been really good at taking care of things that need to be done, whether I enjoy the specific task or not. I was completely caught off guard by how much not being directly needed was able to undercut my motivation and drive to continue pushing forward.

Getting the company to a place where I am no longer needed is one of my best accomplishments as it takes care of a huge problem that many solo founder companies face: the bus factor. If I am struck by a bus tomorrow, or disabled in any way, I can rest assured that the company will continue to succeed, and that has been one of my long term goals, one which I’m thrilled to have succeeded at.

I simply did not anticipate the effect that protecting against the bus factor would have on my personal motivation.

I never did succeed in finishing my blog post on the subject of losing my role as the lead developer, but I did over time manage to rediscover my purpose with the company. That allowed me to find my source of motivation again and gave me a new drive to succeed and push us further and further forward.

The last 12 months have been an incredibly interesting journey. I never thought I’d be struggling to find my motivation when the company was thriving better than ever before.

The mind is a fascinating beast.

Team growth

When I first began building my company I had no intention of ever having more than 3-5 employees. Growth, though, has a habit of adjusting your plans in ways that may not be expected. In 2017 four new team members came on board and several moved from part time contractors to full time.

Ginger Coolidge joined to help with AffiliateWP support and documentation.

Ashley Gibson moved from a part time contractor to full time team member to work on Restrict Content Pro development.

Kyle Maurer moved from a part time contractor to a full time team member to work on Easy Digital downloads support and marketing.

Tyler Lau joined to help with billing support and social outreach.

Phil Johnston, previously a part time contractor, joined us as a full time team member to work on Easy Digital Downloads development and support.

Keri Jacoby joined to help with Easy Digital Downloads support and internal company documentation.

John Jacoby joined to help with development across all products and to help re-launch the next leg to our product table, Sugar Calendar.

We also said goodbye to several teammates. Between the ones that left and the new ones that joined, our team size remained about the same as 2016. 13-16 between full time employees and part time contractors.

The Sandhills Development team currently includes thirteen full time, salaried members and three active full to part time contractors.

Team photo from our company meetup in Keystone, Colorado

My team is the core of the company. Without them we are nothing and for them I am eternally grateful.

Team focused decisions

Throughout the year, and at the tail end of 2016, my team and I made a number of strategic decisions that all had a singular core goal: doing what is best for the team and the company.

Depending on who you ask, these decisions were supported, loved, applauded, chastised, and hated by many. I have been told quite a few times this past year that I am making excellent decisions that really convey the strength of the team I’ve built and of my leadership skills. I have also been told by numerous individuals that I am the scum of the earth, I am ruining the open source nature of WordPress, and my business will fail.

As anyone that continues to work online does, I have grown a pretty thick skin and am not terribly phased by people calling me a greedy criminal or a despicable person. Each time it happens I try to pause and do my best to understand why someone has this opinion of me. Are they right? Is there truth to what they’ve said about me? Regardless of how right or wrong anyone is, being the target of such accusations has made me very reflective and cognizant of the choices I make for my company.

Perhaps the most important lesson I’ve learned from the choices we have made, some of which I will detail below, is that it’s critically important for the health and wellness of my team to be put first on the list of priorities. This is for a very simple fact: if we are not well nor happy in life or work, we will never excel at making our customers happy. This understanding has become the pivot on which all company decisions are now based.

Is it good for us? If not, we do our best to find an option or route that is. Decisions that promote better health and wellness for the team automatically carry over to the promotion of better experiences for our customers.

Price changes

There were several adjustments to our product pricing in 2017, and one in 2016 that had its effects realized in 2017.

  • Easy Digital Downloads prices increased significantly in December, 2016
  • AffiliateWP prices increased in March, 2017
  • Restrict Content Pro prices increased in March, 2017
  • Renewal discounts removed from AffiliateWP in March, 2017
  • Renewal discounts removed from Restrict Content Pro in March 2017
  • Renewal discounts removed from Easy Digital Downloads in September, 2017

The price increase for Easy Digital Downloads was easily the most contentious of the decisions made. While most people supported the reasons for the change, there was a very vocal minority that vehemently hated us for our decision. I am a firm believer that it is not necessary for the vast majority of companies to have any justification for the prices they charge.

Whatever price chosen is perfectly acceptable, even if some argue the price is extreme. The reason for this is simple: free markets permit companies and individuals to make their own choices on the prices they charge. Beyond that, the “correctness” of the price can be gauged by how customers respond to it and how it affects the sustainability of the company. Too high and the company fails to attract enough customers; too low and the company fails to generate enough revenue. So long as both needs are met, the chosen price works.

A number of individuals made it very clear to us that they felt we’d made a terrible decision with our Easy Digital Downloads price increase and, in no uncertain terms, expressed how our mistake would be clearly realized in our financial failure. I have no wish to discredit or demean their opinions, but I will say this: increasing our Easy Digital Downloads prices is one of the single best decisions we have ever made. It has contributed almost single handedly to a complete turnaround of Easy Digital Downloads’ future. In previous years I have expressed how we felt Easy Digital Downloads was a sinking ship. Today I’m happy to say it is thriving and in a better position than ever. This turn around is something that should greatly reassure Easy Digital Downloads users, even those that were unhappy with the price change, as it is what will permit us to continue building, maintaining, and improving the platform.

The price increases for AffiliateWP and Restrict Content Pro were also very successful in allowing us to operate more freely and have given us a lot more ability to invest back into the further development of the products and company.

Closing the EDD marketplace

In September, 2017, my team and I made the decision to close down the extensions marketplace we operated for Easy Digital Downloads. This was the marketplace that allowed 3rd party vendors to sell their EDD extensions through our website. We had been working on slowly reducing the number of 3rd party plugins that we offered through the site over several years already but it was going to take a considerable amount of time before the process was completed at the pace we were going.

While working through the logistics of introducing some price and sales model changes for EDD, we encountered a number of challenges that were a direct result of our site selling 3rd party extensions. It had already been decided that the changes we wanted to make were really important to the longevity of Easy Digital Downloads as a platform and as a business, so we began looking at the feasibility of discontinuing our marketplace and removing all 3rd party extensions.

After a few weeks of analyzing, thinking, and talking, we quickly discovered that shuttering the marketplace was pretty feasible and would likely not result in too much discontent. Doing so, however, would have significantly positive affects on the future of Easy Digital Downloads.

In order to fully close the marketplace, we needed to get rid of, in one way or another, every plugin that was owned by a 3rd party developer. Getting rid of them really just meant that the plugins needed to be removed from the site so that only our own extensions remained. We decided that one of three things would happen to each of the 3rd party plugins:

  1. It could be transferred off-site and distributed through whatever mechanism the author chose so long as it was not our site.
  2. It could be discontinued entirely.
  3. It could be acquired by Easy Digital Downloads and left as-is on the site.

While our site did not have nearly as many extensions for sale at the time as it once had, there were still a large number of plugins to be managed. In total, 55 plugins needed to be moved off, discontinued, or acquired.

Of the 55 plugins, we chose 37 that we wished to acquire and take over full ownership of. These were plugins built wholly or in part by 3rd party developers that had performed well or had strong potential for the future. For these plugins we determined what we felt was a fair price and then we reached out to each of the owners and made them acquitision offers. The vast majority of authors were thrilled with the prospect of selling their plugins and quickly accepted our offers.

18 of the 55 plugins were determined to be ones that we no longer wished to sell on our site, so these were either discontinued or moved to a place of the author’s choosing, their own site or a marketplace such as CodeCanyon.

Once we decided we were going to acquire the plugins and close down our marketplace, it took just about four weeks to complete the entire transition. After all was said and done, we spent $145,000 purchasing extensions. All extension purchases were paid for in cash with the exception of one, which was put onto a payment plan spanning four months. This was a move made possible by our price increase at the end of 2016. If we had not done that, we’d never have been able to afford purchasing so many plugins in such a short period of time.

A number of very interesting things happened as a result of our choice to acquire all extensions and close down our marketplace.

First, there was a palpable sense of relief and satisfaction among the team. Working closely with 3rd party developers and selling their products through your own site can have mixed experiences, sometimes good and sometimes bad. Most of the developers we worked with were great. They were responsive to bug fixes, welcoming of feature requests, and all around just good to work with. Others were less good for various reasons but regardless of how good someone is to work with, there are inherent challenges that come with working alongside outside developers. By acquiring all of the plugins, we removed all of the challenges that the 3rd party plugins posed to us, thus eliminating significant sources of stress and tension for the team. The effect that this had on everyone was very noticeable in the team’s moods and focus.

Second, by removing 3rd party plugins, we eliminated a significant monthly expense. Each month we paid out between $8,000 and $15,000 in commissions to 3rd party developers. As soon as there were no more 3rd party commissions to track, all of that revenue started going straight back into the company instead of being paid out, which then provided extra flexibility and safety nets. Through the savings of having significantly lower expenses we easily have the opportunity to hire more development resources and invest back into the improvement of the platform.

Third, we reduced our support load. Some of the extensions that were acquired had had long-term issues that were not being taken care of adequately. By taking over control of the plugins we were then able to immediately push out a large number of updates to extensions to resolve some long-standing bugs and problems. We were also able to further reduce support loads by discontinuing some of the plugins that were low sellers or simply not worth the time and effort it took to maintain them.

Overall, I would consider the decision to close our marketplace and acquire all of the extensions to be one of the single best decisions we’ve made in the last few years.

Firing

Twice in 2017 I found myself in a position where I needed to fire a team member. Bluntly, those were two of the hardest experiences in my professional career. Hiring the right people is hard, but I’ve come to find that firing people is perhaps harder.

Going through the mental exercise of firing someone is exhausting. You worry about how the person will react. Will they be angry, understanding, sad, unmoved? You worry about whether they will be okay in the coming months. Do they have funds set aside to get them through a period of unemployment? Do they have something else lined up? You worry about how the rest of the team will react to the news of one of their team members leaving. Will that make the others worry for the safety of their own positions? Will it cause rifts or resentment within the team? You worry about the company’s performance. Will firing this person harm your ability to deliver on promises to customers? You worry about what they will think of you. Will this person hate you for firing them? You worry about their family. Do they have children to support and will they be able to provide for their kids when their paycheck is cut off?

Firing someone you’ve worked with for multiple years is an absolute whirlwind of emotions. Nothing about it is easy. The objective side of the brain knows the choice you’ve made is the right one, but the emotional side struggles. It is obvious when a person is not performing, is not meeting quality requirements, is a poor fit for the team culture, and other issues, but those do not make it any easier to overwrite the human element when you care for the person and their wellbeing.

Realistically, I know I will have to fire someone again in the future, and probably more than one, but I dread the prospect of it. Having gone through the experience twice in a year has made me much more cautious about the hiring process and how we vet possible candidates. No system will ever be perfect but we will work harder to ensure those people we do hire are the right fit.

Revenue

2017 treated us well, largely in part to the strategic decisions we made throughout the year and earlier in 2016. Overall we saw a 53% increase over 2016 with a total of $2,268,000.00 in revenue.

Our 2017 revenue can be broken down as such:

  • Restrict Content Pro: $333,000.00
  • AffiliateWP: $901,000.00
  • Easy Digital Downloads: $946,000.00
  • Other: $94,700.00

Our revenue increase came from three primary factors:

  1. Raising our prices
  2. Automatic license renewals
  3. Natural growth

The most interesting of these three is the automatic license renewals, so let’s take a deeper look at those stats.

Revenue from automatic license renewals

In the first quarter of 2016 we implemented automatic renewals for license purchases. This meant all license keys purchased automatically renewed with a payment on the annual anniversary of the purchase date. As this change was made in 2016, it wasn’t until January and March 2017 that we began to see the effects of it.

In my 2016 review post, I said that enabling automatic renewals was “one of the most important changes we made for the sustainability of the company”. Today I am completely confident that turned out to be true.

Let’s take a quick look at our license renewal stats for 2017.

Easy Digital Downloads

In 2017 Easy Digital Downloads saw $309,000.00 in revenue from license renewals. 2016, in contrast, only had $139,850.00 in revenue from license renewals, so we increased our renewal revenue by more than $150,000.00. And that revenue increase was not from an increased marketing effort nor natural growth, it was simply due to the difference between automatic and manual license renewals. Here’s a graph that illustrates the effect automatic renewals had very clearly:

Screenshot from 2018-01-04 15-50-19

Look at the change between March and April. The first automatic renewals began being processed at the end of March, 2017. It more than doubled the number of renewals we see every month.

Out of the $309,000.00 in renewal revenue, $208,000.00 came from automatic renewals. The rest was from manual license renewals for customers that did not have automatically renewing subscriptions.

AffiliateWP

Similar to EDD, AffiliateWP saw an increase in monthly renewal revenue as soon as automatic renewals kicked in, which happened in the second half of January, 2017.

In 2017, AffiliateWP brought in $201,000.00 in revenue from license renewals. Of that number, $181,500.00 came from automatic renewals. In contrast, 2016 had just $62,700.00 in license renewal revenue, so automatic renewals increased our renewal revenue nearly 3x by itself.

A graph showing renewal growth from Jan 2016 to December 2017:

Screenshot from 2018-01-04 16-37-03

Restrict Content Pro

Like Easy Digital Downloads and AffiliateWP, Restrict Content Pro also saw a nice boost in revenue due to automatic renewals.

In 2017, we brought in $59,750.00 from license renewals. Of that, $44,780.00 was from automatic renewals. This is a pretty significant increase from 2016 where we saw just $23,700.00 in renewals.

Here’s a visual of our renewals over 2016 and 2017:

Screenshot from 2018-01-04 20-18-52

Enabling auto renewals is easily one of the best financial decisions we have made.

SellBird

A project we’ve slowly worked on over the last two years, SellBird is beginning to take shape. We’re still a few months have having an MVP ready but it is getting closer.

I’ll have more to share on it in a couple of months but for now, here’s a screenshot from one of the dashboard views.

image.png

Follow @SellBirdHQ for updates.

Sugar Calendar

One of the earlier commercial plugins I launched, Sugar Calendar was built to be a simple, lightweight event calendar plugin for WordPress. While never a major success from a revenue stand point, the plugin has done decently well over five+ years.

Much like Restrict Content Pro, I’ve wanted to more fully develop the plugin into a full-fledged product for quite some time but had not managed to do that on my own.

Read about the effort to re-build Restrict Content Pro here.

I had originally partnered with another developer to try and move the plugin forward. That effort and partnership, unfortunately, fell through and did not produce nearly the results I had hoped for. It failed due to a number of reasons and no single person carries the blame for the failure.

In October, earlier this year, I decided it was time to restart the efforts to build out Sugar Calendar into a full-fledged product. To do this, I partnered again with another developer to aid in the efforts. This time I chose John Jacoby, whom began the process of modernizing the codebase and expanding the feature set of Sugar Calendar. At first it was decided it would be a possibly short term experiment to see how it worked. By early November, however, we’d already decided it was meant to be. JJJ joined my team as a full time member in December to continue his work on Sugar Calendar and other projects.

When the new version launches, it will see a price change and a new series of add-ons introduced. All current customers will have their license keys migrated to the new website and those customers that have purchased multi site versions will see complimentary access to new add-ons granted to their account.

There is still a lot of work to be completed before we’re ready to launch the new Sugar Calendar but we’re getting closer and closer each day. You can follow @sugarcalendar on Twitter to stay updated.

Achieving sustainable profitability

There several things I am deeply proud of with my company.

  1. We have never missed nor skimped on payroll due to financial inflexibility
  2. We are 100% self-funded and have never taken on loans nor any other kind of financing out of necessity
  3. We have always been profitable

Those three facts mean a lot to me and continue to be pillars of every decision I make for the company.

I say that we’ve always been profitable, but that doesn’t mean we’ve always had comfortable profit levels. We’ve had a couple of years where our profit was only a few thousand dollars. That means very, very little when your monthly expenses surpass $100,000.

The choices that we made in 2016 and 2017 were aimed at moving us towards a number of goals, but one of the most important was targeting sustainable profitability.

What do I mean by sustainable profitability? I view it as a level of monthly and yearly profit that allows a company to:

  1. Be financially stable and able to weather downturns in revenue
  2. Have adequate resources to make strategic investments
  3. Have the ability to bring on new team members to fill needed roles at any time
  4. Be financially able to pay all employees greater than a living wage
  5. Be financially stable enough to allow less liked or neglected revenue streams to be removed
  6. Have adequate cash reserves to permit the company to survive in the case of catastrophe

In 2017 we achieved sustainable profitability. I do not know for certain that we’ll maintain it throughout 2018 and beyond but I am confident we are on the right path to long term sustainable profitability.

Insulating the company

Our greatest strengths are our greatest weaknesses.

I’ve spent a lot of time with nothing but my thoughts in the last two years and these periods have led me down a number of mind paths, many that went nowhere in particular, but there is one that I kept coming back to.

What do I want in the next 25 years?

As I’ve gone through the various ups and downs of the previous years, I’ve thought on numerous occasions that it might be time for me to sell my company and move on. The prospect of this really bothered me though. I knew that if I were to sell my company I could likely walk away very comfortably and I don’t doubt I’d be able to find a new owner that would continue to take good care of it, but I couldn’t get past the prospect of leaving my team.

The people that comprise my team are some of the best individuals I’ve ever met and many go beyond just teammates. they’re lifetime friends that I hope to always stay connected with.

The thought of selling my company has always ended with my team. Many of them have told me that if I go, they go, and that they’d happily follow me onto the next thing, whatever it might be.

Coming to understand the quality of the team I’ve built helped me to find the answer to my question: what do I want in the next 25 years?

I want to build a lifetime company.

I don’t want to spend 8 years building software products, sell it, and move on. As common as it is to hear of founders doing that, it’s not for me.

I first realized that I wanted to build a lifetime company after the owner of a local business I had hired to do a project told me their average employee tenure was more than 25 years. It astounded me that any company today could hold onto employees for so long. I want that! I want to know that we have so successfully taken care of our people that they never want to leave nor need to.

One of the first steps in building the lifetime company is insulating us from our biggest weakness: me.

I have worked hard in the last few years to remove dependency on me for the company’s operations. The next step was to protect against myself for decision making and succession.

If I fall off a cliff tomorrow, I want to know that my company and my team are going to be okay. Doing that meant I needed to no longer go it alone; I needed others to have clear roles in my succession.

In September, 2017, I made four of my team members full partners by giving them a combined 25% of my company.

This move helps to insulate the company from me in the case that I become unfit to run things. It also allows me to reward Sean, Chris, Andrew, and John in a small way for the important role they have all played in getting us to where we are today.

Brewery development

At the end of 2016 I declared one of my 2017 goals was to brew my first batch of commercial beer for Sandhills Brewing, a passion project my brother and I have been working on. We didn’t quite get there but we got very close.

For those that do not know, my brother and I have been working on opening a commercial brewery as a side project for the last several years. That work is getting closer and closer to having something to show for it.

A few highlights from our brewery development:

  • We helped another local brewery brew a small test batch using our equipment. This test batch was sold through their brewery and was well received.
  • We partnered with the same local brewery, Three Rings Brewing, in order to provide them with a barrel aging warehouse and our own expertise (my brother and I’s) with barrel aging beers.
  • We completed the majority of the build phase for our brewery.
  • We submitted our licensing application to the federal government and hope to receive our approval in early 2018.

Once we have had our application approved and have completed a few smaller, easier local and state license applications, we’ll be able to begin brewing commercially. At this time we expect that to happen sometime during the first quarter of 2018. If all goes well, we’ll sell our first 100% independently produced beer by summer 2018.

A nice example of the beer to be brewed by Sandhills Brewing

It’s been a great year and I really look forward to what 2018 has in store for us.

Cheers!

The post 2017 in review appeared first on Pippins Plugins.

Discontinuing memberships on Pippin’s Plugins

Six years ago I announced the launch of premium memberships to Pippin’s Plugins for access to advanced tutorials, code reviews, and other member-only benefits. I have been continually humbled by the response and support my memberships received from the WordPress community and I would like to sincerely thank everyone that signed up. Today, however, I have discontinued memberships to this site.

My ability to consistently produce new material and to provide code reviews like I used to has continually waned as the product side of my business has grown. For a long time I held onto the hope that I could find a way to get back to consistently producing new content for this site but a small part of me has known that is unlikely to ever happen, and so I have made the only right decision available: close down memberships.

Effective today, memberships have been discontinued on this site and all existing memberships have been cancelled to ensure no existing members are billed again. If you are a member and signed up within the last 30 days, contact me and I will be more than happy to provide a full refund.

NOTE: this does not refer to Restrict Content Pro. That product is still actively maintained and developed at https://restrictcontentpro.com.

All previously restricted tutorials are now open to everyone. Please learn, grow, and enjoy!

The post Discontinuing memberships on Pippin’s Plugins appeared first on Pippins Plugins.

Automatic license renewals: twenty months later

About twenty months ago, while sitting on a couch in Auckland, New Zealand, my team and I flipped the switch to enable automatic renewals for AffiliateWP. Two months later we did the same thing for Easy Digital Downloads and Restrict Content Pro. This was a move that we had been working towards for nearly a year and it’s one that we believed would fundamentally change the position of the company over the next one to two years. Now that it has been twenty months, maybe we can answer the question: were we right? Did it make a significant impact for us or was it all futile hopes?

Historically we, like many other online product companies, have struggled with low renewal rates. All of our products are sold with annual licenses that should be renewed each year so long as the products are in continued use. Renewal revenue is a critically important part of growing any online business because it reduces the expensive process of customer acquisition. Your revenue isn’t purely a factor of how many new customers you obtain, it’s a combination of your new customer acquisition and your existing customer retention. If you have great customer retention, you can grow your annual revenue year after year without having to rely on increasing the number of new customers acquired year over year.

Our goal with implementing automatic renewals was three-fold:

  1. Reduce friction and effort for customers. Easy systems == happier customers.
  2. Increase renewal revenue by reducing the number of “forgotten” renewals.
  3. Provide a predictable revenue stream we could rely on and adequately forecast against.

Let’s start determining if we were successful by looking at some previous year stats.

Easy Digital Downloads

Here are some quick stats on our previous years with Easy Digital Downloads:

  • Total revenue in 2014: $474,622.54
  • Total revenue in 2015: $561,269.06
  • Renewal revenue 2015: $80,799.26
  • Total revenue 2016: $597,352.61
  • Renewal revenue 2016: $139,850.03

In 2015 we brought in $80,799.26 in renewal revenue. That’s revenue from existing customers that renewed their license keys. This number means only 14.4% of our total revenue in 2015 came from renewals. Ouch. While $80,000 isn’t a small number and is a nice addition to our annual income, it’s abysmally small when you recognize how few customers were coming back and purchasing renewals.

Our 2016 renewal revenue was higher at $139,850.03 but still only accounted for 23.41% of our total revenue that year.

AffiliateWP

For AffiliateWP, we have pretty similar patterns between 2014 and 2016.

  • Total revenue in 2014: $119,651.50
  • Total revenue in 2015: $379,078.36
  • Renewal revenue 2015: $19,774.60
  • Total revenue 2016: $491,890.90
  • Renewal revenue 2016: $62,827.80

For 2015, our renewal revenue accounted for only 5.22% of our total annual income. This is super drastic, though it does look worse on the surface before realizing part of the reason the renewal revenue was so low was because 2015 saw incredible growth for AffiliateWP. We more than tripled our 2014 revenue by bringing in a lot of new customers so our new customer acquisition was rapidly out pacing our existing customer base from 2014.

In 2016, we saw $62,827.80 in income from renewals, accounting for 12.77% of our revenue that year.

Restrict Content Pro

Again, Restrict Content Pro shows pretty similar patterns of abysmally low renewal income ratios.

  • Total revenue in 2014: $67,211.75
  • Total revenue in 2015: $83,806.60
  • Renewal revenue 2015: $10,460.30
  • Total revenue 2016: $157,486.89
  • Renewal revenue 2016: $21,706.60

In 2015, we brought in $10,460.30 from renewals, accounting for 12.48% of the year’s revenue. And in 2016 we saw $21,706.60 in renewals, or 13.78% of the total revenue that year.

Easy Digital Downloads in 2017

Automatic renewals for Easy Digital Downloads were enabled on March 30, 2016, which means the first payments to be processed by the resulting subscriptions would occur on March 30, 2017. This is important because it means the first three months of 2017 had the same manual renewals as previous years. Based on speculations, automatic renewals should dramatically increase the amount of revenue that comes from renewals.

Did it?

  • Total revenue so far in 2017, January 1 to August 1: $463,835.92
  • Renewal revenue so far in 2017, January 1 to August 1: $166,716.98
  • Revenue from auto renewals in 2017, March 30 to August 1: $90,297.20

Thus far, 35.94% of our Easy Digital Downloads revenue has come from renewals. That’s 12.53% more than in 2016, so a really good sign that automatic renewals are having a significant effect.

Of the $166,716.98 in renewal revenue, $90,297.20 of it was from automatic renewal payments processed with subscriptions. So 19.47% of our total revenue in 2017 has come from automatic renewals. That’s pretty good on the surface, but actually it’s really good. Why? Simple: automatic renewals didn’t start processing until the beginning of the second quarter of 2017 and yet it has already accounted for nearly 20% of our total yearly revenue.

If we look at March 30 to August 1, the time period that automatic renewals have been processing, we see that renewal revenue accounted for 38.72% of our revenue.

Here’s a graph that shows monthly license renewals for 2017. Can you see the point when automatic renewals began processing?

AffiliateWP in 2017

Automatic renewals for AffiliateWP began processing on January 21, 2017, so most of 2017 has included automatic renewals, unlike Easy Digital Downloads and Restrict Content Pro.

  • Total revenue so far in 2017, January 1 to August 1: $443,996.90
  • Renewal revenue so far in 2017, January 1 to August 1: $101,453.35
  • Revenue from auto renewals in 2017, January 21 to August 1: $89,686.40

22.85% of our 2017 revenue has come from renewals, and 20.2% was from automatic renewals. Just 2.65% came from manual renewals.

In 2017 we have had $101,453.35 in renewal revenue. In 2016 we had just $62,827.80. We’ve nearly doubled our renewal revenue and there are still four complete months left in 2017. Obviously some of that increase is due to natural growth, which we’ve continued to see for AffiliateWP, but it’s still a significant increase that I believe is largely attributed to automatic renewals.

If we exclude the first 20 days of January, we find that renewals have accounted for 24.20% of our revenue in 2017.

Here’s a graph showing license key renewals over time for AffiliateWP:

I don’t think I need to point out when automatic renewals were enabled.

Restrict Content Pro in 2017

The numbers for Restrict Content Pro in 2017 do share similarities with the other two products but it has one significant difference that needs to be noted. Throughout 2016 and 2017, one of our primary focuses has been to revitalize Restrict Content Pro and bring it back to a strong position within our product portfolio. I’ve written about these efforts and the results so far previously. I mention this because much of the growth Restrict Content Pro has seen in the last 20 months can be attributed to automatic renewals and extensive revitalization work.

  • Total revenue so far in 2017, January 1 to August 1: $184,686.45
  • Renewal revenue so far in 2017, January 1 to August 1: $28,503.85
  • Revenue from auto renewals in 2017,  March 30 to August 1: $16,165.80

In 2017, 15.43% of our revenue has come from renewals. 8.75% of that was from automatic renewals. This is an increase over previous years but not too terribly drastic. It is, however, still significant when we recognize that automatic renewals did not begin processing until the beginning of the first quarter of 2017.

If we look at March 30 to August 1, the time period that automatic renewals have been processing, we see that renewal revenue accounted for 19.22% of our revenue.

The graph below shows the growth of license renewals overtime. There is a pretty distinct increase in April that continues through the end of July. That increase is the result of automatic renewals.

Wrap up

I think the numbers mostly speak for themselves and really show that automatic renewals are having a significant impact on the financial state of the company. I look forward to seeing whole-year numbers after we’ve had automatic renewals processing for more than just a few months.

Restrict Content Pro’s 2017 revenue has already passed that of 2016, AffiliateWP is less than a month away from beating 2016, and Easy Digital Downloads is two months away from surpassing 2016. There are still four complete months left in 2017 and one of those includes our historically best month: November.

We need to make an important note here regarding the price increase we did at the end of 2016 and early 2017. The price increase did not affect any existing subscriptions, so the majority of the renewals we’ve seen so far in 2017 have been at the previous, lower price. So even though our renewal revenue is mostly at a lower price point than new sales, the percentage of the total that renewals account for is still significantly higher that it was previously. Once we are seeing the majority of renewals come in at the new, higher price, we’ll see even more significant results.

There are a number of really excellent effects automatic renewals have contributed to, but there are two in particular that I would like to highlight.

First is the ability to reliably forecast our expected revenue month-to-month. We now have a reliable data set that provides us with much more accurate predictions for future revenue, and that is incredibly valuable, especially when making decisions about company investments and weighing risks.

Second is our profit margin. One of downsides to increasing revenue through new customer acquisition is the added support and development burden that entails. The burden of adding $10,000 per month from new customers is not minimal at all. In fact it can be a real challenge. One of the reasons companies hire new employees is to help meet the demand brought on by the new customers. This often creates an endless cycle of growing your expenses as quickly as your revenue. Adding $10,000 to your monthly income doesn’t make much difference if you also add $10,000 in new expenses each month simply to help manage that new $10,000 you brought in.

Renewal revenue, however, doesn’t require the same maintenance that new revenue does. In other words, if we earn $100 from a new customer, it is likely that we will have to spend $80 helping that customer. If, however, we earn $80 in renewal revenue from an existing customer, we most likely won’t spend more than $20-30 helping them, if that. The reasoning is simple: renewing customers cost significantly less because the maintenance for them has already been done.

Existing customers are so much cheaper than new customers, so it only makes sense that we should do the very best we possibly can to increase the revenue generated from those existing customers. If we do that, our profit margins will get better and better, and that is precisely what we have seen.

Our previous years have all been profitable in the end, sometimes not very profitable but profitable nonetheless. 2017, however, has seen a completely new trend. We are not only showing profit every month, we are showing monthly profit that is greater than all previous annual profits, and we’re seeing it every single month but one so far. Which month didn’t see that level of profit? January, right before automatic renewals began taking place. Coincidence? Absolutely not.

I’ve previously mentioned that I believed transitioning to automatic renewals would likely be one of the best things we ever did. Today I’m more confident of that prediction than ever.

Reflection on a price increase

On December 14, 2016, my team and I pushed a significant change to our Easy Digital Downloads products: we increased the price on all extensions by 50-250%. Yes, you read that right: up to a 250% price increase on certain plugins. This change was done for a number of reasons, which I will get into shortly, and has resulted in a very interesting last three months. Since I have always been very open with my company’s financials, I would like to now share some reflections on the change that we made and to also share some of the aftermath of the change.

The backstory

Since the beginning of Easy Digital Downloads, and I imagine many products, customer support has always been our biggest challenge. Taking care of customers is hands down the most difficult job in the company. It is ripe with challenging problems to solve, long hours, relentless flows of new tickets, on-going conversations that spread not only over days but even weeks and months. Providing good and, when possible, great customer support is, to put it simply, exhausting.

There have been many times over the last 5-7 years where I thought to myself I’m sick of this; I just can’t keep taking care of these people, maybe I should quit. I have had those thoughts and every member of my team has had those thoughts. On one particular evening back in November, I was sitting on my couch doing my best to work through a not-abnormally sized support queue, and it hit me: this has to stop. This wasn’t the first time I (and many other members of the team) had spent insane hours working through support queues, nor was it the 50th time. Working late to help finish support requests is an every single day occurrence. It literally never stops. This time, however, I had had enough (fifty times too many) and decided it was finally time to take drastic measures to reduce support. I hopped into our Slack channel and told my team this and within a few minutes we’d made a decision: it was time to increase prices. It was past time, actually, but late is always better than never.

When a company is faced with an over burdensome support load, there are a number of ways that most companies look to address it:

  • Fix the bugs that cause problems to happen that then result in support tickets
  • Improve UX so customers better understand how to achieve certain results
  • Write more and better documentation
  • Hire more support team members
  • Move team members from non-support roles to support roles
  • Outsource support
  • Release fewer updates
  • Release more updates
  • Remove problematic features / products

All of these methods are 100% viable and our team has implemented all of them. There is, however, another method that people tend to gloss over or ignore, and it is perhaps one of the most effective of them all.

To lower your support load, all you need to do is have fewer customers.

It may seem like the opposite of what most companies want, after all customers are the people that make it possible for companies to pay their bills and their team members. Without customers, companies cease to exist.

The real answer to lowering support burdens is to have fewer but more valuable customers.

On that evening in November, my team and I decided it was time to try and drastically reduce our support burdens by dramatically raising prices, thus reducing the number of customers while simultaneously increasing the average value of customers. Theoretically this would allow us to keep our revenue about the same (which was just barely covering our monthly expenses) or, if all goes well, raise our revenue and lower the total number of support tickets we received each month.

That was the hope anyway.

The change

We threw a lot of numbers back and forth while discussing the possible changes we’d make to pricing. In the end we had several goals:

  • Raise the average customer value
  • Lower the number of customers, thus lowering the number of support requests
  • Keep overall revenue steady or raise it

Due to the sheer number of plugins sold through easydigitaldownloads.com, there were a lot of different price points. We sold plugins as low as $6 and as high as $149. Our primary plugins were priced at $29, $49, and $82, and just one was priced at $149.

As a general rule, we came up with the following guidelines on picking new plugin prices:

  • Plugins that power fundamental aspects of a store, such as licensing, multi-vendor marketplaces, subscriptions, etc, would be priced at the top tier of $199. These were previously priced between $82 and $149.
  • Plugins that are priced at $49 (mostly payment gateways) would be increased to $89.
  • Plugins priced at $29 (email marketing plugins and some other miscellaneous plugins) would be increased to $49.
  • Plugins priced between $12 and $19 would be increased to $29. This was determined to be the lowest price point we’d offer.
  • Bundles, such as the Core Extensions Bundle and the Digital Marketplace Bundle, would be increased according to the new value of the plugins included in the bundle.

In some cases, this resulted in plugins having $10 added to their price tag, and in others the increase was as much as $117.

The results

There are a number of statistics we can look at to help gauge the effectiveness of our price increase and we’ll go over those shortly, but there’s a non-scientific metric I want to look at first.

Team happiness and morale.

I do not need a psychology degree to tell you that the price increase has significantly affected the happiness and day-to-day mood of the team. For more than 12 months, our team has been faced with the problem that is Easy Digital Downloads. Yes, I mean that: the problem that is Easy Digital Downloads. You see, EDD is seen around the WordPress community as this great plugin that is wildly successful and a model to look up to in the commercial plugin ecosystem. While this is a reputation that we take great pride in, the honest truth of the matter is our team has struggled with EDD for months because in many ways it has felt like a sinking ship. We’ve seen stagnated revenue growth (even declines), higher-than-ever maintenance costs, relentless support queues, and a whole series of other challenges that our other two primary projects (RCP and AffWP) simply do not have. In comparison to EDD, those projects are cake walks.

The price increase has been enormously successful in making the team feel good, and the importance of that should never be ignored.

Support tickets

One of the primary results we needed to see in order for this change to be successful was a significant decrease in support tickets. It has now been three months since the price increase, so how’ve we done?

  • New tickets submitted: down 0.2%
  • Total tickets handled: down 43%
  • Total customers interacted with: down 35%
  • Conversations per day: down 42%

The total number of tickets submitted barely changed, but the other three statistics are incredibly significant. A 42% decrease in the number of tickets handled each day. That means EDD handled 10-15 fewer tickets every day, which translates to a considerable less amount of time spent working on tickets for our team. We have an average handling time of 5 min and 49 seconds per ticket, meaning we have removed one to one-and-a-half hours of support work per day by increasing prices.

Assume, for a moment, that we pay $25 per hour for support technicians. Removing 1.5 hours per day equates to approximately $37.50 in savings each day, or, when extrapolated out, approximately $13,687 per year in reduced support costs (if assuming zero volume change).

Revenue and sales

Along with a decrease in support burdens, we hoped the price increase would also provide a much needed boost to our monthly revenue. As mentioned in my 2016 in review post, Easy Digital Downloads operated at a loss for much of 2016, so increasing our revenue was an important measure on the success of the price increase. If we managed to decrease support and increase revenue, we’d consider it a home run.

To gauge the effect the price increase had on revenue, I decided to compare three different time periods:

  • January to February, 2016
  • August to September, 2016
  • January to February, 2017

These time periods are good representatives of our average revenue as they do not include any special promotional sale periods and they allow us to compare similar periods from before and after the price adjustments.

The summaries below provide a good overview of the revenue statistics for each of the time periods used for this comparison.

January to February, 2016:

  • Sales (including free): 3,861
  • Refunds processed: 106 – $8,765.40
  • NET revenue: $100,530.39
  • Average order value: $28.31
  • New paying customers: 664
  • Average value for new paying customers: $131.30

August to September, 2016:

  • Sales (including free): 3,930
  • Refunds processed: 74 – $4,454.95
  • NET revenue: $100,262.55
  • Average order value: $26.65
  • New paying customers: 565
  • Average value for new paying customers: $116.57

January to February, 2017:

  • Sales (including free): 3,009
  • Refunds processed: 65 – $7,530
  • NET revenue: $114,376.70
  • Average order value: $40.57
  • New paying customers: 373
  • Average value for new paying customers: $154.95

There are a few primary changes I’d like to highlight here. First, notice that the NET revenue increased by ~$14,000 in 2017 compared to the two 2016 time periods. With that NET increase, however, the total sale count decreased significantly, by more than 800 in fact. This also resulted in our average order value increasing from $28.31-26.65 to $40.57.

The total amounts refunded also possibly suggest that higher value customers are less likely to request a refund, perhaps because they do more ample research before committing than lower value customers.

This change also caused our average customer value (for brand new customers) to jump up to $154.95 from $131.30 and $116.57.

We are only part of the way through March, but the numbers are already looking even better than January and February. This is partly due to the promotional sale we ran for the end of winter, 2017. We shall see if the remainder of March and April hold up with the trend so far.

The price change has also had an interesting effect on commissions amounts that we pay to 3rd party vendors. In 2016, we paid an average of $16,000 per month to 3rd party extension authors. For February and January, this average has dropped to a little over $12,000 per month. While this is not an overly positive change for most extension vendors, it is a change that we see as an overall positive change for our company. This change primarily happened because of a decrease in the total sales, though it is also due in part to us reducing the number of 3rd party products we sell through the site. We have repeatedly learned just how difficult running a multi-vendor marketplace is and, as a company, we’ve determined that is not something included in our long term goals so we have continually worked to reduce the number of 3rd party vendors we directly work with. I hope to share more on various changes we’ve made over the years that have affected vendor commissions soon.

When combining the increase in revenue with the decrease in support burdens, this price change has so far appeared to be incredibly positive for us. It is a single move that might just be one of the most important changes we have ever made.

Customer response

Gauging the success of a price change based on customer reactions provides some really interesting insights. Using customer satisfaction as a metric, however, is something you must be careful with. In much the same way that star ratings tend to highlight the most unhappy and, oftentimes, unreasonable customers, the customer reactions to price changes typically show those customers that are the most unhappy. It’s unfortunately rare to hear from the happy customers or those that support your price change.

Within hours of pushing the price change live, we received our first reaction from a customer that who been considering a purchase during the time we were updating the prices:

Can you please confirm what is going on? How price jumped to the sky in a matter of seconds, I’m client of you and want to include multi-vendor option, it is even an effort to invest those 91 USD.

That reaction is fully reasonable, especially if he’d already added the items to the cart (our system could not account for already-in-cart items).

The second reaction we received:

Did the price of the Recurring Payments plugin really increase from $83.00 to $199.00 since January?? This was an unpleasant surprise. :/

Technically this was true, though with a brief explanation from Sean, her reaction completely turned around:

Awesome. Thanks for the explanation. I’ll look forward to exploring the features.

This customer did end up completing her purchase and has not contacted us since.

So within a few hours, we’d had two negative reactions but one of them turned into a positive experience for both parties. Over the next few weeks, we continued to receive emails from customers reacting to the price change. Many customers, interestingly, asked if the price increase was some kind of error.

Is there an error on your website or did your price in the last week just over double in cost? I was looking at making a purchase when I just did a refresh and saw the huge price increase.

We knew we’d get a decent amount of  flack for our price increase, especially as we chose not to alert customers (new or old) of the price increase before it happened. Whether this was the right choice or not, it was one we made intentionally. We felt there was a good chance that publicly mentioning our price increase before it happened would simply provide a place for people to pile negativity on us, and it would create a permanent record of that negativity for others to stumble upon. Doing it silently was like ripping the bandaid off in one fell swoop. It’s done, it hurts, but then it’s forgotten a short time later.

I still don’t know if doing it silently was the right choice, but there were numerous customers that were irate because of that particular decision. One person’s response was perhaps the most difficult to stomach. They started out perfectly reasonably:

I am in the process of renewing my plugin licenses again, everything looks good but I noticed that you’re now charging $199.00 (139.30 discounted) for Software Licensing? What is up with that?

I paid like $42 last year and certainly can’t afford to shell out $140 or more every year for a plugin. Not to mention the additional $40 every year for the other EDD plugins I’m using…

Please, tell me that a 200% price increase is some kind of mistake..

To that I gave a calm, collected, though perhaps too generic response, which really did not go over well, as can be seen by his reply:

Wow, so calm and collected.

Well, regardless of what YOU think about it:

1) It’s a 350% price increase (!!!)

2) It’s called gouging the customer

3) It’s called betraying all those people who got on board for 350% less, thinking that, even if the price increases, it will remain an affordable deal despite the annual renewals

4) You should grandfather existing customers at the original price instead of screwing them over

5) I expected much more from you, Pippin.

6) Maybe it’s time to create a similar competing plugin, sounds like it’s a very lucrative market, and would be much less expensive than getting screwed for a 350% price jack.

7) You won’t get away with it

8) It was a horrible decision

9) Even if I do renew this year, I’ll be looking for a complete replacement of the very overpriced EDD plugin suite that I have to keep paying for, over and over and over and over again.

10) Raising prices by 5%, 10%, or even 25% is reasonable. 350% is just greedy.

11) Do your current customers get 350% more value? Nope. They get the same old thing, only YOU benefit.

12) This list will be the outline of my next blog post

13) A textbook example of a bad move, how not to raise prices, and how to screw over your customers.

Seriously unbelievable move. I was all on board with you guys. Not anymore.

350% price jack = unbelievable gouging of your “valued” customers.

I could go on and on, but I’ll save it for the post.

I have had a fair share of people throw derogatory remarks my way, but this one was a bit different. This felt incredibly personal because it came from a person I’ve respected and looked up to for a long time. In fact, this response came from one of the very first people I looked up to in the WordPress community. Having them express their extreme displeasure at my decision to raise prices and method with which we chose to implement the change was painful.

It should be noted that we did grand father in all customers that had an active subscription (one that automatically renews). The only affected customers were those with manual renewals and new customers.

When you get these kind of reactions, it’s important to keep a fact in mind: companies do not need to justify their prices.

Perhaps the most telling thing from all of the reactions we received was just how horribly undervalued Easy Digital Downloads (and similar platforms) are in many customers’ minds. Here we had a customer that was seriously unhappy about paying $140 per year for plugins that provided the functionality they needed to operate their own store. Previously this customer had paid just $42 per year to run their store with EDD.

I’ve had friends, colleagues, and advisors tell me our prices have been too low for years, and I couldn’t agree more. It is absolutely crazy that we’re more accustomed as a society to pay $5 for a latte from Starbucks, which we will consume in a matter of minutes, than we are to pay $12-$20 per month for platforms that allow us to operate our businesses. We are accustomed to paying $80-$100 per year for subscriptions to Netflix and Hulu but we react with revulsion and disgust when a company asks for $150 per year to provide software that businesses literally rely on to bring in their own revenue. In the United States (where the customer above lives), we’re used to paying $50-$100 per month for cable TV subscriptions, but we expect software to be provided for so much less.

As a world, we are better at paying for things that rot (figuratively and literally) our insides than we are paying for things that help us provide for the health and wellbeing of our families and employees.

This disparity in pricing expectations is asinine. Unfortunately, huge companies like Apple and Google have perhaps single handedly helped to create this through the rock-bottom prices of their respective app stores. Between the 1980s and early 2000s, it was common for video games, which take hundreds of hours to create, to cost $40-$50. This price was normal and expected. Once the app stores rolled around, however, expected prices dropped so low that companies now get practically eviscerated if they try and charge just $10 for a full length game in the Android or iOS app stores.

Quote from a review of Super Mario Run:

With a £7.99 price tag, Super Mario Run certainly isn’t cheap, but it’s easily one of the best smartphone games around.

Isn’t cheap? Seriously? It’s roughly the cost of just two lattes or one-three pints from many pubs, both of which are gone within a matter of minutes.

It’s high past time software providers charge appropriately based on the value they provide. If we cannot even ask for a decent price, how can we possibly continue to build platforms that power the web and the world around us?

My final reply to the angry customer was lengthy and has served as a good sounding board as I worked through this reflection post. I ended with:

Perhaps our definition of “appropriate” is different, but the last time I checked, EDD provides me (with the ability to run my stores) far more value than any monthly TV subscription or coffee service. Would I pay $500-$1500 per year to operate the stores that provide for my family and employees?

Absolutely.

Perhaps it was my explanation of why we chose to increase prices so severely or perhaps it was the price disparities provided that convinced this customer, but they did end up sticking with us.

Thanks Pippin.

This makes sense, I understand where you are coming from.

I went ahead and upgraded. The renewal discount always is appreciated.

Thanks for the great response. Enjoyed it.

Going forward

At this point, we are very happy with how the price change has worked out for us and Easy Digital Downloads. We were happy enough, in fact, that we decided to implement a similar price increase on Restrict Content Pro and AffiliateWP, which went live on March 1, 2017, just a few weeks ago. We did end up making some adjustments to how we rolled out those price changes and so far the changes appear to have worked well. It is too early to tell just how effective they will be, but we are confident that it will prove to have been the right choice in 3-6 months.

Do you have thoughts or reactions? I’d love to engage with you in the comments.

The post Reflection on a price increase appeared first on Pippins Plugins.

Sugar Event Calendar 1.6 released

Sugar Event Calendar, my simple event calendar plugin for WordPress has just received a large update that resolves a few long-standing issues and introduces several new features, including category filtering of calendars, better mobile display, improved event list widgets, and several new calendar display types.

This release has been a collaborative effort between myself and Daniel Espinoza, who joined me to work on Sugar Event Calendar back in August of 2015, when we released the last major update to the plugin.

New calendar views

By default, the calendar of events will show full-month views that includes all of the events occurring during the month, like the screenshot shown below:

Some sites, however,  wish to show calendars with smaller date spans, such as one or two weeks at a time, four days, or even a single day. In 1.6, we have added support for the following date ranges:

  • Month (default)
  • Two weeks
  • One week
  • Four days
  • One day

Those views look like this:

Responsive mobile display

Sugar Calendar has always been pseudo-responsive and would adapt reasonably well to small screens. In 1.6, however, we’ve gone all the way and created truly responsive displays for all calendar views to ensure people viewing an event calendar from a small screen will be able to easily read and view the event information.

Better event list widget

Included in Sugar Calendar is a widget that can be added to any widget area that permits site administrators to display a list of upcoming and/or past events. This widget has always been pretty minimal of options so it was not always suitable or flexible enough for many sites.

In version 1.6 we’ve added several options to the widget to give site administrators better control over the exact information that is displayed. These new options include:

  • Option to show / hide event titles
  • Option to show / hide event date
  • Option to show / hide event time
  • Option to show / hide event categories

These new options are accompanied by the existing options that include:

  • Number of events to display
  • Categories of events to display
  • Display of upcoming and/or past events

Category filters on calendar views

The calendar display has supported showing just events from specific categories for a long time, but this option has always been limited to a shortcode parameter, meaning the site administrator was the only one allowed to control what categories were displayed. There was no way for a site visitor to filter the calendar by category.

With version 1.6, we have added a category drop down to the calendar view so site visitors can filter the calendar down to just specific categories. For sites that have a lot of events and categories, this will make it easier for site visitors to locate the events they’re looking for.

Bugs addressed

Also in version 1.6, we have addressed a number of long-standing bugs. These include:

  • CSS files did not include proper version numbers
  • Event titles could not include HTML
  • Recurring events not shown in the proper order
  • Recurring events not listed in “Upcoming Events” widget

Updating to 1.6

This update is available free-of-charge to all customers that hold a valid license key and can be installed directly from the Plugins page within the WordPress admin. The update can also be downloaded manually from your account page.

If your license has expired and you wish to update to version 1.6, your license can be renewed from your account page.

If you do not yet own a license key, a new license can be purchased from the product page.

The post Sugar Event Calendar 1.6 released appeared first on Pippins Plugins.