Angi — Assembly & Installation Services

Turning a referral link into an integrated service experience.

Overstock already had an Angi's List referral partnership, but customers were pushed off-platform after purchase and Overstock had little visibility into what happened next. I led the overarching product work to connect eligibility, checkout, payments, delivery timing, appointments, outcomes, refunds, and replacements across multiple systems and teams.

Role
Overarching Product Manager, Services
Focus
Partner integration, ecommerce experience, service operations, cross-product alignment
Scope
Assembly and installation services
Surfaces & systems
PDP, Cart, Checkout, Orders, catalog, delivery dates, payments, support, and partner systems

Project origin

Leadership chose the partner. The product still had to be designed.

Overstock already worked with Angi's List, and integrated service options elsewhere in the market made the gap clear. Leadership selected Angi and asked me to own the overarching Services pillar after I had led the warranty initiative across many of the same surfaces.

Discovery and UX overlapped with the end of Extend. Development began immediately afterward. I owned discovery, competitive analysis, the roadmap and epics, cross-product alignment, integration decisions, edge-case rules, testing, launch coordination, stakeholder communication, and measurement — while the PMs for each downstream area continued to own their products.

Before

01

A partnership without an integrated product.

01

Order placed

02

Referral email

03

Book on Angi’s List

Conceptual legacy flow — not a product screenshot

A partnership, technically. An integrated product, not quite.

There was no way to buy assembly or installation inside Overstock's shopping journey. A small referral banner in a post-order email sent customers to Angi's List to book externally. The unique link supported referral attribution, and payments arrived periodically from Angi.

Overstock could not directly see which customers booked, how many services were purchased, or enough lifecycle data to reconcile the process independently.

~$200K

A supporting discovery finding: I identified a reconciliation gap covering roughly six months in the legacy referral process.

Overstock raised it with Angi. Angi audited the referral records and paid the amount, resolving the gap. The larger product issue remained: Overstock still lacked its own data to compare against the partner's records.

The new customer journey

02

One service lifecycle, from product page to completed appointment.

  1. 01

    PDP

    Eligible service offered with the product

  2. 02

    Cart

    Service can be added before checkout

  3. 03

    Checkout

    Product and service purchased together

  4. 04

    Order

    Eligible items remain serviceable post-purchase

  5. 05

    Appointment

    Scheduled around the expected delivery

  6. 06

    Service

    Assembly or installation completed

Eligible customers could add service on the product page, in Cart, or during Checkout. After purchase, eligible items appeared in the order experience; the old external referral banner was replaced with a link to Overstock Orders, where service could still be added.

Payment now flowed through Overstock, which then paid Angi. That made the service part of the transaction and gave Overstock first-party operational data across the lifecycle.

How the service was represented

Service products were represented as service SKUs with first cost. Angi audited categories and used its experience and data from other partners to establish average service first costs at the relevant category and subcategory level.

Eligibility

03

The service offer was only as reliable as the catalog behind it.

Product creation already had an assembly-style attribute. I worked with the Product Creation PM and team to refine the model so products could distinguish Assembly Required from Installation Required, with eligibility and service mapping at the relevant subcategory level.

Before launch, Merchandising and Operations worked with partners in weekly meetings to audit and update SKU attributes so eligible products surfaced the correct Angi service.

Catalog attribute

Assembly or installation required

Mapping

Subcategory to service SKU

Customer offer

The right service appears

The scheduling decision04

Starting assumption

Don't copy the competitor blindly.

The initial direction was to match the competitor and let customers pick a service date during purchase. Mid-development, the team recognized that Overstock's ship and delivery dates were estimates. A booked service could arrive before the product did.

>50%

Of orders did not arrive on the original estimated delivery date when Supply Chain compared Overstock estimates against carrier data.

~30%

Reduction in delivery-date inaccuracies after the Supply Chain PM and team implemented improved date logic. This is a separate finding; no final accuracy rate is inferred.

01

Send Angi the improved expected delivery date

02

Automatically schedule service two days after delivery

03

Let the customer quickly reschedule through Angi SMS or email

The two-day buffer protected customers when an order still missed the improved estimate. Feature parity was the starting point; operational reality produced the better decision.

Product experiment

05

One service for four stools sounded reasonable — until it didn't.

Variant — independent quantity

Item quantity and service quantity selected separately

This created confusion and more Customer Care contacts. A customer buying four bar stools could choose one assembly service, assume it covered all four, then call to buy three more.

Decision — matched quantity

Service quantity automatically matches item quantity

After the 14-day A/B test, the team chose the clearer rule. No unsupported contact-lift or conversion metric is claimed.

