Skip to content

Analyze Subscribe & Save (SnS)

On this page you can analyze Subscribe & Save (SnS) performance. Check how the stable revenue from subscriptions is trending, which products are driving the increases and decreases, and how discount rates are configured.

ItemDetails
What you can doTrack subscription count, sales, shipped units, and penetration; identify the products driving increases and decreases; rank products by performance; check per-SKU discount settings; and analyze subscription count alongside new-customer ratio
Applies toSubscribe & Save (SnS) performance data. This is not ad data, so products with no Sponsored Ads delivery are included too
Data & connection neededSnS performance connected to Picaro (subscription count, SnS sales, shipped units, SnS penetration, and per-SKU offer settings). The aggregation unit is weekly (Sunday-start) or monthly — daily aggregation does not exist for SnS
ScopeRead-only (analysis only). Subscribe & Save discount rates and offer settings cannot be changed from Picaro — those are Seller Central operations
  • You want to check the recent SnS movement and pin down the products that drove it
  • You want to fixed-point monitor the trend of subscription count, sales, shipped units, and penetration against a prior period
  • You want to see the products with the largest SnS sales as a ranking
  • You want to drill into a specific product monthly and also check its per-SKU discount settings
  • You want to correctly separate whether “subscriptions grew” or “new customers grew” without mixing them up
  • Aggregation unit … choose weekly (Sunday-start) or monthly. Daily aggregation does not exist for SnS.
  • Target period … such as “the last 5 weeks” or “the past 6 months.” If you don’t specify one, the most recent period with data is selected automatically.
  • Target product (optional) … specify this when you want to narrow to a particular ASIN, SKU, or product line. If unspecified, everything is included.
  • To change a discount rate or offer setting, use Seller Central rather than this page (it cannot be changed from Picaro).
GoalWhat you getChangesPrompt
Identify the recent SnS movement and the products that drove itWeekly trend plus a ranking of the products contributing to increases and decreasesNo changePrompt 1
Compare subscriptions / sales / shipped units / penetration against the prior periodThe four main metrics’ trend and the prior-period deltaNo changePrompt 2
See the products with the largest SnS sales as a rankingA per-product table of sales, subscription count, shipped units, and shareNo changePrompt 3
Drill into a specific product monthly, including per-SKU discount settingsA monthly trend plus a per-SKU offer and discount-rate listNo changePrompt 4
Analyze subscription count and new-customer ratio side by side, without confusing themA table placing both metrics side by side, with an explanation of how they relateNo changePrompt 5

Prompt 1: Identify SnS movement and the products driving it

Section titled “Prompt 1: Identify SnS movement and the products driving it”

Visualize how recent SnS sales and subscription count moved, and identify the products that contributed most to that movement. Instead of stopping at “it grew / it fell overall,” it drills down to the products behind the change.

When to use — when you want to grasp the recent SnS movement and the products that drove it.

What you need — nothing (use as is). You can specify how to respond to the increase-contributing and decrease-contributing products (for example, secure inventory / review promotions).

