Sign in

Blog · How-to guides

Customer journey analytics examples: funnels and delays

These customer journey analytics examples follow a US supplier's requests through consultation, quote and payment. Rebuild stage conversion and elapsed time from individual rows, then see what changes when one pending request completes.

The short answerCustomer journey analytics examples connect dated milestones for the same customer or request cohort. Count how many requests reach each stage, divide by the eligible preceding stage, and measure elapsed time only for records with the required dates. Review unfinished journeys separately. A consistent cohort reveals where progress stops and where completed journeys spend time without confusing either measure with marketing attribution.

Customer journey analytics examples show where a consistent group of customers progresses, stops or waits between milestones. The strongest examples retain individual request IDs and dates, so stage conversion and elapsed time can be rebuilt from the same rows. They also show unfinished journeys instead of treating missing dates as fast service.

Example one: a request-to-payment journey

Mesa Fixture Supply is a hypothetical US supplier reviewing incoming small-business purchase requests. It wants to know whether the next improvement belongs in appointment scheduling, quoting or payment follow-up. This is a business process review; no marketing channel receives credit for the sale.

The example contains requests received on August 3, 2026, observed through September 2, 2026. Each row is one request, even if the same customer could place another request later. All quoted packages have a value of $1,200, excluding sales tax. The company collects the full amount at payment, with no refunds in the observation window.

The milestone columns below show elapsed calendar days after request receipt. A dash means the milestone had not occurred by the cutoff. It is missing, not zero.

Request ID Consultation day Quote day Payment day Package value (USD)
J01 2 4 10 1,200
J02 3 6 15 1,200
J03 5 9 — 1,200
J04 6 — — 1,200
J05 4 7 12 1,200
J06 8 12 20 1,200
J07 10 — — 1,200
J08 — — — 1,200

In the working export, retain actual timestamps as well as the request date, stage definitions and observation cutoff. Align time zones before taking day differences. For this example the milestone days are already prepared and checked as nonnegative numbers.

Do not join every contact at the customer to every request. Use the supplied request mapping, and report unmatched events for correction. The customer journey tools discussion addresses the separate choice of approach; this example works from a prepared export.

Count the funnel from the same starting rows

Place the table in A1:E9 in Excel, leaving missing milestone cells truly blank. The starting population is the count of request IDs. The other stage counts use numeric milestones:

=COUNTA(A2:A9)
=COUNT(B2:B9)
=COUNT(C2:C9)
=COUNT(D2:D9)

Microsoft distinguishes COUNT, which counts numeric entries, from COUNTA, which counts nonempty cells. That distinction matters: a text dash in a milestone column is not a date, while a text request ID is valid in the starting population.

Stage Requests reaching stage Conversion from preceding stage Conversion from start
Request received 8 — 100.0%
Consultation 7 7 / 8 = 87.5% 87.5%
Quote 5 5 / 7 = 71.4% 62.5%
Payment 4 4 / 5 = 80.0% 50.0%

Percentages are rounded to one decimal place. Calculate the quote conversion with =COUNT(C2:C9)/COUNT(B2:B9) and end-to-end conversion with =COUNT(D2:D9)/COUNTA(A2:A9). Protect zero denominators with an explicit unavailable result rather than displaying a perfect or zero conversion rate.

The stage counts must be nested: every paid request has a quote, and every quoted request has a consultation. Then the requests still at each stage reconcile to the starting cohort:

Latest stage at cutoff Requests IDs
Received, no consultation 1 J08
Consultation, no quote 2 J04, J07
Quote, no payment 1 J03
Paid 4 J01, J02, J05, J06
Total 8 Every request once

This bridge proves that no request vanished between summaries. It does not label pending requests permanently lost. Status and elapsed observation time are needed before making that judgment.

Measure delay without filling blanks with zero

Add F for quote-to-payment days and G for realized receipts. Enter these formulas in F2 and G2 respectively, then fill down:

=IF(AND(ISNUMBER(C2),ISNUMBER(D2)),D2-C2,"")
=IF(ISNUMBER(D2),E2,0)

The completed records give this checkable duration table:

Request ID Payment day Quote day Quote-to-payment days Receipts (USD)
J01 10 4 6 1,200
J02 15 6 9 1,200
J05 12 7 5 1,200
J06 20 12 8 1,200
Total 57 29 28 4,800

