AIRSPACE · INTERNAL PLATFORM

Scaling pricing to charge for diverse requirements

Airspace services and configurable charge builder interface

At Airspace, I led design efforts to scale our pricing system, enabling it to be adaptable and flexible to charge for unique customer needs and business service offerings. This approach led to more accurate upfront quotes and invoicing for customers, which improved internal operational and financial efficiency.

Impact

In one instance of applying the new pricing system, the accuracy of charging for a specific service increased, resulting in a 23% overall reduction of unintended charges.

Core Team

3 Designers, 1 UX Strategist, 1 Design Manager, 3 Developers, 1 Product Manager

Role

End-to-end Product Designer

Duration

~4.5 months (spread throughout 2021 Q2 and 2022 Q1)

Note: Certain details are left out and images are intentionally blurry / cannot be viewed in higher resolution to adhere to an NDA. To learn more about this project, please contact me directly.

Overview


The Context

What is Airspace?

Airspace is a time-critical logistics company that specializes in shipping goods across various industries like aerospace and hospital/health systems.

For each order, customers are provided an instant quote based on parameters like the package weight. This quote is based on pre-agreed rates, which are configured on each customer's account by Airspace's finance team.

Initial Business Problem

While the initial request focused on pricing for European expansion, early research shifted the objective toward scalability

Another product designer and I had conducted the following activities to gain more context on what "European pricing" meant:

Audited our current pricing system (which was built for our U.S. pricing model) to understand how it could support the new model
Interviewed 5 stakeholders about the current process to support quoting (as we were already shipping with customers in Europe), the logic to support the different rates, and their overall vision of pricing
Worked with developers to understand the project scope with the new logic required

To think long term, we concluded the system had to handle more than European rates, since expansion beyond Europe was already planned.

Refined Business Problem

Airspace's global expansion and complex, unique shipping requirements increasingly exposed our pricing system's limitations

Requests to add new rates to upfront quotes outpaced R&D's capacity to build them, and the gap landed on people and customers.

This created several ripple effects:

Financial and operational efficiency declined

Our operational and finance teams were creating workarounds to manually price customers for numerous charges that weren't supported by the existing rate sheets.

Customers experienced reduced transparency and decreased trust

Instant quoting could no longer be a selling point for new customers if the initial quote was not accurate.

When there were errors on our invoices that went unnoticed (due to resource strain from our own internal team not being able to address all of them) or they took too long to get addressed, that put us at risk of losing business with our customers.

These inefficiencies ultimately hindered our revenue growth and profit margin.

The Challenge

How might our pricing system accommodate an assortment of customer and business requirements?

Vision Setting


Defining the Vision

Pricing wasn't the only thing breaking: every new requirement set off workarounds across five teams

With another designer and our UX strategist, I co-led synthesizing research across finance, operations, and customer-facing teams into one picture of how a new service reaches market. Seeing the whole loop turned this from a pricing project into part of a broader product strategy for launching new services.

Summarized version of the design team's research findings

Brainstorm

Design facilitated cross-functional brainstorm sessions to define six ideas to support business and customer needs

Sessions brought together operations, finance, customer success, design, and product. I owned the finance concepts, with the theme of "scale" and "self-service" at the core our brainstorming with others. We wanted to build a system that could minimize R&D involvement with addressing new requirements and their pricing in the long term.

For the bulk of this case study, I will focus on two areas that I owned:

Services icon

Services

  • Internal users could define "services," or units of work which were triggered by order form inputs or data (such as a "print docs" service to request drivers to print docs for an order)
  • Services could be tagged (i.e., an "order level service" or a "piece level service") to dictate how/when it could be used
  • When requested, services would have any applicable charges calculated in the order quote
Rate sheets icon

Customizable Rate Sheets/Charges

  • Internal Airspace users could create new charges for a service on a company's set of rates to determine how exactly to charge for it
  • When creating a new charge, users could define how to charge by configuring its "charge type" (such as "charge X dollars per package lb") and when to charge through "constraints" (such as "charge only if the package is over X lbs")

Paper Prototyping

My team used a low-cost approach to test how people interpreted this new system

Using paper cutouts for each concept, input, and action, participants worked through the "system" while we simulated its responses.

Participants understood the core concepts. The one notable change: we renamed constraints (the rules that decide when a charge applies) to conditions. The concepts were then split into separate projects across product teams.

Design Process


Scoping the Project

To deliver immediate value, I worked to scope my team's project to remove dependencies on the other concepts being built

