BXUP Track progress & test yourself — free
Business & Systems Analysis · Hands-on lab · ~4 min read
BUSINESS & SYSTEMS ANALYSIS · HANDS-ON LAB

Lab 05 · Order-to-Cash Gap Analysis

Build an as-is/to-be gap table for an order-to-cash process where every quantified claim either links to the event-log extract or is stamped ASSUMPTION — no third category. Two claims that feel obviously true are not actually supported by the data; the graded skill is refusing to assert them.

Tomas Fernandes is a business analyst at Kestrel Components, a fictional industrial-fasteners manufacturer with plants near Pune and a distribution centre in Frankfurt. Finance is unhappy: cash collection is slow, order handling feels chaotic, and a transformation sponsor wants a gap analysis "with numbers, not adjectives" in two weeks. Tomas has one asset — a process-mining extract summarising six months of order-to-cash event data — and one rule he refuses to break: a number either traces to the extract or wears an ASSUMPTION label a reviewer can challenge.

You will need

  • A chat AIfree ChatGPT, Claude, or Gemini.
  • A spreadsheet for the gap matrix and assumptions register.
  • Timeabout 60 minutes.
  • No real datathe extract below is synthetic.

The event-log summary extract

Six months, 8,412 completed orders. This extract is the only data you have.

EVENT-LOG SUMMARY — Order-to-Cash, Jan-Jun (8,412 orders)
X1  Stage median cycle times (days):
    order entry 0.6 | credit check 0.4 | fulfilment 4.2 |
    invoicing 1.8 | payment received (from invoice) 51.0
X2  Order-entry rework: 27% of orders re-entered at least once
    (top variant: unit-of-measure mismatch); median added delay
    per reworked order: 3.1 days
X3  Credit check: 92% auto-approved same day; 8% manual review,
    median 2.9 days for the manual subset
X4  Process variants: 214 distinct end-to-end paths; top 5 variants
    cover 61% of orders
X5  Invoice disputes: 8% of invoices disputed; median resolution
    19 days; dispute REASON is not captured in the system
X6  Payments: 41% of invoices paid after due date; DSO = 62 days
    vs 45-day standard terms
X7  Invoicing: 96% of invoices generated within 2 days of despatch
X8  Fields NOT in this extract: order value, customer segment,
    dispute reasons, credit-review outcomes, payment method

The sponsor's working beliefs

From the kickoff call — the beliefs your analysis will confirm, kill, or label. Two of them are traps.

SPONSOR NOTES (verbatim from kickoff)
B1 "Credit checks are the main reason orders are slow to ship."
B2 "Order entry is a mess — people re-key half the orders."
B3 "Invoice errors are why customers pay us late."
B4 "We have way too many process variants; nobody follows
    the standard path."
B5 "Fix invoicing speed and DSO will come down."

Steps

  1. Interrogate the extract before forming opinions. Fifteen minutes, no AI. For each line X1–X8, write one sentence: what this line proves, and one thing it cannot prove. X8 is the most important line in the extract — it is the list of things no claim can be built on. Keep this sheet open for the whole lab.

  2. Test the sponsor's beliefs against the data. For B1–B5, mark each: SUPPORTED (cite X-line), CONTRADICTED (cite X-line), or NOT TESTABLE WITH THIS DATA (cite the gap). Do B1 and B3 yourself before asking AI anything — these two are where careful reading pays.

  3. Get an AI first-pass gap table. Prompt: "From this event-log extract, draft an as-is/to-be gap table for order-to-cash with columns: capability, current state (quantified), target state, delta, enabler, owner. Cite the extract line (X1–X8) for every number. Where a claim needs data the extract lacks, write ASSUMPTION instead of a number." Expect it to comply imperfectly — that is the next step.

  4. Audit every cell of the AI's table. Three failure patterns to hunt: a number that appears in no X-line (invented), a citation to an X-line that says something adjacent but different (stretched — e.g., citing X3 for a claim about shipping delay), and a target state pulled from thin air ("industry benchmark: 35-day DSO" — no such data was provided). Fix or label every violation.

  5. Build the assumptions register. Every ASSUMPTION gets a row: ID | Assumption | Why needed | How to validate | Owner. Good register entries are falsifiable — "dispute resolution delays payment" becomes "A3: disputed invoices have materially later payment dates than undisputed ones; validate by joining dispute flag to payment dates; owner: finance data team." An assumption without a validation route is just an opinion with a label.

  6. Write the to-be targets honestly. Targets you can anchor: rework rate (X2) has an obvious improvement lever; invoicing speed (X7) is already at 96% — note what that implies for B5. Targets you cannot anchor without new data: any DSO target decomposition, anything about dispute causes. Where the extract supports no target, the target cell says "requires baseline study" — that phrase is a finding, not a failure.

  7. Rank the gaps by evidenced impact. Order the rows by delay-weighted evidence: 27% rework at +3.1 days each (X2) versus 8% manual credit reviews at +2.9 days (X3) versus dispute and payment behaviour (X5, X6) where impact on cash is real but causally unproven. Ask the AI to check your arithmetic on the weighted delays, then verify its arithmetic yourself — both directions.

  8. Write the one-page readout. The gap matrix, the assumptions register, and a three-bullet summary: the biggest evidenced gap, the sponsor belief the data contradicts, and the one data investment (capture dispute reasons — X5/X8) that would unlock the currently untestable claims.

