Alert, action and interruption ledger
What false alerts, audited misses, unknown outcomes, ordering delays and measured customer-hours are documented?
Worked example
A warning team can compare notification and acknowledgment times against independently adjudicated events. Define the assessment window and record late, false and missed alerts.
Describe dated alerts, audited misses, process latencies and explicitly disjoint service interruption counts.
Try it yourself
The calculator opens with the fictional example already filled in. Change one input, choose Calculate locally, and compare the result to the original values below. Use Reset fictional fixture to start over.
An unknown result means the available inputs do not support a value. Check the calculator’s Warnings tab for what is missing or uncertain.
- Audited false alerts 1 alerts
- Audited missed events 1 events
- Unknown alert outcomes 1 alerts
- Unaudited miss candidates 0 events
- Precision among alerts with known outcomes 0.5 fraction of classified alerts
- Recall among documented distinct audited events 0.5 fraction of documented audited events
Import local JSON or CSV
Files stay in this browser. Maximum 1 MiB. JSON imports are recalculated. CSV supports flat observation tables, with column types taken from the displayed fixture. Empty cells become null.
Compare the arrangements
Keep physical resources and evaluation conditions equal. With identical inputs, all three approaches produce identical arithmetic. The comparison refuses material differences in declared conditions; it does not verify those declarations.
Privacy: comparison inputs may contain sensitive notes or operational details. Storage is off by default. Do not enter personal records or sensitive infrastructure details. Reproduction exports include supplied inputs and notes, including raw small-cell inputs suppressed from CORE-009 result tables. Suppression of displayed results does not make a reproduction export safe to publish.
Executive brief and reproducible export
Review for personal, confidential or sensitive material before saving or sharing. No automatic submission occurs.
Read the generated brief
Method, inputs and limits
Describe dated alerts, audited misses, process latencies and explicitly disjoint service interruption counts. Method version 0.2.0. Infer warning efficacy, prevented harm, attack attribution or causal health outcomes from timing alone.
| Input | Unit / type | Required interpretation |
|---|---|---|
| alerts — Dated alerts | events / json | id, issuedAt, outcome (confirmed-event/false-alert/unknown), eventAt, authorizedActionAt, acknowledgedAt, receivedAt (optional nullable ISO). Use timestamps with timezone. An optional eventId deduplicates recall. The declared process is alert issued, response authorized, authorization acknowledged, then action or resource receipt. |
| misses — Audited missed-event candidates | events / json | id, eventAt, audited boolean. Unconfirmed candidates stay unknown. |
| interruptions — Service interruption groups | customer-hours / json | id, customers, hours. Customers must represent a group with declared scope; no overlapping group total is inferred. |
| interruptionGroupsDisjoint — Interruption groups confirmed disjoint | boolean / boolean | Use the supplied schema and declared units. |
| auditComplete — Declared completeness of event/outcome audit | boolean / boolean | Rates remain conditional on the supplied classified records. Confirmed alerts may include eventId; distinct event IDs prevent duplicate alerts inflating recall. Audited miss IDs identify missed events. |
| auditWindow — Optional assessment window | ISO timestamps / json | parameters.auditWindow may contain startAt and endAt. Alerts must be issued inside that half-open window. Recall uses documented events with onset in the window. |
Visible mathematics / decision rules
warning lead hours = (event time − issue time) / 3,600,000; negative means late warning
process latency hours = (later verified timestamp − earlier timestamp) / 3,600,000
group customer-hours = customers × outage hours; sum only for explicitly disjoint groups
known-outcome precision = confirmed-event alerts / (confirmed-event alerts + false alerts)
documented distinct-event recall = detected distinct event IDs / (detected distinct event IDs + audited missed-event IDs); unknown outcomes and unaudited misses remain separate
What this result cannot establish
- Unknown outcomes and unaudited miss candidates are not classified as success or failure.
- Interruption totals require explicit disjoint scope; timing alone does not show that an action caused an outcome.
What would falsify the assumptions?
- Compare this ledger to independently audited event and action records.
- Identify an overlapping customer group, undocumented event or incorrectly ordered timestamp.
- Faster shared reporting with more false alerts or misses may add risk.
- Assumptions fail if the supplied definitions, units, period, scope or source records are wrong or incomplete.
- An independent source audit or replication may contradict an input or the recorded dependency.
- This method creates no resources. Physical conservation is checked in the inventory and transfer ledgers; descriptive graphs and checklists are not resource-flow models.
- The same equations and review checklist can be reproduced with a spreadsheet or structured human-only process.
- This is deterministic arithmetic, a descriptive comparison or a structured governance check, not a fitted causal effect or forecast. Fictional inputs remain an exercise.
- Equal or worse measured errors, net review effort, disclosure burden or fallback under MAR would show no added benefit or added risk; no improvement is assumed.
Reproducible fictional fixture and independently calculated expectations
This fixture is synthetic. It does not describe a country, government, company or event.
{
"observations": {
"unit": "events",
"origin": "synthetic",
"sources": [
{
"id": "SYN-001",
"kind": "synthetic",
"label": "Fictional alert and interruption audit",
"url": null
}
],
"alerts": [
{
"id": "A1",
"issuedAt": "2025-01-01T00:00:00Z",
"outcome": "confirmed-event",
"eventAt": "2025-01-01T03:00:00Z",
"authorizedActionAt": "2025-01-01T00:30:00Z",
"acknowledgedAt": "2025-01-01T01:00:00Z",
"receivedAt": "2025-01-01T02:00:00Z",
"eventId": "E1"
},
{
"id": "A2",
"issuedAt": "2025-01-01T00:00:00Z",
"outcome": "false-alert",
"eventAt": null
},
{
"id": "A3",
"issuedAt": "2025-01-01T00:00:00Z",
"outcome": "unknown",
"eventAt": null
}
],
"misses": [
{
"id": "M1",
"eventAt": "2025-01-02T00:00:00Z",
"audited": true
}
],
"interruptions": [
{
"id": "G1",
"customers": 100,
"hours": 2
},
{
"id": "G2",
"customers": 50,
"hours": 3
}
]
},
"parameters": {
"interruptionGroupsDisjoint": true
}
}Expected checks
{
"falseAlerts": 1,
"auditedMisses": 1,
"unknownOutcomes": 1,
"customerHours": 350,
"precision": 0.5,
"recall": 0.5
}Download input fixtureAuthoritative background references
- NIST: Cybersecurity Framework 2.0 — Outcome taxonomy, not a calculated national risk score. Reviewed 2026-11-09. Reference, not endorsement or validation.
These sources inform definitions or review practices. They do not validate this implementation or endorse MAR.