Dataset entry
Demand Forecasting & Capacity Planning: Stop Scheduling Surprises
SAP AMS feels ‘overloaded’ when demand is unmanaged and capacity is planned as if tomorrow will be like yesterday.
Attribution
Creator: Dzmitryi Kharlanau (SAP Lead).
Canonical: https://dkharlanau.github.io/datasets/ams/ams-033.json
JSON (copy / reuse)
{
"id": "ams-033",
"title": "Demand Forecasting & Capacity Planning: Stop Scheduling Surprises",
"hook": "SAP AMS feels ‘overloaded’ when demand is unmanaged and capacity is planned as if tomorrow will be like yesterday.",
"idea": "Modern AMS predicts and shapes demand using real signals: seasonality, releases, business cycles, master data events, and interface volatility. Capacity planning becomes an operational control, not a yearly spreadsheet.",
"sap_demand_sources": {
"predictable": [
"Month-end / quarter-end closing (RTR pressure)",
"Campaigns and pricing waves (OTC spikes)",
"Mass master data loads and cleansing (MDM/MDG volatility)",
"Planned releases and transports",
"Vendor maintenance windows"
],
"semi_predictable": [
"New market/country rollout",
"Org changes (roles, plants, sales org changes)",
"New interfaces or mapping changes",
"Data model changes in MDG/BP"
],
"unpredictable": [
"External outages (network, partners)",
"Security incidents",
"Rare SAP standard defects"
]
},
"forecasting_model": {
"inputs": [
"Ticket volume by category and flow over 12–24 months",
"Repeat incident families trend",
"Release calendar and upgrade events",
"Business calendar (close, promotions, peaks)",
"Interface health signals (error rates, backlog velocity)"
],
"outputs": [
"Expected incident load per week",
"Expected change demand per week",
"Risk windows (where P0 probability rises)",
"Minimum prevention capacity to avoid repeat growth"
]
},
"capacity_controls": {
"capacity_buckets": [
"Run (incident response + mandatory ops)",
"Change (planned delivery)",
"Improve (problem elimination + automation)",
"Reserve (shock absorber for spikes)"
],
"rules": [
"Reserve is real capacity, not wishful thinking.",
"Improve bucket is protected; otherwise repeats will rise.",
"If Run exceeds a threshold for 2+ weeks, you must cut Change or add containment."
]
},
"planning_mechanics": {
"weekly_planning": [
"Commit to changes within WIP limits",
"Select 1–3 top load-killer Problems",
"Adjust reserve based on forecasted risk windows"
],
"risk_window_playbook": [
"Pre-freeze low-value changes",
"Increase monitoring sensitivity",
"Prepare runbooks and standby owners for critical flows"
]
},
"demand_shaping_levers": [
"Standard changes and self-service to reduce low-value tickets",
"Training targeted at top ticket families",
"Automation around repetitive requests",
"Hard intake templates to stop incomplete tickets",
"Stop-work decisions on cosmetic noise during risk windows"
],
"automation": {
"copilot_moves": [
"Build a forecast from historical trends + calendar signals.",
"Detect seasonality and release-driven spikes automatically.",
"Recommend capacity rebalance (Run/Change/Improve/Reserve).",
"Generate ‘risk window’ action packs (what to freeze, what to monitor, who is on point)."
],
"outputs": [
"Weekly demand forecast",
"Capacity plan recommendation",
"Risk window readiness checklist"
]
},
"why_this_makes_ams_cheaper": [
"Less overtime and fewer emergency changes.",
"Fewer regressions during busy periods.",
"Prevention work survives pressure instead of being sacrificed."
],
"anti_patterns_to_kill": [
"Planning based on optimism",
"No reserve capacity",
"Treating predictable peaks as ‘unexpected’"
],
"metrics_that_show_control": [
"Run/Change/Improve/Reserve actual split",
"Forecast error (how wrong we were and why)",
"Spike response time (how fast we switched modes)",
"Repeat incident trend during peak windows"
],
"design_question": [
"Which next month spikes are we pretending we don’t see?"
],
"meta": {
"schema": "dkharlanau.dataset.byte",
"schema_version": "1.1",
"dataset": "ams",
"source_project": "cv-ai",
"source_path": "ams/ams-033.json",
"generated_at_utc": "2026-02-03T14:33:32+00:00",
"creator": {
"name": "Dzmitryi Kharlanau",
"role": "SAP Lead",
"website": "https://dkharlanau.github.io",
"linkedin": "https://www.linkedin.com/in/dkharlanau"
},
"attribution": {
"attribution_required": true,
"preferred_citation": "Dzmitryi Kharlanau (SAP Lead). Dataset bytes: https://dkharlanau.github.io"
},
"license": {
"name": "",
"spdx": "",
"url": ""
},
"links": {
"website": "https://dkharlanau.github.io",
"linkedin": "https://www.linkedin.com/in/dkharlanau"
},
"contact": {
"preferred": "linkedin",
"linkedin": "https://www.linkedin.com/in/dkharlanau"
},
"canonical_url": "https://dkharlanau.github.io/datasets/ams/ams-033.json",
"created_at_utc": "2026-02-03T14:33:32+00:00",
"updated_at_utc": "2026-02-03T15:29:02+00:00",
"provenance": {
"source_type": "chat_export_extraction",
"note": "Extracted and curated by Dzmitryi Kharlanau; enriched for attribution and crawler indexing."
},
"entity_type": "ams_byte",
"entity_subtype": "",
"summary": "SAP AMS feels ‘overloaded’ when demand is unmanaged and capacity is planned as if tomorrow will be like yesterday."
}
}