# Dataset control totals

Version 1.0. Fixed reporting date: 23 October 2026. All records are synthetic.

These are independently calculated from the CSV. Compare Copilot with these values after import; these are not observed Copilot results.

| Measure | Expected value |
| --- | --- |
| records | 300 |
| completed | 120 |
| cancelled | 30 |
| open | 150 |
| open overdue | 58 |
| blocked | 31 |
| completed on time | 53 |
| completed on time rate pct | 44.17 |
| total estimated cost usd | 677950.0 |
| total actual cost usd | 406730.0 |
| completed estimated cost usd | 272300.0 |
| completed actual cost usd | 291710.0 |
| completed variance usd | 19410.0 |
| completed over estimate count | 69 |
| customer rating response count | 120 |
| average customer rating | 4.12 |

Open means any status except Completed or Cancelled. Overdue means open with DueDate strictly before 2026-10-23. On time means CompletedDate on or before DueDate, among completed jobs. Actual costs on open jobs are costs to date; compare final budget variance only for completed jobs. Blank feedback is missing, not zero.

The refresh example is JFS-2026-0299: Blocked → In progress. Blocked falls by one; total, open and overdue counts stay unchanged. Clear Blocker and replace NextAction. Save before/after evidence, then restore the original values from dataset-validation.json.

Counts by region: {"North": 50, "South": 50, "East": 50, "West": 50, "Central": 50, "Coastal": 50}

Counts by status: {"Completed": 120, "In progress": 60, "Scheduled": 30, "Blocked": 31, "Awaiting approval": 29, "Cancelled": 30}
