Skip to content

Customer Product Matrix

Menu Location: Customers > Reports > Customer Product Graph (also listed as "Product Substitution Report")

Last Updated: 2026-07-26


Overview

The Customer Product Matrix is an experimental report for looking at one customer's recent order history and seeing, product by product, what they kept as-is, what got substituted, and by whom (the customer or the system). It was built to explore an upcoming feature for auto-setting customer preferences, and is explicitly labeled on the page as experimental, with no guarantee it is fully accurate yet.

Primary Functions:

  • Look up a single customer by Customer ID
  • See a table of every product that appeared in their orders over a chosen number of weeks
  • See, order by order, whether each product was kept as-is, subbed in by the customer, subbed in by the system, or purchased as an addon
  • Jump from any order column straight to that order's detail page

Page Layout

Header Section

  • Customer ID - numeric field, required
  • Weeks Back - numeric field, 1 to 52, defaults to 6
  • Load Matrix button - submits the form and builds the table

Data Table

  • Product column - one row per product (sticky on the left as you scroll)
  • One column per order in the selected window, labeled with the delivery date and order number, linking out to that order's detail page
  • Status circle per cell - shows the product's status on that order, or is blank if the product wasn't part of that order
  • Totals line under the table: Total Orders and Total Products for that customer in that window

Understanding the Color Coding

The table covers base menu items (type 0) and addons (type 1). Each cell shows a colored circle:

  • Green - the customer subbed this item in
  • Blue - the system subbed this item in
  • Red - this item was in the order but got replaced by something else (shown the same way whether the customer or the system made the swap)
  • Grey - item was in the order with no substitution
  • Orange - addon item purchased
  • Empty cell - item wasn't part of that order

Using the Product Matrix

Step-by-Step:

  1. Enter the Customer ID
  2. Set Weeks Back if you want a longer or shorter window than the default 6 weeks (max 52)
  3. Click Load Matrix
  4. Read down a product's row to see its status across that customer's orders in the window
  5. Click a column's date or order number to open that order's detail page
  6. Check the Total Orders / Total Products line under the table for a quick count

Reading a Row:

  • All grey or empty cells - this product has never been substituted in or out for this customer in the window
  • Mostly red - this product keeps getting replaced for this customer
  • Mostly green or blue - this product keeps getting subbed in for this customer

Common Use Cases

Use Case 1: Check a Customer's Order Before It Ships

Goal: Confirm a customer's upcoming order matches what they actually want

Steps:

  1. Open Customer Product Matrix
  2. Enter the customer's Customer ID
  3. Set Weeks Back to cover enough order history (e.g. 12-26 weeks)
  4. Click Load Matrix
  5. Note products that are consistently grey (kept) versus consistently red (replaced) for this customer
  6. Compare against their current, unshipped order
  7. Adjust the order manually if it doesn't match their pattern

Use Case 2: Win-Back a Cancelled Customer

Goal: Re-engage a cancelled customer using products they actually kept

Steps:

  1. Open Customer Product Matrix for the cancelled customer's Customer ID
  2. Set Weeks Back high enough to cover their active period (up to 52)
  3. Click Load Matrix
  4. Look for products that stayed grey the whole time (never substituted out)
  5. Reference those products in a win-back email

Use Case 3: Review a New Customer's Early Orders

Goal: See how a brand-new customer is responding to their box defaults

Steps:

  1. After a customer has a couple of orders, open the matrix for their Customer ID
  2. Leave Weeks Back at the default (6), or set it to match how long they've been a customer
  3. Click Load Matrix
  4. See which box defaults they're keeping (grey) versus already swapping (red/green/blue)

  • Customers - Main customer search and list
  • Customer Detail - Individual customer account
  • Products - Product management
  • Love/Hate Report - Store-wide product preference report
  • Product Sold History - Product sales over time

Troubleshooting

No Data Shown

Messages you may see:

  • "Customer not found." - the Customer ID doesn't match an existing customer
  • "No orders found for this customer in the specified date range." - the customer has no non-cancelled orders delivered inside the Weeks Back window

Check:

  1. The Customer ID is correct
  2. Weeks Back is large enough to reach their order history (try increasing it, up to 52)
  3. The customer has delivered or scheduled orders in that window (cancelled orders are excluded)

Table Is Hard to Read

A larger Weeks Back value adds a column per order, so the table can get wide.

Solutions:

  1. Reduce Weeks Back to narrow the window
  2. Scroll the table horizontally, it scrolls within its own container

Colors Don't Match What You Expected

  1. Green and blue only apply to base menu items, not addons
  2. Orange marks addon purchases and doesn't overlap with the green/blue/red logic
  3. Red is used whether the swap was made by the customer or automatically by the system, not only for customer-initiated changes

FAQs

What counts as a "substitution"?

A base menu item where what the customer ended up with differs from what was originally scheduled for that box slot, whether the customer changed it or the system did.

Does the matrix distinguish customer versus system substitutions?

Yes. Green means the customer subbed the item in, blue means the system subbed the item in. Red marks whatever got replaced, either way.

How far back can I look?

Weeks Back accepts 1 to 52. It defaults to 6 weeks if left blank.

Can I view multiple customers at once?

No. The report always shows one Customer ID at a time.

Why is a cell blank for some orders?

That product wasn't part of that particular order.

The table has too many columns to read easily, what do I do?

Lower Weeks Back, or scroll the table horizontally.

Is the data live?

Yes. The table is built from that customer's orders each time you submit the Customer ID and Weeks Back.

Can I see why a customer substituted something?

No. No reason or comment is captured or shown on this report.


Quick Reference Card

Task Action/Location
Load a customer's matrix Enter Customer ID, set Weeks Back, click Load Matrix
Change the lookback window Weeks Back field (1-52, default 6)
Open an order Click its date or order number in the column header
Check totals Read the line under the table (Total Orders / Total Products)
Read a cell Match its color to the legend at the top of the page

Best Practices

  1. Set Weeks Back wide enough to see a real order history before drawing conclusions from a row
  2. Cross-check a customer's current, unshipped order against their pattern before changing it
  3. Treat this as an experimental report, it's not guaranteed to be fully accurate yet

End of Documentation

For additional help, contact your system administrator or Kiva Logic support.