Lifecycle rules

06

The edge cases were part of the product.

I spent weeks in round-table discussions with senior executives, Legal, Finance, and Angi. The contractual and business rules could not be separated from what the product needed to do.

Order cancellation

Product order cancelled

The associated service is cancelled as well, subject to the service policy.

No fee

More than 24 hours before service

Cancellation or rescheduling has no fee.

$24 FEE

Between 24 and 2 hours

Overstock collects the fee and reimburses or pays Angi. Overstock-funded exceptions remain Overstock expense.

Closed window

Within 2 hours

Cancellation or rescheduling is not eligible under the defined policy.

Failed service

Angi contacts Customer Care, the customer is refunded, and service first cost is not paid to Angi. Net-30 terms allowed these cases to be captured before payment.

Item damaged during service

Service status changes to damaged, service is refunded, and Overstock triggers a replacement. Angi is deducted the item's first cost. The new order number is linked and transmitted with the original so the lifecycle remains visible.

The customer receives a replacement confirmation and new delivery date without needing to start a Customer Care contact.

Missing parts or hardware

Angi helps initiate parts or replacement, and the first reschedule has no cost. If the same issue requires a second reschedule, Overstock bears the replacement-service cost.

Conceptual policy map — not contract language

Orchestration

07

My job was to make sure one system supported the next.

PDP
Cart
Checkout
Orders & post-purchase
Product Creation & catalog
Supply Chain & delivery dates
Customer Care
UX
Merchandising
Operations
Analytics
Finance
Legal
Engineering
Angi
Senior leadership

I worked with a project manager on the roadmap and user stories, then with PMs who owned each area to refine their acceptance criteria and backlogs. I aligned the epics and dependencies; I did not replace the ownership of those product teams.

UX kept placement, branding, and service patterns consistent where the warranty work provided a useful foundation. Merchandising and Operations handled partner readiness, attributes, and eligibility testing. Analytics supported placement decisions, contract work, KPIs, OKRs, and tests.

Supply Chain improved the delivery-date input. Product Creation refined service attributes and legacy SKU migration. Angi worked with us through an open Microsoft Teams channel, daily collaboration, and weekly alignment on stories, integration, updates, and adoption.

Launch risk

08

The legacy data problem that almost moved launch.

~14 days

Setback relative to the original hard-launch plan. No exact calendar date is claimed.

During testing, service mapping failed for eligible products. A significant number of older SKUs were still housed or mapped in legacy tables and subcategories, so correctly eligible products could fail to show an offer.

I escalated the issue and worked with the Product Creation PM and team on scope and sprint planning for migration into the newer data model. Leadership approved reframing the original date as a soft launch, followed approximately 14 days later by the hard launch.

The migration also cleaned up old product data and improved reporting quality. That benefit is qualitative here; no data-quality metric is invented.

MVP discipline

09

What we cut from MVP.

Service-cost management through Manage Cost was removed deliberately, not forgotten.

01

Capacity

Manage Cost engineers were supporting other launch-critical teams and would not return in time.

02

Frequency

Angi service first costs had been deliberately negotiated and were not expected to change often. Product Creation provided a manual fallback.

03

Business logic

Executives did not want service-cost changes to automatically inherit the rules used for tangible-item cost changes.

The tradeoff was explicit: accept a manual fallback for infrequent service-cost updates so engineering capacity could support the broader Services launch.

Impact

10

From an external referral to a visible service lifecycle.

~$200K

Legacy referral reconciliation gap identified and resolved after escalation and audit

~10%

Monthly attachment rate when combining eligible orders and items after launch

MoM

GMS increased month over month after launch, without assigning a dollar amount here

A slight reduction in cart abandonment was observed after launch

Operational visibility

Overstock moved from an external referral link with limited internal visibility to an integrated transaction and service lifecycle with first-party operational data.

Customer recovery

Key damaged-item and replacement scenarios were designed for automated handling, reducing the need for the customer to initiate support in that scenario.

Launch night11

Then someone placed a real order.

No pressure. Just the entire lifecycle.

  1. 01

    Teams from each involved area and Angi joined one large Microsoft Teams call at midnight.

  2. 02

    An Angi team member placed a real personal order to their home while everyone watched the flow.

  3. 03

    The next morning, real customer orders were already arriving with Angi services attached.

  4. 04

    A few days later, Angi confirmed the service on that first personal order had been completed.

After months of edge cases, delivery-date logic, catalog migration, contract rules, payment flows, and cross-team dependencies, the product had completed the entire lifecycle for a real customer.