Analyst IQ

Verified retail analytics, explained.

Loading your workspace…

Retail analytics · KPIs · AI insights

Data Sources

Upload sales files. Every row is validated before anything is written.

Import sales data

One row per order line. CSV (UTF-8) or Excel .xlsx; dates as YYYY-MM-DD.

Drag a file here, or

When importing
File format and validation rules
  • Required columns: order_id, order_date, store_id, channel, product_sku, product_name, category, quantity, unit_price, unit_cost, status
  • Optional: line_number, discount_amount, customer_id, customer_segment, customer_region, store_name, store_region
  • channel: in_store, online, marketplace · status: completed, cancelled, returned.
  • Money uses plain numbers with at most 2 decimals; discount_amount is an absolute amount per line.
  • If any line of an order is invalid, the whole order is rejected — orders are never imported partially.
  • When adding, orders that already exist are never overwritten and the same file twice is refused.
  • When replacing, a file with no valid orders is refused and your existing data stays as it was.
  • Excel formulas and macros are never executed; .xlsm files are not accepted.

Import history

Every attempt is recorded, including rejected and failed imports.

Demo dataset: run python -m app.cli seed in backend/ to load the synthetic sample (Jan 2025 – Jun 2026).