--- 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?*