ClearStock is live on the Shopify App Store.Install free →

← All blogs

Guides9 min read

Analyzing your inventory CSV with an AI assistant: what works and what bites

A workflow for analyzing Shopify inventory CSVs with an AI assistant: which exports to pull, a prompt template that survives, and the failure modes.

InventoryX is in development and not available today. ClearStock is the live Shopify app.

An AI assistant will rank what's about to run dry from one Shopify export in about thirty minutes, and the same response can invent numbers that were never in your file. Both halves arrive in the same output, which is why verification is the actual skill. The assistant is genuinely good at the arithmetic you'd otherwise build by hand. It is also — with complete confidence and no asterisk — capable of inventing numbers, dropping rows without notice, and redefining the metric mid-answer. This guide covers which exports to pull, a prompt template that keeps the assistant from inventing, a worked days-of-cover example, and the four failure modes you verify for.

What AI does in inventory overall — the vendor landscape, what "AI-powered" claims mean, and the questions to ask before buying any of it — is covered in the AI inventory management guide. This piece is the hands-on version: your own export, your own assistant, your own verification.

What an AI assistant is actually good at here

Treat the assistant as a fast junior analyst with three quirks: it works free and instantly, it never says "I don't know," and it can't see anything you didn't paste. Within those limits, four jobs are squarely in its wheelhouse:

  • Row-by-row arithmetic. Compute a sell rate and days of cover for every SKU, sorted, formatted — the kind of repetitive formula work that takes an hour of spreadsheet setup and ten seconds of paste.
  • Restructuring and ranking. "Sort by fastest burn relative to stock" or "group these 1,400 rows by product type" is where assistants beat formula-wrangling for speed.
  • Explaining a column or a weird row. A mystery negative quantity or an unfamiliar export header gets a plain-language reading in seconds.
  • Drafting artifacts. A count sheet layout, a CSV cleanup script, a checklist — structured drafts you edit rather than write from scratch.

Everything that requires judgment — reorder points, whether a number is trustworthy, what to actually buy — stays yours. The assistant doesn't know your lead times, your cash position, or that one customer bought half your standing stock, and it won't warn you that it doesn't.

Pull the right export first

Two files cover most of the analysis you'll want:

  • The product/inventory CSV — exported from the products section of the admin — gives you SKU, title, variant, cost (if you track it), and available inventory per location. This is the stock snapshot (Shopify Help Center, product CSV export, accessed November 2026).
  • A sales report — sales by product over your chosen window — gives you the demand side (Shopify Help Center, reports and analytics, accessed November 2026). The inventory CSV is a photograph of today; it contains no sales history, and without units sold, no velocity metric is possible.

Include per-unit cost in the export if you want margin-weighted output; the assistant can rank by dollars at risk instead of just units. And decide the window before exporting — 60 or 90 days is the usual working range for small catalogs, long enough to smooth weekly noise, short enough to reflect the current assortment. One precondition sits upstream of both files: the snapshot is only as accurate as your last count, and Shopify's stock counts are what keep that "available" column close enough to the shelf for the arithmetic to mean anything.

A worked example: days of cover in three rows

The metric most worth computing is days of cover — how long current stock lasts at the current sell rate. Say the assistant receives three rows from a dog-harness-and-accessories store, illustrative numbers:

SKU Available Sold, last 60 days Sell rate/day Days of cover
HARNESS-M-06 34 96 1.6 21
STAND-PH-11 120 90 1.5 80
PIN-EN-047 500 12 0.2 2,500

The arithmetic, shown once so you can spot-check any row:

HARNESS-M-06: 96 ÷ 60 = 1.6/day, then 34 ÷ 1.6 = 21.25 → 21 days of cover STAND-PH-11: 90 ÷ 60 = 1.5/day, then 120 ÷ 1.5 = 80 days PIN-EN-047: 12 ÷ 60 = 0.2/day, then 500 ÷ 0.2 = 2,500 days — about seven years, which is the machine politely flagging your dead stock.

Three details separate a correct table from a subtly broken one. A SKU with zero sales in the window has no data, not zero days of cover — an assistant that divides by zero or prints "infinite" without flagging it is guessing. A SKU whose window contains one bulk order shows a wildly inflated rate — isolate that before trusting the number, and the fix lives in the bulk-buyer velocity correction. And the harness row at 21 days only means "urgent" once you overlay your own lead time — cover is an input to the decision, not the decision, which is what the reorder point math is for.

A prompt template that survives real data

Most bad AI-analysis outcomes trace to vague prompts. This one is built to fail loudly instead of silently — adapt the column names to your export:

You are helping with inventory arithmetic. Attached is a CSV of my Shopify inventory.

Columns: sku, title, available, sold_60d, unit_cost.

