Between building an outbound machine and ensuring customers are happy, it can be challenging for sales and success teams to focus on the low-hanging fruit of renewals and opportunities to expand accounts via upsell. However, revenue and growth teams understand the importance of renewals and upsells, and this post will cover how to use automation to best position your company to not only automate renewals but also to successfully expand customer accounts.
According to conventional wisdom, it’s anywhere from 5-25x less expensive to renew an existing customer than it is to acquire a net-new customer. Upselling to existing customers tends to be up to 14x easier than selling to new customers as well. There’s a potentially enormous revenue delta between companies that intelligently use every opportunity to upsell their customers and those that let these opportunities pass them by because they aren’t actively monitoring renewals.
The best upsell opportunities tend to be for highly engaged customers. So how do you detect the right accounts and find the most opportune time to upsell? You can use automation to identify highly active user accounts and send reports of these accounts to your expansion team, timed in advance of renewal periods. Armed with this information, your team can use the pre-renewal window to preemptively target your most engaged accounts before their contract renewal dates to have the best chance of successful upsells.
Renewing and expanding existing accounts costs a fraction of acquiring new ones. Image courtesy forEntrepreneurs.
To design this workflow, our growth and data teams here at Tray.io partnered to define the criteria for high-confidence expansion opportunities. Once we landed on a framework, we leveraged the flexibility and ease-of-use of a General Automation Platform (GAP) to generate a clicks-or-code solution that seamlessly connects the different applications we needed to deliver custom reports to account and expansion stakeholders.
Walkthrough: Delivering expansion opportunities through automation
For this automated workflow, we’ll be using our Redshift (data warehouse) connector to segment and query our customer usage data. We’ve split our workflow into two stages:
- A scheduled workflow that ensures the expansion and account-specific reports deliver every month.
- A callable workflow that generates reports using our data warehouse and delivers them.
Before we dive into the workflow, it’s important to note that we will be sending unique reports to two different groups:
- Expansion team: This is an internal cross-functional team that handles our entire expansion business. It’s important to send this team an early report on engaged accounts up for renewals in the coming months. Early intel helps this team strategize the best way to offer more value to incentivize customers to upgrade to a higher tier.
- Customer success: This team includes account managers, customer success managers, and solutions architects who support customer accounts. Their report is filtered to show only the customers they manage to enable them to efficiently prioritize their efforts.
We decided to send two different reports to each team to meet their unique data needs. However, we also want to make sure we provide the specialized account information that each part of our organization needs. It turns out that structuring our automated workflow to generate two different reports along two different paths is also more efficient in the long run. In the future, we can scale each side of the process with a rising volume of expansion opportunities.
Stage 1: Usage report scheduling and routing
Scheduled trigger - Our workflow kicks off with a scheduled trigger, which determines the frequency of our reports. In this example, we’ll schedule both reports to send on a monthly cadence.
Script helper - Next, we employ our script helper to set the parameters for our search in Redshift. In this case, we use a snipped of Structured Query Language (SQL) to locate and extract our desired dataset.
For our purposes, we want to look up accounts that are at or exceeding their monthly plan usage and are also coming up on their contract renewal date. This lets us initiate expansion conversations preemptively to promote upsells at or around renewal time.
Redshift connector - Our Redshift connector uses the data we mapped in our previous step to create a list of owners (on both the expansion team and on the customer success team) associated with an account that matches our expansion criteria. We’ll use this list to initiate our full expansion team report and alerting as well as our account-specific reports.
Loop helper - Now that we have a list of owners tied to our high-confidence upsell accounts, we’ll use it to send out unique reports to each account team. With every pass of our loop, our workflow isolates a single account owner and triggers our second stage to send each of those owners a personalized report.
Call stage 2 - Once our account-specific reports are on their way, our first stage concludes with one final call to send a comprehensive report to the entire expansion team.
In our second stage, we’ll generate these unique reports using CSV helpers and deliver them via email to the specified stakeholders.
Stage 2: Usage report generation and delivery
Callable trigger - Our second stage initiates with a callable trigger, which listens for calls from our first stage.
Has account owner? - Once called, our workflow initiates a Boolean condition (if/then statement) to differentiate between our two separate reports. It checks to see if the data passed from our first stage contains a single account owner, or if it is directed to the expansion team.
Redshift connector - Depending on the outcome of our Boolean, our workflow calls one of two Redshift commands:
- If single account owner: Pulls usage data for a single account
- If expansion team: Pulls usage data for all accounts matching our criteria
CSV helper - To format the data that we just retrieved from our warehouse, we use a series of CSV helpers to generate and populate a spreadsheet.
Has account owner? - We use another Boolean conditional to separate our reports into our two buckets: account and expansion teams.
Send email x2 - Lastly, we use our email helper to send out custom reports to our account owners and expansion team.
Hopefully, you can see the value in automating customer usage reports that pull in insights timed in advance of renewal windows. We can automatically surface expansion opportunities to support our sales and success teams in advance of renewal time. Instead of experiencing potential revenue leakage by keeping on customers whose accounts may be overdue, this workflow ensures we never miss a renewal window, or a chance to upsell a highly engaged customer. To learn more about how you can use a GAP to automatically detect revenue growth opportunities, join a weekly demo.