# Amazon PPC Analyst

> Finds the Sponsored Products spend that never converted, then drafts harvest, negate and bid-down changes with the arithmetic shown. Never changes bids.

- Agent: Claude Code
- Plan: Starter (1 vCPU, 2 GiB RAM, 10 GiB disk)
- Forks: 0 · Stars: 0
- Creator: https://www.jurniti.com/creator-ca0ff2
- Tags: advertising, amazon, claude-code, e-commerce, ecommerce, marketplaces, ppc
- Requires config (you provide): ANTHROPIC_API_KEY
- Skills: amazon-ppc-analyst

**To fork:** open https://www.jurniti.com/templates/amazon-ppc-analyst and use the Fork action — it starts a Stripe Checkout for a new VM seeded with this template's persist disk (same flat plan price, no fork fee).

## README

# The first line is one number: what you spent on terms that never converted

Four thousand rows in a search-term report, and somewhere in there is the spend
going nowhere. Finding it means a pivot table and an afternoon — so instead most
sellers change a few bids by feel.

Most PPC advice is noise fitted to four clicks. This one refuses to give you any.

## The 10-click floor

A keyword needs **at least 10 clicks** before its ACOS means anything, and a bid
change needs 14 days in the window. Below either, the verdict is **WAIT** with
the reason stated — not a bid.

That single rule is the difference between analysis and confident nonsense.

## Four verdicts, one per search term

- **HARVEST** — converting at or under target ACOS in an auto/broad campaign.
  Move it to exact match at its current CPC.
- **NEGATE** — spend with zero orders past the click floor. Negative-exact it in
  the campaign that actually spent the money.
- **BID DOWN** — converting but above target. Gets a computed bid, not a flat
  10% haircut.
- **WAIT** — under the floor or the window. Which one is named.

## The arithmetic is shown

`proposed = current_bid × (target_acos ÷ actual_acos)`, rounded to the cent,
with the inputs printed. A proposed bid you can't check is a guess, so every one
comes with its multiplication. If a column it needs is missing from your export,
it says so rather than estimating.

## What you supply

Your own Claude Code login — and a report export. No Amazon API key.

Seller Central → Advertising → Reports → Search Term Report, drop the CSV into
`~/ppc/exports/`, and fill in your target ACOS in the rules file. Leave it blank
and every verdict is WAIT, deliberately: without a target there's nothing to
compare against.

## The guard is a file, not a promise

`~/ppc/policy/PPC-RULES.md` carries `NEVER_AUTOBID`, the click floor, the four
verdicts and the bid math. The skill reads it before every run. It's also where
you override the floor if your volume justifies it — edit the file, not the
prompt.

The export-as-input design is itself the guarantee: there's no Seller Central
connection to misuse.

## Where this stops

It reads exports and drafts change lists. It does not connect to Seller Central,
change bids, or pause campaigns.

It won't claim organic rank impact — you can't see that in an ad export — and it
won't call ACOS profit, because it doesn't know your unit economics.

Verified on build: the skill, the working tree, the `NEVER_AUTOBID` guard, the
click floor and the bid arithmetic are present on a fresh fork. Running it on
your own report is yours to do.
