← INDEXCH 10 / 10DECISIONS →

CHAPTER 10Demonstrator & Seed Data

Req. prefix: DEv0.4 draft

10.1Seed profiles

DE-01The system ships four named deterministic seed profiles plus a CUSTOM profile with free sizing: the user MAY specify products, locations, customers, weeks and entry count (within sane bounds documented in-app), so the demonstrator can be initialised at any size. Generation is seeded-random: the same profile (or the same CUSTOM parameter set + seed) always produces the identical dataset (supports DF-05 testing and comparable benchmarks). The generator produces all master data — masters, calendar, forecast, split tables, phase profiles — and the seed entries; there is no other way data enters the system (D-23). [D-29]
ProfileProductsLocationsCustomersWeeksEntriesPurpose
MINI32143the Ch. 02 dataset, verbatim — hand-verifiable
S1 00052052100development, quick demos
M10 00012501041 000realistic feel
L100 000202001045 000performance evidence (DF-10/11/12); ≈5 M LO rows
CUSTOMuser-specified sizingexperiments at arbitrary scale
DE-02Each profile MUST contain, in demonstrable proportion: NPI products with like-products and phase-in profiles; EOL products; split tables including at least one mid-horizon sourcing change and one customer-specific rule; entries of all three archetypes (HE-03); and at least one entry seeded to be InError (so the error UX is visible out of the box).
DE-03Forecast synthesis model. Each populated (product, location) series is a random oscillation around a base level with a slow trend: q(w) = max(0, base · (1 + trend·w) · season(w) · (1 + noise(w))) — with base drawn per series (e.g. log-normal so product sizes differ realistically), trend a small per-series drift (positive or negative, a few permille per week), season(w) a gentle low-frequency oscillation (e.g. sinusoidal, ±10–30%), and noise(w) week-to-week randomness (e.g. ±5–15%). All draws come from the profile's seeded RNG (DE-01). The result: visibly non-uniform time splits (demo requirement) and recognisable but noisy patterns. [D-29]

10.2Reset & forecast regeneration

DE-04Reset = destroy all application state (entries, LO, batch reports) and generated master data, regenerate the selected profile (named or CUSTOM with parameters), then run one full batch so the system lands in a fully Disaggregated state (except intentional DE-02 error seeds). One action in UI (typed confirmation), API (POST /admin/reset) and MCP (reset_demo with confirm:true).
DE-05Reset target duration: profile L ≤ 3 min including the batch; progress displayed. Smaller profiles proportionally faster.
DE-08Regenerate forecast = produce a new synthetic forecast for the active profile per the DE-03 model (new deterministic sub-seed; masters, split tables, phase profiles and entries untouched), atomically replace the old one (AP-09), and set all entries RequiresDisaggregation (HE-07). This is the demonstrator's stand-in for a nightly forecast drop and the lever that makes the batch meaningful. Available in UI (S6), API and MCP (with confirm).

10.3Authentication

DE-06Exactly two fixed accounts: user and admin, each with a static password set at deployment. Login per AP-02.
DE-07No authorization: both accounts can perform every operation, including reset. The role name appears only in attribution fields (created_by) and the UI header. This is a stated demonstrator simplification (OV non-goals).

10.4Demo script (informative)

  1. Reset to profile M — show the timed restore.
  2. Create the brand-campaign entry (E6-A shape) in S2, showing the live preview; save; open its LO rows in S3.
  3. Show an error: create an entry on a product/period combination with no forecast anywhere in scope — zero total basis at the time stage; precise message, no guessing (DR-03, HE-08). (Note: an entry on an EOL product beyond its phase-out is not an error — explicit scope wins, DR-10/D-22.)
  4. Sourcing change: pivot a product with a split-table change and show location mix flipping mid-horizon (E5-B); show the underlying split-table rows in the S5 master-data view.
  5. NPI ramp: pivot an NPI product inside a brand entry — volume appearing along the phase-in profile (profile visible in S5).
  6. Performance finale: switch to profile L, regenerate the forecast (DE-08), hit Run batch now, and read the DF-08 report aloud.

10.5Acceptance checklist (normative summary)