New year

The week between Christmas and New Year’s Eve is a great time to reflect on what you’ve accomplished as a company over the past year. The post-holiday lull provides some much-needed time to step back and get a bird’s-eye view of the past year before setting goals for the next. We spent the past few days at SkyVerge reviewing everything we built, improved, worked on, and shipped.

As a team, we’ve put more focus on retrospectives for projects this year, and I’ve been doing the same thing for goals: did we meet the expectations we set at the end of 2017? What went well, and what went poorly? How can we learn from the previous year’s successes and mistakes to improve in 2019? Read on to see how we measured up to the goals we had for ourselves this past year.

WooCommerce extensions

Our portfolio of WooCommerce extensions help power well over 100,000 eCommerce stores, and we’re proud to build tools loved by store owners, operators, and developers.

2018 was the first year in which our team was fully responsible for first-level and escalated support (the WooCommerce.com marketplace was restructured late in 2017 to shift first-level support to 3rd party developers), which made looking back especially interesting.

Plugin development

By the numbers, we made huge strides this year.

  • Our development team released 327 extension updates — that’s an average of 1.30 deploys per work day. If scotch is for shippers, we’re going to need some barrels. 🥃
  • Across our plugins, we made 3,100 commits with over 2 million lines of code updated (this is fewer commits than in 2017, but with more substantial changes).
  • We released five new plugins: two premium add-ons for Memberships, along with three free add-ons.
  • 40 feature releases were deployed. (We also have three ready to go first thing in the new year for Teams for Memberships, Realex, and Checkout Add-ons!)
  • We increased automated test coverage across our plugins by 80% — while you may not see this with any outward-facing changes, it helps us ensure more stable software with fewer bugs.

As in 2017, Memberships was one of the highlights for our team. It’s our largest and most popular plugin, so we devote a lot of time to improvements.

Of course, this wasn’t the only plugin to receive significant upgrades — here’s just a sampling of the changes we made across our 50+ premium plugins:

  • PDF Product Vouchers added online redemptions, allowing customers to enter voucher codes in your online store, as well as barcode scanning for simple in-person redemption.
  • Our Shipwire integration added the ability to process returns and cancellations from within WooCommerce.
  • Google Analytics Pro added a Subscriptions integration to track subscription events like renewals being processed or cancellations.
  • Product Reviews Pro added a Product Vendors integration to help vendors manage reviews for their products, and to make improvements for managing flagged contributions. Fun fact: this powers the WooCommerce.com plugin reviews!
  • Our Bambora gateway was completely rewritten for better security, easier setup, WooCommerce Subscriptions and Pre-orders support, support for saved payment methods, and support for admin tools like capturing charges and refunding in WooCommerce.
  • Customer / Order CSV Export added improvements for exports on sites with read-only filesystems, also making it more flexible for developers to change where files are stored, then added the ability to export coupons to a CSV file (in a format compatible with our Customer / Coupon / Order CSV Import suite).
  • USA ePay was another completely rebuilt gateway, with improved setup, enhanced payment forms, and admin tools like refunds and captures.
  • Social Login added an integration with Memberships to show login buttons on restricted content notices for one-click member login.

We also collaborated with the WooCommerce team on some new projects, like upgrades to the Braintree payment gateway to add Apple Pay support, and to launch a PayPal Here integration to help WooCommerce merchants who take payments in-person.

So how did all that stack up to the goals we set going into the year? Well, many of our goals were related to things didn’t necessarily produce customer-facing results.

  • One of our major goals was to upgrade all extensions to PHP 5.6. We fell short on this goal, and about half of our plugins still require PHP 5.3, while only a couple require PHP 5.6. This wasn’t a vanity goal: the intent was to upgrade our plugin framework to modern PHP versions (we need support for namespaces to help manage dependencies), and ensure all plugins used the latest framework to make maintenance easier. With that said, we’re pretty happy with progress here given updating our framework was the hardest part of this change, and we’ll be meeting this goal in early 2019.
  • We also wanted to focus on plugin updates that helped to reduce support. That meant investing time on better error handling and user messages, better onboarding, and product refinement. Automated testing contributes to this, too, by helping to catch bugs or regressions before we release code. We’ve made some progress here by building a setup wizard into our framework that plugins can leverage, and implementing this in Memberships (we have a couple plugin releases in progress that also use this). For this goal, I’d give us a 50% on the year: we made a lot of headway in terms of structure, but didn’t do enough to affect change yet. We’ve certainly made a lot of improvements and added highly-requested features, but we have pretty lofty goals in terms of improving onboarding and user experience we’d still like to meet.
  • Our final major goal was to strengthen partnerships. We work directly with several service providers to build & maintain their WooCommerce integrations, and having a good relationship with platform providers helps us to keep our extensions on the cutting edge of new releases, and to work together on changes to help comply with new legislation, such as GDPR or PSD2. We’ve worked closely with WooCommerce on several projects this year, attended and spoke at Crush with Avalara (among other events!), worked with Authorize.Net on improvements to our integrations and joined their 2018 partner day, collaborated on extension improvements with Global Payments and Shipwire, and discussed upcoming platform changes with Elavon, Intuit, and Chase Paymentech.

