How to automate an Amazon weekly business report with Claude or ChatGPT
To automate an Amazon weekly business report with AI, the assistant needs live access to your sales, profit, ads, stock and listings, and Nova's MCP connector gives Claude, ChatGPT and other assistants that access to Seller Central and Amazon Ads. Through Nova, the assistant compares the week with last week and last year, names the products that moved and why, flags stock and listing risks, and ends on the decisions to make.
Updated
Write my weekly business report.
Net sales $48,200, down 6% on last week and up 11% on the same week last year. Net profit $7,900 at a 16.4% margin. The cutting board explains most of the drop. The knife block has 9 days of stock and nothing inbound, and one listing is suppressed. Two decisions for this week: restock the knife block and fix that listing.
The playbook
Every step calls a Nova tool that reads your live Amazon data, so paste this into Claude, ChatGPT or any assistant connected to Nova's MCP server. Run it every Monday, or on a schedule if your assistant supports scheduled tasks.
This needs an assistant connected to Nova. Start the 14-day free trial, then connect your assistant.
Use Nova to write my Amazon weekly business report. Week: the last complete Monday to Sunday. If I name another week, use that. Never compare a partial week with a complete one. Scope: if I hold several accounts, call Nova's list_accounts and write one report per account, unless I ask for a total. Never add Seller Central and Vendor Central figures together. 1. Scoreboard. Call Nova's query_metrics with netSales, units, netProfit, netProfitMargin, adSpend, sponsoredTacos, sessions and conversionRate, once against the week before and once against the same week last year. Then repeat with groupBy "marketplace". If a comparison comes back empty, or adsHistoryNotice says ad data starts later, say so rather than reading it as zero. 2. Month so far. Call Nova's query_metrics with the same metrics, month to date against the same days last month. 3. What moved. Call Nova's find_movers on netSales, direction "down", dimension "sku", limit 5, against the week before. Then the same with direction "up". Ignore rows with an empty id or __UNALLOCATED__. 4. Why it moved. For the 3 biggest decliners, call Nova's explain_movement. It returns units, net sales, net sales per unit, Featured Offer share, customer promotions, ad spend, ACOS, impressions and clicks. It does not return sessions, conversion or rank, so read those per child ASIN with query_metrics if the cause is still open. 5. What could go wrong next week. Call Nova's query_inventory with oosRiskFlag true, sorted by daysOfInventory, sortOrder "asc", limit 10. Then call Nova's query_listing_health with bands [0, 1], sort "severity", limit 10. Both show the state today. 6. Ads. Call Nova's query_advertising with groupBy "campaign", the week against the week before, with spend, sales and acos, sorted by spend, limit 5. Add breakEvenAcos and profitAfterAds if they come back filled. 7. Demand. If Brand Analytics data exists, call Nova's query_sqp with grain "week", groupBy "keyword", queryTypes ["core", "presence"], and the metrics search_volume, search_volume_wow_pct and your_impression_share, sorted by search_volume, limit 10. It runs about 10 days behind, so give period.covers as the dates. 8. What changed. Call Nova's list_events for the week. 9. Write the report, one page, in this order: - One sentence: how the week went - Scoreboard table: this week, last week, same week last year - Top movers, each with its likeliest cause, stated as a correlation - Risks: stock and listings - Ads: what spent the most and whether it paid - Demand: what moved on core queries, with its dates - Decisions for this week: three at most, each with the figure behind it Rules: be brief. Leave out anything that did not change a decision. Say which figures are missing and why. Relay every notice Nova returns (P&L rules, marketplaces added up, COGS gaps, currency, ad history). You cannot change anything on my account.
How Nova customers use this
Real requests from Nova customers, names removed.
“Top products by week-over-week net sales decline for the weekly business review, then stock health on those products to see whether out-of-stock is a plausible cause.”
What the assistant did
It pulled the week against the week before and the same week last year, named the biggest decliners and checked their stock.
Nova tools used (4)
list_accountslist_metricsquery_metricsquery_inventory
“Month to date against last year and week over week by brand, with out-of-stock risk and top SKU gainers and decliners, for the weekly review dashboard.”
What the assistant did
A dashboard refreshed each week, from brand totals down to the SKUs that moved.
Nova tools used (5)
list_accountsquery_metricsquery_inventoryfind_moversquery_listing_health
“Weekly client call deck: listing health, days of cover on top sellers, core non-branded search coverage, week over week, and month to date against last month and last year.”
What the assistant did
One deck section per read, for the weekly client call.
Nova tools used (6)
list_accountsquery_listing_healthquery_inventoryquery_sqpquery_metricsquery_reviews
“Weekly review: current rank against last month's baseline for core SKUs, Sponsored Products profitability per SKU, and listings needing action.”
What the assistant did
A weekly read of core, push and new products.
Nova tools used (4)
query_bsrquery_advertisingquery_metricsquery_listing_health
What belongs in a weekly business report?
Only what changes a decision. A scoreboard, the products that moved, the risks for next week, what ads did, and what demand did. The playbook ends on three decisions at most, each with the figure behind it.
Which comparisons should it use?
Three, because each answers a different question. The week before shows momentum. The same week last year takes out seasonality. Month to date against the same days last month shows whether the month is on track. Complete weeks only, so a partial week is not read as a drop.
Can it say why the numbers moved?
It can narrow it down. find_movers ranks the SKUs that lost and gained the most. explain_movement lines up net sales per unit, Featured Offer share, customer promotions, ad spend, ACOS, impressions and clicks for each one, and list_events reads what you logged that week. These are correlations, so the report states the likeliest cause, not a proven one.
What could go wrong next week?
query_inventory with oosRiskFlag lists products under 35 days of supply after inbound. query_listing_health lists removed, suppressed and not buyable listings, worst first. Both show the state today.
How do I get it every week?
Paste the playbook every Monday, or run it on a schedule if your assistant supports scheduled tasks. An agency can pass accounts to write one report per client.
Sales down on last week, up on last year
Where it points
Possibly normal seasonality
Check next
The same week last year against the week before it
Sales flat, net profit down
Where it points
Costs moved, not demand
Check next
adSpend, sponsoredTacos, netProfitMargin per product
One marketplace explains the change
Where it points
A local cause
Check next
query_metrics per child ASIN in that marketplace
The same product in the movers two weeks running
Where it points
Not a blip
Check next
explain_movement over 14 days, list_events
Stock risk on a top seller
Where it points
Lost sales ahead
Check next
Inbound units in query_inventory
Core query volume down, impression share flat
Where it points
Demand, not your listing
Check next
query_sqp over several weeks
Example with made-up figures
A weekly report, worked through
Net sales
This week
$48,200
Last week
$51,300
Same week last year
$43,400
Units
This week
1,020
Last week
1,090
Same week last year
930
Net profit
This week
$7,900
Last week
$8,600
Same week last year
$6,900
Net margin
This week
16.4%
Last week
16.8%
Same week last year
15.9%
Ad spend
This week
$6,100
Last week
$5,900
Same week last year
$5,200
TACOS
This week
12.7%
Last week
11.5%
Same week last year
12.0%
Top movers: bamboo cutting board down $2,400, knife block down $900, serving trays up $600. On the cutting board, ad clicks fell after a budget cut logged on Tuesday, which is the likeliest cause.
Risks: the knife block has 9 days of stock and nothing inbound, and one listing is suppressed. Decisions for this week: restock the knife block, fix the suppressed listing, and decide whether the budget cut stays.
Can I build this with exports and a spreadsheet?
You can, with a Business Report, an ads report and a settlement report each week, joined by hand, or with your own Selling Partner API connection. Your costs still have to be added on top before any profit figure means anything. With Nova the assistant reads sales, fees, costs, ads, stock and listings from one connection, for any week.
What this cannot tell you
- Nova shows what moved at the same time. It does not prove why.
- Stock and listing health are the state today, not a history.
- Sessions and conversion refresh once a day and exist per child ASIN, not per SKU.
- Search Query Performance runs about 10 days behind and needs Brand Analytics. Its weeks run Sunday to Saturday, so it never lines up exactly with a Monday to Sunday report.
- A trial reads 3 months of orders, fees and returns, so the same week last year needs a paid plan's 2-year history.
- Ad data starts about 60 days before you connected Amazon Ads. Before that, ad spend reads 0 and net profit leaves ads out.
- Sponsored Products sales count at 7 days on Seller Central, so the last days of a week can still gain sales.
To go deeper on one drop, see why your Amazon sales dropped. To build reports in the app, see the reporting builder.
Questions sellers ask
Can Claude or ChatGPT send me this report automatically?
If your assistant supports scheduled tasks, you can run the playbook on a schedule. Otherwise paste it each Monday. Nova provides the data, and the assistant writes the report.
Can it report on several accounts or clients?
Yes. The assistant calls list_accounts, then writes one report per account with the accounts filter, or a total if you ask for one. A workspace member sees only the accounts in their scope.
What data does it need?
Your Seller Central account for sales, sessions, stock and listings, and your Amazon Ads account for spend and campaigns. Search Query Performance needs Brand Analytics. Profit needs your cost of goods in Nova, and Nova returns a notice when some are missing.
How recent is the data?
Orders reach Nova in about 20 seconds. Fees refresh hourly, and sessions and conversion once a day. Weekly Search Query Performance runs about 10 days behind. Details on refresh times.
Does this change anything on my account?
No. Every tool in this playbook only reads. The connection uses OAuth, per account, and you can revoke it at any time.
Does this work for Vendor Central?
This playbook is built for Seller Central. For Vendor Central, use the weekly vendor review prompt, which reads sell-in, sell-out, purchase orders and receivables.