Blog · Board and management reporting
Customer behavior analysis describes purchasing frequency, product mix, and the gaps between orders. Build those measures from an approved sales export, reconcile the totals, and use the findings to guide account questions.
Customer behavior analysis describes what customers do in your sales records: how often they order, which products they buy, and how long they leave between purchases. Start with a consistent order export and calculate those measures for each customer. Use the results to ask better account questions, without treating recorded purchases as proof of intent or satisfaction.
Choose a completed reporting period and decide who belongs in the review. A sales-only export contains buyers, so a customer missing from it might be inactive, newly assigned, or absent because of a mapping error. Bring the approved customer list if the question includes customers with no orders.
For this example, a US commercial supplier reviews January 1 through March 31, 2026. It includes every completed order for the customers shown. Values are net of discounts, there are no returns in these rows, and every amount is USD.
The objective is descriptive: compare purchasing frequency, category mix, and observed order gaps. Profitability requires cost information as well; the separate cost-to-serve calculation handles that next question.
The source needs customer ID, order ID, order date, product category, and net sales. Keep stable customer IDs even if account names change. Confirm the date represents the business event under review; do not mix order dates and invoice dates across customers.
An export often has one row per order line. Sum line values by order before counting order frequency. For product mix, retain a separate category summary when an order spans categories. Otherwise one mixed order can become several apparent purchases.
The example below has one category per order, so the same rows support both calculations. Put them on a sheet named Orders, with customer, date, category, and net sales in columns A through D. These are the complete example records, sorted by customer and date.
| Customer | Order date | Category | Net sales (USD) |
|---|---|---|---|
| A | January 5, 2026 | Supplies | 1,000 |
| A | January 20, 2026 | Equipment | 2,000 |
| A | February 19, 2026 | Supplies | 1,500 |
| B | January 10, 2026 | Supplies | 800 |
| B | February 9, 2026 | Supplies | 1,200 |
| C | January 15, 2026 | Equipment | 3,000 |
| Total | 9,500 |
Before proceeding, compare the total with the same completed-order population in the approved export. A ledger reconciliation may require a bridge for timing differences between ordering and invoicing; do not silently treat them as the same event.
Create a summary with customer IDs A, B, and C in H2:H4. Use I for orders, J for net sales, K for average order value, and L for supplies share. In Google Sheets, enter these formulas in row 2 and fill down:
=COUNTIFS(Orders!$A$2:$A$7,H2)
=SUMIFS(Orders!$D$2:$D$7,Orders!$A$2:$A$7,H2)
=IF(I2=0,"",J2/I2)
=IF(J2=0,"",SUMIFS(Orders!$D$2:$D$7,Orders!$A$2:$A$7,H2,Orders!$C$2:$C$7,"Supplies")/J2)
Google's COUNTIFS documentation describes counting rows that meet criteria. Here rows equal orders only because the export has already been reduced to one row per order. Google's SUMIFS documentation covers summing values by customer and category criteria.
| Customer | Orders | Net sales (USD) | Average order value (USD) | Supplies sales (USD) | Supplies share |
|---|---|---|---|---|---|
| A | 3 | 4,500 | 1,500.00 | 2,500 | 55.6% |
| B | 2 | 2,000 | 1,000.00 | 2,000 | 100.0% |
| C | 1 | 3,000 | 3,000.00 | 0 | 0.0% |
| Total | 6 | 9,500 | 1,583.33 | 4,500 | 47.4% |
The overall average is 9,500 / 6 = $1,583.33, not the average of customer averages. Supplies share is 4,500 / 9,500 = 47.4%. Dollar averages are rounded to cents and percentages to one decimal place; calculations retain full precision.
Customer B bought only supplies in this window. That is evidence of observed product mix, not proof that B has no equipment need. Use the cross-sell matrix method when you need a broader category comparison rather than extending this finding into an assumption.
On Orders, add gap days in E. In E2, enter the formula below and fill down. The customer sort prevents a gap from crossing account boundaries.
=IF(A2=A1,B2-B1,"")
In the customer summary, calculate average observed gap in M2:
=IF(I2<2,"",SUMIFS(Orders!$E$2:$E$7,Orders!$A$2:$A$7,H2)/(I2-1))
| Customer | Completed gaps (days) | Gap count | Total gap days | Average observed gap (days) |
|---|---|---|---|---|
| A | 15, 30 | 2 | 45 | 22.5 |
| B | 30 | 1 | 30 | 30.0 |
| C | None | 0 | 0 | Not available |
Customer A's average is (15 + 30) / 2 = 22.5 days. Customer C has no completed interval, so its average is unavailable. A blank is more accurate than zero, which would imply immediate repeat purchasing.
This measure covers intervals with both orders inside the window. It excludes the unfinished interval after the last order and any earlier order outside the export. Extend the history when the account's normal buying cycle requires it, and keep that history length consistent across comparisons.
Covirage is not affiliated with Google.
Assign the sales operations analyst ownership of the calculations and the account owner responsibility for investigating changes. A category shift may justify checking a contract or discussing an upcoming project. A longer order gap may justify reviewing expected purchasing dates. Neither finding establishes a reason without additional evidence.
Repeat the measures over comparable completed periods using unchanged definitions. For a revenue-focused follow-up, use customer revenue analysis. For a customer with a missing expected purchase, the lost customer review template separates the transaction timeline from the explanation supplied later.
Upload your approved sales file or Google Sheet to Covirage. Covirage maps the columns; its tools compute and check purchasing measures, and the external AI model explains the results with every figure traced to its rows. Create a free Covirage account and bring a sample of your own data.
See sales insights for the supporting account analysis context.
For purchasing analysis, start with customer ID, order ID, order date, product category, and net sales. Retain return and cancellation indicators. Consistent IDs and dates matter more than extra fields because duplicate orders or changing customer mappings can distort every comparison.
Sales data can show the last recorded order, the prior purchasing cadence, and which categories changed. It cannot establish the reason for stopping. Use those facts to prepare an account review, then document any explanation supplied by the customer or account owner.
Behavior analysis measures patterns and investigates changes. Segmentation applies defined rules to place customers into groups. Analyze the purchasing evidence first, then use a separate segmentation policy if the business needs coverage tiers, campaign groups, or other operating categories.