Optimizing contract data extraction forms to accelerate insights that helped drive $170M in customer savings in 2024

Role

Product designer

Team

1 PM, 2 Devs & Head of Product

Timeline

Jan - Feb 2024

Parts of this process have been intentionally changed or omitted in this case study to comply with the conditions of my NDA.

I built a fast, reliable way to extract contract data that can uncover software overpayments with AI-driven pricing insights

Context

Companies invest significant time and resources in tools like Slack, Zoom, Asana, and Mixpanel to boost productivity. As they grow, the number and cost of these tools can become unmanageable.

Fig. 1. Examples of software contracts companies start accumulating

With the issue of increasing costs, Tropic aims to innovate it's spend management platform to help companies manage software contract expenses. One way is through AI that can check a customer’s price on a contract and see whether they are overpaying for that contract (or what we’re calling Price Checks, as seen in Fig 2.).

Fig. 2. We determine if customers are overpaying for contracts by employing statistical analysis and ML algorithms

problem

The current data extraction forms are clunky and lack the ability to add nuanced yet crucial data inputs

While price-checks have been a game-changer for our customers, our current data extraction process has been leading to inaccuracies in the data collected. This lack of data integrity could result in misleading pricing insights. After consulting with our data team, we identified the following insights

We needed to dig deeper to understand why these issues existed. What was holding up data extraction? What inputs were we missing?

Fig. 3. A look at the current form extraction form and it’s issues

process

The plan to make the extraction process faster

After learning about the pains of extraction from our data team, I embarked on overhauling our extraction workflow. Our hypothesis was by improving the form design of data extraction and adding the appropriate inputs in the form, we’d decrease time to extract.

One of the points of frustration for extractors was lack of nuance in current data inputs. Real contracts don’t just have total prices. Some have monthly pricing, some have one-off prices and others have discounts associated with them. This is just one example of inflexible data inputs that we had in the current system.

Fig. 4. The goal I wanted to reach for data extraction times

Fig. 5. Low fidelity concepts exploring different ways to input monthly prices

Regular communication with our data team was essential, as their feedback was crucial for improving the experience. In the design shown in Fig. 6, extractors could select contract information and customize their extraction forms. However, the team pointed out that while this level of customization would meet the different nuances of contracts, there might not be enough conditional fields to justify this level of customizability. As a result, we decided not to pursue this concept further.

Fig. 6. An iteration where the extractor chooses which inputs they want to extract from the jump

With a need for speed in mind, we knew there was something to be done about the larger form extraction design. In order to increase speed while still making our extractors feel confident in the decisions they were making, we aimed to simplify.

Fig. 7. Eye scanning difference between the old multi column layout and the new single column layout

We also restructured the extraction process into distinct stages. By breaking down complex tasks and introducing intuitive form patterns, we reduced extraction times.

Fig. 8. A birds eye view of breaking the form into logical steps—I wanted extractors to be able to focus on one thing at a time

solution

Final Designs

Below is a video walking through the full experience along with some stand out screens that give a better glimpse of designs.

Fig. 9. Watch me walk through a quick prototype of final designs

Fig. 10. The first step of the extraction process that asks for pricing information

Fig. 11. A review page so the extractor can check their work — I was inspired by receipt designs for this page

impact

Hundreds of contracts extracted

After finally landing on our final version, and found extractors were able to reduce their extraction time to 5 minutes. Through this model we were also able to extract hundreds more of contracts, enriching our price checks feature with a trove of granular pricing data. But don’t take my word for it, here’s what the data extraction team had to say.




This model is incredible. From the aha moments where things snapped into clarity to the satisfaction of seeing the automated per unit prices match exactly what’s on the order forms.

— Head of Extraction

Designing a Stripe Connect integration to enable easy set up of payments

Check out how I designed a way for online businesses to connect their stores to Stripe Connect via WP Engine.