File: stage-1-03-business-requirements-v1-0.md
Kestrel Medical: Business Requirements
Test case, Sample data. Kestrel Medical is a test case. Sharon was played by the case's stakeholder agent. Data named here is mapped to the Sample data in 03 - Working Files/data/, which must be checked against real data before go-live.
1. Document control
| Field | Detail |
|---|
| Version | 1.0 |
| Date | 23-Oct-26 |
| Status | Approved at the Stage 1 gate, 23-Oct-26 |
| Author | Gary, KPI Creator Stage 1 |
| Stakeholder | Sharon, sales leader (exact title to confirm) |
| Sign-off | Sharon confirmed the playback on 23-Oct-26, with three corrections (all made). Adam (acting subject matter expert, test mode) approved at the Stage 1 gate, 23-Oct-26 |
↑ Back to top2. Problem Statement
Kestrel has lost three of its last five big tenders, each over five million dollars, and believes price is the reason but can't yet prove or disprove it. With gross margin at about 41 per cent against global's 43 per cent target for 2027, and thirty monthly reports that give different answers, the business needs one set of evidence before it asks global for more discount room.
The problem as stated
Sharon, in her words: lost three of the last five big tenders, each over five million dollars, "never happened to me in 22 years". Reps say Kestrel is being undercut 10 to 15 per cent. She wants a win-loss view and pricing against the competition, so she can take evidence to global and argue for more discount room. And she wants out of Excel: thirty monthly reports, and half of them say different things.
The problem as Gary understands it
- The ask and the target pull against each other. The ask is evidence for more discount. Global's target is more margin (about 41 to 43 per cent in 2027) and 4 per cent revenue growth, after a flat year
- The loss reasons are belief, not yet evidence. They come from reps and one procurement person. Sharon's own account of the three losses: one "was price" (Southern Metropolitan Health Network), one was "about the stretcher as much as anything" (Highlands Ambulance, a 15-year customer), and one went to a distributor that bundles several brands (Western Plains Health District, won by Allied Clinical Supply)
- The evidence exists but hasn't been used. Deb Harlow, the bid manager, keeps the tender file and the debrief letters
- Nobody agrees on the base numbers. Thirty monthly reports from ERP extracts disagree, and Sharon spends three days a month reconciling them
Gary's note: the question I'd put to Sharon is "What decision changes if this number moves?" Here, the answer is the discount case to global. If the debriefs say Kestrel lost on product fit or bundling, more discount won't win the next tender and will cost the margin target. That's my reading, not Sharon's words, and Sharon has not confirmed it.
↑ Back to top3. Objectives
| ID | Objective | Sub-objective |
|---|
| O1 | Lift gross margin to 43 per cent in 2027 (about 41 per cent now) | Know where margin is leaking, especially on big deals (O1.1) |
| O2 | Grow revenue 4 per cent in 2027 (flat last year) | Know which reps and product groups are growing and which are going backwards (O2.1) |
| O3 | Stop losing the big tenders (over five million dollars) | Know which tenders we lose, who wins them, on what price, and the real reasons from the debriefs (O3.1) |
| O4 | One agreed set of numbers instead of thirty monthly reports that disagree, automated and consistent | |
Each objective helps solve the Problem Statement: margin and growth are global's tests (O1, O2), the tender losses are the trigger (O3), and one agreed set of numbers makes the evidence credible (O4).
↑ Back to top4. Audience and decisions
| Who | Decisions | How often | Where |
|---|
| Sales leader (Sharon) | Pricing on big deals within her authority; where reps focus; headcount asks to global; how Kestrel responds to tenders | Monthly (her expectation, "don't hold me to it") | A pack for global (main use); on screen in meetings with the reps. Not phone |
| Global group | Whether to give more discount room; headcount | Unknown | Pack, format unknown |
| Reps | Where to focus | In meetings with the sales leader | Screen |
| Others | Unknown: Sharon to check with the team | Unknown | Unknown |
↑ Back to top5. Business Requirements with Data Mapping
All measures, data mappings and filters below are Draft: Kewpie to confirm. Targets and thresholds marked "Gary's proposal" were not said by Sharon.
Top 5
| Measure | Type | Objective | What do we want to know? | Why? | Action if outside threshold | Action owner | Target (SMART) | Thresholds |
|---|
| Gross margin per cent (K1) | Lagging | O1 | What gross margin we earn on sales, against global's 43 per cent | Global's headline target; any discount case has to square with it | Sales leader tightens pricing on big deals within her authority; anything beyond goes to global with the discount evidence | Sales leader | 43% for the 2027 financial year (January to December). Global's target. Observed Fact | Gary's proposal: Green 43% or more year to date; Amber 42% to under 43%; Red under 42% |
| Average discount off list price on big deals (K2) | Leading | O1, O1.1 | How much discount we give off list on big deals, and where it's growing | Shows margin leaking before year end; the evidence for or against more discount room | Sales leader reviews big-deal pricing within her authority and pulls back discounts that aren't winning business | Sales leader | Gary's proposal: at or below the 2026 big-deal average by the end of 2027. Working Hypothesis | Gary's proposal: Green at or below 2026 average; Amber up to 1 point above; Red more than 1 point above |
| Revenue growth on the year (K3) | Lagging | O2 | Whether revenue grows 4 per cent in 2027 after a flat year | Global's growth target; drives rep focus and headcount asks | Sales leader moves rep focus to growing product groups and customers; makes a headcount ask to global if the gap is capacity | Sales leader | 4% growth in 2027. Global's target. Observed Fact. Base (2026 actuals?) open | Gary's proposal: Green 4% or more; Amber 0% to under 4%; Red below 0% |
| Big tender win rate (K4) | Lagging | O3 | How many tenders over five million dollars we win | Three of the last five lost; decides how Kestrel responds to the next tenders | Bid manager reviews the debriefs and scoring of lost bids; sales leader decides how the response changes | Bid manager (response decided by the sales leader) | Open question, needed before Kewpie finishes Stage 2 (Adam, 23-Oct-26): Sharon asked that the target be left for the bid manager. Starting point: won 2 of the last 5 (Observed Fact) | Open, with the target |
| Monthly reports that match the agreed set of numbers (K5) | Leading | O4 | Whether the monthly reports agree with one agreed set of numbers | Three days a month reconciling; every other measure depends on agreed numbers | Finance report owner fixes or retires any report that doesn't match | Finance report owner | Open question, needed before Kewpie finishes Stage 2 (Adam, 23-Oct-26): Sharon wants one agreed set of numbers with Tom checking the reports against it, and has not agreed a target | Open, with the target |
SME sign-off (all rows): Sharon (stakeholder) confirmed the playback with corrections, 23-Oct-26. Adam (acting subject matter expert, test mode) approved at the Stage 1 gate, 23-Oct-26.
Draft measures for the Top 5 (Draft: Kewpie to confirm)
| Measure | How measured | Data source and fields | Filters and conditions |
|---|
| Gross margin per cent (K1) | (Net sales minus cost of sales) divided by net sales. (SUM(net_value_aud) - SUM(cost_of_sales)) / SUM(net_value_aud) | SAP sales orders: sales_order_lines.net_value_aud, sales_order_lines.actual_ship_date. Cost of sales: no field in the Sample data; finance to name the SAP source | Shipped lines only; financial year January to December; must reconcile to finance's 41 per cent before use |
| Average discount off list price on big deals (K2) | 1 minus net value over list value, value-weighted. 1 - SUM(net_value_aud) / SUM(list_price * qty) | SAP sales orders: sales_order_lines.list_price, .qty, .net_value_aud, .discount_pct (cross-check), .order_id, .contract_id, .material_group | Big deal = order total at or above a size Sharon sets (open); placeholder: orders linked to a contract. Exclude lines with no list price. Period by order date |
| Revenue growth on the year (K3) | Net sales year to date over the same period last year, minus 1. SUM(net_value_aud, YTD 2027) / SUM(net_value_aud, same period 2026) - 1 | SAP sales orders: sales_order_lines.net_value_aud, .actual_ship_date, .order_type | Year to date vs year to date; ship date until finance confirms its revenue rule; Kewpie to check order types for credits and returns |
| Big tender win rate (K4) | Tenders won over tenders decided. COUNT(won) / COUNT(won or lost), estimated value $5m or more | Bid manager's tender spreadsheet: tender_register.outcome, .estimated_value, .close_date, .tender_reference. Chosen over the CRM, which Sharon doesn't trust for win-loss | $5m or more (values stored as text like "$2.21m"); dates as dd/mm/yyyy text; exclude undecided; show the count (for example 2 of 5) next to the rate, as numbers are small |
| Monthly reports that match the agreed set of numbers (K5) | Reports using the agreed sales definition and customer grouping, over all reports | Monthly reports index: monthly_reports_index.workbook, .owner, .sales_definition, .customer_grouping, .last_refreshed | Agreed definition set by finance (open); reports marked "n/a" reviewed one by one |
Sub-KPIs (Must Have, explain a Top 5 measure)
| Sub-KPI | Under | Objective | What it explains | How measured (Draft: Kewpie to confirm) | Data | Owner |
|---|
| Gross margin by product group (K1.1) | Gross margin per cent (K1) | O1.1 | Where the margin leaks | Gross margin split by product group | sales_order_lines.material_group, .net_value_aud, cost of sales (open) | Sales leader |
| Revenue growth by product group (K3.1) | Revenue growth on the year (K3) | O2.1 | Which product groups grow or go backwards | Revenue growth by material_group | sales_order_lines.material_group, .net_value_aud | Sales leader |
| Revenue growth by rep (K3.2) | Revenue growth on the year (K3) | O2.1 | Which reps grow or go backwards | Revenue growth by rep_id; customers grouped by parent where known | sales_order_lines.rep_id, .net_value_aud, customers.parent_id | Sales leader |
| Our price against the winning price on lost tenders (K4.1) | Big tender win rate (K4) | O3.1 | "On what price" we lost: proves or disproves the price story | our_submitted_price / winning_price - 1, lost tenders. Gary's proposed thresholds: Green within 2%; Amber 2% to 5% above; Red more than 5% above | tender_register.our_submitted_price, .winning_price, .outcome | Bid manager |
| Why we lost, from the debriefs (K4.2) | Big tender win rate (K4) | O3.1 | Price, product fit, service or something else | For each lost tender, the scoring area with the biggest gap to the preferred supplier; losses counted by area | tender_register.scoring_table, .debrief_notes, .debrief_received | Bid manager |
| Who is winning the tenders we lose (K4.3) | Big tender win rate (K4) | O3.1 | One competitor's product, or bundled distributor bids | Count and value of lost tenders by winning supplier | tender_register.winning_supplier, .estimated_value | Bid manager |
↑ Back to top6. Backlog (Nice to Have)
| Item | Reason parked |
|---|
| CRM opportunity win rate | Sharon doesn't trust the CRM for win-loss: only some reps use it properly |
| Reps' reported competitor price cuts (10 to 15 per cent) | Anecdote, not evidence. Replaced by our price against the winning price on lost tenders (K4.1) |
| Service and field measures (work orders, contracts, parts) | The field service system was named, but no objective or action was raised for it |
↑ Back to top7. Data inventory (as named in the interview)
| Source | Holds | Mapped Sample data | Grain | History | Refresh | Quality notes |
|---|
| SAP ERP | Sales orders, customers | sales_order_lines, sales_order_change_log, customers | Order line | Unknown | Unknown | Monthly reports come from ERP extracts. Cost of sales field not yet named |
| Tender spreadsheet (bid manager) | Bids, outcomes, debriefs | tender_register | Tender | Unknown | Manual | Debrief letters held by Deb Harlow. Values and dates stored as text |
| CRM | Opportunities | crm_opportunities | Opportunity | Unknown | Unknown | Not trusted for win-loss. Not used in the Top 5 |
| Monthly Excel reports | Thirty reports | monthly_reports_index | Report | Monthly | Monthly | Half disagree. Owned by Tom Nguyen (finance). Cause unknown |
| Field service system | Technician work | work_orders, asset_register, site_customer_map, service_contracts | Work order, asset | Unknown | Unknown | No measure in this release |
Sharon said she isn't the one to ask about the data itself. Tom Nguyen (finance) and Deb Harlow (bid manager) hold the detail.
↑ Back to top8. Constraints and chart preferences
- Must speak to how Kestrel's market actually works, not global's standard view
- Reports automated and consistent
- A pack for global first, then a screen in meetings with the reps. Not designed for phone
- Privacy and customer confidentiality: unknown, Sharon to check
- Chart likes and dislikes: none given. Sharon will react to a draft
↑ Back to top9. Assumptions
| Assumption | Evidence label |
|---|
| The financial year is January to December, set by global; 2027 is both calendar and financial year | Observed Fact |
| Kestrel won 2 of its last 5 big tenders | Observed Fact |
| Revenue counts on ship date in the draft measures, until finance confirms its rule | Working Hypothesis |
| The tender file and debrief letters are a better source of loss reasons than the CRM or rep reports | Strong Inference |
| The Sample data reflects the shape of the real systems | Working Hypothesis |
↑ Back to top10. Open questions
| Question | For |
|---|
| What is a realistic win-rate target for tenders over five million dollars in 2027? Target for Big tender win rate (K4): needed before Kewpie finishes Stage 2 | Bid manager (Deb Harlow) |
| Is the 4 per cent revenue growth for 2027 measured against 2026 actuals? | Sales leader, with finance |
| Where does cost of sales come from for gross margin, and how does finance get to 41 per cent? | Finance report owner (Tom Nguyen) |
| Why do the thirty monthly reports disagree (how sales is counted, how customers are grouped, or both), and which is right? | Finance report owner (Tom Nguyen) |
| Outside tenders, what order size counts as a big deal? | Sales leader (Sharon) |
| When does evidence next go to global, and in what pack format? | Sales leader (Sharon) |
| What privacy or customer confidentiality rules apply, for example showing competitor prices or customer names in a pack for global? | Sales leader (Sharon) |
| Who else will open the dashboard, and how often? | Sales leader (Sharon) |
| What target should the monthly reports match against, and how will Tom check them in practice? Target for Monthly reports that match the agreed set of numbers (K5): needed before Kewpie finishes Stage 2 | Finance report owner, with the sales leader |
| How far back does each system go, and how often does each refresh? | Finance report owner and bid manager |
↑ Back to top11. Change log
| Version | Date | Change | Reason | Approved by |
|---|
| 1.0 | 23-Oct-26 | First version. Playback corrections made: (1) Before "discount and tender decisions are being made blind", After "believes price is the reason but can't yet prove or disprove it"; (2) Before "my proposed target is better than half in 2027", After "target left for the bid manager"; (3) Before "Target all of them", After "one agreed set of numbers, with Tom checking the reports against it; target open" | Stage 1 interview and playback | Adam, 23-Oct-26 |
| 1.0 | 23-Oct-26 | Stage 1 approved. Gary's proposed thresholds, big-deal discount target, owners and due dates accepted. Targets for Big tender win rate (K4) and Monthly reports that match the agreed set of numbers (K5) logged as open questions, needed before Kewpie finishes Stage 2 | Sharon asked that both targets be set later by the bid manager and the finance report owner | Adam, 23-Oct-26 |
↑ Back to top