Overall, we made great progress on our major goals (even if we didn’t quite meet them), and delivered a ton of value to stores using our software via updates and improvements.

Plugin support

So how about those support metrics? Digging into our 2018 performance was eye-opening, to say the least:

  • We helped over 9,000 customers via Help Scout, and had over 12,500 conversations.
  • Curious about which plugin we spend the most time on? C’mon, you can probably guess: Memberships. We answered just shy of 3,000 questions for Memberships users.
  • Our team averages a reply per business day with every conversation, and overall averages about 24 hours real-time to reply. (More on this below.)
  • Our overall happiness score is 80 (88.4% of replies are rated “Great”).
  • Over 700 merchants have connected their sites to our support bot, which offers automated help by reading the site’s system status and plugin settings. We plan to publish data around how effective our bot is once we have enough of it to draw some conclusions.
  • Over 150 articles have been added to our support field guide. It may not look like much, but our team has been building an impressive internal knowledgebase to share support recipes, troubleshooting techniques, and more.
    SkyVerge support guide

First, wow. Our team helps over 750 customers every month! 🎉 Despite this volume, we’ve maintained high customer satisfaction, and average response times within our targeted range.

Now, how did that stack up to our goals? While these are great metrics, there’s a story behind them when you look month-by-month: our average reply times over the past few months are less than half of the yearly average. At the start of 2018, we were still ramping up our support team, and had quite a learning curve on how to scale support, and how to be effective with support processes. We struggled in the middle of the year as a result, and average response times increased. While we started the year strong, by mid-year, we had a lot of catching up to do.

If you worked through this period with us, I thank you for your patience and your loyalty. We invested a lot of time to develop training courses and competency in how to hire great support staff, and we’re now seeing these investments pay off: over the last three months, our average response time is under 20 hours (within 5 business hours) with a happiness score of 83.6 (90% of replies are rated “Great”). We’re on an excellent trajectory for 2019, and have more plans for automated suggestions from our support bot, improved help resources (both within plugins and via documentation), and we’ll continue to experiment with support processes to optimize response times and positive feedback.

Expanding Jilt

Whew, that’s a lot for a year already, but there’s always more. 🙂 While just over half of our team is devoted to our plugins, the remaining team members charged full steam ahead with Jilt. We had incredibly ambitious goals for 2018, and you can read more in the full Jilt year in review post.

We started by focusing on growing from “cart abandonment solution” to “email marketing platform”. The thing is, though, as soon as you broaden your focus, you have to move pretty quickly to expand your product. Once we decided Jilt would send more than just abandoned cart recovery emails, we knew we had our work cut out for us to add several new email types.

In 2018, Jilt grew to a full-featured email automation solution:

  • We added post purchase follow up emails for thank you series, educational emails, review asks, and more.
  • We built a segmentation engine to let you target specific customers with campaigns.
  • This segmentation engine was used to create several new lifecycle email templates, such as welcome emails for new customers or win-back emails for lapsed customers.
  • Recommended product blocks were added to emails to cross-sell products and increase the value of every email sent.
  • We added several integrations, such as a Zapier integration, customer tagging, a full integration with WooCommerce Memberships to send member emails, and an integration with WooCommerce Subscriptions for automated subscription emails.

Along the way, Jilt helped merchants generate over $25 million in attributable revenue, which is about five times the revenue it generated in 2017 (and our average weekly attributable revenue is always on the rise!).

We almost met our goals for 2018 here, missing only one major project we hoped to have done before the holiday season ended (check out the full Jilt review to see if you can guess what it was 😉). The progress we made with our extensions and Jilt gives our product, support, and development teams a lot to celebrate as 2018 draws to a close.

A focus on community

Of course, product isn’t all we work on as a team: many of our marketing initiatives in 2018 focused on building community, where Josh took the lead.

We launched Upsell to share stories from and about eCommerce entrepreneurs and companies. Josh outlined why we launched Upsell better than I can in his 2018 recap:

There are a lot of sites writing about how to run an eCommerce shop (including our own Jilt blog) and there are a few sites covering industry news, but there aren’t many places to get inspired.

Upsell isn’t just about tactics; it’s about stories. It’s a place where you can learn about what it’s really like to run an eCommerce business and gain insight into the ways other entrepreneurs are succeeding. We designed Upsell to be a place for learning and motivation.

Between Upsell, the Jilt blog, and this blog, we published over 100 articles focused on helping you learn and grow an eCommerce business. 📖

Of course, we also put boots on the ground! 👢 Meeting store owners, operators, and freelancers/agencies at events helped us learn directly from you what challenges eCommerce stores face and how we can help solve them. Because our company started in the WordPress space, we got deeply involved with WordCamps in 2018, sponsoring 8 in total: Phoenix, Miami, Atlanta, Europe, Boston, Denver, Philadelphia, and WordCamp US.

