Apartment List~4 min read

Six weeks to rebuild trust across 20% of at-risk ARR.

Six weeks, one PM, one engineer, and a billing product that did not exist.

  • Role: Research and product design
  • Timeline: 6 weeks
  • Team: 1 PM, 1 engineer, me
  • Impact: 20% of at-risk ARR recovered
  • Platform: Web
0%

At-risk ARR recovered

0% ↓

Billing support tickets

45% of partners a month, down to 14%

0%

Upgrades without Sales

up from 1%

I set these targets and read the results at three weeks, ahead of the usual three months. They were still at this level when I left in 2024. The 20% is about $1m of the $5m already flagged, and billing tickets moved from about 450 partners a month to about 140. Still missing: which system produced each figure, and the partner count.

Overview

The company counted support hours, but the expensive part of the billing problem was spend partners quietly cut.

Apartment List had no billing product. Invoices lived in email threads, support tickets, and Finance spreadsheets. About $5m in ARR was already flagged at risk, a figure the company set before the project started.

Worked with: 1 PM and 1 engineer; Sales, Marketing, Finance, and Engineering in reviews; the VP of Sales on the upgrade path.

What I owned

I owned

  • MVP scope: the three barriers worth attacking, and cutting full billing visibility
  • The read that suppressed spend, not support volume, was the expensive half of the problem
  • Partner research and the internal interviews, both experiments, and the success targets
  • Aligning the VP of Sales behind removing Sales from the upgrade path

Shared with the PM and the engineer

  • Scope against six weeks, and the reviews with Sales, Marketing, and Engineering
  • The build-versus-buy assessment, and the prototype that moved leadership to procure

Research

One partner quote moved the target from fewer tickets to more spend.

Partners could not predict a bill, see what drove it, or change a plan without calling an account executive. A partner who cuts their budget files no ticket, so the support queue could not see them. I argued the target should be suppressed spend, and that changed what was worth building.

Before

$0m

ARR flagged at risk

0%

Partners raising a billing ticket, monthly

0%

Upgrades without Sales

The $5m was the company’s own figure, set before the project started. The ticket rate is the share of partners raising a billing ticket in a month. With roughly 1,000 companies on the platform, 45% is about 450. Billing and access were tagged separately.

Decision: build versus buy

A prototype of the full plan showed it could not ship in six weeks, so leadership bought that scope.

I first put full billing visibility in the MVP. Prototyping it showed one engineer could not build it in six weeks. Leadership had no starting position on build or buy, and the prototype gave them evidence to buy that scope instead.

We built three narrow levers in-house in parallel: predictable rates, itemized invoices, and self-service upgrades. I chose them over a third-party platform because each had to stand alone if the cut scope never got funded.

The MVP billing prototype, showing invoice history and rate breakdowns.
The full-visibility prototype. Building it is what established it couldn’t ship in six weeks.

Redesign

Each lever answered one barrier: predictability, transparency, or agency.

A real-time rates calculator shows what a change will cost before partners commit. I rejected a single aggregate price because property managers could not reconcile it against anything.

Upgrades sit inside the plan view, not a separate portal. Confirmation shows the new charge before anything is billed, and the itemized invoice records it afterwards. I rejected a standalone bulk flow because it was faster to build but harder to compare options in.

The shipped Billing screen: a 2024 ZIP code rate calculator with a search field and an estimated base price of $0 before a code is entered, and beneath it a Rates table grouped by ZIP code, with one row expanded to show four communities, each with its 2024 estimated rate, 2023 rate, LIFT rate, and 2024 LIFT floor.
The calculator as it shipped. The default view answers one question, what will this cost, and the per-community breakdown stays collapsed until somebody asks for it.
Billing view showing an itemized rate breakdown.
Shipped: itemized, with the breakdown available on demand.
Alternative billing view aggregating charges to a single price.
Rejected: a single aggregate price. Simpler to read, and property managers couldn’t reconcile it against anything.
Plans dashboard with an embedded upgrade modal.
Shipped: the upgrade sits inside the plan view.
Standalone bulk upgrade flow.
Rejected: a standalone bulk flow. Faster to build, and harder to compare options in.
The Edit LIFT side panel over the Plans list: Ashbrook Village at $800 with a $650 floor, five price tiles reading Floor $650, Single price $629, Good $760, Better $740.79, and Best $1202.26, and a panel below estimating search position 22 and 1.84–1.93× impressions.
Shipped: five named tiers, and the projected search position and impressions for whichever one is selected.
The same Edit LIFT panel with the tiers as a continuous slider instead, running Floor $650, Single $680, Good $700, Better $800, Best $1,200, with the handle set to a lift price of $655.
Explored: the same tiers as a slider. The named tiles made the discrete pricing options easier to inspect, so that is what shipped.

Scope

Three levers shipped and full billing visibility was cut, with Sales divided on the upgrade path.

Cut: full billing visibility, auto-billing alerts because they risked mistakes, and the differentiating features, which were too complex for six weeks.

Part of Sales read the quarterly billing call as relationship work. Finance wanted to collect without waiting on it. I built for Finance, then took the decision to the VP of Sales and got their backing. Finance got what it wanted and part of the team lost a touchpoint.

The shipped Invoices screen: three summary cards reading all invoices $150k, paid invoices $109k, and pending invoices 37k at 20% of portfolio, above a table of communities each showing a status pill reading Overdue, Due in 14 days, Paid, or Overdue by 2 days, an $800 amount, and a Download action.
The record afterwards. Status, amount, and a download per community. Those were the three things every billing call had been asking for.

Results

Billing tickets fell 69% and a fifth of the at-risk ARR was recorded as recovered.

The plan I chose did not ship, and the smaller plan only worked because the company bought the rest

I put full billing visibility in the MVP before proving we could build it. The three levers came out of a plan that had already failed.

I cannot say whether three levers alone were enough. Leadership bought the cut scope, so the answer is partly no.

Sam Cusano