Mean request-to-payment time is 57 / 4 = 14.25 days. The sorted payment days are 10, 12, 15 and 20, so the median is (12 + 15) / 2 = 13.5 days. Quote-to-payment time averages 28 / 4 = 7 days, and its median is also (6 + 8) / 2 = 7 days.

=AVERAGE(D2:D9)
=MEDIAN(D2:D9)
=AVERAGE(F2:F9)
=MEDIAN(F2:F9)
=SUM(G2:G9)

Microsoft's MEDIAN documentation confirms that an even-sized set uses the two middle values and that zeros in referenced cells count while empty cells do not. Covirage is not affiliated with Microsoft.

Keep pending age beside completed duration. At elapsed day 30, J03 has waited 30 - 9 = 21 days since its quote; J04 and J07 have waited 30 - 6 = 24 and 30 - 10 = 20 days since consultation. J08 has waited 30 days since receipt. Those records cannot enter completed duration, but they belong in the operational follow-up.

Example two: change one completion event

Keep every input above unchanged except J03's payment day. In this variation the previously missing event is recorded as day 18. The package value and earlier milestones stay the same; this is an alternative scenario, not another cohort to add to the first.

Measure Original J03 paid on day 18 Calculation after change
Paid requests 4 5 Original 4 + J03
Quote-to-payment conversion 80.0% 100.0% 5 / 5
Request-to-payment conversion 50.0% 62.5% 5 / 8
Receipts (USD) 4,800 6,000 5 × 1,200
Mean request-to-payment days 14.25 15.00 (57 + 18) / 5
Median request-to-payment days 13.5 15.0 Middle of 10, 12, 15, 18, 20

Conversion improves while completed time becomes longer. That is consistent: the additional completion was slower than the original completed average. A team judging performance only by speed could punish the recovery of a delayed request.

The receipts increase by $1,200, but receipts are not contribution or profit. No cost assumptions have been supplied. Likewise, recording the payment does not prove that a particular follow-up caused it.

Turn the comparison into a business review

Sales operations owns the request register and checks milestone completeness. The consultation team reviews J08, the quoting team reviews J04 and J07, and billing reviews J03 in the original scenario. Ask each owner whether the next event is pending, canceled or missing from the export before assigning an intervention.

Use customer journey segmentation when comparing groups with different routes or eligibility rules. For purchases across repeat visits, retail customer analytics asks a different question. When the delay includes repeated support contacts, the customer care analytics workflow helps inspect that service demand.

Where it goes wrong

  • Calendar totals replace cohorts. Quotes issued this month can belong to requests received earlier. They cannot be divided by this month's new requests as a cohort conversion.
  • Missing dates become zero days. Keep pending milestones blank and show their age separately.
  • The route changes mid-comparison. An optional consultation or skipped quote needs its own eligibility rule before stages are compared.
  • Only successful journeys survive the export. The starting request register is necessary to retain pending and canceled records.
  • Faster completed time becomes proof of better service. Check conversion and pending age alongside speed; the second example shows why they can move in different directions.

Check your own journey export in Covirage

Bring a request or customer journey export with stable IDs, dated milestones and outcome amounts; Covirage maps the columns, and its tools compute and check the comparisons. 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 self-service analytics for the supporting workflow.

Questions people ask

What is a customer journey analytics example?

A company can follow purchase requests from initial inquiry to consultation, quote and payment. The same request IDs connect the stages, allowing the team to calculate conversion and elapsed time. A useful example retains pending requests so the funnel does not show only successful buyers.

How is journey analysis different from marketing attribution?

Journey analysis measures progress and time between business milestones. Marketing attribution allocates credit for outcomes to recorded interactions. A slow quote-to-payment stage can exist under any attribution rule; examining that delay does not require assigning the sale to a campaign.

Should unfinished journeys be included in average completion time?

Do not treat an unfinished journey as completing in zero days. Calculate completed duration only where both milestone dates exist, disclose that completed subset, and report the age of pending journeys separately. Otherwise a fast completion average can hide a large unresolved backlog.

Which team owns customer journey analytics?

Assign the overall measure to the business process owner and individual delays to the team responsible for the next milestone. Sales operations might maintain the request register, while sales, billing and customer care validate their respective events and agree what counts as completion.