Dataset entry

Demand Forecasting & Capacity Planning: Stop Scheduling Surprises

ams ams_byte ams-033
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

LinkedIn

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."
  }
}