For {{ACCOUNT_NAME (e.g. 7 Toyo Beverage)}}, visualize the trend of Subscribe & Save (SnS) sales and
subscription count over the last 5 weeks, and identify the products that contributed most to the change
in sales (both increase-contributing and decrease-contributing), as input for deciding on securing
inventory / reinforcing promotions.
1. Call get_sns_trend with frequency=weekly and retrieve the last 5 weeks.
- Do not include unfinalized weeks. Use get_data_ingestion_status, target only through the weeks where
Subscribe & Save is completed, and even when the period is omitted, always confirm that the returned
from_date/to_date ends on a finalized week.
- Explicitly specify "the previous 5 weeks" in compare_from_date / compare_to_date.
The default comparison when omitted is a one-week shift (a stack of week-over-week comparisons), which
does not match the previous 5-week block. If you do not align this, the basis will diverge from the
per-product contribution in the later step (whose default is the previous 5-week block comparison).
2. Call list_sns_products with sort_key=revenue / sort_order=desc / filter=ALL, specifying the same from/to
and compare period as step 1.
- Reconcile product_count against the number of returned rows, and do not conclude anything until they match.
- The same ASIN can come back more than once across multiple SKUs. Consolidate by ASIN before summing
(summing duplicate rows as-is double-counts revenue).
Verify that the ASIN-level revenue total matches the period revenue from get_sns_trend.
3. Calculate the contribution amount yourself as "revenue − revenue_compare" and sort it in descending and
ascending order. revenue_change is a rate of change (%), not a contribution amount, so do not use it for
ranking (small-revenue products come to the top with a high rate of change and lead you to the wrong call).
Products whose revenue_compare is "--" (null) are new and cannot be compared. Distinguish them from 0,
exclude them from the contribution totals, and list them separately.
4. Classify the driver into three categories: "subscription count (subscriptions)",
"unit price (revenue_out_of_shipped_units)", and "shipped units (shipped_units)".
Two categories cannot explain every case.
- An old ASIN whose eligibility is INELIGIBLE, with revenue_change=-100 and shipped units gone to 0,
together with a new ASIN whose shipments surged in the same period, is most likely the same product
migrated by a relaunch. Consolidate by product name and always also state the net change with the old
and new combined. Do not report a migration as net growth.
- subscriptions is a snapshot as of the end of the period, not a period total. Compare end-of-period
values against each other when looking at changes.
5. Check not_delivered_due_to_oos and state explicitly whether there were subscriptions left undelivered
because of a stockout, as grounds for the inventory action.
Constraints: writes are prohibited. Always state the total count / retrieved count / not-retrieved count.
Distinguish null from 0. Guessing and the unannounced use of substitute metrics are prohibited. Because MCP
does not return the contribution amount itself, state explicitly that the contribution amount is a value
you calculated.
Finally, output the following three points.
1. Recommended actions — for increase-contributing products {{action (e.g. secure inventory)}}, for
decrease-contributing products {{action (e.g. review promotions)}}, each with target, reason, priority
(in order of net contribution after consolidation), and confidence
2. How to execute — hand inventory actions to "FBA inventory risk diagnosis", and promotion actions to
Prompt 3 (the SnS per-product performance ranking)
3. Measurement — retrieve the same metrics again 4 weeks later; judge Keep if the Primary KPI (SnS sales)
improves and the subscription count is maintained, and Investigate if it worsens

What you can change — how you respond to increase-contributing / decrease-contributing products (for example, secure inventory / review promotions). The period is fixed at the last 5 weeks compared with the previous 5 weeks.

What you get back — the trend of SnS sales and subscription count over the last 5 weeks, plus the increase-contributing and decrease-contributing products after consolidating by ASIN to prevent double counting (noted as contribution amounts the AI calculated itself). Old-to-new ASIN migrations of the same product, such as from a relaunch, are shown as a combined net change, and a migration is not reported as net growth.

Changes — read-only (analysis only). No settings are changed.

Next steps — to view this together with undelivered subscriptions and restock decisions caused by stockouts, use Manage inventory and sales opportunities.


Prompt 2: Compare subscribers, sales, shipped units, and penetration against the prior period

Section titled “Prompt 2: Compare subscribers, sales, shipped units, and penetration against the prior period”

Review the trend of the four main SnS metrics against the prior period. Well suited to fixed-point monitoring in a recurring review.

When to use — when you want to fixed-point monitor the trend of the main metrics against a prior period.

What you need — the aggregation unit (weekly or monthly). The thresholds for judging deterioration (the size of the drop for sales and shipped units / subscription count / penetration) have defaults; specify them if you want to change them.

