Designing a bulk pricing tool for a US apparel brand's back office
Back-office pricing tool for a US apparel brand, v1 to v2: bulk margin and price updates across products and team stores. Design approved by the client.
Context
Role: Sole designer, both versions
Valemont (an anonymised name) is a US apparel brand that sells through its own site and through team stores on that site. Each team store has its own prices for the apparel it lists. Today, a price change goes as a request to the development team, and a developer edits prices one SKU and one store at a time. A change takes about 1 day to go live, and up to 3 days over a weekend. The pricing tool, designed in two versions, lets staff make these changes themselves. The client approved the design, and the tool is planned for development.
Two kinds of price update
- Global update: changes prices across the catalogue. In v1, a global update changes the price of every product in every team store. In v2, a global update changes only the products matched by filters and then selected in the table, for the store type chosen.
- Team store update: changes the margin only in the team stores the staff member picks, for the apparel listed in those stores. Every other team store keeps its prices.
Both kinds are needed because each team store has its own prices. A change agreed for one store must not move the prices of other stores, and a change for the whole catalogue must not need one request per store.
Version 1: Margin Price Portal
Version 1 opens on a product table with a side panel. The side panel has two tabs, Global Update and Team Store Update.
- Global update: one margin amount is added to or removed from every product price and every team store price.
- Team store update: the staff member picks stores in a modal and enters one margin for them.
- A separate information screen, opened from the View button in a product row, shows how that apparel item sold in each team store over the last 7, 30 and 60 days. It changes no prices.
What changed in version 2: Cosmos
- Products covered. v1: the team stores and the apparel listed in them. v2: every apparel item on the site, with the team store update kept.
- Reach of a global update. v1: every product, with no way to narrow the update. v2: only the products matched by filters (category, brand, store type, and cost, price or margin range) and then selected in the table.
- Kind of change. v1: a margin amount. v2: an update type chosen from a list, entered as a positive or negative change in $ or %, for one chosen store type.
- Prices on screen. v1: base price, margin and final retail price per product. v2: one column per store type (Bulk Margin, Bulk Price, Premium, TeamStore, F.Bargain, Retail), plus each product's status: active, inactive or out of stock.
- Changing one product. v1: updates apply to all products, or to all apparel in the chosen stores. v2: the Edit icon on a row turns its prices into input fields. Save writes the new prices, and Reset to last save restores the last saved prices.
- Picking team stores. v1: a list of stores in a modal. v2: a 4-step flow, with a two-list picker that goes down to the apparel listed in each store.
- Starting point. v1: the product table. v2: a dashboard with a stock snapshot and the latest updates, plus a left navigation bar.
Unchanged from v1: if an update fails, no data changes and the update is rolled back, and the tool writes every update and every error to a log.
Estimate and next steps
Estimated time per change
Estimated time for a margin change with the tool: about 5 minutes, compared with about 1 day today. The tool has not been built, so this has not been measured.
Next design iteration
A preview of how many prices an update will change before it runs, and plain-language error messages.
Valemont is an anonymised name for a US apparel client. All store names, product names, people and figures in the screens are invented sample data.