One of our guiding principles as a company is to passionately share knowledge, so why not present if we were going to attend these events already? Beka presented at WordCamps in Miami, Atlanta, and Philadelphia. Outside of WordCamps, Chase presented at Avalara Crush, and Chase and Beka teamed up to present back-to-back to over 2,000 attendees of WooSesh. Beka also got involved with WPSessions, sharing a session for developers looking to work with eCommerce stores. In addition, we sponsored Outspoken Women to help pay the way for other speakers to share their knowledge.

Of course, community isn’t built solely via events. We sponsored WPSessions to support online learning, and the How I Built it podcast to help founders share their stories, struggles, and learnings.

Building our team

Contributions to our team culture are just as important as contributions to community. Catherine took over People Ops for SkyVerge in 2018 with a focus on improving the way we work together.

SkyTrip 2018 was one of our early focuses for the year, which set an unbelievably high bar for future retreats. (Though the Scottish castle lined up for 2019 may meet that bar! Get your kilts ready.) While our first two company retreats were wonderful, this trip was akin to entering the major leagues: with 18 people in attendance, it was more challenging to pull off, and yet surpassed expectations. Stay tuned for a series of posts on how we plan this annual retreat, as well as a recap of our first experience planning & hosting a smaller team meet-up.

Following SkyTrip, our focus turned towards streamlining internal operations, building a clearer path for career growth, and improving feedback loops for teammates.

  • We formalized how we do 1:1s, with better guidelines around when we do them, what we talk about, and how we track them over time.
  • We helped our managers learn how to mentor teammates and share honest, empathetic feedback with direct reports.
  • We standardized how we approach and review quarterly team surveys. For example, we now track eNPS quarterly, with a current score of +88 😱 (above +50 is considered excellent).
  • Our team has experimented with OKRs over the past few months to help provide a prioritization framework for our team, which we’ll look to expand in 2019.
  • Our leadership team is currently working on thorough role descriptions to help us standardize team pay scales.
  • Diversity in hiring has become a focus as our team grows, so we implemented tracking for candidate pools and began sourcing candidates for new positions.
  • We launched an internal HQ site to house our team wiki, forums, and onboarding courses (and after trying several membership solutions, decided it would be powered by our own WooCommerce Memberships).

Other changes

One of our largest company goals last year was to make the 2018 Inc. 5000 list, and we succeeded. 🍾 We’re aiming to improve our ranking for the 2019 list and also apply to the Inc. best workplaces list (we applied last year but didn’t quite have the required number of US-based team members).

The other major change from last year was that we sold ShopStorm, our portfolio of Shopify apps. Focus is one of the most precious resources in a small company, and with our focus on growing Jilt and maintaining our WooCommerce extensions, we couldn’t devote as much attention to continue growing ShopStorm as we would’ve liked. We started working with a broker (FE International) in March and completed the sale in September, at an excellent valuation in the low seven figures that we’re investing right back into growing the company.

While we’ve made a lot of acquisitions ourselves in the past few years, this was our first experience on the selling side, and we learned quite a bit. We’ve been working on a full overview that we’ll be publishing this month.

What’s next?

I couldn’t be more excited about our plans for 2019. We spent a lot of time over the last few months laying the groundwork for us to be able to move even faster and accomplish more as we kick off the new year. Here’s what we have planned:

  • Grow Jilt, even faster: soon to be our largest & fastest growing product — we have some incredible new features & enhancements planned that will have a big impact.
  • Release 3 major updates to Memberships: Memberships is already the best solution for building a membership site on WordPress, but there are always ways to get better.
  • Keep refining our other WooCommerce extensions & support: there’s room for improvement in all of our extensions, and we’re going to make each one better.
  • Publish even more content, especially focused on remote work & culture: we’re going to share more of our playbook on how to grow & operate a high-performing remote team, along with other new content.
  • Grow our team 30%: we kept the team size constant last year, but this year we’ll recruit for another 6 full-time team members to join our merry band of misfits. Looking for a great place to work? Keep an eye on our Jobs.
  • Host an incredible SkyTrip 2019, along with a few smaller team meet-ups: we keep raising the bar for our company retreat each year and this year will be no different. We’ll also host a few smaller team meet-ups focused on engineering, support, and marketing.

Thanks for reading our year in review! Onwards and upwards to a happy & successful 2019!

Published by Max Rice

Max is one of our co-founders, CEO, resident webhook expert, and coffeescript lover. He's a top WooCommerce contributor, unit test aficionado, survivor of coding with timezones, and spends much of his time being the chief bottleneck at SkyVerge.

1 Comment

  1. […] Curious what we did as a company in 2018? Check out the SkyVerge 2018 year in review post. […]

    Reply

Leave a Reply

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