Case No. 02  ·  Charge lookup  ·  Digital Assistant · NLU era

The bill jumped to $288. Nothing said why.

Every surface a customer could reach showed what they were charged: settings, statements, the lookup tool. None explained what changed. I walked the journey myself, mined the expert transcripts, and redesigned the assistant to understand the exact billing question and keep the customer in the channel, with a phased PRD that shipped value while the billing APIs were still onboarding.

Problem

Every surface showed customers what they were charged, never why the amount changed.

What I did

Redesigned the assistant to classify the exact billing question and offer the lookup tool in the channel, on a hybrid NLU plus LLM route.

Outcome

Voice self-help acceptance 25% to 39%; chat resolution up 12 points; about 61% of billing chat contained.

Role

Conversation AI Design Lead: discovery, transcript synthesis, assistant behavior, and the phased PRD.

01 · The problem

I walked the journey myself.

Billing and subscription was one of the top twenty drivers of a company-wide contact-reduction goal, with hundreds of thousands of contacts a year, and charge lookup was one of the highest-volume questions inside it. So I tested the real path a customer takes: chat, voice, in-product search, and Google. A $228 subscription could become $288 and no surface would say why. The supportability teams confirmed what the journey suggested: customers called for the explanation, some of those calls ended in downgrades or cancellations, and many transferred internally when a discount or refund needed a higher tier.

the journey, beforeAs tested
Ask supportThe assistant routes to settings or articles.
Open billingThe page shows subscriptions and charges.
Try lookupThe statement tool itemizes the amount.
Call an expertThe person explains promo dates, seat math, and options.
Four surfaces deep, the only place a customer hears "why" is a phone call.
Digital Assistant · the before experienceRecreated · mock data
I see a $288 charge on my card I don't recognize. Can you help me understand it?

You can view the subscriptions charged to your account in your account settings. Go to Settings, select Billing and Subscription, and open your account history to see your subscription charges.

If you still need help, you can browse articles in our support center.

Recreated from shipped work; interface simplified, the conversation shape is real. Directions, not an answer.
02 · The research

The experts already had the answer. On the phone.

I pulled phone and live-chat transcripts to learn how experts actually solved the problem: what they checked, what they explained, and what next step they offered. The transcripts were design material, not validation. The best answers the assistant could give were already being spoken on the phone, and the customer's own words told me the topic wasn't one question at all.

transcript synthesispublic reconstruction · themes from the real analysis
Promo endedCustomer saw a larger charge after a welcome rate expired.
Seats changedPayroll math changed when employees or users were added.
Tier jumpDiscount extensions and refunds often needed a higher support tier.
Article gapGeneric instructions showed where to look, not what changed.
03 · The design

One billing topic is four customer questions.

The trained intent could hear "billing." The customers were asking four different things, and each deserved a different response:

price increaseunknown chargedouble chargehow much am I paying

The target answer needed billing APIs that were months away. The MVP didn't wait: classify the question better, stop sending customers to articles, and offer the existing lookup tool inside the assistant. The routing is a hybrid of the eras, and it's the same shape my cancellation classifier proved out: the intent platform catches the topic, a language model reads the nuance.

one question, routedSimplified
01
NLU → billing intent · the platform's intent model catches the topic
02
LLM → question type · price increase, double charge, unknown charge, or how much
03
route → response · the right answer, or the charge lookup tool offered in the channel
The platform intent model plus a language model classifier. No vendor architecture shown.
04 · The build

A phased PRD, because APIs take time.

Full personalization needed billing APIs, and API onboarding is lengthy. I scoped the roadmap so the team shipped a better experience immediately and absorbed account data phase by phase, instead of waiting for the dependency to land.

the phased PRDMVP shipped
MVPClassify and offer lookup

Use the existing lookup tool, rewrite the offer, keep the customer in-channel.

V1Separate question types

Price increase, duplicate, unknown charge, and how-much routes.

V2Read account context

Plan, add-ons, promo dates, charges, permissions.

TargetExplain and ease

Show the math; offer a safe next action when one exists.

05 · What it moved

Same question, kept in the channel.

Digital Assistant · the shipped MVPRecreated · mock data
I see a $288 charge on my card I don't recognize. Can you help me understand it?

A charge you weren't expecting is never fun. Let's find out what's behind that $288.00. The charge lookup tool shows you every charge on your statement and exactly what each one covers.

Look up this charge

Grab your statement, enter the amount and the date, and see what makes up that $288.00, item by item.

Open charge lookupThat's not my question
Recreated from shipped work. The assistant classifies the exact question and offers the tool in the channel instead of linking articles.
25% → 39%
Acceptance, voice

Customers accepting the self-help the voice assistant offers to send by text or email.

+12 pts
Resolution, chat

Self-help resolution on billing questions in the chat assistant.

~61%
Containment, chat

Billing questions resolved in chat without a human expert.

Top 20
The driver

Billing and subscription's place among the company's contact-reduction drivers: hundreds of thousands of contacts a year.

06 · The target state

The prototype that pointed past the platform.

The MVP kept customers in the channel. The target state answers them: read the plan, explain what changed, and offer a safe next action when one exists. I built that target as a working prototype on mock data, and this is its run, unedited in shape.

demo billing agent · pre-scripted runPrototype · mock data, no live model
I see a $288 charge on my card I don't recognize. Can you help me understand it?
› Work done
Reading your plan Plus plan · Payroll · Payments
Counting your team 16 active · 2 added this cycle
Pulling this cycle's charges $288.00 · $60 more than last month
Finding what changed welcome rate ended +$48 · 2 seats +$12
Checking what could ease it welcome rate may extend

Two things changed it. You added 2 team members at $6 each, and your 6-month welcome rate finished this cycle, which had been taking $48 off your bill. Together those bring your monthly total from $228 to $288. Everything else is the same plan you already had.

Plus plan base subscription, monthly$99.00
Payroll monthly subscription$50.00
Team members 16 active, $6.00 each$96.00
Payments processing card fees this month$43.00
Total this cycle$288.00

The welcome rate that just ended was the largest part of this change, so I checked whether it could continue. You may qualify to extend it, and I can request that for you now.

Yes, extend my welcome rate.
› Work done
Extending your welcome rate through September
Crediting your card $48.00 refunded · card ending 4417
Setting your reminder an email before the rate returns

Done. So about $240 a month while the discount holds. The extra $12 is your two new team members, and I'll email you before the rate returns in October.

The prototype I built, AI-paired: a pre-scripted agentic run, no live model, mock data only. This answer didn't ship in this program.
What this settled

The roadblock was live data, and by then the successor agentic platform had made the old platform's ending visible. The right move wasn't to fight for buy-in; we banked the MVP gains and moved the billing experience forward. The prototype's heart, account-aware charge explanation, became a working read-only agent skill with its own eval: the billing skill. Ship the useful slice, phase the product around the API reality, and know when to stop investing in a platform.