Sign in

Blog · Board and management reporting

Ecommerce customer experience analysis: friction and cost

Compare late deliveries, returns, repeat contacts, and subsequent purchases from order exports. Build matched order cohorts, calculate contribution, and check the totals before choosing an improvement.

The short answerEcommerce customer experience analysis connects order outcomes with service effort, contribution, and later purchasing. Start with one row per eligible order, attach returns and related contacts, and compare matched groups over the same observation window. Reconcile order counts and dollars before acting. Differences identify problems to investigate; they do not prove what caused a customer to stop buying.

Ecommerce customer experience analysis compares delivery and service problems with the money an order leaves behind and whether its customer buys again. Start with matched order records, rather than an overall satisfaction average. Keep the later purchase window equal for every customer.

Start with an order cohort you can reconcile

A US homewares seller selects orders delivered September 1–7, 2026. Each customer has one selected order, and every order has a complete 30-day follow-up window. The analysis closes after October 7, 2026. These dates define the example, not a recommended buying cycle.

Export order ID, customer ID, promised delivery date, actual delivery date, net revenue, item cost, and fulfillment cost. Separately export refunds and customer-initiated contacts. Reduce those records to one summary per order before attaching them. Otherwise, an order with several contacts repeats its revenue several times.

Keep a customer-level subsequent-purchase flag separate from index-order revenue. For customers with multiple eligible orders, select one index order under a written rule; otherwise the same later purchase can appear as several successes. Use ecommerce customer segmentation when purchase history is the grouping question.

Define the flags before comparing groups

The first table occupies A1:E9 in Google Sheets. Late means actual delivery after the promised date. Returned means the order was fully returned within follow-up. Repeat contact means at least two customer contacts about that order. Later purchase means another paid order within 30 days of delivery.

Order Late flag Returned flag Contacts Later purchase flag
A 1 0 2 0
B 1 1 3 0
C 1 0 2 1
D 0 0 0 1
E 0 0 1 1
F 0 1 2 0
G 0 0 0 1
H 0 0 1 0

For an actual delivery date in P2 and promised date in O2, use =IF(OR(P2="",O2=""),"",--(P2>O2)). A blank stays unknown and goes on an exception list, rather than becoming on time.

Calculate the late-order count, late-order return rate, and late-order repeat-contact rate:

=COUNTIFS(B2:B9,1)
=COUNTIFS(B2:B9,1,C2:C9,1)/COUNTIFS(B2:B9,1)
=COUNTIFS(B2:B9,1,D2:D9,">=2")/COUNTIFS(B2:B9,1)

Google documents COUNTIFS as a count across multiple criteria, with matching range sizes. Change the late criterion to zero for the on-time group. Replace the return condition with E2:E9,1 for the later-purchase rate. Report a blank or an explicit unavailable label when a group has no eligible orders.

Attach the cost of the experience

Put these financial columns in F:J beside the corresponding orders. Net revenue is after refunds and excludes sales tax. Returned goods are restored to inventory in this example, so returned-order item cost is zero; fulfillment includes the outbound and return handling already incurred.

Order Net revenue (USD) Item cost (USD) Fulfillment (USD) Service cost (USD) Contribution (USD)
A 100 55 8 12 25
B 0 0 16 18 -34
C 120 60 8 12 40
D 80 40 8 0 32
E 150 75 8 6 61
F 0 0 16 12 -28
G 90 45 8 0 37
H 110 55 8 6 41
Total 650 330 80 66 174

Service cost assumes $6 per contact. It is an illustrative allocation rate, not an industry benchmark. In I2 enter =D2*6; in J2 enter =F2-G2-H2-I2, then fill down. For actual driver rates and their limits, use cost to serve per customer.

Sum late-order contribution and divide by its order count:

=SUMIFS(J2:J9,B2:B9,1)
=SUMIFS(J2:J9,B2:B9,1)/COUNTIFS(B2:B9,1)

SUMIFS adds values meeting the stated criteria. Use the same ranges and eligibility rules for every measure. Covirage is not affiliated with Google.

Read the comparison and prove the totals

Delivery group Orders Return rate Repeat-contact rate Later-purchase rate Contribution (USD) Contribution/order (USD)
Late 3 33.3% 100.0% 33.3% 31 10.33
On time 5 20.0% 20.0% 60.0% 143 28.60

Rates are rounded to one decimal; per-order dollars to two. The late return rate is 1 / 3, its repeat-contact rate is 3 / 3, and its later-purchase rate is 1 / 3. The on-time counts are respectively 1 / 5, 1 / 5, and 3 / 5.

The proof is 3 + 5 = 8 orders and $31 + $143 = $174 contribution. Independently, $650 − $330 − $80 − $66 = $174. Reconcile these amounts to the selected order, refund, and cost records before publishing the comparison.

The late group merits a delivery and support review. Its lower contribution does not establish that lateness caused the gap: order values and returns also differ. Read the underlying records with operations, choose a specific change, and compare equivalent future cohorts. Use the lost customer review timeline for customer-level investigation and a customer experience dashboard for ongoing presentation.

Where it goes wrong

  • Contact rows multiply sales. Summarize contacts before matching them to financial records.
  • Recent orders look worse. Exclude incomplete follow-up windows from purchase comparisons.
  • Refunds remove all costs. Keep handling, damaged inventory, and service costs that were actually incurred.
  • Different customers masquerade as an effect. Check product and purchase-history differences before assigning a cause.

Analyze your own order file in Covirage

Bring an order export with related return, contact, and cost summaries. Covirage maps the columns; its tools compute and check the comparisons, and the external AI model explains them with every figure traced to its rows. Create a free Covirage account and bring a sample of your own data.

See customer profitability for the contribution perspective behind the review.

Questions people ask

Which files do I need for ecommerce experience analysis?

Use orders with customer identifiers, promised and actual delivery dates, refunds, and direct costs. Add support contacts linked to orders and later purchases linked to customers. Keep the original order identifier so returns and contacts cannot multiply the financial rows.

How do I measure repeat contacts?

Count distinct customer contacts concerning the same order within a declared window. Flag an order when that count reaches your chosen threshold. Exclude automatic notifications and duplicate ticket records, and distinguish a reopened case from a separate customer contact.

Does a lower repeat-purchase rate prove delivery caused churn?

No. Product mix, acquisition source, discounts, and customer history can differ between delivery groups. Use the comparison to choose records for review, then compare similar cohorts and evaluate a specific process change before attributing the difference to delivery.