Improving Forecast Visibility for a Consumption-Based SaaS Company

Like many companies with consumption-based pricing models, our client relied on a manual renewal forecasting process that left nearly half of annual renewals invisible in Salesforce. By automating renewal creation and carrying forward product-level data, we gave leadership complete visibility into more than $22M of previously unforecasted ARR.

Case Studies

About this engagement

Our client is a collaborative data platform that helps analytics teams build, share, and publish data products. They serve a wide range of customers on a consumption-based model, meaning upsells and contract amendments are a regular part of their revenue motion.

When their sole RevOps and Salesforce admin departed, they needed someone they could trust to step in fast - no 90-day hiring process, no ramp time, and no risk. Within days we were in the weeds, but we didn't just keep the lights on, we identified a structural gap in their renewal process that had been quietly creating a blind spot in their forecast.

Our engagement enabled the following results:

Renewal Opportunities Automated
~700/yr
Previously Unforecasted ARR
$22M+
 

The Challenge

When their Salesforce admin of four years left the company, they were left with a critical gap: he had been the sole person holding together their entire CRM operation. Working alone, he had been forced to triage constantly, and long-term projects like a proper renewal automation had been deferred in favor of keeping the day-to-day going.

One compromise their one-man team had to make was a manual, batch-creation process. Every six months, he would sit down and create all upcoming renewals for the next two quarters - but to save time, he entered a flat dollar amount per opportunity rather than duplicating the full line items. It was unscalable, and it meant the team had no product-level visibility into what was actually renewing. They couldn't report on which products were up for renewal, which were likely to expand, or what the next two quarters actually looked like in Salesforce - because half the year simply didn't exist there yet.

 

The Solution

This process needed a complete revamp, so we designed a Salesforce Flow automation that triggers every time a contract is activated - automatically creating or updating the corresponding renewal opportunity, carrying over all products, and linking the contract, originating opportunity, and renewal together in a single connected record chain.

hex_chain_simple

The key to making it work was not just the build, but the process that preceded it: mapping every opportunity type, edge case, and branching scenario before diving in.

Mapping the Current State Before any build work began, we ran a structured working session to map the end-to-end renewal workflow to understand the current state. What that session revealed was a process that worked on one side and was completely empty on the other. Contracts were being activated, customers provisioned, Stripe IDs logged, and then nothing - no renewal created, no link back to the originating opportunity, no visibility into what was coming up - until six months later. The gaps required a complete restructuring of the process.
Edge Case Mapping Across All Opportunity Types A consumption-based model means this was never going to be a simple "copy the opportunity and create a renewal" build. Customers add seats or expand on existing contracts, they cancel and replace mid-term, and some enterprise accounts need separate contracts for different regional instances all tied to a single opportunity. Each of these scenarios needed its own branch with its own defined behavior. We mapped all six opportunity types before a single line of logic was written.
Full Sandbox Setup and Structured Testing A sandbox is a safe copy of your Salesforce environment - you build and test there so nothing touches live data. This client was on a partial sandbox, which copies your structure but not your actual records. For a simple build that works fine. For a multi-object automation spanning contracts, opportunities, and products with six branching scenarios, you need real data to test against. We made the case to finance to procure a full sandbox, built and tested everything there first, and only touched production once every scenario was confirmed working - a one-time investment that now protects every future build.
Previous state
Partial sandbox
Schema copied - objects and flows exist
No real data - records are empty
Multi-object flows can't be fully validated
What we used
Full sandbox
Exact copy of production - schema and data
Every edge case tested before go-live
Protects every future build, not just this one
Every scenario was documented so the internal team could validate and maintain the build going forward.
Production Deployment, Backfill, and Handoff After successful sandbox testing, the flow was deployed to production. It triggers on contract activation, identifies the most recent closed-won opportunity, routes through branching logic based on opportunity type, creates or updates the renewal with all product line items, and links the contract, originating opportunity, and renewal together - all in seconds. A Renewal Created checkbox guards against duplicate renewals on multi-tenant accounts. After go-live, we ran a backfill to generate renewals for all contracts activated during the build period, ensuring nothing fell through during the transition. The engagement closed with a complete handoff document covering how the flow works, how to test each scenario, and how to troubleshoot the most common edge cases. sf_flow_diagram (1)
 

The Results

The team went from manually creating renewals twice a year - with no guarantee of accuracy - to a system that runs automatically the moment a contract is activated. Every renewal now carries the correct products, links back to the contract it came from, and is visible in the forecast immediately. With ~$44M in renewals annually, half of that forecast was previously invisible at any given time. Now the full picture is always there.

Renewal opportunities automated per year
~700
ARR now visible in forecast
$22M+
Renewal opps recovered for forecast
350

Request a free consultation to see how we can close the gaps in your renewal process and give your forecast the visibility it's missing.

 

Similar posts

Stay in the know

Be the first to get our new research, resources, and free templates for the revenue and RevOps community.

Subscribe