Audit trail
Full traceabilityEvery number on the dashboard traces to a layer, an execution mode, and a modeling assumption — nothing is a black box. Source: Yelp (Demo Mode) · captured 2026-06-27T00:00:00.000Z
Data Sufficiency / Validation
{
"eligible": true,
"reasons": [],
"sufficiency": {
"users7d": {
"current": 12400,
"required": 500
},
"users28d": {
"current": 41200,
"required": 2000
},
"events7d": {
"current": 89000,
"required": 10000
},
"nonZeroDays28d": {
"current": 28,
"required": 20
},
"historyDays": {
"current": 92,
"required": 28
}
}
}Deterministic Metrics
{
"currentRate": 41,
"baseline": 50.2,
"variance": 4.4,
"projected": {
"d7": 38.8,
"d14": 36.5,
"d30": 31.4
},
"declineProbability": 0.95,
"selfRecoveryProbability": 0,
"escalationProbability": 0.81,
"riskScore": 97,
"impact": {
"value": 18770,
"unit": "reviews",
"description": "~18,770 fewer reviews",
"horizonDays": 30
}
}Forecast Array (p10/p50/p90, 30 days)
[
{
"day": 1,
"p10": 37.5,
"p50": 40.6,
"p90": 43.9
},
{
"day": 2,
"p10": 37.1,
"p50": 40.4,
"p90": 43.6
},
{
"day": 3,
"p10": 36.8,
"p50": 40,
"p90": 43.2
},
{
"day": 4,
"p10": 36.5,
"p50": 39.7,
"p90": 42.9
},
{
"day": 5,
"p10": 36.2,
"p50": 39.4,
"p90": 42.7
},
{
"day": 6,
"p10": 35.8,
"p50": 39.1,
"p90": 42.3
},
{
"day": 7,
"p10": 35.5,
"p50": 38.8,
"p90": 42
},
{
"day": 8,
"p10": 35.1,
"p50": 38.4,
"p90": 41.8
},
{
"day": 9,
"p10": 34.7,
"p50": 38.1,
"p90": 41.4
},
{
"day": 10,
"p10": 34.5,
"p50": 37.8,
"p90": 41.2
},
{
"day": 11,
"p10": 34.1,
"p50": 37.5,
"p90": 40.8
},
{
"day": 12,
"p10": 33.7,
"p50": 37.2,
"p90": 40.6
},
{
"day": 13,
"p10": 33.3,
"p50": 36.8,
"p90": 40.3
},
{
"day": 14,
"p10": 33.1,
"p50": 36.5,
"p90": 40.1
},
{
"day": 15,
"p10": 32.7,
"p50": 36.2,
"p90": 39.8
},
{
"day": 16,
"p10": 32.2,
"p50": 35.9,
"p90": 39.5
},
{
"day": 17,
"p10": 31.9,
"p50": 35.5,
"p90": 39.2
},
{
"day": 18,
"p10": 31.5,
"p50": 35.2,
"p90": 39
},
{
"day": 19,
"p10": 31.2,
"p50": 34.9,
"p90": 38.7
},
{
"day": 20,
"p10": 30.8,
"p50": 34.6,
"p90": 38.4
},
{
"day": 21,
"p10": 30.4,
"p50": 34.3,
"p90": 38.2
},
{
"day": 22,
"p10": 30,
"p50": 34,
"p90": 37.9
},
{
"day": 23,
"p10": 29.7,
"p50": 33.7,
"p90": 37.7
},
{
"day": 24,
"p10": 29.3,
"p50": 33.3,
"p90": 37.4
},
{
"day": 25,
"p10": 28.8,
"p50": 33,
"p90": 37.1
},
{
"day": 26,
"p10": 28.5,
"p50": 32.7,
"p90": 36.9
},
{
"day": 27,
"p10": 28.1,
"p50": 32.4,
"p90": 36.6
},
{
"day": 28,
"p10": 27.8,
"p50": 32.1,
"p90": 36.3
},
{
"day": 29,
"p10": 27.4,
"p50": 31.7,
"p90": 36.1
},
{
"day": 30,
"p10": 27,
"p50": 31.4,
"p90": 35.9
}
]Layer Trace
{
"l1": {
"summary": "Reachability simulated against current system configuration.",
"constraints": [
{
"description": "New listings visible in search but not reviewable until verification completes",
"value": "31% of new listings"
},
{
"description": "iOS review-submit flow contains additional gating steps vs Web",
"value": "+2 steps"
}
]
},
"l2": {
"method": "OLS trend over last 21d, prediction interval from SE(β) × 1.34 misspecification allowance, 20,000-path Monte Carlo → p10/p50/p90",
"cohort": "Consumers × New Listings × iOS × NYC"
}
}Data Sufficiency / Validation
{
"eligible": true,
"reasons": [],
"sufficiency": {
"users7d": {
"current": 22000,
"required": 500
},
"users28d": {
"current": 78000,
"required": 2000
},
"events7d": {
"current": 142000,
"required": 10000
},
"nonZeroDays28d": {
"current": 28,
"required": 20
},
"historyDays": {
"current": 92,
"required": 28
}
}
}Deterministic Metrics
{
"currentRate": 26,
"baseline": 28.4,
"variance": 1.7,
"projected": {
"d7": 25.4,
"d14": 24.8,
"d30": 23.5
},
"declineProbability": 0.81,
"selfRecoveryProbability": 0.07,
"escalationProbability": 0.47,
"riskScore": 71,
"impact": {
"value": 1676,
"unit": "reviews",
"description": "~1,676 fewer reviews",
"horizonDays": 30
}
}Forecast Array (p10/p50/p90, 30 days)
[
{
"day": 1,
"p10": 24.4,
"p50": 26,
"p90": 27.5
},
{
"day": 2,
"p10": 24.2,
"p50": 25.8,
"p90": 27.4
},
{
"day": 3,
"p10": 24.2,
"p50": 25.7,
"p90": 27.3
},
{
"day": 4,
"p10": 24.1,
"p50": 25.7,
"p90": 27.2
},
{
"day": 5,
"p10": 24,
"p50": 25.6,
"p90": 27.2
},
{
"day": 6,
"p10": 23.9,
"p50": 25.5,
"p90": 27.1
},
{
"day": 7,
"p10": 23.8,
"p50": 25.4,
"p90": 27.1
},
{
"day": 8,
"p10": 23.7,
"p50": 25.3,
"p90": 27
},
{
"day": 9,
"p10": 23.6,
"p50": 25.2,
"p90": 26.9
},
{
"day": 10,
"p10": 23.5,
"p50": 25.2,
"p90": 26.8
},
{
"day": 11,
"p10": 23.4,
"p50": 25.1,
"p90": 26.7
},
{
"day": 12,
"p10": 23.3,
"p50": 25,
"p90": 26.7
},
{
"day": 13,
"p10": 23.2,
"p50": 24.9,
"p90": 26.6
},
{
"day": 14,
"p10": 23.1,
"p50": 24.8,
"p90": 26.6
},
{
"day": 15,
"p10": 23,
"p50": 24.8,
"p90": 26.5
},
{
"day": 16,
"p10": 22.9,
"p50": 24.7,
"p90": 26.5
},
{
"day": 17,
"p10": 22.8,
"p50": 24.6,
"p90": 26.4
},
{
"day": 18,
"p10": 22.7,
"p50": 24.5,
"p90": 26.3
},
{
"day": 19,
"p10": 22.6,
"p50": 24.4,
"p90": 26.3
},
{
"day": 20,
"p10": 22.4,
"p50": 24.3,
"p90": 26.2
},
{
"day": 21,
"p10": 22.3,
"p50": 24.2,
"p90": 26.2
},
{
"day": 22,
"p10": 22.2,
"p50": 24.1,
"p90": 26.1
},
{
"day": 23,
"p10": 22.1,
"p50": 24,
"p90": 26.1
},
{
"day": 24,
"p10": 22,
"p50": 24,
"p90": 26
},
{
"day": 25,
"p10": 21.9,
"p50": 23.9,
"p90": 25.9
},
{
"day": 26,
"p10": 21.7,
"p50": 23.8,
"p90": 25.9
},
{
"day": 27,
"p10": 21.6,
"p50": 23.7,
"p90": 25.8
},
{
"day": 28,
"p10": 21.5,
"p50": 23.6,
"p90": 25.8
},
{
"day": 29,
"p10": 21.4,
"p50": 23.6,
"p90": 25.7
},
{
"day": 30,
"p10": 21.3,
"p50": 23.5,
"p90": 25.7
}
]Layer Trace
{
"l1": {
"summary": "Reachability simulated against current system configuration.",
"constraints": [
{
"description": "Web has no push re-engagement for consumers who viewed but didn't review",
"value": "—"
}
]
},
"l2": {
"method": "OLS trend over last 21d, prediction interval from SE(β) × 1.34 misspecification allowance, 20,000-path Monte Carlo → p10/p50/p90",
"cohort": "Consumers × New Listings × Web × NYC"
}
}Data Sufficiency / Validation
{
"eligible": true,
"reasons": [],
"sufficiency": {
"users7d": {
"current": 8200,
"required": 500
},
"users28d": {
"current": 26000,
"required": 2000
},
"events7d": {
"current": 51000,
"required": 10000
},
"nonZeroDays28d": {
"current": 27,
"required": 20
},
"historyDays": {
"current": 92,
"required": 28
}
}
}Deterministic Metrics
{
"currentRate": 35,
"baseline": 38.3,
"variance": 2,
"projected": {
"d7": 34.3,
"d14": 33.6,
"d30": 31.9
},
"declineProbability": 0.76,
"selfRecoveryProbability": 0.12,
"escalationProbability": 0.44,
"riskScore": 66,
"impact": {
"value": 1407,
"unit": "reviews",
"description": "~1,407 fewer reviews",
"horizonDays": 30
}
}Forecast Array (p10/p50/p90, 30 days)
[
{
"day": 1,
"p10": 32.5,
"p50": 34.9,
"p90": 37.3
},
{
"day": 2,
"p10": 32.4,
"p50": 34.8,
"p90": 37.2
},
{
"day": 3,
"p10": 32.3,
"p50": 34.7,
"p90": 37.1
},
{
"day": 4,
"p10": 32.2,
"p50": 34.6,
"p90": 37
},
{
"day": 5,
"p10": 32.1,
"p50": 34.5,
"p90": 36.9
},
{
"day": 6,
"p10": 31.9,
"p50": 34.4,
"p90": 36.8
},
{
"day": 7,
"p10": 31.8,
"p50": 34.3,
"p90": 36.7
},
{
"day": 8,
"p10": 31.7,
"p50": 34.2,
"p90": 36.6
},
{
"day": 9,
"p10": 31.6,
"p50": 34.1,
"p90": 36.6
},
{
"day": 10,
"p10": 31.5,
"p50": 34,
"p90": 36.5
},
{
"day": 11,
"p10": 31.3,
"p50": 33.9,
"p90": 36.4
},
{
"day": 12,
"p10": 31.2,
"p50": 33.8,
"p90": 36.3
},
{
"day": 13,
"p10": 31.1,
"p50": 33.7,
"p90": 36.2
},
{
"day": 14,
"p10": 30.9,
"p50": 33.6,
"p90": 36.2
},
{
"day": 15,
"p10": 30.8,
"p50": 33.5,
"p90": 36.1
},
{
"day": 16,
"p10": 30.6,
"p50": 33.4,
"p90": 36.1
},
{
"day": 17,
"p10": 30.5,
"p50": 33.3,
"p90": 36
},
{
"day": 18,
"p10": 30.4,
"p50": 33.2,
"p90": 35.9
},
{
"day": 19,
"p10": 30.3,
"p50": 33.1,
"p90": 35.8
},
{
"day": 20,
"p10": 30.1,
"p50": 33,
"p90": 35.8
},
{
"day": 21,
"p10": 30,
"p50": 32.9,
"p90": 35.7
},
{
"day": 22,
"p10": 29.8,
"p50": 32.7,
"p90": 35.7
},
{
"day": 23,
"p10": 29.6,
"p50": 32.6,
"p90": 35.6
},
{
"day": 24,
"p10": 29.5,
"p50": 32.5,
"p90": 35.6
},
{
"day": 25,
"p10": 29.4,
"p50": 32.5,
"p90": 35.5
},
{
"day": 26,
"p10": 29.2,
"p50": 32.4,
"p90": 35.5
},
{
"day": 27,
"p10": 29.1,
"p50": 32.3,
"p90": 35.5
},
{
"day": 28,
"p10": 28.9,
"p50": 32.2,
"p90": 35.4
},
{
"day": 29,
"p10": 28.7,
"p50": 32.1,
"p90": 35.4
},
{
"day": 30,
"p10": 28.6,
"p50": 31.9,
"p90": 35.3
}
]Layer Trace
{
"l1": {
"summary": "Reachability simulated against current system configuration.",
"constraints": [
{
"description": "Android 14+ notification delivery reduced, weakening consumer re-engagement",
"value": "-22% delivery"
}
]
},
"l2": {
"method": "OLS trend over last 21d, prediction interval from SE(β) × 1.34 misspecification allowance, 20,000-path Monte Carlo → p10/p50/p90",
"cohort": "Consumers × New Listings × Android × LA"
}
}Data Sufficiency / Validation
{
"eligible": true,
"reasons": [],
"sufficiency": {
"users7d": {
"current": 34000,
"required": 500
},
"users28d": {
"current": 120000,
"required": 2000
},
"events7d": {
"current": 210000,
"required": 10000
},
"nonZeroDays28d": {
"current": 28,
"required": 20
},
"historyDays": {
"current": 92,
"required": 28
}
}
}Deterministic Metrics
{
"currentRate": 89,
"baseline": 88.2,
"variance": 0.9,
"projected": {
"d7": 89.3,
"d14": 89.6,
"d30": 90.2
},
"declineProbability": 0.25,
"selfRecoveryProbability": 0.87,
"escalationProbability": 0,
"riskScore": 11,
"impact": {
"value": 0,
"unit": "reviews",
"description": "~0 fewer reviews",
"horizonDays": 30
}
}Forecast Array (p10/p50/p90, 30 days)
[
{
"day": 1,
"p10": 88,
"p50": 89,
"p90": 90.1
},
{
"day": 2,
"p10": 88.1,
"p50": 89.1,
"p90": 90.1
},
{
"day": 3,
"p10": 88.1,
"p50": 89.1,
"p90": 90.1
},
{
"day": 4,
"p10": 88.1,
"p50": 89.2,
"p90": 90.2
},
{
"day": 5,
"p10": 88.2,
"p50": 89.2,
"p90": 90.3
},
{
"day": 6,
"p10": 88.2,
"p50": 89.3,
"p90": 90.3
},
{
"day": 7,
"p10": 88.3,
"p50": 89.3,
"p90": 90.3
},
{
"day": 8,
"p10": 88.3,
"p50": 89.3,
"p90": 90.4
},
{
"day": 9,
"p10": 88.3,
"p50": 89.4,
"p90": 90.4
},
{
"day": 10,
"p10": 88.3,
"p50": 89.4,
"p90": 90.5
},
{
"day": 11,
"p10": 88.4,
"p50": 89.4,
"p90": 90.5
},
{
"day": 12,
"p10": 88.4,
"p50": 89.5,
"p90": 90.6
},
{
"day": 13,
"p10": 88.4,
"p50": 89.5,
"p90": 90.6
},
{
"day": 14,
"p10": 88.5,
"p50": 89.6,
"p90": 90.7
},
{
"day": 15,
"p10": 88.5,
"p50": 89.6,
"p90": 90.7
},
{
"day": 16,
"p10": 88.5,
"p50": 89.7,
"p90": 90.8
},
{
"day": 17,
"p10": 88.6,
"p50": 89.7,
"p90": 90.8
},
{
"day": 18,
"p10": 88.6,
"p50": 89.7,
"p90": 90.9
},
{
"day": 19,
"p10": 88.6,
"p50": 89.8,
"p90": 91
},
{
"day": 20,
"p10": 88.6,
"p50": 89.8,
"p90": 91
},
{
"day": 21,
"p10": 88.6,
"p50": 89.8,
"p90": 91.1
},
{
"day": 22,
"p10": 88.7,
"p50": 89.9,
"p90": 91.1
},
{
"day": 23,
"p10": 88.7,
"p50": 89.9,
"p90": 91.2
},
{
"day": 24,
"p10": 88.7,
"p50": 90,
"p90": 91.3
},
{
"day": 25,
"p10": 88.7,
"p50": 90,
"p90": 91.3
},
{
"day": 26,
"p10": 88.7,
"p50": 90.1,
"p90": 91.4
},
{
"day": 27,
"p10": 88.8,
"p50": 90.1,
"p90": 91.4
},
{
"day": 28,
"p10": 88.8,
"p50": 90.1,
"p90": 91.5
},
{
"day": 29,
"p10": 88.8,
"p50": 90.2,
"p90": 91.6
},
{
"day": 30,
"p10": 88.8,
"p50": 90.2,
"p90": 91.7
}
]Layer Trace
{
"l1": {
"summary": "No blocking reachability constraints detected.",
"constraints": []
},
"l2": {
"method": "OLS trend over last 21d, prediction interval from SE(β) × 1.34 misspecification allowance, 20,000-path Monte Carlo → p10/p50/p90",
"cohort": "Consumers × Established × Cross-Platform × Top Metro"
}
}Data Sufficiency / Validation
{
"eligible": false,
"reasons": [
"280 users in 7d (need 500+).",
"1400 users in 28d (need 2000+).",
"8200 events in 7d (need 10000+).",
"18 active days in 28d (need 20+)."
],
"sufficiency": {
"users7d": {
"current": 280,
"required": 500
},
"users28d": {
"current": 1400,
"required": 2000
},
"events7d": {
"current": 8200,
"required": 10000
},
"nonZeroDays28d": {
"current": 18,
"required": 20
},
"historyDays": {
"current": 24,
"required": 28
}
}
}Deterministic Metrics
{
"currentRate": 4.2,
"baseline": 4.3,
"variance": 0.5,
"projected": {
"d7": null,
"d14": null,
"d30": null
},
"declineProbability": 0,
"selfRecoveryProbability": 0,
"escalationProbability": 0,
"riskScore": 0,
"impact": {
"value": 0,
"unit": "reviews",
"description": "INSUFFICIENT SIGNAL",
"horizonDays": 30
}
}Layer Trace
{
"l1": {
"summary": "No blocking reachability constraints detected.",
"constraints": []
},
"l2": {
"method": "Suppressed — INSUFFICIENT SIGNAL",
"cohort": "Consumers × Lapsed 30d+ × Mobile × Suburban"
}
}Data Sufficiency / Validation
{
"eligible": false,
"reasons": [
"Only 6 days of history (need 14+).",
"120 users in 7d (need 500+).",
"340 users in 28d (need 2000+).",
"890 events in 7d (need 10000+).",
"5 active days in 28d (need 20+)."
],
"sufficiency": {
"users7d": {
"current": 120,
"required": 500
},
"users28d": {
"current": 340,
"required": 2000
},
"events7d": {
"current": 890,
"required": 10000
},
"nonZeroDays28d": {
"current": 5,
"required": 20
},
"historyDays": {
"current": 6,
"required": 28
}
}
}Deterministic Metrics
{
"currentRate": 0.4,
"baseline": 0.5,
"variance": 0.1,
"projected": {
"d7": null,
"d14": null,
"d30": null
},
"declineProbability": 0,
"selfRecoveryProbability": 0,
"escalationProbability": 0,
"riskScore": 0,
"impact": {
"value": 0,
"unit": "reviews",
"description": "INSUFFICIENT SIGNAL",
"horizonDays": 30
}
}Layer Trace
{
"l1": {
"summary": "No blocking reachability constraints detected.",
"constraints": []
},
"l2": {
"method": "Suppressed — INSUFFICIENT SIGNAL",
"cohort": "Consumers × New Listings × Android × International"
}
}Flow: Deterministic → LLM → UI. The LLM never computes a number; it only interprets the metrics above. On-demand only.
System Prompt (verbatim)
You are a behavioral simulation analyst. You explain what will likely happen NEXT if nothing changes. You do not compute metrics. You do not claim causation. You always express uncertainty. If signal is weak, say "INSUFFICIENT SIGNAL". Output JSON only.