Goal: to catch deterioration in Subscribe & Save (SnS) KPIs early and connect it to a response decision,
show the trend of subscription count, SnS sales, shipped units, and SnS penetration, aggregated
{{aggregation unit (e.g. weekly)}} and compared with the prior period.
1. Check the ingestion status of the "Subscribe & Save" report with get_data_ingestion_status (match
frequency to the aggregation unit), and do not treat any period whose status is not completed as the
final point of the trend.
2. Call get_sns_trend with {{aggregation unit (e.g. weekly)}}. Do not specify a period — leave it to the
tool's automatic selection (the most recent finalized period).
3. For the assessment, use only the per-period series values in rows[] and summary.change_period
(the target period vs the prior period).
- Do not use summary.last_data / change_last / change_compare.
last_data and change_last ignore from_date/to_date and point at "the most recent period for which data
exists," so when a period is specified they land outside the target period. change_compare has a
definition that cannot be reconstructed from the returned values.
- Use the returned fields above as-is for rates of change. If you derive a rate yourself from rows[],
state explicitly that it is self-calculated.
4. For each metric, show the following separately.
(a) The whole period vs the prior period (change_period)
(b) The latest period vs the one before it (derived from the last 2 points in rows[]; state that it is
self-calculated)
(c) Whether there is deterioration across 2 or more consecutive periods
5. Thresholds for judging deterioration: sales and shipped units at or below
{{deterioration threshold for sales and shipped units (e.g. -5%)}}, subscription count at or below
{{deterioration threshold for subscription count (e.g. -1%)}}, penetration at or below
{{deterioration threshold for penetration (e.g. -100bps)}}.
Anything that does not reach the threshold is not counted as "deterioration."
6. Constraint on reading penetration: get_sns_trend returns only the penetration value, not the denominator
(the total sales that SnS is measured against). The denominator cannot be reconstructed from other tools
either. So do not conclude that a drop in penetration means "SnS is shrinking" — read it together with
the direction of SnS sales and shipped units, and state explicitly that it cannot be decomposed.
7. Always check for divergence between the subscription count and shipped units / sales. If the subscription
count is flat or better while only shipped units and sales fall, a skew in the delivery cycle is the most
likely cause, so describe it separately from deterioration in the underlying contract base.
If needed, use list_sns_products to check per-product subscription count, shipped units, unit price, and
stockout rate (not_delivered_due_to_oos), and separate a broad decline from a single-product cause.
Constraints: use the values returned by the tools as-is and do not invent your own labels. Do not use the
fields prohibited in step 3 in your conclusion.
Finally, output the following three points.
1. Recommended actions — recommend a deeper dive when 2 or more metrics deteriorated by the thresholds in
step 5 and at least 1 of them falls under the 2-consecutive-period deterioration in (c). If only the
latest period deteriorated and the subscription count is flat or better, state explicitly that this is
"possibly a delivery-cycle factor" and to wait until the next scheduled check
2. How to execute — if a deeper dive is needed, hand it to Prompt 3 (the SnS per-product performance
ranking). When handing it over, state the period used for the assessment and the deteriorating metrics
3. Measurement — at the next aggregation, retrieve the same metrics with the same thresholds again; judge
Keep if they improved and Investigate if the deterioration continues

What you can change — the aggregation unit (weekly / monthly) and the thresholds for judging deterioration (sales and shipped units / subscription count / penetration). The target period is the most recent finalized period that the tool selects automatically.

What you get back — for the aggregation unit you specify: the whole-period comparison, the latest-period comparison, and whether there is deterioration across 2 consecutive periods, for subscription count, SnS sales, shipped units, and SnS penetration. SnS penetration is returned as a percent value as-is, e.g. “44.0 = 44%” (it is not a decimal ratio). Because the denominator (the total sales that SnS is measured against) cannot be retrieved, a drop in penetration alone is not treated as proof that “SnS is shrinking.”

Changes — read-only (analysis only). No settings are changed.

Next steps — to fold the trend into a recurring monthly report, use Create reports.


Prompt 3: Rank the top SnS products by sales

Section titled “Prompt 3: Rank the top SnS products by sales”

List the products with the largest SnS sales from the top down, with sales, subscription count, shipped units, and share of total. This shows which products are the pillars of your subscription revenue.