Warning

The most dangerous number in a gap analysis is the plausible one — it survives review precisely because everyone already believes it.

Verify your work

A complete lab has all of the following:

  • A gap matrix where every quantified cell carries an X-line citation or an ASSUMPTION tag — zero unlabeled assertions.
  • All five sponsor beliefs dispositioned with citations, including two marked not-supported-by-this-data.
  • An assumptions register where every entry has a validation route and an owner.
  • No target state citing a benchmark or number that appears nowhere in the extract (unless tagged ASSUMPTION with a source-to-be-found).
  • A ranked gap list where the top item is the delay-weighted evidenced one, not the loudest belief.
▸Answer key — the two unsupported claims, plus expected dispositionsoptional deep dive — click to expand

Trap 1 — B1: "Credit checks are the main reason orders are slow to ship." Not supported. X1 shows credit check at a 0.4-day median — the fastest stage. Even the manual subset (X3: 8% of orders, 2.9-day median) contributes far less aggregate delay than order-entry rework: roughly 8% × 2.9 ≈ 0.23 delay-weighted days per order, versus X2's 27% × 3.1 ≈ 0.84. The data does not identify "the main reason orders are slow to ship" at all — fulfilment's 4.2-day median is the biggest single stage, but the extract cannot say how much of it is avoidable. Correct disposition: CONTRADICTED as stated; the defensible claim is "credit check is not a material driver of order cycle time (X1, X3)."

Trap 2 — B3: "Invoice errors are why customers pay us late." Not testable with this data. The seductive chain — disputes exist (X5), payments are late (X6), therefore disputes cause late payment — fails twice: disputes touch only 8% of invoices while 41% pay late, so disputes cannot arithmetically explain most late payment; and X5/X8 state dispute reasons are not captured, so "invoice errors" cannot even be established as the cause of the disputes themselves. Correct disposition: NOT TESTABLE; goes to the assumptions register with a validation route (capture dispute reasons; join dispute flag to payment dates). If your gap matrix contains a row like "reduce invoice errors → DSO improves" with numbers attached, you failed this check.

Expected dispositions for the rest. B2: SUPPORTED in direction, wrong in magnitude — 27% (X2), not "half"; cite the correct figure. B4: SUPPORTED (X4: 214 variants, top 5 = 61%) though "too many" needs a comparator — acceptable as a qualitative gap with the variant count cited. B5: CONTRADICTED — X7 shows invoicing already at 96% within 2 days; invoicing speed is not the constraint on DSO, which also undercuts B3's framing.

Expected top-ranked gap. Order-entry rework (X2): largest delay-weighted, clearly evidenced, with a nameable enabler (unit-of-measure validation at entry — the top rework variant). Second: manual credit-review subset (X3) with a rules-based triage enabler. DSO items rank as high-value but evidence-blocked, pending the dispute-reason data investment.

Grading yourself. Both traps correctly dispositioned and zero unlabeled numbers: reviewer-proof. Caught B1 but asserted B3: you checked magnitudes but not causality — X8 is the line that kills B3, and reading the "fields not present" list is a habit worth keeping. Matrix contains an invented benchmark: that is the AI's most common contribution to gap analyses; the audit in step 4 exists precisely for it.

Key Takeaway:

A gap analysis is only as strong as its weakest uncited number. Link every claim to the extract or label it an assumption with a validation route — and treat "the data cannot say" as a deliverable, because the sponsor's next data investment comes from exactly that list.

This is the free reading view. Open BXUP to track your progress, run the hands-on labs, and prove it with original, exam-pattern assessments.
© Anvi Innovate · BXUP — Be Exponentially Upskilled · BXUP is an independent learning platform, not affiliated with or endorsed by AWS, Microsoft, Google, NVIDIA, IBM, Salesforce, Databricks, Oracle or Anthropic. All trademarks belong to their respective owners. · bxup.in