Amazon Variation Coverage Change Audit avatar

Amazon Variation Coverage Change Audit

Pricing

from $20.00 / 1,000 audit completeds

Go to Apify Store
Amazon Variation Coverage Change Audit

Amazon Variation Coverage Change Audit

Compare two dated parent-child ASIN exports to find missing variation combinations, duplicate child ASINs and broken SKU mappings.

Pricing

from $20.00 / 1,000 audit completeds

Rating

0.0

(0)

Developer

Practical AI Lab

Practical AI Lab

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Security

Limited permissions

Share

Compare two dated exports of your own parent-child ASIN data and get a ranked list of variation problems:

  • missing variation combinations (for example Blue / L has no child although Blue and L both exist)
  • combinations that existed in the older export and are gone now
  • duplicate child ASINs and duplicate variation combinations
  • broken SKU mappings (one SKU on several ASINs, a SKU re-pointed to another ASIN, missing SKUs)
  • child ASINs that are absent from the current sample versus confirmed deleted

The Actor works only on the text you paste in. It does not contact Amazon, log in anywhere, or use proxies.

Absent sample is not a deleted listing

A child ASIN missing from the newer export can mean many things. This Actor never guesses:

DispositionMeaningConfidence
confirmed_deletedCurrent export shows a deleted-type status, or you listed the ASIN in confirmedDeletedAsinsstatus_column / user_confirmed
absent_from_current_sampleParent is still in the current export, child is notunconfirmed
parent_not_in_current_sampleThe whole parent family is missing, usually a scope or sampling differenceunconfirmed

Input

Required: baselineDate, currentDate (YYYY-MM-DD, baseline earlier), and one export per snapshot as CSV text (baselineCsv, currentCsv) or JSON rows (baselineRows, currentRows).

Columns are matched by name (case and punctuation ignored): parent_asin, child_asin (or asin), optional sku, optional status, and your variation columns. Comma, tab and semicolon separators work.

Copyable example:

{
"baselineDate": "2026-10-01",
"currentDate": "2026-10-15",
"baselineCsv": "parent_asin,child_asin,sku,color,size,status\nB0PARENT01,B0CHILD001,SKU-RED-S,Red,S,active\nB0PARENT01,B0CHILD002,SKU-RED-M,Red,M,active\nB0PARENT01,B0CHILD003,SKU-BLU-S,Blue,S,active\nB0PARENT01,B0CHILD004,SKU-BLU-M,Blue,M,active",
"currentCsv": "parent_asin,child_asin,sku,color,size,status\nB0PARENT01,B0CHILD001,SKU-RED-S,Red,S,active\nB0PARENT01,B0CHILD002,SKU-RED-M,Red,M,deleted\nB0PARENT01,B0CHILD003,SKU-BLU-S,Blue,S,active\nB0PARENT01,B0CHILD007,SKU-BLU-S,Blue,L,active",
"variationDimensions": ["color", "size"]
}

Other options: deletedStatusValues, confirmedDeletedAsins, maxGridCombinationsPerParent, includeInfoFindings, maxFindings, maxRowsPerExport.

Output

The dataset starts with one audit_summary row (counts, warnings, caveats), followed by findings sorted by severity. Each finding has findingType, severity, snapshot (baseline, current or comparison), ASIN/SKU/combination fields, disposition, confidence, detail, evidence and a suggested check. The summary is also stored under the key SUMMARY in the key-value store. Row numbers in evidence count data rows, starting at 1 after the header.

Pricing event

The code emits one pay-per-event event, audit-completed, after a finished audit has been written. Runs that fail on invalid input are not charged. Current pay-per-event prices are shown in the Store Pricing tab.

Limitations and sample-size caveats

  • Results are only as good as the two exports. Different filters, marketplaces or catalogue slices between exports create false absences. The summary warns when row counts differ by more than about 25% or fewer than 80% of baseline parents reappear.
  • The expected variation grid is inferred from values seen on the current children of a parent. A value missing from all children cannot be detected, and a deliberately sparse catalogue (not every colour comes in every size) will produce gaps that are intentional.
  • Grids larger than maxGridCombinationsPerParent are skipped, and the Actor reports that.
  • Parents with only a few children give weak evidence; treat gap findings as prompts for checking, not as errors.
  • One child ASIN with several SKUs is reported as low severity because it can be legitimate.
  • ASIN validation checks only for ten letters or digits. It does not prove the ASIN exists.
  • Values are compared after lower-casing and whitespace collapsing; spelling variants such as Grey and Gray count as different values.
  • No data is verified against Amazon, so deletion is only reported as confirmed from your own status column or list.
  • Memory use grows with export size; the default limit is 50,000 rows per export (adjustable up to 200,000).

Local tests

The unit tests run offline: python -m unittest discover -s tests.