Do exactly this, nothing else:
1. For every row, compute sell_rate = sold_60d / 60 (units per day).
2. Compute cover = available / sell_rate. If sell_rate is 0, print "no data"
   — do not print 0, infinity, or an estimate.
3. Return one markdown table sorted ascending by cover: sku, sell_rate, cover.
4. First, report the number of rows you received and the number you returned.
   If any row is missing a value, list it under "MISSING" instead of guessing.
5. Do not invent, estimate, or interpolate any number. If a value or column
   is ambiguous, ask me rather than assuming.

Step 4 is the one that catches truncation — long exports get truncated without warning, and a row-count confession surfaces that immediately. Step 5 is the one that catches fabrication: assistants will happily "fill in" a blank unit cost to keep the table complete unless told not to. A real catch looks like this:

Your file: SOCK-MER-M-09, unit cost — (blank) Assistant output: SOCK-MER-M-09 | 14 days of cover | $4.50 unit cost

That $4.50 appears nowhere in your file; the assistant supplied it to keep the row tidy, and every downstream number that touches it inherits the invention.

The four ways it bites

  • Fabricated precision. The failure that makes AI inventory analysis infamous: a confident number with no source row. Ask the assistant to quote the raw values it used for any calculation you intend to act on — if it can't trace a figure to your file, it made it up. This is also the core criticism of packaged AI inventory tools: a 3★ review of Prediko from September 2026 calls its prediction method "a black box… I actually built a more useful/customized tool just with spreadsheets and ChatGPT for effectively $0" (Prediko App Store listing, accessed November 2026). The DIY route's real advantage is that nothing is a black box — every number the assistant used is visible in your own export. The packaged analytics route has its own churn evidence: Assisty's is reviewed in the Assisty alternatives guide.
  • Silent truncation. Feed a 3,000-row file and the model may process a fraction of it without announcing anything. Hence the row-count step, and hence the practice of splitting very large exports into chunks.
  • Metric drift. You asked for days of cover; somewhere in the middle, the answer starts quoting weeks, or averages across variants in ways you didn't specify. The countermeasure is cheap: make the assistant state its formulas back before showing results, then read those formulas.
  • Window blindness. The assistant knows only what's in the file. It doesn't know your supplier's lead time, an incoming PO, a scheduled promotion, or that three of those 500 pins are water-damaged. Every output is conditional on that ignorance — treat the table as arithmetic about the past, and add the forward-looking context yourself.

Verify before you act

A two-minute verification routine turns AI output from plausible to dependable:

  • Check the row count. Rows received versus rows returned, stated by the assistant. Any gap means truncation or dropped rows.
  • Hand-check three rows. Pick three SKUs — one fast, one slow, one with a missing value — and redo the math in your spreadsheet. If those three match, the formulas held; if not, nothing else in the table should be trusted. The same four-check habit applies to reorder suggestions from any source — the checklist lives in the reorder spot-check guide.
  • Recompute the totals. Ask for sums you can verify: total units, total inventory value at your cost. A fabricated row almost always breaks the total.
  • Demand the trace. For any number you'll act on, ask "which CSV cells produced this?" Untraced numbers don't go into purchase orders.
  • Keep the decision math outside the chat. Reorder points need your lead times and safety stock policy; the assistant can apply them only if you paste them, and it won't remind you it lacks them.

Common questions

Can an AI assistant analyze my Shopify inventory CSV? Yes, for arithmetic and ranking — days of cover, velocity, margin-weighted risk lists — provided you paste the export and verify the output. It can't see your store live, it works only from what you upload, and it will fabricate or drop data under pressure, so the row-count and hand-check steps aren't optional.

What should I export to start? A product/inventory CSV from the admin for the stock snapshot, plus a sales-by-product report for demand over your analysis window. Include per-unit cost if you want dollars-at-risk rankings. The inventory CSV alone has no sales history and can't produce velocity.

Why did the AI get different numbers than my spreadsheet? Usually one of three causes: truncated rows it didn't report, a redefined metric (weeks instead of days), or an invented value filling a gap in your file. Ask it to report row counts and state its formulas, then hand-check three rows against your spreadsheet.

Is this safe for reorder decisions? As a first pass, yes; as the final word, no. Cover numbers need your lead time and safety policy on top, and they need clean velocity — one bulk order in the window distorts the rate. Verify, add context the assistant can't see, then decide.

Do AI inventory apps do this automatically? They package the pipeline, which saves setup but trades away visibility — reviewers of AI forecasting tools describe black-box methods that a spreadsheet-and-ChatGPT setup beat on transparency and cost. If you go packaged, ask vendors exactly which inputs drive their suggestions.

Next step

Export your product CSV and a 60-day sales report today, run the prompt template above, and hand-check three rows before you believe the table. When the numbers look right, the two moves that follow are reading the short-cover SKUs against your days-of-cover math and, for anything the table flags as seven-year stock, the dead stock clearance playbook.