Improving Cash Forecast usability with Bluecore

From statistical confidence to actionable information

Role: Product Designer

Bluecore office

Background

One of Rivet’s leading features is a machine-generated cash forecast that predicts quarterly cash inflows based on projected customer payment behavior. The process of generating - or updating - a cash forecast manually would take the Bluecore team several days of tedious data-wrangling, but with Rivet they had a cash forecast that was generated automatically and updated on a daily basis. 

The daily updates to the cash forecast had been received enthusiastically—the time savings alone were a huge relief. But there was an unintended consequence: now that users could see how their cash forecast was changing every day (especially in the early days of a quarter), they wanted to know when the forecast would “stabilize.” They needed to feel comfortable bringing that number into their planning workflows without worrying that it was going to change dramatically the next day.

How might we…

Increase users’ confidence in their cash forecast?

We used regular customer check-ins to gather feedback on ideas and test design prototypes. Unsurprisingly, “confidence” was the word that came up the most.

The first iteration used accuracy from prior quarters to provide confidence measures. Effectively, we would say “Expect a 12% margin of error by day 4 of the quarter, then a 5% margin of error by day 10 of the quarter.” This top-down approach made intuitive sense to our users, and they appreciated its statistical, data-driven nature.

Research and iteration

But then something happened that led us to rethink everything: one of our users’ customers (“Customer X”) made a multi-million dollar payment earlier than predicted. While this wasn’t strictly a problem for our customer, it made Rivet’s quarterly prediction look wildly inaccurate—leading to the realization that we had been thinking about accuracy mathematically rather than practically.

Solution

Rivet generates quarterly forecasts by predicting when individual invoices will be paid. It uses simple logic: If a given invoice is going to be paid by the end of the quarter, its amount is included the forecast. Using this granularity, we tested a different approach: How many invoices could potentially swing the needle in the same way as Customer X’s did?

The logic was simple: filter for invoices due or predicted to be paid on the cusp of the quarter, provide the value, and make invoice details easy to access. It was an instant win—this was the “confidence” our users were looking for. Rather than an abstracted accuracy interval, this was actionable information they could share with billing and CS teams, who could then follow up with customers for more concrete commitments if needed.

We also applied this learning to bring explainability to the forecast’s change over time. We added a feature that allowed users to drill into the variance in the forecast between any two dates and see exactly which invoices and sales opportunities drove the change. 

“Rivet requires zero manual work and is an easy indicator of where our cash collections will land.”

— VP of Strategic Finance, Bluecore

Results and reflections

The biggest learning I took away from this process was that finance could be more qualitative than I’d previously understood, leading me to consider “softer” approaches when thinking about how to present metrics in other areas. Within the feature itself, I’d like to bring the notion of these needle-moving invoices into the forecast’s visualizations.

More Rivet

Predicting quarterly bookings for HashiCorp

Driving efficiency for the Yext billing team