290 lines
12 KiB
Markdown
290 lines
12 KiB
Markdown
---
|
||
marp: true
|
||
title: Pricing & Profitability Agent — Executive Briefing
|
||
paginate: true
|
||
---
|
||
|
||
# Pricing & Profitability Agent
|
||
|
||
### Finding the money we're leaving on the table — one SKU at a time
|
||
|
||
An AI agent that reads our live Amazon data, tells us **which SKUs actually lose money**, **why**, and **what to do about it** — with the evidence to prove it.
|
||
|
||
*Executive briefing · Utopia Brands*
|
||
|
||
---
|
||
|
||
## The one number that matters
|
||
|
||
> Across the catalog, **1,053 SKUs are losing money right now.**
|
||
>
|
||
> That is **−$1.17M in the last 30 days** — roughly **−$14M/year**.
|
||
|
||
- Scanned **4,192 SKUs** that had sales (of ~8,728 in the catalog)
|
||
- **336 of those losers are fixable by cutting ad spend alone** — no price change, no customer impact
|
||
- **736 need a price or cost fix**
|
||
|
||
The agent didn't estimate this. It read Amazon's own realized profit, SKU by SKU.
|
||
|
||
---
|
||
|
||
## Why we couldn't see this before
|
||
|
||
The number we *thought* was our price was often wrong.
|
||
|
||
| SKU | What the tool "listed" | What we **actually sold at** |
|
||
|---|---|---|
|
||
| Microfiber Gusset Pillow (Queen) | **$33.89** | **$23.39** |
|
||
|
||
- At **$33.89** the SKU looks like a **30% margin hero** — clears target
|
||
- At the **real $23.39**, margin is **5.5%** — far below our floor, quietly losing money
|
||
- Confirmed three ways: COSMOS realized revenue ÷ units **and** Amazon's live featured offer — they agree to the cent
|
||
|
||
**The agent always prices on what customers actually paid — not a reference number.**
|
||
|
||
---
|
||
|
||
## What the agent does, in one line
|
||
|
||
> For any SKU, product line, or the whole catalog, it computes the **true profitability**, renders a **verdict**, and shows **every reason and the raw evidence** — read-only, nothing is changed without a human.
|
||
|
||
**Three ways to run it:**
|
||
- **One product** — deep dive with full fee stack + 6-month history
|
||
- **A product line** — ranked worst-first, with a suggested price for each
|
||
- **The whole catalog** — the money-at-risk scan that found the $14M
|
||
|
||
---
|
||
|
||
## How it works — the pipeline
|
||
|
||
```
|
||
↓ Fetch fees + the REAL selling price → what it costs us
|
||
↓ Fetch demand + inventory → can it sell
|
||
↓ Fetch 6 months of daily actuals → what really happened
|
||
↓ Deterministic rules → GOOD / CAUTION / POOR (no AI — 42 unit tests)
|
||
↓ AI writes the plain-English explanation (never calculates, never decides)
|
||
↓ Output: verdict + every reason + the evidence to check it
|
||
```
|
||
|
||
**Key design choice:** the math and the decision are **pure code and fully tested.** The AI only writes the narrative. It can never invent a number or move a price.
|
||
|
||
---
|
||
|
||
## What data we gather (and gate on)
|
||
|
||
All of it is **live**, pulled from our COSMOS system per SKU:
|
||
|
||
| Signal | Source | Why it matters |
|
||
|---|---|---|
|
||
| **Real selling price** | `sales-insight` (revenue ÷ units) | The truth — not a list price |
|
||
| Fee stack (referral, FBA, returns, EPR/VAT) | `takehome-calculator` | Every cost Amazon takes |
|
||
| Landed cost (COGS + freight + duty) | `takehome-calculator` | What the unit costs us |
|
||
| 6-month demand, velocity, days of cover | `invp-insight` | Can it actually sell |
|
||
| Storage vs inventory on hand | `bulk-calculator` | Overstock draining profit |
|
||
| **Actual profit (real P&L)** | `sales-insight.profit` | Includes ads, refunds, promo, storage |
|
||
| Ad spend per unit | `sales-insight.marketingCost` | The #1 hidden profit killer |
|
||
|
||
**Competitor price / Buy Box** — COSMOS has none of this. We source it from **our own curated competitor sheet** (see next slide), with a live Amazon scrape as an optional top-up.
|
||
|
||
---
|
||
|
||
## Where competitor data comes from — and why not scraping alone
|
||
|
||
Competitor pricing isn't in COSMOS, so we bring it in from **two sources — the sheet first, the scraper second:**
|
||
|
||
| Source | Role | Strength |
|
||
|---|---|---|
|
||
| **Our competitor sheet** (pre-scraped, curated) | **Primary** — the data we gate on | Whole catalog at once, verified, stable, zero per-call cost, works offline |
|
||
| **Live Amazon scrape** (Apify) | **Top-up** — on-demand freshness for a single SKU | Real-time snapshot when we need "right now" |
|
||
|
||
**Why we don't rely on the live scraper alone:**
|
||
- **It's unreliable per-run** — the same Amazon page flaps between "suppressed" and "live offers" between scrapes; a single reading can be wrong
|
||
- **It doesn't scale** — ~15 sec per product and pay-per-scrape, so it can't cover the whole catalog economically
|
||
- **It's a snapshot, not history** — no trend, and it can be blocked, rate-limited, or redirected by Amazon's anti-bot defences
|
||
- **The sheet is controllable and auditable** — we own it, we can verify it, and it feeds every SKU consistently
|
||
|
||
> **Bottom line:** the sheet is the reliable backbone; the live scrape is a convenience layer on top — never the sole source of truth.
|
||
|
||
---
|
||
|
||
## The rules — a fixed checklist, no AI
|
||
|
||
Every decision is a checklist run **top to bottom. The first rule that matches wins.**
|
||
No judgment calls, no guessing — the same inputs always give the same answer.
|
||
|
||
**The thresholds every rule uses (set once, in one config file):**
|
||
|
||
| Margin floor | Margin target | Worst-case referral | Returns | Storage |
|
||
|:---:|:---:|:---:|:---:|:---:|
|
||
| **25%** | **30%** | **15%** | **2%** | **$0.25/unit** |
|
||
|
||
> The golden rule: **real recorded profit beats profit-on-paper.** If Amazon's own
|
||
> numbers show a loss, no amount of "good margin on the calculator" turns it green.
|
||
|
||
---
|
||
|
||
## Rule set 1 — the verdict (🟢 / 🟡 / 🔴)
|
||
|
||
What the app shows for each product. First match wins:
|
||
|
||
| # | Check | Verdict |
|
||
|:---:|---|---|
|
||
| 1 | **Actually losing money?** (real profit/unit < 0, or 3+ months lost money) | 🔴 **POOR** — *overrides everything below* |
|
||
| 2 | Losing money after ads? (net after ad spend < 0) | 🔴 POOR |
|
||
| 3 | Price below break-even? | 🔴 POOR — loses on every sale |
|
||
| 4 | Margin < 25% floor **and** demand weak? | 🔴 POOR — not viable |
|
||
| 5 | Margin < 25% floor **but** demand strong? | 🟡 CAUTION — underpriced, raise price |
|
||
| 6 | Overstocked? (storage eats profit, or >120 days cover) | 🟡 CAUTION — run a promo |
|
||
| 7 | Sales declining vs the 6-month trend? | 🟡 CAUTION — watch it |
|
||
| 8 | **Otherwise** — clears margin, healthy demand | 🟢 **GOOD** |
|
||
|
||
---
|
||
|
||
## Rule set 2 — the approval gate
|
||
|
||
The go / no-go decision, always tested at the worst-case **15%** referral:
|
||
|
||
| # | Check | Decision |
|
||
|:---:|---|---|
|
||
| 1 | Price below break-even | ⛔ **BLOCKED** — loss-making |
|
||
| 2 | Margin below the 25% floor | ⛔ **BLOCKED** — the main gate |
|
||
| 3 | Listing suppressed (Buy Box hidden) | ⛔ **BLOCKED** — don't launch, ads would waste |
|
||
| 4 | Lost the Buy Box on price | 🔶 **NEEDS REVIEW** — match or hold? |
|
||
| 5 | Otherwise | ✅ **APPROVED** |
|
||
|
||
**A human still approves before any price is written back.** The rules propose; a person decides.
|
||
|
||
---
|
||
|
||
## The core money math
|
||
|
||
Every dollar figure comes from these formulas — **pure, exact, unit-tested.**
|
||
|
||
**Margin & break-even**
|
||
```
|
||
margin = take-home ÷ price
|
||
break-even = (landed + FBA + returns + other) ÷ (1 − referral%)
|
||
```
|
||
|
||
**Minimum profitable price** (solves for a 30% target margin, rounds to `.99`)
|
||
```
|
||
suggested = (landed + FBA + other) ÷ (1 − referral% − returns% − 30%)
|
||
```
|
||
|
||
**The gate always tests against the worst-case 15% referral fee** — if a SKU clears the floor at the worst case, it is genuinely safe.
|
||
|
||
> Policy lives in one config file: **25% margin floor, 30% target, 2% returns, 15% worst-case referral.** Change the policy, not the code.
|
||
|
||
---
|
||
|
||
## The formula that changes the answer: the profit bridge
|
||
|
||
Paper margin says one thing; reality says another. This reconciles them:
|
||
|
||
```
|
||
take-home (fees + COGS only) +4.30
|
||
− ad spend −3.55
|
||
= net after ads +0.75
|
||
− refunds / promo / storage / logistics −2.65 ← the "unmodeled gap"
|
||
= ACTUAL profit / unit −1.90
|
||
```
|
||
|
||
- A SKU can show **+$4.30 "profit"** and actually **lose $1.90** per unit
|
||
- The gap is real cost the fee calculator never sees
|
||
- The agent leads with the **actual number** — and flags when the model overstates profit
|
||
|
||
**This is the difference between a dashboard that looks healthy and one that tells the truth.**
|
||
|
||
---
|
||
|
||
## The evidence layer — "what actually happened"
|
||
|
||
Instead of trusting a model, we pool Amazon's own profit data:
|
||
|
||
```
|
||
actual profit/unit = Σ profit ÷ Σ units
|
||
best observed price = the price that earned the most real profit/day
|
||
unprofitable months = count of months that actually lost money
|
||
```
|
||
|
||
- Pooled by month **and** by **$0.50 price band** — so we can see the price that truly performed best
|
||
- Sometimes **the best price we ever charged still lost money** — *that itself is the finding:* the floor is above anything we've tried.
|
||
|
||
**We also model price elasticity** (how demand responds to price) — but label it **"directional only,"** because our list prices barely move, so the data is thin. We're honest about what we don't yet know.
|
||
|
||
---
|
||
|
||
## Worked example — the agent's reasoning, end to end
|
||
|
||
**SKU:** Microfiber Gusset Pillow · **Candidate price:** $24.99
|
||
|
||
| Step | Result |
|
||
|---|---|
|
||
| Landed cost (COSMOS) | $6.65 |
|
||
| Contribution margin @ $24.99 | **10.6%** |
|
||
| Break-even / MAP floor | $21.88 / $24.80 |
|
||
| Buy Box (live Amazon scrape) | WON — Utopia Brands @ $23.39 |
|
||
| **Suggested price** to clear target | **$34.99** |
|
||
|
||
> **Decision: 🔴 BLOCKED** — margin **10.6%** is below the **25% floor**, even at the worst-case referral. The margin rule fires *before* Buy Box: winning the Buy Box doesn't rescue an unprofitable price.
|
||
|
||
**Action:** hold below floor, move toward **$34.99** to clear the 30% target.
|
||
|
||
---
|
||
|
||
## How much to trust each part
|
||
|
||
| Capability | Status | Trust |
|
||
|---|---|---|
|
||
| Cost, margin, break-even | ✅ Built | **High** — exact (but excludes ads alone) |
|
||
| Ad cost, true margin, profit bridge | ✅ Built | **High** |
|
||
| **Actual profit evidence** | ✅ Built | **Highest — real P&L, overrides everything** |
|
||
| Catalog money-at-risk scan | ✅ Built | **Highest** |
|
||
| Elasticity / profit optimizer | ✅ Built | Directional only |
|
||
| Competitor / Buy Box / suppression | ✅ Built | Sheet-backed (primary) + live scrape top-up |
|
||
| Price write-back + approval workflow | ❌ Remaining | Needs write endpoint + guardrails |
|
||
|
||
**Everything the agent claims, it can show you the raw numbers for.** Nothing is a black box.
|
||
|
||
---
|
||
|
||
## What's live today vs. what's next
|
||
|
||
**✅ Live now**
|
||
- Full profitability + evidence engine on live COSMOS data
|
||
- Catalog-wide money-at-risk scan (the $14M finding)
|
||
- Per-SKU verdict, reasons, suggested price, AI explanation
|
||
- Read-only — safe to run against production
|
||
|
||
**❌ To unlock the value**
|
||
1. **Turn diagnosis into action** — an "ads-fix" worklist for the 336 fastest wins
|
||
2. **Hardened guardrails** — real break-even (incl. ads + leakage), cap moves at ±10%
|
||
3. **Price write-back with human approval** — every change reviewed + audit-logged
|
||
4. **Deliberate ±5% price tests** — makes elasticity trustworthy in ~3 months
|
||
5. **Automation** — daily scan, alert on *new* money-losers
|
||
|
||
---
|
||
|
||
## The ask
|
||
|
||
**We've built the diagnosis. It found ~$14M/year of profit leakage — with the evidence.**
|
||
|
||
To convert that into recovered profit, we need to:
|
||
|
||
- **Approve the ads-fix pilot** — 336 SKUs, no price change, fastest money in the catalog
|
||
- **Green-light the write-back + approval workflow** — so the agent's recommendations can actually move prices, safely and auditably
|
||
- **Authorize deliberate price testing** on high-volume SKUs — to make the demand model reliable
|
||
|
||
> The tool already tells us where the money is.
|
||
> The next phase is about **going and getting it.**
|
||
|
||
---
|
||
|
||
# Thank you
|
||
|
||
**Pricing & Profitability Agent**
|
||
|
||
Live data · Deterministic, tested math · AI explains, never decides · Full transparency
|
||
|
||
*Questions?*
|