From aligning with my product team, we determined that the various service and charge configurations would still require significant development. Additionally, other product teams that would develop the other features were not yet ready to start designing and developing.

Instead, we decided to model one service to use to build the new features. Over time, we could iterate and expand by adding in more configuration options and retrofitting existing rates, providing us with a clear, future roadmap.

Additional Research

The “Dangerous Goods” service was used as the first model, as there was more nuance to its pricing than the system currently could handle

Through support tickets, documentation, 3 interviews, and 2 shadowing sessions, I discovered that the finance team reactively zeroed out dangerous goods rates only after customer complaints. While the system charged solely based on a "Yes" banner response during order entry, the business desired to also apply the corresponding charge based on the specific type of shipped item (such as an aircraft part or tire).

Since the logic to charge was straightforward to be widely applicable and was independent of other features, I pitched to use dangerous goods to model for launching the new pricing system.

Feature Prioritization

I worked with my team to cut scope on ideas from initial brainstorming that tested as dead weight

Service "types," for example, had no clear user or business value, so we cut them. Features we couldn't validate were shelved for later iterations.

User Flows

I mapped 6 user flows across multiple user groups, which led to a reassessment of the prioritized features

Reviewing the flows with my team, the design strategist, and our design manager, I realized:

Some features were redundant, like separately adding services to company profiles and defining charges on rate sheets. To reduce cognitive load, I consolidated adding services within rate sheets.

It was unclear if some of the original prioritized features were actually desirable/addressing our overarching user goals, like understanding how much visibility and control our operations team might need into the services being used on a given order.

I then re-prioritized what features would be built, shelving the ambiguous ones as opportunities for future iterations.

Usability Testing

Two different concepts for customizable rates were tested across 7 users to determine a preferred solution

After narrowing down two concepts to test from four different variations (two were dropped due to technical constraints and usability concerns), I observed any user misclicks and discussed their preference to get a direction of which UI to implement.

The first variation utilized individual popovers for editing charge names and costs, while isolating condition configuration within a separate dialog.
The second variation utilized a dropdown section to display all the editable properties for charge, while isolating condition configuration within a separate dialog.

Testing results indicated a stronger preference for the second variation, as users indicated they preferred being able to access all the editable properties at once.

Refining Customizable Charges

Conditions could grow into long statements, so I moved charge editing into a side panel

Testers preferred seeing every charge property at once, but conditions would eventually be long text the accordion couldn't hold. After another round of ideation with the design team, I moved the create/edit form into a side panel.

Conclusion


Final Designs

What shipped: A services library and configurable charge builder

Services Library

Internal users could create services to define customer or business needs. Services could also be used in other system concepts:

Define how a service will be charged
Define what steps our ops team need to follow when a given service is requested
Tracking how well our business is servicing a given service

Customizable Rate Sheets/Charges

The finance team could add services onto rate sheets, which also segmented any unique services and its pricing to a given customer's rate sheet.

Charges could be configured for a service. How it was charged was defined by the charge type chosen to mirror how Airspace applied different charges (as a flat amount or per piece weight).

Conditions would encompass a variety of order data over time, so that the finance team could be exact in how to charge for a service. In addition, surfacing this logic in the UI would remove any confusion around the logic for a charge, which was a common user challenge I had found early on through interviewing users.

Results & Impact

Billing errors for dangerous goods were cut by 23% with zero manual financial intervention to adjust its charges

Post Release Challenges

Over time, the new pricing system was not adopted as expected due to a number of factors

Full potential relied on the remaining conceptsFull potential of the new pricing system relied on the remaining vision to be built out, most of which were underdeveloped due to technical obstacles and/or changing company priorities.
As our team iterated to add in new charge types and conditions, it became evident that they were still complex for devs to implement and debug.  While faster to deliver than the prior set-up, it still took several weeks to add in a new option.

As a result, additional iterations on Services and Rate Sheets were eventually deprioritized.

Reflection

Constant collaboration kept the work moving, but it couldn't guarantee the vision stayed connected across teams

While proactively raising risks and running alignment exercises created the impression of a shared vision across teams, the true challenge emerged during the actual build phase. New constraints and shifting priorities later altered how we could execute that vision. In hindsight, rather than assuming early buy-in would hold through implementation, I would design the initial system to better accommodate a partial rollout from the start.

Next Steps

The spirit of scalability and flexibility was carried onto another project

The adoption gaps directly shaped a follow-up project to simplify the system. The complexity that slowed adoption here, particularly around conditions and interdependent rollout, were factored into a later initiative (you can read about that project here).