When to use — when you want to grasp which products are the pillars of your subscription revenue.

What you need — the number of items to show (e.g. top 5). The account name.

Goal: to identify the products driving Subscribe & Save (SnS) sales and decide where promotion and
inventory work should go first, list the top {{number of items (e.g. 5)}} products by sales with the
metrics below.
Metrics: SnS sales (revenue) / subscription count (subscriptions — a count of subscriptions, not of people) /
shipped units (shipped_units) / share of sales (revenue_penetration) / prior-period comparison
(revenue_change).
Distinguish null as "N/A (no prior-period data)", "--" as "cannot be calculated", and 0 as "zero
performance", and do not mix products with no data into the ranking as if their sales were 0.
Steps:
1. Call list_sns_products with sort_key=revenue, sort_order=desc.
2. This tool returns rows at the "ASIN x SKU" level, and the same ASIN can appear more than once across
SKUs (duplicate rows are the same performance listed twice, not an allocation of it).
**Consolidate by ASIN before finalizing the ranking.**
At the top of your answer, state the number of returned rows (SKU level), the actual number of ASINs,
and the number of duplicate rows removed by consolidation.
3. Confirming you retrieved everything: this tool has no row-limit or paging parameter, and it does not
return a separate total count alongside the returned rows, so truncation cannot be detected from the
response alone.
**Call get_sns_trend for the same period and the same comparison period, and confirm full retrieval by
reconciling the account-level revenue and subscriptions against the per-product totals after ASIN
consolidation.** If they do not match, state the size of the gap and that the ranking cannot be finalized.
4. State the target period and comparison period at the top of your answer exactly as the tool returned
them in from_date / to_date / compare_from_date / compare_to_date (they are selected automatically when
unspecified). Do not use a period that includes the current, not-yet-finalized day.
Constraints: adding guesses or your own interpretive commentary is prohibited. Use only the values the tools
return. Write operations are prohibited, and proposals are executed only after going through the approval
flow.
Scope of the assessment: judge the prior-period comparison **only within the top {{number of items (e.g. 5)}}**.
A product whose sales fell sharply has small sales in the current period, so structurally it does not enter
the top N by sales. Identifying the products contributing to an account-wide decline is out of scope for
this prompt — hand it to Prompt 1 (Identify SnS movement and the products driving it).
Account: {{ACCOUNT_NAME (e.g. 7 Toyo Beverage)}}
Finally, output the following three points.
1. Recommended actions — within the top N, show products up more than +10% versus the prior period for
promotion reinforcement (prioritize securing inventory for those with a high share of sales), and
products down more than -10% for driver investigation (stockout / increased cancellations / listing
eligibility), in priority order.
If there are none, state "none apply" explicitly (do not force candidates into existence).
2. How to execute — hand driver investigation to Prompt 4 (Drill into one product monthly, with per-SKU
discount settings), and identifying the products contributing to an account-wide decline to Prompt 1
(Identify SnS movement and the products driving it).
3. Measurement — re-run 4 weeks later and judge Keep/Investigate from the rank movement and the improvement
or deterioration of the prior-period comparison.
For reproducibility, record this run's target period and comparison period as the baseline.
As a guardrail, also confirm that subscription count and shipped units have not deteriorated.

What you can change — the number of items; the account name.

What you get back — a table of ASIN × SnS sales × subscription count (a count of subscriptions, not of people) × shipped units × share of SnS sales × prior-period comparison (consolidated by ASIN, with duplicates removed). null is distinguished as “N/A (no prior-period data)”, -- as “cannot be calculated”, and 0 as “zero performance”.

Changes — read-only (analysis only). No settings are changed.

Next steps — to look at this through the number of subscriptions left undelivered because of a stockout, use Prompt 5 of Manage inventory and sales opportunities. It pairs with restock decisions.


Prompt 4: Drill into one product monthly, with per-SKU discount settings

