It is that time of year again! As in years past, I like to look back on the previous twelve months and see how we did. In this year’s review, I will share revenue numbers, challenges, achievements, insights, and more about my business building and selling WordPress plugins.
Previous year in review posts:
There are a lot of great things that happened in 2016, but it was also easily one of the most difficult years I can remember in my adult life. 2016 put before me challenges and decisions I did not expect. For the most part, each of the challenges was overcome, though some of them are still being battled with, and I believe I’m a better person and a better business owner for having faced them. I’ll talk more on the challenges below.
When I started this plugins business 5-6 years ago, I never envisioned I’d have a team working with me, much less a team of 15!
I started bringing on people to help me with customer support in 2013 and doing that was easily one of the best things I’ve ever done. One became two, two became three, and now we have 16 members (counting myself) of the Sandhills Development team. These 15 are comprised of full time and part time team members and represent a mix of support agents, developers, marketers, writers, designers, and do-it-all’ers.
We are distributed across five countries and eight timezones. While we have not managed to achieve anywhere near a gold medal in diversity, we’ve done reasonably well and it has been an intentional focus for me this year and the time to come. I’m proud to say that of the six team members we brought on in 2016, four of them were women from three different countries. Sadly of the men on our team, only three are non-white males. I hope to improve that ratio in the future.
We have a long ways to go before we’ve achieved proper diversity, but we’re moving in the right direction.
Our team grew in 2016, though we also said goodbye to several team members. One team member joined us briefly for a few months, allowing them to get back on their feet, but then moved on after being offered a full time position at an excellent company. Another team member departed on mutual terms after we found the relationship simply wasn’t the right fit for both parties.
Running a 16 person company is easily one of the most challenging jobs I’ve ever worked, and hands down the most rewarding at the same time. It’s strange to me most days because it’s something I never expected. I have always been a do-it-myself person but at some point that began to change. Perhaps it was a greater appreciation for the skills others have that surpass my own or perhaps it came about with the desire to work less than 18 hours per day.
My team work incredibly hard and deserve so much more than I can give them. I may have started this business but the success we enjoy today is from the work they have done and continually do every day.
To each of you, sincerely, “Thank You!”.
I have spent a lot of time just thinking in 2016. For the past few years I have worked, worked, and worked and rarely took the time to really think about what I truly want to achieve and do in the next 5-10 years.
The first half of 2016 had a lot of personal struggles for me. I went through several phases where I felt I was on the brink of depression and really struggled to find joy in the days. I spoke briefly on this at Pressnomics 4 in Phoenix.
After a while I was able to work through some of the challenges I was having but it was an important reminder to myself the importance of caring for myself. As much as I’d like to, I simply cannot forget to take care of me. After realizing this, I began to spend a lot more time figuring out what I really wanted out of the next few years.
One change I was determined to make was to work less. I love my work, but I equally and more greatly love many other things in my life. This wasn’t necessarily the driver that led me to hire more team members but it has certainly affected how long it takes before I decide it’s time to hire a new person when our team is facing scaling or expertise challenges. I often forced myself to work longer and longer hours, and give up on other things I love, in order to get everything done, but I’m no longer interested in being a slave driver to myself so I’m more quick to recognize when it’s time to bring someone else on.
In 2017 I also plan to continue pursuing some additional business ventures that excite me a lot, primarily the brewery project that I’m working on with my brother. Perhaps in the 2017 year in review I’ll be able to share more details on that project.
Of all things I did in 2016, one of the ones I’m most proud of is the acquisition of pippin.com, a domain I have been trying to purchase for quite a few years. That domain is now being used for personal blogging, though only minimally. Perhaps I’ll manage to write more for it in 2017. It felt really good to finally get the domain for my name.
Though the discussion started in 2015, much of 2016 was spent considering the possibility of selling off a significant portion of one of my companies (technically I run four companies) to an interested party. I know for certain that I will not run this business for the rest of my life and I probably won’t run it to the end of its days either. At some point, I will either leave the company to my replacement or sell it off to an adequate buyer. This is simply the nature of most successful businesses, especially online businesses.
The interested party offered me a fair price and a strong track record of success. I knew that selling a stake of the company would have led me to much greater success than I currently enjoy today. There was no doubt in my mind that the sell would lead to substantial growth, but I simply could not get the feeling out of my mind that it wasn’t the right time. In the end I turned down the offer. Will I discover that was a mistake in the future? Perhaps but at this time I’m confident it was the right choice for me and the right choice for my team.
Starting and building a company has been one of my most challenging adventures so far. Considering the possibility of selling it was perhaps the second most challenging decision I’ve encountered so far along the way. The process, however, was a great exercise in figuring out what’s important and what I want to achieve over the next few years.
At Pressnomics 4 I spoke on the subject of being a little selfish. Really the talk focused on the importance of taking care of ourselves.
Of everything my team and I have learned in 2016, I feel that recognizing the importance of focus is paramount. I don’t just mean focus as in staying on task; I mean focus as in staying on track. Every company has core focuses and places they put their efforts, but perhaps one of the determiners for how well a company thrives is the degree to which the company stays on track and avoids veering off the path and sinking time, effort, and money into projects that do not fit within the focus of the company.
In early 2016 it became painfully clear that we were spending too much time and effort working on areas of the company that did not align with our core focus. This lack of focus got pretty close to seriously harming certain aspects of the Easy Digital Downloads project.
Much of this last year involved working to realign our focuses and cleaning up the messes left behind by allowing our team to waiver.
At this point, we have just about finished realigning our focuses and I am really excited for what that will allow us to achieve in 2017.
Automatically renewing subscriptions
Perhaps one of the most important changes we made for the sustainability of the company in the last 12 months is turning on subscriptions for all license purchases for AffiliateWP, Restrict Content Pro, and Easy Digital Downloads.
We created our first automatically renewing subscriptions for AffiliateWP on January 21, 2016. RCP and EDD came a few months later on March 29 and March 30.
Since enabling subscriptions, we have not seen any drop in sales volumes, at least not for AffiliateWP and Restrict Content Pro. Easy Digital Downloads has suffered some declines this year but, as far as we’re able to tell, they’re entirely unrelated to enabling subscriptions. The fear I repeatedly hear from business owners is that turning on subscriptions will cause sales to take a dive off a cliff. This is simply not something we have seen, nor something I’ve heard from a single business owner that has followed suit in transition to subscription models.
At this time, we have over 13,000 active subscriptions between our three primary product lines. This accounts for more than $684,000.00 in recurring revenue that we’re projected to bring in over the next 365 days.
Note: EDD and RCP had zero subscriptions created for the first four months of 2016 since we did not enable subscriptions until the end of March.
While obviously the estimated revenue from those subscriptions will change as customers cancel and/or have their cards expires, it’s still very significant when realizing that the recurring revenue from these subscriptions (which does not include revenue from new customers) is nearly 50% of our annual revenue for 2016, and that’s from just 8 months for two of the projects and 11 months for the other. If we had started subscriptions on January 1, 2016, we’d likely have 80% or more of our annual revenue already accounted for.
What does this mean? Well, in short it means that 2017 is going to probably look really, really good by the end of it.
The very first subscriptions are up for renewal starting January 21, 2017. I’m looking forward to it, to say the least.
Several of our products received price increases during 2016. These increases were made to better align the prices with the value the plugins provide and to help us reduce support while either sustaining equal revenue or growing the revenue.
Restrict Content Pro received a major price change when we updated the business model. It went from $42 for a single site license to $49 and from $120 for an unlimited sites license to $199. We also introduced new $99 and $449 license options.
Recurring Payments for Easy Digital Downloads saw a price increase from $82 to $145 when we relaunched the plugin. We also adjusted the price of many other extensions throughout the year but those were mostly minor.
At the end of 2016, we decided to implement a price increase across the board for all Easy Digital Downloads extensions, including an additional increase for Recurring Payments. So far this increase has been pretty well received. The number of sales per day / week has dropped slightly, but our average revenue has not. In fact the average revenue appears to show an increase, though it’s too early to say for sure. We’ll know for certain how the increase has affected sales, revenue, and support tickets in a month or two.
Alright, let’s look at some more revenue numbers.
In 2015, the company revenue was $1,139,500. For 2016, I’m happy to say we’ve grown this by 29.9% with a total revenue of $1,480,375.86.
The revenue brought in comes from four primary sources:
Let’s look at each separately.
Easy Digital Downloads
In 2016, Easy Digital Downloads brought in $693,527.98. This is an 23.4% increase over 2015. This is a good number but, frankly, one I wasn’t thrilled with. Let me show you why:
Do you see the downward trend shown by many of the last 12 months? Let’s look at a similar graph but this time 2015 and 2016 together.
We see a similar trend. Average monthly revenue has more or less plateaued. While we did see a couple of good months, and one really good month, most months of 2016 were at or just barely above the 2015 months.
In the last four years, EDD has experienced constant upwards growth and this slowdown, which I first noticed in Spring of 2016, really bothered me. It caused me far more stress and anxiety than I’d like to admit. I racked my brain for days every week trying to figure out what was wrong. Why were we not seeing the same growth?
Really it comes down to a pretty simple answer: we’ve moved out of our rocket growth period and now we have to work harder for the same kind of growth.
That’s normal, or so I’ve heard from many different voices.
Our 2016 revenue did increase, and rather substantially, so that was great. It was the average monthly revenue that bothered me, primarily because our monthly expenditures began to outpace our revenue. The bulk of our revenue increase came from just a few of the 12 months.
In 2016, Easy Digital Downloads did not make a profit. The project took a loss of -$34,881.52.
There are a few reasons our expenditures for EDD grew in 2016.
First, we brought on new team members to help with support and development. We also brought some older team members back into more active roles. Both of these were investments into the project that will (and already are) pay off.
Second, we intentionally invested a lot of time and money into improving several of our primary projects within Easy Digital Downloads. These consumed large amounts of capital without equal immediate returns. We’ll see returns overtime.
Third, we intentionally removed numerous revenue streams because they did not align with our long term goals and focus. While losing these revenue streams hurt, we’re better without them as it allows us to better focus in the areas that will greatly surpass them in future revenue.
Fourth, we invested a lot of capital into purchasing exclusive rights to many of the extensions sold through easydigitaldownloads.com that were originally built by 3rd party developers. Bringing a lot of plugins in-house dramatically increased our expenses but also reduce the amount that we pay out in commissions each month. Over time these acquisitions will pay off.
Summaries for Easy Digital Downloads in 2016:
- Total revenue: $693,527.98
- Revenue from plugin sales: $628,843.81
- Average customer value for 2016: $111.12
- Average customer value over all time: $128.69
- Average number of purchases per customer: 2.43
- Total paying customers over all time: 15,013
- New paying customers added in 2016: 3,718
- Revenue from license renewals: $139,850.03
- Revenue from license upgrades (single site to multisite licenses): $7,440.85
- Commissions paid to affiliates: $12,850.4
- 3rd-party extension vendor commissions paid: $197,092.29
- Revenue earned from Priority Support purchases: $10,884.19
- Recurring subscriptions created: 9,578
- Recurring subscriptions cancelled: 1,395 (many of these due to upgrades)
There are a few numbers I’d like to highlight and discuss.
First, only $7,440.85 was brought in from license upgrades. These upgrades are when customers move from one level of license (such as Single Site) to a higher level (such as 2 – 5 sites) and pay only the difference between the two license levels. Considering our total revenue from plugin sales was over $600,000, the revenue generated from upgrades is tiny. In a little bit, I’ll show you the revenue generated from license upgrades for AffiliateWP and Restrict Content Pro. They are drastically higher than this, which tells me we have an issue: customers do not have adequate incentive to upgrade their license keys. We’ll need to try and change that in 2016.
Second, notice that the total revenue from license renewals was only $139,850.03 out of our total plugin sales of $628,843.81. That means only 22% of our sales revenue came from renewals. With just the recurring subscriptions we have created between March 30 and December 31st, 2016, we already have an estimated $330,000.00 in renewal revenue. That is an increase of more than 136%, and that’s only the renewal revenue we expect to bring in and does not include any revenue from new purchases. That amount is also greater than 50% of the entire annual revenue for 2016.
Third, we only paid out $197,092.29 in commissions to 3rd-party plugin authors. In 2015, we paid out $213,000. Why the decrease? Two main reasons:
- We have worked to acquire a large number of plugins from 3rd-party authors and bring them in house.
- We have actively worked to limit the number of 3rd-party plugins we sell through our site. I’ve mentioned this in various places before, but basically we realized (and learned the hard way) that we do not want to run a marketplace. We want to build and sell our plugins, not the plugins of other developers.
Not everyone is thrilled about the move away from the 3rd-party vendor marketplace for Easy Digital Downloads, but it’s a move we have consciously made and firmly believe was the right one for the health of our team and company.
In 2016, AffiliateWP had $542,656.34 in total revenue, an increase of 42.8% over the $380,000 in 2015.
Unlike Easy Digital Downloads’ slightly more difficult year, AffiliateWP had a great year. Surpassing $500,000 in annual revenue less than three years after our very first sale for $49 feels pretty good. In December, 2016, we also surpassed $1,000,000 in all time revenue, giving us an average of $33,330 in monthly revenue since the beginning. Not too shabby.
I mentioned this in the 2015 review as well, but it still surprises me that AffiliateWP does as well as it does. I know that we have built a very good, reliable piece of software, but early on I did not expect it to grow to this size, especially not as quickly as it did. A large part of our success, I believe, is building on top of and leveraging other successful plugins. Being able to take advantage of the marketshare of WooCommerce and popular membership plugins like Paid Memberships Pro and MemberPress really gave us a good boost. Our own cross promotions with Easy Digital Downloads and Restrict Content Pro also benefit us greatly.
Early on in 2016 I started to suspect that AffiliateWP would surpass EDD in monthly revenue. It didn’t happen consistently but there was one month, October, where AffiliateWP earned more than EDD. At this time point I’m unsure if this will begin to happen more consistently in 2017. On one hand, we’re working hard to significantly raise EDD’s monthly revenue in the next twelve months, so it’s likely EDD will stay ahead. On the other hand, AffiliateWP has grown faster, and continues to grow faster, than EDD so it’s quite likely it will.
Summaries for AffiliateWP in 2016:
- Total revenue: $542,656.34
- Revenue from plugin sales: $511,438.65
- Average customer value for 2016: $121.87
- Average customer value over all time: $123.18
- Total paying customers over all time: 8,261
- New paying customers added: 3,657
- Revenue from license renewals: $62,947.20
- Revenue from license upgrades (single site to multisite licenses): $42,618.75
- Commissions paid to affiliates: $14,936.66
- Recurring subscriptions created: 4,467
- Recurring subscriptions cancelled: 750 (many of these due to upgrades)
Similarly to EDD, AffiliateWP already has a large portion of revenue for 2017 predicted and accounted for thanks to the recurring subscriptions we enabled in January, 2016. In fact, we have an estimated $280,599.65 in automatic renewals over the next 365 days. That’s more than 50% of our 2016 annual revenue. In 2016, only 12.3% of our revenue came from renewals, so seeing the renewal revenue increase so drastically in 2017 is going to be a great aide to us.
I have little doubt we’ll approach $800,000 in revenue in 2017 for AffiliateWP.
Something else that is particularly interesting is the difference in revenue that came from upgrades for AffiliateWP and the upgrade revenue from Easy Digital Downloads. AffiliateWP had more than 5x the revenue from license upgrades than Easy Digital Downloads did. The reason is simple: AffiliateWP offers much more incentive for customers to upgrade than Easy Digital Downloads does by granting access (free of additional charge) to “Professional” add-ons. Easy Digital Download’s upgrades are for nothing more than higher activation limits.
Restrict Content Pro
As one of my oldest products, it makes me incredibly happy to see Restrict Content Pro come back to life. In late 2014 we made a commitment to breathing new life into RCP. November, 2014, saw the launch of a new website for the plugin and April, 2016, saw the first fruits of our efforts.
For a year or more, RCP’s revenue had held pretty steady at ~$7,000 per month. In April, immediately after updating the pricing model and releasing several “Professional” add-ons, we bumped the revenue from $7,000 to $11,700. By the end of 2016, our average monthly revenue had risen to $15,900.00. One month saw $22,000 and another (November with Black Friday / Cyber Monday) saw nearly $33,000.
In 2016, RCP had a total revenue of $165,824.79. Thanks to the significant increase in our average monthly revenue, I have little doubt we’ll surpass $200,000 for RCP in 2017. Of our three major product lines, I believe Restrict Content Pro has the highest potential ceiling, we just need to keep pushing ourselves to reach it.
Summaries for Restrict Content Pro in 2016:
- Revenue from plugin sales: $165,824.79
- Average customer value for 2016: $91.06
- Average customer value over all time: $72.59
- Total paying customers over all time: 4,994
- New paying customers added in 2016: 1,465
- Revenue from license renewals: $21,706.60
- Revenue from license upgrades (single site to multisite licenses): $15,928.50
- Commissions paid to affiliates: $3,203.50
- Recurring subscriptions created: 1,573
- Recurring subscriptions cancelled: 290 (many of these due to upgrades)
There are a few numbers I’d like to highlight and discuss here.
First, our average customer value for 2016 was $91.06. This is a near $20 increase over the historical customer value. This increase came from two made changes we made:
- Introduction of Professional add-ons that encouraged high-level license purchases and upgrades
- Price increase on all license levels
An increase of $20 on the average customer value makes a big difference over time. For simple math, assume we gain 2,000 new customers in 2016. That $20 increase could mean $40,000 in additional revenue.
Second, RCP generated nearly $16,000 in revenue from license upgrades in 2016. This is more than 2x the amount Easy Digital Downloads generated through license upgrades, strongly reaffirming that EDD’s upgrade incentives need to be revisited.
Third, in the next 365 days RCP has an estimated $72,581.80 in renewal revenue that will be processed. Similarly to EDD and AffiliateWP, this is ~50% of our total annual revenue. Earlier I said I don’t have any doubts that we’ll reach $200,000 in annual revenue for RCP in 2017. This estimated renewal revenue affirms that prediction.
Since moving Restrict Content Pro to its own website, the revenue being brought in from pippinsplugins.com has dwindled severely, but that was to be expected as RCP was the primary revenue source for the site. Now the revenue coming in comes primarily from Sugar Event Calendar and site memberships.
- Revenue from plugin sales: $5,493.61
- Revenue from site memberships: $23,424.77
- Commissions paid to affiliates: $179.60
In 2017 I hope to breath some new life into the Sugar Event Calendar plugin, which is now a partner project between myself and Daniel Espinoza.
Our total gross revenue for 2016 was $1,480,375.86. In 2015 we finished the year at $1,139,500, giving us an increase of about 29.9%. This isn’t as much of an increase as 2014 to 2015 was, but it’s still a good bit of growth.
While 2016 had a significant loss for Easy Digital Downloads, our companies all combined did have a net profit for 2016. Restrict Content Pro and AffiliateWP both had a significant amount of profit, and enough to cover all losses for EDD and still leave us with additional cash in the bank. One of my goals for 2016 was to increase the amount of cash we have on hand, which we successfully did as nearly all company profit stayed in the bank accounts.
I still firmly believe that quality customer support is one of the most defining aspects of great companies. It is also one of the hardest areas within a company to excel. No matter how much you love helping people and seeing them succeed with your products, customer support is incredibly draining. As we have continued to grow our products, one of our company goals has been to be simultaneously shrink the burdens put on us through customer support, not by reducing the quality of the support we offer but by finding ways to naturally reduce support by making it less necessary for customers to need to contact us for help. Did we succeed? Let’s take a look.
Across our four support inboxes, we had a total of 20,829 tickets opened in our Help Scout account. Of these, 1/3 were for pre-sales and the remainder for technical support and account-related questions.
Easy Digital Downloads:
- Tickets opened: 10,971
- Total tickets worked on (includes tickets left over from 2015): 13,864
- Average tickets per day: 38
- Most tickets related to a single EDD extension: 2,354 for Frontend Submissions
- Most tickets opened by a single customer: 42 (two customers tied for this accolade)
- Revenue per ticket: $63.21
- Tickets opened: 5,635
- Total tickets worked on (includes tickets left over from 2015): 11,056
- Average tickets per day: 30
- Most tickets opened by a single customer: 35
- Revenue per ticket: $96.30
Restrict Content Pro:
- Tickets opened: 3,560
- Total tickets worked on (includes tickets left over from 2015): 3,565
- Average tickets per day: 9
- Most tickets opened by a single customer: 27
- Revenue per ticket: $46.58
There were also tickets opened for various plugins on Pippin’s Plugins but those were minimal enough that I have not included them here. I also have not included any tickets that were submitted to Easy Digital Downloads on WordPress.org. There were approximately 270 support threads posted for EDD on WordPress.org in 2016.
In 2015 I reported that we answered 21,027 tickets across our products. In 2016 we answered 20,829….success! We brought in 29.9% more revenue and dropped the total number of support tickets. Support is still a huge burden every single day, but these numbers do not lie: we made a significant improvement in 2016. This means that we changed our average revenue per ticket from ~$54.19 in 2015 to ~$71.08 in 2016.
New goal: further reduce the number of tickets in 2017 and increase the revenue per ticket.
2016 goals from 2015 review
At the end of my 2015 review, I included the following goals:
- Visit New Zealand. My wife and kids actually depart on January 13th and will spend two weeks there. As one of the places I’ve always wanted to visit, I’m really excited for this trip. – Done. It was awesome.
- Dramatically reduce the number of support tickets we receive on all three properties. This is already in motion and is happening through several different avenues simultaneously. Reduced by 1% but with a 29.9% increase in revenue.
- Bring on two or more new team members, or transition current contractors to full-time. Brought on 6.
- Double the revenue of Restrict Content Pro. Took average from ~$7,000 per month to $15,940.
- Announce to the world one of the projects we’ve been working on behind the scenes. Hints have been dropped but not too much to show yet. Visit sellbird.com
- Ride, run, or walk 2+ miles almost every day. Could have done better.
- Spend more time with my family and remember to play often and work less. This was a major focus for me but I have a long ways to go.
Goals for 2017
For 2017, there are a few specific goals I will continuously work towards.
A renewed focus on physical and mental health.
I spent a lot more time in 2016 than recent years prior paying attention to my physical and mental health and it really did make an amazing difference. Seeing first hand how much some focus on it affected me has reaffirmed that I need to work even harder on making my health, and the health of my team, a priority.
Surpass $2,000,000 in company revenue.
I am really pleased with how far we’ve come in 2016 and previous years but now I really want to push us even further. In 2017 I’d like to see us surpass $2,000,000 in annual revenue while simultaneously not equally increasing our monthly expenses. We were profitable in 2016 and 2015 but I want to be wildly profitable in 2017. With everything we’ve learned and implemented in the last 24 months, I think we have a good chance of making it.
Travel to a new international destination.
My family and I have travelled to at least one new country each year for the last two years. I would like to continue that streak and visit at least one new international destination. We have not decided where yet (proposals welcomed!) but will probably begin making plans soon.
Increase revenue per ticket.
From 2015 to 2016, we increased our revenue per ticket from ~$54.19 to ~$71.08. I’d like to see us increase that further to $80 or $90 per ticket.
Brew my first batch of commercial beer.
My brother and I have been working on our brewery project in evenings and weekends for a while now. We’re not yet able to give any kind of timeframe on it but I do hope that we’ll be able to brew our first commercial batch of beer sometime in 2017. It’s unlikely that beer will be released or available in any form during 2017, but at least it will be produced and then allowed to age and develop overtime in oak barrels. Our brewery will be focused almost entirely on American Wild Ales and other long-term barrel aged varieties.
Writing has always been an important aspect of my work and life. As my daily work as changed over time so has the amount of effort I put into writing. Going forward, I’d like to find a way to write more, giving myself more time for reflection and thought.
Thank you for reading. Let’s all go have an awesome 2017!