Section titled “Prompt 4: Drill into one product monthly, with per-SKU discount settings”

Pick one product you care about and review its monthly trend along with the Subscribe & Save offers for each of its SKUs (how the discount rates are configured).

When to use — when you want to check a specific product’s monthly trend together with its per-SKU discount settings.

What you need — the target ASIN (e.g. B08N5WRWNW). Specify the analysis period and the thresholds for penetration and discount rate if you want to change them.

Goal: check the Subscribe & Save (SnS) performance and discount settings for
{{target ASIN (e.g. B08N5WRWNW)}} and decide whether the discount rates need to be revisited.
Steps:
1. First check the data ingestion status. Do not treat unfinalized months (fully_missed / in_progress) as
the final point of the trend — target only through the most recent finalized month, and say so explicitly.
2. Show the monthly SnS performance for the target ASIN (subscription count, SnS sales, SnS penetration,
shipped units) over {{analysis period (e.g. the last 3 months)}}. State explicitly that performance is
aggregated at the ASIN level (it is not allocated down to the SKU level).
3. For every SKU under the target ASIN, list the offer status (eligibility), base discount rate, and tiered
discount rate. Always distinguish "0%" from "not set" in how you write the discount rate, and never write
"not set" as 0%.
Criteria (judge everything from your own data; competitors' SnS discount rates cannot be retrieved by any
means, so do not include them in the criteria):
- SnS penetration is below {{penetration threshold (e.g. under 30%)}}
- The base discount rate is below {{discount rate floor (e.g. under 5%)}}, or no tiered discount is set
- eligibility is something other than ELIGIBLE (INELIGIBLE / SUSPENDED) and the SnS offer is not effectively
running
Finally, output the following three points.
1. Recommended actions — show the SKUs that meet the criteria, with priority (execution goes through the
approval flow; do not write anything)
2. How to execute — check whether a means of changing the discount rate exists in the current tools, and if
it does not, state "not available" explicitly and point to where it is done manually
3. Measurement — if you made a change, retrieve SnS sales and penetration again on
{{evaluation date (e.g. 4 weeks after execution)}} and confirm the improvement
When nothing applies, state "0 items apply" explicitly, and check the data retrieval status before
concluding that performance is zero.

What you can change — the target ASIN / the analysis period (e.g. the last 3 months) / the penetration threshold (e.g. under 30%) / the discount rate floor (e.g. under 5%) / the evaluation date.

What you get back — the product’s monthly SnS performance (subscription count / SnS sales / SnS penetration / shipped units, aggregated at the ASIN level and not allocated down to SKUs), plus a list of offer status, base discount rate, and tiered discount rate per SKU (with a discount rate of “0%” written distinctly from “not set”). Any SKUs meeting the criteria are shown with priority.

Changes — read-only (analysis only). This is display only — no discount rate is changed. Make setting changes in Seller Central.

Next steps — to change a discount rate or offer setting, do it manually in Seller Central (it cannot be changed from Picaro).


Prompt 5: View SnS subscribers and new-customer share side by side

Section titled “Prompt 5: View SnS subscribers and new-customer share side by side”

“Subscribe & Save subscriptions went up” and “new customers went up” are two different things. This puts the two side by side without confusing them, so you can separate whether the growth in subscriptions came from new-customer acquisition or from existing customers moving to a subscription.

When to use — when you want to separate whether subscription growth came from new-customer acquisition or from existing customers moving to a subscription.

What you need — nothing (use as is).

Goal: to grasp the Subscribe & Save (SnS) subscription count and the new-customer ratio correctly, as two
separate metrics, and decide whether subscription messaging toward new customers should be reinforced, do
the following.
■ Premises (required checks that prevent confusing the metrics)
- SnS subscription count = subscriptions from get_sns_trend. **A snapshot as of the end of the period, not
a period total.** Do not add it up across months.
- New-customer ratio = ntb_share_of_total_pct from get_amc_new_customer (= new_customers ÷ total_customers.
Unique-customer basis, brand-wide, independent of advertising. It is already multiplied by 100 into a
percent value on the BE side, so do not rescale it).
- ntb_pct from get_amc_ntb_by_asin has a **different definition** (= ntb_purchases ÷ total_purchases.
Purchase-count basis, ad-attributed only). Use it only when you need a per-ASIN breakdown, and **do not
place it beside or compare it with the new-customer ratio above as if it were the same metric**.
■ Steps
1. Run get_amc_new_customer (account: {{ACCOUNT_ID}}) and record selected_run_id, report_start_date,
report_end_date, and selected_row_count/returned_row_count. This tool **has no period argument and is
fixed to month (report_month)**; only the months included in the latest run are covered. If you lack AMC
permission (403 and so on), state that and stop.
2. Look at report_end_date and **exclude any month that has not reached its month end (a partial month)**.
Do not read a decline in a partial month as a decline in performance.
3. Check the ingestion status for the target months with get_data_ingestion_status (frequency=monthly) and
exclude months whose rollup_status is fully_missed / no_data.
4. Run get_sns_trend with frequency=monthly, and set from_date/to_date to a range covering **only the
finalized months** left after steps 2-3. **A month where revenue or subscriptions is 0 is far more likely
to be un-ingested than a genuine zero.** If a 0 row appears, reconcile it against the result of step 3,
and if it is un-ingested, exclude it rather than counting it as 0.
5. For the finalized months that remain, put month / SnS subscription count (subscriptions) / new-customer
ratio (ntb_share_of_total_pct) / new customers (new_customers) / total customers (total_customers) side
by side in a single table. Always make the metric name and its basis (snapshot, unique-customer basis,
and so on) explicit in the column names.
6. Only when you need a per-ASIN breakdown, run get_amc_ntb_by_asin and check whether the run_id can be
aligned with step 1 (if it cannot, say so). Rows whose asin is "below_reporting_floor" are an
**aggregate bucket below the privacy threshold** — they are neither 0 nor missing. Do not exclude them;
state their count and purchase share as "not disclosed".
Constraints:
- Filling gaps by guessing or with substitute metrics is prohibited. If something cannot be retrieved,
state the reason.
- Always state how many months you retrieved out of the total, and which months you excluded and why, and
do not claim this is "the new-customer ratio for the whole period".
- The new-customer ratio can also rise because the denominator (total_customers) shrank. Alongside the
ratio, also give the absolute change in new_customers and say which of the two is the cause.
- If processing does not respond for a while (roughly 2-3 minutes), do not keep waiting — report the
situation and then re-run.
Account: {{ACCOUNT_NAME (e.g. 7 Toyo Beverage)}}
Finally, output the following four points.
1. The side-by-side table — with the excluded months and the reasons for excluding them
2. Recommended actions — if the new-customer ratio is trending up while the SnS subscription count is flat
or falling, propose reinforcing messaging aimed at new customers. If the rise in the ratio comes from a
shrinking denominator, always say so
3. How to execute — track the messaging proposal after execution with "measuring an initiative's impact"
4. Measurement — after the next AMC run update (roughly 4 weeks later), retrieve both metrics again at the
same granularity and from the same run, and confirm the direction of the change in both the ratio and
the absolute figures

What you can change — the account name. The target period is whatever the latest AMC run covers and cannot be specified (the months retrieved and the months excluded are shown in the output).

What you get back — a table placing, for each finalized month, the SnS subscription count (a count of subscriptions, as a snapshot at the end of the period) beside the new-customer ratio (ntb_share_of_total_pct, unique-customer basis), the number of new customers, and the total number of customers. It also states whether a rise in the new-customer ratio comes from an increase in the absolute number of new customers or from a shrinking total customer count (the denominator). The number of months retrieved, and the months excluded and why, are stated explicitly.

Changes — read-only (analysis only). No settings are changed.

Next steps — to look deeper at new customers (NTB) and repeat purchases, use Analyze cross-ad customer behavior with AMC.