diff --git a/.cursor/rules/meaningful-identifiers.mdc b/.cursor/rules/meaningful-identifiers.mdc new file mode 100644 index 00000000000..bb81eac03eb --- /dev/null +++ b/.cursor/rules/meaningful-identifiers.mdc @@ -0,0 +1,36 @@ +--- +name: meaningful-identifiers +description: Naming guidance for callback parameters and local variables in TypeScript. Use when writing or refactoring loops, array callbacks (map/filter/find/reduce), or local accumulators. +license: AGPL-3.0 +metadata: + triggers: + type: domain + enforcement: suggest + priority: low + keywords: + - naming + - rename + - identifier + - variable name +--- + +# Meaningful identifiers + +Callback parameters and local variables must describe the value they hold. + +## Rules + +- Name array callback params after the element's domain type: + `batches.map((batch) => …)`, `bins.filter((bin) => …)`, + `checkpoints.find((checkpoint) => …)`. Never reuse `right`/`left`/`column` + for values that are not sort operands or table columns. +- Name `reduce` accumulators after what they accumulate: `sum`/`total` for a + running total, not `step`. +- Name percentile/ratio arguments for the quantity they represent + (`percentileRank`, `multiplier`), not an unrelated domain noun. + +## Leave correct uses untouched + +- Sort comparators: `(left, right) => left - right`. +- `(column) => column.key` over a real `.columns` array. +- `for (const row of …Rows)` where the items are genuinely rows. diff --git a/.env b/.env index 750161cb8f8..c8b38eadca9 100644 --- a/.env +++ b/.env @@ -69,14 +69,8 @@ API_ORIGIN=http://localhost:5001 # @todo H-124 implement a new change subscription service ENABLE_REALTIME_SYNC=false -# Optional usage telemetry for HASH -HASH_TELEMETRY_ENABLED=false -# Currently our endpoint doesn't have HTTPS so this is set to false -HASH_TELEMETRY_HTTPS=false -# DNS collector endpoint -HASH_TELEMETRY_DESTINATION=REPLACE_ME.aws.com -# Is used for differentiating different apps, can be any value -HASH_TELEMETRY_APP_ID=hash-app +# Optional product analytics via Rudderstack. Leave the write key blank to disable telemetry. +HASH_API_RUDDERSTACK_KEY= ########################################### # Disable telemetry from third-party dependencies who transmit IP addresses diff --git a/.env.development b/.env.development index 137adf37d21..1fe9b287fe5 100644 --- a/.env.development +++ b/.env.development @@ -16,3 +16,5 @@ FILE_UPLOAD_PROVIDER="AWS_S3" # Feature flags SHOW_WORKER_COST=true + +ENVIRONMENT=development diff --git a/README.md b/README.md index 0f23b7ded29..8cd2238c2b5 100644 --- a/README.md +++ b/README.md @@ -294,12 +294,9 @@ The Postgres information for the graph query layer is configured through: - `HASH_REDIS_HOST` (default: `localhost`) - `HASH_REDIS_PORT` (default: `6379`) -#### Snowplow telemetry +#### Rudderstack telemetry -- `HASH_TELEMETRY_ENABLED`: whether Snowplow is used or not. `true` or `false`. (default: `false`) -- `HASH_TELEMETRY_HTTPS`: set to "1" to connect to the Snowplow over an HTTPS connection. `true` or `false`. (default: `false`) -- `HASH_TELEMETRY_DESTINATION`: the hostname of the Snowplow tracker endpoint to connect to. (required) -- `HASH_TELEMETRY_APP_ID`: ID used to differentiate application by. Can be any string. (default: `hash-workspace-app`) +- `HASH_API_RUDDERSTACK_KEY`: Rudderstack write key for product analytics. Leave blank to disable telemetry. The `environment` label on events is derived from `ENVIRONMENT`. (optional) #### Others diff --git a/apps/hash-api/README.md b/apps/hash-api/README.md index 844f926fd98..9643e30bab8 100644 --- a/apps/hash-api/README.md +++ b/apps/hash-api/README.md @@ -47,11 +47,7 @@ The HASH Backend API service is configured using the following environment varia - `STATSD_HOST`: the hostname of the StatsD server. - `STATSD_PORT`: (default: 8125) the port number the StatsD server is listening on. - `HASH_INTEGRATION_QUEUE_NAME` The name of the Redis queue which updates to entities are published to used to decide what changes should be written to connected applications (for two-way sync between them and HASH) -- Snowplow telemetry: - - `HASH_TELEMETRY_ENABLED`: (default: `false`) whether Snowplow is used or not. `true` or `false`. - - `HASH_TELEMETRY_HTTPS`: (default: `false`) set to "1" to connect to the Snowplow over an HTTPS connection. `true` or `false`. - - `HASH_TELEMETRY_DESTINATION`: (required) the hostname of the Snowplow tracker endpoint to connect to. - - `HASH_TELEMETRY_APP_ID`: ID used to differentiate application by. Can be any string. +- `HASH_API_RUDDERSTACK_KEY`: (optional) Rudderstack write key for product analytics. Leave blank to disable telemetry. The environment label sent with events is derived from `ENVIRONMENT`. ## Metrics @@ -65,75 +61,10 @@ this enabled, from the root of the repo, execute: yarn serve:hash-backend-statsd ``` -## Snowplow +## Telemetry -The API may use Snowplow to collect structured behavioural data. In order to use Snowplow -the `HASH_TELEMETRY_*` environment values should be specified, most importantly -`HASH_TELEMETRY_DESTINATION` should point to a snowplow tracker endpoint and -`HASH_TELEMETRY_ENABLED=true`. +The API sends product-analytics events to [Rudderstack](https://www.rudderstack.com/). +Telemetry is enabled only when `HASH_API_RUDDERSTACK_KEY` is set. -To set up a local Snowplow deployment, [Snowplow mini](https://github.com/snowplow/snowplow-mini) can be used. This requires [Vagrant](https://www.vagrantup.com/) and [VirtualBox](https://www.virtualbox.org/) to be installed. -By default, the Snowplow mini instance uses a fair bit of RAM and CPU. -Snowplow mini exposes a lot of ports to the host through the default [Vagrantfile](https://github.com/snowplow/snowplow-mini/blob/f7dbf73f1e3ba589d2dd1d8b94589c4f610dba1f/Vagrantfile). To make the instance play well wit HASH, comment out the following in the Snowplow mini Vagrantfile: - -```ruby -#... - config.vm.network "forwarded_port", guest: 80, host: 2000 - # config.vm.network "forwarded_port", guest: 3000, host: 3000 - config.vm.network "forwarded_port", guest: 4171, host: 4171 - config.vm.network "forwarded_port", guest: 8080, host: 8080 - config.vm.network "forwarded_port", guest: 8093, host: 8093 - config.vm.network "forwarded_port", guest: 9200, host: 9200 - config.vm.network "forwarded_port", guest: 5601, host: 5601 - # config.vm.network "forwarded_port", guest: 8081, host: 8081 - config.vm.network "forwarded_port", guest: 10000, host: 10000 -#... -``` - -The default credentials for the basic auth at [http://localhost:2000/home](http://localhost:2000/home) for the local Snowplow mini instance is: - -- username: USERNAME_PLACEHOLDER -- password: PASSWORD_PLACEHOLDER - -With a local Snowplow deployment, the following destination can be used in the HASH env: -`HASH_TELEMETRY_DESTINATION=localhost:2000` - -### Troubleshooting Vagrant/VirtualBox - -On a fresh install of Vagrant/VirtualBox, some kernel modules might be unloaded for VirtualBox -which makes the `vagrant up` command error out on various steps along the way. -It might be necessary to load the following kernel modules to prevent errors: - -Linux: - -```sh -sudo modprobe vboxnetflt -sudo modprobe vboxnetadp -sudo modprobe vboxdrv -``` - -macOS: - -```sh -sudo kmutil load -b org.virtualbox.kext.VBoxNetFlt -sudo kmutil load -b org.virtualbox.kext.VBoxNetAdp -sudo kmutil load -b org.virtualbox.kext.VBoxDrv -``` - -If you encounter an error such as -`mount.nfs: access denied by server while mounting ...` -It might be necessary to make the following changes to the Snowplow mini Vagrantfile to disable NFS. - -```ruby - # Use NFS for shared folders for better performance - # config.vm.network :private_network, ip: '192.168.56.56' # Uncomment to use NFS - config.vm.synced_folder '.', '/vagrant' #, nfs: true # Uncomment to use NFS -``` - -Here the `config.vm.network` line and the `, nfs: true` argument are commented out. - -If you see `uninitialized constant VagrantPlugins::HostDarwin::Cap::Version` on MacOS, see [this issue](https://github.com/hashicorp/vagrant/issues/12583). - -If you encounter an issue on the `npm install` step (5), try commenting out lines 8 & 9 of the Vagrantfile (i.e. disable using NFS for shared folders). - -You may need to run `vagrant reload --provision` after applying fixes. +The `environment` property attached to every event is derived from `ENVIRONMENT` (`production` / `staging`, +otherwise `development`). diff --git a/apps/hash-api/package.json b/apps/hash-api/package.json index 3714ebdb62b..d3546d000c4 100644 --- a/apps/hash-api/package.json +++ b/apps/hash-api/package.json @@ -9,10 +9,11 @@ "build:docker": "docker buildx build --tag hash-api --file docker/Dockerfile ../../ --load", "codegen": "rimraf './src/**/*.gen.*'; graphql-codegen --config codegen.config.ts", "dev": "NODE_ENV=development NODE_OPTIONS=--max-old-space-size=2048 tsx watch --clear-screen=false --import ./src/instrument.mjs ./src/index.ts", + "dev:import-supply-chain-data": "NODE_ENV=development tsx ./src/seed-data/import-supply-chain-dataset.ts", "dev:seed-crm-data": "NODE_ENV=development tsx ./src/seed-data/seed-crm-data.ts", "fix:eslint": "eslint --fix .", "generate-hash-gpt-schema": "tsx ./src/ai/gpt/generate-hashgpt-schema.ts", - "generate-ontology-type-ids": "tsx ./src/generate-ontology-type-ids.ts; oxfmt --write --ignore-path /dev/null ../../libs/@local/hash-isomorphic-utils/src/ontology-type-ids.ts", + "generate-ontology-type-ids": "tsx ./src/generate-ontology-type-ids.ts; cd ../../libs/@local/hash-isomorphic-utils && oxfmt --write --ignore-path /dev/null src/ontology-type-ids.ts", "lint:eslint": "eslint --report-unused-disable-directives .", "lint:tsc": "tsc --noEmit", "setup:admin": "NODE_ENV=production OTEL_SERVICE_NAME=\"Setup Admin\" tsx --import ./src/instrument.mjs ./src/setup-admin.ts", @@ -65,7 +66,6 @@ "@ory/kratos-client": "25.4.0", "@rudderstack/rudder-sdk-node": "3.0.8", "@sentry/node": "10.54.0", - "@snowplow/node-tracker": "4.8.2", "@temporalio/client": "1.18.1", "@temporalio/proto": "1.18.1", "@types/ws": "8.18.1", diff --git a/apps/hash-api/src/analysis/analyses/supply-chain.ts b/apps/hash-api/src/analysis/analyses/supply-chain.ts new file mode 100644 index 00000000000..8348fc26a39 --- /dev/null +++ b/apps/hash-api/src/analysis/analyses/supply-chain.ts @@ -0,0 +1,128 @@ +import { AnalysisNotFoundError } from "../shared/errors"; +import { requireSlugArg } from "../shared/storage-key"; +import { resolveDataset } from "./supply-chain/dataset"; + +import type { NamedAnalysis } from "../shared/analysis-registry"; + +/** + * Named analyses backing the supply chain views. Every analysis is scoped to + * a single web (the dataset owner) and resolves to one or more JSON artifacts. + * + * Storage layout (under `analysis/{webId}/supply-chain/{version}/`): + * products.json + * sites.json + * {productId}/graph.json + * {productId}/steps/{stepId}.json + * _global/supplier_performance.json + * _global/supplier-lines.json + * site/{siteId}/summary.json + */ + +const listProducts: NamedAnalysis = { + name: "listProducts", + resolve: async (ctx) => { + const { base } = await resolveDataset(ctx); + return { + status: "ready", + artifacts: [{ name: "products", key: `${base}/products.json` }], + }; + }, +}; + +const listSites: NamedAnalysis = { + name: "listSites", + resolve: async (ctx) => { + const { base } = await resolveDataset(ctx); + return { + status: "ready", + artifacts: [{ name: "sites", key: `${base}/sites.json` }], + }; + }, +}; + +const productGraph: NamedAnalysis = { + name: "productGraph", + resolve: async (ctx) => { + const productId = requireSlugArg(ctx.args, "productId"); + const { base, manifest } = await resolveDataset(ctx); + + if (!manifest.products.includes(productId)) { + throw new AnalysisNotFoundError(`Unknown product "${productId}"`); + } + + return { + status: "ready", + artifacts: [{ name: "graph", key: `${base}/${productId}/graph.json` }], + }; + }, +}; + +const stepDetail: NamedAnalysis = { + name: "stepDetail", + resolve: async (ctx) => { + const productId = requireSlugArg(ctx.args, "productId"); + const stepId = requireSlugArg(ctx.args, "stepId"); + const { base, manifest } = await resolveDataset(ctx); + + if (!manifest.products.includes(productId)) { + throw new AnalysisNotFoundError(`Unknown product "${productId}"`); + } + if (!(manifest.steps[productId] ?? []).includes(stepId)) { + throw new AnalysisNotFoundError( + `Unknown step "${stepId}" for product "${productId}"`, + ); + } + + return { + status: "ready", + artifacts: [ + { name: "step", key: `${base}/${productId}/steps/${stepId}.json` }, + ], + }; + }, +}; + +const supplierPerformance: NamedAnalysis = { + name: "supplierPerformance", + resolve: async (ctx) => { + const { base } = await resolveDataset(ctx); + return { + status: "ready", + artifacts: [ + { + name: "performance", + key: `${base}/_global/supplier_performance.json`, + }, + { name: "lines", key: `${base}/_global/supplier-lines.json` }, + ], + }; + }, +}; + +const siteSummary: NamedAnalysis = { + name: "siteSummary", + resolve: async (ctx) => { + const siteId = requireSlugArg(ctx.args, "siteId"); + const { base, manifest } = await resolveDataset(ctx); + + if (!manifest.sites.includes(siteId)) { + throw new AnalysisNotFoundError(`Unknown site "${siteId}"`); + } + + return { + status: "ready", + artifacts: [ + { name: "summary", key: `${base}/site/${siteId}/summary.json` }, + ], + }; + }, +}; + +export const supplyChainAnalyses: readonly NamedAnalysis[] = [ + listProducts, + listSites, + productGraph, + stepDetail, + supplierPerformance, + siteSummary, +]; diff --git a/apps/hash-api/src/analysis/analyses/supply-chain/dataset.ts b/apps/hash-api/src/analysis/analyses/supply-chain/dataset.ts new file mode 100644 index 00000000000..583069cbb03 --- /dev/null +++ b/apps/hash-api/src/analysis/analyses/supply-chain/dataset.ts @@ -0,0 +1,91 @@ +import { DatasetUnavailableError } from "../../shared/errors"; +import { webScopedKey } from "../../shared/storage-key"; + +import type { AnalysisResolutionContext } from "../../shared/analysis-registry"; +import type { WebId } from "@blockprotocol/type-system"; + +/** Top-level storage namespace for all supply-chain analysis artifacts. */ +export const SUPPLY_CHAIN_NAMESPACE = "supply-chain"; + +/** + * Dataset pointer written by the seed/publish step. Indirecting through a + * pointer (rather than a hard-coded version) lets a new dataset be published + * atomically by flipping `current.json` once all `{version}/…` objects exist. + */ +export interface DatasetPointer { + datasetVersion: string; +} + +/** + * Manifest enumerating every valid id in a published dataset. Used both to + * validate client-supplied ids (so only known artifacts are resolvable) and to + * answer list-style analyses' membership checks. + */ +export interface SupplyChainManifest { + datasetVersion: string; + products: string[]; + sites: string[]; + /** Map of productId -> the step ids available for that product. */ + steps: Record; +} + +export const datasetPointerKey = (webId: WebId): string => + webScopedKey(webId, SUPPLY_CHAIN_NAMESPACE, "current.json"); + +export const datasetBaseKey = (webId: WebId, version: string): string => + webScopedKey(webId, SUPPLY_CHAIN_NAMESPACE, version); + +export const manifestKey = (webId: WebId, version: string): string => + `${datasetBaseKey(webId, version)}/manifest.json`; + +const parseJson = (buffer: Buffer, what: string): T => { + try { + return JSON.parse(buffer.toString("utf8")) as T; + } catch { + throw new DatasetUnavailableError(`Malformed ${what}`); + } +}; + +/** + * Resolve the current dataset version and manifest for a web. Throws + * {@link DatasetUnavailableError} if the web has no published dataset. + */ +export const resolveDataset = async ( + ctx: AnalysisResolutionContext, +): Promise<{ + version: string; + base: string; + manifest: SupplyChainManifest; +}> => { + const pointerBytes = await ctx.loadArtifact(datasetPointerKey(ctx.webId)); + if (!pointerBytes) { + throw new DatasetUnavailableError( + `No supply-chain dataset published for web ${ctx.webId}`, + ); + } + + const { datasetVersion } = parseJson( + pointerBytes, + "dataset pointer", + ); + if (!datasetVersion) { + throw new DatasetUnavailableError("Dataset pointer missing datasetVersion"); + } + + const manifestBytes = await ctx.loadArtifact( + manifestKey(ctx.webId, datasetVersion), + ); + if (!manifestBytes) { + throw new DatasetUnavailableError( + `Dataset manifest missing for web ${ctx.webId} version ${datasetVersion}`, + ); + } + + const manifest = parseJson(manifestBytes, "manifest"); + + return { + version: datasetVersion, + base: datasetBaseKey(ctx.webId, datasetVersion), + manifest, + }; +}; diff --git a/apps/hash-api/src/analysis/setup-analysis-handler.ts b/apps/hash-api/src/analysis/setup-analysis-handler.ts new file mode 100644 index 00000000000..e4135c34e09 --- /dev/null +++ b/apps/hash-api/src/analysis/setup-analysis-handler.ts @@ -0,0 +1,105 @@ +import { ipKeyGenerator, rateLimit } from "express-rate-limit"; + +import { telemetry } from "../telemetry/telemetry"; +import { supplyChainAnalyses } from "./analyses/supply-chain"; +import { resolveInvocation } from "./setup-analysis-handler/resolve-analysis"; +import { registerAnalyses } from "./shared/analysis-registry"; + +import type { + AnalysisRequest, + AnalysisResponse, +} from "@local/hash-isomorphic-utils/analysis/types"; +import type { Express } from "express"; +import type Keyv from "keyv"; + +/** Upper bound on invocations per batch request, to bound work per call. */ +const MAX_BATCH_SIZE = 25; + +/** + * Per-IP rate limiter for the analysis gateway. A single request fans out to up + * to {@link MAX_BATCH_SIZE} invocations, each authorising against its scoped + * webs and reading from storage, so the endpoint is an amplifier that must be + * bounded. Authenticated callers get a higher ceiling than anonymous ones. + */ +const analysisRateLimiter = rateLimit({ + windowMs: process.env.NODE_ENV === "test" ? 10 : 1000 * 60, // 1 minute + limit: (req) => (req.user ? 240 : 30), + standardHeaders: true, + legacyHeaders: false, + keyGenerator: (req) => (req.ip ? ipKeyGenerator(req.ip) : "ip-unavailable"), +}); + +let analysesRegistered = false; + +/** + * Register the built-in named analyses. Idempotent so repeated setup calls (e.g. + * across test harness reinitialisation) don't throw on duplicate registration. + */ +const ensureAnalysesRegistered = () => { + if (analysesRegistered) { + return; + } + registerAnalyses(supplyChainAnalyses); + analysesRegistered = true; +}; + +/** + * Mounts the generic analysis gateway at `POST /api/analysis`. + * + * The gateway is a thin control plane: it authenticates the caller, authorises + * each invocation against its scoped web(s), resolves named analyses to stored + * artifacts, and returns short-lived URLs the client fetches directly from + * storage (the data plane). Artifact bytes never pass through the API. + */ +export const setupAnalysisHandler = (app: Express, cache: Keyv) => { + ensureAnalysesRegistered(); + + app.post("/api/analysis", analysisRateLimiter, async (req, res) => { + const { user } = req; + if (!user) { + res.status(401).json({ error: "Authentication required" }); + return; + } + + const body = req.body as AnalysisRequest | undefined; + if (!body || !Array.isArray(body.requests)) { + res.status(400).json({ + error: "Request body must be { requests: AnalysisInvocation[] }", + }); + return; + } + + if (body.requests.length > MAX_BATCH_SIZE) { + res + .status(400) + .json({ error: `Too many requests (max ${MAX_BATCH_SIZE})` }); + return; + } + + const { graphApi, uploadProvider } = req.context; + + const results = await Promise.all( + body.requests.map((invocation) => + resolveInvocation({ + invocation, + actorId: user.accountId, + graphApi, + uploadProvider, + cache, + }), + ), + ); + + for (const [index, result] of results.entries()) { + const invocation = body.requests[index]!; + telemetry.track(req, "analysis_run", { + analysis: invocation.analysis, + webId: invocation.webId, + status: result.status, + artifactCount: result.artifacts?.length ?? 0, + }); + } + + res.json({ results } satisfies AnalysisResponse); + }); +}; diff --git a/apps/hash-api/src/analysis/setup-analysis-handler/resolve-analysis.test.ts b/apps/hash-api/src/analysis/setup-analysis-handler/resolve-analysis.test.ts new file mode 100644 index 00000000000..57be66f4679 --- /dev/null +++ b/apps/hash-api/src/analysis/setup-analysis-handler/resolve-analysis.test.ts @@ -0,0 +1,282 @@ +import { beforeEach, describe, expect, it, vi } from "vitest"; + +import type { + ActorEntityUuid, + RoleName, + WebId, +} from "@blockprotocol/type-system"; +import type { FileStorageProvider } from "@local/hash-backend-utils/file-storage"; +import type Keyv from "keyv"; + +vi.mock("@local/hash-graph-sdk/principal/actor-group", () => ({ + getActorGroupRole: vi.fn(), +})); + +vi.mock("../../logger", () => ({ + logger: { warn: vi.fn(), error: vi.fn(), info: vi.fn() }, +})); + +import { getActorGroupRole } from "@local/hash-graph-sdk/principal/actor-group"; + +import { supplyChainAnalyses } from "../analyses/supply-chain"; +import { + clearAnalysisRegistry, + registerAnalyses, +} from "../shared/analysis-registry"; +import { resolveInvocation } from "./resolve-analysis"; + +import type { GraphApi } from "../../graph/context-types"; + +const mockedGetRole = vi.mocked(getActorGroupRole); + +const WEB_ID = "00000000-0000-4000-8000-000000000001" as WebId; +const ACTOR_ID = "actor-test" as ActorEntityUuid; +const VERSION = "2026-06-15"; + +const manifest = { + datasetVersion: VERSION, + products: ["democat-x100-extr"], + sites: ["demo-plant"], + steps: { "democat-x100-extr": ["prod_to_qa_pla"] }, +}; + +const storedFiles: Record = { + [`analysis/${WEB_ID}/supply-chain/current.json`]: JSON.stringify({ + datasetVersion: VERSION, + }), + [`analysis/${WEB_ID}/supply-chain/${VERSION}/manifest.json`]: + JSON.stringify(manifest), +}; + +const uploadProvider = { + downloadDirect: async ({ key }: { key: string }) => { + const value = storedFiles[key]; + if (value === undefined) { + throw new Error(`missing: ${key}`); + } + return Buffer.from(value); + }, + presignDownloadByKey: async ({ key }: { key: string }) => + `https://signed.example/${key}`, +} as unknown as FileStorageProvider; + +const cache = { + get: async () => undefined, + set: async () => true, +} as unknown as Keyv; + +const resolve = ( + analysis: string, + args: Record = {}, + webId: WebId = WEB_ID, +) => + resolveInvocation({ + invocation: { id: "test", analysis, args, webId }, + actorId: ACTOR_ID, + graphApi: {} as GraphApi, + uploadProvider, + cache, + }); + +describe("resolveInvocation (supply-chain analyses)", () => { + beforeEach(() => { + clearAnalysisRegistry(); + registerAnalyses(supplyChainAnalyses); + mockedGetRole.mockReset(); + mockedGetRole.mockResolvedValue("member" as RoleName); + }); + + it("resolves productGraph to a presigned graph artifact", async () => { + const result = await resolve("productGraph", { + productId: "democat-x100-extr", + }); + + expect(result.status).toBe("ready"); + expect(result.artifacts).toHaveLength(1); + expect(result.artifacts![0]!.name).toBe("graph"); + expect(result.artifacts![0]!.url).toContain( + `${VERSION}/democat-x100-extr/graph.json`, + ); + expect(result.artifacts![0]!.expiresAt).toBeDefined(); + }); + + it("resolves stepDetail when the step is in the manifest", async () => { + const result = await resolve("stepDetail", { + productId: "democat-x100-extr", + stepId: "prod_to_qa_pla", + }); + expect(result.status).toBe("ready"); + expect(result.artifacts![0]!.url).toContain( + "democat-x100-extr/steps/prod_to_qa_pla.json", + ); + }); + + it("errors for an unknown product", async () => { + const result = await resolve("productGraph", { + productId: "does-not-exist", + }); + expect(result.status).toBe("error"); + expect(result.error).toMatch(/unknown product/i); + }); + + it("errors for an unknown step", async () => { + const result = await resolve("stepDetail", { + productId: "democat-x100-extr", + stepId: "nope", + }); + expect(result.status).toBe("error"); + expect(result.error).toMatch(/unknown step/i); + }); + + it("rejects path-traversal product ids before touching storage", async () => { + const result = await resolve("productGraph", { productId: "../secrets" }); + expect(result.status).toBe("error"); + expect(result.error).toMatch(/slug/i); + }); + + it("denies access when the actor has no role in the web", async () => { + mockedGetRole.mockResolvedValue(null); + const result = await resolve("productGraph", { + productId: "democat-x100-extr", + }); + expect(result.status).toBe("error"); + expect(result.error).toMatch(/access/i); + }); + + it("errors for an unknown analysis name", async () => { + const result = await resolve("noSuchAnalysis"); + expect(result.status).toBe("error"); + expect(result.error).toMatch(/unknown analysis/i); + }); + + it("errors when no webId is supplied", async () => { + const result = await resolveInvocation({ + invocation: { + id: "test", + analysis: "listProducts", + webId: undefined as unknown as WebId, + }, + actorId: ACTOR_ID, + graphApi: {} as GraphApi, + uploadProvider, + cache, + }); + expect(result.status).toBe("error"); + expect(result.error).toMatch(/webId/i); + }); + + it("rejects a non-UUID webId before authorising", async () => { + const result = await resolve("listProducts", {}, "not-a-uuid" as WebId); + expect(result.status).toBe("error"); + expect(result.error).toMatch(/webId/i); + expect(mockedGetRole).not.toHaveBeenCalled(); + }); + + it("rejects non-object args", async () => { + const result = await resolveInvocation({ + invocation: { + id: "test", + analysis: "listProducts", + args: [] as unknown as Record, + webId: WEB_ID, + }, + actorId: ACTOR_ID, + graphApi: {} as GraphApi, + uploadProvider, + cache, + }); + expect(result.status).toBe("error"); + expect(result.error).toMatch(/args must be an object/i); + }); + + it("refuses to presign an artifact key outside the authorised web", async () => { + const otherWebId = "00000000-0000-4000-8000-000000000002"; + clearAnalysisRegistry(); + registerAnalyses([ + { + name: "escaping", + resolve: async () => ({ + status: "ready", + artifacts: [ + { + name: "leak", + key: `analysis/${otherWebId}/supply-chain/secret.json`, + }, + ], + }), + }, + ]); + + const result = await resolve("escaping"); + expect(result.status).toBe("error"); + expect(result.error).toMatch( + /Resolved analysis artifact key outside the authorised web/i, + ); + }); + + it("refuses to presign artifact keys with path traversal segments", async () => { + const otherWebId = "00000000-0000-4000-8000-000000000002"; + const presignDownloadByKey = vi.fn(async ({ key }: { key: string }) => { + return `https://signed.example/${key}`; + }); + + clearAnalysisRegistry(); + registerAnalyses([ + { + name: "traversing", + resolve: async () => ({ + status: "ready", + artifacts: [ + { + name: "leak", + key: `analysis/${WEB_ID}/../${otherWebId}/secret.json`, + }, + ], + }), + }, + ]); + + const result = await resolveInvocation({ + invocation: { + id: "test", + analysis: "traversing", + args: {}, + webId: WEB_ID, + }, + actorId: ACTOR_ID, + graphApi: {} as GraphApi, + uploadProvider: { + ...uploadProvider, + presignDownloadByKey, + } as unknown as FileStorageProvider, + cache, + }); + + expect(result.status).toBe("error"); + expect(result.error).toMatch( + /Resolved analysis artifact key outside the authorised web/i, + ); + expect(presignDownloadByKey).not.toHaveBeenCalled(); + }); + + it("refuses to presign an artifact key outside the analysis prefix", async () => { + clearAnalysisRegistry(); + registerAnalyses([ + { + name: "oldShape", + resolve: async () => ({ + status: "ready", + artifacts: [ + { name: "old-shape", key: `${WEB_ID}/supply-chain/secret.json` }, + ], + }), + }, + ]); + + const result = await resolve("oldShape"); + expect(result.status).toBe("error"); + expect(result.error).toMatch( + /Resolved analysis artifact key outside the authorised web/i, + ); + }); +}); diff --git a/apps/hash-api/src/analysis/setup-analysis-handler/resolve-analysis.ts b/apps/hash-api/src/analysis/setup-analysis-handler/resolve-analysis.ts new file mode 100644 index 00000000000..98239fb94f0 --- /dev/null +++ b/apps/hash-api/src/analysis/setup-analysis-handler/resolve-analysis.ts @@ -0,0 +1,222 @@ +import { getActorGroupRole } from "@local/hash-graph-sdk/principal/actor-group"; + +import { logger } from "../../logger"; +import { getAnalysisMetadata } from "../shared/analysis-registry"; +import { + AnalysisArgError, + AnalysisNotFoundError, + DatasetUnavailableError, +} from "../shared/errors"; +import { isWebScopedKeyForWeb } from "../shared/storage-key"; + +import type { GraphApi } from "../../graph/context-types"; +import type { ActorEntityUuid } from "@blockprotocol/type-system"; +import type { FileStorageProvider } from "@local/hash-backend-utils/file-storage"; +import type { + AnalysisInvocation, + AnalysisResult, +} from "@local/hash-isomorphic-utils/analysis/types"; +import type Keyv from "keyv"; + +/** + * Presigned URLs are short-lived: the frontend re-runs the gateway when a URL + * nears expiry rather than holding long-lived credentials. We cache the URL + * (minus an offset) so repeat invocations within the window are cheap. + */ +const ANALYSIS_URL_EXPIRATION_SECONDS = 60 * 60; +const ANALYSIS_URL_CACHE_OFFSET_SECONDS = 60 * 5; + +/** + * Web ids are UUIDs. Validating shape before they reach authorisation or storage + * key construction is cheap defence-in-depth (and yields clearer errors than a + * downstream failure on a malformed id). + */ +const UUID_PATTERN = + /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i; + +const isValidWebId = (value: unknown): value is string => + typeof value === "string" && UUID_PATTERN.test(value); + +/** Internal sentinel for an authorisation failure on a specific web. */ +class WebAuthorisationError extends Error {} + +/** Cached presign payload: the URL plus its true expiry. */ +interface CachedPresign { + url: string; + expiresAt: string; +} + +export interface ResolveInvocationParams { + invocation: AnalysisInvocation; + actorId: ActorEntityUuid; + graphApi: GraphApi; + uploadProvider: FileStorageProvider; + cache: Keyv; +} + +export const resolveInvocation = async ({ + invocation, + actorId, + graphApi, + uploadProvider, + cache, +}: ResolveInvocationParams): Promise => { + const id = typeof invocation.id === "string" ? invocation.id : ""; + const analysisName = invocation.analysis; + const webId = invocation.webId; + + const asResult = (partial: Omit): AnalysisResult => ({ + id, + ...partial, + }); + + if (typeof analysisName !== "string" || analysisName.length === 0) { + return asResult({ status: "error", error: "Missing analysis name" }); + } + + const analysis = getAnalysisMetadata(analysisName); + if (!analysis) { + return asResult({ + status: "error", + error: `Unknown analysis "${analysisName}"`, + }); + } + + if (!isValidWebId(webId)) { + return asResult({ status: "error", error: "A valid webId is required" }); + } + + // `args` is untrusted wire input, so validate its runtime shape rather than + // trusting the declared type. + const rawArgs: unknown = invocation.args; + if ( + rawArgs !== undefined && + (typeof rawArgs !== "object" || rawArgs === null || Array.isArray(rawArgs)) + ) { + return asResult({ status: "error", error: "args must be an object" }); + } + const args = (rawArgs ?? {}) as Record; + + const requiredRole = analysis.requiredWebRole ?? "member"; + + /** + * Every artifact key an analysis resolves to must live under the authorised + * web. Keys are built via `webScopedKey`, which puts the analysis prefix first + * and the web id second, so an exact prefix + web segment match enforces that + * a (buggy or compromised) analysis cannot presign an object outside the + * caller's web. `resolve()` is otherwise free-form. + */ + const keyWithinAuthorisedWeb = (key: string): boolean => + isWebScopedKeyForWeb(key, webId); + + try { + const role = await getActorGroupRole( + graphApi, + { actorId }, + { actorId, actorGroupId: webId }, + ); + + if (!role) { + throw new WebAuthorisationError(`You do not have access to web ${webId}`); + } + + if (requiredRole === "administrator" && role !== "administrator") { + throw new WebAuthorisationError( + `Administrator role required in web ${webId}`, + ); + } + + const loadArtifact = async (key: string): Promise => { + try { + return await uploadProvider.downloadDirect({ key }); + } catch { + return null; + } + }; + + const resolution = await analysis.resolve({ + webId, + args, + loadArtifact, + }); + + if (resolution.status === "computing") { + return asResult({ + status: "computing", + retryAfterMs: resolution.retryAfterMs ?? 1000, + }); + } + + const refs = resolution.artifacts ?? []; + + const escapingRef = refs.find((ref) => !keyWithinAuthorisedWeb(ref.key)); + if (escapingRef) { + logger.error( + `Analysis "${analysisName}" resolved an artifact key outside the authorised webs [key=${escapingRef.key}]`, + ); + return asResult({ + status: "error", + error: "Resolved analysis artifact key outside the authorised web", + }); + } + + const artifacts = await Promise.all( + refs.map(async (ref) => { + const cacheKey = `analysis-presign:${ref.key}`; + let cached = await cache.get(cacheKey); + + if (!cached) { + const url = await uploadProvider.presignDownloadByKey({ + key: ref.key, + expiresInSeconds: ANALYSIS_URL_EXPIRATION_SECONDS, + }); + cached = { + url, + expiresAt: new Date( + Date.now() + ANALYSIS_URL_EXPIRATION_SECONDS * 1000, + ).toISOString(), + }; + + try { + await cache.set( + cacheKey, + cached, + (ANALYSIS_URL_EXPIRATION_SECONDS - + ANALYSIS_URL_CACHE_OFFSET_SECONDS) * + 1000, + ); + } catch (error) { + logger.warn( + `Could not cache presigned analysis URL [key=${ref.key}]: ${error}`, + ); + } + } + + return { + name: ref.name, + format: ref.format ?? "json", + url: cached.url, + expiresAt: cached.expiresAt, + }; + }), + ); + + return asResult({ status: "ready", artifacts }); + } catch (error) { + if ( + error instanceof WebAuthorisationError || + error instanceof AnalysisArgError || + error instanceof AnalysisNotFoundError || + error instanceof DatasetUnavailableError + ) { + return asResult({ status: "error", error: error.message }); + } + + logger.error( + `Unexpected error resolving analysis "${analysisName}": ${ + error instanceof Error ? error.stack : String(error) + }`, + ); + return asResult({ status: "error", error: "Internal error" }); + } +}; diff --git a/apps/hash-api/src/analysis/shared/analysis-registry.ts b/apps/hash-api/src/analysis/shared/analysis-registry.ts new file mode 100644 index 00000000000..c4d0057eda1 --- /dev/null +++ b/apps/hash-api/src/analysis/shared/analysis-registry.ts @@ -0,0 +1,79 @@ +import type { RoleName, WebId } from "@blockprotocol/type-system"; + +/** + * Reference to a stored artifact that a named analysis resolves to. The gateway + * turns each into a short-lived, directly-fetchable URL. + */ +export interface ArtifactKeyRef { + /** Logical name within the analysis result, e.g. `"graph"`. */ + name: string; + /** Storage key, relative to the provider's default location. */ + key: string; + /** Wire format hint surfaced to the client (defaults to `"json"`). */ + format?: string; +} + +/** Context handed to a named analysis when resolving an invocation. */ +export interface AnalysisResolutionContext { + /** + * The (already authorised) web the analysis is scoped to. Artifacts the + * analysis resolves must live under this web's storage prefix. + */ + webId: WebId; + /** Validated-as-an-object analysis arguments (may be empty). */ + args: Record; + /** + * Read a stored artifact's raw bytes by key, e.g. to load a dataset pointer + * or manifest during resolution. Returns `null` if the object is missing. + */ + loadArtifact: (key: string) => Promise; +} + +/** The outcome of resolving a single invocation. */ +export interface AnalysisResolution { + status: "ready" | "computing"; + /** Present when `status === "ready"`. */ + artifacts?: ArtifactKeyRef[]; + /** Present when `status === "computing"`: client poll hint. */ + retryAfterMs?: number; +} + +/** + * A server-registered analysis. Each analysis owns its own argument validation + * and (where relevant) dataset/manifest membership checks, keeping the gateway + * and registry domain-agnostic. + */ +export interface NamedAnalysis { + /** Unique name clients reference, e.g. `"productGraph"`. */ + name: string; + /** + * Minimum role the actor must hold in the scoped web. Defaults to `"member"` + * (any web role grants access). + */ + requiredWebRole?: RoleName; + resolve: (ctx: AnalysisResolutionContext) => Promise; +} + +const registry = new Map(); + +/** Register a named analysis. Throws if the name is already taken. */ +export const registerAnalysis = (analysis: NamedAnalysis): void => { + if (registry.has(analysis.name)) { + throw new Error(`Analysis "${analysis.name}" is already registered`); + } + registry.set(analysis.name, analysis); +}; + +export const registerAnalyses = (analyses: readonly NamedAnalysis[]): void => { + for (const analysis of analyses) { + registerAnalysis(analysis); + } +}; + +export const getAnalysisMetadata = (name: string): NamedAnalysis | undefined => + registry.get(name); + +/** Exposed for tests: clear all registered analyses. */ +export const clearAnalysisRegistry = (): void => { + registry.clear(); +}; diff --git a/apps/hash-api/src/analysis/shared/errors.ts b/apps/hash-api/src/analysis/shared/errors.ts new file mode 100644 index 00000000000..83c78bd3f4f --- /dev/null +++ b/apps/hash-api/src/analysis/shared/errors.ts @@ -0,0 +1,34 @@ +/** + * Errors thrown while resolving a named analysis. The gateway maps each to an + * appropriate per-result status (the batch request itself still returns 200). + */ + +/** Invalid or missing arguments for an analysis (maps to `error`, client fault). */ +export class AnalysisArgError extends Error { + public readonly code = "INVALID_ARGS"; + + constructor(message: string) { + super(message); + this.name = "AnalysisArgError"; + } +} + +/** A requested entity/artifact does not exist in the resolved dataset. */ +export class AnalysisNotFoundError extends Error { + public readonly code = "NOT_FOUND"; + + constructor(message: string) { + super(message); + this.name = "AnalysisNotFoundError"; + } +} + +/** The dataset for a web/version is missing or not yet provisioned. */ +export class DatasetUnavailableError extends Error { + public readonly code = "DATASET_UNAVAILABLE"; + + constructor(message: string) { + super(message); + this.name = "DatasetUnavailableError"; + } +} diff --git a/apps/hash-api/src/analysis/shared/storage-key.test.ts b/apps/hash-api/src/analysis/shared/storage-key.test.ts new file mode 100644 index 00000000000..29d46138c30 --- /dev/null +++ b/apps/hash-api/src/analysis/shared/storage-key.test.ts @@ -0,0 +1,127 @@ +import { describe, expect, it } from "vitest"; + +import { AnalysisArgError } from "./errors"; +import { + isWebScopedKeyForWeb, + isValidSlug, + optionalSlugArg, + requireSlugArg, + webScopedKey, +} from "./storage-key"; + +import type { WebId } from "@blockprotocol/type-system"; + +describe("webScopedKey", () => { + const webId = "00000000-0000-4000-8000-000000000001" as WebId; + + it("puts the webId after the analysis prefix", () => { + const key = webScopedKey(webId, "supply-chain", "2026-06-15", "graph.json"); + expect(key).toBe(`analysis/${webId}/supply-chain/2026-06-15/graph.json`); + expect(key.split("/")[0]).toBe("analysis"); + expect(key.split("/")[1]).toBe(webId); + }); + + it("works with just a namespace", () => { + expect(webScopedKey(webId, "supply-chain")).toBe( + `analysis/${webId}/supply-chain`, + ); + }); + + it("checks both the analysis prefix and webId segment", () => { + const key = webScopedKey(webId, "supply-chain", "current.json"); + expect(isWebScopedKeyForWeb(key, webId)).toBe(true); + expect( + isWebScopedKeyForWeb(`${webId}/supply-chain/current.json`, webId), + ).toBe(false); + expect( + isWebScopedKeyForWeb( + "analysis/00000000-0000-4000-8000-000000000002/supply-chain/current.json", + webId, + ), + ).toBe(false); + }); + + it("rejects dot segments that could normalize outside the web scope", () => { + for (const key of [ + `analysis/${webId}/../00000000-0000-4000-8000-000000000002/secret.json`, + `analysis/${webId}/supply-chain/../secret.json`, + `analysis/${webId}/./supply-chain/current.json`, + `analysis/${webId}//supply-chain/current.json`, + ]) { + expect(isWebScopedKeyForWeb(key, webId)).toBe(false); + } + }); +}); + +describe("isValidSlug", () => { + it("accepts typical product/site/step ids", () => { + for (const slug of [ + "democat-x100-extr", + "demo-plant", + "prod_to_qa_pla", + "90000300001", + "raw_dwell_alpha_oxide", + "procurement_alumina_activated_fo_24a_sa=170_20", + ]) { + expect(isValidSlug(slug)).toBe(true); + } + }); + + it("rejects path-traversal and separator characters", () => { + for (const bad of [ + "..", + ".", + "../etc/passwd", + "a/b", + "a\\b", + "with space", + "", + "/leading", + ]) { + expect(isValidSlug(bad)).toBe(false); + } + }); + + it("rejects non-strings", () => { + expect(isValidSlug(undefined)).toBe(false); + expect(isValidSlug(null)).toBe(false); + expect(isValidSlug(42)).toBe(false); + expect(isValidSlug({})).toBe(false); + }); + + it("rejects over-long slugs", () => { + expect(isValidSlug("a".repeat(129))).toBe(false); + expect(isValidSlug("a".repeat(128))).toBe(true); + }); +}); + +describe("requireSlugArg", () => { + it("returns a valid slug", () => { + expect( + requireSlugArg({ productId: "democat-x100-extr" }, "productId"), + ).toBe("democat-x100-extr"); + }); + + it("throws AnalysisArgError for an invalid or missing slug", () => { + expect(() => requireSlugArg({ productId: "../x" }, "productId")).toThrow( + AnalysisArgError, + ); + expect(() => requireSlugArg({}, "productId")).toThrow(AnalysisArgError); + }); +}); + +describe("optionalSlugArg", () => { + it("returns undefined when absent", () => { + expect(optionalSlugArg({}, "siteId")).toBeUndefined(); + expect(optionalSlugArg({ siteId: null }, "siteId")).toBeUndefined(); + }); + + it("validates when present", () => { + expect(optionalSlugArg({ siteId: "demo-plant" }, "siteId")).toBe( + "demo-plant", + ); + expect(() => optionalSlugArg({ siteId: "a/b" }, "siteId")).toThrow( + AnalysisArgError, + ); + }); +}); diff --git a/apps/hash-api/src/analysis/shared/storage-key.ts b/apps/hash-api/src/analysis/shared/storage-key.ts new file mode 100644 index 00000000000..de60efab6a8 --- /dev/null +++ b/apps/hash-api/src/analysis/shared/storage-key.ts @@ -0,0 +1,74 @@ +import { AnalysisArgError } from "./errors"; + +import type { WebId } from "@blockprotocol/type-system"; + +/** + * Top-level storage prefix for all analysis artifacts. + */ +const ANALYSIS_STORAGE_PREFIX = "analysis"; + +/** + * Build a storage key for a web-scoped artifact, with the analysis prefix first, + * then the `webId`, namespace, and any further parts. + * + * Keeping the web id in a fixed segment makes it a tenant-isolation prefix: the + * analysis gateway authorises a resolved key by an exact match on that segment + * (see `resolve-analysis.ts`), and storage policies/lifecycle rules can be + * scoped to an `analysis/{webId}/` prefix. All artifact keys MUST be built + * through this helper so that invariant holds. + */ +export const webScopedKey = ( + webId: WebId, + namespace: string, + ...parts: string[] +): string => [ANALYSIS_STORAGE_PREFIX, webId, namespace, ...parts].join("/"); + +export const isWebScopedKeyForWeb = (key: string, webId: WebId): boolean => { + const [prefix, scopedWebId, ...artifactParts] = key.split("/"); + return ( + prefix === ANALYSIS_STORAGE_PREFIX && + scopedWebId === webId && + artifactParts.length > 0 && + artifactParts.every( + (part) => part.length > 0 && part !== "." && part !== "..", + ) + ); +}; + +/** + * Slugs are the only values interpolated into storage keys from client input. + * Restricting them to a bounded set of non-separator characters prevents path + * traversal and key-injection regardless of the underlying storage provider. + */ +const SLUG_PATTERN = /^[a-zA-Z0-9_][a-zA-Z0-9_.=-]{0,127}$/; + +export const isValidSlug = (value: unknown): value is string => + typeof value === "string" && SLUG_PATTERN.test(value); + +/** + * Read a required slug argument, throwing {@link AnalysisArgError} if it is + * missing or fails validation. + */ +export const requireSlugArg = ( + args: Record, + key: string, +): string => { + const value = args[key]; + if (!isValidSlug(value)) { + throw new AnalysisArgError( + `Argument "${key}" must be a slug matching ${SLUG_PATTERN.source}`, + ); + } + return value; +}; + +/** Read an optional slug argument; returns `undefined` if absent. */ +export const optionalSlugArg = ( + args: Record, + key: string, +): string | undefined => { + if (args[key] === undefined || args[key] === null) { + return undefined; + } + return requireSlugArg(args, key); +}; diff --git a/apps/hash-api/src/auth/create-auth-handlers.ts b/apps/hash-api/src/auth/create-auth-handlers.ts index 3122687ee78..a9e7625c0f6 100644 --- a/apps/hash-api/src/auth/create-auth-handlers.ts +++ b/apps/hash-api/src/auth/create-auth-handlers.ts @@ -7,6 +7,7 @@ import { publicUserAccountId } from "@local/hash-backend-utils/public-user-accou import { createUser, getUser } from "../graph/knowledge/system-types/user"; import { systemAccountId } from "../graph/system-account"; +import { telemetry } from "../telemetry/telemetry"; import { hydraAdmin } from "./ory-hydra"; import { kratosFrontendApi } from "./ory-kratos"; @@ -67,11 +68,26 @@ const kratosAfterRegistrationHookHandler = throw new Error("User registration is disabled."); } - await createUser(context, authentication, { + const user = await createUser(context, authentication, { emails, kratosIdentityId, }); + // This is a Kratos -> server webhook, so there is no `req.user` and + // `req.ip` is Kratos's, not the registrant's. Emit via the actor path + // keyed on the newly created user's accountId. + const actor = { + accountId: user.accountId, + shortname: user.shortname, + }; + telemetry.identifyActor(actor, { + email: emails[0], + shortname: user.shortname, + }); + telemetry.trackForActor(actor, "user_register", { + email: emails[0], + }); + res.status(200).end(); } catch (error) { // The kratos hook can interrupt creation on 4xx and 5xx responses. diff --git a/apps/hash-api/src/email/create-email-transporter.ts b/apps/hash-api/src/email/create-email-transporter.ts index 18fde6d81ae..216b91bc192 100644 --- a/apps/hash-api/src/email/create-email-transporter.ts +++ b/apps/hash-api/src/email/create-email-transporter.ts @@ -6,7 +6,12 @@ import { monorepoRootDir, } from "@local/hash-backend-utils/environment"; -import { isDevEnv, isProdEnv, isTestEnv } from "../lib/env-config"; +import { + isDevEnv, + isProdEnv, + isStagingEnv, + isTestEnv, +} from "../lib/env-config"; import { logger } from "../logger"; import { AwsSesEmailTransporter, DummyEmailTransporter } from "./transporters"; import { SmtpEmailTransporter } from "./transporters/smtp-email-transporter"; @@ -33,7 +38,11 @@ export const createEmailTransporter = (): EmailTransporter => { }); } - const subjectPrefix = isProdEnv ? undefined : "[DEV SITE] "; + const subjectPrefix = isProdEnv + ? undefined + : isStagingEnv + ? "[STAGING SITE] " + : "[DEV SITE] "; if (transporterType === "aws") { return new AwsSesEmailTransporter({ diff --git a/apps/hash-api/src/graph/ensure-system-graph-is-initialized/migrate-ontology-types.ts b/apps/hash-api/src/graph/ensure-system-graph-is-initialized/migrate-ontology-types.ts index 424f9c671ae..a3d1f35bf1a 100644 --- a/apps/hash-api/src/graph/ensure-system-graph-is-initialized/migrate-ontology-types.ts +++ b/apps/hash-api/src/graph/ensure-system-graph-is-initialized/migrate-ontology-types.ts @@ -7,7 +7,7 @@ import { NotFoundError } from "@local/hash-backend-utils/error"; import { getHashInstance } from "@local/hash-backend-utils/hash-instance"; import { systemPropertyTypes } from "@local/hash-isomorphic-utils/ontology-type-ids"; -import { isProdEnv } from "../../lib/env-config"; +import { isDevEnv, isTestEnv } from "../../lib/env-config"; import { systemAccountId } from "../system-account"; import type { ImpureGraphContext } from "../context-types"; @@ -137,7 +137,10 @@ export const migrateOntologyTypes = async (params: { * If the migration file is marked with `.dev.migration.ts`, it * should only be seeded in non-production environments. */ - if (isProdEnv && migrationFileName.endsWith(".dev.migration.ts")) { + if ( + !(isDevEnv || isTestEnv) && + migrationFileName.endsWith(".dev.migration.ts") + ) { params.logger.debug(`Skipping dev migration ${migrationFileName}`); continue; } diff --git a/apps/hash-api/src/graph/ensure-system-graph-is-initialized/migrate-ontology-types/migrations/091-add-petri-nets.dev.migration.ts b/apps/hash-api/src/graph/ensure-system-graph-is-initialized/migrate-ontology-types/migrations/027-add-petri-nets.migration.ts similarity index 100% rename from apps/hash-api/src/graph/ensure-system-graph-is-initialized/migrate-ontology-types/migrations/091-add-petri-nets.dev.migration.ts rename to apps/hash-api/src/graph/ensure-system-graph-is-initialized/migrate-ontology-types/migrations/027-add-petri-nets.migration.ts diff --git a/apps/hash-api/src/graph/ensure-system-graph-is-initialized/migrate-ontology-types/migrations/028-add-supply-chain-view-feedback-and-settings.migration.ts b/apps/hash-api/src/graph/ensure-system-graph-is-initialized/migrate-ontology-types/migrations/028-add-supply-chain-view-feedback-and-settings.migration.ts new file mode 100644 index 00000000000..f082f6c7b4a --- /dev/null +++ b/apps/hash-api/src/graph/ensure-system-graph-is-initialized/migrate-ontology-types/migrations/028-add-supply-chain-view-feedback-and-settings.migration.ts @@ -0,0 +1,190 @@ +import { blockProtocolDataTypes } from "@local/hash-isomorphic-utils/ontology-type-ids"; + +import { + createSystemDataTypeIfNotExists, + createSystemEntityTypeIfNotExists, + createSystemPropertyTypeIfNotExists, + getCurrentHashDataTypeId, + getCurrentHashPropertyTypeId, +} from "../util"; + +import type { MigrationFunction } from "../types"; + +const migrate: MigrationFunction = async ({ + context, + authentication, + migrationState, +}) => { + const durationDataTypeId = getCurrentHashDataTypeId({ + dataTypeKey: "duration", + migrationState, + }); + + const scopeKeyPropertyType = await createSystemPropertyTypeIfNotExists( + context, + authentication, + { + propertyTypeDefinition: { + title: "Scope Key", + description: "A stable key identifying something within a scope.", + possibleValues: [{ primitiveDataType: "text" }], + }, + migrationState, + webShortname: "h", + }, + ); + + const statusCategoryDataType = await createSystemDataTypeIfNotExists( + context, + authentication, + { + dataTypeDefinition: { + allOf: [{ $ref: blockProtocolDataTypes.text.dataTypeId }], + title: "Opportunity Status Category", + description: + "The category of a status update left against an opportunity.", + enum: [ + "Investigation started", + "Investigation update", + "Investigation concluded", + "Rejected (infeasible)", + "Rejected (data issue)", + ], + type: "string", + }, + conversions: {}, + migrationState, + webShortname: "h", + }, + ); + + const statusCategoryPropertyType = await createSystemPropertyTypeIfNotExists( + context, + authentication, + { + propertyTypeDefinition: { + title: "Opportunity Status", + description: "The category assigned to a status report.", + possibleValues: [{ dataTypeId: statusCategoryDataType.schema.$id }], + }, + migrationState, + webShortname: "h", + }, + ); + + const statusTextPropertyType = await createSystemPropertyTypeIfNotExists( + context, + authentication, + { + propertyTypeDefinition: { + title: "Status Update Text", + description: "Text providing an update in the status of something.", + possibleValues: [{ primitiveDataType: "text" }], + }, + migrationState, + webShortname: "h", + }, + ); + + const readItemPropertyType = await createSystemPropertyTypeIfNotExists( + context, + authentication, + { + propertyTypeDefinition: { + title: "Read Item", + description: "An item which has been read by someone or something.", + possibleValues: [{ primitiveDataType: "text" }], + }, + migrationState, + webShortname: "h", + }, + ); + + const timePeriodPropertyType = await createSystemPropertyTypeIfNotExists( + context, + authentication, + { + propertyTypeDefinition: { + title: "Time Period", + description: "A period of time.", + possibleValues: [{ dataTypeId: durationDataTypeId }], + }, + migrationState, + webShortname: "h", + }, + ); + + const excludeOutliersPropertyType = await createSystemPropertyTypeIfNotExists( + context, + authentication, + { + propertyTypeDefinition: { + title: "Exclude Outliers", + description: + "Whether outlying observations should be excluded from analysis or view.", + possibleValues: [{ primitiveDataType: "boolean" }], + }, + migrationState, + webShortname: "h", + }, + ); + + const excludeLowSamplesPropertyType = + await createSystemPropertyTypeIfNotExists(context, authentication, { + propertyTypeDefinition: { + title: "Exclude Low Samples", + description: + "Whether items with too few samples should be excluded from analysis or view.", + possibleValues: [{ primitiveDataType: "boolean" }], + }, + migrationState, + webShortname: "h", + }); + + const siteCodePropertyTypeId = getCurrentHashPropertyTypeId({ + propertyTypeKey: "siteCode", + migrationState, + }); + + // The frontend records opportunity status through the generic GraphQL entity + // path, so this intentionally remains a reusable opportunity status type + // rather than a supply-chain-only status report helper. + await createSystemEntityTypeIfNotExists(context, authentication, { + entityTypeDefinition: { + title: "Opportunity Status Update", + titlePlural: "Opportunity Status Updates", + description: + "A status update for an opportunity for change or improvement.", + labelProperty: scopeKeyPropertyType.metadata.recordId.baseUrl, + properties: [ + { propertyType: scopeKeyPropertyType.schema.$id, required: true }, + { propertyType: siteCodePropertyTypeId, required: true }, + { propertyType: statusCategoryPropertyType.schema.$id, required: true }, + { propertyType: statusTextPropertyType.schema.$id }, + ], + }, + migrationState, + webShortname: "h", + }); + + await createSystemEntityTypeIfNotExists(context, authentication, { + entityTypeDefinition: { + title: "Supply Chain User Preferences", + titlePlural: "Supply Chain User Preferences", + description: + "User-scoped preferences for supply-chain views in a HASH web.", + properties: [ + { propertyType: readItemPropertyType.schema.$id, array: true }, + { propertyType: timePeriodPropertyType.schema.$id }, + { propertyType: excludeOutliersPropertyType.schema.$id }, + { propertyType: excludeLowSamplesPropertyType.schema.$id }, + ], + }, + migrationState, + webShortname: "h", + }); + + return migrationState; +}; + +export default migrate; diff --git a/apps/hash-api/src/graph/ensure-system-graph-is-initialized/migrate-ontology-types/migrations/090-add-aviation-types.dev.migration.ts b/apps/hash-api/src/graph/ensure-system-graph-is-initialized/migrate-ontology-types/migrations/090-add-aviation-types.dev.migration.ts index 10753e82ff1..23003b9b1bc 100644 --- a/apps/hash-api/src/graph/ensure-system-graph-is-initialized/migrate-ontology-types/migrations/090-add-aviation-types.dev.migration.ts +++ b/apps/hash-api/src/graph/ensure-system-graph-is-initialized/migrate-ontology-types/migrations/090-add-aviation-types.dev.migration.ts @@ -825,16 +825,16 @@ const migrate: MigrationFunction = async ({ * Step 3: Create link entity types */ - const departsFromLinkEntityType = await createSystemEntityTypeIfNotExists( + const takesOffFromLinkEntityType = await createSystemEntityTypeIfNotExists( context, authentication, { entityTypeDefinition: { allOf: [blockProtocolEntityTypes.link.entityTypeId], - title: "Departs From", + title: "Takes Off From", icon: "/icons/types/plane-departure.svg", inverse: { - title: "Departure For", + title: "Takeoff For", }, description: "Indicates the airport from which a flight departs, including departure-specific details.", @@ -856,16 +856,16 @@ const migrate: MigrationFunction = async ({ }, ); - const arrivesAtLinkEntityType = await createSystemEntityTypeIfNotExists( + const landsAtLinkEntityType = await createSystemEntityTypeIfNotExists( context, authentication, { entityTypeDefinition: { allOf: [blockProtocolEntityTypes.link.entityTypeId], - title: "Arrives At", + title: "Lands At", icon: "/icons/types/plane-arrival.svg", inverse: { - title: "Arrival For", + title: "Landing For", }, description: "Indicates the airport at which a flight arrives, including arrival-specific details.", @@ -988,13 +988,13 @@ const migrate: MigrationFunction = async ({ ], outgoingLinks: [ { - linkEntityType: departsFromLinkEntityType, + linkEntityType: takesOffFromLinkEntityType, destinationEntityTypes: [airportEntityType.schema.$id], minItems: 1, maxItems: 1, }, { - linkEntityType: arrivesAtLinkEntityType, + linkEntityType: landsAtLinkEntityType, destinationEntityTypes: [airportEntityType.schema.$id], minItems: 1, maxItems: 1, diff --git a/apps/hash-api/src/index.ts b/apps/hash-api/src/index.ts index f5635297949..e8bbafb5fce 100644 --- a/apps/hash-api/src/index.ts +++ b/apps/hash-api/src/index.ts @@ -47,6 +47,7 @@ import { gptQueryEntities } from "./ai/gpt/gpt-query-entities"; import { gptQueryTypes } from "./ai/gpt/gpt-query-types"; import { upsertGptOauthClient } from "./ai/gpt/upsert-gpt-oauth-client"; import { openInferEntitiesWebSocket } from "./ai/infer-entities-websocket"; +import { setupAnalysisHandler } from "./analysis/setup-analysis-handler"; import { addKratosAfterRegistrationHandler, createAuthMiddleware, @@ -91,7 +92,8 @@ import { setupFileDownloadProxyHandler, setupStorageProviders, } from "./storage"; -import { setupTelemetry } from "./telemetry/snowplow-setup"; +import { telemetry } from "./telemetry/telemetry"; +import { setupTelemetryHandler } from "./telemetry/telemetry-endpoint"; import type { ProvidedEntityEditionProvenance } from "@blockprotocol/type-system"; import type { ErrorRequestHandler, Request, Response } from "express"; @@ -189,7 +191,7 @@ const kratosProxyReadRateLimiter = rateLimit({ */ const graphqlRateLimiter = rateLimit({ windowMs: process.env.NODE_ENV === "test" ? 10 : 1000 * 60, // 1 minute - limit: (req) => (req.user ? 300 : 60), + limit: (req) => (req.user ? 1_000 : 120), standardHeaders: true, legacyHeaders: false, keyGenerator: (req) => { @@ -344,17 +346,6 @@ const kratosProxy = createProxyMiddleware({ const main = async () => { logger.info("Type System initialized"); - if (process.env.HASH_TELEMETRY_ENABLED === "true") { - logger.info("Starting [Snowplow] telemetry"); - - const snowplowTracker = await setupTelemetry(); - - shutdown.addCleanup("Snowplow Telemetry", async () => { - logger.info("Flushing [Snowplow] telemetry"); - await snowplowTracker.flush(); - }); - } - // Request ID generator const nanoid = customAlphabet( "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz", @@ -747,6 +738,11 @@ const main = async () => { setupFileDownloadProxyHandler(app, keyv); + setupAnalysisHandler(app, keyv); + + setupTelemetryHandler(app); + shutdown.addCleanup("Rudderstack Telemetry", async () => telemetry.flush()); + setupBlockProtocolExternalServiceMethodProxy(app); app.get("/", (_req, res) => { diff --git a/apps/hash-api/src/instrument.mjs b/apps/hash-api/src/instrument.mjs index 9f48bdef97d..68d954b072c 100644 --- a/apps/hash-api/src/instrument.mjs +++ b/apps/hash-api/src/instrument.mjs @@ -13,7 +13,7 @@ import { registerOpenTelemetry, } from "@local/hash-backend-utils/opentelemetry"; -import { isProdEnv } from "./lib/env-config"; +import { isProdEnv, isStagingEnv } from "./lib/env-config"; /** * OpenTelemetry setup handle, exported so `index.ts` can wire @@ -55,7 +55,7 @@ export const otelSetup = (() => { // Outside production, fail loud: the only realistic causes here are // coding errors (bad URL, malformed instrumentation config) and // hiding them in dev/CI loses regressions. - if (!isProdEnv) { + if (!isProdEnv && !isStagingEnv) { throw error; } // eslint-disable-next-line no-console diff --git a/apps/hash-api/src/lib/config.ts b/apps/hash-api/src/lib/config.ts index 38b62a55b53..8a0ffe1c026 100644 --- a/apps/hash-api/src/lib/config.ts +++ b/apps/hash-api/src/lib/config.ts @@ -1,3 +1,6 @@ +import os from "node:os"; +import path from "node:path"; + import { storageTypes } from "@local/hash-backend-utils/file-storage"; import { frontendUrl } from "@local/hash-isomorphic-utils/environment"; @@ -19,7 +22,10 @@ export function getEnvStorageType(): StorageType { } export const LOCAL_FILE_UPLOAD_PATH = - process.env.LOCAL_FILE_UPLOAD_PATH || "var/uploads/"; + process.env.LOCAL_FILE_UPLOAD_PATH ?? + (process.env.NODE_ENV === "test" + ? path.join(os.tmpdir(), `hash-test-uploads-${process.pid}`) + : "var/uploads/"); export const GRAPHQL_PATH = "/graphql"; diff --git a/apps/hash-api/src/lib/env-config.ts b/apps/hash-api/src/lib/env-config.ts index c36e203601a..e6297a37795 100644 --- a/apps/hash-api/src/lib/env-config.ts +++ b/apps/hash-api/src/lib/env-config.ts @@ -6,11 +6,14 @@ const PORT = process.env.PORT; export const isTestEnv = process.env.NODE_ENV === "test"; /** Whether the backend is running in the development environment. */ -export const isDevEnv = - process.env.NODE_ENV === "development" || !process.env.NODE_ENV; +export const isDevEnv = process.env.NODE_ENV === "development"; /** Whether the backend is running in the production environment. */ -export const isProdEnv = process.env.NODE_ENV === "production"; +export const isProdEnv = + process.env.ENVIRONMENT === "production" || + (!process.env.ENVIRONMENT && process.env.NODE_ENV === "production"); + +export const isStagingEnv = process.env.ENVIRONMENT === "staging"; /** The port the backend server should be running on */ export const port = PORT ? parseInt(PORT, 10) : 5001; diff --git a/apps/hash-api/src/seed-data/import-supply-chain-dataset.ts b/apps/hash-api/src/seed-data/import-supply-chain-dataset.ts new file mode 100644 index 00000000000..539cce341ee --- /dev/null +++ b/apps/hash-api/src/seed-data/import-supply-chain-dataset.ts @@ -0,0 +1,231 @@ +/** + * Local development utility for importing externally generated supply-chain + * analysis artifacts into a HASH web. + * + * The importer publishes a directory of JSON artifacts into HASH's analysis + * storage namespace so the `/supply-chain` route can exercise the same gateway + * path as seeded demo data. + */ + +import express from "express"; + +import { + type ProvidedEntityEditionProvenance, + type WebId, +} from "@blockprotocol/type-system"; +import { createGraphClient } from "@local/hash-backend-utils/create-graph-client"; +import { getRequiredEnv } from "@local/hash-backend-utils/environment"; + +import { getOrgByShortname } from "../graph/knowledge/system-types/org"; +import { + ensureHashSystemAccountExists, + systemAccountId, +} from "../graph/system-account"; +import { getEnvStorageType } from "../lib/config"; +import { isDevEnv, isTestEnv } from "../lib/env-config"; +import { logger } from "../logger"; +import { setupStorageProviders } from "../storage"; +import { + defaultSupplyChainDatasetVersion, + planSupplyChainDatasetImport, + uploadSupplyChainDataset, +} from "./supply-chain-dataset-import"; + +import type { ImpureGraphContext } from "../graph/context-types"; + +interface CliArgs { + dryRun: boolean; + orgShortname?: string; + source?: string; + version: string; + webId?: WebId; +} + +const usage = ` +Usage: + yarn workspace @apps/hash-api dev:import-supply-chain-data -- --source (--org-shortname | --web-id ) [--version ] [--dry-run] + +Options: + --source Directory containing products.json and product artifacts + --org-shortname Resolve the target HASH web from an organization shortname + --web-id Target HASH web id directly + --version Dataset version to publish (default: local timestamp) + --dry-run Validate and report without uploading +`; + +const readFlagValue = ( + args: string[], + index: number, + flag: string, +): { value: string; nextIndex: number } => { + const value = args[index + 1]; + if (!value || value.startsWith("--")) { + throw new Error(`${flag} requires a value`); + } + return { value, nextIndex: index + 1 }; +}; + +const parseArgs = (argv: string[]): CliArgs => { + const parsed: CliArgs = { + dryRun: false, + version: defaultSupplyChainDatasetVersion(), + }; + + for (let i = 0; i < argv.length; i += 1) { + const arg = argv[i]; + + switch (arg) { + case "--": + break; + case "--source": { + const { value, nextIndex } = readFlagValue(argv, i, arg); + parsed.source = value; + i = nextIndex; + break; + } + case "--org-shortname": { + const { value, nextIndex } = readFlagValue(argv, i, arg); + parsed.orgShortname = value; + i = nextIndex; + break; + } + case "--web-id": { + const { value, nextIndex } = readFlagValue(argv, i, arg); + parsed.webId = value as WebId; + i = nextIndex; + break; + } + case "--version": { + const { value, nextIndex } = readFlagValue(argv, i, arg); + parsed.version = value; + i = nextIndex; + break; + } + case "--dry-run": + parsed.dryRun = true; + break; + case "--help": + case "-h": + process.stdout.write(usage); + process.exit(0); + break; + default: + throw new Error(`Unknown argument: ${arg}`); + } + } + + if (!parsed.source) { + throw new Error("--source is required"); + } + if (parsed.orgShortname && parsed.webId) { + throw new Error("Pass exactly one of --org-shortname or --web-id"); + } + if (!parsed.orgShortname && !parsed.webId) { + throw new Error("Pass exactly one of --org-shortname or --web-id"); + } + + return parsed; +}; + +const provenance: ProvidedEntityEditionProvenance = { + actorType: "machine", + origin: { + type: "api", + }, +}; + +const createContext = (): ImpureGraphContext => { + const graphApi = createGraphClient(logger, { + host: getRequiredEnv("HASH_GRAPH_HTTP_HOST"), + port: Number.parseInt(getRequiredEnv("HASH_GRAPH_HTTP_PORT"), 10), + }); + + const uploadProvider = setupStorageProviders(express(), getEnvStorageType()); + + return { + graphApi, + provenance, + uploadProvider, + }; +}; + +const resolveTargetWebId = async ( + context: ImpureGraphContext, + args: CliArgs, +): Promise => { + if (args.webId) { + return args.webId; + } + + await ensureHashSystemAccountExists({ logger, context }); + + const org = await getOrgByShortname( + context, + { actorId: systemAccountId }, + { shortname: args.orgShortname! }, + ); + + if (!org) { + throw new Error( + `No organization found with shortname "${args.orgShortname}"`, + ); + } + + return org.webId; +}; + +const importSupplyChainDataset = async () => { + if (!isDevEnv && !isTestEnv) { + throw new Error( + "Supply-chain dataset import is only available in development or test.", + ); + } + + const args = parseArgs(process.argv.slice(2)); + const plan = planSupplyChainDatasetImport({ + sourceDir: args.source!, + version: args.version, + }); + + logger.info( + `Supply-chain dataset ${plan.version}: ${plan.manifest.products.length} products, ${plan.manifest.sites.length} sites, ${Object.values( + plan.manifest.steps, + ).reduce( + (sum, productSteps) => sum + productSteps.length, + 0, + )} steps, ${plan.files.length} source JSON files.`, + ); + + if (args.dryRun && args.webId) { + logger.info("Dry run complete; no files uploaded."); + return; + } + + const context = createContext(); + const webId = await resolveTargetWebId(context, args); + + if (args.dryRun) { + logger.info(`Dry run complete for web ${webId}; no files uploaded.`); + return; + } + + const result = await uploadSupplyChainDataset({ + plan, + uploadProvider: context.uploadProvider, + webId, + }); + + logger.info( + `Imported supply-chain dataset ${plan.version} into web ${webId}: ${result.uploadedFiles} JSON files uploaded.`, + ); +}; + +try { + await importSupplyChainDataset(); +} catch (error) { + logger.error( + error instanceof Error ? error.message : `Import failed: ${String(error)}`, + ); + process.stderr.write(usage); + process.exit(1); +} diff --git a/apps/hash-api/src/seed-data/index.ts b/apps/hash-api/src/seed-data/index.ts index 9db3c9fc39f..8d710f6fc94 100644 --- a/apps/hash-api/src/seed-data/index.ts +++ b/apps/hash-api/src/seed-data/index.ts @@ -6,7 +6,9 @@ import { } from "../graph/knowledge/system-types/org"; import { createOrgMembershipLinkEntity } from "../graph/knowledge/system-types/org-membership"; import { joinOrg } from "../graph/knowledge/system-types/user"; +import { isDevEnv, isTestEnv } from "../lib/env-config"; import { seedPages } from "./seed-pages"; +import { seedSupplyChainDemo } from "./seed-supply-chain-demo"; import { ensureUsersAreSeeded } from "./seed-users"; import type { ImpureGraphContext } from "../graph/context-types"; @@ -156,4 +158,10 @@ export const seedOrgsAndUsers = async (params: { ); } } + + // Seed the precomputed supply-chain demo dataset into the example org's web + // (dev/test only – it no-ops where the example org or vendored data are absent). + if (isDevEnv || isTestEnv) { + await seedSupplyChainDemo({ logger, context }); + } }; diff --git a/apps/hash-api/src/seed-data/seed-supply-chain-demo.ts b/apps/hash-api/src/seed-data/seed-supply-chain-demo.ts new file mode 100644 index 00000000000..0e8a17de406 --- /dev/null +++ b/apps/hash-api/src/seed-data/seed-supply-chain-demo.ts @@ -0,0 +1,127 @@ +import fs from "node:fs"; +import path from "node:path"; +import { fileURLToPath } from "node:url"; + +import { webScopedKey } from "../analysis/shared/storage-key"; +import { getOrgByShortname } from "../graph/knowledge/system-types/org"; +import { systemAccountId } from "../graph/system-account"; +import { + planSupplyChainDatasetImport, + uploadSupplyChainDataset, +} from "./supply-chain-dataset-import"; + +import type { ImpureGraphContext } from "../graph/context-types"; +import type { Logger } from "@local/hash-backend-utils/logger"; + +/** + * Vendored, web-agnostic demo dataset for the supply-chain views. + */ +const DEMO_DATA_DIR = path.join( + path.dirname(fileURLToPath(import.meta.url)), + "supply-chain-demo", +); + +const EXAMPLE_ORG_SHORTNAME = "example-org"; +const STORAGE_NAMESPACE = "supply-chain"; + +/** The `datasetVersion` of the vendored dataset, or `null` if unreadable. */ +const readVendoredDatasetVersion = (): string | null => { + try { + const raw = fs.readFileSync( + path.join(DEMO_DATA_DIR, "current.json"), + "utf8", + ); + const parsed = JSON.parse(raw) as { datasetVersion?: unknown }; + return typeof parsed.datasetVersion === "string" + ? parsed.datasetVersion + : null; + } catch { + return null; + } +}; + +/** + * Upload the vendored supply-chain demo dataset into the `@example-org` web's + * storage namespace so the analysis gateway can serve it to seeded users. + * + * Safe to call on every boot: + * - no-ops in environments without the example org (e.g. production) or without + * vendored data; + * - skips when the web already has this `datasetVersion` seeded (so reboots are + * cheap), and otherwise re-uploads. Storage keys are deterministic, so an + * upload overwrites the existing object rather than creating duplicates. + */ +export const seedSupplyChainDemo = async (params: { + logger: Logger; + context: ImpureGraphContext; +}): Promise => { + const { logger, context } = params; + + if (!fs.existsSync(DEMO_DATA_DIR)) { + logger.info("No supply-chain demo data vendored; skipping demo seed."); + return; + } + + const { uploadProvider } = context; + if (!uploadProvider) { + logger.warn( + "No upload provider available; skipping supply-chain demo seed.", + ); + return; + } + + const org = await getOrgByShortname( + context, + { actorId: systemAccountId }, + { shortname: EXAMPLE_ORG_SHORTNAME }, + ); + + if (!org) { + logger.info( + `No "${EXAMPLE_ORG_SHORTNAME}" org found; skipping supply-chain demo seed.`, + ); + return; + } + + const { webId } = org; + const currentKey = webScopedKey(webId, STORAGE_NAMESPACE, "current.json"); + const vendoredVersion = readVendoredDatasetVersion(); + + if (!vendoredVersion) { + logger.warn( + "Supply-chain demo data has no readable current.json pointer; skipping demo seed.", + ); + return; + } + + // Idempotency: if this web already has the vendored version seeded, skip the + // re-upload entirely. (Bumping `datasetVersion` falls through and re-seeds.) + try { + const existing = await uploadProvider.downloadDirect({ key: currentKey }); + const parsed = JSON.parse(existing.toString("utf8")) as { + datasetVersion?: unknown; + }; + if (parsed.datasetVersion === vendoredVersion) { + logger.info( + `Supply-chain demo dataset v${vendoredVersion} already seeded into web ${webId}; skipping.`, + ); + return; + } + } catch { + // Not seeded yet (or pointer unreadable) — fall through and upload. + } + + const plan = planSupplyChainDatasetImport({ + sourceDir: path.join(DEMO_DATA_DIR, vendoredVersion), + version: vendoredVersion, + }); + const result = await uploadSupplyChainDataset({ + plan, + uploadProvider, + webId, + }); + + logger.info( + `Seeded supply-chain demo dataset v${vendoredVersion} into web ${webId} (${result.uploadedFiles} files).`, + ); +}; diff --git a/apps/hash-api/src/seed-data/seed-users.ts b/apps/hash-api/src/seed-data/seed-users.ts index 80e24b1c879..41081a99b3e 100644 --- a/apps/hash-api/src/seed-data/seed-users.ts +++ b/apps/hash-api/src/seed-data/seed-users.ts @@ -41,6 +41,8 @@ const devUsers: readonly SeededUser[] = [ email: "bob@example.com", shortname: "bob01", displayName: "Bob", + // Bob exercises the supply-chain views without the full feature set. + enabledFeatureFlags: ["supplyChain"], }, ] as const; diff --git a/apps/hash-api/src/seed-data/supply-chain-dataset-import.test.ts b/apps/hash-api/src/seed-data/supply-chain-dataset-import.test.ts new file mode 100644 index 00000000000..34ec63614cc --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-dataset-import.test.ts @@ -0,0 +1,153 @@ +import fs from "node:fs"; +import os from "node:os"; +import path from "node:path"; + +import { afterEach, describe, expect, it } from "vitest"; + +import { + planSupplyChainDatasetImport, + uploadSupplyChainDataset, +} from "./supply-chain-dataset-import"; + +import type { WebId } from "@blockprotocol/type-system"; +import type { FileStorageProvider } from "@local/hash-backend-utils/file-storage"; + +const writeJson = (filePath: string, value: unknown) => { + fs.mkdirSync(path.dirname(filePath), { recursive: true }); + fs.writeFileSync(filePath, `${JSON.stringify(value, null, 2)}\n`); +}; + +describe("supply-chain dataset import", () => { + const tempDirs: string[] = []; + + afterEach(() => { + for (const dir of tempDirs.splice(0)) { + fs.rmSync(dir, { recursive: true, force: true }); + } + }); + + const makeDataset = () => { + const sourceDir = fs.mkdtempSync( + path.join(os.tmpdir(), "supply-chain-import-"), + ); + tempDirs.push(sourceDir); + + writeJson(path.join(sourceDir, "products.json"), [ + { id: "demo-product", name: "Demo Product", material: "1000" }, + ]); + writeJson(path.join(sourceDir, "sites.json"), [ + { slug: "demo-site", name: "Demo Site" }, + ]); + writeJson(path.join(sourceDir, "demo-product", "graph.json"), { + product_id: "demo-product", + nodes: [], + edges: [], + pipeline_summary: {}, + }); + writeJson( + path.join(sourceDir, "demo-product", "steps", "prod_to_qa.json"), + { id: "prod_to_qa" }, + ); + writeJson(path.join(sourceDir, "_global", "supplier_performance.json"), { + vendors: [], + }); + writeJson(path.join(sourceDir, "current.json"), { + datasetVersion: "ignored", + }); + + return sourceDir; + }; + + it("generates a manifest from the static dataset shape", () => { + const plan = planSupplyChainDatasetImport({ + sourceDir: makeDataset(), + version: "local-test", + }); + + expect(plan.manifest).toEqual({ + datasetVersion: "local-test", + products: ["demo-product"], + sites: ["demo-site"], + steps: { "demo-product": ["prod_to_qa"] }, + }); + expect(plan.files.map(({ relKey }) => relKey)).toEqual([ + "_global/supplier_performance.json", + "demo-product/graph.json", + "demo-product/steps/prod_to_qa.json", + "products.json", + "sites.json", + ]); + }); + + it("uploads source artifacts under the version and flips current last", async () => { + const uploads: Array<{ key: string; body: string | Buffer }> = []; + const uploadProvider = { + uploadDirect: async ({ + key, + body, + }: { + key: string; + body: string | Buffer; + }) => { + uploads.push({ key, body }); + }, + } as unknown as FileStorageProvider; + const webId = "00000000-0000-4000-8000-000000000001" as WebId; + const plan = planSupplyChainDatasetImport({ + sourceDir: makeDataset(), + version: "local-test", + }); + + const result = await uploadSupplyChainDataset({ + plan, + uploadProvider, + webId, + }); + + expect(result).toEqual({ + uploadedFiles: 7, + products: 1, + sites: 1, + steps: 1, + }); + expect(uploads.at(-2)?.key).toBe( + `analysis/${webId}/supply-chain/local-test/manifest.json`, + ); + expect(uploads.at(-1)?.key).toBe( + `analysis/${webId}/supply-chain/current.json`, + ); + expect(JSON.parse(String(uploads.at(-1)?.body))).toEqual({ + datasetVersion: "local-test", + }); + }); + + it("uploads an empty sites registry when the source omits sites.json", async () => { + const sourceDir = makeDataset(); + fs.rmSync(path.join(sourceDir, "sites.json")); + const uploads: Array<{ key: string; body: string | Buffer }> = []; + const uploadProvider = { + uploadDirect: async ({ + key, + body, + }: { + key: string; + body: string | Buffer; + }) => { + uploads.push({ key, body }); + }, + } as unknown as FileStorageProvider; + const webId = "00000000-0000-4000-8000-000000000001" as WebId; + const plan = planSupplyChainDatasetImport({ + sourceDir, + version: "local-test", + }); + + await uploadSupplyChainDataset({ plan, uploadProvider, webId }); + + const sitesUpload = uploads.find( + ({ key }) => + key === `analysis/${webId}/supply-chain/local-test/sites.json`, + ); + expect(JSON.parse(String(sitesUpload?.body))).toEqual([]); + }); +}); diff --git a/apps/hash-api/src/seed-data/supply-chain-dataset-import.ts b/apps/hash-api/src/seed-data/supply-chain-dataset-import.ts new file mode 100644 index 00000000000..3f16a8ac981 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-dataset-import.ts @@ -0,0 +1,255 @@ +import fs from "node:fs"; +import path from "node:path"; + +import { isValidSlug, webScopedKey } from "../analysis/shared/storage-key"; + +import type { WebId } from "@blockprotocol/type-system"; +import type { FileStorageProvider } from "@local/hash-backend-utils/file-storage"; + +const STORAGE_NAMESPACE = "supply-chain"; + +type JsonObject = Record; + +export interface SupplyChainImportProduct { + id: string; + name?: unknown; + material?: unknown; +} + +export interface SupplyChainImportSite { + slug: string; + name?: unknown; +} + +export interface SupplyChainManifest { + datasetVersion: string; + products: string[]; + sites: string[]; + steps: Record; +} + +export interface SupplyChainDatasetPlan { + sourceDir: string; + version: string; + products: SupplyChainImportProduct[]; + sites: SupplyChainImportSite[]; + manifest: SupplyChainManifest; + files: Array<{ + absPath: string; + relKey: string; + }>; +} + +export interface SupplyChainDatasetUploadResult { + uploadedFiles: number; + products: number; + sites: number; + steps: number; +} + +const readJson = (filePath: string): T => { + try { + return JSON.parse(fs.readFileSync(filePath, "utf8")) as T; + } catch (error) { + throw new Error( + `Could not read valid JSON from ${filePath}: ${ + error instanceof Error ? error.message : String(error) + }`, + ); + } +}; + +const assertValidSlug = (value: unknown, label: string): string => { + if (!isValidSlug(value)) { + throw new Error(`${label} must be a valid storage slug; received ${value}`); + } + return value; +}; + +const assertJsonArray = ( + value: unknown, + label: string, + isItem: (item: unknown) => item is T, +): T[] => { + if (!Array.isArray(value)) { + throw new Error(`${label} must be a JSON array`); + } + + for (const [index, item] of value.entries()) { + if (!isItem(item)) { + throw new Error(`${label}[${index}] has an invalid shape`); + } + } + + return value; +}; + +const isProduct = (value: unknown): value is SupplyChainImportProduct => + typeof value === "object" && + value !== null && + typeof (value as JsonObject).id === "string"; + +const isSite = (value: unknown): value is SupplyChainImportSite => + typeof value === "object" && + value !== null && + typeof (value as JsonObject).slug === "string"; + +const collectJsonFiles = (dir: string): string[] => { + const out: string[] = []; + + for (const entry of fs.readdirSync(dir, { withFileTypes: true })) { + const full = path.join(dir, entry.name); + if (entry.isDirectory()) { + out.push(...collectJsonFiles(full)); + } else if (entry.isFile() && entry.name.endsWith(".json")) { + out.push(full); + } + } + + return out; +}; + +const relKeyFor = (sourceDir: string, absPath: string): string => + path.relative(sourceDir, absPath).split(path.sep).join("/"); + +const shouldUploadSourceFile = (relKey: string): boolean => + relKey !== "current.json" && relKey !== "manifest.json"; + +export const defaultSupplyChainDatasetVersion = (now = new Date()): string => { + const pad = (value: number) => String(value).padStart(2, "0"); + return `local-${now.getUTCFullYear()}${pad(now.getUTCMonth() + 1)}${pad( + now.getUTCDate(), + )}-${pad(now.getUTCHours())}${pad(now.getUTCMinutes())}${pad( + now.getUTCSeconds(), + )}`; +}; + +export const planSupplyChainDatasetImport = (params: { + sourceDir: string; + version: string; +}): SupplyChainDatasetPlan => { + const sourceDir = path.resolve(params.sourceDir); + const version = assertValidSlug(params.version, "Dataset version"); + + if (!fs.existsSync(sourceDir) || !fs.statSync(sourceDir).isDirectory()) { + throw new Error(`Source directory does not exist: ${sourceDir}`); + } + + const productsPath = path.join(sourceDir, "products.json"); + if (!fs.existsSync(productsPath)) { + throw new Error( + `Source dataset must contain products.json: ${productsPath}`, + ); + } + + const products = assertJsonArray( + readJson(productsPath), + "products.json", + isProduct, + ); + const productIds = products.map((product) => + assertValidSlug(product.id, "Product id"), + ); + + if (new Set(productIds).size !== productIds.length) { + throw new Error("products.json contains duplicate product ids"); + } + + const sitesPath = path.join(sourceDir, "sites.json"); + const sites = fs.existsSync(sitesPath) + ? assertJsonArray(readJson(sitesPath), "sites.json", isSite) + : []; + const siteIds = sites.map((site) => assertValidSlug(site.slug, "Site slug")); + + if (new Set(siteIds).size !== siteIds.length) { + throw new Error("sites.json contains duplicate site slugs"); + } + + const steps: Record = {}; + + for (const productId of productIds) { + const graphPath = path.join(sourceDir, productId, "graph.json"); + if (!fs.existsSync(graphPath)) { + throw new Error(`Product "${productId}" is missing graph.json`); + } + + const stepsDir = path.join(sourceDir, productId, "steps"); + const stepIds = fs.existsSync(stepsDir) + ? fs + .readdirSync(stepsDir, { withFileTypes: true }) + .filter((entry) => entry.isFile() && entry.name.endsWith(".json")) + .map((entry) => path.basename(entry.name, ".json")) + .map((stepId) => assertValidSlug(stepId, "Step id")) + .sort() + : []; + + if (new Set(stepIds).size !== stepIds.length) { + throw new Error(`Product "${productId}" contains duplicate step ids`); + } + + steps[productId] = stepIds; + } + + const files = collectJsonFiles(sourceDir) + .map((absPath) => ({ absPath, relKey: relKeyFor(sourceDir, absPath) })) + .filter(({ relKey }) => shouldUploadSourceFile(relKey)) + .sort((left, right) => left.relKey.localeCompare(right.relKey)); + + return { + sourceDir, + version, + products, + sites, + manifest: { + datasetVersion: version, + products: productIds, + sites: siteIds, + steps, + }, + files, + }; +}; + +export const uploadSupplyChainDataset = async (params: { + plan: SupplyChainDatasetPlan; + uploadProvider: FileStorageProvider; + webId: WebId; +}): Promise => { + const { plan, uploadProvider, webId } = params; + let uploadedFiles = 0; + + const uploadJson = async (relKey: string, value: unknown) => { + await uploadProvider.uploadDirect({ + key: webScopedKey(webId, STORAGE_NAMESPACE, relKey), + body: `${JSON.stringify(value, null, 2)}\n`, + contentType: "application/json", + }); + uploadedFiles += 1; + }; + + for (const { absPath, relKey } of plan.files) { + await uploadProvider.uploadDirect({ + key: webScopedKey(webId, STORAGE_NAMESPACE, plan.version, relKey), + body: await fs.promises.readFile(absPath), + contentType: "application/json", + }); + uploadedFiles += 1; + } + + if (!plan.files.some(({ relKey }) => relKey === "sites.json")) { + await uploadJson(`${plan.version}/sites.json`, plan.sites); + } + + await uploadJson(`${plan.version}/manifest.json`, plan.manifest); + await uploadJson("current.json", { datasetVersion: plan.version }); + + return { + uploadedFiles, + products: plan.manifest.products.length, + sites: plan.manifest.sites.length, + steps: Object.values(plan.manifest.steps).reduce( + (sum, productSteps) => sum + productSteps.length, + 0, + ), + }; +}; diff --git a/apps/hash-api/src/seed-data/supply-chain-demo.test.ts b/apps/hash-api/src/seed-data/supply-chain-demo.test.ts new file mode 100644 index 00000000000..e72d719e5d5 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo.test.ts @@ -0,0 +1,121 @@ +import fs from "node:fs"; +import path from "node:path"; +import { fileURLToPath } from "node:url"; + +import { describe, expect, it } from "vitest"; + +const demoRoot = path.join( + path.dirname(fileURLToPath(import.meta.url)), + "supply-chain-demo", +); + +const requiredDwellDetailColumns = [ + "batch", + "consumption_date", + "dwell_days", + "kg_days", + "cons_matnr", + "cons_material_name", + "cons_in_current_recipe", +]; + +const dwellTypes = new Set([ + "raw_material_dwell", + "intermediate_dwell", + "post_qa_ship", + "destination_dwell", +]); + +function readJson(filePath: string): T { + return JSON.parse(fs.readFileSync(filePath, "utf8")) as T; +} + +function activeDemoDir(): string { + const current = readJson<{ datasetVersion: string }>( + path.join(demoRoot, "current.json"), + ); + return path.join(demoRoot, current.datasetVersion); +} + +describe("supply-chain demo data", () => { + it("ships product-attributed detail rows for dwell step artifacts", () => { + const dataDir = activeDemoDir(); + const products = readJson>( + path.join(dataDir, "products.json"), + ); + let checkedDwellSteps = 0; + + for (const product of products) { + const graph = readJson<{ + nodes: Array<{ id: string; monthly?: unknown[] }>; + }>(path.join(dataDir, product.id, "graph.json")); + const graphNodesById = new Map( + graph.nodes.map((node) => [node.id, node]), + ); + const stepsDir = path.join(dataDir, product.id, "steps"); + for (const entry of fs.readdirSync(stepsDir, { withFileTypes: true })) { + if (!entry.isFile() || !entry.name.endsWith(".json")) { + continue; + } + + const step = readJson<{ + id: string; + type: string; + detail_rows?: { + columns: Array<{ key: string }>; + rows: Array>; + } | null; + }>(path.join(stepsDir, entry.name)); + if (!dwellTypes.has(step.type)) { + continue; + } + checkedDwellSteps += 1; + + const detailRows = step.detail_rows; + expect(detailRows).toBeDefined(); + expect(detailRows?.rows.length).toBeGreaterThan(0); + expect(detailRows?.columns.map((column) => column.key)).toEqual( + expect.arrayContaining(requiredDwellDetailColumns), + ); + + const graphNode = graphNodesById.get(step.id); + expect(graphNode).toBeDefined(); + const kgDaysByMonth = new Map(); + for (const row of detailRows?.rows ?? []) { + if ( + row.cons_in_current_recipe === 0 || + row.cons_in_current_recipe === "0" + ) { + continue; + } + if ( + typeof row.consumption_date !== "string" || + typeof row.kg_days !== "number" + ) { + continue; + } + const month = row.consumption_date.slice(0, 7); + kgDaysByMonth.set( + month, + (kgDaysByMonth.get(month) ?? 0) + row.kg_days, + ); + } + for (const monthly of (graphNode?.monthly ?? []) as Array< + Record + >) { + if ( + typeof monthly.month === "string" && + typeof monthly.total_kg_days === "number" + ) { + expect(kgDaysByMonth.get(monthly.month)).toBeCloseTo( + monthly.total_kg_days, + 0, + ); + } + } + } + } + + expect(checkedDwellSteps).toBeGreaterThan(0); + }); +}); diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/_global/supplier-lines.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/_global/supplier-lines.json new file mode 100644 index 00000000000..11aa305b6c3 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/_global/supplier-lines.json @@ -0,0 +1,3046 @@ +{ + "schema_version": "1.0", + "generated_at": "2026-06-17T16:36:56Z", + "lines": [ + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000000", + "po_item": "00010", + "po_date": "2025-04-23", + "promised_date": "2025-06-08", + "first_gr_date": "2025-06-06", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000001", + "po_item": "00020", + "po_date": "2025-05-01", + "promised_date": "2025-06-17", + "first_gr_date": "2025-06-15", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000002", + "po_item": "00030", + "po_date": "2025-05-06", + "promised_date": "2025-06-20", + "first_gr_date": "2025-06-20", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000003", + "po_item": "00040", + "po_date": "2025-05-14", + "promised_date": "2025-06-05", + "first_gr_date": "2025-06-03", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000004", + "po_item": "00050", + "po_date": "2025-05-22", + "promised_date": "2025-06-24", + "first_gr_date": "2025-06-21", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000005", + "po_item": "00010", + "po_date": "2025-05-27", + "promised_date": "2025-06-16", + "first_gr_date": "2025-06-13", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000006", + "po_item": "00020", + "po_date": "2025-06-02", + "promised_date": "2025-07-10", + "first_gr_date": "2025-07-09", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000007", + "po_item": "00030", + "po_date": "2025-06-11", + "promised_date": "2025-07-06", + "first_gr_date": "2025-07-10", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000008", + "po_item": "00040", + "po_date": "2025-06-19", + "promised_date": "2025-08-07", + "first_gr_date": "2025-08-07", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000009", + "po_item": "00050", + "po_date": "2025-06-25", + "promised_date": "2025-07-23", + "first_gr_date": "2025-07-21", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000010", + "po_item": "00010", + "po_date": "2025-06-30", + "promised_date": "2025-07-26", + "first_gr_date": "2025-07-26", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000011", + "po_item": "00020", + "po_date": "2025-07-07", + "promised_date": "2025-08-19", + "first_gr_date": "2025-08-25", + "days_late": 6, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000012", + "po_item": "00030", + "po_date": "2025-07-15", + "promised_date": "2025-08-07", + "first_gr_date": "2025-08-07", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000013", + "po_item": "00040", + "po_date": "2025-07-23", + "promised_date": "2025-08-20", + "first_gr_date": "2025-08-20", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000014", + "po_item": "00050", + "po_date": "2025-07-28", + "promised_date": "2025-08-23", + "first_gr_date": "2025-08-23", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000015", + "po_item": "00010", + "po_date": "2025-08-04", + "promised_date": "2025-08-27", + "first_gr_date": "2025-08-27", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000016", + "po_item": "00020", + "po_date": "2025-08-13", + "promised_date": "2025-09-25", + "first_gr_date": "2025-09-25", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000017", + "po_item": "00030", + "po_date": "2025-08-21", + "promised_date": "2025-10-05", + "first_gr_date": "2025-10-05", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000018", + "po_item": "00040", + "po_date": "2025-08-26", + "promised_date": "2025-10-12", + "first_gr_date": "2025-10-10", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000019", + "po_item": "00050", + "po_date": "2025-09-04", + "promised_date": "2025-09-28", + "first_gr_date": "2025-09-27", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000020", + "po_item": "00010", + "po_date": "2025-09-09", + "promised_date": "2025-10-03", + "first_gr_date": "2025-10-03", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000021", + "po_item": "00020", + "po_date": "2025-09-17", + "promised_date": "2025-10-22", + "first_gr_date": "2025-10-19", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000022", + "po_item": "00030", + "po_date": "2025-09-23", + "promised_date": "2025-10-17", + "first_gr_date": "2025-10-16", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000023", + "po_item": "00040", + "po_date": "2025-10-01", + "promised_date": "2025-10-29", + "first_gr_date": "2025-10-31", + "days_late": 2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000024", + "po_item": "00050", + "po_date": "2025-10-08", + "promised_date": "2025-11-01", + "first_gr_date": "2025-11-01", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000025", + "po_item": "00010", + "po_date": "2025-10-14", + "promised_date": "2025-11-19", + "first_gr_date": "2025-11-17", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000026", + "po_item": "00020", + "po_date": "2025-10-21", + "promised_date": "2025-12-04", + "first_gr_date": "2025-12-04", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000027", + "po_item": "00030", + "po_date": "2025-10-29", + "promised_date": "2025-12-01", + "first_gr_date": "2025-11-29", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000028", + "po_item": "00040", + "po_date": "2025-11-04", + "promised_date": "2025-12-03", + "first_gr_date": "2025-12-03", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000029", + "po_item": "00050", + "po_date": "2025-11-10", + "promised_date": "2025-12-19", + "first_gr_date": "2025-12-19", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000030", + "po_item": "00010", + "po_date": "2025-11-20", + "promised_date": "2025-12-23", + "first_gr_date": "2025-12-24", + "days_late": 1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000031", + "po_item": "00020", + "po_date": "2025-11-27", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-13", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000032", + "po_item": "00030", + "po_date": "2025-12-04", + "promised_date": "2026-01-17", + "first_gr_date": "2026-01-17", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000033", + "po_item": "00040", + "po_date": "2025-12-10", + "promised_date": "2026-01-15", + "first_gr_date": "2026-01-13", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000034", + "po_item": "00050", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-11", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000035", + "po_item": "00010", + "po_date": "2025-12-24", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-13", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000036", + "po_item": "00020", + "po_date": "2025-12-31", + "promised_date": "2026-02-01", + "first_gr_date": "2026-01-31", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000037", + "po_item": "00030", + "po_date": "2026-01-08", + "promised_date": "2026-02-10", + "first_gr_date": "2026-02-08", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000038", + "po_item": "00040", + "po_date": "2026-01-13", + "promised_date": "2026-02-13", + "first_gr_date": "2026-02-11", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000039", + "po_item": "00050", + "po_date": "2026-01-20", + "promised_date": "2026-03-01", + "first_gr_date": "2026-03-01", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000040", + "po_item": "00010", + "po_date": "2026-01-29", + "promised_date": "2026-02-25", + "first_gr_date": "2026-02-25", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000041", + "po_item": "00020", + "po_date": "2026-02-03", + "promised_date": "2026-03-07", + "first_gr_date": "2026-03-07", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000042", + "po_item": "00030", + "po_date": "2026-02-11", + "promised_date": "2026-03-18", + "first_gr_date": "2026-03-18", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000043", + "po_item": "00040", + "po_date": "2026-02-16", + "promised_date": "2026-03-23", + "first_gr_date": "2026-03-22", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000044", + "po_item": "00050", + "po_date": "2026-02-26", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-24", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000045", + "po_item": "00010", + "po_date": "2026-03-04", + "promised_date": "2026-03-27", + "first_gr_date": "2026-03-27", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000046", + "po_item": "00020", + "po_date": "2026-03-10", + "promised_date": "2026-04-26", + "first_gr_date": "2026-04-29", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000047", + "po_item": "00030", + "po_date": "2026-03-18", + "promised_date": "2026-05-03", + "first_gr_date": "2026-05-01", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000048", + "po_item": "00040", + "po_date": "2026-03-25", + "promised_date": "2026-04-22", + "first_gr_date": "2026-04-22", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000049", + "po_item": "00050", + "po_date": "2026-03-31", + "promised_date": "2026-05-09", + "first_gr_date": "2026-05-06", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000050", + "po_item": "00010", + "po_date": "2026-04-07", + "promised_date": "2026-04-30", + "first_gr_date": "2026-04-27", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000051", + "po_item": "00020", + "po_date": "2026-04-15", + "promised_date": "2026-05-11", + "first_gr_date": "2026-05-11", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000052", + "po_item": "00030", + "po_date": "2026-04-22", + "promised_date": "2026-06-06", + "first_gr_date": "2026-06-06", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000053", + "po_item": "00040", + "po_date": "2026-04-28", + "promised_date": "2026-05-29", + "first_gr_date": "2026-05-29", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000054", + "po_item": "00050", + "po_date": "2026-05-07", + "promised_date": "2026-06-13", + "first_gr_date": "2026-06-13", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000055", + "po_item": "00010", + "po_date": "2026-05-11", + "promised_date": "2026-06-15", + "first_gr_date": "2026-06-13", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000056", + "po_item": "00010", + "po_date": "2026-02-25", + "promised_date": "2026-04-09", + "first_gr_date": "2026-04-10", + "days_late": 1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000057", + "po_item": "00020", + "po_date": "2026-03-02", + "promised_date": "2026-04-01", + "first_gr_date": "2026-04-01", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000058", + "po_item": "00030", + "po_date": "2026-03-11", + "promised_date": "2026-04-07", + "first_gr_date": "2026-04-12", + "days_late": 5, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000059", + "po_item": "00040", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "first_gr_date": "2026-05-01", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000060", + "po_item": "00050", + "po_date": "2026-03-24", + "promised_date": "2026-04-13", + "first_gr_date": "2026-04-14", + "days_late": 1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000061", + "po_item": "00010", + "po_date": "2026-04-01", + "promised_date": "2026-05-21", + "first_gr_date": "2026-05-18", + "days_late": -3, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000062", + "po_item": "00020", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "first_gr_date": "2026-05-27", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000063", + "po_item": "00030", + "po_date": "2026-04-13", + "promised_date": "2026-05-07", + "first_gr_date": "2026-05-07", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000064", + "po_item": "00040", + "po_date": "2026-04-21", + "promised_date": "2026-06-06", + "first_gr_date": "2026-06-05", + "days_late": -1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000065", + "po_item": "00050", + "po_date": "2026-04-27", + "promised_date": "2026-05-19", + "first_gr_date": "2026-05-19", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000066", + "po_item": "00010", + "po_date": "2026-05-04", + "promised_date": "2026-06-16", + "first_gr_date": "2026-06-16", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000067", + "po_item": "00020", + "po_date": "2026-05-14", + "promised_date": "2026-06-04", + "first_gr_date": "2026-06-22", + "days_late": 18, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000068", + "po_item": "00010", + "po_date": "2026-02-24", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-07", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000069", + "po_item": "00020", + "po_date": "2026-03-04", + "promised_date": "2026-04-06", + "first_gr_date": "2026-04-09", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000070", + "po_item": "00030", + "po_date": "2026-03-09", + "promised_date": "2026-04-22", + "first_gr_date": "2026-05-12", + "days_late": 20, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000071", + "po_item": "00040", + "po_date": "2026-03-17", + "promised_date": "2026-04-16", + "first_gr_date": "2026-04-13", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000072", + "po_item": "00050", + "po_date": "2026-03-24", + "promised_date": "2026-05-03", + "first_gr_date": "2026-05-21", + "days_late": 18, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000073", + "po_item": "00010", + "po_date": "2026-03-31", + "promised_date": "2026-05-08", + "first_gr_date": "2026-06-07", + "days_late": 30, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000074", + "po_item": "00020", + "po_date": "2026-04-08", + "promised_date": "2026-05-06", + "first_gr_date": "2026-05-06", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000075", + "po_item": "00030", + "po_date": "2026-04-13", + "promised_date": "2026-05-18", + "first_gr_date": "2026-05-15", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000076", + "po_item": "00040", + "po_date": "2026-04-20", + "promised_date": "2026-06-04", + "first_gr_date": "2026-06-04", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000077", + "po_item": "00050", + "po_date": "2026-04-29", + "promised_date": "2026-06-02", + "first_gr_date": "2026-06-02", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000078", + "po_item": "00010", + "po_date": "2026-05-06", + "promised_date": "2026-06-06", + "first_gr_date": "2026-06-03", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000079", + "po_item": "00020", + "po_date": "2026-05-12", + "promised_date": "2026-06-09", + "first_gr_date": "2026-06-09", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000080", + "po_item": "00010", + "po_date": "2025-07-29", + "promised_date": "2025-09-10", + "first_gr_date": "2025-09-08", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000081", + "po_item": "00020", + "po_date": "2025-08-07", + "promised_date": "2025-08-30", + "first_gr_date": "2025-08-29", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000082", + "po_item": "00030", + "po_date": "2025-08-11", + "promised_date": "2025-09-05", + "first_gr_date": "2025-09-03", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000083", + "po_item": "00040", + "po_date": "2025-08-19", + "promised_date": "2025-09-16", + "first_gr_date": "2025-09-16", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000084", + "po_item": "00050", + "po_date": "2025-08-27", + "promised_date": "2025-10-02", + "first_gr_date": "2025-10-01", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000085", + "po_item": "00010", + "po_date": "2025-09-04", + "promised_date": "2025-10-21", + "first_gr_date": "2025-10-19", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000086", + "po_item": "00020", + "po_date": "2025-09-10", + "promised_date": "2025-10-14", + "first_gr_date": "2025-10-14", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000087", + "po_item": "00030", + "po_date": "2025-09-15", + "promised_date": "2025-10-23", + "first_gr_date": "2025-10-22", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000088", + "po_item": "00040", + "po_date": "2025-09-22", + "promised_date": "2025-10-14", + "first_gr_date": "2025-10-14", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000089", + "po_item": "00050", + "po_date": "2025-09-29", + "promised_date": "2025-11-02", + "first_gr_date": "2025-11-01", + "days_late": -1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000090", + "po_item": "00010", + "po_date": "2025-10-08", + "promised_date": "2025-11-07", + "first_gr_date": "2025-11-06", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000091", + "po_item": "00020", + "po_date": "2025-10-14", + "promised_date": "2025-12-02", + "first_gr_date": "2025-11-30", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000092", + "po_item": "00030", + "po_date": "2025-10-20", + "promised_date": "2025-12-08", + "first_gr_date": "2025-12-07", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000093", + "po_item": "00040", + "po_date": "2025-10-27", + "promised_date": "2025-11-23", + "first_gr_date": "2025-11-23", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000094", + "po_item": "00050", + "po_date": "2025-11-04", + "promised_date": "2025-11-25", + "first_gr_date": "2025-11-25", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000095", + "po_item": "00010", + "po_date": "2025-11-11", + "promised_date": "2025-12-23", + "first_gr_date": "2025-12-20", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000096", + "po_item": "00020", + "po_date": "2025-11-20", + "promised_date": "2025-12-28", + "first_gr_date": "2025-12-28", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000097", + "po_item": "00030", + "po_date": "2025-11-25", + "promised_date": "2025-12-31", + "first_gr_date": "2025-12-30", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000098", + "po_item": "00040", + "po_date": "2025-12-03", + "promised_date": "2025-12-28", + "first_gr_date": "2025-12-28", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000099", + "po_item": "00050", + "po_date": "2025-12-09", + "promised_date": "2025-12-30", + "first_gr_date": "2025-12-27", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000100", + "po_item": "00010", + "po_date": "2025-12-17", + "promised_date": "2026-02-04", + "first_gr_date": "2026-02-04", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000101", + "po_item": "00020", + "po_date": "2025-12-23", + "promised_date": "2026-01-15", + "first_gr_date": "2026-01-15", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000102", + "po_item": "00030", + "po_date": "2025-12-31", + "promised_date": "2026-01-20", + "first_gr_date": "2026-01-20", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000103", + "po_item": "00040", + "po_date": "2026-01-06", + "promised_date": "2026-02-13", + "first_gr_date": "2026-02-13", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000104", + "po_item": "00050", + "po_date": "2026-01-14", + "promised_date": "2026-02-09", + "first_gr_date": "2026-02-08", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000105", + "po_item": "00010", + "po_date": "2026-01-19", + "promised_date": "2026-02-23", + "first_gr_date": "2026-02-23", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000106", + "po_item": "00020", + "po_date": "2026-01-27", + "promised_date": "2026-03-16", + "first_gr_date": "2026-03-13", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000107", + "po_item": "00030", + "po_date": "2026-02-05", + "promised_date": "2026-03-02", + "first_gr_date": "2026-03-02", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000108", + "po_item": "00040", + "po_date": "2026-02-12", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-24", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000109", + "po_item": "00050", + "po_date": "2026-02-17", + "promised_date": "2026-04-06", + "first_gr_date": "2026-04-06", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000110", + "po_item": "00010", + "po_date": "2026-02-24", + "promised_date": "2026-03-27", + "first_gr_date": "2026-03-25", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000111", + "po_item": "00020", + "po_date": "2026-03-05", + "promised_date": "2026-04-15", + "first_gr_date": "2026-04-12", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000112", + "po_item": "00030", + "po_date": "2026-03-09", + "promised_date": "2026-04-13", + "first_gr_date": "2026-04-13", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000113", + "po_item": "00040", + "po_date": "2026-03-17", + "promised_date": "2026-05-04", + "first_gr_date": "2026-05-01", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000114", + "po_item": "00050", + "po_date": "2026-03-23", + "promised_date": "2026-04-13", + "first_gr_date": "2026-04-11", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000115", + "po_item": "00010", + "po_date": "2026-04-01", + "promised_date": "2026-04-23", + "first_gr_date": "2026-04-23", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000116", + "po_item": "00020", + "po_date": "2026-04-06", + "promised_date": "2026-05-21", + "first_gr_date": "2026-05-21", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000117", + "po_item": "00030", + "po_date": "2026-04-15", + "promised_date": "2026-05-05", + "first_gr_date": "2026-05-05", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000118", + "po_item": "00040", + "po_date": "2026-04-20", + "promised_date": "2026-06-01", + "first_gr_date": "2026-05-31", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000119", + "po_item": "00050", + "po_date": "2026-04-30", + "promised_date": "2026-06-17", + "first_gr_date": "2026-06-17", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000120", + "po_item": "00010", + "po_date": "2026-05-06", + "promised_date": "2026-06-08", + "first_gr_date": "2026-06-05", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000121", + "po_item": "00020", + "po_date": "2026-05-13", + "promised_date": "2026-06-19", + "first_gr_date": "2026-06-19", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000122", + "po_item": "00010", + "po_date": "2026-01-12", + "promised_date": "2026-02-04", + "first_gr_date": "2026-02-04", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000123", + "po_item": "00020", + "po_date": "2026-01-20", + "promised_date": "2026-02-27", + "first_gr_date": "2026-02-27", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000124", + "po_item": "00030", + "po_date": "2026-01-29", + "promised_date": "2026-03-10", + "first_gr_date": "2026-03-07", + "days_late": -3, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000125", + "po_item": "00040", + "po_date": "2026-02-02", + "promised_date": "2026-02-24", + "first_gr_date": "2026-02-24", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000126", + "po_item": "00050", + "po_date": "2026-02-09", + "promised_date": "2026-03-14", + "first_gr_date": "2026-03-14", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000127", + "po_item": "00010", + "po_date": "2026-02-17", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-23", + "days_late": -1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000128", + "po_item": "00020", + "po_date": "2026-02-23", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-24", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000129", + "po_item": "00030", + "po_date": "2026-03-04", + "promised_date": "2026-04-11", + "first_gr_date": "2026-04-08", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000130", + "po_item": "00040", + "po_date": "2026-03-09", + "promised_date": "2026-04-17", + "first_gr_date": "2026-04-17", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000131", + "po_item": "00050", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "first_gr_date": "2026-05-01", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000132", + "po_item": "00010", + "po_date": "2026-03-25", + "promised_date": "2026-05-11", + "first_gr_date": "2026-05-09", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000133", + "po_item": "00020", + "po_date": "2026-04-02", + "promised_date": "2026-05-13", + "first_gr_date": "2026-05-13", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000134", + "po_item": "00030", + "po_date": "2026-04-06", + "promised_date": "2026-05-03", + "first_gr_date": "2026-04-30", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000135", + "po_item": "00040", + "po_date": "2026-04-15", + "promised_date": "2026-05-18", + "first_gr_date": "2026-05-18", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000136", + "po_item": "00050", + "po_date": "2026-04-20", + "promised_date": "2026-05-10", + "first_gr_date": "2026-05-08", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000137", + "po_item": "00010", + "po_date": "2026-04-29", + "promised_date": "2026-06-01", + "first_gr_date": "2026-06-01", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000138", + "po_item": "00020", + "po_date": "2026-05-06", + "promised_date": "2026-05-28", + "first_gr_date": "2026-05-28", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000139", + "po_item": "00030", + "po_date": "2026-05-14", + "promised_date": "2026-06-03", + "first_gr_date": "2026-05-31", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000140", + "po_item": "00010", + "po_date": "2025-09-18", + "promised_date": "2025-10-14", + "first_gr_date": "2025-11-07", + "days_late": 24, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000141", + "po_item": "00020", + "po_date": "2025-09-23", + "promised_date": "2025-11-02", + "first_gr_date": "2025-11-02", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000142", + "po_item": "00030", + "po_date": "2025-09-29", + "promised_date": "2025-10-29", + "first_gr_date": "2025-10-29", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000143", + "po_item": "00040", + "po_date": "2025-10-09", + "promised_date": "2025-11-07", + "first_gr_date": "2025-11-07", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000144", + "po_item": "00050", + "po_date": "2025-10-13", + "promised_date": "2025-11-10", + "first_gr_date": "2025-11-10", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000145", + "po_item": "00010", + "po_date": "2025-10-22", + "promised_date": "2025-12-11", + "first_gr_date": "2025-12-11", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000146", + "po_item": "00020", + "po_date": "2025-10-28", + "promised_date": "2025-12-05", + "first_gr_date": "2025-12-03", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000147", + "po_item": "00030", + "po_date": "2025-11-03", + "promised_date": "2025-12-23", + "first_gr_date": "2025-12-23", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000148", + "po_item": "00040", + "po_date": "2025-11-10", + "promised_date": "2025-12-21", + "first_gr_date": "2025-12-21", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000149", + "po_item": "00050", + "po_date": "2025-11-18", + "promised_date": "2026-01-07", + "first_gr_date": "2026-01-07", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000150", + "po_item": "00010", + "po_date": "2025-11-24", + "promised_date": "2026-01-09", + "first_gr_date": "2026-01-06", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000151", + "po_item": "00020", + "po_date": "2025-12-01", + "promised_date": "2026-01-16", + "first_gr_date": "2026-01-13", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000152", + "po_item": "00030", + "po_date": "2025-12-08", + "promised_date": "2026-01-26", + "first_gr_date": "2026-01-26", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000153", + "po_item": "00040", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-13", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000154", + "po_item": "00050", + "po_date": "2025-12-22", + "promised_date": "2026-02-02", + "first_gr_date": "2026-01-31", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000155", + "po_item": "00010", + "po_date": "2025-12-29", + "promised_date": "2026-01-20", + "first_gr_date": "2026-01-20", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000156", + "po_item": "00020", + "po_date": "2026-01-07", + "promised_date": "2026-02-17", + "first_gr_date": "2026-02-14", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000157", + "po_item": "00030", + "po_date": "2026-01-15", + "promised_date": "2026-02-27", + "first_gr_date": "2026-02-27", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000158", + "po_item": "00040", + "po_date": "2026-01-21", + "promised_date": "2026-02-15", + "first_gr_date": "2026-02-15", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000159", + "po_item": "00050", + "po_date": "2026-01-27", + "promised_date": "2026-03-06", + "first_gr_date": "2026-03-06", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000160", + "po_item": "00010", + "po_date": "2026-02-02", + "promised_date": "2026-03-08", + "first_gr_date": "2026-03-08", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000161", + "po_item": "00020", + "po_date": "2026-02-12", + "promised_date": "2026-03-19", + "first_gr_date": "2026-03-20", + "days_late": 1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000162", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-03-20", + "first_gr_date": "2026-04-01", + "days_late": 12, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000163", + "po_item": "00040", + "po_date": "2026-02-23", + "promised_date": "2026-04-10", + "first_gr_date": "2026-04-10", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000164", + "po_item": "00050", + "po_date": "2026-03-03", + "promised_date": "2026-04-10", + "first_gr_date": "2026-04-09", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000165", + "po_item": "00010", + "po_date": "2026-03-10", + "promised_date": "2026-04-07", + "first_gr_date": "2026-04-07", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000166", + "po_item": "00020", + "po_date": "2026-03-17", + "promised_date": "2026-04-11", + "first_gr_date": "2026-04-10", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000167", + "po_item": "00030", + "po_date": "2026-03-26", + "promised_date": "2026-04-16", + "first_gr_date": "2026-04-16", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000168", + "po_item": "00040", + "po_date": "2026-03-30", + "promised_date": "2026-05-01", + "first_gr_date": "2026-04-30", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000169", + "po_item": "00050", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "first_gr_date": "2026-05-27", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000170", + "po_item": "00010", + "po_date": "2026-04-14", + "promised_date": "2026-05-29", + "first_gr_date": "2026-05-27", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000171", + "po_item": "00020", + "po_date": "2026-04-23", + "promised_date": "2026-05-14", + "first_gr_date": "2026-05-11", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000172", + "po_item": "00030", + "po_date": "2026-04-30", + "promised_date": "2026-06-11", + "first_gr_date": "2026-06-09", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000173", + "po_item": "00040", + "po_date": "2026-05-05", + "promised_date": "2026-06-24", + "first_gr_date": "2026-07-02", + "days_late": 8, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000174", + "po_item": "00050", + "po_date": "2026-05-13", + "promised_date": "2026-06-05", + "first_gr_date": "2026-06-03", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000175", + "po_item": "00010", + "po_date": "2026-02-03", + "promised_date": "2026-03-10", + "first_gr_date": "2026-03-10", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000176", + "po_item": "00020", + "po_date": "2026-02-12", + "promised_date": "2026-03-07", + "first_gr_date": "2026-03-07", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000177", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-05", + "days_late": 2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000178", + "po_item": "00040", + "po_date": "2026-02-25", + "promised_date": "2026-03-19", + "first_gr_date": "2026-03-19", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000179", + "po_item": "00050", + "po_date": "2026-03-04", + "promised_date": "2026-03-30", + "first_gr_date": "2026-03-29", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000180", + "po_item": "00010", + "po_date": "2026-03-12", + "promised_date": "2026-04-02", + "first_gr_date": "2026-04-02", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000181", + "po_item": "00020", + "po_date": "2026-03-19", + "promised_date": "2026-04-24", + "first_gr_date": "2026-04-24", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000182", + "po_item": "00030", + "po_date": "2026-03-24", + "promised_date": "2026-04-28", + "first_gr_date": "2026-04-25", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000183", + "po_item": "00040", + "po_date": "2026-04-01", + "promised_date": "2026-04-26", + "first_gr_date": "2026-04-26", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000184", + "po_item": "00050", + "po_date": "2026-04-06", + "promised_date": "2026-05-16", + "first_gr_date": "2026-05-16", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000185", + "po_item": "00010", + "po_date": "2026-04-14", + "promised_date": "2026-05-11", + "first_gr_date": "2026-05-11", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000186", + "po_item": "00020", + "po_date": "2026-04-21", + "promised_date": "2026-06-10", + "first_gr_date": "2026-06-15", + "days_late": 5, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000187", + "po_item": "00030", + "po_date": "2026-04-30", + "promised_date": "2026-06-18", + "first_gr_date": "2026-06-18", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000188", + "po_item": "00040", + "po_date": "2026-05-04", + "promised_date": "2026-06-21", + "first_gr_date": "2026-06-21", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000189", + "po_item": "00050", + "po_date": "2026-05-12", + "promised_date": "2026-06-16", + "first_gr_date": "2026-06-17", + "days_late": 1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + } + ] +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/_global/supplier_performance.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/_global/supplier_performance.json new file mode 100644 index 00000000000..f3dc980820f --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/_global/supplier_performance.json @@ -0,0 +1,716 @@ +{ + "generated_at": "2026-06-17T16:36:56Z", + "overall": { + "n_lines": 190, + "n_vendors": 6, + "on_time_pct": 88.9, + "in_full_pct": 100.0, + "otif_pct": 88.9, + "coverage_pct": 100.0, + "tolerance_days": 0, + "under_tolerance_pct": 0.05, + "min_lines_for_leaderboard": 3 + }, + "vendors": [ + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "n_lines": 56, + "n_late": 5, + "on_time_pct": 91.1, + "in_full_pct": 100.0, + "otif_pct": 91.1, + "mean_days_late_all": 0.29, + "mean_days_late_when_late": 3.2, + "median_days_late_when_late": 3, + "max_days_late": 6, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 8.9, + "ge_3d_pct": 5.4, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + }, + "monthly": [ + { + "month": "2025-06", + "n": 6, + "on_time_pct": 100.0 + }, + { + "month": "2025-07", + "n": 4, + "on_time_pct": 75.0 + }, + { + "month": "2025-08", + "n": 6, + "on_time_pct": 83.3 + }, + { + "month": "2025-09", + "n": 2, + "on_time_pct": 100.0 + }, + { + "month": "2025-10", + "n": 6, + "on_time_pct": 83.3 + }, + { + "month": "2025-11", + "n": 3, + "on_time_pct": 100.0 + }, + { + "month": "2025-12", + "n": 4, + "on_time_pct": 75.0 + }, + { + "month": "2026-01", + "n": 6, + "on_time_pct": 100.0 + }, + { + "month": "2026-02", + "n": 3, + "on_time_pct": 100.0 + }, + { + "month": "2026-03", + "n": 6, + "on_time_pct": 100.0 + }, + { + "month": "2026-04", + "n": 3, + "on_time_pct": 66.7 + }, + { + "month": "2026-05", + "n": 4, + "on_time_pct": 100.0 + }, + { + "month": "2026-06", + "n": 3, + "on_time_pct": 100.0 + } + ], + "materials": [ + { + "matnr": "demo_highland_arabica", + "name": "Highland Arabica", + "n_lines": 56, + "on_time_pct": 91.1, + "otif_pct": 91.1 + } + ], + "worst_events": [ + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000011", + "po_item": "00020", + "po_date": "2025-07-07", + "promised_date": "2025-08-19", + "first_gr_date": "2025-08-25", + "days_late": 6, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000007", + "po_item": "00030", + "po_date": "2025-06-11", + "promised_date": "2025-07-06", + "first_gr_date": "2025-07-10", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000046", + "po_item": "00020", + "po_date": "2026-03-10", + "promised_date": "2026-04-26", + "first_gr_date": "2026-04-29", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000023", + "po_item": "00040", + "po_date": "2025-10-01", + "promised_date": "2025-10-29", + "first_gr_date": "2025-10-31", + "days_late": 2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000030", + "po_item": "00010", + "po_date": "2025-11-20", + "promised_date": "2025-12-23", + "first_gr_date": "2025-12-24", + "days_late": 1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0 + } + ] + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "n_lines": 42, + "n_late": 0, + "on_time_pct": 100.0, + "in_full_pct": 100.0, + "otif_pct": 100.0, + "mean_days_late_all": 0, + "mean_days_late_when_late": null, + "median_days_late_when_late": null, + "max_days_late": 0, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 0.0, + "ge_3d_pct": 0.0, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + }, + "monthly": [ + { + "month": "2025-08", + "n": 1, + "on_time_pct": 100.0 + }, + { + "month": "2025-09", + "n": 3, + "on_time_pct": 100.0 + }, + { + "month": "2025-10", + "n": 5, + "on_time_pct": 100.0 + }, + { + "month": "2025-11", + "n": 5, + "on_time_pct": 100.0 + }, + { + "month": "2025-12", + "n": 6, + "on_time_pct": 100.0 + }, + { + "month": "2026-01", + "n": 2, + "on_time_pct": 100.0 + }, + { + "month": "2026-02", + "n": 4, + "on_time_pct": 100.0 + }, + { + "month": "2026-03", + "n": 4, + "on_time_pct": 100.0 + }, + { + "month": "2026-04", + "n": 5, + "on_time_pct": 100.0 + }, + { + "month": "2026-05", + "n": 4, + "on_time_pct": 100.0 + }, + { + "month": "2026-06", + "n": 3, + "on_time_pct": 100.0 + } + ], + "materials": [ + { + "matnr": "demo_lowland_robusta", + "name": "Lowland Robusta", + "n_lines": 42, + "on_time_pct": 100.0, + "otif_pct": 100.0 + } + ], + "worst_events": [] + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "n_lines": 35, + "n_late": 4, + "on_time_pct": 88.6, + "in_full_pct": 100.0, + "otif_pct": 88.6, + "mean_days_late_all": 1.29, + "mean_days_late_when_late": 11.2, + "median_days_late_when_late": 10.0, + "max_days_late": 24, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 11.4, + "ge_3d_pct": 8.6, + "ge_7d_pct": 8.6, + "ge_14d_pct": 2.9 + }, + "monthly": [ + { + "month": "2025-10", + "n": 1, + "on_time_pct": 100.0 + }, + { + "month": "2025-11", + "n": 4, + "on_time_pct": 75.0 + }, + { + "month": "2025-12", + "n": 4, + "on_time_pct": 100.0 + }, + { + "month": "2026-01", + "n": 7, + "on_time_pct": 100.0 + }, + { + "month": "2026-02", + "n": 3, + "on_time_pct": 100.0 + }, + { + "month": "2026-03", + "n": 3, + "on_time_pct": 66.7 + }, + { + "month": "2026-04", + "n": 7, + "on_time_pct": 85.7 + }, + { + "month": "2026-05", + "n": 3, + "on_time_pct": 100.0 + }, + { + "month": "2026-06", + "n": 2, + "on_time_pct": 100.0 + }, + { + "month": "2026-07", + "n": 1, + "on_time_pct": 0.0 + } + ], + "materials": [ + { + "matnr": "demo_washed_bourbon", + "name": "Washed Bourbon", + "n_lines": 35, + "on_time_pct": 88.6, + "otif_pct": 88.6 + } + ], + "worst_events": [ + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000140", + "po_item": "00010", + "po_date": "2025-09-18", + "promised_date": "2025-10-14", + "first_gr_date": "2025-11-07", + "days_late": 24, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000162", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-03-20", + "first_gr_date": "2026-04-01", + "days_late": 12, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000173", + "po_item": "00040", + "po_date": "2026-05-05", + "promised_date": "2026-06-24", + "first_gr_date": "2026-07-02", + "days_late": 8, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000161", + "po_item": "00020", + "po_date": "2026-02-12", + "promised_date": "2026-03-19", + "first_gr_date": "2026-03-20", + "days_late": 1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + } + ] + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "n_lines": 27, + "n_late": 7, + "on_time_pct": 74.1, + "in_full_pct": 100.0, + "otif_pct": 74.1, + "mean_days_late_all": 1.22, + "mean_days_late_when_late": 4.7, + "median_days_late_when_late": 2, + "max_days_late": 18, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 25.9, + "ge_3d_pct": 11.1, + "ge_7d_pct": 3.7, + "ge_14d_pct": 3.7 + }, + "monthly": [ + { + "month": "2026-03", + "n": 4, + "on_time_pct": 100.0 + }, + { + "month": "2026-04", + "n": 9, + "on_time_pct": 55.6 + }, + { + "month": "2026-05", + "n": 7, + "on_time_pct": 100.0 + }, + { + "month": "2026-06", + "n": 7, + "on_time_pct": 57.1 + } + ], + "materials": [ + { + "matnr": "demo_washed_bourbon", + "name": "Washed Bourbon", + "n_lines": 15, + "on_time_pct": 80.0, + "otif_pct": 80.0 + }, + { + "matnr": "demo_highland_arabica", + "name": "Highland Arabica", + "n_lines": 12, + "on_time_pct": 66.7, + "otif_pct": 66.7 + } + ], + "worst_events": [ + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000067", + "po_item": "00020", + "po_date": "2026-05-14", + "promised_date": "2026-06-04", + "first_gr_date": "2026-06-22", + "days_late": 18, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000058", + "po_item": "00030", + "po_date": "2026-03-11", + "promised_date": "2026-04-07", + "first_gr_date": "2026-04-12", + "days_late": 5, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000186", + "po_item": "00020", + "po_date": "2026-04-21", + "promised_date": "2026-06-10", + "first_gr_date": "2026-06-15", + "days_late": 5, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000177", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-05", + "days_late": 2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000056", + "po_item": "00010", + "po_date": "2026-02-25", + "promised_date": "2026-04-09", + "first_gr_date": "2026-04-10", + "days_late": 1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + } + ] + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "n_lines": 18, + "n_late": 0, + "on_time_pct": 100.0, + "in_full_pct": 100.0, + "otif_pct": 100.0, + "mean_days_late_all": 0, + "mean_days_late_when_late": null, + "median_days_late_when_late": null, + "max_days_late": 0, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 0.0, + "ge_3d_pct": 0.0, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + }, + "monthly": [ + { + "month": "2026-02", + "n": 3, + "on_time_pct": 100.0 + }, + { + "month": "2026-03", + "n": 4, + "on_time_pct": 100.0 + }, + { + "month": "2026-04", + "n": 3, + "on_time_pct": 100.0 + }, + { + "month": "2026-05", + "n": 7, + "on_time_pct": 100.0 + }, + { + "month": "2026-06", + "n": 1, + "on_time_pct": 100.0 + } + ], + "materials": [ + { + "matnr": "demo_lowland_robusta", + "name": "Lowland Robusta", + "n_lines": 18, + "on_time_pct": 100.0, + "otif_pct": 100.0 + } + ], + "worst_events": [] + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "n_lines": 12, + "n_late": 5, + "on_time_pct": 58.3, + "in_full_pct": 100.0, + "otif_pct": 58.3, + "mean_days_late_all": 6.25, + "mean_days_late_when_late": 15, + "median_days_late_when_late": 18, + "max_days_late": 30, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 41.7, + "ge_3d_pct": 41.7, + "ge_7d_pct": 25.0, + "ge_14d_pct": 25.0 + }, + "monthly": [ + { + "month": "2026-04", + "n": 3, + "on_time_pct": 33.3 + }, + { + "month": "2026-05", + "n": 4, + "on_time_pct": 50.0 + }, + { + "month": "2026-06", + "n": 5, + "on_time_pct": 80.0 + } + ], + "materials": [ + { + "matnr": "demo_highland_arabica", + "name": "Highland Arabica", + "n_lines": 12, + "on_time_pct": 58.3, + "otif_pct": 58.3 + } + ], + "worst_events": [ + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000073", + "po_item": "00010", + "po_date": "2026-03-31", + "promised_date": "2026-05-08", + "first_gr_date": "2026-06-07", + "days_late": 30, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000070", + "po_item": "00030", + "po_date": "2026-03-09", + "promised_date": "2026-04-22", + "first_gr_date": "2026-05-12", + "days_late": 20, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000072", + "po_item": "00050", + "po_date": "2026-03-24", + "promised_date": "2026-05-03", + "first_gr_date": "2026-05-21", + "days_late": 18, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000068", + "po_item": "00010", + "po_date": "2026-02-24", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-07", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000069", + "po_item": "00020", + "po_date": "2026-03-04", + "promised_date": "2026-04-06", + "first_gr_date": "2026-04-09", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + } + ] + } + ], + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/graph.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/graph.json new file mode 100644 index 00000000000..4fe2b74569c --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/graph.json @@ -0,0 +1,16588 @@ +{ + "product_id": "harbor-dark-roast", + "product_name": "Harbor Dark Roast", + "nodes": [ + { + "id": "procurement_highland_arabica", + "label": "Procurement: Highland Arabica", + "type": "procurement", + "material": "90000100001", + "plant": "PL-A", + "stats": { + "n": 59, + "mean": 40.2, + "median": 40.0, + "std": 13.3, + "min": 8, + "max": 105, + "p25": 35.0, + "p75": 45.0, + "p85": 48.0, + "p95": 55.8 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 98.3, + "cost": null, + "observations": [ + { + "date": "2022-03-15", + "value": 55 + }, + { + "date": "2022-06-10", + "value": 42 + }, + { + "date": "2022-09-22", + "value": 8 + }, + { + "date": "2022-12-05", + "value": 63 + }, + { + "date": "2023-02-14", + "value": 38 + }, + { + "date": "2023-05-30", + "value": 22 + }, + { + "date": "2023-08-17", + "value": 71 + }, + { + "date": "2023-11-02", + "value": 30 + }, + { + "date": "2024-01-25", + "value": 45 + }, + { + "date": "2024-04-11", + "value": 18 + }, + { + "date": "2024-07-09", + "value": 105 + }, + { + "date": "2024-10-03", + "value": 35 + }, + { + "date": "2025-01-20", + "value": 12 + }, + { + "date": "2025-04-08", + "value": 48 + }, + { + "date": "2025-09-05", + "value": 39 + }, + { + "date": "2025-09-11", + "value": 41 + }, + { + "date": "2025-09-17", + "value": 44 + }, + { + "date": "2025-09-23", + "value": 48 + }, + { + "date": "2025-09-29", + "value": 51 + }, + { + "date": "2025-10-06", + "value": 37 + }, + { + "date": "2025-10-12", + "value": 40 + }, + { + "date": "2025-10-18", + "value": 44 + }, + { + "date": "2025-10-24", + "value": 47 + }, + { + "date": "2025-10-30", + "value": 31 + }, + { + "date": "2025-11-04", + "value": 36 + }, + { + "date": "2025-11-10", + "value": 40 + }, + { + "date": "2025-11-16", + "value": 43 + }, + { + "date": "2025-11-22", + "value": 27 + }, + { + "date": "2025-11-28", + "value": 31 + }, + { + "date": "2025-12-05", + "value": 46 + }, + { + "date": "2025-12-11", + "value": 49 + }, + { + "date": "2025-12-17", + "value": 33 + }, + { + "date": "2025-12-23", + "value": 37 + }, + { + "date": "2025-12-29", + "value": 39 + }, + { + "date": "2026-01-06", + "value": 45 + }, + { + "date": "2026-01-12", + "value": 29 + }, + { + "date": "2026-01-18", + "value": 33 + }, + { + "date": "2026-01-24", + "value": 35 + }, + { + "date": "2026-01-30", + "value": 38 + }, + { + "date": "2026-02-04", + "value": 35 + }, + { + "date": "2026-02-10", + "value": 39 + }, + { + "date": "2026-02-16", + "value": 41 + }, + { + "date": "2026-02-22", + "value": 44 + }, + { + "date": "2026-02-28", + "value": 48 + }, + { + "date": "2026-03-05", + "value": 35 + }, + { + "date": "2026-03-11", + "value": 37 + }, + { + "date": "2026-03-17", + "value": 40 + }, + { + "date": "2026-03-23", + "value": 44 + }, + { + "date": "2026-03-29", + "value": 47 + }, + { + "date": "2026-04-06", + "value": 33 + }, + { + "date": "2026-04-12", + "value": 36 + }, + { + "date": "2026-04-18", + "value": 40 + }, + { + "date": "2026-04-24", + "value": 43 + }, + { + "date": "2026-04-30", + "value": 27 + }, + { + "date": "2026-05-04", + "value": 42 + }, + { + "date": "2026-05-10", + "value": 46 + }, + { + "date": "2026-05-16", + "value": 49 + }, + { + "date": "2026-05-22", + "value": 33 + }, + { + "date": "2026-05-28", + "value": 37 + } + ], + "monthly": [ + { + "month": "2022-03", + "mean": 55.0, + "median": 55.0, + "p10": 55.0, + "p25": 55.0, + "p75": 55.0, + "p90": 55.0, + "n": 1 + }, + { + "month": "2022-06", + "mean": 42.0, + "median": 42.0, + "p10": 42.0, + "p25": 42.0, + "p75": 42.0, + "p90": 42.0, + "n": 1 + }, + { + "month": "2022-09", + "mean": 8.0, + "median": 8.0, + "p10": 8.0, + "p25": 8.0, + "p75": 8.0, + "p90": 8.0, + "n": 1 + }, + { + "month": "2022-12", + "mean": 63.0, + "median": 63.0, + "p10": 63.0, + "p25": 63.0, + "p75": 63.0, + "p90": 63.0, + "n": 1 + }, + { + "month": "2023-02", + "mean": 38.0, + "median": 38.0, + "p10": 38.0, + "p25": 38.0, + "p75": 38.0, + "p90": 38.0, + "n": 1 + }, + { + "month": "2023-05", + "mean": 22.0, + "median": 22.0, + "p10": 22.0, + "p25": 22.0, + "p75": 22.0, + "p90": 22.0, + "n": 1 + }, + { + "month": "2023-08", + "mean": 71.0, + "median": 71.0, + "p10": 71.0, + "p25": 71.0, + "p75": 71.0, + "p90": 71.0, + "n": 1 + }, + { + "month": "2023-11", + "mean": 30.0, + "median": 30.0, + "p10": 30.0, + "p25": 30.0, + "p75": 30.0, + "p90": 30.0, + "n": 1 + }, + { + "month": "2024-01", + "mean": 45.0, + "median": 45.0, + "p10": 45.0, + "p25": 45.0, + "p75": 45.0, + "p90": 45.0, + "n": 1 + }, + { + "month": "2024-04", + "mean": 18.0, + "median": 18.0, + "p10": 18.0, + "p25": 18.0, + "p75": 18.0, + "p90": 18.0, + "n": 1 + }, + { + "month": "2024-07", + "mean": 105.0, + "median": 105.0, + "p10": 105.0, + "p25": 105.0, + "p75": 105.0, + "p90": 105.0, + "n": 1 + }, + { + "month": "2024-10", + "mean": 35.0, + "median": 35.0, + "p10": 35.0, + "p25": 35.0, + "p75": 35.0, + "p90": 35.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 12.0, + "median": 12.0, + "p10": 12.0, + "p25": 12.0, + "p75": 12.0, + "p90": 12.0, + "n": 1 + }, + { + "month": "2025-04", + "mean": 48.0, + "median": 48.0, + "p10": 48.0, + "p25": 48.0, + "p75": 48.0, + "p90": 48.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 44.6, + "median": 44.0, + "p10": 39.8, + "p25": 41.0, + "p75": 48.0, + "p90": 49.8, + "n": 5 + }, + { + "month": "2025-10", + "mean": 39.8, + "median": 40.0, + "p10": 33.4, + "p25": 37.0, + "p75": 44.0, + "p90": 45.8, + "n": 5 + }, + { + "month": "2025-11", + "mean": 35.4, + "median": 36.0, + "p10": 28.6, + "p25": 31.0, + "p75": 40.0, + "p90": 41.8, + "n": 5 + }, + { + "month": "2025-12", + "mean": 40.8, + "median": 39.0, + "p10": 34.6, + "p25": 37.0, + "p75": 46.0, + "p90": 47.8, + "n": 5 + }, + { + "month": "2026-01", + "mean": 36.0, + "median": 35.0, + "p10": 30.6, + "p25": 33.0, + "p75": 38.0, + "p90": 42.2, + "n": 5 + }, + { + "month": "2026-02", + "mean": 41.4, + "median": 41.0, + "p10": 36.6, + "p25": 39.0, + "p75": 44.0, + "p90": 46.4, + "n": 5 + }, + { + "month": "2026-03", + "mean": 40.6, + "median": 40.0, + "p10": 35.8, + "p25": 37.0, + "p75": 44.0, + "p90": 45.8, + "n": 5 + }, + { + "month": "2026-04", + "mean": 35.8, + "median": 36.0, + "p10": 29.4, + "p25": 33.0, + "p75": 40.0, + "p90": 41.8, + "n": 5 + }, + { + "month": "2026-05", + "mean": 41.4, + "median": 42.0, + "p10": 34.6, + "p25": 37.0, + "p75": 46.0, + "p90": 47.8, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "procurement_lowland_robusta", + "label": "Procurement: Lowland Robusta", + "type": "procurement", + "material": "90000100002", + "plant": "PL-A", + "stats": { + "n": 63, + "mean": 33.4, + "median": 33.0, + "std": 11.4, + "min": 5, + "max": 82, + "p25": 28.0, + "p75": 38.0, + "p85": 40.7, + "p95": 51.6 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 96.8, + "cost": null, + "observations": [ + { + "date": "2022-02-08", + "value": 32 + }, + { + "date": "2022-04-19", + "value": 48 + }, + { + "date": "2022-07-11", + "value": 5 + }, + { + "date": "2022-09-28", + "value": 67 + }, + { + "date": "2022-12-15", + "value": 25 + }, + { + "date": "2023-03-07", + "value": 41 + }, + { + "date": "2023-05-22", + "value": 15 + }, + { + "date": "2023-08-09", + "value": 82 + }, + { + "date": "2023-10-30", + "value": 38 + }, + { + "date": "2024-01-16", + "value": 20 + }, + { + "date": "2024-03-25", + "value": 52 + }, + { + "date": "2024-06-12", + "value": 10 + }, + { + "date": "2024-08-28", + "value": 44 + }, + { + "date": "2024-11-14", + "value": 28 + }, + { + "date": "2025-01-06", + "value": 35 + }, + { + "date": "2025-03-18", + "value": 18 + }, + { + "date": "2025-05-29", + "value": 55 + }, + { + "date": "2025-08-12", + "value": 26 + }, + { + "date": "2025-09-04", + "value": 26 + }, + { + "date": "2025-09-10", + "value": 29 + }, + { + "date": "2025-09-16", + "value": 31 + }, + { + "date": "2025-09-22", + "value": 34 + }, + { + "date": "2025-09-28", + "value": 37 + }, + { + "date": "2025-10-05", + "value": 26 + }, + { + "date": "2025-10-11", + "value": 28 + }, + { + "date": "2025-10-17", + "value": 31 + }, + { + "date": "2025-10-23", + "value": 33 + }, + { + "date": "2025-10-29", + "value": 36 + }, + { + "date": "2025-11-06", + "value": 33 + }, + { + "date": "2025-11-12", + "value": 36 + }, + { + "date": "2025-11-18", + "value": 38 + }, + { + "date": "2025-11-24", + "value": 42 + }, + { + "date": "2025-11-30", + "value": 28 + }, + { + "date": "2025-12-04", + "value": 32 + }, + { + "date": "2025-12-10", + "value": 35 + }, + { + "date": "2025-12-16", + "value": 38 + }, + { + "date": "2025-12-22", + "value": 24 + }, + { + "date": "2025-12-28", + "value": 28 + }, + { + "date": "2026-01-05", + "value": 40 + }, + { + "date": "2026-01-11", + "value": 43 + }, + { + "date": "2026-01-17", + "value": 29 + }, + { + "date": "2026-01-23", + "value": 33 + }, + { + "date": "2026-01-29", + "value": 35 + }, + { + "date": "2026-02-06", + "value": 40 + }, + { + "date": "2026-02-12", + "value": 26 + }, + { + "date": "2026-02-18", + "value": 29 + }, + { + "date": "2026-02-24", + "value": 31 + }, + { + "date": "2026-02-30", + "value": 34 + }, + { + "date": "2026-03-04", + "value": 22 + }, + { + "date": "2026-03-10", + "value": 26 + }, + { + "date": "2026-03-16", + "value": 28 + }, + { + "date": "2026-03-22", + "value": 31 + }, + { + "date": "2026-03-28", + "value": 33 + }, + { + "date": "2026-04-05", + "value": 31 + }, + { + "date": "2026-04-11", + "value": 33 + }, + { + "date": "2026-04-17", + "value": 36 + }, + { + "date": "2026-04-23", + "value": 38 + }, + { + "date": "2026-04-29", + "value": 42 + }, + { + "date": "2026-05-06", + "value": 30 + }, + { + "date": "2026-05-12", + "value": 32 + }, + { + "date": "2026-05-18", + "value": 35 + }, + { + "date": "2026-05-24", + "value": 38 + }, + { + "date": "2026-05-30", + "value": 24 + } + ], + "monthly": [ + { + "month": "2022-02", + "mean": 32.0, + "median": 32.0, + "p10": 32.0, + "p25": 32.0, + "p75": 32.0, + "p90": 32.0, + "n": 1 + }, + { + "month": "2022-04", + "mean": 48.0, + "median": 48.0, + "p10": 48.0, + "p25": 48.0, + "p75": 48.0, + "p90": 48.0, + "n": 1 + }, + { + "month": "2022-07", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2022-09", + "mean": 67.0, + "median": 67.0, + "p10": 67.0, + "p25": 67.0, + "p75": 67.0, + "p90": 67.0, + "n": 1 + }, + { + "month": "2022-12", + "mean": 25.0, + "median": 25.0, + "p10": 25.0, + "p25": 25.0, + "p75": 25.0, + "p90": 25.0, + "n": 1 + }, + { + "month": "2023-03", + "mean": 41.0, + "median": 41.0, + "p10": 41.0, + "p25": 41.0, + "p75": 41.0, + "p90": 41.0, + "n": 1 + }, + { + "month": "2023-05", + "mean": 15.0, + "median": 15.0, + "p10": 15.0, + "p25": 15.0, + "p75": 15.0, + "p90": 15.0, + "n": 1 + }, + { + "month": "2023-08", + "mean": 82.0, + "median": 82.0, + "p10": 82.0, + "p25": 82.0, + "p75": 82.0, + "p90": 82.0, + "n": 1 + }, + { + "month": "2023-10", + "mean": 38.0, + "median": 38.0, + "p10": 38.0, + "p25": 38.0, + "p75": 38.0, + "p90": 38.0, + "n": 1 + }, + { + "month": "2024-01", + "mean": 20.0, + "median": 20.0, + "p10": 20.0, + "p25": 20.0, + "p75": 20.0, + "p90": 20.0, + "n": 1 + }, + { + "month": "2024-03", + "mean": 52.0, + "median": 52.0, + "p10": 52.0, + "p25": 52.0, + "p75": 52.0, + "p90": 52.0, + "n": 1 + }, + { + "month": "2024-06", + "mean": 10.0, + "median": 10.0, + "p10": 10.0, + "p25": 10.0, + "p75": 10.0, + "p90": 10.0, + "n": 1 + }, + { + "month": "2024-08", + "mean": 44.0, + "median": 44.0, + "p10": 44.0, + "p25": 44.0, + "p75": 44.0, + "p90": 44.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 28.0, + "median": 28.0, + "p10": 28.0, + "p25": 28.0, + "p75": 28.0, + "p90": 28.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 35.0, + "median": 35.0, + "p10": 35.0, + "p25": 35.0, + "p75": 35.0, + "p90": 35.0, + "n": 1 + }, + { + "month": "2025-03", + "mean": 18.0, + "median": 18.0, + "p10": 18.0, + "p25": 18.0, + "p75": 18.0, + "p90": 18.0, + "n": 1 + }, + { + "month": "2025-05", + "mean": 55.0, + "median": 55.0, + "p10": 55.0, + "p25": 55.0, + "p75": 55.0, + "p90": 55.0, + "n": 1 + }, + { + "month": "2025-08", + "mean": 26.0, + "median": 26.0, + "p10": 26.0, + "p25": 26.0, + "p75": 26.0, + "p90": 26.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 31.4, + "median": 31.0, + "p10": 27.2, + "p25": 29.0, + "p75": 34.0, + "p90": 35.8, + "n": 5 + }, + { + "month": "2025-10", + "mean": 30.8, + "median": 31.0, + "p10": 26.8, + "p25": 28.0, + "p75": 33.0, + "p90": 34.8, + "n": 5 + }, + { + "month": "2025-11", + "mean": 35.4, + "median": 36.0, + "p10": 30.0, + "p25": 33.0, + "p75": 38.0, + "p90": 40.4, + "n": 5 + }, + { + "month": "2025-12", + "mean": 31.4, + "median": 32.0, + "p10": 25.6, + "p25": 28.0, + "p75": 35.0, + "p90": 36.8, + "n": 5 + }, + { + "month": "2026-01", + "mean": 36.0, + "median": 35.0, + "p10": 30.6, + "p25": 33.0, + "p75": 40.0, + "p90": 41.8, + "n": 5 + }, + { + "month": "2026-02", + "mean": 32.0, + "median": 31.0, + "p10": 27.2, + "p25": 29.0, + "p75": 34.0, + "p90": 37.6, + "n": 5 + }, + { + "month": "2026-03", + "mean": 28.0, + "median": 28.0, + "p10": 23.6, + "p25": 26.0, + "p75": 31.0, + "p90": 32.2, + "n": 5 + }, + { + "month": "2026-04", + "mean": 36.0, + "median": 36.0, + "p10": 31.8, + "p25": 33.0, + "p75": 38.0, + "p90": 40.4, + "n": 5 + }, + { + "month": "2026-05", + "mean": 31.8, + "median": 32.0, + "p10": 26.4, + "p25": 30.0, + "p75": 35.0, + "p90": 36.8, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "procurement_washed_bourbon", + "label": "Procurement: Washed Bourbon", + "type": "procurement", + "material": "90000100003", + "plant": "PL-A", + "stats": { + "n": 55, + "mean": 26.1, + "median": 25.0, + "std": 8.0, + "min": 7, + "max": 62, + "p25": 22.5, + "p75": 29.0, + "p85": 30.0, + "p95": 36.5 + }, + "plifz": 7, + "plifz_note": null, + "pct_exceeding_plifz": 98.2, + "cost": null, + "observations": [ + { + "date": "2022-05-03", + "value": 35 + }, + { + "date": "2022-10-18", + "value": 16 + }, + { + "date": "2023-01-24", + "value": 62 + }, + { + "date": "2023-06-15", + "value": 7 + }, + { + "date": "2023-09-28", + "value": 40 + }, + { + "date": "2024-02-12", + "value": 25 + }, + { + "date": "2024-05-07", + "value": 48 + }, + { + "date": "2024-09-19", + "value": 12 + }, + { + "date": "2025-02-04", + "value": 30 + }, + { + "date": "2025-06-10", + "value": 14 + }, + { + "date": "2025-09-06", + "value": 30 + }, + { + "date": "2025-09-12", + "value": 19 + }, + { + "date": "2025-09-18", + "value": 22 + }, + { + "date": "2025-09-24", + "value": 23 + }, + { + "date": "2025-09-30", + "value": 25 + }, + { + "date": "2025-10-04", + "value": 23 + }, + { + "date": "2025-10-10", + "value": 25 + }, + { + "date": "2025-10-16", + "value": 27 + }, + { + "date": "2025-10-22", + "value": 29 + }, + { + "date": "2025-10-28", + "value": 31 + }, + { + "date": "2025-11-05", + "value": 23 + }, + { + "date": "2025-11-11", + "value": 25 + }, + { + "date": "2025-11-17", + "value": 27 + }, + { + "date": "2025-11-23", + "value": 29 + }, + { + "date": "2025-11-29", + "value": 31 + }, + { + "date": "2025-12-06", + "value": 22 + }, + { + "date": "2025-12-12", + "value": 24 + }, + { + "date": "2025-12-18", + "value": 26 + }, + { + "date": "2025-12-24", + "value": 28 + }, + { + "date": "2025-12-30", + "value": 18 + }, + { + "date": "2026-01-04", + "value": 28 + }, + { + "date": "2026-01-10", + "value": 30 + }, + { + "date": "2026-01-16", + "value": 32 + }, + { + "date": "2026-01-22", + "value": 22 + }, + { + "date": "2026-01-28", + "value": 24 + }, + { + "date": "2026-02-05", + "value": 27 + }, + { + "date": "2026-02-11", + "value": 30 + }, + { + "date": "2026-02-17", + "value": 19 + }, + { + "date": "2026-02-23", + "value": 22 + }, + { + "date": "2026-02-29", + "value": 23 + }, + { + "date": "2026-03-06", + "value": 34 + }, + { + "date": "2026-03-12", + "value": 23 + }, + { + "date": "2026-03-18", + "value": 25 + }, + { + "date": "2026-03-24", + "value": 27 + }, + { + "date": "2026-03-30", + "value": 29 + }, + { + "date": "2026-04-04", + "value": 20 + }, + { + "date": "2026-04-10", + "value": 23 + }, + { + "date": "2026-04-16", + "value": 25 + }, + { + "date": "2026-04-22", + "value": 27 + }, + { + "date": "2026-04-28", + "value": 29 + }, + { + "date": "2026-05-05", + "value": 20 + }, + { + "date": "2026-05-11", + "value": 22 + }, + { + "date": "2026-05-17", + "value": 24 + }, + { + "date": "2026-05-23", + "value": 26 + }, + { + "date": "2026-05-29", + "value": 28 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 35.0, + "median": 35.0, + "p10": 35.0, + "p25": 35.0, + "p75": 35.0, + "p90": 35.0, + "n": 1 + }, + { + "month": "2022-10", + "mean": 16.0, + "median": 16.0, + "p10": 16.0, + "p25": 16.0, + "p75": 16.0, + "p90": 16.0, + "n": 1 + }, + { + "month": "2023-01", + "mean": 62.0, + "median": 62.0, + "p10": 62.0, + "p25": 62.0, + "p75": 62.0, + "p90": 62.0, + "n": 1 + }, + { + "month": "2023-06", + "mean": 7.0, + "median": 7.0, + "p10": 7.0, + "p25": 7.0, + "p75": 7.0, + "p90": 7.0, + "n": 1 + }, + { + "month": "2023-09", + "mean": 40.0, + "median": 40.0, + "p10": 40.0, + "p25": 40.0, + "p75": 40.0, + "p90": 40.0, + "n": 1 + }, + { + "month": "2024-02", + "mean": 25.0, + "median": 25.0, + "p10": 25.0, + "p25": 25.0, + "p75": 25.0, + "p90": 25.0, + "n": 1 + }, + { + "month": "2024-05", + "mean": 48.0, + "median": 48.0, + "p10": 48.0, + "p25": 48.0, + "p75": 48.0, + "p90": 48.0, + "n": 1 + }, + { + "month": "2024-09", + "mean": 12.0, + "median": 12.0, + "p10": 12.0, + "p25": 12.0, + "p75": 12.0, + "p90": 12.0, + "n": 1 + }, + { + "month": "2025-02", + "mean": 30.0, + "median": 30.0, + "p10": 30.0, + "p25": 30.0, + "p75": 30.0, + "p90": 30.0, + "n": 1 + }, + { + "month": "2025-06", + "mean": 14.0, + "median": 14.0, + "p10": 14.0, + "p25": 14.0, + "p75": 14.0, + "p90": 14.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 23.8, + "median": 23.0, + "p10": 20.2, + "p25": 22.0, + "p75": 25.0, + "p90": 28.0, + "n": 5 + }, + { + "month": "2025-10", + "mean": 27.0, + "median": 27.0, + "p10": 23.8, + "p25": 25.0, + "p75": 29.0, + "p90": 30.2, + "n": 5 + }, + { + "month": "2025-11", + "mean": 27.0, + "median": 27.0, + "p10": 23.8, + "p25": 25.0, + "p75": 29.0, + "p90": 30.2, + "n": 5 + }, + { + "month": "2025-12", + "mean": 23.6, + "median": 24.0, + "p10": 19.6, + "p25": 22.0, + "p75": 26.0, + "p90": 27.2, + "n": 5 + }, + { + "month": "2026-01", + "mean": 27.2, + "median": 28.0, + "p10": 22.8, + "p25": 24.0, + "p75": 30.0, + "p90": 31.2, + "n": 5 + }, + { + "month": "2026-02", + "mean": 24.2, + "median": 23.0, + "p10": 20.2, + "p25": 22.0, + "p75": 27.0, + "p90": 28.8, + "n": 5 + }, + { + "month": "2026-03", + "mean": 27.6, + "median": 27.0, + "p10": 23.8, + "p25": 25.0, + "p75": 29.0, + "p90": 32.0, + "n": 5 + }, + { + "month": "2026-04", + "mean": 24.8, + "median": 25.0, + "p10": 21.2, + "p25": 23.0, + "p75": 27.0, + "p90": 28.2, + "n": 5 + }, + { + "month": "2026-05", + "mean": 24.0, + "median": 24.0, + "p10": 20.8, + "p25": 22.0, + "p75": 26.0, + "p90": 27.2, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_highland_arabica", + "label": "Raw Material Dwell: Highland Arabica", + "type": "raw_material_dwell", + "material": "90000100001", + "plant": "PL-A", + "stats": { + "n": 83, + "mean": 48.3, + "median": 46.0, + "std": 19.8, + "min": 5, + "max": 130, + "p25": 38.5, + "p75": 54.5, + "p85": 61.0, + "p95": 87.7 + }, + "plifz": 30, + "plifz_note": null, + "pct_exceeding_plifz": 89.2, + "cost": { + "unit_price": 3.2, + "currency": "CHF", + "mean_qty": 4200.0, + "monthly": [ + { + "month": "2022-04", + "n_events": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "n_events": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "n_events": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "n_events": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "n_events": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "n_events": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "n_events": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "n_events": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "n_events": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "n_events": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 827400.0 + } + ] + }, + "observations": [ + { + "date": "2022-04-02", + "value": 35 + }, + { + "date": "2022-04-15", + "value": 62 + }, + { + "date": "2022-04-28", + "value": 18 + }, + { + "date": "2022-08-05", + "value": 88 + }, + { + "date": "2022-08-12", + "value": 42 + }, + { + "date": "2022-08-20", + "value": 55 + }, + { + "date": "2022-08-28", + "value": 30 + }, + { + "date": "2023-01-10", + "value": 72 + }, + { + "date": "2023-01-22", + "value": 25 + }, + { + "date": "2023-01-30", + "value": 48 + }, + { + "date": "2023-06-05", + "value": 15 + }, + { + "date": "2023-06-18", + "value": 95 + }, + { + "date": "2023-10-03", + "value": 130 + }, + { + "date": "2023-10-10", + "value": 45 + }, + { + "date": "2023-10-18", + "value": 38 + }, + { + "date": "2023-10-25", + "value": 65 + }, + { + "date": "2023-10-30", + "value": 22 + }, + { + "date": "2024-03-05", + "value": 78 + }, + { + "date": "2024-03-12", + "value": 5 + }, + { + "date": "2024-03-20", + "value": 55 + }, + { + "date": "2024-03-28", + "value": 40 + }, + { + "date": "2024-07-08", + "value": 28 + }, + { + "date": "2024-07-15", + "value": 85 + }, + { + "date": "2024-07-22", + "value": 50 + }, + { + "date": "2024-11-04", + "value": 110 + }, + { + "date": "2024-11-11", + "value": 32 + }, + { + "date": "2024-11-18", + "value": 68 + }, + { + "date": "2024-11-25", + "value": 45 + }, + { + "date": "2024-11-30", + "value": 92 + }, + { + "date": "2025-03-03", + "value": 20 + }, + { + "date": "2025-03-10", + "value": 58 + }, + { + "date": "2025-03-17", + "value": 35 + }, + { + "date": "2025-03-24", + "value": 42 + }, + { + "date": "2025-07-02", + "value": 75 + }, + { + "date": "2025-07-09", + "value": 12 + }, + { + "date": "2025-07-16", + "value": 48 + }, + { + "date": "2025-07-23", + "value": 60 + }, + { + "date": "2025-07-30", + "value": 38 + }, + { + "date": "2025-09-05", + "value": 49 + }, + { + "date": "2025-09-11", + "value": 54 + }, + { + "date": "2025-09-17", + "value": 34 + }, + { + "date": "2025-09-23", + "value": 39 + }, + { + "date": "2025-09-29", + "value": 42 + }, + { + "date": "2025-10-06", + "value": 61 + }, + { + "date": "2025-10-12", + "value": 41 + }, + { + "date": "2025-10-18", + "value": 46 + }, + { + "date": "2025-10-24", + "value": 49 + }, + { + "date": "2025-10-30", + "value": 53 + }, + { + "date": "2025-11-04", + "value": 36 + }, + { + "date": "2025-11-10", + "value": 41 + }, + { + "date": "2025-11-16", + "value": 44 + }, + { + "date": "2025-11-22", + "value": 48 + }, + { + "date": "2025-11-28", + "value": 52 + }, + { + "date": "2025-12-05", + "value": 36 + }, + { + "date": "2025-12-11", + "value": 39 + }, + { + "date": "2025-12-17", + "value": 43 + }, + { + "date": "2025-12-23", + "value": 47 + }, + { + "date": "2025-12-29", + "value": 51 + }, + { + "date": "2026-01-06", + "value": 47 + }, + { + "date": "2026-01-12", + "value": 50 + }, + { + "date": "2026-01-18", + "value": 54 + }, + { + "date": "2026-01-24", + "value": 58 + }, + { + "date": "2026-01-30", + "value": 39 + }, + { + "date": "2026-02-04", + "value": 45 + }, + { + "date": "2026-02-10", + "value": 49 + }, + { + "date": "2026-02-16", + "value": 54 + }, + { + "date": "2026-02-22", + "value": 34 + }, + { + "date": "2026-02-28", + "value": 39 + }, + { + "date": "2026-03-05", + "value": 56 + }, + { + "date": "2026-03-11", + "value": 61 + }, + { + "date": "2026-03-17", + "value": 41 + }, + { + "date": "2026-03-23", + "value": 46 + }, + { + "date": "2026-03-29", + "value": 49 + }, + { + "date": "2026-04-06", + "value": 56 + }, + { + "date": "2026-04-12", + "value": 36 + }, + { + "date": "2026-04-18", + "value": 41 + }, + { + "date": "2026-04-24", + "value": 44 + }, + { + "date": "2026-04-30", + "value": 48 + }, + { + "date": "2026-05-04", + "value": 32 + }, + { + "date": "2026-05-10", + "value": 36 + }, + { + "date": "2026-05-16", + "value": 39 + }, + { + "date": "2026-05-22", + "value": 43 + }, + { + "date": "2026-05-28", + "value": 47 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 38.3, + "median": 35.0, + "p10": 21.4, + "p25": 26.5, + "p75": 48.5, + "p90": 56.6, + "n": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "mean": 53.8, + "median": 48.5, + "p10": 33.6, + "p25": 39.0, + "p75": 63.3, + "p90": 78.1, + "n": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "mean": 48.3, + "median": 48.0, + "p10": 29.6, + "p25": 36.5, + "p75": 60.0, + "p90": 67.2, + "n": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "mean": 55.0, + "median": 55.0, + "p10": 23.0, + "p25": 35.0, + "p75": 75.0, + "p90": 87.0, + "n": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "mean": 60.0, + "median": 45.0, + "p10": 28.4, + "p25": 38.0, + "p75": 65.0, + "p90": 104.0, + "n": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "mean": 44.5, + "median": 47.5, + "p10": 15.5, + "p25": 31.3, + "p75": 60.8, + "p90": 71.1, + "n": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "mean": 54.3, + "median": 50.0, + "p10": 32.4, + "p25": 39.0, + "p75": 67.5, + "p90": 78.0, + "n": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "mean": 69.4, + "median": 68.0, + "p10": 37.2, + "p25": 45.0, + "p75": 92.0, + "p90": 102.8, + "n": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "mean": 38.8, + "median": 38.5, + "p10": 24.5, + "p25": 31.3, + "p75": 46.0, + "p90": 53.2, + "n": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "mean": 46.6, + "median": 48.0, + "p10": 22.4, + "p25": 38.0, + "p75": 60.0, + "p90": 69.0, + "n": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "mean": 43.6, + "median": 42.0, + "p10": 36.0, + "p25": 39.0, + "p75": 49.0, + "p90": 52.0, + "n": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "mean": 50.0, + "median": 49.0, + "p10": 43.0, + "p25": 46.0, + "p75": 53.0, + "p90": 57.8, + "n": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "mean": 44.2, + "median": 44.0, + "p10": 38.0, + "p25": 41.0, + "p75": 48.0, + "p90": 50.4, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "mean": 43.2, + "median": 43.0, + "p10": 37.2, + "p25": 39.0, + "p75": 47.0, + "p90": 49.4, + "n": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "mean": 49.6, + "median": 50.0, + "p10": 42.2, + "p25": 47.0, + "p75": 54.0, + "p90": 56.4, + "n": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "mean": 44.2, + "median": 45.0, + "p10": 36.0, + "p25": 39.0, + "p75": 49.0, + "p90": 52.0, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "mean": 50.6, + "median": 49.0, + "p10": 43.0, + "p25": 46.0, + "p75": 56.0, + "p90": 59.0, + "n": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "mean": 45.0, + "median": 44.0, + "p10": 38.0, + "p25": 41.0, + "p75": 48.0, + "p90": 52.8, + "n": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "mean": 39.4, + "median": 39.0, + "p10": 33.6, + "p25": 36.0, + "p75": 43.0, + "p90": 45.4, + "n": 5, + "total_kg_days": 827400.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_lowland_robusta", + "label": "Raw Material Dwell: Lowland Robusta", + "type": "raw_material_dwell", + "material": "90000100002", + "plant": "PL-A", + "stats": { + "n": 69, + "mean": 36.6, + "median": 34.0, + "std": 15.8, + "min": 3, + "max": 98, + "p25": 28.0, + "p75": 41.0, + "p85": 45.0, + "p95": 69.2 + }, + "plifz": 21, + "plifz_note": null, + "pct_exceeding_plifz": 91.3, + "cost": { + "unit_price": 1.8, + "currency": "CHF", + "mean_qty": 6500.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "n_events": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "n_events": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "n_events": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "n_events": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "n_events": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 1131000.0 + } + ] + }, + "observations": [ + { + "date": "2022-05-02", + "value": 28 + }, + { + "date": "2022-05-10", + "value": 45 + }, + { + "date": "2022-05-18", + "value": 12 + }, + { + "date": "2022-05-25", + "value": 62 + }, + { + "date": "2023-02-06", + "value": 33 + }, + { + "date": "2023-02-14", + "value": 78 + }, + { + "date": "2023-02-22", + "value": 20 + }, + { + "date": "2023-02-28", + "value": 55 + }, + { + "date": "2023-09-05", + "value": 8 + }, + { + "date": "2023-09-15", + "value": 42 + }, + { + "date": "2023-09-25", + "value": 65 + }, + { + "date": "2024-04-03", + "value": 38 + }, + { + "date": "2024-04-10", + "value": 15 + }, + { + "date": "2024-04-17", + "value": 72 + }, + { + "date": "2024-04-24", + "value": 25 + }, + { + "date": "2024-10-02", + "value": 48 + }, + { + "date": "2024-10-09", + "value": 3 + }, + { + "date": "2024-10-16", + "value": 85 + }, + { + "date": "2024-10-23", + "value": 30 + }, + { + "date": "2024-10-30", + "value": 55 + }, + { + "date": "2025-04-07", + "value": 22 + }, + { + "date": "2025-04-14", + "value": 40 + }, + { + "date": "2025-04-21", + "value": 98 + }, + { + "date": "2025-04-28", + "value": 18 + }, + { + "date": "2025-09-04", + "value": 39 + }, + { + "date": "2025-09-10", + "value": 41 + }, + { + "date": "2025-09-16", + "value": 45 + }, + { + "date": "2025-09-22", + "value": 30 + }, + { + "date": "2025-09-28", + "value": 34 + }, + { + "date": "2025-10-05", + "value": 38 + }, + { + "date": "2025-10-11", + "value": 41 + }, + { + "date": "2025-10-17", + "value": 27 + }, + { + "date": "2025-10-23", + "value": 30 + }, + { + "date": "2025-10-29", + "value": 32 + }, + { + "date": "2025-11-06", + "value": 38 + }, + { + "date": "2025-11-12", + "value": 23 + }, + { + "date": "2025-11-18", + "value": 27 + }, + { + "date": "2025-11-24", + "value": 29 + }, + { + "date": "2025-11-30", + "value": 32 + }, + { + "date": "2025-12-04", + "value": 28 + }, + { + "date": "2025-12-10", + "value": 32 + }, + { + "date": "2025-12-16", + "value": 34 + }, + { + "date": "2025-12-22", + "value": 37 + }, + { + "date": "2025-12-28", + "value": 40 + }, + { + "date": "2026-01-05", + "value": 28 + }, + { + "date": "2026-01-11", + "value": 31 + }, + { + "date": "2026-01-17", + "value": 33 + }, + { + "date": "2026-01-23", + "value": 36 + }, + { + "date": "2026-01-29", + "value": 39 + }, + { + "date": "2026-02-06", + "value": 36 + }, + { + "date": "2026-02-12", + "value": 39 + }, + { + "date": "2026-02-18", + "value": 41 + }, + { + "date": "2026-02-24", + "value": 45 + }, + { + "date": "2026-02-30", + "value": 30 + }, + { + "date": "2026-03-04", + "value": 35 + }, + { + "date": "2026-03-10", + "value": 38 + }, + { + "date": "2026-03-16", + "value": 41 + }, + { + "date": "2026-03-22", + "value": 27 + }, + { + "date": "2026-03-28", + "value": 30 + }, + { + "date": "2026-04-05", + "value": 34 + }, + { + "date": "2026-04-11", + "value": 38 + }, + { + "date": "2026-04-17", + "value": 23 + }, + { + "date": "2026-04-23", + "value": 27 + }, + { + "date": "2026-04-29", + "value": 29 + }, + { + "date": "2026-05-06", + "value": 43 + }, + { + "date": "2026-05-12", + "value": 28 + }, + { + "date": "2026-05-18", + "value": 32 + }, + { + "date": "2026-05-24", + "value": 34 + }, + { + "date": "2026-05-30", + "value": 37 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 36.8, + "median": 36.5, + "p10": 16.8, + "p25": 24.0, + "p75": 49.3, + "p90": 56.9, + "n": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "mean": 46.5, + "median": 44.0, + "p10": 23.9, + "p25": 29.8, + "p75": 60.8, + "p90": 71.1, + "n": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "mean": 38.3, + "median": 42.0, + "p10": 14.8, + "p25": 25.0, + "p75": 53.5, + "p90": 60.4, + "n": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "mean": 37.5, + "median": 31.5, + "p10": 18.0, + "p25": 22.5, + "p75": 46.5, + "p90": 61.8, + "n": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "mean": 44.2, + "median": 48.0, + "p10": 13.8, + "p25": 30.0, + "p75": 55.0, + "p90": 73.0, + "n": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "mean": 44.5, + "median": 31.0, + "p10": 19.2, + "p25": 21.0, + "p75": 54.5, + "p90": 80.6, + "n": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "mean": 37.8, + "median": 39.0, + "p10": 31.6, + "p25": 34.0, + "p75": 41.0, + "p90": 43.4, + "n": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "mean": 33.6, + "median": 32.0, + "p10": 28.2, + "p25": 30.0, + "p75": 38.0, + "p90": 39.8, + "n": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "mean": 29.8, + "median": 29.0, + "p10": 24.6, + "p25": 27.0, + "p75": 32.0, + "p90": 35.6, + "n": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "mean": 34.2, + "median": 34.0, + "p10": 29.6, + "p25": 32.0, + "p75": 37.0, + "p90": 38.8, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "mean": 33.4, + "median": 33.0, + "p10": 29.2, + "p25": 31.0, + "p75": 36.0, + "p90": 37.8, + "n": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "mean": 38.2, + "median": 39.0, + "p10": 32.4, + "p25": 36.0, + "p75": 41.0, + "p90": 43.4, + "n": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "mean": 34.2, + "median": 35.0, + "p10": 28.2, + "p25": 30.0, + "p75": 38.0, + "p90": 39.8, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "mean": 30.2, + "median": 29.0, + "p10": 24.6, + "p25": 27.0, + "p75": 34.0, + "p90": 36.4, + "n": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "mean": 34.8, + "median": 34.0, + "p10": 29.6, + "p25": 32.0, + "p75": 37.0, + "p90": 40.6, + "n": 5, + "total_kg_days": 1131000.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_washed_bourbon", + "label": "Raw Material Dwell: Washed Bourbon", + "type": "raw_material_dwell", + "material": "90000100003", + "plant": "PL-A", + "stats": { + "n": 70, + "mean": 43.9, + "median": 41.0, + "std": 19.1, + "min": 4, + "max": 115, + "p25": 34.3, + "p75": 50.0, + "p85": 54.0, + "p95": 81.9 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 95.7, + "cost": { + "unit_price": 5.5, + "currency": "CHF", + "mean_qty": 2800.0, + "monthly": [ + { + "month": "2022-06", + "n_events": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "n_events": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "n_events": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "n_events": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "n_events": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "n_events": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 568400.0 + } + ] + }, + "observations": [ + { + "date": "2022-06-05", + "value": 40 + }, + { + "date": "2022-06-15", + "value": 22 + }, + { + "date": "2022-06-25", + "value": 68 + }, + { + "date": "2023-03-08", + "value": 4 + }, + { + "date": "2023-03-15", + "value": 55 + }, + { + "date": "2023-03-22", + "value": 115 + }, + { + "date": "2023-03-29", + "value": 30 + }, + { + "date": "2023-11-06", + "value": 62 + }, + { + "date": "2023-11-13", + "value": 18 + }, + { + "date": "2023-11-20", + "value": 85 + }, + { + "date": "2024-06-03", + "value": 35 + }, + { + "date": "2024-06-10", + "value": 72 + }, + { + "date": "2024-06-17", + "value": 10 + }, + { + "date": "2024-06-24", + "value": 48 + }, + { + "date": "2024-06-30", + "value": 95 + }, + { + "date": "2025-01-07", + "value": 28 + }, + { + "date": "2025-01-14", + "value": 52 + }, + { + "date": "2025-01-21", + "value": 15 + }, + { + "date": "2025-01-28", + "value": 78 + }, + { + "date": "2025-08-04", + "value": 42 + }, + { + "date": "2025-08-08", + "value": 8 + }, + { + "date": "2025-08-12", + "value": 65 + }, + { + "date": "2025-08-16", + "value": 33 + }, + { + "date": "2025-08-20", + "value": 100 + }, + { + "date": "2025-08-24", + "value": 20 + }, + { + "date": "2025-09-06", + "value": 41 + }, + { + "date": "2025-09-12", + "value": 45 + }, + { + "date": "2025-09-18", + "value": 48 + }, + { + "date": "2025-09-24", + "value": 52 + }, + { + "date": "2025-09-30", + "value": 34 + }, + { + "date": "2025-10-04", + "value": 40 + }, + { + "date": "2025-10-10", + "value": 44 + }, + { + "date": "2025-10-16", + "value": 48 + }, + { + "date": "2025-10-22", + "value": 30 + }, + { + "date": "2025-10-28", + "value": 34 + }, + { + "date": "2025-11-05", + "value": 50 + }, + { + "date": "2025-11-11", + "value": 54 + }, + { + "date": "2025-11-17", + "value": 36 + }, + { + "date": "2025-11-23", + "value": 41 + }, + { + "date": "2025-11-29", + "value": 44 + }, + { + "date": "2025-12-06", + "value": 50 + }, + { + "date": "2025-12-12", + "value": 32 + }, + { + "date": "2025-12-18", + "value": 36 + }, + { + "date": "2025-12-24", + "value": 39 + }, + { + "date": "2025-12-30", + "value": 43 + }, + { + "date": "2026-01-04", + "value": 28 + }, + { + "date": "2026-01-10", + "value": 32 + }, + { + "date": "2026-01-16", + "value": 35 + }, + { + "date": "2026-01-22", + "value": 38 + }, + { + "date": "2026-01-28", + "value": 42 + }, + { + "date": "2026-02-05", + "value": 39 + }, + { + "date": "2026-02-11", + "value": 41 + }, + { + "date": "2026-02-17", + "value": 45 + }, + { + "date": "2026-02-23", + "value": 48 + }, + { + "date": "2026-02-29", + "value": 52 + }, + { + "date": "2026-03-06", + "value": 37 + }, + { + "date": "2026-03-12", + "value": 40 + }, + { + "date": "2026-03-18", + "value": 44 + }, + { + "date": "2026-03-24", + "value": 48 + }, + { + "date": "2026-03-30", + "value": 30 + }, + { + "date": "2026-04-04", + "value": 47 + }, + { + "date": "2026-04-10", + "value": 50 + }, + { + "date": "2026-04-16", + "value": 54 + }, + { + "date": "2026-04-22", + "value": 36 + }, + { + "date": "2026-04-28", + "value": 41 + }, + { + "date": "2026-05-05", + "value": 46 + }, + { + "date": "2026-05-11", + "value": 50 + }, + { + "date": "2026-05-17", + "value": 32 + }, + { + "date": "2026-05-23", + "value": 36 + }, + { + "date": "2026-05-29", + "value": 39 + } + ], + "monthly": [ + { + "month": "2022-06", + "mean": 43.3, + "median": 40.0, + "p10": 25.6, + "p25": 31.0, + "p75": 54.0, + "p90": 62.4, + "n": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "mean": 51.0, + "median": 42.5, + "p10": 11.8, + "p25": 23.5, + "p75": 70.0, + "p90": 97.0, + "n": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "mean": 55.0, + "median": 62.0, + "p10": 26.8, + "p25": 40.0, + "p75": 73.5, + "p90": 80.4, + "n": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "mean": 52.0, + "median": 48.0, + "p10": 20.0, + "p25": 35.0, + "p75": 72.0, + "p90": 85.8, + "n": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "mean": 43.3, + "median": 40.0, + "p10": 18.9, + "p25": 24.8, + "p75": 58.5, + "p90": 70.2, + "n": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "mean": 44.7, + "median": 37.5, + "p10": 14.0, + "p25": 23.3, + "p75": 59.3, + "p90": 82.5, + "n": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "mean": 44.0, + "median": 45.0, + "p10": 36.8, + "p25": 41.0, + "p75": 48.0, + "p90": 50.4, + "n": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "mean": 39.2, + "median": 40.0, + "p10": 31.6, + "p25": 34.0, + "p75": 44.0, + "p90": 46.4, + "n": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "mean": 45.0, + "median": 44.0, + "p10": 38.0, + "p25": 41.0, + "p75": 50.0, + "p90": 52.4, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "mean": 40.0, + "median": 39.0, + "p10": 33.6, + "p25": 36.0, + "p75": 43.0, + "p90": 47.2, + "n": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "mean": 35.0, + "median": 35.0, + "p10": 29.6, + "p25": 32.0, + "p75": 38.0, + "p90": 40.4, + "n": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "mean": 45.0, + "median": 45.0, + "p10": 39.8, + "p25": 41.0, + "p75": 48.0, + "p90": 50.4, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "mean": 39.8, + "median": 40.0, + "p10": 32.8, + "p25": 37.0, + "p75": 44.0, + "p90": 46.4, + "n": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "mean": 45.6, + "median": 47.0, + "p10": 38.0, + "p25": 41.0, + "p75": 50.0, + "p90": 52.4, + "n": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "mean": 40.6, + "median": 39.0, + "p10": 33.6, + "p25": 36.0, + "p75": 46.0, + "p90": 48.4, + "n": 5, + "total_kg_days": 568400.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "prod_duration_green_blend", + "label": "Production: Green Blend", + "type": "production", + "material": "90000200001", + "plant": "PL-A", + "stats": { + "n": 50, + "mean": 4.4, + "median": 4.0, + "std": 1.8, + "min": 1, + "max": 14, + "p25": 3.3, + "p75": 5.0, + "p85": 5.0, + "p95": 6.6 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 10.0, + "cost": null, + "observations": [ + { + "date": "2022-04-18", + "value": 3 + }, + { + "date": "2022-07-05", + "value": 5 + }, + { + "date": "2022-10-12", + "value": 2 + }, + { + "date": "2023-01-20", + "value": 7 + }, + { + "date": "2023-04-15", + "value": 4 + }, + { + "date": "2023-07-28", + "value": 6 + }, + { + "date": "2023-10-05", + "value": 3 + }, + { + "date": "2024-01-12", + "value": 14 + }, + { + "date": "2024-04-22", + "value": 4 + }, + { + "date": "2024-07-10", + "value": 8 + }, + { + "date": "2024-10-18", + "value": 3 + }, + { + "date": "2025-01-25", + "value": 5 + }, + { + "date": "2025-05-08", + "value": 1 + }, + { + "date": "2025-08-15", + "value": 6 + }, + { + "date": "2025-09-04", + "value": 3 + }, + { + "date": "2025-09-10", + "value": 4 + }, + { + "date": "2025-09-16", + "value": 4 + }, + { + "date": "2025-09-22", + "value": 4 + }, + { + "date": "2025-10-05", + "value": 3 + }, + { + "date": "2025-10-11", + "value": 4 + }, + { + "date": "2025-10-17", + "value": 4 + }, + { + "date": "2025-10-23", + "value": 4 + }, + { + "date": "2025-11-06", + "value": 4 + }, + { + "date": "2025-11-12", + "value": 5 + }, + { + "date": "2025-11-18", + "value": 5 + }, + { + "date": "2025-11-24", + "value": 5 + }, + { + "date": "2025-12-04", + "value": 4 + }, + { + "date": "2025-12-10", + "value": 5 + }, + { + "date": "2025-12-16", + "value": 5 + }, + { + "date": "2025-12-22", + "value": 3 + }, + { + "date": "2026-01-05", + "value": 4 + }, + { + "date": "2026-01-11", + "value": 5 + }, + { + "date": "2026-01-17", + "value": 3 + }, + { + "date": "2026-01-23", + "value": 3 + }, + { + "date": "2026-02-06", + "value": 5 + }, + { + "date": "2026-02-12", + "value": 3 + }, + { + "date": "2026-02-18", + "value": 4 + }, + { + "date": "2026-02-24", + "value": 4 + }, + { + "date": "2026-03-04", + "value": 3 + }, + { + "date": "2026-03-10", + "value": 3 + }, + { + "date": "2026-03-16", + "value": 4 + }, + { + "date": "2026-03-22", + "value": 4 + }, + { + "date": "2026-04-05", + "value": 4 + }, + { + "date": "2026-04-11", + "value": 4 + }, + { + "date": "2026-04-17", + "value": 5 + }, + { + "date": "2026-04-23", + "value": 5 + }, + { + "date": "2026-05-06", + "value": 4 + }, + { + "date": "2026-05-12", + "value": 4 + }, + { + "date": "2026-05-18", + "value": 5 + }, + { + "date": "2026-05-24", + "value": 5 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2022-07", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2023-01", + "mean": 7.0, + "median": 7.0, + "p10": 7.0, + "p25": 7.0, + "p75": 7.0, + "p90": 7.0, + "n": 1 + }, + { + "month": "2023-04", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 6.0, + "median": 6.0, + "p10": 6.0, + "p25": 6.0, + "p75": 6.0, + "p90": 6.0, + "n": 1 + }, + { + "month": "2023-10", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2024-01", + "mean": 14.0, + "median": 14.0, + "p10": 14.0, + "p25": 14.0, + "p75": 14.0, + "p90": 14.0, + "n": 1 + }, + { + "month": "2024-04", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2024-07", + "mean": 8.0, + "median": 8.0, + "p10": 8.0, + "p25": 8.0, + "p75": 8.0, + "p90": 8.0, + "n": 1 + }, + { + "month": "2024-10", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2025-05", + "mean": 1.0, + "median": 1.0, + "p10": 1.0, + "p25": 1.0, + "p75": 1.0, + "p90": 1.0, + "n": 1 + }, + { + "month": "2025-08", + "mean": 6.0, + "median": 6.0, + "p10": 6.0, + "p25": 6.0, + "p75": 6.0, + "p90": 6.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 3.8, + "median": 4.0, + "p10": 3.3, + "p25": 3.8, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2025-10", + "mean": 3.8, + "median": 4.0, + "p10": 3.3, + "p25": 3.8, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2025-11", + "mean": 4.8, + "median": 5.0, + "p10": 4.3, + "p25": 4.8, + "p75": 5.0, + "p90": 5.0, + "n": 4 + }, + { + "month": "2025-12", + "mean": 4.3, + "median": 4.5, + "p10": 3.3, + "p25": 3.8, + "p75": 5.0, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-01", + "mean": 3.8, + "median": 3.5, + "p10": 3.0, + "p25": 3.0, + "p75": 4.3, + "p90": 4.7, + "n": 4 + }, + { + "month": "2026-02", + "mean": 4.0, + "median": 4.0, + "p10": 3.3, + "p25": 3.8, + "p75": 4.3, + "p90": 4.7, + "n": 4 + }, + { + "month": "2026-03", + "mean": 3.5, + "median": 3.5, + "p10": 3.0, + "p25": 3.0, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2026-04", + "mean": 4.5, + "median": 4.5, + "p10": 4.0, + "p25": 4.0, + "p75": 5.0, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-05", + "mean": 4.5, + "median": 4.5, + "p10": 4.0, + "p25": 4.0, + "p75": 5.0, + "p90": 5.0, + "n": 4 + } + ], + "n_batches": 50, + "n_movements": null, + "yield_summary": { + "median": 98.5, + "mean": 97.2, + "reference": 100.0, + "n": 50 + }, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 0.9, + "mean_slack": 5.1, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 0.9 + }, + "direct": { + "binding_share": 0.9, + "mean_slack": 7.2, + "next_bottleneck_days": 27.4, + "expected_marginal_per_day": 0.9 + }, + "hub-1": { + "binding_share": 0.9, + "mean_slack": 2.0, + "next_bottleneck_days": 31.3, + "expected_marginal_per_day": 0.9 + } + } + }, + { + "id": "intermed_dwell_green_blend", + "label": "Intermediate Dwell: Green Blend", + "type": "intermediate_dwell", + "material": "90000200001", + "plant": "PL-A", + "stats": { + "n": 73, + "mean": 17.4, + "median": 16.0, + "std": 9.0, + "min": 2, + "max": 55, + "p25": 13.0, + "p75": 19.0, + "p85": 20.4, + "p95": 37.0 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 87.7, + "cost": { + "unit_price": 12.5, + "currency": "CHF", + "mean_qty": 3200.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "n_events": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "n_events": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "n_events": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "n_events": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "n_events": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "n_events": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 249600.0 + } + ] + }, + "observations": [ + { + "date": "2022-05-05", + "value": 12 + }, + { + "date": "2022-05-15", + "value": 25 + }, + { + "date": "2022-05-22", + "value": 8 + }, + { + "date": "2022-11-03", + "value": 35 + }, + { + "date": "2022-11-10", + "value": 15 + }, + { + "date": "2022-11-18", + "value": 5 + }, + { + "date": "2022-11-25", + "value": 22 + }, + { + "date": "2023-05-08", + "value": 18 + }, + { + "date": "2023-05-15", + "value": 40 + }, + { + "date": "2023-05-22", + "value": 10 + }, + { + "date": "2023-11-06", + "value": 55 + }, + { + "date": "2023-11-13", + "value": 2 + }, + { + "date": "2023-11-20", + "value": 28 + }, + { + "date": "2023-11-27", + "value": 15 + }, + { + "date": "2023-11-30", + "value": 8 + }, + { + "date": "2024-05-06", + "value": 20 + }, + { + "date": "2024-05-13", + "value": 45 + }, + { + "date": "2024-05-20", + "value": 12 + }, + { + "date": "2024-05-27", + "value": 3 + }, + { + "date": "2024-11-04", + "value": 18 + }, + { + "date": "2024-11-11", + "value": 30 + }, + { + "date": "2024-11-18", + "value": 8 + }, + { + "date": "2025-05-05", + "value": 22 + }, + { + "date": "2025-05-09", + "value": 35 + }, + { + "date": "2025-05-13", + "value": 5 + }, + { + "date": "2025-05-17", + "value": 15 + }, + { + "date": "2025-05-21", + "value": 42 + }, + { + "date": "2025-05-25", + "value": 10 + }, + { + "date": "2025-09-05", + "value": 14 + }, + { + "date": "2025-09-11", + "value": 16 + }, + { + "date": "2025-09-17", + "value": 17 + }, + { + "date": "2025-09-23", + "value": 18 + }, + { + "date": "2025-09-29", + "value": 19 + }, + { + "date": "2025-10-06", + "value": 14 + }, + { + "date": "2025-10-12", + "value": 15 + }, + { + "date": "2025-10-18", + "value": 16 + }, + { + "date": "2025-10-24", + "value": 18 + }, + { + "date": "2025-10-30", + "value": 11 + }, + { + "date": "2025-11-04", + "value": 18 + }, + { + "date": "2025-11-10", + "value": 19 + }, + { + "date": "2025-11-16", + "value": 20 + }, + { + "date": "2025-11-22", + "value": 14 + }, + { + "date": "2025-11-28", + "value": 15 + }, + { + "date": "2025-12-05", + "value": 17 + }, + { + "date": "2025-12-11", + "value": 19 + }, + { + "date": "2025-12-17", + "value": 12 + }, + { + "date": "2025-12-23", + "value": 14 + }, + { + "date": "2025-12-29", + "value": 15 + }, + { + "date": "2026-01-06", + "value": 17 + }, + { + "date": "2026-01-12", + "value": 11 + }, + { + "date": "2026-01-18", + "value": 12 + }, + { + "date": "2026-01-24", + "value": 13 + }, + { + "date": "2026-01-30", + "value": 14 + }, + { + "date": "2026-02-04", + "value": 13 + }, + { + "date": "2026-02-10", + "value": 14 + }, + { + "date": "2026-02-16", + "value": 16 + }, + { + "date": "2026-02-22", + "value": 17 + }, + { + "date": "2026-02-28", + "value": 18 + }, + { + "date": "2026-03-05", + "value": 13 + }, + { + "date": "2026-03-11", + "value": 14 + }, + { + "date": "2026-03-17", + "value": 15 + }, + { + "date": "2026-03-23", + "value": 16 + }, + { + "date": "2026-03-29", + "value": 18 + }, + { + "date": "2026-04-06", + "value": 16 + }, + { + "date": "2026-04-12", + "value": 18 + }, + { + "date": "2026-04-18", + "value": 19 + }, + { + "date": "2026-04-24", + "value": 20 + }, + { + "date": "2026-04-30", + "value": 14 + }, + { + "date": "2026-05-04", + "value": 16 + }, + { + "date": "2026-05-10", + "value": 17 + }, + { + "date": "2026-05-16", + "value": 19 + }, + { + "date": "2026-05-22", + "value": 12 + }, + { + "date": "2026-05-28", + "value": 14 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 15.0, + "median": 12.0, + "p10": 8.8, + "p25": 10.0, + "p75": 18.5, + "p90": 22.4, + "n": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "mean": 19.3, + "median": 18.5, + "p10": 8.0, + "p25": 12.5, + "p75": 25.3, + "p90": 31.1, + "n": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "mean": 22.7, + "median": 18.0, + "p10": 11.6, + "p25": 14.0, + "p75": 29.0, + "p90": 35.6, + "n": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "mean": 21.6, + "median": 15.0, + "p10": 4.4, + "p25": 8.0, + "p75": 28.0, + "p90": 44.2, + "n": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "mean": 20.0, + "median": 16.0, + "p10": 5.7, + "p25": 9.8, + "p75": 26.3, + "p90": 37.5, + "n": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "mean": 18.7, + "median": 18.0, + "p10": 10.0, + "p25": 13.0, + "p75": 24.0, + "p90": 27.6, + "n": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "mean": 21.5, + "median": 18.5, + "p10": 7.5, + "p25": 11.3, + "p75": 31.8, + "p90": 38.5, + "n": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "mean": 16.8, + "median": 17.0, + "p10": 14.8, + "p25": 16.0, + "p75": 18.0, + "p90": 18.6, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "mean": 14.8, + "median": 15.0, + "p10": 12.2, + "p25": 14.0, + "p75": 16.0, + "p90": 17.2, + "n": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "mean": 17.2, + "median": 18.0, + "p10": 14.4, + "p25": 15.0, + "p75": 19.0, + "p90": 19.6, + "n": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "mean": 15.4, + "median": 15.0, + "p10": 12.8, + "p25": 14.0, + "p75": 17.0, + "p90": 18.2, + "n": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "mean": 13.4, + "median": 13.0, + "p10": 11.4, + "p25": 12.0, + "p75": 14.0, + "p90": 15.8, + "n": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "mean": 15.6, + "median": 16.0, + "p10": 13.4, + "p25": 14.0, + "p75": 17.0, + "p90": 17.6, + "n": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "mean": 15.2, + "median": 15.0, + "p10": 13.4, + "p25": 14.0, + "p75": 16.0, + "p90": 17.2, + "n": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "mean": 17.4, + "median": 18.0, + "p10": 14.8, + "p25": 16.0, + "p75": 19.0, + "p90": 19.6, + "n": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "mean": 15.6, + "median": 16.0, + "p10": 12.8, + "p25": 14.0, + "p75": 17.0, + "p90": 18.2, + "n": 5, + "total_kg_days": 249600.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 0.9, + "mean_slack": 5.1, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 0.9 + }, + "direct": { + "binding_share": 0.9, + "mean_slack": 7.2, + "next_bottleneck_days": 27.4, + "expected_marginal_per_day": 0.9 + }, + "hub-1": { + "binding_share": 0.9, + "mean_slack": 2.0, + "next_bottleneck_days": 31.3, + "expected_marginal_per_day": 0.9 + } + } + }, + { + "id": "prod_duration_harbor_dark_roast", + "label": "Production: Harbor Dark Roast", + "type": "production", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 58, + "mean": 3.2, + "median": 3.0, + "std": 1.4, + "min": 0, + "max": 10, + "p25": 3.0, + "p75": 4.0, + "p85": 4.0, + "p95": 5.2 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 5.2, + "cost": null, + "observations": [ + { + "date": "2022-05-20", + "value": 2 + }, + { + "date": "2022-06-10", + "value": 3 + }, + { + "date": "2022-07-15", + "value": 1 + }, + { + "date": "2022-08-22", + "value": 4 + }, + { + "date": "2022-10-05", + "value": 2 + }, + { + "date": "2022-11-18", + "value": 5 + }, + { + "date": "2023-01-10", + "value": 3 + }, + { + "date": "2023-03-25", + "value": 7 + }, + { + "date": "2023-05-12", + "value": 2 + }, + { + "date": "2023-07-08", + "value": 4 + }, + { + "date": "2023-09-15", + "value": 1 + }, + { + "date": "2023-11-22", + "value": 3 + }, + { + "date": "2024-01-18", + "value": 10 + }, + { + "date": "2024-03-08", + "value": 3 + }, + { + "date": "2024-05-15", + "value": 2 + }, + { + "date": "2024-07-22", + "value": 5 + }, + { + "date": "2024-09-10", + "value": 0 + }, + { + "date": "2024-11-05", + "value": 4 + }, + { + "date": "2025-01-15", + "value": 3 + }, + { + "date": "2025-03-20", + "value": 2 + }, + { + "date": "2025-05-28", + "value": 6 + }, + { + "date": "2025-08-05", + "value": 3 + }, + { + "date": "2025-09-05", + "value": 4 + }, + { + "date": "2025-09-11", + "value": 4 + }, + { + "date": "2025-09-17", + "value": 3 + }, + { + "date": "2025-09-23", + "value": 3 + }, + { + "date": "2025-10-06", + "value": 4 + }, + { + "date": "2025-10-12", + "value": 2 + }, + { + "date": "2025-10-18", + "value": 3 + }, + { + "date": "2025-10-24", + "value": 3 + }, + { + "date": "2025-11-04", + "value": 2 + }, + { + "date": "2025-11-10", + "value": 2 + }, + { + "date": "2025-11-16", + "value": 3 + }, + { + "date": "2025-11-22", + "value": 3 + }, + { + "date": "2025-12-05", + "value": 3 + }, + { + "date": "2025-12-11", + "value": 3 + }, + { + "date": "2025-12-17", + "value": 3 + }, + { + "date": "2025-12-23", + "value": 4 + }, + { + "date": "2026-01-06", + "value": 3 + }, + { + "date": "2026-01-12", + "value": 3 + }, + { + "date": "2026-01-18", + "value": 3 + }, + { + "date": "2026-01-24", + "value": 4 + }, + { + "date": "2026-02-04", + "value": 4 + }, + { + "date": "2026-02-10", + "value": 4 + }, + { + "date": "2026-02-16", + "value": 4 + }, + { + "date": "2026-02-22", + "value": 3 + }, + { + "date": "2026-03-05", + "value": 3 + }, + { + "date": "2026-03-11", + "value": 4 + }, + { + "date": "2026-03-17", + "value": 2 + }, + { + "date": "2026-03-23", + "value": 3 + }, + { + "date": "2026-04-06", + "value": 3 + }, + { + "date": "2026-04-12", + "value": 2 + }, + { + "date": "2026-04-18", + "value": 2 + }, + { + "date": "2026-04-24", + "value": 3 + }, + { + "date": "2026-05-04", + "value": 3 + }, + { + "date": "2026-05-10", + "value": 3 + }, + { + "date": "2026-05-16", + "value": 3 + }, + { + "date": "2026-05-22", + "value": 3 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2022-06", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2022-07", + "mean": 1.0, + "median": 1.0, + "p10": 1.0, + "p25": 1.0, + "p75": 1.0, + "p90": 1.0, + "n": 1 + }, + { + "month": "2022-08", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2022-11", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2023-01", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2023-03", + "mean": 7.0, + "median": 7.0, + "p10": 7.0, + "p25": 7.0, + "p75": 7.0, + "p90": 7.0, + "n": 1 + }, + { + "month": "2023-05", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2023-09", + "mean": 1.0, + "median": 1.0, + "p10": 1.0, + "p25": 1.0, + "p75": 1.0, + "p90": 1.0, + "n": 1 + }, + { + "month": "2023-11", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2024-01", + "mean": 10.0, + "median": 10.0, + "p10": 10.0, + "p25": 10.0, + "p75": 10.0, + "p90": 10.0, + "n": 1 + }, + { + "month": "2024-03", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2024-05", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2024-07", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2024-09", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2025-03", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2025-05", + "mean": 6.0, + "median": 6.0, + "p10": 6.0, + "p25": 6.0, + "p75": 6.0, + "p90": 6.0, + "n": 1 + }, + { + "month": "2025-08", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 3.5, + "median": 3.5, + "p10": 3.0, + "p25": 3.0, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2025-10", + "mean": 3.0, + "median": 3.0, + "p10": 2.3, + "p25": 2.8, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2025-11", + "mean": 2.5, + "median": 2.5, + "p10": 2.0, + "p25": 2.0, + "p75": 3.0, + "p90": 3.0, + "n": 4 + }, + { + "month": "2025-12", + "mean": 3.3, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2026-01", + "mean": 3.3, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2026-02", + "mean": 3.8, + "median": 4.0, + "p10": 3.3, + "p25": 3.8, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2026-03", + "mean": 3.0, + "median": 3.0, + "p10": 2.3, + "p25": 2.8, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2026-04", + "mean": 2.5, + "median": 2.5, + "p10": 2.0, + "p25": 2.0, + "p75": 3.0, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-05", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 4 + } + ], + "n_batches": 58, + "n_movements": null, + "yield_summary": { + "median": 99.2, + "mean": 98.5, + "reference": 100.0, + "n": 58 + }, + "consumption_summary": { + "median_variance": 2.1, + "mean_variance": 3.4, + "n_components": 3, + "n": 58 + }, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 4.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 3.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 4.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "prod_to_qa_pla", + "label": "Production \u2192 QA Release (PL-A)", + "type": "qa_hold", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 58, + "mean": 3.4, + "median": 3.0, + "std": 1.8, + "min": 0, + "max": 13, + "p25": 3.0, + "p75": 4.0, + "p85": 4.0, + "p95": 6.2 + }, + "plifz": 5, + "plifz_note": "WEBAZ (GR processing days)", + "pct_exceeding_plifz": 6.9, + "cost": null, + "observations": [ + { + "date": "2022-05-22", + "value": 2 + }, + { + "date": "2022-06-13", + "value": 1 + }, + { + "date": "2022-07-16", + "value": 3 + }, + { + "date": "2022-08-26", + "value": 2 + }, + { + "date": "2022-10-07", + "value": 5 + }, + { + "date": "2022-11-23", + "value": 2 + }, + { + "date": "2023-01-13", + "value": 4 + }, + { + "date": "2023-04-01", + "value": 3 + }, + { + "date": "2023-05-14", + "value": 6 + }, + { + "date": "2023-07-12", + "value": 2 + }, + { + "date": "2023-09-16", + "value": 13 + }, + { + "date": "2023-11-25", + "value": 3 + }, + { + "date": "2024-01-28", + "value": 7 + }, + { + "date": "2024-03-11", + "value": 1 + }, + { + "date": "2024-05-17", + "value": 4 + }, + { + "date": "2024-07-27", + "value": 5 + }, + { + "date": "2024-09-10", + "value": 2 + }, + { + "date": "2024-11-09", + "value": 0 + }, + { + "date": "2025-01-18", + "value": 3 + }, + { + "date": "2025-03-22", + "value": 8 + }, + { + "date": "2025-06-03", + "value": 2 + }, + { + "date": "2025-08-08", + "value": 5 + }, + { + "date": "2025-09-04", + "value": 2 + }, + { + "date": "2025-09-10", + "value": 3 + }, + { + "date": "2025-09-16", + "value": 3 + }, + { + "date": "2025-09-22", + "value": 3 + }, + { + "date": "2025-10-05", + "value": 3 + }, + { + "date": "2025-10-11", + "value": 3 + }, + { + "date": "2025-10-17", + "value": 4 + }, + { + "date": "2025-10-23", + "value": 4 + }, + { + "date": "2025-11-06", + "value": 3 + }, + { + "date": "2025-11-12", + "value": 3 + }, + { + "date": "2025-11-18", + "value": 3 + }, + { + "date": "2025-11-24", + "value": 4 + }, + { + "date": "2025-12-04", + "value": 3 + }, + { + "date": "2025-12-10", + "value": 3 + }, + { + "date": "2025-12-16", + "value": 3 + }, + { + "date": "2025-12-22", + "value": 2 + }, + { + "date": "2026-01-05", + "value": 4 + }, + { + "date": "2026-01-11", + "value": 4 + }, + { + "date": "2026-01-17", + "value": 3 + }, + { + "date": "2026-01-23", + "value": 3 + }, + { + "date": "2026-02-06", + "value": 4 + }, + { + "date": "2026-02-12", + "value": 2 + }, + { + "date": "2026-02-18", + "value": 3 + }, + { + "date": "2026-02-24", + "value": 3 + }, + { + "date": "2026-03-04", + "value": 3 + }, + { + "date": "2026-03-10", + "value": 3 + }, + { + "date": "2026-03-16", + "value": 3 + }, + { + "date": "2026-03-22", + "value": 4 + }, + { + "date": "2026-04-05", + "value": 3 + }, + { + "date": "2026-04-11", + "value": 3 + }, + { + "date": "2026-04-17", + "value": 3 + }, + { + "date": "2026-04-23", + "value": 3 + }, + { + "date": "2026-05-06", + "value": 3 + }, + { + "date": "2026-05-12", + "value": 3 + }, + { + "date": "2026-05-18", + "value": 3 + }, + { + "date": "2026-05-24", + "value": 3 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2022-06", + "mean": 1.0, + "median": 1.0, + "p10": 1.0, + "p25": 1.0, + "p75": 1.0, + "p90": 1.0, + "n": 1 + }, + { + "month": "2022-07", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2022-08", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2022-10", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2022-11", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2023-01", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2023-04", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2023-05", + "mean": 6.0, + "median": 6.0, + "p10": 6.0, + "p25": 6.0, + "p75": 6.0, + "p90": 6.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2023-09", + "mean": 13.0, + "median": 13.0, + "p10": 13.0, + "p25": 13.0, + "p75": 13.0, + "p90": 13.0, + "n": 1 + }, + { + "month": "2023-11", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2024-01", + "mean": 7.0, + "median": 7.0, + "p10": 7.0, + "p25": 7.0, + "p75": 7.0, + "p90": 7.0, + "n": 1 + }, + { + "month": "2024-03", + "mean": 1.0, + "median": 1.0, + "p10": 1.0, + "p25": 1.0, + "p75": 1.0, + "p90": 1.0, + "n": 1 + }, + { + "month": "2024-05", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2024-07", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2024-09", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2025-03", + "mean": 8.0, + "median": 8.0, + "p10": 8.0, + "p25": 8.0, + "p75": 8.0, + "p90": 8.0, + "n": 1 + }, + { + "month": "2025-06", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2025-08", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 2.8, + "median": 3.0, + "p10": 2.3, + "p25": 2.8, + "p75": 3.0, + "p90": 3.0, + "n": 4 + }, + { + "month": "2025-10", + "mean": 3.5, + "median": 3.5, + "p10": 3.0, + "p25": 3.0, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2025-11", + "mean": 3.3, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2025-12", + "mean": 2.8, + "median": 3.0, + "p10": 2.3, + "p25": 2.8, + "p75": 3.0, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-01", + "mean": 3.5, + "median": 3.5, + "p10": 3.0, + "p25": 3.0, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2026-02", + "mean": 3.0, + "median": 3.0, + "p10": 2.3, + "p25": 2.8, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2026-03", + "mean": 3.3, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2026-04", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-05", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 4 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": { + "median": 99.2, + "mean": 98.5, + "reference": 100.0, + "n": 58 + }, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 7.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 7.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 6.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "post_qa_ship_pla", + "label": "Post-QA Dwell (PL-A)", + "type": "post_qa_ship", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 57, + "mean": 12.7, + "median": 12.0, + "std": 5.6, + "min": 2, + "max": 42, + "p25": 10.0, + "p75": 14.0, + "p85": 15.0, + "p95": 20.4 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "cost": { + "unit_price": 28.5, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2023-03", + "n_events": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "n_events": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "n_events": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 264000.0 + } + ] + }, + "observations": [ + { + "date": "2023-03-10", + "value": 8 + }, + { + "date": "2023-03-25", + "value": 22 + }, + { + "date": "2023-09-20", + "value": 42 + }, + { + "date": "2024-03-15", + "value": 6 + }, + { + "date": "2024-03-28", + "value": 18 + }, + { + "date": "2024-09-05", + "value": 28 + }, + { + "date": "2024-09-15", + "value": 12 + }, + { + "date": "2024-09-25", + "value": 2 + }, + { + "date": "2025-03-10", + "value": 15 + }, + { + "date": "2025-03-22", + "value": 5 + }, + { + "date": "2025-07-08", + "value": 20 + }, + { + "date": "2025-07-22", + "value": 4 + }, + { + "date": "2025-09-05", + "value": 14 + }, + { + "date": "2025-09-11", + "value": 15 + }, + { + "date": "2025-09-17", + "value": 10 + }, + { + "date": "2025-09-23", + "value": 11 + }, + { + "date": "2025-09-29", + "value": 12 + }, + { + "date": "2025-10-06", + "value": 14 + }, + { + "date": "2025-10-12", + "value": 8 + }, + { + "date": "2025-10-18", + "value": 10 + }, + { + "date": "2025-10-24", + "value": 11 + }, + { + "date": "2025-10-30", + "value": 11 + }, + { + "date": "2025-11-04", + "value": 10 + }, + { + "date": "2025-11-10", + "value": 12 + }, + { + "date": "2025-11-16", + "value": 12 + }, + { + "date": "2025-11-22", + "value": 13 + }, + { + "date": "2025-11-28", + "value": 14 + }, + { + "date": "2025-12-05", + "value": 10 + }, + { + "date": "2025-12-11", + "value": 11 + }, + { + "date": "2025-12-17", + "value": 12 + }, + { + "date": "2025-12-23", + "value": 13 + }, + { + "date": "2025-12-29", + "value": 14 + }, + { + "date": "2026-01-06", + "value": 13 + }, + { + "date": "2026-01-12", + "value": 14 + }, + { + "date": "2026-01-18", + "value": 15 + }, + { + "date": "2026-01-24", + "value": 16 + }, + { + "date": "2026-01-30", + "value": 11 + }, + { + "date": "2026-02-04", + "value": 13 + }, + { + "date": "2026-02-10", + "value": 14 + }, + { + "date": "2026-02-16", + "value": 15 + }, + { + "date": "2026-02-22", + "value": 10 + }, + { + "date": "2026-02-28", + "value": 11 + }, + { + "date": "2026-03-05", + "value": 13 + }, + { + "date": "2026-03-11", + "value": 14 + }, + { + "date": "2026-03-17", + "value": 8 + }, + { + "date": "2026-03-23", + "value": 10 + }, + { + "date": "2026-03-29", + "value": 11 + }, + { + "date": "2026-04-06", + "value": 16 + }, + { + "date": "2026-04-12", + "value": 10 + }, + { + "date": "2026-04-18", + "value": 12 + }, + { + "date": "2026-04-24", + "value": 12 + }, + { + "date": "2026-04-30", + "value": 13 + }, + { + "date": "2026-05-04", + "value": 9 + }, + { + "date": "2026-05-10", + "value": 10 + }, + { + "date": "2026-05-16", + "value": 11 + }, + { + "date": "2026-05-22", + "value": 12 + }, + { + "date": "2026-05-28", + "value": 13 + } + ], + "monthly": [ + { + "month": "2023-03", + "mean": 15.0, + "median": 15.0, + "p10": 9.4, + "p25": 11.5, + "p75": 18.5, + "p90": 20.6, + "n": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "mean": 42.0, + "median": 42.0, + "p10": 42.0, + "p25": 42.0, + "p75": 42.0, + "p90": 42.0, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "mean": 12.0, + "median": 12.0, + "p10": 7.2, + "p25": 9.0, + "p75": 15.0, + "p90": 16.8, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "mean": 14.0, + "median": 12.0, + "p10": 4.0, + "p25": 7.0, + "p75": 20.0, + "p90": 24.8, + "n": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "mean": 10.0, + "median": 10.0, + "p10": 6.0, + "p25": 7.5, + "p75": 12.5, + "p90": 14.0, + "n": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "mean": 12.0, + "median": 12.0, + "p10": 5.6, + "p25": 8.0, + "p75": 16.0, + "p90": 18.4, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "mean": 12.4, + "median": 12.0, + "p10": 10.4, + "p25": 11.0, + "p75": 14.0, + "p90": 14.6, + "n": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "mean": 10.8, + "median": 11.0, + "p10": 8.8, + "p25": 10.0, + "p75": 11.0, + "p90": 12.8, + "n": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "mean": 12.2, + "median": 12.0, + "p10": 10.8, + "p25": 12.0, + "p75": 13.0, + "p90": 13.6, + "n": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "mean": 12.0, + "median": 12.0, + "p10": 10.4, + "p25": 11.0, + "p75": 13.0, + "p90": 13.6, + "n": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "mean": 13.8, + "median": 14.0, + "p10": 11.8, + "p25": 13.0, + "p75": 15.0, + "p90": 15.6, + "n": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "mean": 12.6, + "median": 13.0, + "p10": 10.4, + "p25": 11.0, + "p75": 14.0, + "p90": 14.6, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "mean": 11.2, + "median": 11.0, + "p10": 8.8, + "p25": 10.0, + "p75": 13.0, + "p90": 13.6, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "mean": 12.6, + "median": 12.0, + "p10": 10.8, + "p25": 12.0, + "p75": 13.0, + "p90": 14.8, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "mean": 11.0, + "median": 11.0, + "p10": 9.4, + "p25": 10.0, + "p75": 12.0, + "p90": 12.6, + "n": 5, + "total_kg_days": 264000.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "direct_ship_pla", + "label": "Direct-to-Customer Ship", + "type": "transit", + "material": "90000300001", + "plant": "PL-A\u2192Customer", + "stats": { + "n": 35, + "mean": 20.9, + "median": 21.0, + "std": 4.6, + "min": 12, + "max": 38, + "p25": 18.5, + "p75": 23.0, + "p85": 24.9, + "p95": 26.6 + }, + "plifz": null, + "plifz_note": "No planning parameter set", + "pct_exceeding_plifz": null, + "cost": null, + "observations": [ + { + "date": "2023-04-05", + "value": 18 + }, + { + "date": "2023-10-12", + "value": 25 + }, + { + "date": "2024-04-08", + "value": 12 + }, + { + "date": "2024-09-20", + "value": 38 + }, + { + "date": "2024-10-15", + "value": 20 + }, + { + "date": "2025-03-25", + "value": 15 + }, + { + "date": "2025-04-10", + "value": 28 + }, + { + "date": "2025-07-30", + "value": 24 + }, + { + "date": "2025-09-04", + "value": 17 + }, + { + "date": "2025-09-10", + "value": 19 + }, + { + "date": "2025-09-16", + "value": 21 + }, + { + "date": "2025-10-05", + "value": 17 + }, + { + "date": "2025-10-11", + "value": 19 + }, + { + "date": "2025-10-17", + "value": 20 + }, + { + "date": "2025-11-06", + "value": 22 + }, + { + "date": "2025-11-12", + "value": 23 + }, + { + "date": "2025-11-18", + "value": 25 + }, + { + "date": "2025-12-04", + "value": 21 + }, + { + "date": "2025-12-10", + "value": 23 + }, + { + "date": "2025-12-16", + "value": 25 + }, + { + "date": "2026-01-05", + "value": 21 + }, + { + "date": "2026-01-11", + "value": 23 + }, + { + "date": "2026-01-17", + "value": 14 + }, + { + "date": "2026-02-06", + "value": 26 + }, + { + "date": "2026-02-12", + "value": 17 + }, + { + "date": "2026-02-18", + "value": 19 + }, + { + "date": "2026-03-04", + "value": 15 + }, + { + "date": "2026-03-10", + "value": 17 + }, + { + "date": "2026-03-16", + "value": 19 + }, + { + "date": "2026-04-05", + "value": 20 + }, + { + "date": "2026-04-11", + "value": 22 + }, + { + "date": "2026-04-17", + "value": 23 + }, + { + "date": "2026-05-06", + "value": 20 + }, + { + "date": "2026-05-12", + "value": 21 + }, + { + "date": "2026-05-18", + "value": 23 + } + ], + "monthly": [ + { + "month": "2023-04", + "mean": 18.0, + "median": 18.0, + "p10": 18.0, + "p25": 18.0, + "p75": 18.0, + "p90": 18.0, + "n": 1 + }, + { + "month": "2023-10", + "mean": 25.0, + "median": 25.0, + "p10": 25.0, + "p25": 25.0, + "p75": 25.0, + "p90": 25.0, + "n": 1 + }, + { + "month": "2024-04", + "mean": 12.0, + "median": 12.0, + "p10": 12.0, + "p25": 12.0, + "p75": 12.0, + "p90": 12.0, + "n": 1 + }, + { + "month": "2024-09", + "mean": 38.0, + "median": 38.0, + "p10": 38.0, + "p25": 38.0, + "p75": 38.0, + "p90": 38.0, + "n": 1 + }, + { + "month": "2024-10", + "mean": 20.0, + "median": 20.0, + "p10": 20.0, + "p25": 20.0, + "p75": 20.0, + "p90": 20.0, + "n": 1 + }, + { + "month": "2025-03", + "mean": 15.0, + "median": 15.0, + "p10": 15.0, + "p25": 15.0, + "p75": 15.0, + "p90": 15.0, + "n": 1 + }, + { + "month": "2025-04", + "mean": 28.0, + "median": 28.0, + "p10": 28.0, + "p25": 28.0, + "p75": 28.0, + "p90": 28.0, + "n": 1 + }, + { + "month": "2025-07", + "mean": 24.0, + "median": 24.0, + "p10": 24.0, + "p25": 24.0, + "p75": 24.0, + "p90": 24.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 19.0, + "median": 19.0, + "p10": 17.4, + "p25": 18.0, + "p75": 20.0, + "p90": 20.6, + "n": 3 + }, + { + "month": "2025-10", + "mean": 18.7, + "median": 19.0, + "p10": 17.4, + "p25": 18.0, + "p75": 19.5, + "p90": 19.8, + "n": 3 + }, + { + "month": "2025-11", + "mean": 23.3, + "median": 23.0, + "p10": 22.2, + "p25": 22.5, + "p75": 24.0, + "p90": 24.6, + "n": 3 + }, + { + "month": "2025-12", + "mean": 23.0, + "median": 23.0, + "p10": 21.4, + "p25": 22.0, + "p75": 24.0, + "p90": 24.6, + "n": 3 + }, + { + "month": "2026-01", + "mean": 19.3, + "median": 21.0, + "p10": 15.4, + "p25": 17.5, + "p75": 22.0, + "p90": 22.6, + "n": 3 + }, + { + "month": "2026-02", + "mean": 20.7, + "median": 19.0, + "p10": 17.4, + "p25": 18.0, + "p75": 22.5, + "p90": 24.6, + "n": 3 + }, + { + "month": "2026-03", + "mean": 17.0, + "median": 17.0, + "p10": 15.4, + "p25": 16.0, + "p75": 18.0, + "p90": 18.6, + "n": 3 + }, + { + "month": "2026-04", + "mean": 21.7, + "median": 22.0, + "p10": 20.4, + "p25": 21.0, + "p75": 22.5, + "p90": 22.8, + "n": 3 + }, + { + "month": "2026-05", + "mean": 21.3, + "median": 21.0, + "p10": 20.2, + "p25": 20.5, + "p75": 22.0, + "p90": 22.6, + "n": 3 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 22.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 22.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "transit_pla_hub1", + "label": "Transit PL-A \u2192 HUB-1", + "type": "transit", + "material": "90000300001", + "plant": "PL-A\u2192HUB-1", + "stats": { + "n": 42, + "mean": 31.3, + "median": 30.5, + "std": 7.1, + "min": 15, + "max": 55, + "p25": 27.0, + "p75": 36.0, + "p85": 38.0, + "p95": 41.9 + }, + "plifz": 28, + "plifz_note": null, + "pct_exceeding_plifz": 61.9, + "cost": null, + "observations": [ + { + "date": "2022-07-20", + "value": 28 + }, + { + "date": "2022-11-30", + "value": 35 + }, + { + "date": "2023-03-15", + "value": 22 + }, + { + "date": "2023-07-10", + "value": 42 + }, + { + "date": "2023-10-25", + "value": 30 + }, + { + "date": "2024-02-08", + "value": 55 + }, + { + "date": "2024-05-20", + "value": 25 + }, + { + "date": "2024-08-12", + "value": 38 + }, + { + "date": "2024-11-05", + "value": 15 + }, + { + "date": "2025-01-22", + "value": 32 + }, + { + "date": "2025-04-10", + "value": 28 + }, + { + "date": "2025-06-18", + "value": 45 + }, + { + "date": "2025-07-15", + "value": 30 + }, + { + "date": "2025-08-05", + "value": 22 + }, + { + "date": "2025-09-05", + "value": 36 + }, + { + "date": "2025-09-10", + "value": 38 + }, + { + "date": "2025-09-11", + "value": 39 + }, + { + "date": "2025-09-17", + "value": 26 + }, + { + "date": "2025-10-06", + "value": 36 + }, + { + "date": "2025-10-12", + "value": 23 + }, + { + "date": "2025-10-18", + "value": 26 + }, + { + "date": "2025-11-04", + "value": 27 + }, + { + "date": "2025-11-10", + "value": 31 + }, + { + "date": "2025-11-16", + "value": 33 + }, + { + "date": "2025-12-05", + "value": 27 + }, + { + "date": "2025-12-11", + "value": 29 + }, + { + "date": "2025-12-17", + "value": 32 + }, + { + "date": "2026-01-06", + "value": 26 + }, + { + "date": "2026-01-12", + "value": 29 + }, + { + "date": "2026-01-18", + "value": 31 + }, + { + "date": "2026-02-04", + "value": 33 + }, + { + "date": "2026-02-10", + "value": 36 + }, + { + "date": "2026-02-16", + "value": 39 + }, + { + "date": "2026-03-05", + "value": 33 + }, + { + "date": "2026-03-11", + "value": 36 + }, + { + "date": "2026-03-17", + "value": 23 + }, + { + "date": "2026-04-06", + "value": 40 + }, + { + "date": "2026-04-12", + "value": 27 + }, + { + "date": "2026-04-18", + "value": 31 + }, + { + "date": "2026-05-04", + "value": 24 + }, + { + "date": "2026-05-10", + "value": 27 + }, + { + "date": "2026-05-16", + "value": 29 + } + ], + "monthly": [ + { + "month": "2022-07", + "mean": 28.0, + "median": 28.0, + "p10": 28.0, + "p25": 28.0, + "p75": 28.0, + "p90": 28.0, + "n": 1 + }, + { + "month": "2022-11", + "mean": 35.0, + "median": 35.0, + "p10": 35.0, + "p25": 35.0, + "p75": 35.0, + "p90": 35.0, + "n": 1 + }, + { + "month": "2023-03", + "mean": 22.0, + "median": 22.0, + "p10": 22.0, + "p25": 22.0, + "p75": 22.0, + "p90": 22.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 42.0, + "median": 42.0, + "p10": 42.0, + "p25": 42.0, + "p75": 42.0, + "p90": 42.0, + "n": 1 + }, + { + "month": "2023-10", + "mean": 30.0, + "median": 30.0, + "p10": 30.0, + "p25": 30.0, + "p75": 30.0, + "p90": 30.0, + "n": 1 + }, + { + "month": "2024-02", + "mean": 55.0, + "median": 55.0, + "p10": 55.0, + "p25": 55.0, + "p75": 55.0, + "p90": 55.0, + "n": 1 + }, + { + "month": "2024-05", + "mean": 25.0, + "median": 25.0, + "p10": 25.0, + "p25": 25.0, + "p75": 25.0, + "p90": 25.0, + "n": 1 + }, + { + "month": "2024-08", + "mean": 38.0, + "median": 38.0, + "p10": 38.0, + "p25": 38.0, + "p75": 38.0, + "p90": 38.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 15.0, + "median": 15.0, + "p10": 15.0, + "p25": 15.0, + "p75": 15.0, + "p90": 15.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 32.0, + "median": 32.0, + "p10": 32.0, + "p25": 32.0, + "p75": 32.0, + "p90": 32.0, + "n": 1 + }, + { + "month": "2025-04", + "mean": 28.0, + "median": 28.0, + "p10": 28.0, + "p25": 28.0, + "p75": 28.0, + "p90": 28.0, + "n": 1 + }, + { + "month": "2025-06", + "mean": 45.0, + "median": 45.0, + "p10": 45.0, + "p25": 45.0, + "p75": 45.0, + "p90": 45.0, + "n": 1 + }, + { + "month": "2025-07", + "mean": 30.0, + "median": 30.0, + "p10": 30.0, + "p25": 30.0, + "p75": 30.0, + "p90": 30.0, + "n": 1 + }, + { + "month": "2025-08", + "mean": 22.0, + "median": 22.0, + "p10": 22.0, + "p25": 22.0, + "p75": 22.0, + "p90": 22.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 34.8, + "median": 37.0, + "p10": 29.0, + "p25": 33.5, + "p75": 38.3, + "p90": 38.7, + "n": 4 + }, + { + "month": "2025-10", + "mean": 28.3, + "median": 26.0, + "p10": 23.6, + "p25": 24.5, + "p75": 31.0, + "p90": 34.0, + "n": 3 + }, + { + "month": "2025-11", + "mean": 30.3, + "median": 31.0, + "p10": 27.8, + "p25": 29.0, + "p75": 32.0, + "p90": 32.6, + "n": 3 + }, + { + "month": "2025-12", + "mean": 29.3, + "median": 29.0, + "p10": 27.4, + "p25": 28.0, + "p75": 30.5, + "p90": 31.4, + "n": 3 + }, + { + "month": "2026-01", + "mean": 28.7, + "median": 29.0, + "p10": 26.6, + "p25": 27.5, + "p75": 30.0, + "p90": 30.6, + "n": 3 + }, + { + "month": "2026-02", + "mean": 36.0, + "median": 36.0, + "p10": 33.6, + "p25": 34.5, + "p75": 37.5, + "p90": 38.4, + "n": 3 + }, + { + "month": "2026-03", + "mean": 30.7, + "median": 33.0, + "p10": 25.0, + "p25": 28.0, + "p75": 34.5, + "p90": 35.4, + "n": 3 + }, + { + "month": "2026-04", + "mean": 32.7, + "median": 31.0, + "p10": 27.8, + "p25": 29.0, + "p75": 35.5, + "p90": 38.2, + "n": 3 + }, + { + "month": "2026-05", + "mean": 26.7, + "median": 27.0, + "p10": 24.6, + "p25": 25.5, + "p75": 28.0, + "p90": 28.6, + "n": 3 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "dest_dwell_hub1", + "label": "Destination Dwell (HUB-1)", + "type": "destination_dwell", + "material": "90000300001", + "plant": "HUB-1", + "stats": { + "n": 37, + "mean": 45.0, + "median": 44.0, + "std": 14.0, + "min": 10, + "max": 95, + "p25": 36.0, + "p75": 49.0, + "p85": 53.0, + "p95": 67.6 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "cost": { + "unit_price": 28.5, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2022-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "n_events": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "n_events": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "n_events": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "n_events": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "n_events": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "n_events": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "n_events": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "n_events": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "n_events": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "n_events": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "n_events": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "n_events": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "n_events": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "n_events": 3, + "total_kg_days": 585600.0 + } + ] + }, + "observations": [ + { + "date": "2022-09-15", + "value": 42 + }, + { + "date": "2023-05-05", + "value": 65 + }, + { + "date": "2023-05-20", + "value": 28 + }, + { + "date": "2024-01-10", + "value": 95 + }, + { + "date": "2024-01-25", + "value": 35 + }, + { + "date": "2024-08-15", + "value": 10 + }, + { + "date": "2025-02-05", + "value": 78 + }, + { + "date": "2025-02-18", + "value": 55 + }, + { + "date": "2025-08-10", + "value": 42 + }, + { + "date": "2025-08-20", + "value": 32 + }, + { + "date": "2025-09-06", + "value": 39 + }, + { + "date": "2025-09-12", + "value": 42 + }, + { + "date": "2025-09-18", + "value": 46 + }, + { + "date": "2025-10-04", + "value": 49 + }, + { + "date": "2025-10-10", + "value": 53 + }, + { + "date": "2025-10-16", + "value": 57 + }, + { + "date": "2025-11-05", + "value": 48 + }, + { + "date": "2025-11-11", + "value": 52 + }, + { + "date": "2025-11-17", + "value": 34 + }, + { + "date": "2025-12-06", + "value": 48 + }, + { + "date": "2025-12-12", + "value": 30 + }, + { + "date": "2025-12-18", + "value": 34 + }, + { + "date": "2026-01-04", + "value": 36 + }, + { + "date": "2026-01-10", + "value": 41 + }, + { + "date": "2026-01-16", + "value": 43 + }, + { + "date": "2026-02-05", + "value": 36 + }, + { + "date": "2026-02-11", + "value": 39 + }, + { + "date": "2026-02-17", + "value": 42 + }, + { + "date": "2026-03-06", + "value": 46 + }, + { + "date": "2026-03-12", + "value": 49 + }, + { + "date": "2026-03-18", + "value": 53 + }, + { + "date": "2026-04-04", + "value": 45 + }, + { + "date": "2026-04-10", + "value": 48 + }, + { + "date": "2026-04-16", + "value": 52 + }, + { + "date": "2026-05-05", + "value": 44 + }, + { + "date": "2026-05-11", + "value": 48 + }, + { + "date": "2026-05-17", + "value": 30 + } + ], + "monthly": [ + { + "month": "2022-09", + "mean": 42.0, + "median": 42.0, + "p10": 42.0, + "p25": 42.0, + "p75": 42.0, + "p90": 42.0, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "mean": 46.5, + "median": 46.5, + "p10": 31.7, + "p25": 37.3, + "p75": 55.8, + "p90": 61.3, + "n": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "mean": 65.0, + "median": 65.0, + "p10": 41.0, + "p25": 50.0, + "p75": 80.0, + "p90": 89.0, + "n": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "mean": 10.0, + "median": 10.0, + "p10": 10.0, + "p25": 10.0, + "p75": 10.0, + "p90": 10.0, + "n": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "mean": 66.5, + "median": 66.5, + "p10": 57.3, + "p25": 60.8, + "p75": 72.3, + "p90": 75.7, + "n": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "mean": 37.0, + "median": 37.0, + "p10": 33.0, + "p25": 34.5, + "p75": 39.5, + "p90": 41.0, + "n": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "mean": 42.3, + "median": 42.0, + "p10": 39.6, + "p25": 40.5, + "p75": 44.0, + "p90": 45.2, + "n": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "mean": 53.0, + "median": 53.0, + "p10": 49.8, + "p25": 51.0, + "p75": 55.0, + "p90": 56.2, + "n": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "mean": 44.7, + "median": 48.0, + "p10": 36.8, + "p25": 41.0, + "p75": 50.0, + "p90": 51.2, + "n": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "mean": 37.3, + "median": 34.0, + "p10": 30.8, + "p25": 32.0, + "p75": 41.0, + "p90": 45.2, + "n": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "mean": 40.0, + "median": 41.0, + "p10": 37.0, + "p25": 38.5, + "p75": 42.0, + "p90": 42.6, + "n": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "mean": 39.0, + "median": 39.0, + "p10": 36.6, + "p25": 37.5, + "p75": 40.5, + "p90": 41.4, + "n": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "mean": 49.3, + "median": 49.0, + "p10": 46.6, + "p25": 47.5, + "p75": 51.0, + "p90": 52.2, + "n": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "mean": 48.3, + "median": 48.0, + "p10": 45.6, + "p25": 46.5, + "p75": 50.0, + "p90": 51.2, + "n": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "mean": 40.7, + "median": 44.0, + "p10": 32.8, + "p25": 37.0, + "p75": 46.0, + "p90": 47.2, + "n": 3, + "total_kg_days": 585600.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 45.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 45.0, + "expected_marginal_per_day": 1.0 + } + } + } + ], + "edges": [ + { + "source": "procurement_highland_arabica", + "target": "raw_dwell_highland_arabica", + "label": "101" + }, + { + "source": "procurement_lowland_robusta", + "target": "raw_dwell_lowland_robusta", + "label": "101" + }, + { + "source": "procurement_washed_bourbon", + "target": "raw_dwell_washed_bourbon", + "label": "101" + }, + { + "source": "raw_dwell_highland_arabica", + "target": "prod_duration_green_blend", + "label": "261" + }, + { + "source": "raw_dwell_lowland_robusta", + "target": "prod_duration_green_blend", + "label": "261" + }, + { + "source": "prod_duration_green_blend", + "target": "intermed_dwell_green_blend", + "label": "101" + }, + { + "source": "raw_dwell_washed_bourbon", + "target": "prod_duration_harbor_dark_roast", + "label": "261" + }, + { + "source": "intermed_dwell_green_blend", + "target": "prod_duration_harbor_dark_roast", + "label": "261" + }, + { + "source": "prod_duration_harbor_dark_roast", + "target": "prod_to_qa_pla", + "label": "101" + }, + { + "source": "post_qa_ship_pla", + "target": "direct_ship_pla", + "label": "601" + }, + { + "source": "post_qa_ship_pla", + "target": "transit_pla_hub1", + "label": "641" + }, + { + "source": "transit_pla_hub1", + "target": "dest_dwell_hub1" + }, + { + "source": "prod_to_qa_pla", + "target": "post_qa_ship_pla" + } + ], + "pipeline_summary": { + "direct": { + "label": "Direct to customer", + "stages": [ + { + "id": "seg_proc_to_prodstart", + "label": "Procurement \u2192 Production Start", + "type": "procurement", + "mean": 29.9, + "median": 30, + "pct_of_total": 17.6, + "n": 60 + }, + { + "id": "seg_prodstart_to_prodfinish", + "label": "Production Start \u2192 Production Finish", + "type": "production", + "mean": 99.8, + "median": 101, + "pct_of_total": 58.9, + "n": 60 + }, + { + "id": "seg_prodfinish_to_qa", + "label": "Production Finish \u2192 QA Release", + "type": "qa_hold", + "mean": 6.6, + "median": 7, + "pct_of_total": 3.9, + "n": 60 + }, + { + "id": "seg_qa_to_customer", + "label": "QA Release \u2192 Customer", + "type": "transit", + "mean": 33.2, + "median": 33, + "pct_of_total": 19.6, + "n": 60 + } + ], + "total_mean": 169.5, + "total_median": 171 + }, + "hub-1": { + "label": "HUB-1", + "stages": [ + { + "id": "seg_proc_to_prodstart", + "label": "Procurement \u2192 Production Start", + "type": "procurement", + "mean": 28.4, + "median": 29, + "pct_of_total": 12.8, + "n": 40 + }, + { + "id": "seg_prodstart_to_prodfinish", + "label": "Production Start \u2192 Production Finish", + "type": "production", + "mean": 102.1, + "median": 104, + "pct_of_total": 46.1, + "n": 40 + }, + { + "id": "seg_prodfinish_to_qa", + "label": "Production Finish \u2192 QA Release", + "type": "qa_hold", + "mean": 6.2, + "median": 6, + "pct_of_total": 2.8, + "n": 40 + }, + { + "id": "seg_qa_to_customer", + "label": "QA Release \u2192 Customer", + "type": "transit", + "mean": 84.8, + "median": 88, + "pct_of_total": 38.3, + "n": 40 + } + ], + "total_mean": 221.5, + "total_median": 227 + } + }, + "annotations": [ + { + "date": "2023-09-01", + "label": "Supplier change for Highland Arabica", + "step_ids": ["procurement_highland_arabica", "raw_dwell_highland_arabica"] + }, + { + "date": "2024-01-15", + "label": "QA process revision", + "step_ids": ["qa_hold_pla"] + } + ], + "batch_timelines": { + "batches": [ + { + "batch": "BATCH-007069", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-05-27", + "earliest_gr_date": "2024-05-29", + "earliest_production_start": "2024-07-03", + "fg_receipt_date": "2024-10-28", + "qa_release_date": "2024-11-03", + "ship_date": null, + "delivery_date": "2024-12-10", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 37, + "seg_prodstart_to_prodfinish": 117, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 37, + "total_days": 197, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 94, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 112, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 70, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 39, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 52, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 14, + "direct_ship_pla": 23 + } + }, + "total_from_po": 197 + }, + { + "batch": "BATCH-767678", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-13", + "earliest_gr_date": "2024-07-15", + "earliest_production_start": "2024-07-29", + "fg_receipt_date": "2024-11-05", + "qa_release_date": "2024-11-09", + "ship_date": null, + "delivery_date": "2024-12-15", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 16, + "seg_prodstart_to_prodfinish": 99, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 36, + "total_days": 155, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 14, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 83, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 97, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 55, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 14, + "direct_ship_pla": 22 + } + }, + "total_from_po": 155 + }, + { + "batch": "BATCH-872783", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-25", + "earliest_gr_date": "2024-07-27", + "earliest_production_start": "2024-08-19", + "fg_receipt_date": "2024-11-08", + "qa_release_date": "2024-11-15", + "ship_date": null, + "delivery_date": "2024-12-20", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 81, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 35, + "total_days": 148, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 58, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 78, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 34, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 45, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "direct_ship_pla": 25 + } + }, + "total_from_po": 148 + }, + { + "batch": "BATCH-868247", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-20", + "earliest_gr_date": "2024-07-22", + "earliest_production_start": "2024-08-24", + "fg_receipt_date": "2024-11-10", + "qa_release_date": "2024-11-19", + "ship_date": null, + "delivery_date": "2024-12-26", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 78, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 37, + "total_days": 159, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 14, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 61, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 75, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 17, + "direct_ship_pla": 20 + } + }, + "total_from_po": 159 + }, + { + "batch": "BATCH-775611", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-22", + "earliest_gr_date": "2024-07-24", + "earliest_production_start": "2024-08-19", + "fg_receipt_date": "2024-11-22", + "qa_release_date": "2024-11-30", + "ship_date": null, + "delivery_date": "2024-12-31", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 95, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 31, + "total_days": 162, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 8, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 82, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 90, + "production_days": 8, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 64, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 74, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 68, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 16, + "direct_ship_pla": 15 + } + }, + "total_from_po": 162 + }, + { + "batch": "BATCH-544789", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-08", + "earliest_gr_date": "2024-07-10", + "earliest_production_start": "2024-08-05", + "fg_receipt_date": "2024-12-05", + "qa_release_date": "2024-12-12", + "ship_date": null, + "delivery_date": "2025-01-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 122, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 25, + "total_days": 182, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 24, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 94, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 118, + "production_days": 24, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 7, + "direct_ship_pla": 18 + } + }, + "total_from_po": 182 + }, + { + "batch": "BATCH-447665", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-14", + "earliest_gr_date": "2024-07-16", + "earliest_production_start": "2024-08-19", + "fg_receipt_date": "2024-12-05", + "qa_release_date": "2024-12-11", + "ship_date": null, + "delivery_date": "2025-01-11", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 36, + "seg_prodstart_to_prodfinish": 108, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 31, + "total_days": 181, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 24, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 81, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 24, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 63, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 16, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 63, + "production_days": 16, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 13, + "direct_ship_pla": 18 + } + }, + "total_from_po": 181 + }, + { + "batch": "BATCH-963613", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-24", + "earliest_gr_date": "2024-07-26", + "earliest_production_start": "2024-08-26", + "fg_receipt_date": "2024-12-12", + "qa_release_date": "2024-12-19", + "ship_date": null, + "delivery_date": "2025-01-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 108, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 29, + "total_days": 177, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 83, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 104, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 71, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "direct_ship_pla": 19 + } + }, + "total_from_po": 177 + }, + { + "batch": "BATCH-863299", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-08-05", + "earliest_gr_date": "2024-08-07", + "earliest_production_start": "2024-08-30", + "fg_receipt_date": "2024-12-21", + "qa_release_date": "2024-12-27", + "ship_date": null, + "delivery_date": "2025-01-22", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 26, + "total_days": 170, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 26, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 84, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 110, + "production_days": 26, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 69, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 14 + } + }, + "total_from_po": 170 + }, + { + "batch": "BATCH-528145", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-08-22", + "earliest_gr_date": "2024-08-24", + "earliest_production_start": "2024-09-11", + "fg_receipt_date": "2024-12-24", + "qa_release_date": "2024-12-30", + "ship_date": null, + "delivery_date": "2025-01-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 20, + "seg_prodstart_to_prodfinish": 104, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 29, + "total_days": 159, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 12, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 90, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 102, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 58, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 17 + } + }, + "total_from_po": 159 + }, + { + "batch": "BATCH-242499", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-08-17", + "earliest_gr_date": "2024-08-19", + "earliest_production_start": "2024-09-16", + "fg_receipt_date": "2024-12-26", + "qa_release_date": "2024-12-31", + "ship_date": null, + "delivery_date": "2025-02-02", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 101, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 33, + "total_days": 169, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 77, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 11, + "direct_ship_pla": 22 + } + }, + "total_from_po": 169 + }, + { + "batch": "BATCH-576635", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-29", + "earliest_gr_date": "2024-10-01", + "earliest_production_start": "2024-10-26", + "fg_receipt_date": "2024-12-31", + "qa_release_date": "2025-01-07", + "ship_date": null, + "delivery_date": "2025-02-08", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 27, + "seg_prodstart_to_prodfinish": 66, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 32, + "total_days": 132, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 47, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 64, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 57, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 8, + "direct_ship_pla": 24 + } + }, + "total_from_po": 132 + }, + { + "batch": "BATCH-221460", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-24", + "earliest_gr_date": "2024-07-26", + "earliest_production_start": "2024-08-28", + "fg_receipt_date": "2025-01-01", + "qa_release_date": "2025-01-08", + "ship_date": null, + "delivery_date": "2025-02-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 126, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 36, + "total_days": 204, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 99, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 120, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 66, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 78, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 6, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 13, + "direct_ship_pla": 23 + } + }, + "total_from_po": 204 + }, + { + "batch": "BATCH-666578", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-10", + "earliest_gr_date": "2024-09-12", + "earliest_production_start": "2024-10-06", + "fg_receipt_date": "2025-01-10", + "qa_release_date": "2025-01-18", + "ship_date": null, + "delivery_date": "2025-02-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 96, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 31, + "total_days": 161, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 11, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 82, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 63, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 9, + "direct_ship_pla": 22 + } + }, + "total_from_po": 161 + }, + { + "batch": "BATCH-208118", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-05", + "earliest_gr_date": "2024-09-07", + "earliest_production_start": "2024-10-19", + "fg_receipt_date": "2025-01-11", + "qa_release_date": "2025-01-19", + "ship_date": null, + "delivery_date": "2025-02-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 44, + "seg_prodstart_to_prodfinish": 84, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 36, + "total_days": 172, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 51, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 67, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 69, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 82, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 7, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 31, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 38, + "production_days": 7, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 15, + "direct_ship_pla": 21 + } + }, + "total_from_po": 172 + }, + { + "batch": "BATCH-458243", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-05", + "earliest_gr_date": "2024-09-07", + "earliest_production_start": "2024-10-04", + "fg_receipt_date": "2025-01-22", + "qa_release_date": "2025-01-29", + "ship_date": null, + "delivery_date": "2025-03-01", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 31, + "total_days": 177, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 106, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 69, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 9, + "direct_ship_pla": 22 + } + }, + "total_from_po": 177 + }, + { + "batch": "BATCH-207730", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-16", + "earliest_gr_date": "2024-09-18", + "earliest_production_start": "2024-10-14", + "fg_receipt_date": "2025-01-18", + "qa_release_date": "2025-01-22", + "ship_date": null, + "delivery_date": "2025-03-07", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 96, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 44, + "total_days": 172, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 77, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 92, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 74, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 8, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 68, + "production_days": 8, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 16, + "direct_ship_pla": 28 + } + }, + "total_from_po": 172 + }, + { + "batch": "BATCH-033995", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-08-27", + "earliest_gr_date": "2024-08-29", + "earliest_production_start": "2024-09-30", + "fg_receipt_date": "2025-01-22", + "qa_release_date": "2025-01-30", + "ship_date": null, + "delivery_date": "2025-03-12", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 34, + "seg_prodstart_to_prodfinish": 114, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 41, + "total_days": 197, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 93, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 111, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 18, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 70, + "production_days": 18, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 17, + "direct_ship_pla": 24 + } + }, + "total_from_po": 197 + }, + { + "batch": "BATCH-559161", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-10", + "earliest_gr_date": "2024-09-12", + "earliest_production_start": "2024-10-16", + "fg_receipt_date": "2025-02-14", + "qa_release_date": "2025-02-19", + "ship_date": null, + "delivery_date": "2025-03-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 36, + "seg_prodstart_to_prodfinish": 121, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 27, + "total_days": 189, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 99, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 117, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 73, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 15, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 15, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 10, + "direct_ship_pla": 17 + } + }, + "total_from_po": 189 + }, + { + "batch": "BATCH-043249", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-28", + "earliest_gr_date": "2024-09-30", + "earliest_production_start": "2024-10-27", + "fg_receipt_date": "2025-02-12", + "qa_release_date": "2025-02-15", + "ship_date": null, + "delivery_date": "2025-03-23", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 108, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 36, + "total_days": 176, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 86, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 36, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 50, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 12, + "direct_ship_pla": 24 + } + }, + "total_from_po": 176 + }, + { + "batch": "BATCH-876661", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-10-05", + "earliest_gr_date": "2024-10-07", + "earliest_production_start": "2024-11-06", + "fg_receipt_date": "2025-02-04", + "qa_release_date": "2025-02-11", + "ship_date": null, + "delivery_date": "2025-03-29", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 32, + "seg_prodstart_to_prodfinish": 90, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 46, + "total_days": 175, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 13, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 73, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 86, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 15, + "direct_ship_pla": 31 + } + }, + "total_from_po": 175 + }, + { + "batch": "BATCH-758211", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-24", + "earliest_gr_date": "2024-09-26", + "earliest_production_start": "2024-10-24", + "fg_receipt_date": "2025-02-22", + "qa_release_date": "2025-03-01", + "ship_date": null, + "delivery_date": "2025-04-03", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 121, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 33, + "total_days": 191, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 100, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 117, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "direct_ship_pla": 23 + } + }, + "total_from_po": 191 + }, + { + "batch": "BATCH-198568", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-10-07", + "earliest_gr_date": "2024-10-09", + "earliest_production_start": "2024-10-29", + "fg_receipt_date": "2025-02-21", + "qa_release_date": "2025-03-02", + "ship_date": null, + "delivery_date": "2025-04-09", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 22, + "seg_prodstart_to_prodfinish": 115, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 38, + "total_days": 184, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 89, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 110, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 64, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 79, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 78, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 91, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 13, + "direct_ship_pla": 25 + } + }, + "total_from_po": 184 + }, + { + "batch": "BATCH-499114", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-20", + "earliest_gr_date": "2024-11-22", + "earliest_production_start": "2024-12-17", + "fg_receipt_date": "2025-03-05", + "qa_release_date": "2025-03-14", + "ship_date": null, + "delivery_date": "2025-04-14", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 27, + "seg_prodstart_to_prodfinish": 78, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 31, + "total_days": 145, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 52, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 70, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 33, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 44, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 16, + "direct_ship_pla": 15 + } + }, + "total_from_po": 145 + }, + { + "batch": "BATCH-947566", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-10-15", + "earliest_gr_date": "2024-10-17", + "earliest_production_start": "2024-11-17", + "fg_receipt_date": "2025-03-07", + "qa_release_date": "2025-03-10", + "ship_date": null, + "delivery_date": "2025-04-19", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 40, + "total_days": 186, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 86, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 104, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 62, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 6, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 14, + "direct_ship_pla": 26 + } + }, + "total_from_po": 186 + }, + { + "batch": "BATCH-154390", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-10-25", + "earliest_gr_date": "2024-10-27", + "earliest_production_start": "2024-11-27", + "fg_receipt_date": "2025-03-10", + "qa_release_date": "2025-03-16", + "ship_date": null, + "delivery_date": "2025-04-25", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 103, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 40, + "total_days": 182, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 22, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 77, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 99, + "production_days": 22, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 67, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 82, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 44, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 57, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 28 + } + }, + "total_from_po": 182 + }, + { + "batch": "BATCH-557064", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-01", + "earliest_gr_date": "2024-12-03", + "earliest_production_start": "2025-01-02", + "fg_receipt_date": "2025-03-29", + "qa_release_date": "2025-04-05", + "ship_date": null, + "delivery_date": "2025-04-30", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 32, + "seg_prodstart_to_prodfinish": 86, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 25, + "total_days": 150, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 64, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 82, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 60, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 8, + "direct_ship_pla": 17 + } + }, + "total_from_po": 150 + }, + { + "batch": "BATCH-307333", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-17", + "earliest_gr_date": "2024-11-19", + "earliest_production_start": "2024-12-15", + "fg_receipt_date": "2025-03-27", + "qa_release_date": "2025-04-04", + "ship_date": null, + "delivery_date": "2025-05-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 102, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 32, + "total_days": 170, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 81, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 73, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 88, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 36, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 49, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 16, + "direct_ship_pla": 16 + } + }, + "total_from_po": 170 + }, + { + "batch": "BATCH-891817", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-02", + "earliest_gr_date": "2024-12-04", + "earliest_production_start": "2024-12-16", + "fg_receipt_date": "2025-03-30", + "qa_release_date": "2025-04-07", + "ship_date": null, + "delivery_date": "2025-05-11", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 14, + "seg_prodstart_to_prodfinish": 104, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 34, + "total_days": 160, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 82, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 100, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 62, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 65, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 76, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 9, + "direct_ship_pla": 25 + } + }, + "total_from_po": 160 + }, + { + "batch": "BATCH-852390", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-24", + "earliest_gr_date": "2024-11-26", + "earliest_production_start": "2024-12-29", + "fg_receipt_date": "2025-03-29", + "qa_release_date": "2025-04-06", + "ship_date": null, + "delivery_date": "2025-05-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 90, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 41, + "total_days": 174, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 70, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 86, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 37, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 52, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 14, + "direct_ship_pla": 27 + } + }, + "total_from_po": 174 + }, + { + "batch": "BATCH-412722", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-31", + "earliest_gr_date": "2025-01-02", + "earliest_production_start": "2025-01-21", + "fg_receipt_date": "2025-04-15", + "qa_release_date": "2025-04-20", + "ship_date": null, + "delivery_date": "2025-05-22", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 21, + "seg_prodstart_to_prodfinish": 84, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 32, + "total_days": 142, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 49, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 70, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 64, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 81, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 56, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 9, + "direct_ship_pla": 23 + } + }, + "total_from_po": 142 + }, + { + "batch": "BATCH-357156", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-08", + "earliest_gr_date": "2024-11-10", + "earliest_production_start": "2024-12-13", + "fg_receipt_date": "2025-04-05", + "qa_release_date": "2025-04-13", + "ship_date": null, + "delivery_date": "2025-05-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 45, + "total_days": 201, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 89, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 110, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 72, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 83, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 60, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 14, + "direct_ship_pla": 31 + } + }, + "total_from_po": 201 + }, + { + "batch": "BATCH-851698", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-04", + "earliest_gr_date": "2025-01-06", + "earliest_production_start": "2025-02-06", + "fg_receipt_date": "2025-04-22", + "qa_release_date": "2025-04-30", + "ship_date": null, + "delivery_date": "2025-06-02", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 75, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 33, + "total_days": 149, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 52, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 71, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 41, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 54, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 72, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 7, + "direct_ship_pla": 26 + } + }, + "total_from_po": 149 + }, + { + "batch": "BATCH-440021", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-29", + "earliest_gr_date": "2024-12-31", + "earliest_production_start": "2025-01-31", + "fg_receipt_date": "2025-05-05", + "qa_release_date": "2025-05-13", + "ship_date": null, + "delivery_date": "2025-06-08", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 94, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 26, + "total_days": 161, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 12, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 81, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 78, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 91, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 40, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 52, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 12, + "direct_ship_pla": 14 + } + }, + "total_from_po": 161 + }, + { + "batch": "BATCH-546123", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-20", + "earliest_gr_date": "2024-12-22", + "earliest_production_start": "2025-01-18", + "fg_receipt_date": "2025-05-08", + "qa_release_date": "2025-05-15", + "ship_date": null, + "delivery_date": "2025-06-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 29, + "total_days": 175, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 89, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 106, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 63, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 78, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 15, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 64, + "production_days": 15, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 11, + "direct_ship_pla": 18 + } + }, + "total_from_po": 175 + }, + { + "batch": "BATCH-990560", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-29", + "earliest_gr_date": "2024-12-01", + "earliest_production_start": "2025-01-08", + "fg_receipt_date": "2025-05-16", + "qa_release_date": "2025-05-24", + "ship_date": null, + "delivery_date": "2025-06-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 40, + "seg_prodstart_to_prodfinish": 128, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 25, + "total_days": 201, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 109, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 125, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 62, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 38, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 49, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 8, + "direct_ship_pla": 17 + } + }, + "total_from_po": 201 + }, + { + "batch": "BATCH-386297", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-03", + "earliest_gr_date": "2025-01-05", + "earliest_production_start": "2025-01-29", + "fg_receipt_date": "2025-05-19", + "qa_release_date": "2025-05-26", + "ship_date": null, + "delivery_date": "2025-06-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 29, + "total_days": 172, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 88, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 39, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 50, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 70, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 14, + "direct_ship_pla": 15 + } + }, + "total_from_po": 172 + }, + { + "batch": "BATCH-947389", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-21", + "earliest_gr_date": "2025-01-23", + "earliest_production_start": "2025-02-19", + "fg_receipt_date": "2025-05-31", + "qa_release_date": "2025-06-06", + "ship_date": null, + "delivery_date": "2025-06-29", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 101, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 23, + "total_days": 159, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 81, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 16, + "direct_ship_pla": 7 + } + }, + "total_from_po": 159 + }, + { + "batch": "BATCH-627234", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-26", + "earliest_gr_date": "2025-01-28", + "earliest_production_start": "2025-02-21", + "fg_receipt_date": "2025-05-29", + "qa_release_date": "2025-06-01", + "ship_date": null, + "delivery_date": "2025-07-05", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 34, + "total_days": 160, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 76, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 95, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 67, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 53, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 11, + "direct_ship_pla": 23 + } + }, + "total_from_po": 160 + }, + { + "batch": "BATCH-829707", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-14", + "earliest_gr_date": "2025-01-16", + "earliest_production_start": "2025-02-21", + "fg_receipt_date": "2025-06-01", + "qa_release_date": "2025-06-09", + "ship_date": null, + "delivery_date": "2025-07-10", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 38, + "seg_prodstart_to_prodfinish": 100, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 31, + "total_days": 177, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 80, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 97, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 63, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 30, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 42, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 9, + "direct_ship_pla": 22 + } + }, + "total_from_po": 177 + }, + { + "batch": "BATCH-404324", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-22", + "earliest_gr_date": "2025-02-24", + "earliest_production_start": "2025-03-24", + "fg_receipt_date": "2025-06-18", + "qa_release_date": "2025-06-27", + "ship_date": null, + "delivery_date": "2025-07-16", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 86, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 19, + "total_days": 144, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 65, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 83, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 69, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 9, + "direct_ship_pla": 10 + } + }, + "total_from_po": 144 + }, + { + "batch": "BATCH-840018", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-10", + "earliest_gr_date": "2025-02-12", + "earliest_production_start": "2025-03-15", + "fg_receipt_date": "2025-06-17", + "qa_release_date": "2025-06-21", + "ship_date": null, + "delivery_date": "2025-07-21", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 94, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 30, + "total_days": 161, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 90, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 64, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 77, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 16, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 69, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 85, + "production_days": 16, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 12, + "direct_ship_pla": 18 + } + }, + "total_from_po": 161 + }, + { + "batch": "BATCH-243511", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-11", + "earliest_gr_date": "2025-01-13", + "earliest_production_start": "2025-02-13", + "fg_receipt_date": "2025-06-13", + "qa_release_date": "2025-06-22", + "ship_date": null, + "delivery_date": "2025-07-27", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 120, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 35, + "total_days": 197, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 100, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 116, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 40, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 53, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 69, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 11, + "direct_ship_pla": 24 + } + }, + "total_from_po": 197 + }, + { + "batch": "BATCH-394495", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-07", + "earliest_gr_date": "2025-02-09", + "earliest_production_start": "2025-03-14", + "fg_receipt_date": "2025-06-24", + "qa_release_date": "2025-07-02", + "ship_date": null, + "delivery_date": "2025-08-01", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 102, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 30, + "total_days": 175, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 12, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 99, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 69, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 9, + "direct_ship_pla": 21 + } + }, + "total_from_po": 175 + }, + { + "batch": "BATCH-043032", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-15", + "earliest_gr_date": "2025-02-17", + "earliest_production_start": "2025-03-11", + "fg_receipt_date": "2025-06-29", + "qa_release_date": "2025-07-05", + "ship_date": null, + "delivery_date": "2025-08-07", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 24, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 33, + "total_days": 173, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 8, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 97, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 8, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 19, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 63, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 82, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 30, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 41, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 10, + "direct_ship_pla": 23 + } + }, + "total_from_po": 173 + }, + { + "batch": "BATCH-582158", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-26", + "earliest_gr_date": "2025-02-28", + "earliest_production_start": "2025-03-23", + "fg_receipt_date": "2025-06-28", + "qa_release_date": "2025-07-05", + "ship_date": null, + "delivery_date": "2025-08-12", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 38, + "total_days": 167, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 76, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 95, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 70, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 53, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 15, + "direct_ship_pla": 23 + } + }, + "total_from_po": 167 + }, + { + "batch": "BATCH-302264", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-03-30", + "earliest_gr_date": "2025-04-01", + "earliest_production_start": "2025-04-24", + "fg_receipt_date": "2025-07-16", + "qa_release_date": "2025-07-24", + "ship_date": null, + "delivery_date": "2025-08-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 83, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 24, + "total_days": 140, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 59, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 77, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 9, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 59, + "production_days": 9, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 63, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 6, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 16, + "direct_ship_pla": 8 + } + }, + "total_from_po": 140 + }, + { + "batch": "BATCH-240076", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-03-25", + "earliest_gr_date": "2025-03-27", + "earliest_production_start": "2025-04-09", + "fg_receipt_date": "2025-07-14", + "qa_release_date": "2025-07-21", + "ship_date": null, + "delivery_date": "2025-08-23", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 15, + "seg_prodstart_to_prodfinish": 96, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 33, + "total_days": 151, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 76, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 94, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 11, + "direct_ship_pla": 22 + } + }, + "total_from_po": 151 + }, + { + "batch": "BATCH-804779", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-20", + "earliest_gr_date": "2025-02-22", + "earliest_production_start": "2025-03-22", + "fg_receipt_date": "2025-07-05", + "qa_release_date": "2025-07-12", + "ship_date": null, + "delivery_date": "2025-08-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 105, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 47, + "total_days": 189, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 84, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 100, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 9, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 69, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 78, + "production_days": 9, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 12, + "direct_ship_pla": 35 + } + }, + "total_from_po": 189 + }, + { + "batch": "BATCH-731192", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-03-15", + "earliest_gr_date": "2025-03-17", + "earliest_production_start": "2025-04-23", + "fg_receipt_date": "2025-07-22", + "qa_release_date": "2025-07-27", + "ship_date": null, + "delivery_date": "2025-09-03", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 39, + "seg_prodstart_to_prodfinish": 90, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 38, + "total_days": 172, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 73, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 88, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 65, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 11, + "direct_ship_pla": 27 + } + }, + "total_from_po": 172 + }, + { + "batch": "BATCH-482639", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-21", + "earliest_gr_date": "2025-02-23", + "earliest_production_start": "2025-03-30", + "fg_receipt_date": "2025-07-17", + "qa_release_date": "2025-07-24", + "ship_date": null, + "delivery_date": "2025-09-08", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 37, + "seg_prodstart_to_prodfinish": 109, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 46, + "total_days": 199, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 59, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 19, + "direct_ship_pla": 27 + } + }, + "total_from_po": 199 + }, + { + "batch": "BATCH-062870", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-01", + "earliest_gr_date": "2025-04-03", + "earliest_production_start": "2025-05-04", + "fg_receipt_date": "2025-08-01", + "qa_release_date": "2025-08-07", + "ship_date": null, + "delivery_date": "2025-09-14", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 89, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 38, + "total_days": 166, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 67, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 87, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 63, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 26 + } + }, + "total_from_po": 166 + }, + { + "batch": "BATCH-231165", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-05", + "earliest_gr_date": "2025-05-07", + "earliest_production_start": "2025-06-09", + "fg_receipt_date": "2025-08-16", + "qa_release_date": "2025-08-22", + "ship_date": null, + "delivery_date": "2025-09-19", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 68, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 28, + "total_days": 137, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 43, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 63, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 62, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 64, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 14, + "direct_ship_pla": 14 + } + }, + "total_from_po": 137 + }, + { + "batch": "BATCH-213839", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-14", + "earliest_gr_date": "2025-04-16", + "earliest_production_start": "2025-05-04", + "fg_receipt_date": "2025-08-23", + "qa_release_date": "2025-08-27", + "ship_date": null, + "delivery_date": "2025-09-25", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 20, + "seg_prodstart_to_prodfinish": 111, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 29, + "total_days": 164, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 107, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 37, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 47, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 32, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 45, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 11, + "direct_ship_pla": 18 + } + }, + "total_from_po": 164 + }, + { + "batch": "BATCH-750018", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-11", + "earliest_gr_date": "2025-05-13", + "earliest_production_start": "2025-06-05", + "fg_receipt_date": "2025-08-31", + "qa_release_date": "2025-09-06", + "ship_date": null, + "delivery_date": "2025-09-30", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 87, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 24, + "total_days": 142, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 85, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 6, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 66, + "production_days": 6, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 7, + "direct_ship_pla": 17 + } + }, + "total_from_po": 142 + }, + { + "batch": "BATCH-880539", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-20", + "earliest_gr_date": "2025-04-22", + "earliest_production_start": "2025-05-26", + "fg_receipt_date": "2025-08-19", + "qa_release_date": "2025-08-26", + "ship_date": null, + "delivery_date": "2025-10-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 36, + "seg_prodstart_to_prodfinish": 85, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 41, + "total_days": 169, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 14, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 68, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 82, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 63, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 8, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 36, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 44, + "production_days": 8, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 13, + "direct_ship_pla": 28 + } + }, + "total_from_po": 169 + }, + { + "batch": "BATCH-155177", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-02", + "earliest_gr_date": "2025-05-04", + "earliest_production_start": "2025-06-18", + "fg_receipt_date": "2025-09-10", + "qa_release_date": "2025-09-16", + "ship_date": null, + "delivery_date": "2025-10-11", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 47, + "seg_prodstart_to_prodfinish": 84, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 25, + "total_days": 162, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 13, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 66, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 79, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 72, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 10, + "direct_ship_pla": 15 + } + }, + "total_from_po": 162 + }, + { + "batch": "BATCH-993261", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-29", + "earliest_gr_date": "2025-05-01", + "earliest_production_start": "2025-05-24", + "fg_receipt_date": "2025-08-30", + "qa_release_date": "2025-09-04", + "ship_date": null, + "delivery_date": "2025-10-16", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 98, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 42, + "total_days": 170, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 79, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 95, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 72, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 65, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 77, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 11, + "direct_ship_pla": 31 + } + }, + "total_from_po": 170 + }, + { + "batch": "BATCH-753433", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-27", + "earliest_gr_date": "2025-05-29", + "earliest_production_start": "2025-06-13", + "fg_receipt_date": "2025-09-23", + "qa_release_date": "2025-09-29", + "ship_date": null, + "delivery_date": "2025-10-22", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 17, + "seg_prodstart_to_prodfinish": 102, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 23, + "total_days": 148, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 11, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 41, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 50, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 8, + "direct_ship_pla": 15 + } + }, + "total_from_po": 148 + }, + { + "batch": "BATCH-476897", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-21", + "earliest_gr_date": "2025-04-23", + "earliest_production_start": "2025-05-24", + "fg_receipt_date": "2025-09-14", + "qa_release_date": "2025-09-20", + "ship_date": null, + "delivery_date": "2025-10-27", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 37, + "total_days": 189, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 93, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 109, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 74, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 25 + } + }, + "total_from_po": 189 + }, + { + "batch": "BATCH-521582", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-03-25", + "earliest_gr_date": "2025-03-27", + "earliest_production_start": "2025-04-09", + "fg_receipt_date": "2025-07-18", + "qa_release_date": "2025-07-27", + "ship_date": null, + "delivery_date": "2025-11-02", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 15, + "seg_prodstart_to_prodfinish": 100, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 98, + "total_days": 222, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 79, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 97, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 70, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 80, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 59, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 14, + "transit_pla_hub1": 43, + "dest_dwell_hub1": 41 + } + }, + "total_from_po": 222 + }, + { + "batch": "BATCH-281803", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-14", + "earliest_gr_date": "2025-04-16", + "earliest_production_start": "2025-05-07", + "fg_receipt_date": "2025-07-28", + "qa_release_date": "2025-08-01", + "ship_date": null, + "delivery_date": "2025-11-07", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 23, + "seg_prodstart_to_prodfinish": 82, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 98, + "total_days": 207, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 64, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 79, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 32, + "dest_dwell_hub1": 56 + } + }, + "total_from_po": 207 + }, + { + "batch": "BATCH-276962", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-05", + "earliest_gr_date": "2025-04-07", + "earliest_production_start": "2025-05-05", + "fg_receipt_date": "2025-08-17", + "qa_release_date": "2025-08-26", + "ship_date": null, + "delivery_date": "2025-11-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 104, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 79, + "total_days": 222, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 80, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 101, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 9, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 9, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 16, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 69, + "production_days": 16, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 12, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 38 + } + }, + "total_from_po": 222 + }, + { + "batch": "BATCH-217426", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-15", + "earliest_gr_date": "2025-04-17", + "earliest_production_start": "2025-05-16", + "fg_receipt_date": "2025-08-24", + "qa_release_date": "2025-09-03", + "ship_date": null, + "delivery_date": "2025-11-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 31, + "seg_prodstart_to_prodfinish": 100, + "seg_prodfinish_to_qa": 10, + "seg_qa_to_customer": 76, + "total_days": 217, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 25, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 72, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 97, + "production_days": 25, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 15, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 15, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 10, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 18, + "dest_dwell_hub1": 45 + } + }, + "total_from_po": 217 + }, + { + "batch": "BATCH-679445", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-01", + "earliest_gr_date": "2025-05-03", + "earliest_production_start": "2025-06-03", + "fg_receipt_date": "2025-08-19", + "qa_release_date": "2025-08-27", + "ship_date": null, + "delivery_date": "2025-11-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 77, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 89, + "total_days": 207, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 13, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 62, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 75, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 40, + "dest_dwell_hub1": 36 + } + }, + "total_from_po": 207 + }, + { + "batch": "BATCH-584703", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-19", + "earliest_gr_date": "2025-04-21", + "earliest_production_start": "2025-05-16", + "fg_receipt_date": "2025-09-06", + "qa_release_date": "2025-09-13", + "ship_date": null, + "delivery_date": "2025-11-29", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 27, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 77, + "total_days": 224, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 92, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 60, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 57, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 19, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 29 + } + }, + "total_from_po": 224 + }, + { + "batch": "BATCH-320907", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-03", + "earliest_gr_date": "2025-05-05", + "earliest_production_start": "2025-06-01", + "fg_receipt_date": "2025-08-12", + "qa_release_date": "2025-08-21", + "ship_date": null, + "delivery_date": "2025-12-05", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 72, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 106, + "total_days": 216, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 54, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 69, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 9, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 65, + "production_days": 9, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 17, + "transit_pla_hub1": 42, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 216 + }, + { + "batch": "BATCH-469894", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-09", + "earliest_gr_date": "2025-04-11", + "earliest_production_start": "2025-05-12", + "fg_receipt_date": "2025-08-29", + "qa_release_date": "2025-09-05", + "ship_date": null, + "delivery_date": "2025-12-10", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 109, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 96, + "total_days": 245, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 89, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 45, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 56, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 38, + "dest_dwell_hub1": 48 + } + }, + "total_from_po": 245 + }, + { + "batch": "BATCH-119167", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-10", + "earliest_gr_date": "2025-05-12", + "earliest_production_start": "2025-05-30", + "fg_receipt_date": "2025-09-19", + "qa_release_date": "2025-09-26", + "ship_date": null, + "delivery_date": "2025-12-15", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 20, + "seg_prodstart_to_prodfinish": 112, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 80, + "total_days": 219, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 13, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 95, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 74, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 44 + } + }, + "total_from_po": 219 + }, + { + "batch": "BATCH-850977", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-17", + "earliest_gr_date": "2025-05-19", + "earliest_production_start": "2025-06-14", + "fg_receipt_date": "2025-09-25", + "qa_release_date": "2025-10-01", + "ship_date": null, + "delivery_date": "2025-12-21", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 103, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 81, + "total_days": 218, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 82, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 99, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 32, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 42, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 59, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 39 + } + }, + "total_from_po": 218 + }, + { + "batch": "BATCH-315004", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-21", + "earliest_gr_date": "2025-06-23", + "earliest_production_start": "2025-07-27", + "fg_receipt_date": "2025-10-06", + "qa_release_date": "2025-10-14", + "ship_date": null, + "delivery_date": "2025-12-26", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 36, + "seg_prodstart_to_prodfinish": 71, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 73, + "total_days": 188, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 14, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 49, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 63, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 67, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 40, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 22, + "dest_dwell_hub1": 38 + } + }, + "total_from_po": 188 + }, + { + "batch": "BATCH-753733", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-04", + "earliest_gr_date": "2025-06-06", + "earliest_production_start": "2025-07-04", + "fg_receipt_date": "2025-09-25", + "qa_release_date": "2025-09-28", + "ship_date": null, + "delivery_date": "2026-01-01", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 83, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 95, + "total_days": 211, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 64, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 80, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 67, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 81, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 15, + "transit_pla_hub1": 28, + "dest_dwell_hub1": 52 + } + }, + "total_from_po": 211 + }, + { + "batch": "BATCH-006984", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-29", + "earliest_gr_date": "2025-05-31", + "earliest_production_start": "2025-06-15", + "fg_receipt_date": "2025-09-20", + "qa_release_date": "2025-09-27", + "ship_date": null, + "delivery_date": "2026-01-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 17, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 101, + "total_days": 222, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 25, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 94, + "production_days": 25, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 31, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 45, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 62, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 75, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 42, + "dest_dwell_hub1": 49 + } + }, + "total_from_po": 222 + }, + { + "batch": "BATCH-962763", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-04", + "earliest_gr_date": "2025-06-06", + "earliest_production_start": "2025-07-06", + "fg_receipt_date": "2025-10-26", + "qa_release_date": "2025-11-02", + "ship_date": null, + "delivery_date": "2026-01-12", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 32, + "seg_prodstart_to_prodfinish": 112, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 71, + "total_days": 222, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 92, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 69, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 15, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 15, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 35 + } + }, + "total_from_po": 222 + }, + { + "batch": "BATCH-885445", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-04", + "earliest_gr_date": "2025-06-06", + "earliest_production_start": "2025-06-29", + "fg_receipt_date": "2025-10-03", + "qa_release_date": "2025-10-04", + "ship_date": null, + "delivery_date": "2026-01-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 96, + "seg_prodfinish_to_qa": 1, + "seg_qa_to_customer": 105, + "total_days": 227, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 78, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 71, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 1, + "post_qa_ship_pla": 17, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 63 + } + }, + "total_from_po": 227 + }, + { + "batch": "BATCH-622159", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-31", + "earliest_gr_date": "2025-06-02", + "earliest_production_start": "2025-06-26", + "fg_receipt_date": "2025-10-17", + "qa_release_date": "2025-10-23", + "ship_date": null, + "delivery_date": "2026-01-23", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 92, + "total_days": 237, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 91, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 111, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 62, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 78, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 70, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 17, + "transit_pla_hub1": 28, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 237 + }, + { + "batch": "BATCH-990714", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-03", + "earliest_gr_date": "2025-06-05", + "earliest_production_start": "2025-07-02", + "fg_receipt_date": "2025-10-14", + "qa_release_date": "2025-10-18", + "ship_date": null, + "delivery_date": "2026-01-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 104, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 102, + "total_days": 239, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 84, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 100, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 55, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 15, + "transit_pla_hub1": 39, + "dest_dwell_hub1": 48 + } + }, + "total_from_po": 239 + }, + { + "batch": "BATCH-479016", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-14", + "earliest_gr_date": "2025-06-16", + "earliest_production_start": "2025-07-18", + "fg_receipt_date": "2025-11-13", + "qa_release_date": "2025-11-19", + "ship_date": null, + "delivery_date": "2026-02-03", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 34, + "seg_prodstart_to_prodfinish": 118, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 76, + "total_days": 234, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 96, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 114, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 64, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "transit_pla_hub1": 30, + "dest_dwell_hub1": 34 + } + }, + "total_from_po": 234 + }, + { + "batch": "BATCH-080863", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-26", + "earliest_gr_date": "2025-06-28", + "earliest_production_start": "2025-07-18", + "fg_receipt_date": "2025-11-08", + "qa_release_date": "2025-11-12", + "ship_date": null, + "delivery_date": "2026-02-08", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 22, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 88, + "total_days": 227, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 86, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 107, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 66, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 80, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 8, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 51, + "production_days": 8, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 6, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 28, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 227 + }, + { + "batch": "BATCH-910231", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-07-05", + "earliest_gr_date": "2025-07-07", + "earliest_production_start": "2025-08-11", + "fg_receipt_date": "2025-11-08", + "qa_release_date": "2025-11-16", + "ship_date": null, + "delivery_date": "2026-02-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 37, + "seg_prodstart_to_prodfinish": 89, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 89, + "total_days": 223, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 84, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 75, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 86, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 66, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 80, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 223 + }, + { + "batch": "BATCH-997425", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-07", + "earliest_gr_date": "2025-08-09", + "earliest_production_start": "2025-09-06", + "fg_receipt_date": "2025-12-04", + "qa_release_date": "2025-12-12", + "ship_date": null, + "delivery_date": "2026-02-19", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 89, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 69, + "total_days": 196, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 70, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 86, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 70, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 24, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 37, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 8, + "transit_pla_hub1": 31, + "dest_dwell_hub1": 30 + } + }, + "total_from_po": 196 + }, + { + "batch": "BATCH-618940", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-19", + "earliest_gr_date": "2025-06-21", + "earliest_production_start": "2025-07-27", + "fg_receipt_date": "2025-11-29", + "qa_release_date": "2025-12-02", + "ship_date": null, + "delivery_date": "2026-02-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 38, + "seg_prodstart_to_prodfinish": 125, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 84, + "total_days": 250, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 104, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 121, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 34, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 43, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 32, + "dest_dwell_hub1": 42 + } + }, + "total_from_po": 250 + }, + { + "batch": "BATCH-029240", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-07-14", + "earliest_gr_date": "2025-07-16", + "earliest_production_start": "2025-08-02", + "fg_receipt_date": "2025-11-19", + "qa_release_date": "2025-11-25", + "ship_date": null, + "delivery_date": "2026-03-02", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 19, + "seg_prodstart_to_prodfinish": 109, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 97, + "total_days": 231, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 83, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 104, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 77, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 88, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 15, + "transit_pla_hub1": 44, + "dest_dwell_hub1": 38 + } + }, + "total_from_po": 231 + }, + { + "batch": "BATCH-013796", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-17", + "earliest_gr_date": "2025-08-19", + "earliest_production_start": "2025-09-24", + "fg_receipt_date": "2026-01-04", + "qa_release_date": "2026-01-13", + "ship_date": null, + "delivery_date": "2026-03-07", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 38, + "seg_prodstart_to_prodfinish": 102, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 53, + "total_days": 202, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 78, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 27, + "dest_dwell_hub1": 15 + } + }, + "total_from_po": 202 + }, + { + "batch": "BATCH-563928", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-17", + "earliest_gr_date": "2025-08-19", + "earliest_production_start": "2025-09-16", + "fg_receipt_date": "2025-12-08", + "qa_release_date": "2025-12-11", + "ship_date": null, + "delivery_date": "2026-03-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 83, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 92, + "total_days": 208, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 66, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 81, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 38, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 51, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 28, + "dest_dwell_hub1": 54 + } + }, + "total_from_po": 208 + }, + { + "batch": "BATCH-263609", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-15", + "earliest_gr_date": "2025-08-17", + "earliest_production_start": "2025-09-12", + "fg_receipt_date": "2026-01-03", + "qa_release_date": "2026-01-10", + "ship_date": null, + "delivery_date": "2026-03-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 67, + "total_days": 215, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 26, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 83, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 109, + "production_days": 26, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 20, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 74, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 57, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 15, + "dest_dwell_hub1": 42 + } + }, + "total_from_po": 215 + }, + { + "batch": "BATCH-786903", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-30", + "earliest_gr_date": "2025-09-01", + "earliest_production_start": "2025-09-23", + "fg_receipt_date": "2026-01-22", + "qa_release_date": "2026-01-28", + "ship_date": null, + "delivery_date": "2026-03-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 24, + "seg_prodstart_to_prodfinish": 121, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 55, + "total_days": 206, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 103, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 118, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 17, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 73, + "production_days": 17, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 9, + "transit_pla_hub1": 17, + "dest_dwell_hub1": 29 + } + }, + "total_from_po": 206 + }, + { + "batch": "BATCH-676932", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-15", + "earliest_gr_date": "2025-08-17", + "earliest_production_start": "2025-09-13", + "fg_receipt_date": "2025-12-19", + "qa_release_date": "2025-12-25", + "ship_date": null, + "delivery_date": "2026-03-29", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 94, + "total_days": 226, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 73, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 35, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 51, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 59, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 9, + "transit_pla_hub1": 38, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 226 + }, + { + "batch": "BATCH-341567", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-10", + "earliest_gr_date": "2025-08-12", + "earliest_production_start": "2025-09-05", + "fg_receipt_date": "2025-12-27", + "qa_release_date": "2026-01-01", + "ship_date": null, + "delivery_date": "2026-04-04", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 93, + "total_days": 237, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 88, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 109, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 62, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 53, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 14, + "transit_pla_hub1": 23, + "dest_dwell_hub1": 56 + } + }, + "total_from_po": 237 + }, + { + "batch": "BATCH-162748", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-25", + "earliest_gr_date": "2025-08-27", + "earliest_production_start": "2025-09-24", + "fg_receipt_date": "2026-01-03", + "qa_release_date": "2026-01-09", + "ship_date": null, + "delivery_date": "2026-04-09", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 101, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 90, + "total_days": 227, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 80, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 33, + "dest_dwell_hub1": 46 + } + }, + "total_from_po": 227 + }, + { + "batch": "BATCH-322485", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-08", + "earliest_gr_date": "2025-10-10", + "earliest_production_start": "2025-10-27", + "fg_receipt_date": "2026-02-01", + "qa_release_date": "2026-02-10", + "ship_date": null, + "delivery_date": "2026-04-14", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 19, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 63, + "total_days": 188, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 76, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 38, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 48, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 36, + "dest_dwell_hub1": 16 + } + }, + "total_from_po": 188 + }, + { + "batch": "BATCH-780123", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-02", + "earliest_gr_date": "2025-09-04", + "earliest_production_start": "2025-10-02", + "fg_receipt_date": "2026-01-31", + "qa_release_date": "2026-02-08", + "ship_date": null, + "delivery_date": "2026-04-20", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 121, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 71, + "total_days": 230, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 101, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 118, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 67, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 71, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 6, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 40 + } + }, + "total_from_po": 230 + }, + { + "batch": "BATCH-219665", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-06", + "earliest_gr_date": "2025-10-08", + "earliest_production_start": "2025-10-22", + "fg_receipt_date": "2026-02-09", + "qa_release_date": "2026-02-15", + "ship_date": null, + "delivery_date": "2026-04-25", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 16, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 69, + "total_days": 201, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 88, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 37, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 52, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 4, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 40 + } + }, + "total_from_po": 201 + }, + { + "batch": "BATCH-254225", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-08", + "earliest_gr_date": "2025-09-10", + "earliest_production_start": "2025-09-30", + "fg_receipt_date": "2026-01-28", + "qa_release_date": "2026-02-03", + "ship_date": null, + "delivery_date": "2026-05-01", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 22, + "seg_prodstart_to_prodfinish": 120, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 87, + "total_days": 235, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 97, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 115, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 73, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 45 + } + }, + "total_from_po": 235 + }, + { + "batch": "BATCH-311884", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-12", + "earliest_gr_date": "2025-09-14", + "earliest_production_start": "2025-10-10", + "fg_receipt_date": "2026-01-29", + "qa_release_date": "2026-02-04", + "ship_date": null, + "delivery_date": "2026-05-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 111, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 91, + "total_days": 236, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 86, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 107, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 73, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 66, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 6, + "transit_pla_hub1": 40, + "dest_dwell_hub1": 45 + } + }, + "total_from_po": 236 + }, + { + "batch": "BATCH-534136", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-26", + "earliest_gr_date": "2025-09-28", + "earliest_production_start": "2025-11-08", + "fg_receipt_date": "2026-02-10", + "qa_release_date": "2026-02-15", + "ship_date": null, + "delivery_date": "2026-05-12", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 43, + "seg_prodstart_to_prodfinish": 94, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 86, + "total_days": 228, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 74, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 90, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 31, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 40, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 12, + "transit_pla_hub1": 30, + "dest_dwell_hub1": 44 + } + }, + "total_from_po": 228 + }, + { + "batch": "BATCH-718060", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-29", + "earliest_gr_date": "2025-10-01", + "earliest_production_start": "2025-11-09", + "fg_receipt_date": "2026-02-24", + "qa_release_date": "2026-02-28", + "ship_date": null, + "delivery_date": "2026-05-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 41, + "seg_prodstart_to_prodfinish": 107, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 78, + "total_days": 230, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 88, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 103, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 19, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 67, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 41, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 53, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 14, + "dest_dwell_hub1": 54 + } + }, + "total_from_po": 230 + }, + { + "batch": "BATCH-802602", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-12", + "earliest_gr_date": "2025-10-14", + "earliest_production_start": "2025-11-04", + "fg_receipt_date": "2026-02-09", + "qa_release_date": "2026-02-15", + "ship_date": null, + "delivery_date": "2026-05-23", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 23, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 97, + "total_days": 223, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 74, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 59, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 34, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 48, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 7, + "transit_pla_hub1": 39, + "dest_dwell_hub1": 51 + } + }, + "total_from_po": 223 + }, + { + "batch": "BATCH-136204", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-05", + "earliest_gr_date": "2025-10-07", + "earliest_production_start": "2025-11-05", + "fg_receipt_date": "2026-02-25", + "qa_release_date": "2026-03-03", + "ship_date": null, + "delivery_date": "2026-05-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 31, + "seg_prodstart_to_prodfinish": 112, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 86, + "total_days": 235, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 91, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 58, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 14, + "transit_pla_hub1": 53, + "dest_dwell_hub1": 19 + } + }, + "total_from_po": 235 + }, + { + "batch": "BATCH-949254", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-14", + "earliest_gr_date": "2025-10-16", + "earliest_production_start": "2025-11-18", + "fg_receipt_date": "2026-02-19", + "qa_release_date": "2026-02-24", + "ship_date": null, + "delivery_date": "2026-06-03", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 93, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 99, + "total_days": 232, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 67, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 88, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 74, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 89, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 31, + "dest_dwell_hub1": 55 + } + }, + "total_from_po": 232 + } + ], + "segments": { + "seg_proc_to_prodstart": { + "label": "Procurement \u2192 Production Start", + "mean": 29.3, + "median": 30, + "p25": 25, + "p75": 34, + "n": 100 + }, + "seg_prodstart_to_prodfinish": { + "label": "Production Start \u2192 Production Finish", + "mean": 100.7, + "median": 102, + "p25": 90, + "p75": 112, + "n": 100 + }, + "seg_prodfinish_to_qa": { + "label": "Production Finish \u2192 QA Release", + "mean": 6.5, + "median": 7, + "p25": 6, + "p75": 8, + "n": 100 + }, + "seg_qa_to_customer": { + "label": "QA Release \u2192 Customer", + "mean": 53.8, + "median": 40, + "p25": 31, + "p75": 81, + "n": 100 + }, + "total_days": { + "label": "Total (GR to Delivery)", + "mean": 190.3, + "median": 188, + "p25": 167, + "p75": 222, + "n": 100 + } + }, + "per_route": { + "direct": { + "label": "Direct to customer", + "segments": { + "seg_proc_to_prodstart": { + "label": "Procurement \u2192 Production Start", + "mean": 29.9, + "median": 30, + "p25": 26, + "p75": 35, + "n": 60 + }, + "seg_prodstart_to_prodfinish": { + "label": "Production Start \u2192 Production Finish", + "mean": 99.8, + "median": 101, + "p25": 90, + "p75": 110, + "n": 60 + }, + "seg_prodfinish_to_qa": { + "label": "Production Finish \u2192 QA Release", + "mean": 6.6, + "median": 7, + "p25": 6, + "p75": 8, + "n": 60 + }, + "seg_qa_to_customer": { + "label": "QA Release \u2192 Customer", + "mean": 33.2, + "median": 33, + "p25": 29, + "p75": 38, + "n": 60 + }, + "total_days": { + "label": "Total (GR to Delivery)", + "mean": 169.5, + "median": 170, + "p25": 159, + "p75": 182, + "n": 60 + } + } + }, + "hub-1": { + "label": "HUB-1", + "segments": { + "seg_proc_to_prodstart": { + "label": "Procurement \u2192 Production Start", + "mean": 28.4, + "median": 29, + "p25": 24, + "p75": 33, + "n": 40 + }, + "seg_prodstart_to_prodfinish": { + "label": "Production Start \u2192 Production Finish", + "mean": 102.1, + "median": 104, + "p25": 96, + "p75": 113, + "n": 40 + }, + "seg_prodfinish_to_qa": { + "label": "Production Finish \u2192 QA Release", + "mean": 6.2, + "median": 6, + "p25": 5, + "p75": 8, + "n": 40 + }, + "seg_qa_to_customer": { + "label": "QA Release \u2192 Customer", + "mean": 84.8, + "median": 88, + "p25": 76, + "p75": 96, + "n": 40 + }, + "total_days": { + "label": "Total (GR to Delivery)", + "mean": 221.6, + "median": 223, + "p25": 215, + "p75": 232, + "n": 40 + } + } + } + }, + "coverage": { + "traced": 100, + "total": 100 + } + }, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/dest_dwell_hub1.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/dest_dwell_hub1.json new file mode 100644 index 00000000000..a462af363e4 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/dest_dwell_hub1.json @@ -0,0 +1,431 @@ +{ + "id": "dest_dwell_hub1", + "label": "Destination Dwell (HUB-1)", + "type": "destination_dwell", + "durations": [ + 42, 65, 28, 95, 35, 10, 78, 55, 42, 32, 39, 42, 46, 49, 53, 57, 48, 52, 34, + 48, 30, 34, 36, 41, 43, 36, 39, 42, 46, 49, 53, 45, 48, 52, 44, 48, 30 + ], + "observations": [ + { + "date": "2022-09-15", + "value": 42 + }, + { + "date": "2023-05-05", + "value": 65 + }, + { + "date": "2023-05-20", + "value": 28 + }, + { + "date": "2024-01-10", + "value": 95 + }, + { + "date": "2024-01-25", + "value": 35 + }, + { + "date": "2024-08-15", + "value": 10 + }, + { + "date": "2025-02-05", + "value": 78 + }, + { + "date": "2025-02-18", + "value": 55 + }, + { + "date": "2025-08-10", + "value": 42 + }, + { + "date": "2025-08-20", + "value": 32 + }, + { + "date": "2025-09-06", + "value": 39 + }, + { + "date": "2025-09-12", + "value": 42 + }, + { + "date": "2025-09-18", + "value": 46 + }, + { + "date": "2025-10-04", + "value": 49 + }, + { + "date": "2025-10-10", + "value": 53 + }, + { + "date": "2025-10-16", + "value": 57 + }, + { + "date": "2025-11-05", + "value": 48 + }, + { + "date": "2025-11-11", + "value": 52 + }, + { + "date": "2025-11-17", + "value": 34 + }, + { + "date": "2025-12-06", + "value": 48 + }, + { + "date": "2025-12-12", + "value": 30 + }, + { + "date": "2025-12-18", + "value": 34 + }, + { + "date": "2026-01-04", + "value": 36 + }, + { + "date": "2026-01-10", + "value": 41 + }, + { + "date": "2026-01-16", + "value": 43 + }, + { + "date": "2026-02-05", + "value": 36 + }, + { + "date": "2026-02-11", + "value": 39 + }, + { + "date": "2026-02-17", + "value": 42 + }, + { + "date": "2026-03-06", + "value": 46 + }, + { + "date": "2026-03-12", + "value": 49 + }, + { + "date": "2026-03-18", + "value": 53 + }, + { + "date": "2026-04-04", + "value": 45 + }, + { + "date": "2026-04-10", + "value": 48 + }, + { + "date": "2026-04-16", + "value": 52 + }, + { + "date": "2026-05-05", + "value": 44 + }, + { + "date": "2026-05-11", + "value": 48 + }, + { + "date": "2026-05-17", + "value": 30 + } + ], + "monthly": [ + { + "month": "2022-09", + "mean": 42.0, + "median": 42.0, + "p10": 42.0, + "p25": 42.0, + "p75": 42.0, + "p90": 42.0, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "mean": 46.5, + "median": 46.5, + "p10": 31.7, + "p25": 37.3, + "p75": 55.8, + "p90": 61.3, + "n": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "mean": 65.0, + "median": 65.0, + "p10": 41.0, + "p25": 50.0, + "p75": 80.0, + "p90": 89.0, + "n": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "mean": 10.0, + "median": 10.0, + "p10": 10.0, + "p25": 10.0, + "p75": 10.0, + "p90": 10.0, + "n": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "mean": 66.5, + "median": 66.5, + "p10": 57.3, + "p25": 60.8, + "p75": 72.3, + "p90": 75.7, + "n": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "mean": 37.0, + "median": 37.0, + "p10": 33.0, + "p25": 34.5, + "p75": 39.5, + "p90": 41.0, + "n": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "mean": 42.3, + "median": 42.0, + "p10": 39.6, + "p25": 40.5, + "p75": 44.0, + "p90": 45.2, + "n": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "mean": 53.0, + "median": 53.0, + "p10": 49.8, + "p25": 51.0, + "p75": 55.0, + "p90": 56.2, + "n": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "mean": 44.7, + "median": 48.0, + "p10": 36.8, + "p25": 41.0, + "p75": 50.0, + "p90": 51.2, + "n": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "mean": 37.3, + "median": 34.0, + "p10": 30.8, + "p25": 32.0, + "p75": 41.0, + "p90": 45.2, + "n": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "mean": 40.0, + "median": 41.0, + "p10": 37.0, + "p25": 38.5, + "p75": 42.0, + "p90": 42.6, + "n": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "mean": 39.0, + "median": 39.0, + "p10": 36.6, + "p25": 37.5, + "p75": 40.5, + "p90": 41.4, + "n": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "mean": 49.3, + "median": 49.0, + "p10": 46.6, + "p25": 47.5, + "p75": 51.0, + "p90": 52.2, + "n": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "mean": 48.3, + "median": 48.0, + "p10": 45.6, + "p25": 46.5, + "p75": 50.0, + "p90": 51.2, + "n": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "mean": 40.7, + "median": 44.0, + "p10": 32.8, + "p25": 37.0, + "p75": 46.0, + "p90": 47.2, + "n": 3, + "total_kg_days": 585600.0 + } + ], + "stats": { + "n": 37, + "mean": 45.0, + "median": 44.0, + "std": 14.0, + "min": 10, + "max": 95, + "p25": 36.0, + "p75": 49.0, + "p85": 53.0, + "p95": 67.6 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "annotations": [], + "cost": { + "unit_price": 28.5, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2022-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "n_events": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "n_events": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "n_events": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "n_events": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "n_events": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "n_events": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "n_events": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "n_events": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "n_events": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "n_events": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "n_events": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "n_events": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "n_events": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "n_events": 3, + "total_kg_days": 585600.0 + } + ] + }, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": 10, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/intermed_dwell_green_blend.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/intermed_dwell_green_blend.json new file mode 100644 index 00000000000..13a276de7e2 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/intermed_dwell_green_blend.json @@ -0,0 +1,593 @@ +{ + "id": "intermed_dwell_green_blend", + "label": "Intermediate Dwell: Green Blend", + "type": "intermediate_dwell", + "durations": [ + 12, 25, 8, 35, 15, 5, 22, 18, 40, 10, 55, 2, 28, 15, 8, 20, 45, 12, 3, 18, + 30, 8, 22, 35, 5, 15, 42, 10, 14, 16, 17, 18, 19, 14, 15, 16, 18, 11, 18, + 19, 20, 14, 15, 17, 19, 12, 14, 15, 17, 11, 12, 13, 14, 13, 14, 16, 17, 18, + 13, 14, 15, 16, 18, 16, 18, 19, 20, 14, 16, 17, 19, 12, 14 + ], + "observations": [ + { + "date": "2022-05-05", + "value": 12 + }, + { + "date": "2022-05-15", + "value": 25 + }, + { + "date": "2022-05-22", + "value": 8 + }, + { + "date": "2022-11-03", + "value": 35 + }, + { + "date": "2022-11-10", + "value": 15 + }, + { + "date": "2022-11-18", + "value": 5 + }, + { + "date": "2022-11-25", + "value": 22 + }, + { + "date": "2023-05-08", + "value": 18 + }, + { + "date": "2023-05-15", + "value": 40 + }, + { + "date": "2023-05-22", + "value": 10 + }, + { + "date": "2023-11-06", + "value": 55 + }, + { + "date": "2023-11-13", + "value": 2 + }, + { + "date": "2023-11-20", + "value": 28 + }, + { + "date": "2023-11-27", + "value": 15 + }, + { + "date": "2023-11-30", + "value": 8 + }, + { + "date": "2024-05-06", + "value": 20 + }, + { + "date": "2024-05-13", + "value": 45 + }, + { + "date": "2024-05-20", + "value": 12 + }, + { + "date": "2024-05-27", + "value": 3 + }, + { + "date": "2024-11-04", + "value": 18 + }, + { + "date": "2024-11-11", + "value": 30 + }, + { + "date": "2024-11-18", + "value": 8 + }, + { + "date": "2025-05-05", + "value": 22 + }, + { + "date": "2025-05-09", + "value": 35 + }, + { + "date": "2025-05-13", + "value": 5 + }, + { + "date": "2025-05-17", + "value": 15 + }, + { + "date": "2025-05-21", + "value": 42 + }, + { + "date": "2025-05-25", + "value": 10 + }, + { + "date": "2025-09-05", + "value": 14 + }, + { + "date": "2025-09-11", + "value": 16 + }, + { + "date": "2025-09-17", + "value": 17 + }, + { + "date": "2025-09-23", + "value": 18 + }, + { + "date": "2025-09-29", + "value": 19 + }, + { + "date": "2025-10-06", + "value": 14 + }, + { + "date": "2025-10-12", + "value": 15 + }, + { + "date": "2025-10-18", + "value": 16 + }, + { + "date": "2025-10-24", + "value": 18 + }, + { + "date": "2025-10-30", + "value": 11 + }, + { + "date": "2025-11-04", + "value": 18 + }, + { + "date": "2025-11-10", + "value": 19 + }, + { + "date": "2025-11-16", + "value": 20 + }, + { + "date": "2025-11-22", + "value": 14 + }, + { + "date": "2025-11-28", + "value": 15 + }, + { + "date": "2025-12-05", + "value": 17 + }, + { + "date": "2025-12-11", + "value": 19 + }, + { + "date": "2025-12-17", + "value": 12 + }, + { + "date": "2025-12-23", + "value": 14 + }, + { + "date": "2025-12-29", + "value": 15 + }, + { + "date": "2026-01-06", + "value": 17 + }, + { + "date": "2026-01-12", + "value": 11 + }, + { + "date": "2026-01-18", + "value": 12 + }, + { + "date": "2026-01-24", + "value": 13 + }, + { + "date": "2026-01-30", + "value": 14 + }, + { + "date": "2026-02-04", + "value": 13 + }, + { + "date": "2026-02-10", + "value": 14 + }, + { + "date": "2026-02-16", + "value": 16 + }, + { + "date": "2026-02-22", + "value": 17 + }, + { + "date": "2026-02-28", + "value": 18 + }, + { + "date": "2026-03-05", + "value": 13 + }, + { + "date": "2026-03-11", + "value": 14 + }, + { + "date": "2026-03-17", + "value": 15 + }, + { + "date": "2026-03-23", + "value": 16 + }, + { + "date": "2026-03-29", + "value": 18 + }, + { + "date": "2026-04-06", + "value": 16 + }, + { + "date": "2026-04-12", + "value": 18 + }, + { + "date": "2026-04-18", + "value": 19 + }, + { + "date": "2026-04-24", + "value": 20 + }, + { + "date": "2026-04-30", + "value": 14 + }, + { + "date": "2026-05-04", + "value": 16 + }, + { + "date": "2026-05-10", + "value": 17 + }, + { + "date": "2026-05-16", + "value": 19 + }, + { + "date": "2026-05-22", + "value": 12 + }, + { + "date": "2026-05-28", + "value": 14 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 15.0, + "median": 12.0, + "p10": 8.8, + "p25": 10.0, + "p75": 18.5, + "p90": 22.4, + "n": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "mean": 19.3, + "median": 18.5, + "p10": 8.0, + "p25": 12.5, + "p75": 25.3, + "p90": 31.1, + "n": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "mean": 22.7, + "median": 18.0, + "p10": 11.6, + "p25": 14.0, + "p75": 29.0, + "p90": 35.6, + "n": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "mean": 21.6, + "median": 15.0, + "p10": 4.4, + "p25": 8.0, + "p75": 28.0, + "p90": 44.2, + "n": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "mean": 20.0, + "median": 16.0, + "p10": 5.7, + "p25": 9.8, + "p75": 26.3, + "p90": 37.5, + "n": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "mean": 18.7, + "median": 18.0, + "p10": 10.0, + "p25": 13.0, + "p75": 24.0, + "p90": 27.6, + "n": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "mean": 21.5, + "median": 18.5, + "p10": 7.5, + "p25": 11.3, + "p75": 31.8, + "p90": 38.5, + "n": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "mean": 16.8, + "median": 17.0, + "p10": 14.8, + "p25": 16.0, + "p75": 18.0, + "p90": 18.6, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "mean": 14.8, + "median": 15.0, + "p10": 12.2, + "p25": 14.0, + "p75": 16.0, + "p90": 17.2, + "n": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "mean": 17.2, + "median": 18.0, + "p10": 14.4, + "p25": 15.0, + "p75": 19.0, + "p90": 19.6, + "n": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "mean": 15.4, + "median": 15.0, + "p10": 12.8, + "p25": 14.0, + "p75": 17.0, + "p90": 18.2, + "n": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "mean": 13.4, + "median": 13.0, + "p10": 11.4, + "p25": 12.0, + "p75": 14.0, + "p90": 15.8, + "n": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "mean": 15.6, + "median": 16.0, + "p10": 13.4, + "p25": 14.0, + "p75": 17.0, + "p90": 17.6, + "n": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "mean": 15.2, + "median": 15.0, + "p10": 13.4, + "p25": 14.0, + "p75": 16.0, + "p90": 17.2, + "n": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "mean": 17.4, + "median": 18.0, + "p10": 14.8, + "p25": 16.0, + "p75": 19.0, + "p90": 19.6, + "n": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "mean": 15.6, + "median": 16.0, + "p10": 12.8, + "p25": 14.0, + "p75": 17.0, + "p90": 18.2, + "n": 5, + "total_kg_days": 249600.0 + } + ], + "stats": { + "n": 73, + "mean": 17.4, + "median": 16.0, + "std": 9.0, + "min": 2, + "max": 55, + "p25": 13.0, + "p75": 19.0, + "p85": 20.4, + "p95": 37.0 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 87.7, + "annotations": [], + "cost": { + "unit_price": 12.5, + "currency": "CHF", + "mean_qty": 3200.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "n_events": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "n_events": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "n_events": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "n_events": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "n_events": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "n_events": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 249600.0 + } + ] + }, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": 28, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/post_qa_ship_pla.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/post_qa_ship_pla.json new file mode 100644 index 00000000000..f77088ef6ee --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/post_qa_ship_pla.json @@ -0,0 +1,512 @@ +{ + "id": "post_qa_ship_pla", + "label": "Post-QA Dwell (PL-A)", + "type": "post_qa_ship", + "durations": [ + 8, 22, 42, 6, 18, 28, 12, 2, 15, 5, 20, 4, 14, 15, 10, 11, 12, 14, 8, 10, + 11, 11, 10, 12, 12, 13, 14, 10, 11, 12, 13, 14, 13, 14, 15, 16, 11, 13, 14, + 15, 10, 11, 13, 14, 8, 10, 11, 16, 10, 12, 12, 13, 9, 10, 11, 12, 13 + ], + "observations": [ + { + "date": "2023-03-10", + "value": 8 + }, + { + "date": "2023-03-25", + "value": 22 + }, + { + "date": "2023-09-20", + "value": 42 + }, + { + "date": "2024-03-15", + "value": 6 + }, + { + "date": "2024-03-28", + "value": 18 + }, + { + "date": "2024-09-05", + "value": 28 + }, + { + "date": "2024-09-15", + "value": 12 + }, + { + "date": "2024-09-25", + "value": 2 + }, + { + "date": "2025-03-10", + "value": 15 + }, + { + "date": "2025-03-22", + "value": 5 + }, + { + "date": "2025-07-08", + "value": 20 + }, + { + "date": "2025-07-22", + "value": 4 + }, + { + "date": "2025-09-05", + "value": 14 + }, + { + "date": "2025-09-11", + "value": 15 + }, + { + "date": "2025-09-17", + "value": 10 + }, + { + "date": "2025-09-23", + "value": 11 + }, + { + "date": "2025-09-29", + "value": 12 + }, + { + "date": "2025-10-06", + "value": 14 + }, + { + "date": "2025-10-12", + "value": 8 + }, + { + "date": "2025-10-18", + "value": 10 + }, + { + "date": "2025-10-24", + "value": 11 + }, + { + "date": "2025-10-30", + "value": 11 + }, + { + "date": "2025-11-04", + "value": 10 + }, + { + "date": "2025-11-10", + "value": 12 + }, + { + "date": "2025-11-16", + "value": 12 + }, + { + "date": "2025-11-22", + "value": 13 + }, + { + "date": "2025-11-28", + "value": 14 + }, + { + "date": "2025-12-05", + "value": 10 + }, + { + "date": "2025-12-11", + "value": 11 + }, + { + "date": "2025-12-17", + "value": 12 + }, + { + "date": "2025-12-23", + "value": 13 + }, + { + "date": "2025-12-29", + "value": 14 + }, + { + "date": "2026-01-06", + "value": 13 + }, + { + "date": "2026-01-12", + "value": 14 + }, + { + "date": "2026-01-18", + "value": 15 + }, + { + "date": "2026-01-24", + "value": 16 + }, + { + "date": "2026-01-30", + "value": 11 + }, + { + "date": "2026-02-04", + "value": 13 + }, + { + "date": "2026-02-10", + "value": 14 + }, + { + "date": "2026-02-16", + "value": 15 + }, + { + "date": "2026-02-22", + "value": 10 + }, + { + "date": "2026-02-28", + "value": 11 + }, + { + "date": "2026-03-05", + "value": 13 + }, + { + "date": "2026-03-11", + "value": 14 + }, + { + "date": "2026-03-17", + "value": 8 + }, + { + "date": "2026-03-23", + "value": 10 + }, + { + "date": "2026-03-29", + "value": 11 + }, + { + "date": "2026-04-06", + "value": 16 + }, + { + "date": "2026-04-12", + "value": 10 + }, + { + "date": "2026-04-18", + "value": 12 + }, + { + "date": "2026-04-24", + "value": 12 + }, + { + "date": "2026-04-30", + "value": 13 + }, + { + "date": "2026-05-04", + "value": 9 + }, + { + "date": "2026-05-10", + "value": 10 + }, + { + "date": "2026-05-16", + "value": 11 + }, + { + "date": "2026-05-22", + "value": 12 + }, + { + "date": "2026-05-28", + "value": 13 + } + ], + "monthly": [ + { + "month": "2023-03", + "mean": 15.0, + "median": 15.0, + "p10": 9.4, + "p25": 11.5, + "p75": 18.5, + "p90": 20.6, + "n": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "mean": 42.0, + "median": 42.0, + "p10": 42.0, + "p25": 42.0, + "p75": 42.0, + "p90": 42.0, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "mean": 12.0, + "median": 12.0, + "p10": 7.2, + "p25": 9.0, + "p75": 15.0, + "p90": 16.8, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "mean": 14.0, + "median": 12.0, + "p10": 4.0, + "p25": 7.0, + "p75": 20.0, + "p90": 24.8, + "n": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "mean": 10.0, + "median": 10.0, + "p10": 6.0, + "p25": 7.5, + "p75": 12.5, + "p90": 14.0, + "n": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "mean": 12.0, + "median": 12.0, + "p10": 5.6, + "p25": 8.0, + "p75": 16.0, + "p90": 18.4, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "mean": 12.4, + "median": 12.0, + "p10": 10.4, + "p25": 11.0, + "p75": 14.0, + "p90": 14.6, + "n": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "mean": 10.8, + "median": 11.0, + "p10": 8.8, + "p25": 10.0, + "p75": 11.0, + "p90": 12.8, + "n": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "mean": 12.2, + "median": 12.0, + "p10": 10.8, + "p25": 12.0, + "p75": 13.0, + "p90": 13.6, + "n": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "mean": 12.0, + "median": 12.0, + "p10": 10.4, + "p25": 11.0, + "p75": 13.0, + "p90": 13.6, + "n": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "mean": 13.8, + "median": 14.0, + "p10": 11.8, + "p25": 13.0, + "p75": 15.0, + "p90": 15.6, + "n": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "mean": 12.6, + "median": 13.0, + "p10": 10.4, + "p25": 11.0, + "p75": 14.0, + "p90": 14.6, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "mean": 11.2, + "median": 11.0, + "p10": 8.8, + "p25": 10.0, + "p75": 13.0, + "p90": 13.6, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "mean": 12.6, + "median": 12.0, + "p10": 10.8, + "p25": 12.0, + "p75": 13.0, + "p90": 14.8, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "mean": 11.0, + "median": 11.0, + "p10": 9.4, + "p25": 10.0, + "p75": 12.0, + "p90": 12.6, + "n": 5, + "total_kg_days": 264000.0 + } + ], + "stats": { + "n": 57, + "mean": 12.7, + "median": 12.0, + "std": 5.6, + "min": 2, + "max": 42, + "p25": 10.0, + "p75": 14.0, + "p85": 15.0, + "p95": 20.4 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "annotations": [], + "cost": { + "unit_price": 28.5, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2023-03", + "n_events": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "n_events": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "n_events": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 264000.0 + } + ] + }, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": 12, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/procurement_highland_arabica.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/procurement_highland_arabica.json new file mode 100644 index 00000000000..015f7c06cb1 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/procurement_highland_arabica.json @@ -0,0 +1,3303 @@ +{ + "id": "procurement_highland_arabica", + "label": "Procurement: Highland Arabica", + "type": "procurement", + "durations": [ + 55, 42, 8, 63, 38, 22, 71, 30, 45, 18, 105, 35, 12, 48, 39, 41, 44, 48, 51, + 37, 40, 44, 47, 31, 36, 40, 43, 27, 31, 46, 49, 33, 37, 39, 45, 29, 33, 35, + 38, 35, 39, 41, 44, 48, 35, 37, 40, 44, 47, 33, 36, 40, 43, 27, 42, 46, 49, + 33, 37 + ], + "observations": [ + { + "date": "2022-03-15", + "value": 55 + }, + { + "date": "2022-06-10", + "value": 42 + }, + { + "date": "2022-09-22", + "value": 8 + }, + { + "date": "2022-12-05", + "value": 63 + }, + { + "date": "2023-02-14", + "value": 38 + }, + { + "date": "2023-05-30", + "value": 22 + }, + { + "date": "2023-08-17", + "value": 71 + }, + { + "date": "2023-11-02", + "value": 30 + }, + { + "date": "2024-01-25", + "value": 45 + }, + { + "date": "2024-04-11", + "value": 18 + }, + { + "date": "2024-07-09", + "value": 105 + }, + { + "date": "2024-10-03", + "value": 35 + }, + { + "date": "2025-01-20", + "value": 12 + }, + { + "date": "2025-04-08", + "value": 48 + }, + { + "date": "2025-09-05", + "value": 39 + }, + { + "date": "2025-09-11", + "value": 41 + }, + { + "date": "2025-09-17", + "value": 44 + }, + { + "date": "2025-09-23", + "value": 48 + }, + { + "date": "2025-09-29", + "value": 51 + }, + { + "date": "2025-10-06", + "value": 37 + }, + { + "date": "2025-10-12", + "value": 40 + }, + { + "date": "2025-10-18", + "value": 44 + }, + { + "date": "2025-10-24", + "value": 47 + }, + { + "date": "2025-10-30", + "value": 31 + }, + { + "date": "2025-11-04", + "value": 36 + }, + { + "date": "2025-11-10", + "value": 40 + }, + { + "date": "2025-11-16", + "value": 43 + }, + { + "date": "2025-11-22", + "value": 27 + }, + { + "date": "2025-11-28", + "value": 31 + }, + { + "date": "2025-12-05", + "value": 46 + }, + { + "date": "2025-12-11", + "value": 49 + }, + { + "date": "2025-12-17", + "value": 33 + }, + { + "date": "2025-12-23", + "value": 37 + }, + { + "date": "2025-12-29", + "value": 39 + }, + { + "date": "2026-01-06", + "value": 45 + }, + { + "date": "2026-01-12", + "value": 29 + }, + { + "date": "2026-01-18", + "value": 33 + }, + { + "date": "2026-01-24", + "value": 35 + }, + { + "date": "2026-01-30", + "value": 38 + }, + { + "date": "2026-02-04", + "value": 35 + }, + { + "date": "2026-02-10", + "value": 39 + }, + { + "date": "2026-02-16", + "value": 41 + }, + { + "date": "2026-02-22", + "value": 44 + }, + { + "date": "2026-02-28", + "value": 48 + }, + { + "date": "2026-03-05", + "value": 35 + }, + { + "date": "2026-03-11", + "value": 37 + }, + { + "date": "2026-03-17", + "value": 40 + }, + { + "date": "2026-03-23", + "value": 44 + }, + { + "date": "2026-03-29", + "value": 47 + }, + { + "date": "2026-04-06", + "value": 33 + }, + { + "date": "2026-04-12", + "value": 36 + }, + { + "date": "2026-04-18", + "value": 40 + }, + { + "date": "2026-04-24", + "value": 43 + }, + { + "date": "2026-04-30", + "value": 27 + }, + { + "date": "2026-05-04", + "value": 42 + }, + { + "date": "2026-05-10", + "value": 46 + }, + { + "date": "2026-05-16", + "value": 49 + }, + { + "date": "2026-05-22", + "value": 33 + }, + { + "date": "2026-05-28", + "value": 37 + } + ], + "monthly": [ + { + "month": "2022-03", + "mean": 55.0, + "median": 55.0, + "p10": 55.0, + "p25": 55.0, + "p75": 55.0, + "p90": 55.0, + "n": 1 + }, + { + "month": "2022-06", + "mean": 42.0, + "median": 42.0, + "p10": 42.0, + "p25": 42.0, + "p75": 42.0, + "p90": 42.0, + "n": 1 + }, + { + "month": "2022-09", + "mean": 8.0, + "median": 8.0, + "p10": 8.0, + "p25": 8.0, + "p75": 8.0, + "p90": 8.0, + "n": 1 + }, + { + "month": "2022-12", + "mean": 63.0, + "median": 63.0, + "p10": 63.0, + "p25": 63.0, + "p75": 63.0, + "p90": 63.0, + "n": 1 + }, + { + "month": "2023-02", + "mean": 38.0, + "median": 38.0, + "p10": 38.0, + "p25": 38.0, + "p75": 38.0, + "p90": 38.0, + "n": 1 + }, + { + "month": "2023-05", + "mean": 22.0, + "median": 22.0, + "p10": 22.0, + "p25": 22.0, + "p75": 22.0, + "p90": 22.0, + "n": 1 + }, + { + "month": "2023-08", + "mean": 71.0, + "median": 71.0, + "p10": 71.0, + "p25": 71.0, + "p75": 71.0, + "p90": 71.0, + "n": 1 + }, + { + "month": "2023-11", + "mean": 30.0, + "median": 30.0, + "p10": 30.0, + "p25": 30.0, + "p75": 30.0, + "p90": 30.0, + "n": 1 + }, + { + "month": "2024-01", + "mean": 45.0, + "median": 45.0, + "p10": 45.0, + "p25": 45.0, + "p75": 45.0, + "p90": 45.0, + "n": 1 + }, + { + "month": "2024-04", + "mean": 18.0, + "median": 18.0, + "p10": 18.0, + "p25": 18.0, + "p75": 18.0, + "p90": 18.0, + "n": 1 + }, + { + "month": "2024-07", + "mean": 105.0, + "median": 105.0, + "p10": 105.0, + "p25": 105.0, + "p75": 105.0, + "p90": 105.0, + "n": 1 + }, + { + "month": "2024-10", + "mean": 35.0, + "median": 35.0, + "p10": 35.0, + "p25": 35.0, + "p75": 35.0, + "p90": 35.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 12.0, + "median": 12.0, + "p10": 12.0, + "p25": 12.0, + "p75": 12.0, + "p90": 12.0, + "n": 1 + }, + { + "month": "2025-04", + "mean": 48.0, + "median": 48.0, + "p10": 48.0, + "p25": 48.0, + "p75": 48.0, + "p90": 48.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 44.6, + "median": 44.0, + "p10": 39.8, + "p25": 41.0, + "p75": 48.0, + "p90": 49.8, + "n": 5 + }, + { + "month": "2025-10", + "mean": 39.8, + "median": 40.0, + "p10": 33.4, + "p25": 37.0, + "p75": 44.0, + "p90": 45.8, + "n": 5 + }, + { + "month": "2025-11", + "mean": 35.4, + "median": 36.0, + "p10": 28.6, + "p25": 31.0, + "p75": 40.0, + "p90": 41.8, + "n": 5 + }, + { + "month": "2025-12", + "mean": 40.8, + "median": 39.0, + "p10": 34.6, + "p25": 37.0, + "p75": 46.0, + "p90": 47.8, + "n": 5 + }, + { + "month": "2026-01", + "mean": 36.0, + "median": 35.0, + "p10": 30.6, + "p25": 33.0, + "p75": 38.0, + "p90": 42.2, + "n": 5 + }, + { + "month": "2026-02", + "mean": 41.4, + "median": 41.0, + "p10": 36.6, + "p25": 39.0, + "p75": 44.0, + "p90": 46.4, + "n": 5 + }, + { + "month": "2026-03", + "mean": 40.6, + "median": 40.0, + "p10": 35.8, + "p25": 37.0, + "p75": 44.0, + "p90": 45.8, + "n": 5 + }, + { + "month": "2026-04", + "mean": 35.8, + "median": 36.0, + "p10": 29.4, + "p25": 33.0, + "p75": 40.0, + "p90": 41.8, + "n": 5 + }, + { + "month": "2026-05", + "mean": 41.4, + "median": 42.0, + "p10": 34.6, + "p25": 37.0, + "p75": 46.0, + "p90": 47.8, + "n": 5 + } + ], + "stats": { + "n": 59, + "mean": 40.2, + "median": 40.0, + "std": 13.3, + "min": 8, + "max": 105, + "p25": 35.0, + "p75": 45.0, + "p85": 48.0, + "p95": 55.8 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 98.3, + "annotations": [ + { + "date": "2023-09-01", + "label": "Supplier change for Highland Arabica" + } + ], + "cost": null, + "detail_rows": { + "columns": [ + { + "key": "matnr", + "sap_field": "MATNR", + "sap_table": "EKPO", + "label": "Material", + "unit": null + }, + { + "key": "po_number", + "sap_field": "EBELN", + "sap_table": "EKKO", + "label": "PO Number", + "unit": null + }, + { + "key": "po_item", + "sap_field": "EBELP", + "sap_table": "EKPO", + "label": "PO Item", + "unit": null + }, + { + "key": "vendor_id", + "sap_field": "LIFNR", + "sap_table": "EKKO", + "label": "Vendor (LIFNR)", + "unit": null + }, + { + "key": "vendor_name", + "sap_field": "NAME1", + "sap_table": "LFA1", + "label": "Vendor Name", + "unit": null + }, + { + "key": "po_date", + "sap_field": "BEDAT", + "sap_table": "EKKO", + "label": "PO Date", + "unit": null + }, + { + "key": "promised_date", + "sap_field": "EINDT", + "sap_table": "EKET", + "label": "Promised Date", + "unit": null + }, + { + "key": "sched_qty", + "sap_field": "MENGE", + "sap_table": "EKET", + "label": "Scheduled Qty", + "unit": null + }, + { + "key": "gr_qty_to_date", + "sap_field": "WEMNG", + "sap_table": "EKET", + "label": "GR Qty (to date)", + "unit": null + }, + { + "key": "gr_mblnr", + "sap_field": "MBLNR", + "sap_table": "MSEG", + "label": "Goods Receipt Document", + "unit": null + }, + { + "key": "first_gr_date", + "sap_field": "BUDAT", + "sap_table": "MKPF", + "label": "Goods Receipt Date", + "unit": null + }, + { + "key": "days_vs_promised", + "sap_field": null, + "sap_table": null, + "label": "Days vs Promised", + "unit": "d" + }, + { + "key": "lead_time_days", + "sap_field": null, + "sap_table": null, + "label": "Lead Time (days)", + "unit": "d" + } + ], + "rows": [ + { + "matnr": "demo_highland_arabica", + "po_number": "4500000003", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-14", + "promised_date": "2025-06-05", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000003", + "first_gr_date": "2025-06-03", + "days_vs_promised": -2, + "lead_time_days": 20 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000000", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-04-23", + "promised_date": "2025-06-08", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000000", + "first_gr_date": "2025-06-06", + "days_vs_promised": -2, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000005", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-27", + "promised_date": "2025-06-16", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000005", + "first_gr_date": "2025-06-13", + "days_vs_promised": -3, + "lead_time_days": 17 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000001", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-01", + "promised_date": "2025-06-17", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000001", + "first_gr_date": "2025-06-15", + "days_vs_promised": -2, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000002", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-06", + "promised_date": "2025-06-20", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000002", + "first_gr_date": "2025-06-20", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000004", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-22", + "promised_date": "2025-06-24", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000004", + "first_gr_date": "2025-06-21", + "days_vs_promised": -3, + "lead_time_days": 30 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000006", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-02", + "promised_date": "2025-07-10", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000006", + "first_gr_date": "2025-07-09", + "days_vs_promised": -1, + "lead_time_days": 37 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000007", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-11", + "promised_date": "2025-07-06", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000007", + "first_gr_date": "2025-07-10", + "days_vs_promised": 4, + "lead_time_days": 29 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000009", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-25", + "promised_date": "2025-07-23", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000009", + "first_gr_date": "2025-07-21", + "days_vs_promised": -2, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000010", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-30", + "promised_date": "2025-07-26", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000010", + "first_gr_date": "2025-07-26", + "days_vs_promised": 0, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000008", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-19", + "promised_date": "2025-08-07", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000008", + "first_gr_date": "2025-08-07", + "days_vs_promised": 0, + "lead_time_days": 49 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000012", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-07-15", + "promised_date": "2025-08-07", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000012", + "first_gr_date": "2025-08-07", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000013", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-07-23", + "promised_date": "2025-08-20", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000013", + "first_gr_date": "2025-08-20", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000014", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-07-28", + "promised_date": "2025-08-23", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000014", + "first_gr_date": "2025-08-23", + "days_vs_promised": 0, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000011", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-07-07", + "promised_date": "2025-08-19", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000011", + "first_gr_date": "2025-08-25", + "days_vs_promised": 6, + "lead_time_days": 49 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000015", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-08-04", + "promised_date": "2025-08-27", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000015", + "first_gr_date": "2025-08-27", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000016", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-08-13", + "promised_date": "2025-09-25", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000016", + "first_gr_date": "2025-09-25", + "days_vs_promised": 0, + "lead_time_days": 43 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000019", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-09-04", + "promised_date": "2025-09-28", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000019", + "first_gr_date": "2025-09-27", + "days_vs_promised": -1, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000020", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-09-09", + "promised_date": "2025-10-03", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000020", + "first_gr_date": "2025-10-03", + "days_vs_promised": 0, + "lead_time_days": 24 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000017", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-08-21", + "promised_date": "2025-10-05", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000017", + "first_gr_date": "2025-10-05", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000018", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-08-26", + "promised_date": "2025-10-12", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000018", + "first_gr_date": "2025-10-10", + "days_vs_promised": -2, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000022", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-09-23", + "promised_date": "2025-10-17", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000022", + "first_gr_date": "2025-10-16", + "days_vs_promised": -1, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000021", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-09-17", + "promised_date": "2025-10-22", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000021", + "first_gr_date": "2025-10-19", + "days_vs_promised": -3, + "lead_time_days": 32 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000023", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-01", + "promised_date": "2025-10-29", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000023", + "first_gr_date": "2025-10-31", + "days_vs_promised": 2, + "lead_time_days": 30 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000024", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-08", + "promised_date": "2025-11-01", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000024", + "first_gr_date": "2025-11-01", + "days_vs_promised": 0, + "lead_time_days": 24 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000025", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-14", + "promised_date": "2025-11-19", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000025", + "first_gr_date": "2025-11-17", + "days_vs_promised": -2, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000027", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-29", + "promised_date": "2025-12-01", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000027", + "first_gr_date": "2025-11-29", + "days_vs_promised": -2, + "lead_time_days": 31 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000028", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-11-04", + "promised_date": "2025-12-03", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000028", + "first_gr_date": "2025-12-03", + "days_vs_promised": 0, + "lead_time_days": 29 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000026", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-21", + "promised_date": "2025-12-04", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000026", + "first_gr_date": "2025-12-04", + "days_vs_promised": 0, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000029", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-11-10", + "promised_date": "2025-12-19", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000029", + "first_gr_date": "2025-12-19", + "days_vs_promised": 0, + "lead_time_days": 39 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000030", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-11-20", + "promised_date": "2025-12-23", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000030", + "first_gr_date": "2025-12-24", + "days_vs_promised": 1, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000034", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000034", + "first_gr_date": "2026-01-11", + "days_vs_promised": -2, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000031", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-11-27", + "promised_date": "2026-01-13", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000031", + "first_gr_date": "2026-01-13", + "days_vs_promised": 0, + "lead_time_days": 47 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000033", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-10", + "promised_date": "2026-01-15", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000033", + "first_gr_date": "2026-01-13", + "days_vs_promised": -2, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000035", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-24", + "promised_date": "2026-01-13", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000035", + "first_gr_date": "2026-01-13", + "days_vs_promised": 0, + "lead_time_days": 20 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000032", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-04", + "promised_date": "2026-01-17", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000032", + "first_gr_date": "2026-01-17", + "days_vs_promised": 0, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000036", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-31", + "promised_date": "2026-02-01", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000036", + "first_gr_date": "2026-01-31", + "days_vs_promised": -1, + "lead_time_days": 31 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000037", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-01-08", + "promised_date": "2026-02-10", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000037", + "first_gr_date": "2026-02-08", + "days_vs_promised": -2, + "lead_time_days": 31 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000038", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-01-13", + "promised_date": "2026-02-13", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000038", + "first_gr_date": "2026-02-11", + "days_vs_promised": -2, + "lead_time_days": 29 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000040", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-01-29", + "promised_date": "2026-02-25", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000040", + "first_gr_date": "2026-02-25", + "days_vs_promised": 0, + "lead_time_days": 27 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000039", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-01-20", + "promised_date": "2026-03-01", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000039", + "first_gr_date": "2026-03-01", + "days_vs_promised": 0, + "lead_time_days": 40 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000041", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-02-03", + "promised_date": "2026-03-07", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000041", + "first_gr_date": "2026-03-07", + "days_vs_promised": 0, + "lead_time_days": 32 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000042", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-02-11", + "promised_date": "2026-03-18", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000042", + "first_gr_date": "2026-03-18", + "days_vs_promised": 0, + "lead_time_days": 35 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000043", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-02-16", + "promised_date": "2026-03-23", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000043", + "first_gr_date": "2026-03-22", + "days_vs_promised": -1, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000044", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-02-26", + "promised_date": "2026-03-24", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000044", + "first_gr_date": "2026-03-24", + "days_vs_promised": 0, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000045", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-04", + "promised_date": "2026-03-27", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000045", + "first_gr_date": "2026-03-27", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000057", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-02", + "promised_date": "2026-04-01", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000057", + "first_gr_date": "2026-04-01", + "days_vs_promised": 0, + "lead_time_days": 30 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000068", + "po_item": "00010", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-02-24", + "promised_date": "2026-04-03", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000068", + "first_gr_date": "2026-04-07", + "days_vs_promised": 4, + "lead_time_days": 42 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000069", + "po_item": "00020", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-04", + "promised_date": "2026-04-06", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000069", + "first_gr_date": "2026-04-09", + "days_vs_promised": 3, + "lead_time_days": 36 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000056", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-25", + "promised_date": "2026-04-09", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000056", + "first_gr_date": "2026-04-10", + "days_vs_promised": 1, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000058", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-11", + "promised_date": "2026-04-07", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000058", + "first_gr_date": "2026-04-12", + "days_vs_promised": 5, + "lead_time_days": 32 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000071", + "po_item": "00040", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-17", + "promised_date": "2026-04-16", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000071", + "first_gr_date": "2026-04-13", + "days_vs_promised": -3, + "lead_time_days": 27 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000060", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-24", + "promised_date": "2026-04-13", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000060", + "first_gr_date": "2026-04-14", + "days_vs_promised": 1, + "lead_time_days": 21 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000048", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-25", + "promised_date": "2026-04-22", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000048", + "first_gr_date": "2026-04-22", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000050", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-04-07", + "promised_date": "2026-04-30", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000050", + "first_gr_date": "2026-04-27", + "days_vs_promised": -3, + "lead_time_days": 20 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000046", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-10", + "promised_date": "2026-04-26", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000046", + "first_gr_date": "2026-04-29", + "days_vs_promised": 3, + "lead_time_days": 50 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000047", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-18", + "promised_date": "2026-05-03", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000047", + "first_gr_date": "2026-05-01", + "days_vs_promised": -2, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000059", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000059", + "first_gr_date": "2026-05-01", + "days_vs_promised": 0, + "lead_time_days": 46 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000049", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-31", + "promised_date": "2026-05-09", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000049", + "first_gr_date": "2026-05-06", + "days_vs_promised": -3, + "lead_time_days": 36 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000074", + "po_item": "00020", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-04-08", + "promised_date": "2026-05-06", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000074", + "first_gr_date": "2026-05-06", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000063", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-13", + "promised_date": "2026-05-07", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000063", + "first_gr_date": "2026-05-07", + "days_vs_promised": 0, + "lead_time_days": 24 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000051", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-04-15", + "promised_date": "2026-05-11", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000051", + "first_gr_date": "2026-05-11", + "days_vs_promised": 0, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000070", + "po_item": "00030", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-09", + "promised_date": "2026-04-22", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000070", + "first_gr_date": "2026-05-12", + "days_vs_promised": 20, + "lead_time_days": 64 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000075", + "po_item": "00030", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-04-13", + "promised_date": "2026-05-18", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000075", + "first_gr_date": "2026-05-15", + "days_vs_promised": -3, + "lead_time_days": 32 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000061", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-01", + "promised_date": "2026-05-21", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000061", + "first_gr_date": "2026-05-18", + "days_vs_promised": -3, + "lead_time_days": 47 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000065", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-27", + "promised_date": "2026-05-19", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000065", + "first_gr_date": "2026-05-19", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000072", + "po_item": "00050", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-24", + "promised_date": "2026-05-03", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000072", + "first_gr_date": "2026-05-21", + "days_vs_promised": 18, + "lead_time_days": 58 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000062", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000062", + "first_gr_date": "2026-05-27", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000053", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-04-28", + "promised_date": "2026-05-29", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000053", + "first_gr_date": "2026-05-29", + "days_vs_promised": 0, + "lead_time_days": 31 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000077", + "po_item": "00050", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-04-29", + "promised_date": "2026-06-02", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000077", + "first_gr_date": "2026-06-02", + "days_vs_promised": 0, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000078", + "po_item": "00010", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-05-06", + "promised_date": "2026-06-06", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000078", + "first_gr_date": "2026-06-03", + "days_vs_promised": -3, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000076", + "po_item": "00040", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-04-20", + "promised_date": "2026-06-04", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000076", + "first_gr_date": "2026-06-04", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000064", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-21", + "promised_date": "2026-06-06", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000064", + "first_gr_date": "2026-06-05", + "days_vs_promised": -1, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000052", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-04-22", + "promised_date": "2026-06-06", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000052", + "first_gr_date": "2026-06-06", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000073", + "po_item": "00010", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-31", + "promised_date": "2026-05-08", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000073", + "first_gr_date": "2026-06-07", + "days_vs_promised": 30, + "lead_time_days": 68 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000079", + "po_item": "00020", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-05-12", + "promised_date": "2026-06-09", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000079", + "first_gr_date": "2026-06-09", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000054", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-05-07", + "promised_date": "2026-06-13", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000054", + "first_gr_date": "2026-06-13", + "days_vs_promised": 0, + "lead_time_days": 37 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000055", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-05-11", + "promised_date": "2026-06-15", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000055", + "first_gr_date": "2026-06-13", + "days_vs_promised": -2, + "lead_time_days": 33 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000066", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-05-04", + "promised_date": "2026-06-16", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000066", + "first_gr_date": "2026-06-16", + "days_vs_promised": 0, + "lead_time_days": 43 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000067", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-05-14", + "promised_date": "2026-06-04", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000067", + "first_gr_date": "2026-06-22", + "days_vs_promised": 18, + "lead_time_days": 39 + } + ] + }, + "ref_date_col": "first_gr_date", + "n_batches": null, + "n_movements": 14, + "yield_data": null, + "consumption_data": null, + "supplier_otif": { + "primary_vendor": { + "id": "D0002", + "name": "Cascadia Coffee Traders" + }, + "vendors": [ + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "n_lines": 56, + "n_late": 5, + "on_time_pct": 91.1, + "in_full_pct": 100.0, + "otif_pct": 91.1, + "mean_days_late_all": 0.29, + "mean_days_late_when_late": 3.2, + "median_days_late_when_late": 3, + "max_days_late": 6, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 8.9, + "ge_3d_pct": 5.4, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + } + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "n_lines": 12, + "n_late": 4, + "on_time_pct": 66.7, + "in_full_pct": 100.0, + "otif_pct": 66.7, + "mean_days_late_all": 2.08, + "mean_days_late_when_late": 6.2, + "median_days_late_when_late": 3.0, + "max_days_late": 18, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 33.3, + "ge_3d_pct": 16.7, + "ge_7d_pct": 8.3, + "ge_14d_pct": 8.3 + } + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "n_lines": 12, + "n_late": 5, + "on_time_pct": 58.3, + "in_full_pct": 100.0, + "otif_pct": 58.3, + "mean_days_late_all": 6.25, + "mean_days_late_when_late": 15, + "median_days_late_when_late": 18, + "max_days_late": 30, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 41.7, + "ge_3d_pct": 41.7, + "ge_7d_pct": 25.0, + "ge_14d_pct": 25.0 + } + } + ], + "worst_events": [ + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000073", + "po_item": "00010", + "po_date": "2026-03-31", + "promised_date": "2026-05-08", + "first_gr_date": "2026-06-07", + "days_late": 30, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000070", + "po_item": "00030", + "po_date": "2026-03-09", + "promised_date": "2026-04-22", + "first_gr_date": "2026-05-12", + "days_late": 20, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000067", + "po_item": "00020", + "po_date": "2026-05-14", + "promised_date": "2026-06-04", + "first_gr_date": "2026-06-22", + "days_late": 18, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000072", + "po_item": "00050", + "po_date": "2026-03-24", + "promised_date": "2026-05-03", + "first_gr_date": "2026-05-21", + "days_late": 18, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000011", + "po_item": "00020", + "po_date": "2025-07-07", + "promised_date": "2025-08-19", + "first_gr_date": "2025-08-25", + "days_late": 6, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000058", + "po_item": "00030", + "po_date": "2026-03-11", + "promised_date": "2026-04-07", + "first_gr_date": "2026-04-12", + "days_late": 5, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0 + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000007", + "po_item": "00030", + "po_date": "2025-06-11", + "promised_date": "2025-07-06", + "first_gr_date": "2025-07-10", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000068", + "po_item": "00010", + "po_date": "2026-02-24", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-07", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000046", + "po_item": "00020", + "po_date": "2026-03-10", + "promised_date": "2026-04-26", + "first_gr_date": "2026-04-29", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000069", + "po_item": "00020", + "po_date": "2026-03-04", + "promised_date": "2026-04-06", + "first_gr_date": "2026-04-09", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + } + ], + "coverage_pct": 100.0, + "n_lines": 80, + "data_quality_note": "100% in-full across every line \u2014 likely WEMNG = MENGE is auto-stamped at goods receipt rather than measured. Treat the in-full metric as a data-entry artifact at this site.", + "tolerance_days": 0, + "under_tolerance_pct": 0.05, + "lines": [ + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000000", + "po_item": "00010", + "po_date": "2025-04-23", + "promised_date": "2025-06-08", + "first_gr_date": "2025-06-06", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000001", + "po_item": "00020", + "po_date": "2025-05-01", + "promised_date": "2025-06-17", + "first_gr_date": "2025-06-15", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000002", + "po_item": "00030", + "po_date": "2025-05-06", + "promised_date": "2025-06-20", + "first_gr_date": "2025-06-20", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000003", + "po_item": "00040", + "po_date": "2025-05-14", + "promised_date": "2025-06-05", + "first_gr_date": "2025-06-03", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000004", + "po_item": "00050", + "po_date": "2025-05-22", + "promised_date": "2025-06-24", + "first_gr_date": "2025-06-21", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000005", + "po_item": "00010", + "po_date": "2025-05-27", + "promised_date": "2025-06-16", + "first_gr_date": "2025-06-13", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000006", + "po_item": "00020", + "po_date": "2025-06-02", + "promised_date": "2025-07-10", + "first_gr_date": "2025-07-09", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000007", + "po_item": "00030", + "po_date": "2025-06-11", + "promised_date": "2025-07-06", + "first_gr_date": "2025-07-10", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000008", + "po_item": "00040", + "po_date": "2025-06-19", + "promised_date": "2025-08-07", + "first_gr_date": "2025-08-07", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000009", + "po_item": "00050", + "po_date": "2025-06-25", + "promised_date": "2025-07-23", + "first_gr_date": "2025-07-21", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000010", + "po_item": "00010", + "po_date": "2025-06-30", + "promised_date": "2025-07-26", + "first_gr_date": "2025-07-26", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000011", + "po_item": "00020", + "po_date": "2025-07-07", + "promised_date": "2025-08-19", + "first_gr_date": "2025-08-25", + "days_late": 6, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000012", + "po_item": "00030", + "po_date": "2025-07-15", + "promised_date": "2025-08-07", + "first_gr_date": "2025-08-07", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000013", + "po_item": "00040", + "po_date": "2025-07-23", + "promised_date": "2025-08-20", + "first_gr_date": "2025-08-20", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000014", + "po_item": "00050", + "po_date": "2025-07-28", + "promised_date": "2025-08-23", + "first_gr_date": "2025-08-23", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000015", + "po_item": "00010", + "po_date": "2025-08-04", + "promised_date": "2025-08-27", + "first_gr_date": "2025-08-27", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000016", + "po_item": "00020", + "po_date": "2025-08-13", + "promised_date": "2025-09-25", + "first_gr_date": "2025-09-25", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000017", + "po_item": "00030", + "po_date": "2025-08-21", + "promised_date": "2025-10-05", + "first_gr_date": "2025-10-05", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000018", + "po_item": "00040", + "po_date": "2025-08-26", + "promised_date": "2025-10-12", + "first_gr_date": "2025-10-10", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000019", + "po_item": "00050", + "po_date": "2025-09-04", + "promised_date": "2025-09-28", + "first_gr_date": "2025-09-27", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000020", + "po_item": "00010", + "po_date": "2025-09-09", + "promised_date": "2025-10-03", + "first_gr_date": "2025-10-03", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000021", + "po_item": "00020", + "po_date": "2025-09-17", + "promised_date": "2025-10-22", + "first_gr_date": "2025-10-19", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000022", + "po_item": "00030", + "po_date": "2025-09-23", + "promised_date": "2025-10-17", + "first_gr_date": "2025-10-16", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000023", + "po_item": "00040", + "po_date": "2025-10-01", + "promised_date": "2025-10-29", + "first_gr_date": "2025-10-31", + "days_late": 2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000024", + "po_item": "00050", + "po_date": "2025-10-08", + "promised_date": "2025-11-01", + "first_gr_date": "2025-11-01", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000025", + "po_item": "00010", + "po_date": "2025-10-14", + "promised_date": "2025-11-19", + "first_gr_date": "2025-11-17", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000026", + "po_item": "00020", + "po_date": "2025-10-21", + "promised_date": "2025-12-04", + "first_gr_date": "2025-12-04", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000027", + "po_item": "00030", + "po_date": "2025-10-29", + "promised_date": "2025-12-01", + "first_gr_date": "2025-11-29", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000028", + "po_item": "00040", + "po_date": "2025-11-04", + "promised_date": "2025-12-03", + "first_gr_date": "2025-12-03", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000029", + "po_item": "00050", + "po_date": "2025-11-10", + "promised_date": "2025-12-19", + "first_gr_date": "2025-12-19", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000030", + "po_item": "00010", + "po_date": "2025-11-20", + "promised_date": "2025-12-23", + "first_gr_date": "2025-12-24", + "days_late": 1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000031", + "po_item": "00020", + "po_date": "2025-11-27", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-13", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000032", + "po_item": "00030", + "po_date": "2025-12-04", + "promised_date": "2026-01-17", + "first_gr_date": "2026-01-17", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000033", + "po_item": "00040", + "po_date": "2025-12-10", + "promised_date": "2026-01-15", + "first_gr_date": "2026-01-13", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000034", + "po_item": "00050", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-11", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000035", + "po_item": "00010", + "po_date": "2025-12-24", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-13", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000036", + "po_item": "00020", + "po_date": "2025-12-31", + "promised_date": "2026-02-01", + "first_gr_date": "2026-01-31", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000037", + "po_item": "00030", + "po_date": "2026-01-08", + "promised_date": "2026-02-10", + "first_gr_date": "2026-02-08", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000038", + "po_item": "00040", + "po_date": "2026-01-13", + "promised_date": "2026-02-13", + "first_gr_date": "2026-02-11", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000039", + "po_item": "00050", + "po_date": "2026-01-20", + "promised_date": "2026-03-01", + "first_gr_date": "2026-03-01", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000040", + "po_item": "00010", + "po_date": "2026-01-29", + "promised_date": "2026-02-25", + "first_gr_date": "2026-02-25", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000041", + "po_item": "00020", + "po_date": "2026-02-03", + "promised_date": "2026-03-07", + "first_gr_date": "2026-03-07", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000042", + "po_item": "00030", + "po_date": "2026-02-11", + "promised_date": "2026-03-18", + "first_gr_date": "2026-03-18", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000043", + "po_item": "00040", + "po_date": "2026-02-16", + "promised_date": "2026-03-23", + "first_gr_date": "2026-03-22", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000044", + "po_item": "00050", + "po_date": "2026-02-26", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-24", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000045", + "po_item": "00010", + "po_date": "2026-03-04", + "promised_date": "2026-03-27", + "first_gr_date": "2026-03-27", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000046", + "po_item": "00020", + "po_date": "2026-03-10", + "promised_date": "2026-04-26", + "first_gr_date": "2026-04-29", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000047", + "po_item": "00030", + "po_date": "2026-03-18", + "promised_date": "2026-05-03", + "first_gr_date": "2026-05-01", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000048", + "po_item": "00040", + "po_date": "2026-03-25", + "promised_date": "2026-04-22", + "first_gr_date": "2026-04-22", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000049", + "po_item": "00050", + "po_date": "2026-03-31", + "promised_date": "2026-05-09", + "first_gr_date": "2026-05-06", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000050", + "po_item": "00010", + "po_date": "2026-04-07", + "promised_date": "2026-04-30", + "first_gr_date": "2026-04-27", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000051", + "po_item": "00020", + "po_date": "2026-04-15", + "promised_date": "2026-05-11", + "first_gr_date": "2026-05-11", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000052", + "po_item": "00030", + "po_date": "2026-04-22", + "promised_date": "2026-06-06", + "first_gr_date": "2026-06-06", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000053", + "po_item": "00040", + "po_date": "2026-04-28", + "promised_date": "2026-05-29", + "first_gr_date": "2026-05-29", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000054", + "po_item": "00050", + "po_date": "2026-05-07", + "promised_date": "2026-06-13", + "first_gr_date": "2026-06-13", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000055", + "po_item": "00010", + "po_date": "2026-05-11", + "promised_date": "2026-06-15", + "first_gr_date": "2026-06-13", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000056", + "po_item": "00010", + "po_date": "2026-02-25", + "promised_date": "2026-04-09", + "first_gr_date": "2026-04-10", + "days_late": 1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000057", + "po_item": "00020", + "po_date": "2026-03-02", + "promised_date": "2026-04-01", + "first_gr_date": "2026-04-01", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000058", + "po_item": "00030", + "po_date": "2026-03-11", + "promised_date": "2026-04-07", + "first_gr_date": "2026-04-12", + "days_late": 5, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000059", + "po_item": "00040", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "first_gr_date": "2026-05-01", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000060", + "po_item": "00050", + "po_date": "2026-03-24", + "promised_date": "2026-04-13", + "first_gr_date": "2026-04-14", + "days_late": 1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000061", + "po_item": "00010", + "po_date": "2026-04-01", + "promised_date": "2026-05-21", + "first_gr_date": "2026-05-18", + "days_late": -3, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000062", + "po_item": "00020", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "first_gr_date": "2026-05-27", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000063", + "po_item": "00030", + "po_date": "2026-04-13", + "promised_date": "2026-05-07", + "first_gr_date": "2026-05-07", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000064", + "po_item": "00040", + "po_date": "2026-04-21", + "promised_date": "2026-06-06", + "first_gr_date": "2026-06-05", + "days_late": -1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000065", + "po_item": "00050", + "po_date": "2026-04-27", + "promised_date": "2026-05-19", + "first_gr_date": "2026-05-19", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000066", + "po_item": "00010", + "po_date": "2026-05-04", + "promised_date": "2026-06-16", + "first_gr_date": "2026-06-16", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000067", + "po_item": "00020", + "po_date": "2026-05-14", + "promised_date": "2026-06-04", + "first_gr_date": "2026-06-22", + "days_late": 18, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000068", + "po_item": "00010", + "po_date": "2026-02-24", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-07", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000069", + "po_item": "00020", + "po_date": "2026-03-04", + "promised_date": "2026-04-06", + "first_gr_date": "2026-04-09", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000070", + "po_item": "00030", + "po_date": "2026-03-09", + "promised_date": "2026-04-22", + "first_gr_date": "2026-05-12", + "days_late": 20, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000071", + "po_item": "00040", + "po_date": "2026-03-17", + "promised_date": "2026-04-16", + "first_gr_date": "2026-04-13", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000072", + "po_item": "00050", + "po_date": "2026-03-24", + "promised_date": "2026-05-03", + "first_gr_date": "2026-05-21", + "days_late": 18, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000073", + "po_item": "00010", + "po_date": "2026-03-31", + "promised_date": "2026-05-08", + "first_gr_date": "2026-06-07", + "days_late": 30, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000074", + "po_item": "00020", + "po_date": "2026-04-08", + "promised_date": "2026-05-06", + "first_gr_date": "2026-05-06", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000075", + "po_item": "00030", + "po_date": "2026-04-13", + "promised_date": "2026-05-18", + "first_gr_date": "2026-05-15", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000076", + "po_item": "00040", + "po_date": "2026-04-20", + "promised_date": "2026-06-04", + "first_gr_date": "2026-06-04", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000077", + "po_item": "00050", + "po_date": "2026-04-29", + "promised_date": "2026-06-02", + "first_gr_date": "2026-06-02", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000078", + "po_item": "00010", + "po_date": "2026-05-06", + "promised_date": "2026-06-06", + "first_gr_date": "2026-06-03", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000079", + "po_item": "00020", + "po_date": "2026-05-12", + "promised_date": "2026-06-09", + "first_gr_date": "2026-06-09", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + } + ] + }, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/procurement_lowland_robusta.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/procurement_lowland_robusta.json new file mode 100644 index 00000000000..0d9aa5a31d6 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/procurement_lowland_robusta.json @@ -0,0 +1,2573 @@ +{ + "id": "procurement_lowland_robusta", + "label": "Procurement: Lowland Robusta", + "type": "procurement", + "durations": [ + 32, 48, 5, 67, 25, 41, 15, 82, 38, 20, 52, 10, 44, 28, 35, 18, 55, 26, 26, + 29, 31, 34, 37, 26, 28, 31, 33, 36, 33, 36, 38, 42, 28, 32, 35, 38, 24, 28, + 40, 43, 29, 33, 35, 40, 26, 29, 31, 34, 22, 26, 28, 31, 33, 31, 33, 36, 38, + 42, 30, 32, 35, 38, 24 + ], + "observations": [ + { + "date": "2022-02-08", + "value": 32 + }, + { + "date": "2022-04-19", + "value": 48 + }, + { + "date": "2022-07-11", + "value": 5 + }, + { + "date": "2022-09-28", + "value": 67 + }, + { + "date": "2022-12-15", + "value": 25 + }, + { + "date": "2023-03-07", + "value": 41 + }, + { + "date": "2023-05-22", + "value": 15 + }, + { + "date": "2023-08-09", + "value": 82 + }, + { + "date": "2023-10-30", + "value": 38 + }, + { + "date": "2024-01-16", + "value": 20 + }, + { + "date": "2024-03-25", + "value": 52 + }, + { + "date": "2024-06-12", + "value": 10 + }, + { + "date": "2024-08-28", + "value": 44 + }, + { + "date": "2024-11-14", + "value": 28 + }, + { + "date": "2025-01-06", + "value": 35 + }, + { + "date": "2025-03-18", + "value": 18 + }, + { + "date": "2025-05-29", + "value": 55 + }, + { + "date": "2025-08-12", + "value": 26 + }, + { + "date": "2025-09-04", + "value": 26 + }, + { + "date": "2025-09-10", + "value": 29 + }, + { + "date": "2025-09-16", + "value": 31 + }, + { + "date": "2025-09-22", + "value": 34 + }, + { + "date": "2025-09-28", + "value": 37 + }, + { + "date": "2025-10-05", + "value": 26 + }, + { + "date": "2025-10-11", + "value": 28 + }, + { + "date": "2025-10-17", + "value": 31 + }, + { + "date": "2025-10-23", + "value": 33 + }, + { + "date": "2025-10-29", + "value": 36 + }, + { + "date": "2025-11-06", + "value": 33 + }, + { + "date": "2025-11-12", + "value": 36 + }, + { + "date": "2025-11-18", + "value": 38 + }, + { + "date": "2025-11-24", + "value": 42 + }, + { + "date": "2025-11-30", + "value": 28 + }, + { + "date": "2025-12-04", + "value": 32 + }, + { + "date": "2025-12-10", + "value": 35 + }, + { + "date": "2025-12-16", + "value": 38 + }, + { + "date": "2025-12-22", + "value": 24 + }, + { + "date": "2025-12-28", + "value": 28 + }, + { + "date": "2026-01-05", + "value": 40 + }, + { + "date": "2026-01-11", + "value": 43 + }, + { + "date": "2026-01-17", + "value": 29 + }, + { + "date": "2026-01-23", + "value": 33 + }, + { + "date": "2026-01-29", + "value": 35 + }, + { + "date": "2026-02-06", + "value": 40 + }, + { + "date": "2026-02-12", + "value": 26 + }, + { + "date": "2026-02-18", + "value": 29 + }, + { + "date": "2026-02-24", + "value": 31 + }, + { + "date": "2026-02-30", + "value": 34 + }, + { + "date": "2026-03-04", + "value": 22 + }, + { + "date": "2026-03-10", + "value": 26 + }, + { + "date": "2026-03-16", + "value": 28 + }, + { + "date": "2026-03-22", + "value": 31 + }, + { + "date": "2026-03-28", + "value": 33 + }, + { + "date": "2026-04-05", + "value": 31 + }, + { + "date": "2026-04-11", + "value": 33 + }, + { + "date": "2026-04-17", + "value": 36 + }, + { + "date": "2026-04-23", + "value": 38 + }, + { + "date": "2026-04-29", + "value": 42 + }, + { + "date": "2026-05-06", + "value": 30 + }, + { + "date": "2026-05-12", + "value": 32 + }, + { + "date": "2026-05-18", + "value": 35 + }, + { + "date": "2026-05-24", + "value": 38 + }, + { + "date": "2026-05-30", + "value": 24 + } + ], + "monthly": [ + { + "month": "2022-02", + "mean": 32.0, + "median": 32.0, + "p10": 32.0, + "p25": 32.0, + "p75": 32.0, + "p90": 32.0, + "n": 1 + }, + { + "month": "2022-04", + "mean": 48.0, + "median": 48.0, + "p10": 48.0, + "p25": 48.0, + "p75": 48.0, + "p90": 48.0, + "n": 1 + }, + { + "month": "2022-07", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2022-09", + "mean": 67.0, + "median": 67.0, + "p10": 67.0, + "p25": 67.0, + "p75": 67.0, + "p90": 67.0, + "n": 1 + }, + { + "month": "2022-12", + "mean": 25.0, + "median": 25.0, + "p10": 25.0, + "p25": 25.0, + "p75": 25.0, + "p90": 25.0, + "n": 1 + }, + { + "month": "2023-03", + "mean": 41.0, + "median": 41.0, + "p10": 41.0, + "p25": 41.0, + "p75": 41.0, + "p90": 41.0, + "n": 1 + }, + { + "month": "2023-05", + "mean": 15.0, + "median": 15.0, + "p10": 15.0, + "p25": 15.0, + "p75": 15.0, + "p90": 15.0, + "n": 1 + }, + { + "month": "2023-08", + "mean": 82.0, + "median": 82.0, + "p10": 82.0, + "p25": 82.0, + "p75": 82.0, + "p90": 82.0, + "n": 1 + }, + { + "month": "2023-10", + "mean": 38.0, + "median": 38.0, + "p10": 38.0, + "p25": 38.0, + "p75": 38.0, + "p90": 38.0, + "n": 1 + }, + { + "month": "2024-01", + "mean": 20.0, + "median": 20.0, + "p10": 20.0, + "p25": 20.0, + "p75": 20.0, + "p90": 20.0, + "n": 1 + }, + { + "month": "2024-03", + "mean": 52.0, + "median": 52.0, + "p10": 52.0, + "p25": 52.0, + "p75": 52.0, + "p90": 52.0, + "n": 1 + }, + { + "month": "2024-06", + "mean": 10.0, + "median": 10.0, + "p10": 10.0, + "p25": 10.0, + "p75": 10.0, + "p90": 10.0, + "n": 1 + }, + { + "month": "2024-08", + "mean": 44.0, + "median": 44.0, + "p10": 44.0, + "p25": 44.0, + "p75": 44.0, + "p90": 44.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 28.0, + "median": 28.0, + "p10": 28.0, + "p25": 28.0, + "p75": 28.0, + "p90": 28.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 35.0, + "median": 35.0, + "p10": 35.0, + "p25": 35.0, + "p75": 35.0, + "p90": 35.0, + "n": 1 + }, + { + "month": "2025-03", + "mean": 18.0, + "median": 18.0, + "p10": 18.0, + "p25": 18.0, + "p75": 18.0, + "p90": 18.0, + "n": 1 + }, + { + "month": "2025-05", + "mean": 55.0, + "median": 55.0, + "p10": 55.0, + "p25": 55.0, + "p75": 55.0, + "p90": 55.0, + "n": 1 + }, + { + "month": "2025-08", + "mean": 26.0, + "median": 26.0, + "p10": 26.0, + "p25": 26.0, + "p75": 26.0, + "p90": 26.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 31.4, + "median": 31.0, + "p10": 27.2, + "p25": 29.0, + "p75": 34.0, + "p90": 35.8, + "n": 5 + }, + { + "month": "2025-10", + "mean": 30.8, + "median": 31.0, + "p10": 26.8, + "p25": 28.0, + "p75": 33.0, + "p90": 34.8, + "n": 5 + }, + { + "month": "2025-11", + "mean": 35.4, + "median": 36.0, + "p10": 30.0, + "p25": 33.0, + "p75": 38.0, + "p90": 40.4, + "n": 5 + }, + { + "month": "2025-12", + "mean": 31.4, + "median": 32.0, + "p10": 25.6, + "p25": 28.0, + "p75": 35.0, + "p90": 36.8, + "n": 5 + }, + { + "month": "2026-01", + "mean": 36.0, + "median": 35.0, + "p10": 30.6, + "p25": 33.0, + "p75": 40.0, + "p90": 41.8, + "n": 5 + }, + { + "month": "2026-02", + "mean": 32.0, + "median": 31.0, + "p10": 27.2, + "p25": 29.0, + "p75": 34.0, + "p90": 37.6, + "n": 5 + }, + { + "month": "2026-03", + "mean": 28.0, + "median": 28.0, + "p10": 23.6, + "p25": 26.0, + "p75": 31.0, + "p90": 32.2, + "n": 5 + }, + { + "month": "2026-04", + "mean": 36.0, + "median": 36.0, + "p10": 31.8, + "p25": 33.0, + "p75": 38.0, + "p90": 40.4, + "n": 5 + }, + { + "month": "2026-05", + "mean": 31.8, + "median": 32.0, + "p10": 26.4, + "p25": 30.0, + "p75": 35.0, + "p90": 36.8, + "n": 5 + } + ], + "stats": { + "n": 63, + "mean": 33.4, + "median": 33.0, + "std": 11.4, + "min": 5, + "max": 82, + "p25": 28.0, + "p75": 38.0, + "p85": 40.7, + "p95": 51.6 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 96.8, + "annotations": [], + "cost": null, + "detail_rows": { + "columns": [ + { + "key": "matnr", + "sap_field": "MATNR", + "sap_table": "EKPO", + "label": "Material", + "unit": null + }, + { + "key": "po_number", + "sap_field": "EBELN", + "sap_table": "EKKO", + "label": "PO Number", + "unit": null + }, + { + "key": "po_item", + "sap_field": "EBELP", + "sap_table": "EKPO", + "label": "PO Item", + "unit": null + }, + { + "key": "vendor_id", + "sap_field": "LIFNR", + "sap_table": "EKKO", + "label": "Vendor (LIFNR)", + "unit": null + }, + { + "key": "vendor_name", + "sap_field": "NAME1", + "sap_table": "LFA1", + "label": "Vendor Name", + "unit": null + }, + { + "key": "po_date", + "sap_field": "BEDAT", + "sap_table": "EKKO", + "label": "PO Date", + "unit": null + }, + { + "key": "promised_date", + "sap_field": "EINDT", + "sap_table": "EKET", + "label": "Promised Date", + "unit": null + }, + { + "key": "sched_qty", + "sap_field": "MENGE", + "sap_table": "EKET", + "label": "Scheduled Qty", + "unit": null + }, + { + "key": "gr_qty_to_date", + "sap_field": "WEMNG", + "sap_table": "EKET", + "label": "GR Qty (to date)", + "unit": null + }, + { + "key": "gr_mblnr", + "sap_field": "MBLNR", + "sap_table": "MSEG", + "label": "Goods Receipt Document", + "unit": null + }, + { + "key": "first_gr_date", + "sap_field": "BUDAT", + "sap_table": "MKPF", + "label": "Goods Receipt Date", + "unit": null + }, + { + "key": "days_vs_promised", + "sap_field": null, + "sap_table": null, + "label": "Days vs Promised", + "unit": "d" + }, + { + "key": "lead_time_days", + "sap_field": null, + "sap_table": null, + "label": "Lead Time (days)", + "unit": "d" + } + ], + "rows": [ + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000081", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-08-07", + "promised_date": "2025-08-30", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000081", + "first_gr_date": "2025-08-29", + "days_vs_promised": -1, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000082", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-08-11", + "promised_date": "2025-09-05", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000082", + "first_gr_date": "2025-09-03", + "days_vs_promised": -2, + "lead_time_days": 23 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000080", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-07-29", + "promised_date": "2025-09-10", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000080", + "first_gr_date": "2025-09-08", + "days_vs_promised": -2, + "lead_time_days": 41 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000083", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-08-19", + "promised_date": "2025-09-16", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000083", + "first_gr_date": "2025-09-16", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000084", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-08-27", + "promised_date": "2025-10-02", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000084", + "first_gr_date": "2025-10-01", + "days_vs_promised": -1, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000086", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-10", + "promised_date": "2025-10-14", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000086", + "first_gr_date": "2025-10-14", + "days_vs_promised": 0, + "lead_time_days": 34 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000088", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-22", + "promised_date": "2025-10-14", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000088", + "first_gr_date": "2025-10-14", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000085", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-04", + "promised_date": "2025-10-21", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000085", + "first_gr_date": "2025-10-19", + "days_vs_promised": -2, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000087", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-15", + "promised_date": "2025-10-23", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000087", + "first_gr_date": "2025-10-22", + "days_vs_promised": -1, + "lead_time_days": 37 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000089", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-29", + "promised_date": "2025-11-02", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000089", + "first_gr_date": "2025-11-01", + "days_vs_promised": -1, + "lead_time_days": 33 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000090", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-10-08", + "promised_date": "2025-11-07", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000090", + "first_gr_date": "2025-11-06", + "days_vs_promised": -1, + "lead_time_days": 29 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000093", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-10-27", + "promised_date": "2025-11-23", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000093", + "first_gr_date": "2025-11-23", + "days_vs_promised": 0, + "lead_time_days": 27 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000094", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-11-04", + "promised_date": "2025-11-25", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000094", + "first_gr_date": "2025-11-25", + "days_vs_promised": 0, + "lead_time_days": 21 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000091", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-10-14", + "promised_date": "2025-12-02", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000091", + "first_gr_date": "2025-11-30", + "days_vs_promised": -2, + "lead_time_days": 47 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000092", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-10-20", + "promised_date": "2025-12-08", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000092", + "first_gr_date": "2025-12-07", + "days_vs_promised": -1, + "lead_time_days": 48 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000095", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-11-11", + "promised_date": "2025-12-23", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000095", + "first_gr_date": "2025-12-20", + "days_vs_promised": -3, + "lead_time_days": 39 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000099", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-09", + "promised_date": "2025-12-30", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000099", + "first_gr_date": "2025-12-27", + "days_vs_promised": -3, + "lead_time_days": 18 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000096", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-11-20", + "promised_date": "2025-12-28", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000096", + "first_gr_date": "2025-12-28", + "days_vs_promised": 0, + "lead_time_days": 38 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000098", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-03", + "promised_date": "2025-12-28", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000098", + "first_gr_date": "2025-12-28", + "days_vs_promised": 0, + "lead_time_days": 25 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000097", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-11-25", + "promised_date": "2025-12-31", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000097", + "first_gr_date": "2025-12-30", + "days_vs_promised": -1, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000101", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-23", + "promised_date": "2026-01-15", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000101", + "first_gr_date": "2026-01-15", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000102", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-31", + "promised_date": "2026-01-20", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000102", + "first_gr_date": "2026-01-20", + "days_vs_promised": 0, + "lead_time_days": 20 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000100", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-17", + "promised_date": "2026-02-04", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000100", + "first_gr_date": "2026-02-04", + "days_vs_promised": 0, + "lead_time_days": 49 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000122", + "po_item": "00010", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-01-12", + "promised_date": "2026-02-04", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000122", + "first_gr_date": "2026-02-04", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000104", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-01-14", + "promised_date": "2026-02-09", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000104", + "first_gr_date": "2026-02-08", + "days_vs_promised": -1, + "lead_time_days": 25 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000103", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-01-06", + "promised_date": "2026-02-13", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000103", + "first_gr_date": "2026-02-13", + "days_vs_promised": 0, + "lead_time_days": 38 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000105", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-01-19", + "promised_date": "2026-02-23", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000105", + "first_gr_date": "2026-02-23", + "days_vs_promised": 0, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000125", + "po_item": "00040", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-02-02", + "promised_date": "2026-02-24", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000125", + "first_gr_date": "2026-02-24", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000123", + "po_item": "00020", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-01-20", + "promised_date": "2026-02-27", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000123", + "first_gr_date": "2026-02-27", + "days_vs_promised": 0, + "lead_time_days": 38 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000107", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-02-05", + "promised_date": "2026-03-02", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000107", + "first_gr_date": "2026-03-02", + "days_vs_promised": 0, + "lead_time_days": 25 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000124", + "po_item": "00030", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-01-29", + "promised_date": "2026-03-10", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000124", + "first_gr_date": "2026-03-07", + "days_vs_promised": -3, + "lead_time_days": 37 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000106", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-01-27", + "promised_date": "2026-03-16", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000106", + "first_gr_date": "2026-03-13", + "days_vs_promised": -3, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000126", + "po_item": "00050", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-02-09", + "promised_date": "2026-03-14", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000126", + "first_gr_date": "2026-03-14", + "days_vs_promised": 0, + "lead_time_days": 33 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000127", + "po_item": "00010", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-02-17", + "promised_date": "2026-03-24", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000127", + "first_gr_date": "2026-03-23", + "days_vs_promised": -1, + "lead_time_days": 34 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000108", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-02-12", + "promised_date": "2026-03-24", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000108", + "first_gr_date": "2026-03-24", + "days_vs_promised": 0, + "lead_time_days": 40 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000128", + "po_item": "00020", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-02-23", + "promised_date": "2026-03-24", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000128", + "first_gr_date": "2026-03-24", + "days_vs_promised": 0, + "lead_time_days": 29 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000110", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-02-24", + "promised_date": "2026-03-27", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000110", + "first_gr_date": "2026-03-25", + "days_vs_promised": -2, + "lead_time_days": 29 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000109", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-02-17", + "promised_date": "2026-04-06", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000109", + "first_gr_date": "2026-04-06", + "days_vs_promised": 0, + "lead_time_days": 48 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000129", + "po_item": "00030", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-03-04", + "promised_date": "2026-04-11", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000129", + "first_gr_date": "2026-04-08", + "days_vs_promised": -3, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000114", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-03-23", + "promised_date": "2026-04-13", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000114", + "first_gr_date": "2026-04-11", + "days_vs_promised": -2, + "lead_time_days": 19 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000111", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-03-05", + "promised_date": "2026-04-15", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000111", + "first_gr_date": "2026-04-12", + "days_vs_promised": -3, + "lead_time_days": 38 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000112", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-03-09", + "promised_date": "2026-04-13", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000112", + "first_gr_date": "2026-04-13", + "days_vs_promised": 0, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000130", + "po_item": "00040", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-03-09", + "promised_date": "2026-04-17", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000130", + "first_gr_date": "2026-04-17", + "days_vs_promised": 0, + "lead_time_days": 39 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000115", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-01", + "promised_date": "2026-04-23", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000115", + "first_gr_date": "2026-04-23", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000134", + "po_item": "00030", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-06", + "promised_date": "2026-05-03", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000134", + "first_gr_date": "2026-04-30", + "days_vs_promised": -3, + "lead_time_days": 24 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000113", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-03-17", + "promised_date": "2026-05-04", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000113", + "first_gr_date": "2026-05-01", + "days_vs_promised": -3, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000131", + "po_item": "00050", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000131", + "first_gr_date": "2026-05-01", + "days_vs_promised": 0, + "lead_time_days": 46 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000117", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-15", + "promised_date": "2026-05-05", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000117", + "first_gr_date": "2026-05-05", + "days_vs_promised": 0, + "lead_time_days": 20 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000136", + "po_item": "00050", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-20", + "promised_date": "2026-05-10", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000136", + "first_gr_date": "2026-05-08", + "days_vs_promised": -2, + "lead_time_days": 18 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000132", + "po_item": "00010", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-03-25", + "promised_date": "2026-05-11", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000132", + "first_gr_date": "2026-05-09", + "days_vs_promised": -2, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000133", + "po_item": "00020", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-02", + "promised_date": "2026-05-13", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000133", + "first_gr_date": "2026-05-13", + "days_vs_promised": 0, + "lead_time_days": 41 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000135", + "po_item": "00040", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-15", + "promised_date": "2026-05-18", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000135", + "first_gr_date": "2026-05-18", + "days_vs_promised": 0, + "lead_time_days": 33 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000116", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-06", + "promised_date": "2026-05-21", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000116", + "first_gr_date": "2026-05-21", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000138", + "po_item": "00020", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-05-06", + "promised_date": "2026-05-28", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000138", + "first_gr_date": "2026-05-28", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000118", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-20", + "promised_date": "2026-06-01", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000118", + "first_gr_date": "2026-05-31", + "days_vs_promised": -1, + "lead_time_days": 41 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000139", + "po_item": "00030", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-05-14", + "promised_date": "2026-06-03", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000139", + "first_gr_date": "2026-05-31", + "days_vs_promised": -3, + "lead_time_days": 17 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000137", + "po_item": "00010", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-29", + "promised_date": "2026-06-01", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000137", + "first_gr_date": "2026-06-01", + "days_vs_promised": 0, + "lead_time_days": 33 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000120", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-05-06", + "promised_date": "2026-06-08", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000120", + "first_gr_date": "2026-06-05", + "days_vs_promised": -3, + "lead_time_days": 30 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000119", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-30", + "promised_date": "2026-06-17", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000119", + "first_gr_date": "2026-06-17", + "days_vs_promised": 0, + "lead_time_days": 48 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000121", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-05-13", + "promised_date": "2026-06-19", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000121", + "first_gr_date": "2026-06-19", + "days_vs_promised": 0, + "lead_time_days": 37 + } + ] + }, + "ref_date_col": "first_gr_date", + "n_batches": null, + "n_movements": 18, + "yield_data": null, + "consumption_data": null, + "supplier_otif": { + "primary_vendor": { + "id": "D0004", + "name": "Riverbend Reliable Supply" + }, + "vendors": [ + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "n_lines": 42, + "n_late": 0, + "on_time_pct": 100.0, + "in_full_pct": 100.0, + "otif_pct": 100.0, + "mean_days_late_all": 0, + "mean_days_late_when_late": null, + "median_days_late_when_late": null, + "max_days_late": 0, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 0.0, + "ge_3d_pct": 0.0, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + } + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "n_lines": 18, + "n_late": 0, + "on_time_pct": 100.0, + "in_full_pct": 100.0, + "otif_pct": 100.0, + "mean_days_late_all": 0, + "mean_days_late_when_late": null, + "median_days_late_when_late": null, + "max_days_late": 0, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 0.0, + "ge_3d_pct": 0.0, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + } + } + ], + "worst_events": [], + "coverage_pct": 100.0, + "n_lines": 60, + "data_quality_note": "100% in-full across every line \u2014 likely WEMNG = MENGE is auto-stamped at goods receipt rather than measured. Treat the in-full metric as a data-entry artifact at this site.", + "tolerance_days": 0, + "under_tolerance_pct": 0.05, + "lines": [ + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000080", + "po_item": "00010", + "po_date": "2025-07-29", + "promised_date": "2025-09-10", + "first_gr_date": "2025-09-08", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000081", + "po_item": "00020", + "po_date": "2025-08-07", + "promised_date": "2025-08-30", + "first_gr_date": "2025-08-29", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000082", + "po_item": "00030", + "po_date": "2025-08-11", + "promised_date": "2025-09-05", + "first_gr_date": "2025-09-03", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000083", + "po_item": "00040", + "po_date": "2025-08-19", + "promised_date": "2025-09-16", + "first_gr_date": "2025-09-16", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000084", + "po_item": "00050", + "po_date": "2025-08-27", + "promised_date": "2025-10-02", + "first_gr_date": "2025-10-01", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000085", + "po_item": "00010", + "po_date": "2025-09-04", + "promised_date": "2025-10-21", + "first_gr_date": "2025-10-19", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000086", + "po_item": "00020", + "po_date": "2025-09-10", + "promised_date": "2025-10-14", + "first_gr_date": "2025-10-14", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000087", + "po_item": "00030", + "po_date": "2025-09-15", + "promised_date": "2025-10-23", + "first_gr_date": "2025-10-22", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000088", + "po_item": "00040", + "po_date": "2025-09-22", + "promised_date": "2025-10-14", + "first_gr_date": "2025-10-14", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000089", + "po_item": "00050", + "po_date": "2025-09-29", + "promised_date": "2025-11-02", + "first_gr_date": "2025-11-01", + "days_late": -1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000090", + "po_item": "00010", + "po_date": "2025-10-08", + "promised_date": "2025-11-07", + "first_gr_date": "2025-11-06", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000091", + "po_item": "00020", + "po_date": "2025-10-14", + "promised_date": "2025-12-02", + "first_gr_date": "2025-11-30", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000092", + "po_item": "00030", + "po_date": "2025-10-20", + "promised_date": "2025-12-08", + "first_gr_date": "2025-12-07", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000093", + "po_item": "00040", + "po_date": "2025-10-27", + "promised_date": "2025-11-23", + "first_gr_date": "2025-11-23", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000094", + "po_item": "00050", + "po_date": "2025-11-04", + "promised_date": "2025-11-25", + "first_gr_date": "2025-11-25", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000095", + "po_item": "00010", + "po_date": "2025-11-11", + "promised_date": "2025-12-23", + "first_gr_date": "2025-12-20", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000096", + "po_item": "00020", + "po_date": "2025-11-20", + "promised_date": "2025-12-28", + "first_gr_date": "2025-12-28", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000097", + "po_item": "00030", + "po_date": "2025-11-25", + "promised_date": "2025-12-31", + "first_gr_date": "2025-12-30", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000098", + "po_item": "00040", + "po_date": "2025-12-03", + "promised_date": "2025-12-28", + "first_gr_date": "2025-12-28", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000099", + "po_item": "00050", + "po_date": "2025-12-09", + "promised_date": "2025-12-30", + "first_gr_date": "2025-12-27", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000100", + "po_item": "00010", + "po_date": "2025-12-17", + "promised_date": "2026-02-04", + "first_gr_date": "2026-02-04", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000101", + "po_item": "00020", + "po_date": "2025-12-23", + "promised_date": "2026-01-15", + "first_gr_date": "2026-01-15", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000102", + "po_item": "00030", + "po_date": "2025-12-31", + "promised_date": "2026-01-20", + "first_gr_date": "2026-01-20", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000103", + "po_item": "00040", + "po_date": "2026-01-06", + "promised_date": "2026-02-13", + "first_gr_date": "2026-02-13", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000104", + "po_item": "00050", + "po_date": "2026-01-14", + "promised_date": "2026-02-09", + "first_gr_date": "2026-02-08", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000105", + "po_item": "00010", + "po_date": "2026-01-19", + "promised_date": "2026-02-23", + "first_gr_date": "2026-02-23", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000106", + "po_item": "00020", + "po_date": "2026-01-27", + "promised_date": "2026-03-16", + "first_gr_date": "2026-03-13", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000107", + "po_item": "00030", + "po_date": "2026-02-05", + "promised_date": "2026-03-02", + "first_gr_date": "2026-03-02", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000108", + "po_item": "00040", + "po_date": "2026-02-12", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-24", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000109", + "po_item": "00050", + "po_date": "2026-02-17", + "promised_date": "2026-04-06", + "first_gr_date": "2026-04-06", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000110", + "po_item": "00010", + "po_date": "2026-02-24", + "promised_date": "2026-03-27", + "first_gr_date": "2026-03-25", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000111", + "po_item": "00020", + "po_date": "2026-03-05", + "promised_date": "2026-04-15", + "first_gr_date": "2026-04-12", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000112", + "po_item": "00030", + "po_date": "2026-03-09", + "promised_date": "2026-04-13", + "first_gr_date": "2026-04-13", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000113", + "po_item": "00040", + "po_date": "2026-03-17", + "promised_date": "2026-05-04", + "first_gr_date": "2026-05-01", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000114", + "po_item": "00050", + "po_date": "2026-03-23", + "promised_date": "2026-04-13", + "first_gr_date": "2026-04-11", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000115", + "po_item": "00010", + "po_date": "2026-04-01", + "promised_date": "2026-04-23", + "first_gr_date": "2026-04-23", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000116", + "po_item": "00020", + "po_date": "2026-04-06", + "promised_date": "2026-05-21", + "first_gr_date": "2026-05-21", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000117", + "po_item": "00030", + "po_date": "2026-04-15", + "promised_date": "2026-05-05", + "first_gr_date": "2026-05-05", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000118", + "po_item": "00040", + "po_date": "2026-04-20", + "promised_date": "2026-06-01", + "first_gr_date": "2026-05-31", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000119", + "po_item": "00050", + "po_date": "2026-04-30", + "promised_date": "2026-06-17", + "first_gr_date": "2026-06-17", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000120", + "po_item": "00010", + "po_date": "2026-05-06", + "promised_date": "2026-06-08", + "first_gr_date": "2026-06-05", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000121", + "po_item": "00020", + "po_date": "2026-05-13", + "promised_date": "2026-06-19", + "first_gr_date": "2026-06-19", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000122", + "po_item": "00010", + "po_date": "2026-01-12", + "promised_date": "2026-02-04", + "first_gr_date": "2026-02-04", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000123", + "po_item": "00020", + "po_date": "2026-01-20", + "promised_date": "2026-02-27", + "first_gr_date": "2026-02-27", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000124", + "po_item": "00030", + "po_date": "2026-01-29", + "promised_date": "2026-03-10", + "first_gr_date": "2026-03-07", + "days_late": -3, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000125", + "po_item": "00040", + "po_date": "2026-02-02", + "promised_date": "2026-02-24", + "first_gr_date": "2026-02-24", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000126", + "po_item": "00050", + "po_date": "2026-02-09", + "promised_date": "2026-03-14", + "first_gr_date": "2026-03-14", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000127", + "po_item": "00010", + "po_date": "2026-02-17", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-23", + "days_late": -1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000128", + "po_item": "00020", + "po_date": "2026-02-23", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-24", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000129", + "po_item": "00030", + "po_date": "2026-03-04", + "promised_date": "2026-04-11", + "first_gr_date": "2026-04-08", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000130", + "po_item": "00040", + "po_date": "2026-03-09", + "promised_date": "2026-04-17", + "first_gr_date": "2026-04-17", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000131", + "po_item": "00050", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "first_gr_date": "2026-05-01", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000132", + "po_item": "00010", + "po_date": "2026-03-25", + "promised_date": "2026-05-11", + "first_gr_date": "2026-05-09", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000133", + "po_item": "00020", + "po_date": "2026-04-02", + "promised_date": "2026-05-13", + "first_gr_date": "2026-05-13", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000134", + "po_item": "00030", + "po_date": "2026-04-06", + "promised_date": "2026-05-03", + "first_gr_date": "2026-04-30", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000135", + "po_item": "00040", + "po_date": "2026-04-15", + "promised_date": "2026-05-18", + "first_gr_date": "2026-05-18", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000136", + "po_item": "00050", + "po_date": "2026-04-20", + "promised_date": "2026-05-10", + "first_gr_date": "2026-05-08", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000137", + "po_item": "00010", + "po_date": "2026-04-29", + "promised_date": "2026-06-01", + "first_gr_date": "2026-06-01", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000138", + "po_item": "00020", + "po_date": "2026-05-06", + "promised_date": "2026-05-28", + "first_gr_date": "2026-05-28", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000139", + "po_item": "00030", + "po_date": "2026-05-14", + "promised_date": "2026-06-03", + "first_gr_date": "2026-05-31", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + } + ] + }, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/procurement_washed_bourbon.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/procurement_washed_bourbon.json new file mode 100644 index 00000000000..88afa209359 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/procurement_washed_bourbon.json @@ -0,0 +1,2249 @@ +{ + "id": "procurement_washed_bourbon", + "label": "Procurement: Washed Bourbon", + "type": "procurement", + "durations": [ + 35, 16, 62, 7, 40, 25, 48, 12, 30, 14, 30, 19, 22, 23, 25, 23, 25, 27, 29, + 31, 23, 25, 27, 29, 31, 22, 24, 26, 28, 18, 28, 30, 32, 22, 24, 27, 30, 19, + 22, 23, 34, 23, 25, 27, 29, 20, 23, 25, 27, 29, 20, 22, 24, 26, 28 + ], + "observations": [ + { + "date": "2022-05-03", + "value": 35 + }, + { + "date": "2022-10-18", + "value": 16 + }, + { + "date": "2023-01-24", + "value": 62 + }, + { + "date": "2023-06-15", + "value": 7 + }, + { + "date": "2023-09-28", + "value": 40 + }, + { + "date": "2024-02-12", + "value": 25 + }, + { + "date": "2024-05-07", + "value": 48 + }, + { + "date": "2024-09-19", + "value": 12 + }, + { + "date": "2025-02-04", + "value": 30 + }, + { + "date": "2025-06-10", + "value": 14 + }, + { + "date": "2025-09-06", + "value": 30 + }, + { + "date": "2025-09-12", + "value": 19 + }, + { + "date": "2025-09-18", + "value": 22 + }, + { + "date": "2025-09-24", + "value": 23 + }, + { + "date": "2025-09-30", + "value": 25 + }, + { + "date": "2025-10-04", + "value": 23 + }, + { + "date": "2025-10-10", + "value": 25 + }, + { + "date": "2025-10-16", + "value": 27 + }, + { + "date": "2025-10-22", + "value": 29 + }, + { + "date": "2025-10-28", + "value": 31 + }, + { + "date": "2025-11-05", + "value": 23 + }, + { + "date": "2025-11-11", + "value": 25 + }, + { + "date": "2025-11-17", + "value": 27 + }, + { + "date": "2025-11-23", + "value": 29 + }, + { + "date": "2025-11-29", + "value": 31 + }, + { + "date": "2025-12-06", + "value": 22 + }, + { + "date": "2025-12-12", + "value": 24 + }, + { + "date": "2025-12-18", + "value": 26 + }, + { + "date": "2025-12-24", + "value": 28 + }, + { + "date": "2025-12-30", + "value": 18 + }, + { + "date": "2026-01-04", + "value": 28 + }, + { + "date": "2026-01-10", + "value": 30 + }, + { + "date": "2026-01-16", + "value": 32 + }, + { + "date": "2026-01-22", + "value": 22 + }, + { + "date": "2026-01-28", + "value": 24 + }, + { + "date": "2026-02-05", + "value": 27 + }, + { + "date": "2026-02-11", + "value": 30 + }, + { + "date": "2026-02-17", + "value": 19 + }, + { + "date": "2026-02-23", + "value": 22 + }, + { + "date": "2026-02-29", + "value": 23 + }, + { + "date": "2026-03-06", + "value": 34 + }, + { + "date": "2026-03-12", + "value": 23 + }, + { + "date": "2026-03-18", + "value": 25 + }, + { + "date": "2026-03-24", + "value": 27 + }, + { + "date": "2026-03-30", + "value": 29 + }, + { + "date": "2026-04-04", + "value": 20 + }, + { + "date": "2026-04-10", + "value": 23 + }, + { + "date": "2026-04-16", + "value": 25 + }, + { + "date": "2026-04-22", + "value": 27 + }, + { + "date": "2026-04-28", + "value": 29 + }, + { + "date": "2026-05-05", + "value": 20 + }, + { + "date": "2026-05-11", + "value": 22 + }, + { + "date": "2026-05-17", + "value": 24 + }, + { + "date": "2026-05-23", + "value": 26 + }, + { + "date": "2026-05-29", + "value": 28 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 35.0, + "median": 35.0, + "p10": 35.0, + "p25": 35.0, + "p75": 35.0, + "p90": 35.0, + "n": 1 + }, + { + "month": "2022-10", + "mean": 16.0, + "median": 16.0, + "p10": 16.0, + "p25": 16.0, + "p75": 16.0, + "p90": 16.0, + "n": 1 + }, + { + "month": "2023-01", + "mean": 62.0, + "median": 62.0, + "p10": 62.0, + "p25": 62.0, + "p75": 62.0, + "p90": 62.0, + "n": 1 + }, + { + "month": "2023-06", + "mean": 7.0, + "median": 7.0, + "p10": 7.0, + "p25": 7.0, + "p75": 7.0, + "p90": 7.0, + "n": 1 + }, + { + "month": "2023-09", + "mean": 40.0, + "median": 40.0, + "p10": 40.0, + "p25": 40.0, + "p75": 40.0, + "p90": 40.0, + "n": 1 + }, + { + "month": "2024-02", + "mean": 25.0, + "median": 25.0, + "p10": 25.0, + "p25": 25.0, + "p75": 25.0, + "p90": 25.0, + "n": 1 + }, + { + "month": "2024-05", + "mean": 48.0, + "median": 48.0, + "p10": 48.0, + "p25": 48.0, + "p75": 48.0, + "p90": 48.0, + "n": 1 + }, + { + "month": "2024-09", + "mean": 12.0, + "median": 12.0, + "p10": 12.0, + "p25": 12.0, + "p75": 12.0, + "p90": 12.0, + "n": 1 + }, + { + "month": "2025-02", + "mean": 30.0, + "median": 30.0, + "p10": 30.0, + "p25": 30.0, + "p75": 30.0, + "p90": 30.0, + "n": 1 + }, + { + "month": "2025-06", + "mean": 14.0, + "median": 14.0, + "p10": 14.0, + "p25": 14.0, + "p75": 14.0, + "p90": 14.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 23.8, + "median": 23.0, + "p10": 20.2, + "p25": 22.0, + "p75": 25.0, + "p90": 28.0, + "n": 5 + }, + { + "month": "2025-10", + "mean": 27.0, + "median": 27.0, + "p10": 23.8, + "p25": 25.0, + "p75": 29.0, + "p90": 30.2, + "n": 5 + }, + { + "month": "2025-11", + "mean": 27.0, + "median": 27.0, + "p10": 23.8, + "p25": 25.0, + "p75": 29.0, + "p90": 30.2, + "n": 5 + }, + { + "month": "2025-12", + "mean": 23.6, + "median": 24.0, + "p10": 19.6, + "p25": 22.0, + "p75": 26.0, + "p90": 27.2, + "n": 5 + }, + { + "month": "2026-01", + "mean": 27.2, + "median": 28.0, + "p10": 22.8, + "p25": 24.0, + "p75": 30.0, + "p90": 31.2, + "n": 5 + }, + { + "month": "2026-02", + "mean": 24.2, + "median": 23.0, + "p10": 20.2, + "p25": 22.0, + "p75": 27.0, + "p90": 28.8, + "n": 5 + }, + { + "month": "2026-03", + "mean": 27.6, + "median": 27.0, + "p10": 23.8, + "p25": 25.0, + "p75": 29.0, + "p90": 32.0, + "n": 5 + }, + { + "month": "2026-04", + "mean": 24.8, + "median": 25.0, + "p10": 21.2, + "p25": 23.0, + "p75": 27.0, + "p90": 28.2, + "n": 5 + }, + { + "month": "2026-05", + "mean": 24.0, + "median": 24.0, + "p10": 20.8, + "p25": 22.0, + "p75": 26.0, + "p90": 27.2, + "n": 5 + } + ], + "stats": { + "n": 55, + "mean": 26.1, + "median": 25.0, + "std": 8.0, + "min": 7, + "max": 62, + "p25": 22.5, + "p75": 29.0, + "p85": 30.0, + "p95": 36.5 + }, + "plifz": 7, + "plifz_note": null, + "pct_exceeding_plifz": 98.2, + "annotations": [], + "cost": null, + "detail_rows": { + "columns": [ + { + "key": "matnr", + "sap_field": "MATNR", + "sap_table": "EKPO", + "label": "Material", + "unit": null + }, + { + "key": "po_number", + "sap_field": "EBELN", + "sap_table": "EKKO", + "label": "PO Number", + "unit": null + }, + { + "key": "po_item", + "sap_field": "EBELP", + "sap_table": "EKPO", + "label": "PO Item", + "unit": null + }, + { + "key": "vendor_id", + "sap_field": "LIFNR", + "sap_table": "EKKO", + "label": "Vendor (LIFNR)", + "unit": null + }, + { + "key": "vendor_name", + "sap_field": "NAME1", + "sap_table": "LFA1", + "label": "Vendor Name", + "unit": null + }, + { + "key": "po_date", + "sap_field": "BEDAT", + "sap_table": "EKKO", + "label": "PO Date", + "unit": null + }, + { + "key": "promised_date", + "sap_field": "EINDT", + "sap_table": "EKET", + "label": "Promised Date", + "unit": null + }, + { + "key": "sched_qty", + "sap_field": "MENGE", + "sap_table": "EKET", + "label": "Scheduled Qty", + "unit": null + }, + { + "key": "gr_qty_to_date", + "sap_field": "WEMNG", + "sap_table": "EKET", + "label": "GR Qty (to date)", + "unit": null + }, + { + "key": "gr_mblnr", + "sap_field": "MBLNR", + "sap_table": "MSEG", + "label": "Goods Receipt Document", + "unit": null + }, + { + "key": "first_gr_date", + "sap_field": "BUDAT", + "sap_table": "MKPF", + "label": "Goods Receipt Date", + "unit": null + }, + { + "key": "days_vs_promised", + "sap_field": null, + "sap_table": null, + "label": "Days vs Promised", + "unit": "d" + }, + { + "key": "lead_time_days", + "sap_field": null, + "sap_table": null, + "label": "Lead Time (days)", + "unit": "d" + } + ], + "rows": [ + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000142", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-09-29", + "promised_date": "2025-10-29", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000142", + "first_gr_date": "2025-10-29", + "days_vs_promised": 0, + "lead_time_days": 30 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000141", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-09-23", + "promised_date": "2025-11-02", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000141", + "first_gr_date": "2025-11-02", + "days_vs_promised": 0, + "lead_time_days": 40 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000140", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-09-18", + "promised_date": "2025-10-14", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000140", + "first_gr_date": "2025-11-07", + "days_vs_promised": 24, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000143", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-10-09", + "promised_date": "2025-11-07", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000143", + "first_gr_date": "2025-11-07", + "days_vs_promised": 0, + "lead_time_days": 29 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000144", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-10-13", + "promised_date": "2025-11-10", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000144", + "first_gr_date": "2025-11-10", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000146", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-10-28", + "promised_date": "2025-12-05", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000146", + "first_gr_date": "2025-12-03", + "days_vs_promised": -2, + "lead_time_days": 36 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000145", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-10-22", + "promised_date": "2025-12-11", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000145", + "first_gr_date": "2025-12-11", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000148", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-11-10", + "promised_date": "2025-12-21", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000148", + "first_gr_date": "2025-12-21", + "days_vs_promised": 0, + "lead_time_days": 41 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000147", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-11-03", + "promised_date": "2025-12-23", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000147", + "first_gr_date": "2025-12-23", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000150", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-11-24", + "promised_date": "2026-01-09", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000150", + "first_gr_date": "2026-01-06", + "days_vs_promised": -3, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000149", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-11-18", + "promised_date": "2026-01-07", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000149", + "first_gr_date": "2026-01-07", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000151", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-01", + "promised_date": "2026-01-16", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000151", + "first_gr_date": "2026-01-13", + "days_vs_promised": -3, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000153", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000153", + "first_gr_date": "2026-01-13", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000155", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-29", + "promised_date": "2026-01-20", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000155", + "first_gr_date": "2026-01-20", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000152", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-08", + "promised_date": "2026-01-26", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000152", + "first_gr_date": "2026-01-26", + "days_vs_promised": 0, + "lead_time_days": 49 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000154", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-22", + "promised_date": "2026-02-02", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000154", + "first_gr_date": "2026-01-31", + "days_vs_promised": -2, + "lead_time_days": 40 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000156", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-01-07", + "promised_date": "2026-02-17", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000156", + "first_gr_date": "2026-02-14", + "days_vs_promised": -3, + "lead_time_days": 38 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000158", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-01-21", + "promised_date": "2026-02-15", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000158", + "first_gr_date": "2026-02-15", + "days_vs_promised": 0, + "lead_time_days": 25 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000157", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-01-15", + "promised_date": "2026-02-27", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000157", + "first_gr_date": "2026-02-27", + "days_vs_promised": 0, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000159", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-01-27", + "promised_date": "2026-03-06", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000159", + "first_gr_date": "2026-03-06", + "days_vs_promised": 0, + "lead_time_days": 38 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000176", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-12", + "promised_date": "2026-03-07", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000176", + "first_gr_date": "2026-03-07", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000160", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-02-02", + "promised_date": "2026-03-08", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000160", + "first_gr_date": "2026-03-08", + "days_vs_promised": 0, + "lead_time_days": 34 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000175", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-03", + "promised_date": "2026-03-10", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000175", + "first_gr_date": "2026-03-10", + "days_vs_promised": 0, + "lead_time_days": 35 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000178", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-25", + "promised_date": "2026-03-19", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000178", + "first_gr_date": "2026-03-19", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000161", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-02-12", + "promised_date": "2026-03-19", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000161", + "first_gr_date": "2026-03-20", + "days_vs_promised": 1, + "lead_time_days": 36 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000179", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-04", + "promised_date": "2026-03-30", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000179", + "first_gr_date": "2026-03-29", + "days_vs_promised": -1, + "lead_time_days": 25 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000162", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-02-17", + "promised_date": "2026-03-20", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000162", + "first_gr_date": "2026-04-01", + "days_vs_promised": 12, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000180", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-12", + "promised_date": "2026-04-02", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000180", + "first_gr_date": "2026-04-02", + "days_vs_promised": 0, + "lead_time_days": 21 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000177", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-17", + "promised_date": "2026-04-03", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000177", + "first_gr_date": "2026-04-05", + "days_vs_promised": 2, + "lead_time_days": 47 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000165", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-10", + "promised_date": "2026-04-07", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000165", + "first_gr_date": "2026-04-07", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000164", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-03", + "promised_date": "2026-04-10", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000164", + "first_gr_date": "2026-04-09", + "days_vs_promised": -1, + "lead_time_days": 37 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000163", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-02-23", + "promised_date": "2026-04-10", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000163", + "first_gr_date": "2026-04-10", + "days_vs_promised": 0, + "lead_time_days": 46 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000166", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-17", + "promised_date": "2026-04-11", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000166", + "first_gr_date": "2026-04-10", + "days_vs_promised": -1, + "lead_time_days": 24 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000167", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-26", + "promised_date": "2026-04-16", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000167", + "first_gr_date": "2026-04-16", + "days_vs_promised": 0, + "lead_time_days": 21 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000181", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-19", + "promised_date": "2026-04-24", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000181", + "first_gr_date": "2026-04-24", + "days_vs_promised": 0, + "lead_time_days": 36 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000182", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-24", + "promised_date": "2026-04-28", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000182", + "first_gr_date": "2026-04-25", + "days_vs_promised": -3, + "lead_time_days": 32 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000183", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-01", + "promised_date": "2026-04-26", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000183", + "first_gr_date": "2026-04-26", + "days_vs_promised": 0, + "lead_time_days": 25 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000168", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-30", + "promised_date": "2026-05-01", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000168", + "first_gr_date": "2026-04-30", + "days_vs_promised": -1, + "lead_time_days": 31 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000171", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-04-23", + "promised_date": "2026-05-14", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000171", + "first_gr_date": "2026-05-11", + "days_vs_promised": -3, + "lead_time_days": 18 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000185", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-14", + "promised_date": "2026-05-11", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000185", + "first_gr_date": "2026-05-11", + "days_vs_promised": 0, + "lead_time_days": 27 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000184", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-06", + "promised_date": "2026-05-16", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000184", + "first_gr_date": "2026-05-16", + "days_vs_promised": 0, + "lead_time_days": 40 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000169", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000169", + "first_gr_date": "2026-05-27", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000170", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-04-14", + "promised_date": "2026-05-29", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000170", + "first_gr_date": "2026-05-27", + "days_vs_promised": -2, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000174", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-05-13", + "promised_date": "2026-06-05", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000174", + "first_gr_date": "2026-06-03", + "days_vs_promised": -2, + "lead_time_days": 21 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000172", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-04-30", + "promised_date": "2026-06-11", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000172", + "first_gr_date": "2026-06-09", + "days_vs_promised": -2, + "lead_time_days": 40 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000186", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-21", + "promised_date": "2026-06-10", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000186", + "first_gr_date": "2026-06-15", + "days_vs_promised": 5, + "lead_time_days": 55 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000189", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-05-12", + "promised_date": "2026-06-16", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000189", + "first_gr_date": "2026-06-17", + "days_vs_promised": 1, + "lead_time_days": 36 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000187", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-30", + "promised_date": "2026-06-18", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000187", + "first_gr_date": "2026-06-18", + "days_vs_promised": 0, + "lead_time_days": 49 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000188", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-05-04", + "promised_date": "2026-06-21", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000188", + "first_gr_date": "2026-06-21", + "days_vs_promised": 0, + "lead_time_days": 48 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000173", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-05-05", + "promised_date": "2026-06-24", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000173", + "first_gr_date": "2026-07-02", + "days_vs_promised": 8, + "lead_time_days": 58 + } + ] + }, + "ref_date_col": "first_gr_date", + "n_batches": null, + "n_movements": 10, + "yield_data": null, + "consumption_data": null, + "supplier_otif": { + "primary_vendor": { + "id": "D0005", + "name": "Midland Mid-Tier Partners" + }, + "vendors": [ + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "n_lines": 35, + "n_late": 4, + "on_time_pct": 88.6, + "in_full_pct": 100.0, + "otif_pct": 88.6, + "mean_days_late_all": 1.29, + "mean_days_late_when_late": 11.2, + "median_days_late_when_late": 10.0, + "max_days_late": 24, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 11.4, + "ge_3d_pct": 8.6, + "ge_7d_pct": 8.6, + "ge_14d_pct": 2.9 + } + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "n_lines": 15, + "n_late": 3, + "on_time_pct": 80.0, + "in_full_pct": 100.0, + "otif_pct": 80.0, + "mean_days_late_all": 0.53, + "mean_days_late_when_late": 2.7, + "median_days_late_when_late": 2, + "max_days_late": 5, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 20.0, + "ge_3d_pct": 6.7, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + } + } + ], + "worst_events": [ + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000140", + "po_item": "00010", + "po_date": "2025-09-18", + "promised_date": "2025-10-14", + "first_gr_date": "2025-11-07", + "days_late": 24, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000162", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-03-20", + "first_gr_date": "2026-04-01", + "days_late": 12, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000173", + "po_item": "00040", + "po_date": "2026-05-05", + "promised_date": "2026-06-24", + "first_gr_date": "2026-07-02", + "days_late": 8, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000186", + "po_item": "00020", + "po_date": "2026-04-21", + "promised_date": "2026-06-10", + "first_gr_date": "2026-06-15", + "days_late": 5, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000177", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-05", + "days_late": 2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0 + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000161", + "po_item": "00020", + "po_date": "2026-02-12", + "promised_date": "2026-03-19", + "first_gr_date": "2026-03-20", + "days_late": 1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000189", + "po_item": "00050", + "po_date": "2026-05-12", + "promised_date": "2026-06-16", + "first_gr_date": "2026-06-17", + "days_late": 1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + } + ], + "coverage_pct": 100.0, + "n_lines": 50, + "data_quality_note": "100% in-full across every line \u2014 likely WEMNG = MENGE is auto-stamped at goods receipt rather than measured. Treat the in-full metric as a data-entry artifact at this site.", + "tolerance_days": 0, + "under_tolerance_pct": 0.05, + "lines": [ + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000140", + "po_item": "00010", + "po_date": "2025-09-18", + "promised_date": "2025-10-14", + "first_gr_date": "2025-11-07", + "days_late": 24, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000141", + "po_item": "00020", + "po_date": "2025-09-23", + "promised_date": "2025-11-02", + "first_gr_date": "2025-11-02", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000142", + "po_item": "00030", + "po_date": "2025-09-29", + "promised_date": "2025-10-29", + "first_gr_date": "2025-10-29", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000143", + "po_item": "00040", + "po_date": "2025-10-09", + "promised_date": "2025-11-07", + "first_gr_date": "2025-11-07", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000144", + "po_item": "00050", + "po_date": "2025-10-13", + "promised_date": "2025-11-10", + "first_gr_date": "2025-11-10", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000145", + "po_item": "00010", + "po_date": "2025-10-22", + "promised_date": "2025-12-11", + "first_gr_date": "2025-12-11", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000146", + "po_item": "00020", + "po_date": "2025-10-28", + "promised_date": "2025-12-05", + "first_gr_date": "2025-12-03", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000147", + "po_item": "00030", + "po_date": "2025-11-03", + "promised_date": "2025-12-23", + "first_gr_date": "2025-12-23", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000148", + "po_item": "00040", + "po_date": "2025-11-10", + "promised_date": "2025-12-21", + "first_gr_date": "2025-12-21", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000149", + "po_item": "00050", + "po_date": "2025-11-18", + "promised_date": "2026-01-07", + "first_gr_date": "2026-01-07", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000150", + "po_item": "00010", + "po_date": "2025-11-24", + "promised_date": "2026-01-09", + "first_gr_date": "2026-01-06", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000151", + "po_item": "00020", + "po_date": "2025-12-01", + "promised_date": "2026-01-16", + "first_gr_date": "2026-01-13", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000152", + "po_item": "00030", + "po_date": "2025-12-08", + "promised_date": "2026-01-26", + "first_gr_date": "2026-01-26", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000153", + "po_item": "00040", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-13", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000154", + "po_item": "00050", + "po_date": "2025-12-22", + "promised_date": "2026-02-02", + "first_gr_date": "2026-01-31", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000155", + "po_item": "00010", + "po_date": "2025-12-29", + "promised_date": "2026-01-20", + "first_gr_date": "2026-01-20", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000156", + "po_item": "00020", + "po_date": "2026-01-07", + "promised_date": "2026-02-17", + "first_gr_date": "2026-02-14", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000157", + "po_item": "00030", + "po_date": "2026-01-15", + "promised_date": "2026-02-27", + "first_gr_date": "2026-02-27", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000158", + "po_item": "00040", + "po_date": "2026-01-21", + "promised_date": "2026-02-15", + "first_gr_date": "2026-02-15", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000159", + "po_item": "00050", + "po_date": "2026-01-27", + "promised_date": "2026-03-06", + "first_gr_date": "2026-03-06", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000160", + "po_item": "00010", + "po_date": "2026-02-02", + "promised_date": "2026-03-08", + "first_gr_date": "2026-03-08", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000161", + "po_item": "00020", + "po_date": "2026-02-12", + "promised_date": "2026-03-19", + "first_gr_date": "2026-03-20", + "days_late": 1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000162", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-03-20", + "first_gr_date": "2026-04-01", + "days_late": 12, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000163", + "po_item": "00040", + "po_date": "2026-02-23", + "promised_date": "2026-04-10", + "first_gr_date": "2026-04-10", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000164", + "po_item": "00050", + "po_date": "2026-03-03", + "promised_date": "2026-04-10", + "first_gr_date": "2026-04-09", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000165", + "po_item": "00010", + "po_date": "2026-03-10", + "promised_date": "2026-04-07", + "first_gr_date": "2026-04-07", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000166", + "po_item": "00020", + "po_date": "2026-03-17", + "promised_date": "2026-04-11", + "first_gr_date": "2026-04-10", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000167", + "po_item": "00030", + "po_date": "2026-03-26", + "promised_date": "2026-04-16", + "first_gr_date": "2026-04-16", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000168", + "po_item": "00040", + "po_date": "2026-03-30", + "promised_date": "2026-05-01", + "first_gr_date": "2026-04-30", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000169", + "po_item": "00050", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "first_gr_date": "2026-05-27", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000170", + "po_item": "00010", + "po_date": "2026-04-14", + "promised_date": "2026-05-29", + "first_gr_date": "2026-05-27", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000171", + "po_item": "00020", + "po_date": "2026-04-23", + "promised_date": "2026-05-14", + "first_gr_date": "2026-05-11", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000172", + "po_item": "00030", + "po_date": "2026-04-30", + "promised_date": "2026-06-11", + "first_gr_date": "2026-06-09", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000173", + "po_item": "00040", + "po_date": "2026-05-05", + "promised_date": "2026-06-24", + "first_gr_date": "2026-07-02", + "days_late": 8, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000174", + "po_item": "00050", + "po_date": "2026-05-13", + "promised_date": "2026-06-05", + "first_gr_date": "2026-06-03", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000175", + "po_item": "00010", + "po_date": "2026-02-03", + "promised_date": "2026-03-10", + "first_gr_date": "2026-03-10", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000176", + "po_item": "00020", + "po_date": "2026-02-12", + "promised_date": "2026-03-07", + "first_gr_date": "2026-03-07", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000177", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-05", + "days_late": 2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000178", + "po_item": "00040", + "po_date": "2026-02-25", + "promised_date": "2026-03-19", + "first_gr_date": "2026-03-19", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000179", + "po_item": "00050", + "po_date": "2026-03-04", + "promised_date": "2026-03-30", + "first_gr_date": "2026-03-29", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000180", + "po_item": "00010", + "po_date": "2026-03-12", + "promised_date": "2026-04-02", + "first_gr_date": "2026-04-02", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000181", + "po_item": "00020", + "po_date": "2026-03-19", + "promised_date": "2026-04-24", + "first_gr_date": "2026-04-24", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000182", + "po_item": "00030", + "po_date": "2026-03-24", + "promised_date": "2026-04-28", + "first_gr_date": "2026-04-25", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000183", + "po_item": "00040", + "po_date": "2026-04-01", + "promised_date": "2026-04-26", + "first_gr_date": "2026-04-26", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000184", + "po_item": "00050", + "po_date": "2026-04-06", + "promised_date": "2026-05-16", + "first_gr_date": "2026-05-16", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000185", + "po_item": "00010", + "po_date": "2026-04-14", + "promised_date": "2026-05-11", + "first_gr_date": "2026-05-11", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000186", + "po_item": "00020", + "po_date": "2026-04-21", + "promised_date": "2026-06-10", + "first_gr_date": "2026-06-15", + "days_late": 5, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000187", + "po_item": "00030", + "po_date": "2026-04-30", + "promised_date": "2026-06-18", + "first_gr_date": "2026-06-18", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000188", + "po_item": "00040", + "po_date": "2026-05-04", + "promised_date": "2026-06-21", + "first_gr_date": "2026-06-21", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000189", + "po_item": "00050", + "po_date": "2026-05-12", + "promised_date": "2026-06-16", + "first_gr_date": "2026-06-17", + "days_late": 1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + } + ] + }, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/prod_duration_green_blend.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/prod_duration_green_blend.json new file mode 100644 index 00000000000..0356d40c2c4 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/prod_duration_green_blend.json @@ -0,0 +1,922 @@ +{ + "id": "prod_duration_green_blend", + "label": "Production: Green Blend", + "type": "production", + "durations": [ + 3, 5, 2, 7, 4, 6, 3, 14, 4, 8, 3, 5, 1, 6, 3, 4, 4, 4, 3, 4, 4, 4, 4, 5, 5, + 5, 4, 5, 5, 3, 4, 5, 3, 3, 5, 3, 4, 4, 3, 3, 4, 4, 4, 4, 5, 5, 4, 4, 5, 5 + ], + "observations": [ + { + "date": "2022-04-18", + "value": 3 + }, + { + "date": "2022-07-05", + "value": 5 + }, + { + "date": "2022-10-12", + "value": 2 + }, + { + "date": "2023-01-20", + "value": 7 + }, + { + "date": "2023-04-15", + "value": 4 + }, + { + "date": "2023-07-28", + "value": 6 + }, + { + "date": "2023-10-05", + "value": 3 + }, + { + "date": "2024-01-12", + "value": 14 + }, + { + "date": "2024-04-22", + "value": 4 + }, + { + "date": "2024-07-10", + "value": 8 + }, + { + "date": "2024-10-18", + "value": 3 + }, + { + "date": "2025-01-25", + "value": 5 + }, + { + "date": "2025-05-08", + "value": 1 + }, + { + "date": "2025-08-15", + "value": 6 + }, + { + "date": "2025-09-04", + "value": 3 + }, + { + "date": "2025-09-10", + "value": 4 + }, + { + "date": "2025-09-16", + "value": 4 + }, + { + "date": "2025-09-22", + "value": 4 + }, + { + "date": "2025-10-05", + "value": 3 + }, + { + "date": "2025-10-11", + "value": 4 + }, + { + "date": "2025-10-17", + "value": 4 + }, + { + "date": "2025-10-23", + "value": 4 + }, + { + "date": "2025-11-06", + "value": 4 + }, + { + "date": "2025-11-12", + "value": 5 + }, + { + "date": "2025-11-18", + "value": 5 + }, + { + "date": "2025-11-24", + "value": 5 + }, + { + "date": "2025-12-04", + "value": 4 + }, + { + "date": "2025-12-10", + "value": 5 + }, + { + "date": "2025-12-16", + "value": 5 + }, + { + "date": "2025-12-22", + "value": 3 + }, + { + "date": "2026-01-05", + "value": 4 + }, + { + "date": "2026-01-11", + "value": 5 + }, + { + "date": "2026-01-17", + "value": 3 + }, + { + "date": "2026-01-23", + "value": 3 + }, + { + "date": "2026-02-06", + "value": 5 + }, + { + "date": "2026-02-12", + "value": 3 + }, + { + "date": "2026-02-18", + "value": 4 + }, + { + "date": "2026-02-24", + "value": 4 + }, + { + "date": "2026-03-04", + "value": 3 + }, + { + "date": "2026-03-10", + "value": 3 + }, + { + "date": "2026-03-16", + "value": 4 + }, + { + "date": "2026-03-22", + "value": 4 + }, + { + "date": "2026-04-05", + "value": 4 + }, + { + "date": "2026-04-11", + "value": 4 + }, + { + "date": "2026-04-17", + "value": 5 + }, + { + "date": "2026-04-23", + "value": 5 + }, + { + "date": "2026-05-06", + "value": 4 + }, + { + "date": "2026-05-12", + "value": 4 + }, + { + "date": "2026-05-18", + "value": 5 + }, + { + "date": "2026-05-24", + "value": 5 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2022-07", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2023-01", + "mean": 7.0, + "median": 7.0, + "p10": 7.0, + "p25": 7.0, + "p75": 7.0, + "p90": 7.0, + "n": 1 + }, + { + "month": "2023-04", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 6.0, + "median": 6.0, + "p10": 6.0, + "p25": 6.0, + "p75": 6.0, + "p90": 6.0, + "n": 1 + }, + { + "month": "2023-10", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2024-01", + "mean": 14.0, + "median": 14.0, + "p10": 14.0, + "p25": 14.0, + "p75": 14.0, + "p90": 14.0, + "n": 1 + }, + { + "month": "2024-04", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2024-07", + "mean": 8.0, + "median": 8.0, + "p10": 8.0, + "p25": 8.0, + "p75": 8.0, + "p90": 8.0, + "n": 1 + }, + { + "month": "2024-10", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2025-05", + "mean": 1.0, + "median": 1.0, + "p10": 1.0, + "p25": 1.0, + "p75": 1.0, + "p90": 1.0, + "n": 1 + }, + { + "month": "2025-08", + "mean": 6.0, + "median": 6.0, + "p10": 6.0, + "p25": 6.0, + "p75": 6.0, + "p90": 6.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 3.8, + "median": 4.0, + "p10": 3.3, + "p25": 3.8, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2025-10", + "mean": 3.8, + "median": 4.0, + "p10": 3.3, + "p25": 3.8, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2025-11", + "mean": 4.8, + "median": 5.0, + "p10": 4.3, + "p25": 4.8, + "p75": 5.0, + "p90": 5.0, + "n": 4 + }, + { + "month": "2025-12", + "mean": 4.3, + "median": 4.5, + "p10": 3.3, + "p25": 3.8, + "p75": 5.0, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-01", + "mean": 3.8, + "median": 3.5, + "p10": 3.0, + "p25": 3.0, + "p75": 4.3, + "p90": 4.7, + "n": 4 + }, + { + "month": "2026-02", + "mean": 4.0, + "median": 4.0, + "p10": 3.3, + "p25": 3.8, + "p75": 4.3, + "p90": 4.7, + "n": 4 + }, + { + "month": "2026-03", + "mean": 3.5, + "median": 3.5, + "p10": 3.0, + "p25": 3.0, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2026-04", + "mean": 4.5, + "median": 4.5, + "p10": 4.0, + "p25": 4.0, + "p75": 5.0, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-05", + "mean": 4.5, + "median": 4.5, + "p10": 4.0, + "p25": 4.0, + "p75": 5.0, + "p90": 5.0, + "n": 4 + } + ], + "stats": { + "n": 50, + "mean": 4.4, + "median": 4.0, + "std": 1.8, + "min": 1, + "max": 14, + "p25": 3.3, + "p75": 5.0, + "p85": 5.0, + "p95": 6.6 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 10.0, + "annotations": [], + "cost": null, + "detail_rows": null, + "ref_date_col": null, + "n_batches": 50, + "n_movements": null, + "yield_data": { + "values": [ + 98.2, 99.5, 97.8, 100.2, 96.5, 99.0, 98.8, 97.2, 99.5, 100.8, 98.0, 97.5, + 99.2, 98.5, 98.4, 98.6, 98.9, 99.1, 98.3, 98.5, 98.8, 99.1, 99.0, 99.3, + 99.6, 98.2, 99.0, 99.3, 97.9, 98.2, 98.9, 97.6, 97.9, 98.1, 98.1, 98.4, + 98.6, 98.9, 98.1, 98.3, 98.5, 98.8, 98.8, 99.0, 99.3, 99.6, 98.7, 99.0, + 99.3, 97.9 + ], + "observations": [ + { + "date": "2022-04-21", + "value": 98.2 + }, + { + "date": "2022-07-10", + "value": 99.5 + }, + { + "date": "2022-10-14", + "value": 97.8 + }, + { + "date": "2023-01-27", + "value": 100.2 + }, + { + "date": "2023-04-19", + "value": 96.5 + }, + { + "date": "2023-08-03", + "value": 99.0 + }, + { + "date": "2023-10-08", + "value": 98.8 + }, + { + "date": "2024-01-26", + "value": 97.2 + }, + { + "date": "2024-04-26", + "value": 99.5 + }, + { + "date": "2024-07-18", + "value": 100.8 + }, + { + "date": "2024-10-21", + "value": 98.0 + }, + { + "date": "2025-01-30", + "value": 97.5 + }, + { + "date": "2025-05-09", + "value": 99.2 + }, + { + "date": "2025-08-21", + "value": 98.5 + }, + { + "date": "2025-09-05", + "value": 98.4 + }, + { + "date": "2025-09-11", + "value": 98.6 + }, + { + "date": "2025-09-17", + "value": 98.9 + }, + { + "date": "2025-09-23", + "value": 99.1 + }, + { + "date": "2025-10-06", + "value": 98.3 + }, + { + "date": "2025-10-12", + "value": 98.5 + }, + { + "date": "2025-10-18", + "value": 98.8 + }, + { + "date": "2025-10-24", + "value": 99.1 + }, + { + "date": "2025-11-04", + "value": 99.0 + }, + { + "date": "2025-11-10", + "value": 99.3 + }, + { + "date": "2025-11-16", + "value": 99.6 + }, + { + "date": "2025-11-22", + "value": 98.2 + }, + { + "date": "2025-12-05", + "value": 99.0 + }, + { + "date": "2025-12-11", + "value": 99.3 + }, + { + "date": "2025-12-17", + "value": 97.9 + }, + { + "date": "2025-12-23", + "value": 98.2 + }, + { + "date": "2026-01-06", + "value": 98.9 + }, + { + "date": "2026-01-12", + "value": 97.6 + }, + { + "date": "2026-01-18", + "value": 97.9 + }, + { + "date": "2026-01-24", + "value": 98.1 + }, + { + "date": "2026-02-04", + "value": 98.1 + }, + { + "date": "2026-02-10", + "value": 98.4 + }, + { + "date": "2026-02-16", + "value": 98.6 + }, + { + "date": "2026-02-22", + "value": 98.9 + }, + { + "date": "2026-03-05", + "value": 98.1 + }, + { + "date": "2026-03-11", + "value": 98.3 + }, + { + "date": "2026-03-17", + "value": 98.5 + }, + { + "date": "2026-03-23", + "value": 98.8 + }, + { + "date": "2026-04-06", + "value": 98.8 + }, + { + "date": "2026-04-12", + "value": 99.0 + }, + { + "date": "2026-04-18", + "value": 99.3 + }, + { + "date": "2026-04-24", + "value": 99.6 + }, + { + "date": "2026-05-04", + "value": 98.7 + }, + { + "date": "2026-05-10", + "value": 99.0 + }, + { + "date": "2026-05-16", + "value": 99.3 + }, + { + "date": "2026-05-22", + "value": 97.9 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 98.2, + "median": 98.2, + "p10": 98.2, + "p25": 98.2, + "p75": 98.2, + "p90": 98.2, + "n": 1 + }, + { + "month": "2022-07", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2022-10", + "mean": 97.8, + "median": 97.8, + "p10": 97.8, + "p25": 97.8, + "p75": 97.8, + "p90": 97.8, + "n": 1 + }, + { + "month": "2023-01", + "mean": 100.2, + "median": 100.2, + "p10": 100.2, + "p25": 100.2, + "p75": 100.2, + "p90": 100.2, + "n": 1 + }, + { + "month": "2023-04", + "mean": 96.5, + "median": 96.5, + "p10": 96.5, + "p25": 96.5, + "p75": 96.5, + "p90": 96.5, + "n": 1 + }, + { + "month": "2023-08", + "mean": 99.0, + "median": 99.0, + "p10": 99.0, + "p25": 99.0, + "p75": 99.0, + "p90": 99.0, + "n": 1 + }, + { + "month": "2023-10", + "mean": 98.8, + "median": 98.8, + "p10": 98.8, + "p25": 98.8, + "p75": 98.8, + "p90": 98.8, + "n": 1 + }, + { + "month": "2024-01", + "mean": 97.2, + "median": 97.2, + "p10": 97.2, + "p25": 97.2, + "p75": 97.2, + "p90": 97.2, + "n": 1 + }, + { + "month": "2024-04", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2024-07", + "mean": 100.8, + "median": 100.8, + "p10": 100.8, + "p25": 100.8, + "p75": 100.8, + "p90": 100.8, + "n": 1 + }, + { + "month": "2024-10", + "mean": 98.0, + "median": 98.0, + "p10": 98.0, + "p25": 98.0, + "p75": 98.0, + "p90": 98.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 97.5, + "median": 97.5, + "p10": 97.5, + "p25": 97.5, + "p75": 97.5, + "p90": 97.5, + "n": 1 + }, + { + "month": "2025-05", + "mean": 99.2, + "median": 99.2, + "p10": 99.2, + "p25": 99.2, + "p75": 99.2, + "p90": 99.2, + "n": 1 + }, + { + "month": "2025-08", + "mean": 98.5, + "median": 98.5, + "p10": 98.5, + "p25": 98.5, + "p75": 98.5, + "p90": 98.5, + "n": 1 + }, + { + "month": "2025-09", + "mean": 98.8, + "median": 98.8, + "p10": 98.5, + "p25": 98.6, + "p75": 99.0, + "p90": 99.0, + "n": 4 + }, + { + "month": "2025-10", + "mean": 98.7, + "median": 98.7, + "p10": 98.4, + "p25": 98.5, + "p75": 98.9, + "p90": 99.0, + "n": 4 + }, + { + "month": "2025-11", + "mean": 99.0, + "median": 99.2, + "p10": 98.4, + "p25": 98.8, + "p75": 99.4, + "p90": 99.5, + "n": 4 + }, + { + "month": "2025-12", + "mean": 98.6, + "median": 98.6, + "p10": 98.0, + "p25": 98.1, + "p75": 99.1, + "p90": 99.2, + "n": 4 + }, + { + "month": "2026-01", + "mean": 98.1, + "median": 98.0, + "p10": 97.7, + "p25": 97.8, + "p75": 98.3, + "p90": 98.7, + "n": 4 + }, + { + "month": "2026-02", + "mean": 98.5, + "median": 98.5, + "p10": 98.2, + "p25": 98.3, + "p75": 98.7, + "p90": 98.8, + "n": 4 + }, + { + "month": "2026-03", + "mean": 98.4, + "median": 98.4, + "p10": 98.2, + "p25": 98.3, + "p75": 98.6, + "p90": 98.7, + "n": 4 + }, + { + "month": "2026-04", + "mean": 99.2, + "median": 99.2, + "p10": 98.9, + "p25": 99.0, + "p75": 99.4, + "p90": 99.5, + "n": 4 + }, + { + "month": "2026-05", + "mean": 98.7, + "median": 98.9, + "p10": 98.1, + "p25": 98.5, + "p75": 99.1, + "p90": 99.2, + "n": 4 + } + ], + "stats": { + "n": 50, + "mean": 98.7, + "median": 98.8, + "std": 0.7, + "min": 96.5, + "max": 100.8, + "p25": 98.2, + "p75": 99.1, + "p85": 99.3, + "p95": 99.6 + }, + "reference": 100.0 + }, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/prod_duration_harbor_dark_roast.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/prod_duration_harbor_dark_roast.json new file mode 100644 index 00000000000..722ca8a9b3d --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/prod_duration_harbor_dark_roast.json @@ -0,0 +1,1147 @@ +{ + "id": "prod_duration_harbor_dark_roast", + "label": "Production: Harbor Dark Roast", + "type": "production", + "durations": [ + 2, 3, 1, 4, 2, 5, 3, 7, 2, 4, 1, 3, 10, 3, 2, 5, 0, 4, 3, 2, 6, 3, 4, 4, 3, + 3, 4, 2, 3, 3, 2, 2, 3, 3, 3, 3, 3, 4, 3, 3, 3, 4, 4, 4, 4, 3, 3, 4, 2, 3, + 3, 2, 2, 3, 3, 3, 3, 3 + ], + "observations": [ + { + "date": "2022-05-20", + "value": 2 + }, + { + "date": "2022-06-10", + "value": 3 + }, + { + "date": "2022-07-15", + "value": 1 + }, + { + "date": "2022-08-22", + "value": 4 + }, + { + "date": "2022-10-05", + "value": 2 + }, + { + "date": "2022-11-18", + "value": 5 + }, + { + "date": "2023-01-10", + "value": 3 + }, + { + "date": "2023-03-25", + "value": 7 + }, + { + "date": "2023-05-12", + "value": 2 + }, + { + "date": "2023-07-08", + "value": 4 + }, + { + "date": "2023-09-15", + "value": 1 + }, + { + "date": "2023-11-22", + "value": 3 + }, + { + "date": "2024-01-18", + "value": 10 + }, + { + "date": "2024-03-08", + "value": 3 + }, + { + "date": "2024-05-15", + "value": 2 + }, + { + "date": "2024-07-22", + "value": 5 + }, + { + "date": "2024-09-10", + "value": 0 + }, + { + "date": "2024-11-05", + "value": 4 + }, + { + "date": "2025-01-15", + "value": 3 + }, + { + "date": "2025-03-20", + "value": 2 + }, + { + "date": "2025-05-28", + "value": 6 + }, + { + "date": "2025-08-05", + "value": 3 + }, + { + "date": "2025-09-05", + "value": 4 + }, + { + "date": "2025-09-11", + "value": 4 + }, + { + "date": "2025-09-17", + "value": 3 + }, + { + "date": "2025-09-23", + "value": 3 + }, + { + "date": "2025-10-06", + "value": 4 + }, + { + "date": "2025-10-12", + "value": 2 + }, + { + "date": "2025-10-18", + "value": 3 + }, + { + "date": "2025-10-24", + "value": 3 + }, + { + "date": "2025-11-04", + "value": 2 + }, + { + "date": "2025-11-10", + "value": 2 + }, + { + "date": "2025-11-16", + "value": 3 + }, + { + "date": "2025-11-22", + "value": 3 + }, + { + "date": "2025-12-05", + "value": 3 + }, + { + "date": "2025-12-11", + "value": 3 + }, + { + "date": "2025-12-17", + "value": 3 + }, + { + "date": "2025-12-23", + "value": 4 + }, + { + "date": "2026-01-06", + "value": 3 + }, + { + "date": "2026-01-12", + "value": 3 + }, + { + "date": "2026-01-18", + "value": 3 + }, + { + "date": "2026-01-24", + "value": 4 + }, + { + "date": "2026-02-04", + "value": 4 + }, + { + "date": "2026-02-10", + "value": 4 + }, + { + "date": "2026-02-16", + "value": 4 + }, + { + "date": "2026-02-22", + "value": 3 + }, + { + "date": "2026-03-05", + "value": 3 + }, + { + "date": "2026-03-11", + "value": 4 + }, + { + "date": "2026-03-17", + "value": 2 + }, + { + "date": "2026-03-23", + "value": 3 + }, + { + "date": "2026-04-06", + "value": 3 + }, + { + "date": "2026-04-12", + "value": 2 + }, + { + "date": "2026-04-18", + "value": 2 + }, + { + "date": "2026-04-24", + "value": 3 + }, + { + "date": "2026-05-04", + "value": 3 + }, + { + "date": "2026-05-10", + "value": 3 + }, + { + "date": "2026-05-16", + "value": 3 + }, + { + "date": "2026-05-22", + "value": 3 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2022-06", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2022-07", + "mean": 1.0, + "median": 1.0, + "p10": 1.0, + "p25": 1.0, + "p75": 1.0, + "p90": 1.0, + "n": 1 + }, + { + "month": "2022-08", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2022-11", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2023-01", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2023-03", + "mean": 7.0, + "median": 7.0, + "p10": 7.0, + "p25": 7.0, + "p75": 7.0, + "p90": 7.0, + "n": 1 + }, + { + "month": "2023-05", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2023-09", + "mean": 1.0, + "median": 1.0, + "p10": 1.0, + "p25": 1.0, + "p75": 1.0, + "p90": 1.0, + "n": 1 + }, + { + "month": "2023-11", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2024-01", + "mean": 10.0, + "median": 10.0, + "p10": 10.0, + "p25": 10.0, + "p75": 10.0, + "p90": 10.0, + "n": 1 + }, + { + "month": "2024-03", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2024-05", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2024-07", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2024-09", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2025-03", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2025-05", + "mean": 6.0, + "median": 6.0, + "p10": 6.0, + "p25": 6.0, + "p75": 6.0, + "p90": 6.0, + "n": 1 + }, + { + "month": "2025-08", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 3.5, + "median": 3.5, + "p10": 3.0, + "p25": 3.0, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2025-10", + "mean": 3.0, + "median": 3.0, + "p10": 2.3, + "p25": 2.8, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2025-11", + "mean": 2.5, + "median": 2.5, + "p10": 2.0, + "p25": 2.0, + "p75": 3.0, + "p90": 3.0, + "n": 4 + }, + { + "month": "2025-12", + "mean": 3.3, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2026-01", + "mean": 3.3, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2026-02", + "mean": 3.8, + "median": 4.0, + "p10": 3.3, + "p25": 3.8, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2026-03", + "mean": 3.0, + "median": 3.0, + "p10": 2.3, + "p25": 2.8, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2026-04", + "mean": 2.5, + "median": 2.5, + "p10": 2.0, + "p25": 2.0, + "p75": 3.0, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-05", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 4 + } + ], + "stats": { + "n": 58, + "mean": 3.2, + "median": 3.0, + "std": 1.4, + "min": 0, + "max": 10, + "p25": 3.0, + "p75": 4.0, + "p85": 4.0, + "p95": 5.2 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 5.2, + "annotations": [], + "cost": null, + "detail_rows": null, + "ref_date_col": null, + "n_batches": 58, + "n_movements": null, + "yield_data": { + "values": [ + 99.0, 98.5, 99.8, 97.2, 99.5, 98.0, 100.2, 98.8, 99.2, 97.5, 99.0, 98.5, + 100.5, 99.2, 98.0, 97.8, 99.5, 98.2, 99.0, 98.8, 99.5, 97.0, 98.9, 99.1, + 99.4, 99.6, 98.8, 99.0, 99.3, 99.6, 99.5, 99.8, 100.1, 98.7, 99.5, 99.8, + 98.4, 98.7, 99.4, 98.1, 98.4, 98.6, 98.6, 98.9, 99.1, 99.4, 98.6, 98.8, + 99.0, 99.3, 99.3, 99.5, 99.8, 100.1, 99.2, 99.5, 99.8, 98.4 + ], + "observations": [ + { + "date": "2022-05-22", + "value": 99.0 + }, + { + "date": "2022-06-13", + "value": 98.5 + }, + { + "date": "2022-07-16", + "value": 99.8 + }, + { + "date": "2022-08-26", + "value": 97.2 + }, + { + "date": "2022-10-07", + "value": 99.5 + }, + { + "date": "2022-11-23", + "value": 98.0 + }, + { + "date": "2023-01-13", + "value": 100.2 + }, + { + "date": "2023-04-01", + "value": 98.8 + }, + { + "date": "2023-05-14", + "value": 99.2 + }, + { + "date": "2023-07-12", + "value": 97.5 + }, + { + "date": "2023-09-16", + "value": 99.0 + }, + { + "date": "2023-11-25", + "value": 98.5 + }, + { + "date": "2024-01-28", + "value": 100.5 + }, + { + "date": "2024-03-11", + "value": 99.2 + }, + { + "date": "2024-05-17", + "value": 98.0 + }, + { + "date": "2024-07-27", + "value": 97.8 + }, + { + "date": "2024-09-10", + "value": 99.5 + }, + { + "date": "2024-11-09", + "value": 98.2 + }, + { + "date": "2025-01-18", + "value": 99.0 + }, + { + "date": "2025-03-22", + "value": 98.8 + }, + { + "date": "2025-06-03", + "value": 99.5 + }, + { + "date": "2025-08-08", + "value": 97.0 + }, + { + "date": "2025-09-05", + "value": 98.9 + }, + { + "date": "2025-09-11", + "value": 99.1 + }, + { + "date": "2025-09-17", + "value": 99.4 + }, + { + "date": "2025-09-23", + "value": 99.6 + }, + { + "date": "2025-10-06", + "value": 98.8 + }, + { + "date": "2025-10-12", + "value": 99.0 + }, + { + "date": "2025-10-18", + "value": 99.3 + }, + { + "date": "2025-10-24", + "value": 99.6 + }, + { + "date": "2025-11-04", + "value": 99.5 + }, + { + "date": "2025-11-10", + "value": 99.8 + }, + { + "date": "2025-11-16", + "value": 100.1 + }, + { + "date": "2025-11-22", + "value": 98.7 + }, + { + "date": "2025-12-05", + "value": 99.5 + }, + { + "date": "2025-12-11", + "value": 99.8 + }, + { + "date": "2025-12-17", + "value": 98.4 + }, + { + "date": "2025-12-23", + "value": 98.7 + }, + { + "date": "2026-01-06", + "value": 99.4 + }, + { + "date": "2026-01-12", + "value": 98.1 + }, + { + "date": "2026-01-18", + "value": 98.4 + }, + { + "date": "2026-01-24", + "value": 98.6 + }, + { + "date": "2026-02-04", + "value": 98.6 + }, + { + "date": "2026-02-10", + "value": 98.9 + }, + { + "date": "2026-02-16", + "value": 99.1 + }, + { + "date": "2026-02-22", + "value": 99.4 + }, + { + "date": "2026-03-05", + "value": 98.6 + }, + { + "date": "2026-03-11", + "value": 98.8 + }, + { + "date": "2026-03-17", + "value": 99.0 + }, + { + "date": "2026-03-23", + "value": 99.3 + }, + { + "date": "2026-04-06", + "value": 99.3 + }, + { + "date": "2026-04-12", + "value": 99.5 + }, + { + "date": "2026-04-18", + "value": 99.8 + }, + { + "date": "2026-04-24", + "value": 100.1 + }, + { + "date": "2026-05-04", + "value": 99.2 + }, + { + "date": "2026-05-10", + "value": 99.5 + }, + { + "date": "2026-05-16", + "value": 99.8 + }, + { + "date": "2026-05-22", + "value": 98.4 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 99.0, + "median": 99.0, + "p10": 99.0, + "p25": 99.0, + "p75": 99.0, + "p90": 99.0, + "n": 1 + }, + { + "month": "2022-06", + "mean": 98.5, + "median": 98.5, + "p10": 98.5, + "p25": 98.5, + "p75": 98.5, + "p90": 98.5, + "n": 1 + }, + { + "month": "2022-07", + "mean": 99.8, + "median": 99.8, + "p10": 99.8, + "p25": 99.8, + "p75": 99.8, + "p90": 99.8, + "n": 1 + }, + { + "month": "2022-08", + "mean": 97.2, + "median": 97.2, + "p10": 97.2, + "p25": 97.2, + "p75": 97.2, + "p90": 97.2, + "n": 1 + }, + { + "month": "2022-10", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2022-11", + "mean": 98.0, + "median": 98.0, + "p10": 98.0, + "p25": 98.0, + "p75": 98.0, + "p90": 98.0, + "n": 1 + }, + { + "month": "2023-01", + "mean": 100.2, + "median": 100.2, + "p10": 100.2, + "p25": 100.2, + "p75": 100.2, + "p90": 100.2, + "n": 1 + }, + { + "month": "2023-04", + "mean": 98.8, + "median": 98.8, + "p10": 98.8, + "p25": 98.8, + "p75": 98.8, + "p90": 98.8, + "n": 1 + }, + { + "month": "2023-05", + "mean": 99.2, + "median": 99.2, + "p10": 99.2, + "p25": 99.2, + "p75": 99.2, + "p90": 99.2, + "n": 1 + }, + { + "month": "2023-07", + "mean": 97.5, + "median": 97.5, + "p10": 97.5, + "p25": 97.5, + "p75": 97.5, + "p90": 97.5, + "n": 1 + }, + { + "month": "2023-09", + "mean": 99.0, + "median": 99.0, + "p10": 99.0, + "p25": 99.0, + "p75": 99.0, + "p90": 99.0, + "n": 1 + }, + { + "month": "2023-11", + "mean": 98.5, + "median": 98.5, + "p10": 98.5, + "p25": 98.5, + "p75": 98.5, + "p90": 98.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 100.5, + "median": 100.5, + "p10": 100.5, + "p25": 100.5, + "p75": 100.5, + "p90": 100.5, + "n": 1 + }, + { + "month": "2024-03", + "mean": 99.2, + "median": 99.2, + "p10": 99.2, + "p25": 99.2, + "p75": 99.2, + "p90": 99.2, + "n": 1 + }, + { + "month": "2024-05", + "mean": 98.0, + "median": 98.0, + "p10": 98.0, + "p25": 98.0, + "p75": 98.0, + "p90": 98.0, + "n": 1 + }, + { + "month": "2024-07", + "mean": 97.8, + "median": 97.8, + "p10": 97.8, + "p25": 97.8, + "p75": 97.8, + "p90": 97.8, + "n": 1 + }, + { + "month": "2024-09", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2024-11", + "mean": 98.2, + "median": 98.2, + "p10": 98.2, + "p25": 98.2, + "p75": 98.2, + "p90": 98.2, + "n": 1 + }, + { + "month": "2025-01", + "mean": 99.0, + "median": 99.0, + "p10": 99.0, + "p25": 99.0, + "p75": 99.0, + "p90": 99.0, + "n": 1 + }, + { + "month": "2025-03", + "mean": 98.8, + "median": 98.8, + "p10": 98.8, + "p25": 98.8, + "p75": 98.8, + "p90": 98.8, + "n": 1 + }, + { + "month": "2025-06", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2025-08", + "mean": 97.0, + "median": 97.0, + "p10": 97.0, + "p25": 97.0, + "p75": 97.0, + "p90": 97.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 99.3, + "median": 99.3, + "p10": 99.0, + "p25": 99.1, + "p75": 99.5, + "p90": 99.5, + "n": 4 + }, + { + "month": "2025-10", + "mean": 99.2, + "median": 99.2, + "p10": 98.9, + "p25": 99.0, + "p75": 99.4, + "p90": 99.5, + "n": 4 + }, + { + "month": "2025-11", + "mean": 99.5, + "median": 99.7, + "p10": 98.9, + "p25": 99.3, + "p75": 99.9, + "p90": 100.0, + "n": 4 + }, + { + "month": "2025-12", + "mean": 99.1, + "median": 99.1, + "p10": 98.5, + "p25": 98.6, + "p75": 99.6, + "p90": 99.7, + "n": 4 + }, + { + "month": "2026-01", + "mean": 98.6, + "median": 98.5, + "p10": 98.2, + "p25": 98.3, + "p75": 98.8, + "p90": 99.2, + "n": 4 + }, + { + "month": "2026-02", + "mean": 99.0, + "median": 99.0, + "p10": 98.7, + "p25": 98.8, + "p75": 99.2, + "p90": 99.3, + "n": 4 + }, + { + "month": "2026-03", + "mean": 98.9, + "median": 98.9, + "p10": 98.7, + "p25": 98.8, + "p75": 99.1, + "p90": 99.2, + "n": 4 + }, + { + "month": "2026-04", + "mean": 99.7, + "median": 99.7, + "p10": 99.4, + "p25": 99.5, + "p75": 99.9, + "p90": 100.0, + "n": 4 + }, + { + "month": "2026-05", + "mean": 99.2, + "median": 99.4, + "p10": 98.6, + "p25": 99.0, + "p75": 99.6, + "p90": 99.7, + "n": 4 + } + ], + "stats": { + "n": 58, + "mean": 99.0, + "median": 99.1, + "std": 0.7, + "min": 97.0, + "max": 100.5, + "p25": 98.6, + "p75": 99.5, + "p85": 99.7, + "p95": 100.1 + }, + "reference": 100.0 + }, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/prod_to_qa_pla.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/prod_to_qa_pla.json new file mode 100644 index 00000000000..ab01820e260 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/prod_to_qa_pla.json @@ -0,0 +1,580 @@ +{ + "id": "prod_to_qa_pla", + "label": "Production \u2192 QA Release (PL-A)", + "type": "qa_hold", + "durations": [ + 2, 1, 3, 2, 5, 2, 4, 3, 6, 2, 13, 3, 7, 1, 4, 5, 2, 0, 3, 8, 2, 5, 2, 3, 3, + 3, 3, 3, 4, 4, 3, 3, 3, 4, 3, 3, 3, 2, 4, 4, 3, 3, 4, 2, 3, 3, 3, 3, 3, 4, + 3, 3, 3, 3, 3, 3, 3, 3 + ], + "observations": [ + { + "date": "2022-05-22", + "value": 2 + }, + { + "date": "2022-06-13", + "value": 1 + }, + { + "date": "2022-07-16", + "value": 3 + }, + { + "date": "2022-08-26", + "value": 2 + }, + { + "date": "2022-10-07", + "value": 5 + }, + { + "date": "2022-11-23", + "value": 2 + }, + { + "date": "2023-01-13", + "value": 4 + }, + { + "date": "2023-04-01", + "value": 3 + }, + { + "date": "2023-05-14", + "value": 6 + }, + { + "date": "2023-07-12", + "value": 2 + }, + { + "date": "2023-09-16", + "value": 13 + }, + { + "date": "2023-11-25", + "value": 3 + }, + { + "date": "2024-01-28", + "value": 7 + }, + { + "date": "2024-03-11", + "value": 1 + }, + { + "date": "2024-05-17", + "value": 4 + }, + { + "date": "2024-07-27", + "value": 5 + }, + { + "date": "2024-09-10", + "value": 2 + }, + { + "date": "2024-11-09", + "value": 0 + }, + { + "date": "2025-01-18", + "value": 3 + }, + { + "date": "2025-03-22", + "value": 8 + }, + { + "date": "2025-06-03", + "value": 2 + }, + { + "date": "2025-08-08", + "value": 5 + }, + { + "date": "2025-09-04", + "value": 2 + }, + { + "date": "2025-09-10", + "value": 3 + }, + { + "date": "2025-09-16", + "value": 3 + }, + { + "date": "2025-09-22", + "value": 3 + }, + { + "date": "2025-10-05", + "value": 3 + }, + { + "date": "2025-10-11", + "value": 3 + }, + { + "date": "2025-10-17", + "value": 4 + }, + { + "date": "2025-10-23", + "value": 4 + }, + { + "date": "2025-11-06", + "value": 3 + }, + { + "date": "2025-11-12", + "value": 3 + }, + { + "date": "2025-11-18", + "value": 3 + }, + { + "date": "2025-11-24", + "value": 4 + }, + { + "date": "2025-12-04", + "value": 3 + }, + { + "date": "2025-12-10", + "value": 3 + }, + { + "date": "2025-12-16", + "value": 3 + }, + { + "date": "2025-12-22", + "value": 2 + }, + { + "date": "2026-01-05", + "value": 4 + }, + { + "date": "2026-01-11", + "value": 4 + }, + { + "date": "2026-01-17", + "value": 3 + }, + { + "date": "2026-01-23", + "value": 3 + }, + { + "date": "2026-02-06", + "value": 4 + }, + { + "date": "2026-02-12", + "value": 2 + }, + { + "date": "2026-02-18", + "value": 3 + }, + { + "date": "2026-02-24", + "value": 3 + }, + { + "date": "2026-03-04", + "value": 3 + }, + { + "date": "2026-03-10", + "value": 3 + }, + { + "date": "2026-03-16", + "value": 3 + }, + { + "date": "2026-03-22", + "value": 4 + }, + { + "date": "2026-04-05", + "value": 3 + }, + { + "date": "2026-04-11", + "value": 3 + }, + { + "date": "2026-04-17", + "value": 3 + }, + { + "date": "2026-04-23", + "value": 3 + }, + { + "date": "2026-05-06", + "value": 3 + }, + { + "date": "2026-05-12", + "value": 3 + }, + { + "date": "2026-05-18", + "value": 3 + }, + { + "date": "2026-05-24", + "value": 3 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2022-06", + "mean": 1.0, + "median": 1.0, + "p10": 1.0, + "p25": 1.0, + "p75": 1.0, + "p90": 1.0, + "n": 1 + }, + { + "month": "2022-07", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2022-08", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2022-10", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2022-11", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2023-01", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2023-04", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2023-05", + "mean": 6.0, + "median": 6.0, + "p10": 6.0, + "p25": 6.0, + "p75": 6.0, + "p90": 6.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2023-09", + "mean": 13.0, + "median": 13.0, + "p10": 13.0, + "p25": 13.0, + "p75": 13.0, + "p90": 13.0, + "n": 1 + }, + { + "month": "2023-11", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2024-01", + "mean": 7.0, + "median": 7.0, + "p10": 7.0, + "p25": 7.0, + "p75": 7.0, + "p90": 7.0, + "n": 1 + }, + { + "month": "2024-03", + "mean": 1.0, + "median": 1.0, + "p10": 1.0, + "p25": 1.0, + "p75": 1.0, + "p90": 1.0, + "n": 1 + }, + { + "month": "2024-05", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2024-07", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2024-09", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2025-03", + "mean": 8.0, + "median": 8.0, + "p10": 8.0, + "p25": 8.0, + "p75": 8.0, + "p90": 8.0, + "n": 1 + }, + { + "month": "2025-06", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2025-08", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 2.8, + "median": 3.0, + "p10": 2.3, + "p25": 2.8, + "p75": 3.0, + "p90": 3.0, + "n": 4 + }, + { + "month": "2025-10", + "mean": 3.5, + "median": 3.5, + "p10": 3.0, + "p25": 3.0, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2025-11", + "mean": 3.3, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2025-12", + "mean": 2.8, + "median": 3.0, + "p10": 2.3, + "p25": 2.8, + "p75": 3.0, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-01", + "mean": 3.5, + "median": 3.5, + "p10": 3.0, + "p25": 3.0, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2026-02", + "mean": 3.0, + "median": 3.0, + "p10": 2.3, + "p25": 2.8, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2026-03", + "mean": 3.3, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2026-04", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-05", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 4 + } + ], + "stats": { + "n": 58, + "mean": 3.4, + "median": 3.0, + "std": 1.8, + "min": 0, + "max": 13, + "p25": 3.0, + "p75": 4.0, + "p85": 4.0, + "p95": 6.2 + }, + "plifz": 5, + "plifz_note": "WEBAZ (GR processing days)", + "pct_exceeding_plifz": 6.9, + "annotations": [], + "cost": null, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": null, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/raw_dwell_highland_arabica.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/raw_dwell_highland_arabica.json new file mode 100644 index 00000000000..2814b71a3c7 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/raw_dwell_highland_arabica.json @@ -0,0 +1,687 @@ +{ + "id": "raw_dwell_highland_arabica", + "label": "Raw Material Dwell: Highland Arabica", + "type": "raw_material_dwell", + "durations": [ + 35, 62, 18, 88, 42, 55, 30, 72, 25, 48, 15, 95, 130, 45, 38, 65, 22, 78, 5, + 55, 40, 28, 85, 50, 110, 32, 68, 45, 92, 20, 58, 35, 42, 75, 12, 48, 60, 38, + 49, 54, 34, 39, 42, 61, 41, 46, 49, 53, 36, 41, 44, 48, 52, 36, 39, 43, 47, + 51, 47, 50, 54, 58, 39, 45, 49, 54, 34, 39, 56, 61, 41, 46, 49, 56, 36, 41, + 44, 48, 32, 36, 39, 43, 47 + ], + "observations": [ + { + "date": "2022-04-02", + "value": 35 + }, + { + "date": "2022-04-15", + "value": 62 + }, + { + "date": "2022-04-28", + "value": 18 + }, + { + "date": "2022-08-05", + "value": 88 + }, + { + "date": "2022-08-12", + "value": 42 + }, + { + "date": "2022-08-20", + "value": 55 + }, + { + "date": "2022-08-28", + "value": 30 + }, + { + "date": "2023-01-10", + "value": 72 + }, + { + "date": "2023-01-22", + "value": 25 + }, + { + "date": "2023-01-30", + "value": 48 + }, + { + "date": "2023-06-05", + "value": 15 + }, + { + "date": "2023-06-18", + "value": 95 + }, + { + "date": "2023-10-03", + "value": 130 + }, + { + "date": "2023-10-10", + "value": 45 + }, + { + "date": "2023-10-18", + "value": 38 + }, + { + "date": "2023-10-25", + "value": 65 + }, + { + "date": "2023-10-30", + "value": 22 + }, + { + "date": "2024-03-05", + "value": 78 + }, + { + "date": "2024-03-12", + "value": 5 + }, + { + "date": "2024-03-20", + "value": 55 + }, + { + "date": "2024-03-28", + "value": 40 + }, + { + "date": "2024-07-08", + "value": 28 + }, + { + "date": "2024-07-15", + "value": 85 + }, + { + "date": "2024-07-22", + "value": 50 + }, + { + "date": "2024-11-04", + "value": 110 + }, + { + "date": "2024-11-11", + "value": 32 + }, + { + "date": "2024-11-18", + "value": 68 + }, + { + "date": "2024-11-25", + "value": 45 + }, + { + "date": "2024-11-30", + "value": 92 + }, + { + "date": "2025-03-03", + "value": 20 + }, + { + "date": "2025-03-10", + "value": 58 + }, + { + "date": "2025-03-17", + "value": 35 + }, + { + "date": "2025-03-24", + "value": 42 + }, + { + "date": "2025-07-02", + "value": 75 + }, + { + "date": "2025-07-09", + "value": 12 + }, + { + "date": "2025-07-16", + "value": 48 + }, + { + "date": "2025-07-23", + "value": 60 + }, + { + "date": "2025-07-30", + "value": 38 + }, + { + "date": "2025-09-05", + "value": 49 + }, + { + "date": "2025-09-11", + "value": 54 + }, + { + "date": "2025-09-17", + "value": 34 + }, + { + "date": "2025-09-23", + "value": 39 + }, + { + "date": "2025-09-29", + "value": 42 + }, + { + "date": "2025-10-06", + "value": 61 + }, + { + "date": "2025-10-12", + "value": 41 + }, + { + "date": "2025-10-18", + "value": 46 + }, + { + "date": "2025-10-24", + "value": 49 + }, + { + "date": "2025-10-30", + "value": 53 + }, + { + "date": "2025-11-04", + "value": 36 + }, + { + "date": "2025-11-10", + "value": 41 + }, + { + "date": "2025-11-16", + "value": 44 + }, + { + "date": "2025-11-22", + "value": 48 + }, + { + "date": "2025-11-28", + "value": 52 + }, + { + "date": "2025-12-05", + "value": 36 + }, + { + "date": "2025-12-11", + "value": 39 + }, + { + "date": "2025-12-17", + "value": 43 + }, + { + "date": "2025-12-23", + "value": 47 + }, + { + "date": "2025-12-29", + "value": 51 + }, + { + "date": "2026-01-06", + "value": 47 + }, + { + "date": "2026-01-12", + "value": 50 + }, + { + "date": "2026-01-18", + "value": 54 + }, + { + "date": "2026-01-24", + "value": 58 + }, + { + "date": "2026-01-30", + "value": 39 + }, + { + "date": "2026-02-04", + "value": 45 + }, + { + "date": "2026-02-10", + "value": 49 + }, + { + "date": "2026-02-16", + "value": 54 + }, + { + "date": "2026-02-22", + "value": 34 + }, + { + "date": "2026-02-28", + "value": 39 + }, + { + "date": "2026-03-05", + "value": 56 + }, + { + "date": "2026-03-11", + "value": 61 + }, + { + "date": "2026-03-17", + "value": 41 + }, + { + "date": "2026-03-23", + "value": 46 + }, + { + "date": "2026-03-29", + "value": 49 + }, + { + "date": "2026-04-06", + "value": 56 + }, + { + "date": "2026-04-12", + "value": 36 + }, + { + "date": "2026-04-18", + "value": 41 + }, + { + "date": "2026-04-24", + "value": 44 + }, + { + "date": "2026-04-30", + "value": 48 + }, + { + "date": "2026-05-04", + "value": 32 + }, + { + "date": "2026-05-10", + "value": 36 + }, + { + "date": "2026-05-16", + "value": 39 + }, + { + "date": "2026-05-22", + "value": 43 + }, + { + "date": "2026-05-28", + "value": 47 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 38.3, + "median": 35.0, + "p10": 21.4, + "p25": 26.5, + "p75": 48.5, + "p90": 56.6, + "n": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "mean": 53.8, + "median": 48.5, + "p10": 33.6, + "p25": 39.0, + "p75": 63.3, + "p90": 78.1, + "n": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "mean": 48.3, + "median": 48.0, + "p10": 29.6, + "p25": 36.5, + "p75": 60.0, + "p90": 67.2, + "n": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "mean": 55.0, + "median": 55.0, + "p10": 23.0, + "p25": 35.0, + "p75": 75.0, + "p90": 87.0, + "n": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "mean": 60.0, + "median": 45.0, + "p10": 28.4, + "p25": 38.0, + "p75": 65.0, + "p90": 104.0, + "n": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "mean": 44.5, + "median": 47.5, + "p10": 15.5, + "p25": 31.3, + "p75": 60.8, + "p90": 71.1, + "n": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "mean": 54.3, + "median": 50.0, + "p10": 32.4, + "p25": 39.0, + "p75": 67.5, + "p90": 78.0, + "n": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "mean": 69.4, + "median": 68.0, + "p10": 37.2, + "p25": 45.0, + "p75": 92.0, + "p90": 102.8, + "n": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "mean": 38.8, + "median": 38.5, + "p10": 24.5, + "p25": 31.3, + "p75": 46.0, + "p90": 53.2, + "n": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "mean": 46.6, + "median": 48.0, + "p10": 22.4, + "p25": 38.0, + "p75": 60.0, + "p90": 69.0, + "n": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "mean": 43.6, + "median": 42.0, + "p10": 36.0, + "p25": 39.0, + "p75": 49.0, + "p90": 52.0, + "n": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "mean": 50.0, + "median": 49.0, + "p10": 43.0, + "p25": 46.0, + "p75": 53.0, + "p90": 57.8, + "n": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "mean": 44.2, + "median": 44.0, + "p10": 38.0, + "p25": 41.0, + "p75": 48.0, + "p90": 50.4, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "mean": 43.2, + "median": 43.0, + "p10": 37.2, + "p25": 39.0, + "p75": 47.0, + "p90": 49.4, + "n": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "mean": 49.6, + "median": 50.0, + "p10": 42.2, + "p25": 47.0, + "p75": 54.0, + "p90": 56.4, + "n": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "mean": 44.2, + "median": 45.0, + "p10": 36.0, + "p25": 39.0, + "p75": 49.0, + "p90": 52.0, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "mean": 50.6, + "median": 49.0, + "p10": 43.0, + "p25": 46.0, + "p75": 56.0, + "p90": 59.0, + "n": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "mean": 45.0, + "median": 44.0, + "p10": 38.0, + "p25": 41.0, + "p75": 48.0, + "p90": 52.8, + "n": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "mean": 39.4, + "median": 39.0, + "p10": 33.6, + "p25": 36.0, + "p75": 43.0, + "p90": 45.4, + "n": 5, + "total_kg_days": 827400.0 + } + ], + "stats": { + "n": 83, + "mean": 48.3, + "median": 46.0, + "std": 19.8, + "min": 5, + "max": 130, + "p25": 38.5, + "p75": 54.5, + "p85": 61.0, + "p95": 87.7 + }, + "plifz": 30, + "plifz_note": null, + "pct_exceeding_plifz": 89.2, + "annotations": [ + { + "date": "2023-09-01", + "label": "Supplier change for Highland Arabica" + } + ], + "cost": { + "unit_price": 3.2, + "currency": "CHF", + "mean_qty": 4200.0, + "monthly": [ + { + "month": "2022-04", + "n_events": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "n_events": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "n_events": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "n_events": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "n_events": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "n_events": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "n_events": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "n_events": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "n_events": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "n_events": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 827400.0 + } + ] + }, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": 38, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/raw_dwell_lowland_robusta.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/raw_dwell_lowland_robusta.json new file mode 100644 index 00000000000..310c5fd7d6d --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/raw_dwell_lowland_robusta.json @@ -0,0 +1,561 @@ +{ + "id": "raw_dwell_lowland_robusta", + "label": "Raw Material Dwell: Lowland Robusta", + "type": "raw_material_dwell", + "durations": [ + 28, 45, 12, 62, 33, 78, 20, 55, 8, 42, 65, 38, 15, 72, 25, 48, 3, 85, 30, + 55, 22, 40, 98, 18, 39, 41, 45, 30, 34, 38, 41, 27, 30, 32, 38, 23, 27, 29, + 32, 28, 32, 34, 37, 40, 28, 31, 33, 36, 39, 36, 39, 41, 45, 30, 35, 38, 41, + 27, 30, 34, 38, 23, 27, 29, 43, 28, 32, 34, 37 + ], + "observations": [ + { + "date": "2022-05-02", + "value": 28 + }, + { + "date": "2022-05-10", + "value": 45 + }, + { + "date": "2022-05-18", + "value": 12 + }, + { + "date": "2022-05-25", + "value": 62 + }, + { + "date": "2023-02-06", + "value": 33 + }, + { + "date": "2023-02-14", + "value": 78 + }, + { + "date": "2023-02-22", + "value": 20 + }, + { + "date": "2023-02-28", + "value": 55 + }, + { + "date": "2023-09-05", + "value": 8 + }, + { + "date": "2023-09-15", + "value": 42 + }, + { + "date": "2023-09-25", + "value": 65 + }, + { + "date": "2024-04-03", + "value": 38 + }, + { + "date": "2024-04-10", + "value": 15 + }, + { + "date": "2024-04-17", + "value": 72 + }, + { + "date": "2024-04-24", + "value": 25 + }, + { + "date": "2024-10-02", + "value": 48 + }, + { + "date": "2024-10-09", + "value": 3 + }, + { + "date": "2024-10-16", + "value": 85 + }, + { + "date": "2024-10-23", + "value": 30 + }, + { + "date": "2024-10-30", + "value": 55 + }, + { + "date": "2025-04-07", + "value": 22 + }, + { + "date": "2025-04-14", + "value": 40 + }, + { + "date": "2025-04-21", + "value": 98 + }, + { + "date": "2025-04-28", + "value": 18 + }, + { + "date": "2025-09-04", + "value": 39 + }, + { + "date": "2025-09-10", + "value": 41 + }, + { + "date": "2025-09-16", + "value": 45 + }, + { + "date": "2025-09-22", + "value": 30 + }, + { + "date": "2025-09-28", + "value": 34 + }, + { + "date": "2025-10-05", + "value": 38 + }, + { + "date": "2025-10-11", + "value": 41 + }, + { + "date": "2025-10-17", + "value": 27 + }, + { + "date": "2025-10-23", + "value": 30 + }, + { + "date": "2025-10-29", + "value": 32 + }, + { + "date": "2025-11-06", + "value": 38 + }, + { + "date": "2025-11-12", + "value": 23 + }, + { + "date": "2025-11-18", + "value": 27 + }, + { + "date": "2025-11-24", + "value": 29 + }, + { + "date": "2025-11-30", + "value": 32 + }, + { + "date": "2025-12-04", + "value": 28 + }, + { + "date": "2025-12-10", + "value": 32 + }, + { + "date": "2025-12-16", + "value": 34 + }, + { + "date": "2025-12-22", + "value": 37 + }, + { + "date": "2025-12-28", + "value": 40 + }, + { + "date": "2026-01-05", + "value": 28 + }, + { + "date": "2026-01-11", + "value": 31 + }, + { + "date": "2026-01-17", + "value": 33 + }, + { + "date": "2026-01-23", + "value": 36 + }, + { + "date": "2026-01-29", + "value": 39 + }, + { + "date": "2026-02-06", + "value": 36 + }, + { + "date": "2026-02-12", + "value": 39 + }, + { + "date": "2026-02-18", + "value": 41 + }, + { + "date": "2026-02-24", + "value": 45 + }, + { + "date": "2026-02-30", + "value": 30 + }, + { + "date": "2026-03-04", + "value": 35 + }, + { + "date": "2026-03-10", + "value": 38 + }, + { + "date": "2026-03-16", + "value": 41 + }, + { + "date": "2026-03-22", + "value": 27 + }, + { + "date": "2026-03-28", + "value": 30 + }, + { + "date": "2026-04-05", + "value": 34 + }, + { + "date": "2026-04-11", + "value": 38 + }, + { + "date": "2026-04-17", + "value": 23 + }, + { + "date": "2026-04-23", + "value": 27 + }, + { + "date": "2026-04-29", + "value": 29 + }, + { + "date": "2026-05-06", + "value": 43 + }, + { + "date": "2026-05-12", + "value": 28 + }, + { + "date": "2026-05-18", + "value": 32 + }, + { + "date": "2026-05-24", + "value": 34 + }, + { + "date": "2026-05-30", + "value": 37 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 36.8, + "median": 36.5, + "p10": 16.8, + "p25": 24.0, + "p75": 49.3, + "p90": 56.9, + "n": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "mean": 46.5, + "median": 44.0, + "p10": 23.9, + "p25": 29.8, + "p75": 60.8, + "p90": 71.1, + "n": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "mean": 38.3, + "median": 42.0, + "p10": 14.8, + "p25": 25.0, + "p75": 53.5, + "p90": 60.4, + "n": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "mean": 37.5, + "median": 31.5, + "p10": 18.0, + "p25": 22.5, + "p75": 46.5, + "p90": 61.8, + "n": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "mean": 44.2, + "median": 48.0, + "p10": 13.8, + "p25": 30.0, + "p75": 55.0, + "p90": 73.0, + "n": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "mean": 44.5, + "median": 31.0, + "p10": 19.2, + "p25": 21.0, + "p75": 54.5, + "p90": 80.6, + "n": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "mean": 37.8, + "median": 39.0, + "p10": 31.6, + "p25": 34.0, + "p75": 41.0, + "p90": 43.4, + "n": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "mean": 33.6, + "median": 32.0, + "p10": 28.2, + "p25": 30.0, + "p75": 38.0, + "p90": 39.8, + "n": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "mean": 29.8, + "median": 29.0, + "p10": 24.6, + "p25": 27.0, + "p75": 32.0, + "p90": 35.6, + "n": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "mean": 34.2, + "median": 34.0, + "p10": 29.6, + "p25": 32.0, + "p75": 37.0, + "p90": 38.8, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "mean": 33.4, + "median": 33.0, + "p10": 29.2, + "p25": 31.0, + "p75": 36.0, + "p90": 37.8, + "n": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "mean": 38.2, + "median": 39.0, + "p10": 32.4, + "p25": 36.0, + "p75": 41.0, + "p90": 43.4, + "n": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "mean": 34.2, + "median": 35.0, + "p10": 28.2, + "p25": 30.0, + "p75": 38.0, + "p90": 39.8, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "mean": 30.2, + "median": 29.0, + "p10": 24.6, + "p25": 27.0, + "p75": 34.0, + "p90": 36.4, + "n": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "mean": 34.8, + "median": 34.0, + "p10": 29.6, + "p25": 32.0, + "p75": 37.0, + "p90": 40.6, + "n": 5, + "total_kg_days": 1131000.0 + } + ], + "stats": { + "n": 69, + "mean": 36.6, + "median": 34.0, + "std": 15.8, + "min": 3, + "max": 98, + "p25": 28.0, + "p75": 41.0, + "p85": 45.0, + "p95": 69.2 + }, + "plifz": 21, + "plifz_note": null, + "pct_exceeding_plifz": 91.3, + "annotations": [], + "cost": { + "unit_price": 1.8, + "currency": "CHF", + "mean_qty": 6500.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "n_events": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "n_events": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "n_events": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "n_events": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "n_events": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 1131000.0 + } + ] + }, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": 42, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/raw_dwell_washed_bourbon.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/raw_dwell_washed_bourbon.json new file mode 100644 index 00000000000..6d4f820e553 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/raw_dwell_washed_bourbon.json @@ -0,0 +1,565 @@ +{ + "id": "raw_dwell_washed_bourbon", + "label": "Raw Material Dwell: Washed Bourbon", + "type": "raw_material_dwell", + "durations": [ + 40, 22, 68, 4, 55, 115, 30, 62, 18, 85, 35, 72, 10, 48, 95, 28, 52, 15, 78, + 42, 8, 65, 33, 100, 20, 41, 45, 48, 52, 34, 40, 44, 48, 30, 34, 50, 54, 36, + 41, 44, 50, 32, 36, 39, 43, 28, 32, 35, 38, 42, 39, 41, 45, 48, 52, 37, 40, + 44, 48, 30, 47, 50, 54, 36, 41, 46, 50, 32, 36, 39 + ], + "observations": [ + { + "date": "2022-06-05", + "value": 40 + }, + { + "date": "2022-06-15", + "value": 22 + }, + { + "date": "2022-06-25", + "value": 68 + }, + { + "date": "2023-03-08", + "value": 4 + }, + { + "date": "2023-03-15", + "value": 55 + }, + { + "date": "2023-03-22", + "value": 115 + }, + { + "date": "2023-03-29", + "value": 30 + }, + { + "date": "2023-11-06", + "value": 62 + }, + { + "date": "2023-11-13", + "value": 18 + }, + { + "date": "2023-11-20", + "value": 85 + }, + { + "date": "2024-06-03", + "value": 35 + }, + { + "date": "2024-06-10", + "value": 72 + }, + { + "date": "2024-06-17", + "value": 10 + }, + { + "date": "2024-06-24", + "value": 48 + }, + { + "date": "2024-06-30", + "value": 95 + }, + { + "date": "2025-01-07", + "value": 28 + }, + { + "date": "2025-01-14", + "value": 52 + }, + { + "date": "2025-01-21", + "value": 15 + }, + { + "date": "2025-01-28", + "value": 78 + }, + { + "date": "2025-08-04", + "value": 42 + }, + { + "date": "2025-08-08", + "value": 8 + }, + { + "date": "2025-08-12", + "value": 65 + }, + { + "date": "2025-08-16", + "value": 33 + }, + { + "date": "2025-08-20", + "value": 100 + }, + { + "date": "2025-08-24", + "value": 20 + }, + { + "date": "2025-09-06", + "value": 41 + }, + { + "date": "2025-09-12", + "value": 45 + }, + { + "date": "2025-09-18", + "value": 48 + }, + { + "date": "2025-09-24", + "value": 52 + }, + { + "date": "2025-09-30", + "value": 34 + }, + { + "date": "2025-10-04", + "value": 40 + }, + { + "date": "2025-10-10", + "value": 44 + }, + { + "date": "2025-10-16", + "value": 48 + }, + { + "date": "2025-10-22", + "value": 30 + }, + { + "date": "2025-10-28", + "value": 34 + }, + { + "date": "2025-11-05", + "value": 50 + }, + { + "date": "2025-11-11", + "value": 54 + }, + { + "date": "2025-11-17", + "value": 36 + }, + { + "date": "2025-11-23", + "value": 41 + }, + { + "date": "2025-11-29", + "value": 44 + }, + { + "date": "2025-12-06", + "value": 50 + }, + { + "date": "2025-12-12", + "value": 32 + }, + { + "date": "2025-12-18", + "value": 36 + }, + { + "date": "2025-12-24", + "value": 39 + }, + { + "date": "2025-12-30", + "value": 43 + }, + { + "date": "2026-01-04", + "value": 28 + }, + { + "date": "2026-01-10", + "value": 32 + }, + { + "date": "2026-01-16", + "value": 35 + }, + { + "date": "2026-01-22", + "value": 38 + }, + { + "date": "2026-01-28", + "value": 42 + }, + { + "date": "2026-02-05", + "value": 39 + }, + { + "date": "2026-02-11", + "value": 41 + }, + { + "date": "2026-02-17", + "value": 45 + }, + { + "date": "2026-02-23", + "value": 48 + }, + { + "date": "2026-02-29", + "value": 52 + }, + { + "date": "2026-03-06", + "value": 37 + }, + { + "date": "2026-03-12", + "value": 40 + }, + { + "date": "2026-03-18", + "value": 44 + }, + { + "date": "2026-03-24", + "value": 48 + }, + { + "date": "2026-03-30", + "value": 30 + }, + { + "date": "2026-04-04", + "value": 47 + }, + { + "date": "2026-04-10", + "value": 50 + }, + { + "date": "2026-04-16", + "value": 54 + }, + { + "date": "2026-04-22", + "value": 36 + }, + { + "date": "2026-04-28", + "value": 41 + }, + { + "date": "2026-05-05", + "value": 46 + }, + { + "date": "2026-05-11", + "value": 50 + }, + { + "date": "2026-05-17", + "value": 32 + }, + { + "date": "2026-05-23", + "value": 36 + }, + { + "date": "2026-05-29", + "value": 39 + } + ], + "monthly": [ + { + "month": "2022-06", + "mean": 43.3, + "median": 40.0, + "p10": 25.6, + "p25": 31.0, + "p75": 54.0, + "p90": 62.4, + "n": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "mean": 51.0, + "median": 42.5, + "p10": 11.8, + "p25": 23.5, + "p75": 70.0, + "p90": 97.0, + "n": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "mean": 55.0, + "median": 62.0, + "p10": 26.8, + "p25": 40.0, + "p75": 73.5, + "p90": 80.4, + "n": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "mean": 52.0, + "median": 48.0, + "p10": 20.0, + "p25": 35.0, + "p75": 72.0, + "p90": 85.8, + "n": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "mean": 43.3, + "median": 40.0, + "p10": 18.9, + "p25": 24.8, + "p75": 58.5, + "p90": 70.2, + "n": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "mean": 44.7, + "median": 37.5, + "p10": 14.0, + "p25": 23.3, + "p75": 59.3, + "p90": 82.5, + "n": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "mean": 44.0, + "median": 45.0, + "p10": 36.8, + "p25": 41.0, + "p75": 48.0, + "p90": 50.4, + "n": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "mean": 39.2, + "median": 40.0, + "p10": 31.6, + "p25": 34.0, + "p75": 44.0, + "p90": 46.4, + "n": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "mean": 45.0, + "median": 44.0, + "p10": 38.0, + "p25": 41.0, + "p75": 50.0, + "p90": 52.4, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "mean": 40.0, + "median": 39.0, + "p10": 33.6, + "p25": 36.0, + "p75": 43.0, + "p90": 47.2, + "n": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "mean": 35.0, + "median": 35.0, + "p10": 29.6, + "p25": 32.0, + "p75": 38.0, + "p90": 40.4, + "n": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "mean": 45.0, + "median": 45.0, + "p10": 39.8, + "p25": 41.0, + "p75": 48.0, + "p90": 50.4, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "mean": 39.8, + "median": 40.0, + "p10": 32.8, + "p25": 37.0, + "p75": 44.0, + "p90": 46.4, + "n": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "mean": 45.6, + "median": 47.0, + "p10": 38.0, + "p25": 41.0, + "p75": 50.0, + "p90": 52.4, + "n": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "mean": 40.6, + "median": 39.0, + "p10": 33.6, + "p25": 36.0, + "p75": 46.0, + "p90": 48.4, + "n": 5, + "total_kg_days": 568400.0 + } + ], + "stats": { + "n": 70, + "mean": 43.9, + "median": 41.0, + "std": 19.1, + "min": 4, + "max": 115, + "p25": 34.3, + "p75": 50.0, + "p85": 54.0, + "p95": 81.9 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 95.7, + "annotations": [], + "cost": { + "unit_price": 5.5, + "currency": "CHF", + "mean_qty": 2800.0, + "monthly": [ + { + "month": "2022-06", + "n_events": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "n_events": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "n_events": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "n_events": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "n_events": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "n_events": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 568400.0 + } + ] + }, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": 25, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/transit_pla_hub1.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/transit_pla_hub1.json new file mode 100644 index 00000000000..72bddde415c --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/harbor-dark-roast/steps/transit_pla_hub1.json @@ -0,0 +1,436 @@ +{ + "id": "transit_pla_hub1", + "label": "Transit PL-A \u2192 HUB-1", + "type": "transit", + "durations": [ + 28, 35, 22, 42, 30, 55, 25, 38, 15, 32, 28, 45, 30, 22, 36, 38, 39, 26, 36, + 23, 26, 27, 31, 33, 27, 29, 32, 26, 29, 31, 33, 36, 39, 33, 36, 23, 40, 27, + 31, 24, 27, 29 + ], + "observations": [ + { + "date": "2022-07-20", + "value": 28 + }, + { + "date": "2022-11-30", + "value": 35 + }, + { + "date": "2023-03-15", + "value": 22 + }, + { + "date": "2023-07-10", + "value": 42 + }, + { + "date": "2023-10-25", + "value": 30 + }, + { + "date": "2024-02-08", + "value": 55 + }, + { + "date": "2024-05-20", + "value": 25 + }, + { + "date": "2024-08-12", + "value": 38 + }, + { + "date": "2024-11-05", + "value": 15 + }, + { + "date": "2025-01-22", + "value": 32 + }, + { + "date": "2025-04-10", + "value": 28 + }, + { + "date": "2025-06-18", + "value": 45 + }, + { + "date": "2025-07-15", + "value": 30 + }, + { + "date": "2025-08-05", + "value": 22 + }, + { + "date": "2025-09-05", + "value": 36 + }, + { + "date": "2025-09-10", + "value": 38 + }, + { + "date": "2025-09-11", + "value": 39 + }, + { + "date": "2025-09-17", + "value": 26 + }, + { + "date": "2025-10-06", + "value": 36 + }, + { + "date": "2025-10-12", + "value": 23 + }, + { + "date": "2025-10-18", + "value": 26 + }, + { + "date": "2025-11-04", + "value": 27 + }, + { + "date": "2025-11-10", + "value": 31 + }, + { + "date": "2025-11-16", + "value": 33 + }, + { + "date": "2025-12-05", + "value": 27 + }, + { + "date": "2025-12-11", + "value": 29 + }, + { + "date": "2025-12-17", + "value": 32 + }, + { + "date": "2026-01-06", + "value": 26 + }, + { + "date": "2026-01-12", + "value": 29 + }, + { + "date": "2026-01-18", + "value": 31 + }, + { + "date": "2026-02-04", + "value": 33 + }, + { + "date": "2026-02-10", + "value": 36 + }, + { + "date": "2026-02-16", + "value": 39 + }, + { + "date": "2026-03-05", + "value": 33 + }, + { + "date": "2026-03-11", + "value": 36 + }, + { + "date": "2026-03-17", + "value": 23 + }, + { + "date": "2026-04-06", + "value": 40 + }, + { + "date": "2026-04-12", + "value": 27 + }, + { + "date": "2026-04-18", + "value": 31 + }, + { + "date": "2026-05-04", + "value": 24 + }, + { + "date": "2026-05-10", + "value": 27 + }, + { + "date": "2026-05-16", + "value": 29 + } + ], + "monthly": [ + { + "month": "2022-07", + "mean": 28.0, + "median": 28.0, + "p10": 28.0, + "p25": 28.0, + "p75": 28.0, + "p90": 28.0, + "n": 1 + }, + { + "month": "2022-11", + "mean": 35.0, + "median": 35.0, + "p10": 35.0, + "p25": 35.0, + "p75": 35.0, + "p90": 35.0, + "n": 1 + }, + { + "month": "2023-03", + "mean": 22.0, + "median": 22.0, + "p10": 22.0, + "p25": 22.0, + "p75": 22.0, + "p90": 22.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 42.0, + "median": 42.0, + "p10": 42.0, + "p25": 42.0, + "p75": 42.0, + "p90": 42.0, + "n": 1 + }, + { + "month": "2023-10", + "mean": 30.0, + "median": 30.0, + "p10": 30.0, + "p25": 30.0, + "p75": 30.0, + "p90": 30.0, + "n": 1 + }, + { + "month": "2024-02", + "mean": 55.0, + "median": 55.0, + "p10": 55.0, + "p25": 55.0, + "p75": 55.0, + "p90": 55.0, + "n": 1 + }, + { + "month": "2024-05", + "mean": 25.0, + "median": 25.0, + "p10": 25.0, + "p25": 25.0, + "p75": 25.0, + "p90": 25.0, + "n": 1 + }, + { + "month": "2024-08", + "mean": 38.0, + "median": 38.0, + "p10": 38.0, + "p25": 38.0, + "p75": 38.0, + "p90": 38.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 15.0, + "median": 15.0, + "p10": 15.0, + "p25": 15.0, + "p75": 15.0, + "p90": 15.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 32.0, + "median": 32.0, + "p10": 32.0, + "p25": 32.0, + "p75": 32.0, + "p90": 32.0, + "n": 1 + }, + { + "month": "2025-04", + "mean": 28.0, + "median": 28.0, + "p10": 28.0, + "p25": 28.0, + "p75": 28.0, + "p90": 28.0, + "n": 1 + }, + { + "month": "2025-06", + "mean": 45.0, + "median": 45.0, + "p10": 45.0, + "p25": 45.0, + "p75": 45.0, + "p90": 45.0, + "n": 1 + }, + { + "month": "2025-07", + "mean": 30.0, + "median": 30.0, + "p10": 30.0, + "p25": 30.0, + "p75": 30.0, + "p90": 30.0, + "n": 1 + }, + { + "month": "2025-08", + "mean": 22.0, + "median": 22.0, + "p10": 22.0, + "p25": 22.0, + "p75": 22.0, + "p90": 22.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 34.8, + "median": 37.0, + "p10": 29.0, + "p25": 33.5, + "p75": 38.3, + "p90": 38.7, + "n": 4 + }, + { + "month": "2025-10", + "mean": 28.3, + "median": 26.0, + "p10": 23.6, + "p25": 24.5, + "p75": 31.0, + "p90": 34.0, + "n": 3 + }, + { + "month": "2025-11", + "mean": 30.3, + "median": 31.0, + "p10": 27.8, + "p25": 29.0, + "p75": 32.0, + "p90": 32.6, + "n": 3 + }, + { + "month": "2025-12", + "mean": 29.3, + "median": 29.0, + "p10": 27.4, + "p25": 28.0, + "p75": 30.5, + "p90": 31.4, + "n": 3 + }, + { + "month": "2026-01", + "mean": 28.7, + "median": 29.0, + "p10": 26.6, + "p25": 27.5, + "p75": 30.0, + "p90": 30.6, + "n": 3 + }, + { + "month": "2026-02", + "mean": 36.0, + "median": 36.0, + "p10": 33.6, + "p25": 34.5, + "p75": 37.5, + "p90": 38.4, + "n": 3 + }, + { + "month": "2026-03", + "mean": 30.7, + "median": 33.0, + "p10": 25.0, + "p25": 28.0, + "p75": 34.5, + "p90": 35.4, + "n": 3 + }, + { + "month": "2026-04", + "mean": 32.7, + "median": 31.0, + "p10": 27.8, + "p25": 29.0, + "p75": 35.5, + "p90": 38.2, + "n": 3 + }, + { + "month": "2026-05", + "mean": 26.7, + "median": 27.0, + "p10": 24.6, + "p25": 25.5, + "p75": 28.0, + "p90": 28.6, + "n": 3 + } + ], + "stats": { + "n": 42, + "mean": 31.3, + "median": 30.5, + "std": 7.1, + "min": 15, + "max": 55, + "p25": 27.0, + "p75": 36.0, + "p85": 38.0, + "p95": 41.9 + }, + "plifz": 28, + "plifz_note": null, + "pct_exceeding_plifz": 61.9, + "annotations": [], + "cost": null, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": 15, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/manifest.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/manifest.json new file mode 100644 index 00000000000..e7ab7e61aa8 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/manifest.json @@ -0,0 +1,72 @@ +{ + "datasetVersion": "2026-06-17.1", + "products": [ + "harbor-dark-roast", + "summit-medium-roast", + "riverside-decaf", + "meadow-espresso" + ], + "sites": ["harbor-roastery"], + "steps": { + "harbor-dark-roast": [ + "dest_dwell_hub1", + "intermed_dwell_green_blend", + "post_qa_ship_pla", + "procurement_highland_arabica", + "procurement_lowland_robusta", + "procurement_washed_bourbon", + "prod_duration_green_blend", + "prod_duration_harbor_dark_roast", + "prod_to_qa_pla", + "raw_dwell_highland_arabica", + "raw_dwell_lowland_robusta", + "raw_dwell_washed_bourbon", + "transit_pla_hub1" + ], + "summit-medium-roast": [ + "dest_dwell_hub1", + "intermed_dwell_green_blend", + "post_qa_ship_pla", + "procurement_highland_arabica", + "procurement_lowland_robusta", + "procurement_washed_bourbon", + "prod_duration_green_blend", + "prod_duration_harbor_dark_roast", + "prod_to_qa_pla", + "raw_dwell_highland_arabica", + "raw_dwell_lowland_robusta", + "raw_dwell_washed_bourbon", + "transit_pla_hub1" + ], + "riverside-decaf": [ + "dest_dwell_hub1", + "intermed_dwell_green_blend", + "post_qa_ship_pla", + "procurement_highland_arabica", + "procurement_lowland_robusta", + "procurement_washed_bourbon", + "prod_duration_green_blend", + "prod_duration_harbor_dark_roast", + "prod_to_qa_pla", + "raw_dwell_highland_arabica", + "raw_dwell_lowland_robusta", + "raw_dwell_washed_bourbon", + "transit_pla_hub1" + ], + "meadow-espresso": [ + "dest_dwell_hub1", + "intermed_dwell_green_blend", + "post_qa_ship_pla", + "procurement_highland_arabica", + "procurement_lowland_robusta", + "procurement_washed_bourbon", + "prod_duration_green_blend", + "prod_duration_harbor_dark_roast", + "prod_to_qa_pla", + "raw_dwell_highland_arabica", + "raw_dwell_lowland_robusta", + "raw_dwell_washed_bourbon", + "transit_pla_hub1" + ] + } +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/graph.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/graph.json new file mode 100644 index 00000000000..1340390934c --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/graph.json @@ -0,0 +1,16588 @@ +{ + "product_id": "meadow-espresso", + "product_name": "Meadow Espresso", + "nodes": [ + { + "id": "procurement_highland_arabica", + "label": "Procurement: Highland Arabica", + "type": "procurement", + "material": "90000100001", + "plant": "PL-A", + "stats": { + "n": 59, + "mean": 54.3, + "median": 54.0, + "std": 18.0, + "min": 10.8, + "max": 141.8, + "p25": 47.2, + "p75": 60.8, + "p85": 64.8, + "p95": 75.3 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 98.3, + "cost": null, + "observations": [ + { + "date": "2022-03-15", + "value": 74.2 + }, + { + "date": "2022-06-10", + "value": 56.7 + }, + { + "date": "2022-09-22", + "value": 10.8 + }, + { + "date": "2022-12-05", + "value": 85.1 + }, + { + "date": "2023-02-14", + "value": 51.3 + }, + { + "date": "2023-05-30", + "value": 29.7 + }, + { + "date": "2023-08-17", + "value": 95.9 + }, + { + "date": "2023-11-02", + "value": 40.5 + }, + { + "date": "2024-01-25", + "value": 60.8 + }, + { + "date": "2024-04-11", + "value": 24.3 + }, + { + "date": "2024-07-09", + "value": 141.8 + }, + { + "date": "2024-10-03", + "value": 47.2 + }, + { + "date": "2025-01-20", + "value": 16.2 + }, + { + "date": "2025-04-08", + "value": 64.8 + }, + { + "date": "2025-09-05", + "value": 52.7 + }, + { + "date": "2025-09-11", + "value": 55.4 + }, + { + "date": "2025-09-17", + "value": 59.4 + }, + { + "date": "2025-09-23", + "value": 64.8 + }, + { + "date": "2025-09-29", + "value": 68.9 + }, + { + "date": "2025-10-06", + "value": 50.0 + }, + { + "date": "2025-10-12", + "value": 54.0 + }, + { + "date": "2025-10-18", + "value": 59.4 + }, + { + "date": "2025-10-24", + "value": 63.5 + }, + { + "date": "2025-10-30", + "value": 41.9 + }, + { + "date": "2025-11-04", + "value": 48.6 + }, + { + "date": "2025-11-10", + "value": 54.0 + }, + { + "date": "2025-11-16", + "value": 58.1 + }, + { + "date": "2025-11-22", + "value": 36.5 + }, + { + "date": "2025-11-28", + "value": 41.9 + }, + { + "date": "2025-12-05", + "value": 62.1 + }, + { + "date": "2025-12-11", + "value": 66.2 + }, + { + "date": "2025-12-17", + "value": 44.6 + }, + { + "date": "2025-12-23", + "value": 50.0 + }, + { + "date": "2025-12-29", + "value": 52.7 + }, + { + "date": "2026-01-06", + "value": 60.8 + }, + { + "date": "2026-01-12", + "value": 39.2 + }, + { + "date": "2026-01-18", + "value": 44.6 + }, + { + "date": "2026-01-24", + "value": 47.2 + }, + { + "date": "2026-01-30", + "value": 51.3 + }, + { + "date": "2026-02-04", + "value": 47.2 + }, + { + "date": "2026-02-10", + "value": 52.7 + }, + { + "date": "2026-02-16", + "value": 55.4 + }, + { + "date": "2026-02-22", + "value": 59.4 + }, + { + "date": "2026-02-28", + "value": 64.8 + }, + { + "date": "2026-03-05", + "value": 47.2 + }, + { + "date": "2026-03-11", + "value": 50.0 + }, + { + "date": "2026-03-17", + "value": 54.0 + }, + { + "date": "2026-03-23", + "value": 59.4 + }, + { + "date": "2026-03-29", + "value": 63.5 + }, + { + "date": "2026-04-06", + "value": 44.6 + }, + { + "date": "2026-04-12", + "value": 48.6 + }, + { + "date": "2026-04-18", + "value": 54.0 + }, + { + "date": "2026-04-24", + "value": 58.1 + }, + { + "date": "2026-04-30", + "value": 36.5 + }, + { + "date": "2026-05-04", + "value": 56.7 + }, + { + "date": "2026-05-10", + "value": 62.1 + }, + { + "date": "2026-05-16", + "value": 66.2 + }, + { + "date": "2026-05-22", + "value": 44.6 + }, + { + "date": "2026-05-28", + "value": 50.0 + } + ], + "monthly": [ + { + "month": "2022-03", + "mean": 74.2, + "median": 74.2, + "p10": 74.2, + "p25": 74.2, + "p75": 74.2, + "p90": 74.2, + "n": 1 + }, + { + "month": "2022-06", + "mean": 56.7, + "median": 56.7, + "p10": 56.7, + "p25": 56.7, + "p75": 56.7, + "p90": 56.7, + "n": 1 + }, + { + "month": "2022-09", + "mean": 10.8, + "median": 10.8, + "p10": 10.8, + "p25": 10.8, + "p75": 10.8, + "p90": 10.8, + "n": 1 + }, + { + "month": "2022-12", + "mean": 85.1, + "median": 85.1, + "p10": 85.1, + "p25": 85.1, + "p75": 85.1, + "p90": 85.1, + "n": 1 + }, + { + "month": "2023-02", + "mean": 51.3, + "median": 51.3, + "p10": 51.3, + "p25": 51.3, + "p75": 51.3, + "p90": 51.3, + "n": 1 + }, + { + "month": "2023-05", + "mean": 29.7, + "median": 29.7, + "p10": 29.7, + "p25": 29.7, + "p75": 29.7, + "p90": 29.7, + "n": 1 + }, + { + "month": "2023-08", + "mean": 95.9, + "median": 95.9, + "p10": 95.9, + "p25": 95.9, + "p75": 95.9, + "p90": 95.9, + "n": 1 + }, + { + "month": "2023-11", + "mean": 40.5, + "median": 40.5, + "p10": 40.5, + "p25": 40.5, + "p75": 40.5, + "p90": 40.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 60.8, + "median": 60.8, + "p10": 60.8, + "p25": 60.8, + "p75": 60.8, + "p90": 60.8, + "n": 1 + }, + { + "month": "2024-04", + "mean": 24.3, + "median": 24.3, + "p10": 24.3, + "p25": 24.3, + "p75": 24.3, + "p90": 24.3, + "n": 1 + }, + { + "month": "2024-07", + "mean": 141.8, + "median": 141.8, + "p10": 141.8, + "p25": 141.8, + "p75": 141.8, + "p90": 141.8, + "n": 1 + }, + { + "month": "2024-10", + "mean": 47.2, + "median": 47.2, + "p10": 47.2, + "p25": 47.2, + "p75": 47.2, + "p90": 47.2, + "n": 1 + }, + { + "month": "2025-01", + "mean": 16.2, + "median": 16.2, + "p10": 16.2, + "p25": 16.2, + "p75": 16.2, + "p90": 16.2, + "n": 1 + }, + { + "month": "2025-04", + "mean": 64.8, + "median": 64.8, + "p10": 64.8, + "p25": 64.8, + "p75": 64.8, + "p90": 64.8, + "n": 1 + }, + { + "month": "2025-09", + "mean": 60.2, + "median": 59.4, + "p10": 53.7, + "p25": 55.4, + "p75": 64.8, + "p90": 67.2, + "n": 5 + }, + { + "month": "2025-10", + "mean": 53.7, + "median": 54.0, + "p10": 45.1, + "p25": 50.0, + "p75": 59.4, + "p90": 61.8, + "n": 5 + }, + { + "month": "2025-11", + "mean": 47.8, + "median": 48.6, + "p10": 38.6, + "p25": 41.9, + "p75": 54.0, + "p90": 56.4, + "n": 5 + }, + { + "month": "2025-12", + "mean": 55.1, + "median": 52.7, + "p10": 46.7, + "p25": 50.0, + "p75": 62.1, + "p90": 64.5, + "n": 5 + }, + { + "month": "2026-01", + "mean": 48.6, + "median": 47.2, + "p10": 41.3, + "p25": 44.6, + "p75": 51.3, + "p90": 57.0, + "n": 5 + }, + { + "month": "2026-02", + "mean": 55.9, + "median": 55.4, + "p10": 49.4, + "p25": 52.7, + "p75": 59.4, + "p90": 62.6, + "n": 5 + }, + { + "month": "2026-03", + "mean": 54.8, + "median": 54.0, + "p10": 48.3, + "p25": 50.0, + "p75": 59.4, + "p90": 61.8, + "n": 5 + }, + { + "month": "2026-04", + "mean": 48.3, + "median": 48.6, + "p10": 39.7, + "p25": 44.6, + "p75": 54.0, + "p90": 56.4, + "n": 5 + }, + { + "month": "2026-05", + "mean": 55.9, + "median": 56.7, + "p10": 46.7, + "p25": 50.0, + "p75": 62.1, + "p90": 64.5, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "procurement_lowland_robusta", + "label": "Procurement: Lowland Robusta", + "type": "procurement", + "material": "90000100002", + "plant": "PL-A", + "stats": { + "n": 63, + "mean": 45.1, + "median": 44.6, + "std": 15.4, + "min": 6.8, + "max": 110.7, + "p25": 37.8, + "p75": 51.3, + "p85": 54.9, + "p95": 69.7 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 96.8, + "cost": null, + "observations": [ + { + "date": "2022-02-08", + "value": 43.2 + }, + { + "date": "2022-04-19", + "value": 64.8 + }, + { + "date": "2022-07-11", + "value": 6.8 + }, + { + "date": "2022-09-28", + "value": 90.5 + }, + { + "date": "2022-12-15", + "value": 33.8 + }, + { + "date": "2023-03-07", + "value": 55.4 + }, + { + "date": "2023-05-22", + "value": 20.2 + }, + { + "date": "2023-08-09", + "value": 110.7 + }, + { + "date": "2023-10-30", + "value": 51.3 + }, + { + "date": "2024-01-16", + "value": 27.0 + }, + { + "date": "2024-03-25", + "value": 70.2 + }, + { + "date": "2024-06-12", + "value": 13.5 + }, + { + "date": "2024-08-28", + "value": 59.4 + }, + { + "date": "2024-11-14", + "value": 37.8 + }, + { + "date": "2025-01-06", + "value": 47.2 + }, + { + "date": "2025-03-18", + "value": 24.3 + }, + { + "date": "2025-05-29", + "value": 74.2 + }, + { + "date": "2025-08-12", + "value": 35.1 + }, + { + "date": "2025-09-04", + "value": 35.1 + }, + { + "date": "2025-09-10", + "value": 39.2 + }, + { + "date": "2025-09-16", + "value": 41.9 + }, + { + "date": "2025-09-22", + "value": 45.9 + }, + { + "date": "2025-09-28", + "value": 50.0 + }, + { + "date": "2025-10-05", + "value": 35.1 + }, + { + "date": "2025-10-11", + "value": 37.8 + }, + { + "date": "2025-10-17", + "value": 41.9 + }, + { + "date": "2025-10-23", + "value": 44.6 + }, + { + "date": "2025-10-29", + "value": 48.6 + }, + { + "date": "2025-11-06", + "value": 44.6 + }, + { + "date": "2025-11-12", + "value": 48.6 + }, + { + "date": "2025-11-18", + "value": 51.3 + }, + { + "date": "2025-11-24", + "value": 56.7 + }, + { + "date": "2025-11-30", + "value": 37.8 + }, + { + "date": "2025-12-04", + "value": 43.2 + }, + { + "date": "2025-12-10", + "value": 47.2 + }, + { + "date": "2025-12-16", + "value": 51.3 + }, + { + "date": "2025-12-22", + "value": 32.4 + }, + { + "date": "2025-12-28", + "value": 37.8 + }, + { + "date": "2026-01-05", + "value": 54.0 + }, + { + "date": "2026-01-11", + "value": 58.1 + }, + { + "date": "2026-01-17", + "value": 39.2 + }, + { + "date": "2026-01-23", + "value": 44.6 + }, + { + "date": "2026-01-29", + "value": 47.2 + }, + { + "date": "2026-02-06", + "value": 54.0 + }, + { + "date": "2026-02-12", + "value": 35.1 + }, + { + "date": "2026-02-18", + "value": 39.2 + }, + { + "date": "2026-02-24", + "value": 41.9 + }, + { + "date": "2026-02-30", + "value": 45.9 + }, + { + "date": "2026-03-04", + "value": 29.7 + }, + { + "date": "2026-03-10", + "value": 35.1 + }, + { + "date": "2026-03-16", + "value": 37.8 + }, + { + "date": "2026-03-22", + "value": 41.9 + }, + { + "date": "2026-03-28", + "value": 44.6 + }, + { + "date": "2026-04-05", + "value": 41.9 + }, + { + "date": "2026-04-11", + "value": 44.6 + }, + { + "date": "2026-04-17", + "value": 48.6 + }, + { + "date": "2026-04-23", + "value": 51.3 + }, + { + "date": "2026-04-29", + "value": 56.7 + }, + { + "date": "2026-05-06", + "value": 40.5 + }, + { + "date": "2026-05-12", + "value": 43.2 + }, + { + "date": "2026-05-18", + "value": 47.2 + }, + { + "date": "2026-05-24", + "value": 51.3 + }, + { + "date": "2026-05-30", + "value": 32.4 + } + ], + "monthly": [ + { + "month": "2022-02", + "mean": 43.2, + "median": 43.2, + "p10": 43.2, + "p25": 43.2, + "p75": 43.2, + "p90": 43.2, + "n": 1 + }, + { + "month": "2022-04", + "mean": 64.8, + "median": 64.8, + "p10": 64.8, + "p25": 64.8, + "p75": 64.8, + "p90": 64.8, + "n": 1 + }, + { + "month": "2022-07", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2022-09", + "mean": 90.5, + "median": 90.5, + "p10": 90.5, + "p25": 90.5, + "p75": 90.5, + "p90": 90.5, + "n": 1 + }, + { + "month": "2022-12", + "mean": 33.8, + "median": 33.8, + "p10": 33.8, + "p25": 33.8, + "p75": 33.8, + "p90": 33.8, + "n": 1 + }, + { + "month": "2023-03", + "mean": 55.4, + "median": 55.4, + "p10": 55.4, + "p25": 55.4, + "p75": 55.4, + "p90": 55.4, + "n": 1 + }, + { + "month": "2023-05", + "mean": 20.2, + "median": 20.2, + "p10": 20.2, + "p25": 20.2, + "p75": 20.2, + "p90": 20.2, + "n": 1 + }, + { + "month": "2023-08", + "mean": 110.7, + "median": 110.7, + "p10": 110.7, + "p25": 110.7, + "p75": 110.7, + "p90": 110.7, + "n": 1 + }, + { + "month": "2023-10", + "mean": 51.3, + "median": 51.3, + "p10": 51.3, + "p25": 51.3, + "p75": 51.3, + "p90": 51.3, + "n": 1 + }, + { + "month": "2024-01", + "mean": 27.0, + "median": 27.0, + "p10": 27.0, + "p25": 27.0, + "p75": 27.0, + "p90": 27.0, + "n": 1 + }, + { + "month": "2024-03", + "mean": 70.2, + "median": 70.2, + "p10": 70.2, + "p25": 70.2, + "p75": 70.2, + "p90": 70.2, + "n": 1 + }, + { + "month": "2024-06", + "mean": 13.5, + "median": 13.5, + "p10": 13.5, + "p25": 13.5, + "p75": 13.5, + "p90": 13.5, + "n": 1 + }, + { + "month": "2024-08", + "mean": 59.4, + "median": 59.4, + "p10": 59.4, + "p25": 59.4, + "p75": 59.4, + "p90": 59.4, + "n": 1 + }, + { + "month": "2024-11", + "mean": 37.8, + "median": 37.8, + "p10": 37.8, + "p25": 37.8, + "p75": 37.8, + "p90": 37.8, + "n": 1 + }, + { + "month": "2025-01", + "mean": 47.2, + "median": 47.2, + "p10": 47.2, + "p25": 47.2, + "p75": 47.2, + "p90": 47.2, + "n": 1 + }, + { + "month": "2025-03", + "mean": 24.3, + "median": 24.3, + "p10": 24.3, + "p25": 24.3, + "p75": 24.3, + "p90": 24.3, + "n": 1 + }, + { + "month": "2025-05", + "mean": 74.2, + "median": 74.2, + "p10": 74.2, + "p25": 74.2, + "p75": 74.2, + "p90": 74.2, + "n": 1 + }, + { + "month": "2025-08", + "mean": 35.1, + "median": 35.1, + "p10": 35.1, + "p25": 35.1, + "p75": 35.1, + "p90": 35.1, + "n": 1 + }, + { + "month": "2025-09", + "mean": 42.4, + "median": 41.9, + "p10": 36.7, + "p25": 39.2, + "p75": 45.9, + "p90": 48.3, + "n": 5 + }, + { + "month": "2025-10", + "mean": 41.6, + "median": 41.9, + "p10": 36.2, + "p25": 37.8, + "p75": 44.6, + "p90": 47.0, + "n": 5 + }, + { + "month": "2025-11", + "mean": 47.8, + "median": 48.6, + "p10": 40.5, + "p25": 44.6, + "p75": 51.3, + "p90": 54.5, + "n": 5 + }, + { + "month": "2025-12", + "mean": 42.4, + "median": 43.2, + "p10": 34.6, + "p25": 37.8, + "p75": 47.2, + "p90": 49.7, + "n": 5 + }, + { + "month": "2026-01", + "mean": 48.6, + "median": 47.2, + "p10": 41.3, + "p25": 44.6, + "p75": 54.0, + "p90": 56.4, + "n": 5 + }, + { + "month": "2026-02", + "mean": 43.2, + "median": 41.9, + "p10": 36.7, + "p25": 39.2, + "p75": 45.9, + "p90": 50.8, + "n": 5 + }, + { + "month": "2026-03", + "mean": 37.8, + "median": 37.8, + "p10": 31.9, + "p25": 35.1, + "p75": 41.9, + "p90": 43.5, + "n": 5 + }, + { + "month": "2026-04", + "mean": 48.6, + "median": 48.6, + "p10": 42.9, + "p25": 44.6, + "p75": 51.3, + "p90": 54.5, + "n": 5 + }, + { + "month": "2026-05", + "mean": 42.9, + "median": 43.2, + "p10": 35.6, + "p25": 40.5, + "p75": 47.2, + "p90": 49.7, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "procurement_washed_bourbon", + "label": "Procurement: Washed Bourbon", + "type": "procurement", + "material": "90000100003", + "plant": "PL-A", + "stats": { + "n": 55, + "mean": 35.2, + "median": 33.8, + "std": 10.8, + "min": 9.5, + "max": 83.7, + "p25": 30.4, + "p75": 39.2, + "p85": 40.5, + "p95": 49.3 + }, + "plifz": 7, + "plifz_note": null, + "pct_exceeding_plifz": 98.2, + "cost": null, + "observations": [ + { + "date": "2022-05-03", + "value": 47.2 + }, + { + "date": "2022-10-18", + "value": 21.6 + }, + { + "date": "2023-01-24", + "value": 83.7 + }, + { + "date": "2023-06-15", + "value": 9.5 + }, + { + "date": "2023-09-28", + "value": 54.0 + }, + { + "date": "2024-02-12", + "value": 33.8 + }, + { + "date": "2024-05-07", + "value": 64.8 + }, + { + "date": "2024-09-19", + "value": 16.2 + }, + { + "date": "2025-02-04", + "value": 40.5 + }, + { + "date": "2025-06-10", + "value": 18.9 + }, + { + "date": "2025-09-06", + "value": 40.5 + }, + { + "date": "2025-09-12", + "value": 25.7 + }, + { + "date": "2025-09-18", + "value": 29.7 + }, + { + "date": "2025-09-24", + "value": 31.1 + }, + { + "date": "2025-09-30", + "value": 33.8 + }, + { + "date": "2025-10-04", + "value": 31.1 + }, + { + "date": "2025-10-10", + "value": 33.8 + }, + { + "date": "2025-10-16", + "value": 36.5 + }, + { + "date": "2025-10-22", + "value": 39.2 + }, + { + "date": "2025-10-28", + "value": 41.9 + }, + { + "date": "2025-11-05", + "value": 31.1 + }, + { + "date": "2025-11-11", + "value": 33.8 + }, + { + "date": "2025-11-17", + "value": 36.5 + }, + { + "date": "2025-11-23", + "value": 39.2 + }, + { + "date": "2025-11-29", + "value": 41.9 + }, + { + "date": "2025-12-06", + "value": 29.7 + }, + { + "date": "2025-12-12", + "value": 32.4 + }, + { + "date": "2025-12-18", + "value": 35.1 + }, + { + "date": "2025-12-24", + "value": 37.8 + }, + { + "date": "2025-12-30", + "value": 24.3 + }, + { + "date": "2026-01-04", + "value": 37.8 + }, + { + "date": "2026-01-10", + "value": 40.5 + }, + { + "date": "2026-01-16", + "value": 43.2 + }, + { + "date": "2026-01-22", + "value": 29.7 + }, + { + "date": "2026-01-28", + "value": 32.4 + }, + { + "date": "2026-02-05", + "value": 36.5 + }, + { + "date": "2026-02-11", + "value": 40.5 + }, + { + "date": "2026-02-17", + "value": 25.7 + }, + { + "date": "2026-02-23", + "value": 29.7 + }, + { + "date": "2026-02-29", + "value": 31.1 + }, + { + "date": "2026-03-06", + "value": 45.9 + }, + { + "date": "2026-03-12", + "value": 31.1 + }, + { + "date": "2026-03-18", + "value": 33.8 + }, + { + "date": "2026-03-24", + "value": 36.5 + }, + { + "date": "2026-03-30", + "value": 39.2 + }, + { + "date": "2026-04-04", + "value": 27.0 + }, + { + "date": "2026-04-10", + "value": 31.1 + }, + { + "date": "2026-04-16", + "value": 33.8 + }, + { + "date": "2026-04-22", + "value": 36.5 + }, + { + "date": "2026-04-28", + "value": 39.2 + }, + { + "date": "2026-05-05", + "value": 27.0 + }, + { + "date": "2026-05-11", + "value": 29.7 + }, + { + "date": "2026-05-17", + "value": 32.4 + }, + { + "date": "2026-05-23", + "value": 35.1 + }, + { + "date": "2026-05-29", + "value": 37.8 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 47.2, + "median": 47.2, + "p10": 47.2, + "p25": 47.2, + "p75": 47.2, + "p90": 47.2, + "n": 1 + }, + { + "month": "2022-10", + "mean": 21.6, + "median": 21.6, + "p10": 21.6, + "p25": 21.6, + "p75": 21.6, + "p90": 21.6, + "n": 1 + }, + { + "month": "2023-01", + "mean": 83.7, + "median": 83.7, + "p10": 83.7, + "p25": 83.7, + "p75": 83.7, + "p90": 83.7, + "n": 1 + }, + { + "month": "2023-06", + "mean": 9.5, + "median": 9.5, + "p10": 9.5, + "p25": 9.5, + "p75": 9.5, + "p90": 9.5, + "n": 1 + }, + { + "month": "2023-09", + "mean": 54.0, + "median": 54.0, + "p10": 54.0, + "p25": 54.0, + "p75": 54.0, + "p90": 54.0, + "n": 1 + }, + { + "month": "2024-02", + "mean": 33.8, + "median": 33.8, + "p10": 33.8, + "p25": 33.8, + "p75": 33.8, + "p90": 33.8, + "n": 1 + }, + { + "month": "2024-05", + "mean": 64.8, + "median": 64.8, + "p10": 64.8, + "p25": 64.8, + "p75": 64.8, + "p90": 64.8, + "n": 1 + }, + { + "month": "2024-09", + "mean": 16.2, + "median": 16.2, + "p10": 16.2, + "p25": 16.2, + "p75": 16.2, + "p90": 16.2, + "n": 1 + }, + { + "month": "2025-02", + "mean": 40.5, + "median": 40.5, + "p10": 40.5, + "p25": 40.5, + "p75": 40.5, + "p90": 40.5, + "n": 1 + }, + { + "month": "2025-06", + "mean": 18.9, + "median": 18.9, + "p10": 18.9, + "p25": 18.9, + "p75": 18.9, + "p90": 18.9, + "n": 1 + }, + { + "month": "2025-09", + "mean": 32.1, + "median": 31.1, + "p10": 27.3, + "p25": 29.7, + "p75": 33.8, + "p90": 37.8, + "n": 5 + }, + { + "month": "2025-10", + "mean": 36.5, + "median": 36.5, + "p10": 32.1, + "p25": 33.8, + "p75": 39.2, + "p90": 40.8, + "n": 5 + }, + { + "month": "2025-11", + "mean": 36.5, + "median": 36.5, + "p10": 32.1, + "p25": 33.8, + "p75": 39.2, + "p90": 40.8, + "n": 5 + }, + { + "month": "2025-12", + "mean": 31.9, + "median": 32.4, + "p10": 26.5, + "p25": 29.7, + "p75": 35.1, + "p90": 36.7, + "n": 5 + }, + { + "month": "2026-01", + "mean": 36.7, + "median": 37.8, + "p10": 30.8, + "p25": 32.4, + "p75": 40.5, + "p90": 42.1, + "n": 5 + }, + { + "month": "2026-02", + "mean": 32.7, + "median": 31.1, + "p10": 27.3, + "p25": 29.7, + "p75": 36.5, + "p90": 38.9, + "n": 5 + }, + { + "month": "2026-03", + "mean": 37.3, + "median": 36.5, + "p10": 32.1, + "p25": 33.8, + "p75": 39.2, + "p90": 43.2, + "n": 5 + }, + { + "month": "2026-04", + "mean": 33.5, + "median": 33.8, + "p10": 28.6, + "p25": 31.1, + "p75": 36.5, + "p90": 38.1, + "n": 5 + }, + { + "month": "2026-05", + "mean": 32.4, + "median": 32.4, + "p10": 28.1, + "p25": 29.7, + "p75": 35.1, + "p90": 36.7, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_highland_arabica", + "label": "Raw Material Dwell: Highland Arabica", + "type": "raw_material_dwell", + "material": "90000100001", + "plant": "PL-A", + "stats": { + "n": 83, + "mean": 65.2, + "median": 62.1, + "std": 26.7, + "min": 6.8, + "max": 175.5, + "p25": 52.0, + "p75": 73.6, + "p85": 82.4, + "p95": 118.4 + }, + "plifz": 30, + "plifz_note": null, + "pct_exceeding_plifz": 89.2, + "cost": { + "unit_price": 4.32, + "currency": "CHF", + "mean_qty": 4200.0, + "monthly": [ + { + "month": "2022-04", + "n_events": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "n_events": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "n_events": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "n_events": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "n_events": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "n_events": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "n_events": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "n_events": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "n_events": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "n_events": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 827400.0 + } + ] + }, + "observations": [ + { + "date": "2022-04-02", + "value": 47.2 + }, + { + "date": "2022-04-15", + "value": 83.7 + }, + { + "date": "2022-04-28", + "value": 24.3 + }, + { + "date": "2022-08-05", + "value": 118.8 + }, + { + "date": "2022-08-12", + "value": 56.7 + }, + { + "date": "2022-08-20", + "value": 74.2 + }, + { + "date": "2022-08-28", + "value": 40.5 + }, + { + "date": "2023-01-10", + "value": 97.2 + }, + { + "date": "2023-01-22", + "value": 33.8 + }, + { + "date": "2023-01-30", + "value": 64.8 + }, + { + "date": "2023-06-05", + "value": 20.2 + }, + { + "date": "2023-06-18", + "value": 128.2 + }, + { + "date": "2023-10-03", + "value": 175.5 + }, + { + "date": "2023-10-10", + "value": 60.8 + }, + { + "date": "2023-10-18", + "value": 51.3 + }, + { + "date": "2023-10-25", + "value": 87.8 + }, + { + "date": "2023-10-30", + "value": 29.7 + }, + { + "date": "2024-03-05", + "value": 105.3 + }, + { + "date": "2024-03-12", + "value": 6.8 + }, + { + "date": "2024-03-20", + "value": 74.2 + }, + { + "date": "2024-03-28", + "value": 54.0 + }, + { + "date": "2024-07-08", + "value": 37.8 + }, + { + "date": "2024-07-15", + "value": 114.8 + }, + { + "date": "2024-07-22", + "value": 67.5 + }, + { + "date": "2024-11-04", + "value": 148.5 + }, + { + "date": "2024-11-11", + "value": 43.2 + }, + { + "date": "2024-11-18", + "value": 91.8 + }, + { + "date": "2024-11-25", + "value": 60.8 + }, + { + "date": "2024-11-30", + "value": 124.2 + }, + { + "date": "2025-03-03", + "value": 27.0 + }, + { + "date": "2025-03-10", + "value": 78.3 + }, + { + "date": "2025-03-17", + "value": 47.2 + }, + { + "date": "2025-03-24", + "value": 56.7 + }, + { + "date": "2025-07-02", + "value": 101.2 + }, + { + "date": "2025-07-09", + "value": 16.2 + }, + { + "date": "2025-07-16", + "value": 64.8 + }, + { + "date": "2025-07-23", + "value": 81.0 + }, + { + "date": "2025-07-30", + "value": 51.3 + }, + { + "date": "2025-09-05", + "value": 66.2 + }, + { + "date": "2025-09-11", + "value": 72.9 + }, + { + "date": "2025-09-17", + "value": 45.9 + }, + { + "date": "2025-09-23", + "value": 52.7 + }, + { + "date": "2025-09-29", + "value": 56.7 + }, + { + "date": "2025-10-06", + "value": 82.4 + }, + { + "date": "2025-10-12", + "value": 55.4 + }, + { + "date": "2025-10-18", + "value": 62.1 + }, + { + "date": "2025-10-24", + "value": 66.2 + }, + { + "date": "2025-10-30", + "value": 71.6 + }, + { + "date": "2025-11-04", + "value": 48.6 + }, + { + "date": "2025-11-10", + "value": 55.4 + }, + { + "date": "2025-11-16", + "value": 59.4 + }, + { + "date": "2025-11-22", + "value": 64.8 + }, + { + "date": "2025-11-28", + "value": 70.2 + }, + { + "date": "2025-12-05", + "value": 48.6 + }, + { + "date": "2025-12-11", + "value": 52.7 + }, + { + "date": "2025-12-17", + "value": 58.1 + }, + { + "date": "2025-12-23", + "value": 63.5 + }, + { + "date": "2025-12-29", + "value": 68.9 + }, + { + "date": "2026-01-06", + "value": 63.5 + }, + { + "date": "2026-01-12", + "value": 67.5 + }, + { + "date": "2026-01-18", + "value": 72.9 + }, + { + "date": "2026-01-24", + "value": 78.3 + }, + { + "date": "2026-01-30", + "value": 52.7 + }, + { + "date": "2026-02-04", + "value": 60.8 + }, + { + "date": "2026-02-10", + "value": 66.2 + }, + { + "date": "2026-02-16", + "value": 72.9 + }, + { + "date": "2026-02-22", + "value": 45.9 + }, + { + "date": "2026-02-28", + "value": 52.7 + }, + { + "date": "2026-03-05", + "value": 75.6 + }, + { + "date": "2026-03-11", + "value": 82.4 + }, + { + "date": "2026-03-17", + "value": 55.4 + }, + { + "date": "2026-03-23", + "value": 62.1 + }, + { + "date": "2026-03-29", + "value": 66.2 + }, + { + "date": "2026-04-06", + "value": 75.6 + }, + { + "date": "2026-04-12", + "value": 48.6 + }, + { + "date": "2026-04-18", + "value": 55.4 + }, + { + "date": "2026-04-24", + "value": 59.4 + }, + { + "date": "2026-04-30", + "value": 64.8 + }, + { + "date": "2026-05-04", + "value": 43.2 + }, + { + "date": "2026-05-10", + "value": 48.6 + }, + { + "date": "2026-05-16", + "value": 52.7 + }, + { + "date": "2026-05-22", + "value": 58.1 + }, + { + "date": "2026-05-28", + "value": 63.5 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 51.7, + "median": 47.2, + "p10": 28.9, + "p25": 35.8, + "p75": 65.5, + "p90": 76.4, + "n": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "mean": 72.6, + "median": 65.5, + "p10": 45.4, + "p25": 52.7, + "p75": 85.5, + "p90": 105.4, + "n": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "mean": 65.2, + "median": 64.8, + "p10": 40.0, + "p25": 49.3, + "p75": 81.0, + "p90": 90.7, + "n": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "mean": 74.2, + "median": 74.2, + "p10": 31.1, + "p25": 47.2, + "p75": 101.2, + "p90": 117.5, + "n": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "mean": 81.0, + "median": 60.8, + "p10": 38.3, + "p25": 51.3, + "p75": 87.8, + "p90": 140.4, + "n": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "mean": 60.1, + "median": 64.1, + "p10": 20.9, + "p25": 42.3, + "p75": 82.1, + "p90": 96.0, + "n": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "mean": 73.3, + "median": 67.5, + "p10": 43.7, + "p25": 52.7, + "p75": 91.1, + "p90": 105.3, + "n": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "mean": 93.7, + "median": 91.8, + "p10": 50.2, + "p25": 60.8, + "p75": 124.2, + "p90": 138.8, + "n": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "mean": 52.4, + "median": 52.0, + "p10": 33.1, + "p25": 42.3, + "p75": 62.1, + "p90": 71.8, + "n": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "mean": 62.9, + "median": 64.8, + "p10": 30.2, + "p25": 51.3, + "p75": 81.0, + "p90": 93.2, + "n": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "mean": 58.9, + "median": 56.7, + "p10": 48.6, + "p25": 52.7, + "p75": 66.2, + "p90": 70.2, + "n": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "mean": 67.5, + "median": 66.2, + "p10": 58.1, + "p25": 62.1, + "p75": 71.6, + "p90": 78.0, + "n": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "mean": 59.7, + "median": 59.4, + "p10": 51.3, + "p25": 55.4, + "p75": 64.8, + "p90": 68.0, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "mean": 58.3, + "median": 58.1, + "p10": 50.2, + "p25": 52.7, + "p75": 63.5, + "p90": 66.7, + "n": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "mean": 67.0, + "median": 67.5, + "p10": 57.0, + "p25": 63.5, + "p75": 72.9, + "p90": 76.1, + "n": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "mean": 59.7, + "median": 60.8, + "p10": 48.6, + "p25": 52.7, + "p75": 66.2, + "p90": 70.2, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "mean": 68.3, + "median": 66.2, + "p10": 58.1, + "p25": 62.1, + "p75": 75.6, + "p90": 79.7, + "n": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "mean": 60.8, + "median": 59.4, + "p10": 51.3, + "p25": 55.4, + "p75": 64.8, + "p90": 71.3, + "n": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "mean": 53.2, + "median": 52.7, + "p10": 45.4, + "p25": 48.6, + "p75": 58.1, + "p90": 61.3, + "n": 5, + "total_kg_days": 827400.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_lowland_robusta", + "label": "Raw Material Dwell: Lowland Robusta", + "type": "raw_material_dwell", + "material": "90000100002", + "plant": "PL-A", + "stats": { + "n": 69, + "mean": 49.4, + "median": 45.9, + "std": 21.3, + "min": 4.1, + "max": 132.3, + "p25": 37.8, + "p75": 55.4, + "p85": 60.8, + "p95": 93.4 + }, + "plifz": 21, + "plifz_note": null, + "pct_exceeding_plifz": 91.3, + "cost": { + "unit_price": 2.43, + "currency": "CHF", + "mean_qty": 6500.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "n_events": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "n_events": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "n_events": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "n_events": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "n_events": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 1131000.0 + } + ] + }, + "observations": [ + { + "date": "2022-05-02", + "value": 37.8 + }, + { + "date": "2022-05-10", + "value": 60.8 + }, + { + "date": "2022-05-18", + "value": 16.2 + }, + { + "date": "2022-05-25", + "value": 83.7 + }, + { + "date": "2023-02-06", + "value": 44.6 + }, + { + "date": "2023-02-14", + "value": 105.3 + }, + { + "date": "2023-02-22", + "value": 27.0 + }, + { + "date": "2023-02-28", + "value": 74.2 + }, + { + "date": "2023-09-05", + "value": 10.8 + }, + { + "date": "2023-09-15", + "value": 56.7 + }, + { + "date": "2023-09-25", + "value": 87.8 + }, + { + "date": "2024-04-03", + "value": 51.3 + }, + { + "date": "2024-04-10", + "value": 20.2 + }, + { + "date": "2024-04-17", + "value": 97.2 + }, + { + "date": "2024-04-24", + "value": 33.8 + }, + { + "date": "2024-10-02", + "value": 64.8 + }, + { + "date": "2024-10-09", + "value": 4.1 + }, + { + "date": "2024-10-16", + "value": 114.8 + }, + { + "date": "2024-10-23", + "value": 40.5 + }, + { + "date": "2024-10-30", + "value": 74.2 + }, + { + "date": "2025-04-07", + "value": 29.7 + }, + { + "date": "2025-04-14", + "value": 54.0 + }, + { + "date": "2025-04-21", + "value": 132.3 + }, + { + "date": "2025-04-28", + "value": 24.3 + }, + { + "date": "2025-09-04", + "value": 52.7 + }, + { + "date": "2025-09-10", + "value": 55.4 + }, + { + "date": "2025-09-16", + "value": 60.8 + }, + { + "date": "2025-09-22", + "value": 40.5 + }, + { + "date": "2025-09-28", + "value": 45.9 + }, + { + "date": "2025-10-05", + "value": 51.3 + }, + { + "date": "2025-10-11", + "value": 55.4 + }, + { + "date": "2025-10-17", + "value": 36.5 + }, + { + "date": "2025-10-23", + "value": 40.5 + }, + { + "date": "2025-10-29", + "value": 43.2 + }, + { + "date": "2025-11-06", + "value": 51.3 + }, + { + "date": "2025-11-12", + "value": 31.1 + }, + { + "date": "2025-11-18", + "value": 36.5 + }, + { + "date": "2025-11-24", + "value": 39.2 + }, + { + "date": "2025-11-30", + "value": 43.2 + }, + { + "date": "2025-12-04", + "value": 37.8 + }, + { + "date": "2025-12-10", + "value": 43.2 + }, + { + "date": "2025-12-16", + "value": 45.9 + }, + { + "date": "2025-12-22", + "value": 50.0 + }, + { + "date": "2025-12-28", + "value": 54.0 + }, + { + "date": "2026-01-05", + "value": 37.8 + }, + { + "date": "2026-01-11", + "value": 41.9 + }, + { + "date": "2026-01-17", + "value": 44.6 + }, + { + "date": "2026-01-23", + "value": 48.6 + }, + { + "date": "2026-01-29", + "value": 52.7 + }, + { + "date": "2026-02-06", + "value": 48.6 + }, + { + "date": "2026-02-12", + "value": 52.7 + }, + { + "date": "2026-02-18", + "value": 55.4 + }, + { + "date": "2026-02-24", + "value": 60.8 + }, + { + "date": "2026-02-30", + "value": 40.5 + }, + { + "date": "2026-03-04", + "value": 47.2 + }, + { + "date": "2026-03-10", + "value": 51.3 + }, + { + "date": "2026-03-16", + "value": 55.4 + }, + { + "date": "2026-03-22", + "value": 36.5 + }, + { + "date": "2026-03-28", + "value": 40.5 + }, + { + "date": "2026-04-05", + "value": 45.9 + }, + { + "date": "2026-04-11", + "value": 51.3 + }, + { + "date": "2026-04-17", + "value": 31.1 + }, + { + "date": "2026-04-23", + "value": 36.5 + }, + { + "date": "2026-04-29", + "value": 39.2 + }, + { + "date": "2026-05-06", + "value": 58.1 + }, + { + "date": "2026-05-12", + "value": 37.8 + }, + { + "date": "2026-05-18", + "value": 43.2 + }, + { + "date": "2026-05-24", + "value": 45.9 + }, + { + "date": "2026-05-30", + "value": 50.0 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 49.7, + "median": 49.3, + "p10": 22.7, + "p25": 32.4, + "p75": 66.6, + "p90": 76.8, + "n": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "mean": 62.8, + "median": 59.4, + "p10": 32.3, + "p25": 40.2, + "p75": 82.1, + "p90": 96.0, + "n": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "mean": 51.7, + "median": 56.7, + "p10": 20.0, + "p25": 33.8, + "p75": 72.2, + "p90": 81.5, + "n": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "mean": 50.6, + "median": 42.5, + "p10": 24.3, + "p25": 30.4, + "p75": 62.8, + "p90": 83.4, + "n": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "mean": 59.7, + "median": 64.8, + "p10": 18.6, + "p25": 40.5, + "p75": 74.2, + "p90": 98.6, + "n": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "mean": 60.1, + "median": 41.9, + "p10": 25.9, + "p25": 28.4, + "p75": 73.6, + "p90": 108.8, + "n": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "mean": 51.0, + "median": 52.7, + "p10": 42.7, + "p25": 45.9, + "p75": 55.4, + "p90": 58.6, + "n": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "mean": 45.4, + "median": 43.2, + "p10": 38.1, + "p25": 40.5, + "p75": 51.3, + "p90": 53.7, + "n": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "mean": 40.2, + "median": 39.2, + "p10": 33.2, + "p25": 36.5, + "p75": 43.2, + "p90": 48.1, + "n": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "mean": 46.2, + "median": 45.9, + "p10": 40.0, + "p25": 43.2, + "p75": 50.0, + "p90": 52.4, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "mean": 45.1, + "median": 44.6, + "p10": 39.4, + "p25": 41.9, + "p75": 48.6, + "p90": 51.0, + "n": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "mean": 51.6, + "median": 52.7, + "p10": 43.7, + "p25": 48.6, + "p75": 55.4, + "p90": 58.6, + "n": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "mean": 46.2, + "median": 47.2, + "p10": 38.1, + "p25": 40.5, + "p75": 51.3, + "p90": 53.7, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "mean": 40.8, + "median": 39.2, + "p10": 33.2, + "p25": 36.5, + "p75": 45.9, + "p90": 49.1, + "n": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "mean": 47.0, + "median": 45.9, + "p10": 40.0, + "p25": 43.2, + "p75": 50.0, + "p90": 54.8, + "n": 5, + "total_kg_days": 1131000.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_washed_bourbon", + "label": "Raw Material Dwell: Washed Bourbon", + "type": "raw_material_dwell", + "material": "90000100003", + "plant": "PL-A", + "stats": { + "n": 70, + "mean": 59.3, + "median": 55.4, + "std": 25.8, + "min": 5.4, + "max": 155.2, + "p25": 46.3, + "p75": 67.5, + "p85": 72.9, + "p95": 110.6 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 95.7, + "cost": { + "unit_price": 7.425, + "currency": "CHF", + "mean_qty": 2800.0, + "monthly": [ + { + "month": "2022-06", + "n_events": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "n_events": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "n_events": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "n_events": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "n_events": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "n_events": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 568400.0 + } + ] + }, + "observations": [ + { + "date": "2022-06-05", + "value": 54.0 + }, + { + "date": "2022-06-15", + "value": 29.7 + }, + { + "date": "2022-06-25", + "value": 91.8 + }, + { + "date": "2023-03-08", + "value": 5.4 + }, + { + "date": "2023-03-15", + "value": 74.2 + }, + { + "date": "2023-03-22", + "value": 155.2 + }, + { + "date": "2023-03-29", + "value": 40.5 + }, + { + "date": "2023-11-06", + "value": 83.7 + }, + { + "date": "2023-11-13", + "value": 24.3 + }, + { + "date": "2023-11-20", + "value": 114.8 + }, + { + "date": "2024-06-03", + "value": 47.2 + }, + { + "date": "2024-06-10", + "value": 97.2 + }, + { + "date": "2024-06-17", + "value": 13.5 + }, + { + "date": "2024-06-24", + "value": 64.8 + }, + { + "date": "2024-06-30", + "value": 128.2 + }, + { + "date": "2025-01-07", + "value": 37.8 + }, + { + "date": "2025-01-14", + "value": 70.2 + }, + { + "date": "2025-01-21", + "value": 20.2 + }, + { + "date": "2025-01-28", + "value": 105.3 + }, + { + "date": "2025-08-04", + "value": 56.7 + }, + { + "date": "2025-08-08", + "value": 10.8 + }, + { + "date": "2025-08-12", + "value": 87.8 + }, + { + "date": "2025-08-16", + "value": 44.6 + }, + { + "date": "2025-08-20", + "value": 135.0 + }, + { + "date": "2025-08-24", + "value": 27.0 + }, + { + "date": "2025-09-06", + "value": 55.4 + }, + { + "date": "2025-09-12", + "value": 60.8 + }, + { + "date": "2025-09-18", + "value": 64.8 + }, + { + "date": "2025-09-24", + "value": 70.2 + }, + { + "date": "2025-09-30", + "value": 45.9 + }, + { + "date": "2025-10-04", + "value": 54.0 + }, + { + "date": "2025-10-10", + "value": 59.4 + }, + { + "date": "2025-10-16", + "value": 64.8 + }, + { + "date": "2025-10-22", + "value": 40.5 + }, + { + "date": "2025-10-28", + "value": 45.9 + }, + { + "date": "2025-11-05", + "value": 67.5 + }, + { + "date": "2025-11-11", + "value": 72.9 + }, + { + "date": "2025-11-17", + "value": 48.6 + }, + { + "date": "2025-11-23", + "value": 55.4 + }, + { + "date": "2025-11-29", + "value": 59.4 + }, + { + "date": "2025-12-06", + "value": 67.5 + }, + { + "date": "2025-12-12", + "value": 43.2 + }, + { + "date": "2025-12-18", + "value": 48.6 + }, + { + "date": "2025-12-24", + "value": 52.7 + }, + { + "date": "2025-12-30", + "value": 58.1 + }, + { + "date": "2026-01-04", + "value": 37.8 + }, + { + "date": "2026-01-10", + "value": 43.2 + }, + { + "date": "2026-01-16", + "value": 47.2 + }, + { + "date": "2026-01-22", + "value": 51.3 + }, + { + "date": "2026-01-28", + "value": 56.7 + }, + { + "date": "2026-02-05", + "value": 52.7 + }, + { + "date": "2026-02-11", + "value": 55.4 + }, + { + "date": "2026-02-17", + "value": 60.8 + }, + { + "date": "2026-02-23", + "value": 64.8 + }, + { + "date": "2026-02-29", + "value": 70.2 + }, + { + "date": "2026-03-06", + "value": 50.0 + }, + { + "date": "2026-03-12", + "value": 54.0 + }, + { + "date": "2026-03-18", + "value": 59.4 + }, + { + "date": "2026-03-24", + "value": 64.8 + }, + { + "date": "2026-03-30", + "value": 40.5 + }, + { + "date": "2026-04-04", + "value": 63.5 + }, + { + "date": "2026-04-10", + "value": 67.5 + }, + { + "date": "2026-04-16", + "value": 72.9 + }, + { + "date": "2026-04-22", + "value": 48.6 + }, + { + "date": "2026-04-28", + "value": 55.4 + }, + { + "date": "2026-05-05", + "value": 62.1 + }, + { + "date": "2026-05-11", + "value": 67.5 + }, + { + "date": "2026-05-17", + "value": 43.2 + }, + { + "date": "2026-05-23", + "value": 48.6 + }, + { + "date": "2026-05-29", + "value": 52.7 + } + ], + "monthly": [ + { + "month": "2022-06", + "mean": 58.5, + "median": 54.0, + "p10": 34.6, + "p25": 41.9, + "p75": 72.9, + "p90": 84.2, + "n": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "mean": 68.9, + "median": 57.4, + "p10": 15.9, + "p25": 31.7, + "p75": 94.5, + "p90": 131.0, + "n": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "mean": 74.2, + "median": 83.7, + "p10": 36.2, + "p25": 54.0, + "p75": 99.2, + "p90": 108.5, + "n": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "mean": 70.2, + "median": 64.8, + "p10": 27.0, + "p25": 47.2, + "p75": 97.2, + "p90": 115.8, + "n": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "mean": 58.5, + "median": 54.0, + "p10": 25.5, + "p25": 33.5, + "p75": 79.0, + "p90": 94.8, + "n": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "mean": 60.3, + "median": 50.6, + "p10": 18.9, + "p25": 31.5, + "p75": 80.1, + "p90": 111.4, + "n": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "mean": 59.4, + "median": 60.8, + "p10": 49.7, + "p25": 55.4, + "p75": 64.8, + "p90": 68.0, + "n": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "mean": 52.9, + "median": 54.0, + "p10": 42.7, + "p25": 45.9, + "p75": 59.4, + "p90": 62.6, + "n": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "mean": 60.8, + "median": 59.4, + "p10": 51.3, + "p25": 55.4, + "p75": 67.5, + "p90": 70.7, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "mean": 54.0, + "median": 52.7, + "p10": 45.4, + "p25": 48.6, + "p75": 58.1, + "p90": 63.7, + "n": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "mean": 47.2, + "median": 47.2, + "p10": 40.0, + "p25": 43.2, + "p75": 51.3, + "p90": 54.5, + "n": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "mean": 60.8, + "median": 60.8, + "p10": 53.7, + "p25": 55.4, + "p75": 64.8, + "p90": 68.0, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "mean": 53.7, + "median": 54.0, + "p10": 44.3, + "p25": 50.0, + "p75": 59.4, + "p90": 62.6, + "n": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "mean": 61.6, + "median": 63.5, + "p10": 51.3, + "p25": 55.4, + "p75": 67.5, + "p90": 70.7, + "n": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "mean": 54.8, + "median": 52.7, + "p10": 45.4, + "p25": 48.6, + "p75": 62.1, + "p90": 65.3, + "n": 5, + "total_kg_days": 568400.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "prod_duration_green_blend", + "label": "Production: Green Blend", + "type": "production", + "material": "90000200001", + "plant": "PL-A", + "stats": { + "n": 50, + "mean": 5.9, + "median": 5.4, + "std": 2.4, + "min": 1.4, + "max": 18.9, + "p25": 4.5, + "p75": 6.8, + "p85": 6.8, + "p95": 8.9 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 10.0, + "cost": null, + "observations": [ + { + "date": "2022-04-18", + "value": 4.1 + }, + { + "date": "2022-07-05", + "value": 6.8 + }, + { + "date": "2022-10-12", + "value": 2.7 + }, + { + "date": "2023-01-20", + "value": 9.5 + }, + { + "date": "2023-04-15", + "value": 5.4 + }, + { + "date": "2023-07-28", + "value": 8.1 + }, + { + "date": "2023-10-05", + "value": 4.1 + }, + { + "date": "2024-01-12", + "value": 18.9 + }, + { + "date": "2024-04-22", + "value": 5.4 + }, + { + "date": "2024-07-10", + "value": 10.8 + }, + { + "date": "2024-10-18", + "value": 4.1 + }, + { + "date": "2025-01-25", + "value": 6.8 + }, + { + "date": "2025-05-08", + "value": 1.4 + }, + { + "date": "2025-08-15", + "value": 8.1 + }, + { + "date": "2025-09-04", + "value": 4.1 + }, + { + "date": "2025-09-10", + "value": 5.4 + }, + { + "date": "2025-09-16", + "value": 5.4 + }, + { + "date": "2025-09-22", + "value": 5.4 + }, + { + "date": "2025-10-05", + "value": 4.1 + }, + { + "date": "2025-10-11", + "value": 5.4 + }, + { + "date": "2025-10-17", + "value": 5.4 + }, + { + "date": "2025-10-23", + "value": 5.4 + }, + { + "date": "2025-11-06", + "value": 5.4 + }, + { + "date": "2025-11-12", + "value": 6.8 + }, + { + "date": "2025-11-18", + "value": 6.8 + }, + { + "date": "2025-11-24", + "value": 6.8 + }, + { + "date": "2025-12-04", + "value": 5.4 + }, + { + "date": "2025-12-10", + "value": 6.8 + }, + { + "date": "2025-12-16", + "value": 6.8 + }, + { + "date": "2025-12-22", + "value": 4.1 + }, + { + "date": "2026-01-05", + "value": 5.4 + }, + { + "date": "2026-01-11", + "value": 6.8 + }, + { + "date": "2026-01-17", + "value": 4.1 + }, + { + "date": "2026-01-23", + "value": 4.1 + }, + { + "date": "2026-02-06", + "value": 6.8 + }, + { + "date": "2026-02-12", + "value": 4.1 + }, + { + "date": "2026-02-18", + "value": 5.4 + }, + { + "date": "2026-02-24", + "value": 5.4 + }, + { + "date": "2026-03-04", + "value": 4.1 + }, + { + "date": "2026-03-10", + "value": 4.1 + }, + { + "date": "2026-03-16", + "value": 5.4 + }, + { + "date": "2026-03-22", + "value": 5.4 + }, + { + "date": "2026-04-05", + "value": 5.4 + }, + { + "date": "2026-04-11", + "value": 5.4 + }, + { + "date": "2026-04-17", + "value": 6.8 + }, + { + "date": "2026-04-23", + "value": 6.8 + }, + { + "date": "2026-05-06", + "value": 5.4 + }, + { + "date": "2026-05-12", + "value": 5.4 + }, + { + "date": "2026-05-18", + "value": 6.8 + }, + { + "date": "2026-05-24", + "value": 6.8 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-07", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2023-01", + "mean": 9.5, + "median": 9.5, + "p10": 9.5, + "p25": 9.5, + "p75": 9.5, + "p90": 9.5, + "n": 1 + }, + { + "month": "2023-04", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2023-07", + "mean": 8.1, + "median": 8.1, + "p10": 8.1, + "p25": 8.1, + "p75": 8.1, + "p90": 8.1, + "n": 1 + }, + { + "month": "2023-10", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-01", + "mean": 18.9, + "median": 18.9, + "p10": 18.9, + "p25": 18.9, + "p75": 18.9, + "p90": 18.9, + "n": 1 + }, + { + "month": "2024-04", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2024-07", + "mean": 10.8, + "median": 10.8, + "p10": 10.8, + "p25": 10.8, + "p75": 10.8, + "p90": 10.8, + "n": 1 + }, + { + "month": "2024-10", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-01", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2025-05", + "mean": 1.4, + "median": 1.4, + "p10": 1.4, + "p25": 1.4, + "p75": 1.4, + "p90": 1.4, + "n": 1 + }, + { + "month": "2025-08", + "mean": 8.1, + "median": 8.1, + "p10": 8.1, + "p25": 8.1, + "p75": 8.1, + "p90": 8.1, + "n": 1 + }, + { + "month": "2025-09", + "mean": 5.1, + "median": 5.4, + "p10": 4.5, + "p25": 5.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2025-10", + "mean": 5.1, + "median": 5.4, + "p10": 4.5, + "p25": 5.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2025-11", + "mean": 6.5, + "median": 6.8, + "p10": 5.8, + "p25": 6.5, + "p75": 6.8, + "p90": 6.8, + "n": 4 + }, + { + "month": "2025-12", + "mean": 5.8, + "median": 6.1, + "p10": 4.5, + "p25": 5.1, + "p75": 6.8, + "p90": 6.8, + "n": 4 + }, + { + "month": "2026-01", + "mean": 5.1, + "median": 4.7, + "p10": 4.1, + "p25": 4.1, + "p75": 5.8, + "p90": 6.3, + "n": 4 + }, + { + "month": "2026-02", + "mean": 5.4, + "median": 5.4, + "p10": 4.5, + "p25": 5.1, + "p75": 5.8, + "p90": 6.3, + "n": 4 + }, + { + "month": "2026-03", + "mean": 4.7, + "median": 4.7, + "p10": 4.1, + "p25": 4.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2026-04", + "mean": 6.1, + "median": 6.1, + "p10": 5.4, + "p25": 5.4, + "p75": 6.8, + "p90": 6.8, + "n": 4 + }, + { + "month": "2026-05", + "mean": 6.1, + "median": 6.1, + "p10": 5.4, + "p25": 5.4, + "p75": 6.8, + "p90": 6.8, + "n": 4 + } + ], + "n_batches": 50, + "n_movements": null, + "yield_summary": { + "median": 98.5, + "mean": 97.2, + "reference": 100.0, + "n": 50 + }, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 0.9, + "mean_slack": 5.1, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 0.9 + }, + "direct": { + "binding_share": 0.9, + "mean_slack": 7.2, + "next_bottleneck_days": 27.4, + "expected_marginal_per_day": 0.9 + }, + "hub-1": { + "binding_share": 0.9, + "mean_slack": 2.0, + "next_bottleneck_days": 31.3, + "expected_marginal_per_day": 0.9 + } + } + }, + { + "id": "intermed_dwell_green_blend", + "label": "Intermediate Dwell: Green Blend", + "type": "intermediate_dwell", + "material": "90000200001", + "plant": "PL-A", + "stats": { + "n": 73, + "mean": 23.5, + "median": 21.6, + "std": 12.2, + "min": 2.7, + "max": 74.2, + "p25": 17.6, + "p75": 25.7, + "p85": 27.5, + "p95": 50.0 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 87.7, + "cost": { + "unit_price": 16.875, + "currency": "CHF", + "mean_qty": 3200.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "n_events": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "n_events": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "n_events": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "n_events": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "n_events": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "n_events": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 249600.0 + } + ] + }, + "observations": [ + { + "date": "2022-05-05", + "value": 16.2 + }, + { + "date": "2022-05-15", + "value": 33.8 + }, + { + "date": "2022-05-22", + "value": 10.8 + }, + { + "date": "2022-11-03", + "value": 47.2 + }, + { + "date": "2022-11-10", + "value": 20.2 + }, + { + "date": "2022-11-18", + "value": 6.8 + }, + { + "date": "2022-11-25", + "value": 29.7 + }, + { + "date": "2023-05-08", + "value": 24.3 + }, + { + "date": "2023-05-15", + "value": 54.0 + }, + { + "date": "2023-05-22", + "value": 13.5 + }, + { + "date": "2023-11-06", + "value": 74.2 + }, + { + "date": "2023-11-13", + "value": 2.7 + }, + { + "date": "2023-11-20", + "value": 37.8 + }, + { + "date": "2023-11-27", + "value": 20.2 + }, + { + "date": "2023-11-30", + "value": 10.8 + }, + { + "date": "2024-05-06", + "value": 27.0 + }, + { + "date": "2024-05-13", + "value": 60.8 + }, + { + "date": "2024-05-20", + "value": 16.2 + }, + { + "date": "2024-05-27", + "value": 4.1 + }, + { + "date": "2024-11-04", + "value": 24.3 + }, + { + "date": "2024-11-11", + "value": 40.5 + }, + { + "date": "2024-11-18", + "value": 10.8 + }, + { + "date": "2025-05-05", + "value": 29.7 + }, + { + "date": "2025-05-09", + "value": 47.2 + }, + { + "date": "2025-05-13", + "value": 6.8 + }, + { + "date": "2025-05-17", + "value": 20.2 + }, + { + "date": "2025-05-21", + "value": 56.7 + }, + { + "date": "2025-05-25", + "value": 13.5 + }, + { + "date": "2025-09-05", + "value": 18.9 + }, + { + "date": "2025-09-11", + "value": 21.6 + }, + { + "date": "2025-09-17", + "value": 23.0 + }, + { + "date": "2025-09-23", + "value": 24.3 + }, + { + "date": "2025-09-29", + "value": 25.7 + }, + { + "date": "2025-10-06", + "value": 18.9 + }, + { + "date": "2025-10-12", + "value": 20.2 + }, + { + "date": "2025-10-18", + "value": 21.6 + }, + { + "date": "2025-10-24", + "value": 24.3 + }, + { + "date": "2025-10-30", + "value": 14.9 + }, + { + "date": "2025-11-04", + "value": 24.3 + }, + { + "date": "2025-11-10", + "value": 25.7 + }, + { + "date": "2025-11-16", + "value": 27.0 + }, + { + "date": "2025-11-22", + "value": 18.9 + }, + { + "date": "2025-11-28", + "value": 20.2 + }, + { + "date": "2025-12-05", + "value": 23.0 + }, + { + "date": "2025-12-11", + "value": 25.7 + }, + { + "date": "2025-12-17", + "value": 16.2 + }, + { + "date": "2025-12-23", + "value": 18.9 + }, + { + "date": "2025-12-29", + "value": 20.2 + }, + { + "date": "2026-01-06", + "value": 23.0 + }, + { + "date": "2026-01-12", + "value": 14.9 + }, + { + "date": "2026-01-18", + "value": 16.2 + }, + { + "date": "2026-01-24", + "value": 17.6 + }, + { + "date": "2026-01-30", + "value": 18.9 + }, + { + "date": "2026-02-04", + "value": 17.6 + }, + { + "date": "2026-02-10", + "value": 18.9 + }, + { + "date": "2026-02-16", + "value": 21.6 + }, + { + "date": "2026-02-22", + "value": 23.0 + }, + { + "date": "2026-02-28", + "value": 24.3 + }, + { + "date": "2026-03-05", + "value": 17.6 + }, + { + "date": "2026-03-11", + "value": 18.9 + }, + { + "date": "2026-03-17", + "value": 20.2 + }, + { + "date": "2026-03-23", + "value": 21.6 + }, + { + "date": "2026-03-29", + "value": 24.3 + }, + { + "date": "2026-04-06", + "value": 21.6 + }, + { + "date": "2026-04-12", + "value": 24.3 + }, + { + "date": "2026-04-18", + "value": 25.7 + }, + { + "date": "2026-04-24", + "value": 27.0 + }, + { + "date": "2026-04-30", + "value": 18.9 + }, + { + "date": "2026-05-04", + "value": 21.6 + }, + { + "date": "2026-05-10", + "value": 23.0 + }, + { + "date": "2026-05-16", + "value": 25.7 + }, + { + "date": "2026-05-22", + "value": 16.2 + }, + { + "date": "2026-05-28", + "value": 18.9 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 20.2, + "median": 16.2, + "p10": 11.9, + "p25": 13.5, + "p75": 25.0, + "p90": 30.2, + "n": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "mean": 26.1, + "median": 25.0, + "p10": 10.8, + "p25": 16.9, + "p75": 34.2, + "p90": 42.0, + "n": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "mean": 30.6, + "median": 24.3, + "p10": 15.7, + "p25": 18.9, + "p75": 39.2, + "p90": 48.1, + "n": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "mean": 29.2, + "median": 20.2, + "p10": 5.9, + "p25": 10.8, + "p75": 37.8, + "p90": 59.7, + "n": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "mean": 27.0, + "median": 21.6, + "p10": 7.7, + "p25": 13.2, + "p75": 35.5, + "p90": 50.6, + "n": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "mean": 25.2, + "median": 24.3, + "p10": 13.5, + "p25": 17.6, + "p75": 32.4, + "p90": 37.3, + "n": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "mean": 29.0, + "median": 25.0, + "p10": 10.1, + "p25": 15.3, + "p75": 42.9, + "p90": 52.0, + "n": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "mean": 22.7, + "median": 23.0, + "p10": 20.0, + "p25": 21.6, + "p75": 24.3, + "p90": 25.1, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "mean": 20.0, + "median": 20.2, + "p10": 16.5, + "p25": 18.9, + "p75": 21.6, + "p90": 23.2, + "n": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "mean": 23.2, + "median": 24.3, + "p10": 19.4, + "p25": 20.2, + "p75": 25.7, + "p90": 26.5, + "n": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "mean": 20.8, + "median": 20.2, + "p10": 17.3, + "p25": 18.9, + "p75": 23.0, + "p90": 24.6, + "n": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "mean": 18.1, + "median": 17.6, + "p10": 15.4, + "p25": 16.2, + "p75": 18.9, + "p90": 21.3, + "n": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "mean": 21.1, + "median": 21.6, + "p10": 18.1, + "p25": 18.9, + "p75": 23.0, + "p90": 23.8, + "n": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "mean": 20.5, + "median": 20.2, + "p10": 18.1, + "p25": 18.9, + "p75": 21.6, + "p90": 23.2, + "n": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "mean": 23.5, + "median": 24.3, + "p10": 20.0, + "p25": 21.6, + "p75": 25.7, + "p90": 26.5, + "n": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "mean": 21.1, + "median": 21.6, + "p10": 17.3, + "p25": 18.9, + "p75": 23.0, + "p90": 24.6, + "n": 5, + "total_kg_days": 249600.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 0.9, + "mean_slack": 5.1, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 0.9 + }, + "direct": { + "binding_share": 0.9, + "mean_slack": 7.2, + "next_bottleneck_days": 27.4, + "expected_marginal_per_day": 0.9 + }, + "hub-1": { + "binding_share": 0.9, + "mean_slack": 2.0, + "next_bottleneck_days": 31.3, + "expected_marginal_per_day": 0.9 + } + } + }, + { + "id": "prod_duration_harbor_dark_roast", + "label": "Production: Harbor Dark Roast", + "type": "production", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 58, + "mean": 4.3, + "median": 4.1, + "std": 1.9, + "min": 0.0, + "max": 13.5, + "p25": 4.1, + "p75": 5.4, + "p85": 5.4, + "p95": 7.0 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 5.2, + "cost": null, + "observations": [ + { + "date": "2022-05-20", + "value": 2.7 + }, + { + "date": "2022-06-10", + "value": 4.1 + }, + { + "date": "2022-07-15", + "value": 1.4 + }, + { + "date": "2022-08-22", + "value": 5.4 + }, + { + "date": "2022-10-05", + "value": 2.7 + }, + { + "date": "2022-11-18", + "value": 6.8 + }, + { + "date": "2023-01-10", + "value": 4.1 + }, + { + "date": "2023-03-25", + "value": 9.5 + }, + { + "date": "2023-05-12", + "value": 2.7 + }, + { + "date": "2023-07-08", + "value": 5.4 + }, + { + "date": "2023-09-15", + "value": 1.4 + }, + { + "date": "2023-11-22", + "value": 4.1 + }, + { + "date": "2024-01-18", + "value": 13.5 + }, + { + "date": "2024-03-08", + "value": 4.1 + }, + { + "date": "2024-05-15", + "value": 2.7 + }, + { + "date": "2024-07-22", + "value": 6.8 + }, + { + "date": "2024-09-10", + "value": 0.0 + }, + { + "date": "2024-11-05", + "value": 5.4 + }, + { + "date": "2025-01-15", + "value": 4.1 + }, + { + "date": "2025-03-20", + "value": 2.7 + }, + { + "date": "2025-05-28", + "value": 8.1 + }, + { + "date": "2025-08-05", + "value": 4.1 + }, + { + "date": "2025-09-05", + "value": 5.4 + }, + { + "date": "2025-09-11", + "value": 5.4 + }, + { + "date": "2025-09-17", + "value": 4.1 + }, + { + "date": "2025-09-23", + "value": 4.1 + }, + { + "date": "2025-10-06", + "value": 5.4 + }, + { + "date": "2025-10-12", + "value": 2.7 + }, + { + "date": "2025-10-18", + "value": 4.1 + }, + { + "date": "2025-10-24", + "value": 4.1 + }, + { + "date": "2025-11-04", + "value": 2.7 + }, + { + "date": "2025-11-10", + "value": 2.7 + }, + { + "date": "2025-11-16", + "value": 4.1 + }, + { + "date": "2025-11-22", + "value": 4.1 + }, + { + "date": "2025-12-05", + "value": 4.1 + }, + { + "date": "2025-12-11", + "value": 4.1 + }, + { + "date": "2025-12-17", + "value": 4.1 + }, + { + "date": "2025-12-23", + "value": 5.4 + }, + { + "date": "2026-01-06", + "value": 4.1 + }, + { + "date": "2026-01-12", + "value": 4.1 + }, + { + "date": "2026-01-18", + "value": 4.1 + }, + { + "date": "2026-01-24", + "value": 5.4 + }, + { + "date": "2026-02-04", + "value": 5.4 + }, + { + "date": "2026-02-10", + "value": 5.4 + }, + { + "date": "2026-02-16", + "value": 5.4 + }, + { + "date": "2026-02-22", + "value": 4.1 + }, + { + "date": "2026-03-05", + "value": 4.1 + }, + { + "date": "2026-03-11", + "value": 5.4 + }, + { + "date": "2026-03-17", + "value": 2.7 + }, + { + "date": "2026-03-23", + "value": 4.1 + }, + { + "date": "2026-04-06", + "value": 4.1 + }, + { + "date": "2026-04-12", + "value": 2.7 + }, + { + "date": "2026-04-18", + "value": 2.7 + }, + { + "date": "2026-04-24", + "value": 4.1 + }, + { + "date": "2026-05-04", + "value": 4.1 + }, + { + "date": "2026-05-10", + "value": 4.1 + }, + { + "date": "2026-05-16", + "value": 4.1 + }, + { + "date": "2026-05-22", + "value": 4.1 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2022-06", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-07", + "mean": 1.4, + "median": 1.4, + "p10": 1.4, + "p25": 1.4, + "p75": 1.4, + "p90": 1.4, + "n": 1 + }, + { + "month": "2022-08", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2022-11", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2023-01", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2023-03", + "mean": 9.5, + "median": 9.5, + "p10": 9.5, + "p25": 9.5, + "p75": 9.5, + "p90": 9.5, + "n": 1 + }, + { + "month": "2023-05", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2023-07", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2023-09", + "mean": 1.4, + "median": 1.4, + "p10": 1.4, + "p25": 1.4, + "p75": 1.4, + "p90": 1.4, + "n": 1 + }, + { + "month": "2023-11", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-01", + "mean": 13.5, + "median": 13.5, + "p10": 13.5, + "p25": 13.5, + "p75": 13.5, + "p90": 13.5, + "n": 1 + }, + { + "month": "2024-03", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-05", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2024-07", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2024-09", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2025-01", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-03", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2025-05", + "mean": 8.1, + "median": 8.1, + "p10": 8.1, + "p25": 8.1, + "p75": 8.1, + "p90": 8.1, + "n": 1 + }, + { + "month": "2025-08", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-09", + "mean": 4.7, + "median": 4.7, + "p10": 4.1, + "p25": 4.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2025-10", + "mean": 4.1, + "median": 4.1, + "p10": 3.1, + "p25": 3.8, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2025-11", + "mean": 3.4, + "median": 3.4, + "p10": 2.7, + "p25": 2.7, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2025-12", + "mean": 4.5, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-01", + "mean": 4.5, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-02", + "mean": 5.1, + "median": 5.4, + "p10": 4.5, + "p25": 5.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2026-03", + "mean": 4.1, + "median": 4.1, + "p10": 3.1, + "p25": 3.8, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-04", + "mean": 3.4, + "median": 3.4, + "p10": 2.7, + "p25": 2.7, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2026-05", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 4 + } + ], + "n_batches": 58, + "n_movements": null, + "yield_summary": { + "median": 99.2, + "mean": 98.5, + "reference": 100.0, + "n": 58 + }, + "consumption_summary": { + "median_variance": 2.1, + "mean_variance": 3.4, + "n_components": 3, + "n": 58 + }, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 4.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 3.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 4.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "prod_to_qa_pla", + "label": "Production \u2192 QA Release (PL-A)", + "type": "qa_hold", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 58, + "mean": 4.6, + "median": 4.1, + "std": 2.4, + "min": 0.0, + "max": 17.6, + "p25": 4.1, + "p75": 5.4, + "p85": 5.4, + "p95": 8.4 + }, + "plifz": 5, + "plifz_note": "WEBAZ (GR processing days)", + "pct_exceeding_plifz": 6.9, + "cost": null, + "observations": [ + { + "date": "2022-05-22", + "value": 2.7 + }, + { + "date": "2022-06-13", + "value": 1.4 + }, + { + "date": "2022-07-16", + "value": 4.1 + }, + { + "date": "2022-08-26", + "value": 2.7 + }, + { + "date": "2022-10-07", + "value": 6.8 + }, + { + "date": "2022-11-23", + "value": 2.7 + }, + { + "date": "2023-01-13", + "value": 5.4 + }, + { + "date": "2023-04-01", + "value": 4.1 + }, + { + "date": "2023-05-14", + "value": 8.1 + }, + { + "date": "2023-07-12", + "value": 2.7 + }, + { + "date": "2023-09-16", + "value": 17.6 + }, + { + "date": "2023-11-25", + "value": 4.1 + }, + { + "date": "2024-01-28", + "value": 9.5 + }, + { + "date": "2024-03-11", + "value": 1.4 + }, + { + "date": "2024-05-17", + "value": 5.4 + }, + { + "date": "2024-07-27", + "value": 6.8 + }, + { + "date": "2024-09-10", + "value": 2.7 + }, + { + "date": "2024-11-09", + "value": 0.0 + }, + { + "date": "2025-01-18", + "value": 4.1 + }, + { + "date": "2025-03-22", + "value": 10.8 + }, + { + "date": "2025-06-03", + "value": 2.7 + }, + { + "date": "2025-08-08", + "value": 6.8 + }, + { + "date": "2025-09-04", + "value": 2.7 + }, + { + "date": "2025-09-10", + "value": 4.1 + }, + { + "date": "2025-09-16", + "value": 4.1 + }, + { + "date": "2025-09-22", + "value": 4.1 + }, + { + "date": "2025-10-05", + "value": 4.1 + }, + { + "date": "2025-10-11", + "value": 4.1 + }, + { + "date": "2025-10-17", + "value": 5.4 + }, + { + "date": "2025-10-23", + "value": 5.4 + }, + { + "date": "2025-11-06", + "value": 4.1 + }, + { + "date": "2025-11-12", + "value": 4.1 + }, + { + "date": "2025-11-18", + "value": 4.1 + }, + { + "date": "2025-11-24", + "value": 5.4 + }, + { + "date": "2025-12-04", + "value": 4.1 + }, + { + "date": "2025-12-10", + "value": 4.1 + }, + { + "date": "2025-12-16", + "value": 4.1 + }, + { + "date": "2025-12-22", + "value": 2.7 + }, + { + "date": "2026-01-05", + "value": 5.4 + }, + { + "date": "2026-01-11", + "value": 5.4 + }, + { + "date": "2026-01-17", + "value": 4.1 + }, + { + "date": "2026-01-23", + "value": 4.1 + }, + { + "date": "2026-02-06", + "value": 5.4 + }, + { + "date": "2026-02-12", + "value": 2.7 + }, + { + "date": "2026-02-18", + "value": 4.1 + }, + { + "date": "2026-02-24", + "value": 4.1 + }, + { + "date": "2026-03-04", + "value": 4.1 + }, + { + "date": "2026-03-10", + "value": 4.1 + }, + { + "date": "2026-03-16", + "value": 4.1 + }, + { + "date": "2026-03-22", + "value": 5.4 + }, + { + "date": "2026-04-05", + "value": 4.1 + }, + { + "date": "2026-04-11", + "value": 4.1 + }, + { + "date": "2026-04-17", + "value": 4.1 + }, + { + "date": "2026-04-23", + "value": 4.1 + }, + { + "date": "2026-05-06", + "value": 4.1 + }, + { + "date": "2026-05-12", + "value": 4.1 + }, + { + "date": "2026-05-18", + "value": 4.1 + }, + { + "date": "2026-05-24", + "value": 4.1 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2022-06", + "mean": 1.4, + "median": 1.4, + "p10": 1.4, + "p25": 1.4, + "p75": 1.4, + "p90": 1.4, + "n": 1 + }, + { + "month": "2022-07", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-08", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2022-10", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2022-11", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2023-01", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2023-04", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2023-05", + "mean": 8.1, + "median": 8.1, + "p10": 8.1, + "p25": 8.1, + "p75": 8.1, + "p90": 8.1, + "n": 1 + }, + { + "month": "2023-07", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2023-09", + "mean": 17.6, + "median": 17.6, + "p10": 17.6, + "p25": 17.6, + "p75": 17.6, + "p90": 17.6, + "n": 1 + }, + { + "month": "2023-11", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-01", + "mean": 9.5, + "median": 9.5, + "p10": 9.5, + "p25": 9.5, + "p75": 9.5, + "p90": 9.5, + "n": 1 + }, + { + "month": "2024-03", + "mean": 1.4, + "median": 1.4, + "p10": 1.4, + "p25": 1.4, + "p75": 1.4, + "p90": 1.4, + "n": 1 + }, + { + "month": "2024-05", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2024-07", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2024-09", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2024-11", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-03", + "mean": 10.8, + "median": 10.8, + "p10": 10.8, + "p25": 10.8, + "p75": 10.8, + "p90": 10.8, + "n": 1 + }, + { + "month": "2025-06", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2025-08", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2025-09", + "mean": 3.8, + "median": 4.1, + "p10": 3.1, + "p25": 3.8, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2025-10", + "mean": 4.7, + "median": 4.7, + "p10": 4.1, + "p25": 4.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2025-11", + "mean": 4.5, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2025-12", + "mean": 3.8, + "median": 4.1, + "p10": 3.1, + "p25": 3.8, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2026-01", + "mean": 4.7, + "median": 4.7, + "p10": 4.1, + "p25": 4.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2026-02", + "mean": 4.1, + "median": 4.1, + "p10": 3.1, + "p25": 3.8, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-03", + "mean": 4.5, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-04", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2026-05", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 4 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": { + "median": 99.2, + "mean": 98.5, + "reference": 100.0, + "n": 58 + }, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 7.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 7.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 6.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "post_qa_ship_pla", + "label": "Post-QA Dwell (PL-A)", + "type": "post_qa_ship", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 57, + "mean": 17.1, + "median": 16.2, + "std": 7.6, + "min": 2.7, + "max": 56.7, + "p25": 13.5, + "p75": 18.9, + "p85": 20.2, + "p95": 27.5 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "cost": { + "unit_price": 38.475, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2023-03", + "n_events": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "n_events": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "n_events": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 264000.0 + } + ] + }, + "observations": [ + { + "date": "2023-03-10", + "value": 10.8 + }, + { + "date": "2023-03-25", + "value": 29.7 + }, + { + "date": "2023-09-20", + "value": 56.7 + }, + { + "date": "2024-03-15", + "value": 8.1 + }, + { + "date": "2024-03-28", + "value": 24.3 + }, + { + "date": "2024-09-05", + "value": 37.8 + }, + { + "date": "2024-09-15", + "value": 16.2 + }, + { + "date": "2024-09-25", + "value": 2.7 + }, + { + "date": "2025-03-10", + "value": 20.2 + }, + { + "date": "2025-03-22", + "value": 6.8 + }, + { + "date": "2025-07-08", + "value": 27.0 + }, + { + "date": "2025-07-22", + "value": 5.4 + }, + { + "date": "2025-09-05", + "value": 18.9 + }, + { + "date": "2025-09-11", + "value": 20.2 + }, + { + "date": "2025-09-17", + "value": 13.5 + }, + { + "date": "2025-09-23", + "value": 14.9 + }, + { + "date": "2025-09-29", + "value": 16.2 + }, + { + "date": "2025-10-06", + "value": 18.9 + }, + { + "date": "2025-10-12", + "value": 10.8 + }, + { + "date": "2025-10-18", + "value": 13.5 + }, + { + "date": "2025-10-24", + "value": 14.9 + }, + { + "date": "2025-10-30", + "value": 14.9 + }, + { + "date": "2025-11-04", + "value": 13.5 + }, + { + "date": "2025-11-10", + "value": 16.2 + }, + { + "date": "2025-11-16", + "value": 16.2 + }, + { + "date": "2025-11-22", + "value": 17.6 + }, + { + "date": "2025-11-28", + "value": 18.9 + }, + { + "date": "2025-12-05", + "value": 13.5 + }, + { + "date": "2025-12-11", + "value": 14.9 + }, + { + "date": "2025-12-17", + "value": 16.2 + }, + { + "date": "2025-12-23", + "value": 17.6 + }, + { + "date": "2025-12-29", + "value": 18.9 + }, + { + "date": "2026-01-06", + "value": 17.6 + }, + { + "date": "2026-01-12", + "value": 18.9 + }, + { + "date": "2026-01-18", + "value": 20.2 + }, + { + "date": "2026-01-24", + "value": 21.6 + }, + { + "date": "2026-01-30", + "value": 14.9 + }, + { + "date": "2026-02-04", + "value": 17.6 + }, + { + "date": "2026-02-10", + "value": 18.9 + }, + { + "date": "2026-02-16", + "value": 20.2 + }, + { + "date": "2026-02-22", + "value": 13.5 + }, + { + "date": "2026-02-28", + "value": 14.9 + }, + { + "date": "2026-03-05", + "value": 17.6 + }, + { + "date": "2026-03-11", + "value": 18.9 + }, + { + "date": "2026-03-17", + "value": 10.8 + }, + { + "date": "2026-03-23", + "value": 13.5 + }, + { + "date": "2026-03-29", + "value": 14.9 + }, + { + "date": "2026-04-06", + "value": 21.6 + }, + { + "date": "2026-04-12", + "value": 13.5 + }, + { + "date": "2026-04-18", + "value": 16.2 + }, + { + "date": "2026-04-24", + "value": 16.2 + }, + { + "date": "2026-04-30", + "value": 17.6 + }, + { + "date": "2026-05-04", + "value": 12.2 + }, + { + "date": "2026-05-10", + "value": 13.5 + }, + { + "date": "2026-05-16", + "value": 14.9 + }, + { + "date": "2026-05-22", + "value": 16.2 + }, + { + "date": "2026-05-28", + "value": 17.6 + } + ], + "monthly": [ + { + "month": "2023-03", + "mean": 20.2, + "median": 20.2, + "p10": 12.7, + "p25": 15.5, + "p75": 25.0, + "p90": 27.8, + "n": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "mean": 56.7, + "median": 56.7, + "p10": 56.7, + "p25": 56.7, + "p75": 56.7, + "p90": 56.7, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "mean": 16.2, + "median": 16.2, + "p10": 9.7, + "p25": 12.2, + "p75": 20.2, + "p90": 22.7, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "mean": 18.9, + "median": 16.2, + "p10": 5.4, + "p25": 9.5, + "p75": 27.0, + "p90": 33.5, + "n": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "mean": 13.5, + "median": 13.5, + "p10": 8.1, + "p25": 10.1, + "p75": 16.9, + "p90": 18.9, + "n": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "mean": 16.2, + "median": 16.2, + "p10": 7.6, + "p25": 10.8, + "p75": 21.6, + "p90": 24.8, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "mean": 16.7, + "median": 16.2, + "p10": 14.0, + "p25": 14.9, + "p75": 18.9, + "p90": 19.7, + "n": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "mean": 14.6, + "median": 14.9, + "p10": 11.9, + "p25": 13.5, + "p75": 14.9, + "p90": 17.3, + "n": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "mean": 16.5, + "median": 16.2, + "p10": 14.6, + "p25": 16.2, + "p75": 17.6, + "p90": 18.4, + "n": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "mean": 16.2, + "median": 16.2, + "p10": 14.0, + "p25": 14.9, + "p75": 17.6, + "p90": 18.4, + "n": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "mean": 18.6, + "median": 18.9, + "p10": 15.9, + "p25": 17.6, + "p75": 20.2, + "p90": 21.1, + "n": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "mean": 17.0, + "median": 17.6, + "p10": 14.0, + "p25": 14.9, + "p75": 18.9, + "p90": 19.7, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "mean": 15.1, + "median": 14.9, + "p10": 11.9, + "p25": 13.5, + "p75": 17.6, + "p90": 18.4, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "mean": 17.0, + "median": 16.2, + "p10": 14.6, + "p25": 16.2, + "p75": 17.6, + "p90": 20.0, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "mean": 14.9, + "median": 14.9, + "p10": 12.7, + "p25": 13.5, + "p75": 16.2, + "p90": 17.0, + "n": 5, + "total_kg_days": 264000.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "direct_ship_pla", + "label": "Direct-to-Customer Ship", + "type": "transit", + "material": "90000300001", + "plant": "PL-A\u2192Customer", + "stats": { + "n": 35, + "mean": 28.2, + "median": 28.4, + "std": 6.2, + "min": 16.2, + "max": 51.3, + "p25": 25.0, + "p75": 31.1, + "p85": 33.6, + "p95": 35.9 + }, + "plifz": null, + "plifz_note": "No planning parameter set", + "pct_exceeding_plifz": null, + "cost": null, + "observations": [ + { + "date": "2023-04-05", + "value": 24.3 + }, + { + "date": "2023-10-12", + "value": 33.8 + }, + { + "date": "2024-04-08", + "value": 16.2 + }, + { + "date": "2024-09-20", + "value": 51.3 + }, + { + "date": "2024-10-15", + "value": 27.0 + }, + { + "date": "2025-03-25", + "value": 20.2 + }, + { + "date": "2025-04-10", + "value": 37.8 + }, + { + "date": "2025-07-30", + "value": 32.4 + }, + { + "date": "2025-09-04", + "value": 23.0 + }, + { + "date": "2025-09-10", + "value": 25.7 + }, + { + "date": "2025-09-16", + "value": 28.4 + }, + { + "date": "2025-10-05", + "value": 23.0 + }, + { + "date": "2025-10-11", + "value": 25.7 + }, + { + "date": "2025-10-17", + "value": 27.0 + }, + { + "date": "2025-11-06", + "value": 29.7 + }, + { + "date": "2025-11-12", + "value": 31.1 + }, + { + "date": "2025-11-18", + "value": 33.8 + }, + { + "date": "2025-12-04", + "value": 28.4 + }, + { + "date": "2025-12-10", + "value": 31.1 + }, + { + "date": "2025-12-16", + "value": 33.8 + }, + { + "date": "2026-01-05", + "value": 28.4 + }, + { + "date": "2026-01-11", + "value": 31.1 + }, + { + "date": "2026-01-17", + "value": 18.9 + }, + { + "date": "2026-02-06", + "value": 35.1 + }, + { + "date": "2026-02-12", + "value": 23.0 + }, + { + "date": "2026-02-18", + "value": 25.7 + }, + { + "date": "2026-03-04", + "value": 20.2 + }, + { + "date": "2026-03-10", + "value": 23.0 + }, + { + "date": "2026-03-16", + "value": 25.7 + }, + { + "date": "2026-04-05", + "value": 27.0 + }, + { + "date": "2026-04-11", + "value": 29.7 + }, + { + "date": "2026-04-17", + "value": 31.1 + }, + { + "date": "2026-05-06", + "value": 27.0 + }, + { + "date": "2026-05-12", + "value": 28.4 + }, + { + "date": "2026-05-18", + "value": 31.1 + } + ], + "monthly": [ + { + "month": "2023-04", + "mean": 24.3, + "median": 24.3, + "p10": 24.3, + "p25": 24.3, + "p75": 24.3, + "p90": 24.3, + "n": 1 + }, + { + "month": "2023-10", + "mean": 33.8, + "median": 33.8, + "p10": 33.8, + "p25": 33.8, + "p75": 33.8, + "p90": 33.8, + "n": 1 + }, + { + "month": "2024-04", + "mean": 16.2, + "median": 16.2, + "p10": 16.2, + "p25": 16.2, + "p75": 16.2, + "p90": 16.2, + "n": 1 + }, + { + "month": "2024-09", + "mean": 51.3, + "median": 51.3, + "p10": 51.3, + "p25": 51.3, + "p75": 51.3, + "p90": 51.3, + "n": 1 + }, + { + "month": "2024-10", + "mean": 27.0, + "median": 27.0, + "p10": 27.0, + "p25": 27.0, + "p75": 27.0, + "p90": 27.0, + "n": 1 + }, + { + "month": "2025-03", + "mean": 20.2, + "median": 20.2, + "p10": 20.2, + "p25": 20.2, + "p75": 20.2, + "p90": 20.2, + "n": 1 + }, + { + "month": "2025-04", + "mean": 37.8, + "median": 37.8, + "p10": 37.8, + "p25": 37.8, + "p75": 37.8, + "p90": 37.8, + "n": 1 + }, + { + "month": "2025-07", + "mean": 32.4, + "median": 32.4, + "p10": 32.4, + "p25": 32.4, + "p75": 32.4, + "p90": 32.4, + "n": 1 + }, + { + "month": "2025-09", + "mean": 25.7, + "median": 25.7, + "p10": 23.5, + "p25": 24.3, + "p75": 27.0, + "p90": 27.8, + "n": 3 + }, + { + "month": "2025-10", + "mean": 25.2, + "median": 25.7, + "p10": 23.5, + "p25": 24.3, + "p75": 26.3, + "p90": 26.7, + "n": 3 + }, + { + "month": "2025-11", + "mean": 31.5, + "median": 31.1, + "p10": 30.0, + "p25": 30.4, + "p75": 32.4, + "p90": 33.2, + "n": 3 + }, + { + "month": "2025-12", + "mean": 31.1, + "median": 31.1, + "p10": 28.9, + "p25": 29.7, + "p75": 32.4, + "p90": 33.2, + "n": 3 + }, + { + "month": "2026-01", + "mean": 26.1, + "median": 28.4, + "p10": 20.8, + "p25": 23.6, + "p75": 29.7, + "p90": 30.5, + "n": 3 + }, + { + "month": "2026-02", + "mean": 27.9, + "median": 25.7, + "p10": 23.5, + "p25": 24.3, + "p75": 30.4, + "p90": 33.2, + "n": 3 + }, + { + "month": "2026-03", + "mean": 23.0, + "median": 23.0, + "p10": 20.8, + "p25": 21.6, + "p75": 24.3, + "p90": 25.1, + "n": 3 + }, + { + "month": "2026-04", + "mean": 29.3, + "median": 29.7, + "p10": 27.5, + "p25": 28.4, + "p75": 30.4, + "p90": 30.8, + "n": 3 + }, + { + "month": "2026-05", + "mean": 28.8, + "median": 28.4, + "p10": 27.3, + "p25": 27.7, + "p75": 29.7, + "p90": 30.5, + "n": 3 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 22.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 22.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "transit_pla_hub1", + "label": "Transit PL-A \u2192 HUB-1", + "type": "transit", + "material": "90000300001", + "plant": "PL-A\u2192HUB-1", + "stats": { + "n": 42, + "mean": 42.3, + "median": 41.2, + "std": 9.6, + "min": 20.2, + "max": 74.2, + "p25": 36.5, + "p75": 48.6, + "p85": 51.3, + "p95": 56.6 + }, + "plifz": 28, + "plifz_note": null, + "pct_exceeding_plifz": 61.9, + "cost": null, + "observations": [ + { + "date": "2022-07-20", + "value": 37.8 + }, + { + "date": "2022-11-30", + "value": 47.2 + }, + { + "date": "2023-03-15", + "value": 29.7 + }, + { + "date": "2023-07-10", + "value": 56.7 + }, + { + "date": "2023-10-25", + "value": 40.5 + }, + { + "date": "2024-02-08", + "value": 74.2 + }, + { + "date": "2024-05-20", + "value": 33.8 + }, + { + "date": "2024-08-12", + "value": 51.3 + }, + { + "date": "2024-11-05", + "value": 20.2 + }, + { + "date": "2025-01-22", + "value": 43.2 + }, + { + "date": "2025-04-10", + "value": 37.8 + }, + { + "date": "2025-06-18", + "value": 60.8 + }, + { + "date": "2025-07-15", + "value": 40.5 + }, + { + "date": "2025-08-05", + "value": 29.7 + }, + { + "date": "2025-09-05", + "value": 48.6 + }, + { + "date": "2025-09-10", + "value": 51.3 + }, + { + "date": "2025-09-11", + "value": 52.7 + }, + { + "date": "2025-09-17", + "value": 35.1 + }, + { + "date": "2025-10-06", + "value": 48.6 + }, + { + "date": "2025-10-12", + "value": 31.1 + }, + { + "date": "2025-10-18", + "value": 35.1 + }, + { + "date": "2025-11-04", + "value": 36.5 + }, + { + "date": "2025-11-10", + "value": 41.9 + }, + { + "date": "2025-11-16", + "value": 44.6 + }, + { + "date": "2025-12-05", + "value": 36.5 + }, + { + "date": "2025-12-11", + "value": 39.2 + }, + { + "date": "2025-12-17", + "value": 43.2 + }, + { + "date": "2026-01-06", + "value": 35.1 + }, + { + "date": "2026-01-12", + "value": 39.2 + }, + { + "date": "2026-01-18", + "value": 41.9 + }, + { + "date": "2026-02-04", + "value": 44.6 + }, + { + "date": "2026-02-10", + "value": 48.6 + }, + { + "date": "2026-02-16", + "value": 52.7 + }, + { + "date": "2026-03-05", + "value": 44.6 + }, + { + "date": "2026-03-11", + "value": 48.6 + }, + { + "date": "2026-03-17", + "value": 31.1 + }, + { + "date": "2026-04-06", + "value": 54.0 + }, + { + "date": "2026-04-12", + "value": 36.5 + }, + { + "date": "2026-04-18", + "value": 41.9 + }, + { + "date": "2026-05-04", + "value": 32.4 + }, + { + "date": "2026-05-10", + "value": 36.5 + }, + { + "date": "2026-05-16", + "value": 39.2 + } + ], + "monthly": [ + { + "month": "2022-07", + "mean": 37.8, + "median": 37.8, + "p10": 37.8, + "p25": 37.8, + "p75": 37.8, + "p90": 37.8, + "n": 1 + }, + { + "month": "2022-11", + "mean": 47.2, + "median": 47.2, + "p10": 47.2, + "p25": 47.2, + "p75": 47.2, + "p90": 47.2, + "n": 1 + }, + { + "month": "2023-03", + "mean": 29.7, + "median": 29.7, + "p10": 29.7, + "p25": 29.7, + "p75": 29.7, + "p90": 29.7, + "n": 1 + }, + { + "month": "2023-07", + "mean": 56.7, + "median": 56.7, + "p10": 56.7, + "p25": 56.7, + "p75": 56.7, + "p90": 56.7, + "n": 1 + }, + { + "month": "2023-10", + "mean": 40.5, + "median": 40.5, + "p10": 40.5, + "p25": 40.5, + "p75": 40.5, + "p90": 40.5, + "n": 1 + }, + { + "month": "2024-02", + "mean": 74.2, + "median": 74.2, + "p10": 74.2, + "p25": 74.2, + "p75": 74.2, + "p90": 74.2, + "n": 1 + }, + { + "month": "2024-05", + "mean": 33.8, + "median": 33.8, + "p10": 33.8, + "p25": 33.8, + "p75": 33.8, + "p90": 33.8, + "n": 1 + }, + { + "month": "2024-08", + "mean": 51.3, + "median": 51.3, + "p10": 51.3, + "p25": 51.3, + "p75": 51.3, + "p90": 51.3, + "n": 1 + }, + { + "month": "2024-11", + "mean": 20.2, + "median": 20.2, + "p10": 20.2, + "p25": 20.2, + "p75": 20.2, + "p90": 20.2, + "n": 1 + }, + { + "month": "2025-01", + "mean": 43.2, + "median": 43.2, + "p10": 43.2, + "p25": 43.2, + "p75": 43.2, + "p90": 43.2, + "n": 1 + }, + { + "month": "2025-04", + "mean": 37.8, + "median": 37.8, + "p10": 37.8, + "p25": 37.8, + "p75": 37.8, + "p90": 37.8, + "n": 1 + }, + { + "month": "2025-06", + "mean": 60.8, + "median": 60.8, + "p10": 60.8, + "p25": 60.8, + "p75": 60.8, + "p90": 60.8, + "n": 1 + }, + { + "month": "2025-07", + "mean": 40.5, + "median": 40.5, + "p10": 40.5, + "p25": 40.5, + "p75": 40.5, + "p90": 40.5, + "n": 1 + }, + { + "month": "2025-08", + "mean": 29.7, + "median": 29.7, + "p10": 29.7, + "p25": 29.7, + "p75": 29.7, + "p90": 29.7, + "n": 1 + }, + { + "month": "2025-09", + "mean": 47.0, + "median": 50.0, + "p10": 39.2, + "p25": 45.2, + "p75": 51.7, + "p90": 52.2, + "n": 4 + }, + { + "month": "2025-10", + "mean": 38.2, + "median": 35.1, + "p10": 31.9, + "p25": 33.1, + "p75": 41.9, + "p90": 45.9, + "n": 3 + }, + { + "month": "2025-11", + "mean": 40.9, + "median": 41.9, + "p10": 37.5, + "p25": 39.2, + "p75": 43.2, + "p90": 44.0, + "n": 3 + }, + { + "month": "2025-12", + "mean": 39.6, + "median": 39.2, + "p10": 37.0, + "p25": 37.8, + "p75": 41.2, + "p90": 42.4, + "n": 3 + }, + { + "month": "2026-01", + "mean": 38.7, + "median": 39.2, + "p10": 35.9, + "p25": 37.1, + "p75": 40.5, + "p90": 41.3, + "n": 3 + }, + { + "month": "2026-02", + "mean": 48.6, + "median": 48.6, + "p10": 45.4, + "p25": 46.6, + "p75": 50.6, + "p90": 51.8, + "n": 3 + }, + { + "month": "2026-03", + "mean": 41.4, + "median": 44.6, + "p10": 33.8, + "p25": 37.8, + "p75": 46.6, + "p90": 47.8, + "n": 3 + }, + { + "month": "2026-04", + "mean": 44.1, + "median": 41.9, + "p10": 37.5, + "p25": 39.2, + "p75": 47.9, + "p90": 51.6, + "n": 3 + }, + { + "month": "2026-05", + "mean": 36.0, + "median": 36.5, + "p10": 33.2, + "p25": 34.4, + "p75": 37.8, + "p90": 38.6, + "n": 3 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "dest_dwell_hub1", + "label": "Destination Dwell (HUB-1)", + "type": "destination_dwell", + "material": "90000300001", + "plant": "HUB-1", + "stats": { + "n": 37, + "mean": 60.8, + "median": 59.4, + "std": 18.9, + "min": 13.5, + "max": 128.2, + "p25": 48.6, + "p75": 66.2, + "p85": 71.6, + "p95": 91.3 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "cost": { + "unit_price": 38.475, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2022-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "n_events": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "n_events": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "n_events": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "n_events": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "n_events": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "n_events": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "n_events": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "n_events": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "n_events": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "n_events": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "n_events": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "n_events": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "n_events": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "n_events": 3, + "total_kg_days": 585600.0 + } + ] + }, + "observations": [ + { + "date": "2022-09-15", + "value": 56.7 + }, + { + "date": "2023-05-05", + "value": 87.8 + }, + { + "date": "2023-05-20", + "value": 37.8 + }, + { + "date": "2024-01-10", + "value": 128.2 + }, + { + "date": "2024-01-25", + "value": 47.2 + }, + { + "date": "2024-08-15", + "value": 13.5 + }, + { + "date": "2025-02-05", + "value": 105.3 + }, + { + "date": "2025-02-18", + "value": 74.2 + }, + { + "date": "2025-08-10", + "value": 56.7 + }, + { + "date": "2025-08-20", + "value": 43.2 + }, + { + "date": "2025-09-06", + "value": 52.7 + }, + { + "date": "2025-09-12", + "value": 56.7 + }, + { + "date": "2025-09-18", + "value": 62.1 + }, + { + "date": "2025-10-04", + "value": 66.2 + }, + { + "date": "2025-10-10", + "value": 71.6 + }, + { + "date": "2025-10-16", + "value": 77.0 + }, + { + "date": "2025-11-05", + "value": 64.8 + }, + { + "date": "2025-11-11", + "value": 70.2 + }, + { + "date": "2025-11-17", + "value": 45.9 + }, + { + "date": "2025-12-06", + "value": 64.8 + }, + { + "date": "2025-12-12", + "value": 40.5 + }, + { + "date": "2025-12-18", + "value": 45.9 + }, + { + "date": "2026-01-04", + "value": 48.6 + }, + { + "date": "2026-01-10", + "value": 55.4 + }, + { + "date": "2026-01-16", + "value": 58.1 + }, + { + "date": "2026-02-05", + "value": 48.6 + }, + { + "date": "2026-02-11", + "value": 52.7 + }, + { + "date": "2026-02-17", + "value": 56.7 + }, + { + "date": "2026-03-06", + "value": 62.1 + }, + { + "date": "2026-03-12", + "value": 66.2 + }, + { + "date": "2026-03-18", + "value": 71.6 + }, + { + "date": "2026-04-04", + "value": 60.8 + }, + { + "date": "2026-04-10", + "value": 64.8 + }, + { + "date": "2026-04-16", + "value": 70.2 + }, + { + "date": "2026-05-05", + "value": 59.4 + }, + { + "date": "2026-05-11", + "value": 64.8 + }, + { + "date": "2026-05-17", + "value": 40.5 + } + ], + "monthly": [ + { + "month": "2022-09", + "mean": 56.7, + "median": 56.7, + "p10": 56.7, + "p25": 56.7, + "p75": 56.7, + "p90": 56.7, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "mean": 62.8, + "median": 62.8, + "p10": 42.8, + "p25": 50.4, + "p75": 75.3, + "p90": 82.8, + "n": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "mean": 87.8, + "median": 87.8, + "p10": 55.4, + "p25": 67.5, + "p75": 108.0, + "p90": 120.2, + "n": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "mean": 13.5, + "median": 13.5, + "p10": 13.5, + "p25": 13.5, + "p75": 13.5, + "p90": 13.5, + "n": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "mean": 89.8, + "median": 89.8, + "p10": 77.4, + "p25": 82.1, + "p75": 97.6, + "p90": 102.2, + "n": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "mean": 50.0, + "median": 50.0, + "p10": 44.6, + "p25": 46.6, + "p75": 53.3, + "p90": 55.4, + "n": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "mean": 57.1, + "median": 56.7, + "p10": 53.5, + "p25": 54.7, + "p75": 59.4, + "p90": 61.0, + "n": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "mean": 71.6, + "median": 71.6, + "p10": 67.2, + "p25": 68.9, + "p75": 74.2, + "p90": 75.9, + "n": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "mean": 60.3, + "median": 64.8, + "p10": 49.7, + "p25": 55.4, + "p75": 67.5, + "p90": 69.1, + "n": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "mean": 50.4, + "median": 45.9, + "p10": 41.6, + "p25": 43.2, + "p75": 55.4, + "p90": 61.0, + "n": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "mean": 54.0, + "median": 55.4, + "p10": 50.0, + "p25": 52.0, + "p75": 56.7, + "p90": 57.5, + "n": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "mean": 52.7, + "median": 52.7, + "p10": 49.4, + "p25": 50.6, + "p75": 54.7, + "p90": 55.9, + "n": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "mean": 66.6, + "median": 66.2, + "p10": 62.9, + "p25": 64.1, + "p75": 68.9, + "p90": 70.5, + "n": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "mean": 65.2, + "median": 64.8, + "p10": 61.6, + "p25": 62.8, + "p75": 67.5, + "p90": 69.1, + "n": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "mean": 54.9, + "median": 59.4, + "p10": 44.3, + "p25": 50.0, + "p75": 62.1, + "p90": 63.7, + "n": 3, + "total_kg_days": 585600.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 45.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 45.0, + "expected_marginal_per_day": 1.0 + } + } + } + ], + "edges": [ + { + "source": "procurement_highland_arabica", + "target": "raw_dwell_highland_arabica", + "label": "101" + }, + { + "source": "procurement_lowland_robusta", + "target": "raw_dwell_lowland_robusta", + "label": "101" + }, + { + "source": "procurement_washed_bourbon", + "target": "raw_dwell_washed_bourbon", + "label": "101" + }, + { + "source": "raw_dwell_highland_arabica", + "target": "prod_duration_green_blend", + "label": "261" + }, + { + "source": "raw_dwell_lowland_robusta", + "target": "prod_duration_green_blend", + "label": "261" + }, + { + "source": "prod_duration_green_blend", + "target": "intermed_dwell_green_blend", + "label": "101" + }, + { + "source": "raw_dwell_washed_bourbon", + "target": "prod_duration_harbor_dark_roast", + "label": "261" + }, + { + "source": "intermed_dwell_green_blend", + "target": "prod_duration_harbor_dark_roast", + "label": "261" + }, + { + "source": "prod_duration_harbor_dark_roast", + "target": "prod_to_qa_pla", + "label": "101" + }, + { + "source": "post_qa_ship_pla", + "target": "direct_ship_pla", + "label": "601" + }, + { + "source": "post_qa_ship_pla", + "target": "transit_pla_hub1", + "label": "641" + }, + { + "source": "transit_pla_hub1", + "target": "dest_dwell_hub1" + }, + { + "source": "prod_to_qa_pla", + "target": "post_qa_ship_pla" + } + ], + "pipeline_summary": { + "direct": { + "label": "Direct to customer", + "stages": [ + { + "id": "seg_proc_to_prodstart", + "label": "Procurement \u2192 Production Start", + "type": "procurement", + "mean": 29.9, + "median": 30, + "pct_of_total": 17.6, + "n": 60 + }, + { + "id": "seg_prodstart_to_prodfinish", + "label": "Production Start \u2192 Production Finish", + "type": "production", + "mean": 99.8, + "median": 101, + "pct_of_total": 58.9, + "n": 60 + }, + { + "id": "seg_prodfinish_to_qa", + "label": "Production Finish \u2192 QA Release", + "type": "qa_hold", + "mean": 6.6, + "median": 7, + "pct_of_total": 3.9, + "n": 60 + }, + { + "id": "seg_qa_to_customer", + "label": "QA Release \u2192 Customer", + "type": "transit", + "mean": 33.2, + "median": 33, + "pct_of_total": 19.6, + "n": 60 + } + ], + "total_mean": 169.5, + "total_median": 171 + }, + "hub-1": { + "label": "HUB-1", + "stages": [ + { + "id": "seg_proc_to_prodstart", + "label": "Procurement \u2192 Production Start", + "type": "procurement", + "mean": 28.4, + "median": 29, + "pct_of_total": 12.8, + "n": 40 + }, + { + "id": "seg_prodstart_to_prodfinish", + "label": "Production Start \u2192 Production Finish", + "type": "production", + "mean": 102.1, + "median": 104, + "pct_of_total": 46.1, + "n": 40 + }, + { + "id": "seg_prodfinish_to_qa", + "label": "Production Finish \u2192 QA Release", + "type": "qa_hold", + "mean": 6.2, + "median": 6, + "pct_of_total": 2.8, + "n": 40 + }, + { + "id": "seg_qa_to_customer", + "label": "QA Release \u2192 Customer", + "type": "transit", + "mean": 84.8, + "median": 88, + "pct_of_total": 38.3, + "n": 40 + } + ], + "total_mean": 221.5, + "total_median": 227 + } + }, + "annotations": [ + { + "date": "2023-09-01", + "label": "Supplier change for Highland Arabica", + "step_ids": ["procurement_highland_arabica", "raw_dwell_highland_arabica"] + }, + { + "date": "2024-01-15", + "label": "QA process revision", + "step_ids": ["qa_hold_pla"] + } + ], + "batch_timelines": { + "batches": [ + { + "batch": "BATCH-007069", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-05-27", + "earliest_gr_date": "2024-05-29", + "earliest_production_start": "2024-07-03", + "fg_receipt_date": "2024-10-28", + "qa_release_date": "2024-11-03", + "ship_date": null, + "delivery_date": "2024-12-10", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 37, + "seg_prodstart_to_prodfinish": 117, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 37, + "total_days": 197, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 94, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 112, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 70, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 39, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 52, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 14, + "direct_ship_pla": 23 + } + }, + "total_from_po": 197 + }, + { + "batch": "BATCH-767678", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-13", + "earliest_gr_date": "2024-07-15", + "earliest_production_start": "2024-07-29", + "fg_receipt_date": "2024-11-05", + "qa_release_date": "2024-11-09", + "ship_date": null, + "delivery_date": "2024-12-15", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 16, + "seg_prodstart_to_prodfinish": 99, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 36, + "total_days": 155, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 14, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 83, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 97, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 55, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 14, + "direct_ship_pla": 22 + } + }, + "total_from_po": 155 + }, + { + "batch": "BATCH-872783", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-25", + "earliest_gr_date": "2024-07-27", + "earliest_production_start": "2024-08-19", + "fg_receipt_date": "2024-11-08", + "qa_release_date": "2024-11-15", + "ship_date": null, + "delivery_date": "2024-12-20", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 81, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 35, + "total_days": 148, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 58, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 78, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 34, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 45, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "direct_ship_pla": 25 + } + }, + "total_from_po": 148 + }, + { + "batch": "BATCH-868247", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-20", + "earliest_gr_date": "2024-07-22", + "earliest_production_start": "2024-08-24", + "fg_receipt_date": "2024-11-10", + "qa_release_date": "2024-11-19", + "ship_date": null, + "delivery_date": "2024-12-26", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 78, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 37, + "total_days": 159, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 14, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 61, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 75, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 17, + "direct_ship_pla": 20 + } + }, + "total_from_po": 159 + }, + { + "batch": "BATCH-775611", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-22", + "earliest_gr_date": "2024-07-24", + "earliest_production_start": "2024-08-19", + "fg_receipt_date": "2024-11-22", + "qa_release_date": "2024-11-30", + "ship_date": null, + "delivery_date": "2024-12-31", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 95, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 31, + "total_days": 162, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 8, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 82, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 90, + "production_days": 8, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 64, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 74, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 68, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 16, + "direct_ship_pla": 15 + } + }, + "total_from_po": 162 + }, + { + "batch": "BATCH-544789", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-08", + "earliest_gr_date": "2024-07-10", + "earliest_production_start": "2024-08-05", + "fg_receipt_date": "2024-12-05", + "qa_release_date": "2024-12-12", + "ship_date": null, + "delivery_date": "2025-01-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 122, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 25, + "total_days": 182, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 24, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 94, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 118, + "production_days": 24, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 7, + "direct_ship_pla": 18 + } + }, + "total_from_po": 182 + }, + { + "batch": "BATCH-447665", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-14", + "earliest_gr_date": "2024-07-16", + "earliest_production_start": "2024-08-19", + "fg_receipt_date": "2024-12-05", + "qa_release_date": "2024-12-11", + "ship_date": null, + "delivery_date": "2025-01-11", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 36, + "seg_prodstart_to_prodfinish": 108, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 31, + "total_days": 181, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 24, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 81, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 24, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 63, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 16, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 63, + "production_days": 16, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 13, + "direct_ship_pla": 18 + } + }, + "total_from_po": 181 + }, + { + "batch": "BATCH-963613", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-24", + "earliest_gr_date": "2024-07-26", + "earliest_production_start": "2024-08-26", + "fg_receipt_date": "2024-12-12", + "qa_release_date": "2024-12-19", + "ship_date": null, + "delivery_date": "2025-01-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 108, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 29, + "total_days": 177, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 83, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 104, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 71, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "direct_ship_pla": 19 + } + }, + "total_from_po": 177 + }, + { + "batch": "BATCH-863299", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-08-05", + "earliest_gr_date": "2024-08-07", + "earliest_production_start": "2024-08-30", + "fg_receipt_date": "2024-12-21", + "qa_release_date": "2024-12-27", + "ship_date": null, + "delivery_date": "2025-01-22", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 26, + "total_days": 170, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 26, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 84, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 110, + "production_days": 26, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 69, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 14 + } + }, + "total_from_po": 170 + }, + { + "batch": "BATCH-528145", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-08-22", + "earliest_gr_date": "2024-08-24", + "earliest_production_start": "2024-09-11", + "fg_receipt_date": "2024-12-24", + "qa_release_date": "2024-12-30", + "ship_date": null, + "delivery_date": "2025-01-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 20, + "seg_prodstart_to_prodfinish": 104, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 29, + "total_days": 159, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 12, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 90, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 102, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 58, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 17 + } + }, + "total_from_po": 159 + }, + { + "batch": "BATCH-242499", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-08-17", + "earliest_gr_date": "2024-08-19", + "earliest_production_start": "2024-09-16", + "fg_receipt_date": "2024-12-26", + "qa_release_date": "2024-12-31", + "ship_date": null, + "delivery_date": "2025-02-02", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 101, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 33, + "total_days": 169, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 77, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 11, + "direct_ship_pla": 22 + } + }, + "total_from_po": 169 + }, + { + "batch": "BATCH-576635", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-29", + "earliest_gr_date": "2024-10-01", + "earliest_production_start": "2024-10-26", + "fg_receipt_date": "2024-12-31", + "qa_release_date": "2025-01-07", + "ship_date": null, + "delivery_date": "2025-02-08", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 27, + "seg_prodstart_to_prodfinish": 66, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 32, + "total_days": 132, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 47, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 64, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 57, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 8, + "direct_ship_pla": 24 + } + }, + "total_from_po": 132 + }, + { + "batch": "BATCH-221460", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-24", + "earliest_gr_date": "2024-07-26", + "earliest_production_start": "2024-08-28", + "fg_receipt_date": "2025-01-01", + "qa_release_date": "2025-01-08", + "ship_date": null, + "delivery_date": "2025-02-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 126, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 36, + "total_days": 204, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 99, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 120, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 66, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 78, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 6, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 13, + "direct_ship_pla": 23 + } + }, + "total_from_po": 204 + }, + { + "batch": "BATCH-666578", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-10", + "earliest_gr_date": "2024-09-12", + "earliest_production_start": "2024-10-06", + "fg_receipt_date": "2025-01-10", + "qa_release_date": "2025-01-18", + "ship_date": null, + "delivery_date": "2025-02-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 96, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 31, + "total_days": 161, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 11, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 82, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 63, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 9, + "direct_ship_pla": 22 + } + }, + "total_from_po": 161 + }, + { + "batch": "BATCH-208118", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-05", + "earliest_gr_date": "2024-09-07", + "earliest_production_start": "2024-10-19", + "fg_receipt_date": "2025-01-11", + "qa_release_date": "2025-01-19", + "ship_date": null, + "delivery_date": "2025-02-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 44, + "seg_prodstart_to_prodfinish": 84, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 36, + "total_days": 172, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 51, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 67, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 69, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 82, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 7, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 31, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 38, + "production_days": 7, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 15, + "direct_ship_pla": 21 + } + }, + "total_from_po": 172 + }, + { + "batch": "BATCH-458243", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-05", + "earliest_gr_date": "2024-09-07", + "earliest_production_start": "2024-10-04", + "fg_receipt_date": "2025-01-22", + "qa_release_date": "2025-01-29", + "ship_date": null, + "delivery_date": "2025-03-01", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 31, + "total_days": 177, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 106, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 69, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 9, + "direct_ship_pla": 22 + } + }, + "total_from_po": 177 + }, + { + "batch": "BATCH-207730", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-16", + "earliest_gr_date": "2024-09-18", + "earliest_production_start": "2024-10-14", + "fg_receipt_date": "2025-01-18", + "qa_release_date": "2025-01-22", + "ship_date": null, + "delivery_date": "2025-03-07", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 96, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 44, + "total_days": 172, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 77, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 92, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 74, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 8, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 68, + "production_days": 8, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 16, + "direct_ship_pla": 28 + } + }, + "total_from_po": 172 + }, + { + "batch": "BATCH-033995", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-08-27", + "earliest_gr_date": "2024-08-29", + "earliest_production_start": "2024-09-30", + "fg_receipt_date": "2025-01-22", + "qa_release_date": "2025-01-30", + "ship_date": null, + "delivery_date": "2025-03-12", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 34, + "seg_prodstart_to_prodfinish": 114, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 41, + "total_days": 197, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 93, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 111, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 18, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 70, + "production_days": 18, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 17, + "direct_ship_pla": 24 + } + }, + "total_from_po": 197 + }, + { + "batch": "BATCH-559161", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-10", + "earliest_gr_date": "2024-09-12", + "earliest_production_start": "2024-10-16", + "fg_receipt_date": "2025-02-14", + "qa_release_date": "2025-02-19", + "ship_date": null, + "delivery_date": "2025-03-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 36, + "seg_prodstart_to_prodfinish": 121, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 27, + "total_days": 189, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 99, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 117, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 73, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 15, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 15, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 10, + "direct_ship_pla": 17 + } + }, + "total_from_po": 189 + }, + { + "batch": "BATCH-043249", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-28", + "earliest_gr_date": "2024-09-30", + "earliest_production_start": "2024-10-27", + "fg_receipt_date": "2025-02-12", + "qa_release_date": "2025-02-15", + "ship_date": null, + "delivery_date": "2025-03-23", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 108, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 36, + "total_days": 176, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 86, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 36, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 50, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 12, + "direct_ship_pla": 24 + } + }, + "total_from_po": 176 + }, + { + "batch": "BATCH-876661", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-10-05", + "earliest_gr_date": "2024-10-07", + "earliest_production_start": "2024-11-06", + "fg_receipt_date": "2025-02-04", + "qa_release_date": "2025-02-11", + "ship_date": null, + "delivery_date": "2025-03-29", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 32, + "seg_prodstart_to_prodfinish": 90, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 46, + "total_days": 175, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 13, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 73, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 86, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 15, + "direct_ship_pla": 31 + } + }, + "total_from_po": 175 + }, + { + "batch": "BATCH-758211", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-24", + "earliest_gr_date": "2024-09-26", + "earliest_production_start": "2024-10-24", + "fg_receipt_date": "2025-02-22", + "qa_release_date": "2025-03-01", + "ship_date": null, + "delivery_date": "2025-04-03", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 121, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 33, + "total_days": 191, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 100, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 117, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "direct_ship_pla": 23 + } + }, + "total_from_po": 191 + }, + { + "batch": "BATCH-198568", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-10-07", + "earliest_gr_date": "2024-10-09", + "earliest_production_start": "2024-10-29", + "fg_receipt_date": "2025-02-21", + "qa_release_date": "2025-03-02", + "ship_date": null, + "delivery_date": "2025-04-09", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 22, + "seg_prodstart_to_prodfinish": 115, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 38, + "total_days": 184, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 89, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 110, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 64, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 79, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 78, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 91, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 13, + "direct_ship_pla": 25 + } + }, + "total_from_po": 184 + }, + { + "batch": "BATCH-499114", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-20", + "earliest_gr_date": "2024-11-22", + "earliest_production_start": "2024-12-17", + "fg_receipt_date": "2025-03-05", + "qa_release_date": "2025-03-14", + "ship_date": null, + "delivery_date": "2025-04-14", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 27, + "seg_prodstart_to_prodfinish": 78, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 31, + "total_days": 145, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 52, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 70, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 33, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 44, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 16, + "direct_ship_pla": 15 + } + }, + "total_from_po": 145 + }, + { + "batch": "BATCH-947566", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-10-15", + "earliest_gr_date": "2024-10-17", + "earliest_production_start": "2024-11-17", + "fg_receipt_date": "2025-03-07", + "qa_release_date": "2025-03-10", + "ship_date": null, + "delivery_date": "2025-04-19", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 40, + "total_days": 186, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 86, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 104, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 62, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 6, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 14, + "direct_ship_pla": 26 + } + }, + "total_from_po": 186 + }, + { + "batch": "BATCH-154390", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-10-25", + "earliest_gr_date": "2024-10-27", + "earliest_production_start": "2024-11-27", + "fg_receipt_date": "2025-03-10", + "qa_release_date": "2025-03-16", + "ship_date": null, + "delivery_date": "2025-04-25", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 103, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 40, + "total_days": 182, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 22, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 77, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 99, + "production_days": 22, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 67, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 82, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 44, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 57, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 28 + } + }, + "total_from_po": 182 + }, + { + "batch": "BATCH-557064", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-01", + "earliest_gr_date": "2024-12-03", + "earliest_production_start": "2025-01-02", + "fg_receipt_date": "2025-03-29", + "qa_release_date": "2025-04-05", + "ship_date": null, + "delivery_date": "2025-04-30", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 32, + "seg_prodstart_to_prodfinish": 86, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 25, + "total_days": 150, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 64, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 82, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 60, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 8, + "direct_ship_pla": 17 + } + }, + "total_from_po": 150 + }, + { + "batch": "BATCH-307333", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-17", + "earliest_gr_date": "2024-11-19", + "earliest_production_start": "2024-12-15", + "fg_receipt_date": "2025-03-27", + "qa_release_date": "2025-04-04", + "ship_date": null, + "delivery_date": "2025-05-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 102, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 32, + "total_days": 170, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 81, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 73, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 88, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 36, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 49, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 16, + "direct_ship_pla": 16 + } + }, + "total_from_po": 170 + }, + { + "batch": "BATCH-891817", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-02", + "earliest_gr_date": "2024-12-04", + "earliest_production_start": "2024-12-16", + "fg_receipt_date": "2025-03-30", + "qa_release_date": "2025-04-07", + "ship_date": null, + "delivery_date": "2025-05-11", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 14, + "seg_prodstart_to_prodfinish": 104, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 34, + "total_days": 160, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 82, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 100, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 62, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 65, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 76, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 9, + "direct_ship_pla": 25 + } + }, + "total_from_po": 160 + }, + { + "batch": "BATCH-852390", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-24", + "earliest_gr_date": "2024-11-26", + "earliest_production_start": "2024-12-29", + "fg_receipt_date": "2025-03-29", + "qa_release_date": "2025-04-06", + "ship_date": null, + "delivery_date": "2025-05-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 90, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 41, + "total_days": 174, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 70, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 86, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 37, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 52, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 14, + "direct_ship_pla": 27 + } + }, + "total_from_po": 174 + }, + { + "batch": "BATCH-412722", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-31", + "earliest_gr_date": "2025-01-02", + "earliest_production_start": "2025-01-21", + "fg_receipt_date": "2025-04-15", + "qa_release_date": "2025-04-20", + "ship_date": null, + "delivery_date": "2025-05-22", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 21, + "seg_prodstart_to_prodfinish": 84, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 32, + "total_days": 142, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 49, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 70, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 64, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 81, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 56, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 9, + "direct_ship_pla": 23 + } + }, + "total_from_po": 142 + }, + { + "batch": "BATCH-357156", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-08", + "earliest_gr_date": "2024-11-10", + "earliest_production_start": "2024-12-13", + "fg_receipt_date": "2025-04-05", + "qa_release_date": "2025-04-13", + "ship_date": null, + "delivery_date": "2025-05-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 45, + "total_days": 201, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 89, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 110, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 72, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 83, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 60, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 14, + "direct_ship_pla": 31 + } + }, + "total_from_po": 201 + }, + { + "batch": "BATCH-851698", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-04", + "earliest_gr_date": "2025-01-06", + "earliest_production_start": "2025-02-06", + "fg_receipt_date": "2025-04-22", + "qa_release_date": "2025-04-30", + "ship_date": null, + "delivery_date": "2025-06-02", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 75, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 33, + "total_days": 149, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 52, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 71, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 41, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 54, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 72, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 7, + "direct_ship_pla": 26 + } + }, + "total_from_po": 149 + }, + { + "batch": "BATCH-440021", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-29", + "earliest_gr_date": "2024-12-31", + "earliest_production_start": "2025-01-31", + "fg_receipt_date": "2025-05-05", + "qa_release_date": "2025-05-13", + "ship_date": null, + "delivery_date": "2025-06-08", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 94, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 26, + "total_days": 161, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 12, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 81, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 78, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 91, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 40, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 52, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 12, + "direct_ship_pla": 14 + } + }, + "total_from_po": 161 + }, + { + "batch": "BATCH-546123", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-20", + "earliest_gr_date": "2024-12-22", + "earliest_production_start": "2025-01-18", + "fg_receipt_date": "2025-05-08", + "qa_release_date": "2025-05-15", + "ship_date": null, + "delivery_date": "2025-06-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 29, + "total_days": 175, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 89, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 106, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 63, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 78, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 15, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 64, + "production_days": 15, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 11, + "direct_ship_pla": 18 + } + }, + "total_from_po": 175 + }, + { + "batch": "BATCH-990560", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-29", + "earliest_gr_date": "2024-12-01", + "earliest_production_start": "2025-01-08", + "fg_receipt_date": "2025-05-16", + "qa_release_date": "2025-05-24", + "ship_date": null, + "delivery_date": "2025-06-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 40, + "seg_prodstart_to_prodfinish": 128, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 25, + "total_days": 201, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 109, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 125, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 62, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 38, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 49, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 8, + "direct_ship_pla": 17 + } + }, + "total_from_po": 201 + }, + { + "batch": "BATCH-386297", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-03", + "earliest_gr_date": "2025-01-05", + "earliest_production_start": "2025-01-29", + "fg_receipt_date": "2025-05-19", + "qa_release_date": "2025-05-26", + "ship_date": null, + "delivery_date": "2025-06-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 29, + "total_days": 172, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 88, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 39, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 50, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 70, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 14, + "direct_ship_pla": 15 + } + }, + "total_from_po": 172 + }, + { + "batch": "BATCH-947389", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-21", + "earliest_gr_date": "2025-01-23", + "earliest_production_start": "2025-02-19", + "fg_receipt_date": "2025-05-31", + "qa_release_date": "2025-06-06", + "ship_date": null, + "delivery_date": "2025-06-29", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 101, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 23, + "total_days": 159, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 81, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 16, + "direct_ship_pla": 7 + } + }, + "total_from_po": 159 + }, + { + "batch": "BATCH-627234", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-26", + "earliest_gr_date": "2025-01-28", + "earliest_production_start": "2025-02-21", + "fg_receipt_date": "2025-05-29", + "qa_release_date": "2025-06-01", + "ship_date": null, + "delivery_date": "2025-07-05", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 34, + "total_days": 160, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 76, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 95, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 67, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 53, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 11, + "direct_ship_pla": 23 + } + }, + "total_from_po": 160 + }, + { + "batch": "BATCH-829707", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-14", + "earliest_gr_date": "2025-01-16", + "earliest_production_start": "2025-02-21", + "fg_receipt_date": "2025-06-01", + "qa_release_date": "2025-06-09", + "ship_date": null, + "delivery_date": "2025-07-10", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 38, + "seg_prodstart_to_prodfinish": 100, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 31, + "total_days": 177, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 80, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 97, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 63, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 30, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 42, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 9, + "direct_ship_pla": 22 + } + }, + "total_from_po": 177 + }, + { + "batch": "BATCH-404324", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-22", + "earliest_gr_date": "2025-02-24", + "earliest_production_start": "2025-03-24", + "fg_receipt_date": "2025-06-18", + "qa_release_date": "2025-06-27", + "ship_date": null, + "delivery_date": "2025-07-16", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 86, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 19, + "total_days": 144, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 65, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 83, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 69, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 9, + "direct_ship_pla": 10 + } + }, + "total_from_po": 144 + }, + { + "batch": "BATCH-840018", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-10", + "earliest_gr_date": "2025-02-12", + "earliest_production_start": "2025-03-15", + "fg_receipt_date": "2025-06-17", + "qa_release_date": "2025-06-21", + "ship_date": null, + "delivery_date": "2025-07-21", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 94, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 30, + "total_days": 161, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 90, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 64, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 77, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 16, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 69, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 85, + "production_days": 16, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 12, + "direct_ship_pla": 18 + } + }, + "total_from_po": 161 + }, + { + "batch": "BATCH-243511", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-11", + "earliest_gr_date": "2025-01-13", + "earliest_production_start": "2025-02-13", + "fg_receipt_date": "2025-06-13", + "qa_release_date": "2025-06-22", + "ship_date": null, + "delivery_date": "2025-07-27", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 120, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 35, + "total_days": 197, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 100, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 116, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 40, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 53, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 69, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 11, + "direct_ship_pla": 24 + } + }, + "total_from_po": 197 + }, + { + "batch": "BATCH-394495", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-07", + "earliest_gr_date": "2025-02-09", + "earliest_production_start": "2025-03-14", + "fg_receipt_date": "2025-06-24", + "qa_release_date": "2025-07-02", + "ship_date": null, + "delivery_date": "2025-08-01", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 102, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 30, + "total_days": 175, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 12, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 99, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 69, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 9, + "direct_ship_pla": 21 + } + }, + "total_from_po": 175 + }, + { + "batch": "BATCH-043032", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-15", + "earliest_gr_date": "2025-02-17", + "earliest_production_start": "2025-03-11", + "fg_receipt_date": "2025-06-29", + "qa_release_date": "2025-07-05", + "ship_date": null, + "delivery_date": "2025-08-07", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 24, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 33, + "total_days": 173, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 8, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 97, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 8, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 19, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 63, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 82, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 30, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 41, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 10, + "direct_ship_pla": 23 + } + }, + "total_from_po": 173 + }, + { + "batch": "BATCH-582158", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-26", + "earliest_gr_date": "2025-02-28", + "earliest_production_start": "2025-03-23", + "fg_receipt_date": "2025-06-28", + "qa_release_date": "2025-07-05", + "ship_date": null, + "delivery_date": "2025-08-12", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 38, + "total_days": 167, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 76, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 95, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 70, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 53, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 15, + "direct_ship_pla": 23 + } + }, + "total_from_po": 167 + }, + { + "batch": "BATCH-302264", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-03-30", + "earliest_gr_date": "2025-04-01", + "earliest_production_start": "2025-04-24", + "fg_receipt_date": "2025-07-16", + "qa_release_date": "2025-07-24", + "ship_date": null, + "delivery_date": "2025-08-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 83, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 24, + "total_days": 140, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 59, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 77, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 9, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 59, + "production_days": 9, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 63, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 6, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 16, + "direct_ship_pla": 8 + } + }, + "total_from_po": 140 + }, + { + "batch": "BATCH-240076", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-03-25", + "earliest_gr_date": "2025-03-27", + "earliest_production_start": "2025-04-09", + "fg_receipt_date": "2025-07-14", + "qa_release_date": "2025-07-21", + "ship_date": null, + "delivery_date": "2025-08-23", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 15, + "seg_prodstart_to_prodfinish": 96, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 33, + "total_days": 151, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 76, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 94, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 11, + "direct_ship_pla": 22 + } + }, + "total_from_po": 151 + }, + { + "batch": "BATCH-804779", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-20", + "earliest_gr_date": "2025-02-22", + "earliest_production_start": "2025-03-22", + "fg_receipt_date": "2025-07-05", + "qa_release_date": "2025-07-12", + "ship_date": null, + "delivery_date": "2025-08-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 105, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 47, + "total_days": 189, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 84, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 100, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 9, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 69, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 78, + "production_days": 9, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 12, + "direct_ship_pla": 35 + } + }, + "total_from_po": 189 + }, + { + "batch": "BATCH-731192", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-03-15", + "earliest_gr_date": "2025-03-17", + "earliest_production_start": "2025-04-23", + "fg_receipt_date": "2025-07-22", + "qa_release_date": "2025-07-27", + "ship_date": null, + "delivery_date": "2025-09-03", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 39, + "seg_prodstart_to_prodfinish": 90, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 38, + "total_days": 172, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 73, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 88, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 65, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 11, + "direct_ship_pla": 27 + } + }, + "total_from_po": 172 + }, + { + "batch": "BATCH-482639", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-21", + "earliest_gr_date": "2025-02-23", + "earliest_production_start": "2025-03-30", + "fg_receipt_date": "2025-07-17", + "qa_release_date": "2025-07-24", + "ship_date": null, + "delivery_date": "2025-09-08", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 37, + "seg_prodstart_to_prodfinish": 109, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 46, + "total_days": 199, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 59, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 19, + "direct_ship_pla": 27 + } + }, + "total_from_po": 199 + }, + { + "batch": "BATCH-062870", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-01", + "earliest_gr_date": "2025-04-03", + "earliest_production_start": "2025-05-04", + "fg_receipt_date": "2025-08-01", + "qa_release_date": "2025-08-07", + "ship_date": null, + "delivery_date": "2025-09-14", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 89, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 38, + "total_days": 166, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 67, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 87, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 63, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 26 + } + }, + "total_from_po": 166 + }, + { + "batch": "BATCH-231165", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-05", + "earliest_gr_date": "2025-05-07", + "earliest_production_start": "2025-06-09", + "fg_receipt_date": "2025-08-16", + "qa_release_date": "2025-08-22", + "ship_date": null, + "delivery_date": "2025-09-19", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 68, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 28, + "total_days": 137, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 43, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 63, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 62, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 64, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 14, + "direct_ship_pla": 14 + } + }, + "total_from_po": 137 + }, + { + "batch": "BATCH-213839", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-14", + "earliest_gr_date": "2025-04-16", + "earliest_production_start": "2025-05-04", + "fg_receipt_date": "2025-08-23", + "qa_release_date": "2025-08-27", + "ship_date": null, + "delivery_date": "2025-09-25", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 20, + "seg_prodstart_to_prodfinish": 111, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 29, + "total_days": 164, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 107, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 37, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 47, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 32, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 45, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 11, + "direct_ship_pla": 18 + } + }, + "total_from_po": 164 + }, + { + "batch": "BATCH-750018", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-11", + "earliest_gr_date": "2025-05-13", + "earliest_production_start": "2025-06-05", + "fg_receipt_date": "2025-08-31", + "qa_release_date": "2025-09-06", + "ship_date": null, + "delivery_date": "2025-09-30", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 87, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 24, + "total_days": 142, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 85, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 6, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 66, + "production_days": 6, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 7, + "direct_ship_pla": 17 + } + }, + "total_from_po": 142 + }, + { + "batch": "BATCH-880539", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-20", + "earliest_gr_date": "2025-04-22", + "earliest_production_start": "2025-05-26", + "fg_receipt_date": "2025-08-19", + "qa_release_date": "2025-08-26", + "ship_date": null, + "delivery_date": "2025-10-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 36, + "seg_prodstart_to_prodfinish": 85, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 41, + "total_days": 169, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 14, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 68, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 82, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 63, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 8, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 36, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 44, + "production_days": 8, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 13, + "direct_ship_pla": 28 + } + }, + "total_from_po": 169 + }, + { + "batch": "BATCH-155177", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-02", + "earliest_gr_date": "2025-05-04", + "earliest_production_start": "2025-06-18", + "fg_receipt_date": "2025-09-10", + "qa_release_date": "2025-09-16", + "ship_date": null, + "delivery_date": "2025-10-11", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 47, + "seg_prodstart_to_prodfinish": 84, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 25, + "total_days": 162, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 13, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 66, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 79, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 72, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 10, + "direct_ship_pla": 15 + } + }, + "total_from_po": 162 + }, + { + "batch": "BATCH-993261", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-29", + "earliest_gr_date": "2025-05-01", + "earliest_production_start": "2025-05-24", + "fg_receipt_date": "2025-08-30", + "qa_release_date": "2025-09-04", + "ship_date": null, + "delivery_date": "2025-10-16", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 98, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 42, + "total_days": 170, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 79, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 95, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 72, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 65, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 77, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 11, + "direct_ship_pla": 31 + } + }, + "total_from_po": 170 + }, + { + "batch": "BATCH-753433", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-27", + "earliest_gr_date": "2025-05-29", + "earliest_production_start": "2025-06-13", + "fg_receipt_date": "2025-09-23", + "qa_release_date": "2025-09-29", + "ship_date": null, + "delivery_date": "2025-10-22", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 17, + "seg_prodstart_to_prodfinish": 102, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 23, + "total_days": 148, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 11, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 41, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 50, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 8, + "direct_ship_pla": 15 + } + }, + "total_from_po": 148 + }, + { + "batch": "BATCH-476897", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-21", + "earliest_gr_date": "2025-04-23", + "earliest_production_start": "2025-05-24", + "fg_receipt_date": "2025-09-14", + "qa_release_date": "2025-09-20", + "ship_date": null, + "delivery_date": "2025-10-27", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 37, + "total_days": 189, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 93, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 109, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 74, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 25 + } + }, + "total_from_po": 189 + }, + { + "batch": "BATCH-521582", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-03-25", + "earliest_gr_date": "2025-03-27", + "earliest_production_start": "2025-04-09", + "fg_receipt_date": "2025-07-18", + "qa_release_date": "2025-07-27", + "ship_date": null, + "delivery_date": "2025-11-02", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 15, + "seg_prodstart_to_prodfinish": 100, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 98, + "total_days": 222, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 79, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 97, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 70, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 80, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 59, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 14, + "transit_pla_hub1": 43, + "dest_dwell_hub1": 41 + } + }, + "total_from_po": 222 + }, + { + "batch": "BATCH-281803", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-14", + "earliest_gr_date": "2025-04-16", + "earliest_production_start": "2025-05-07", + "fg_receipt_date": "2025-07-28", + "qa_release_date": "2025-08-01", + "ship_date": null, + "delivery_date": "2025-11-07", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 23, + "seg_prodstart_to_prodfinish": 82, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 98, + "total_days": 207, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 64, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 79, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 32, + "dest_dwell_hub1": 56 + } + }, + "total_from_po": 207 + }, + { + "batch": "BATCH-276962", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-05", + "earliest_gr_date": "2025-04-07", + "earliest_production_start": "2025-05-05", + "fg_receipt_date": "2025-08-17", + "qa_release_date": "2025-08-26", + "ship_date": null, + "delivery_date": "2025-11-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 104, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 79, + "total_days": 222, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 80, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 101, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 9, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 9, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 16, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 69, + "production_days": 16, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 12, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 38 + } + }, + "total_from_po": 222 + }, + { + "batch": "BATCH-217426", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-15", + "earliest_gr_date": "2025-04-17", + "earliest_production_start": "2025-05-16", + "fg_receipt_date": "2025-08-24", + "qa_release_date": "2025-09-03", + "ship_date": null, + "delivery_date": "2025-11-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 31, + "seg_prodstart_to_prodfinish": 100, + "seg_prodfinish_to_qa": 10, + "seg_qa_to_customer": 76, + "total_days": 217, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 25, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 72, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 97, + "production_days": 25, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 15, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 15, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 10, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 18, + "dest_dwell_hub1": 45 + } + }, + "total_from_po": 217 + }, + { + "batch": "BATCH-679445", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-01", + "earliest_gr_date": "2025-05-03", + "earliest_production_start": "2025-06-03", + "fg_receipt_date": "2025-08-19", + "qa_release_date": "2025-08-27", + "ship_date": null, + "delivery_date": "2025-11-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 77, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 89, + "total_days": 207, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 13, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 62, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 75, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 40, + "dest_dwell_hub1": 36 + } + }, + "total_from_po": 207 + }, + { + "batch": "BATCH-584703", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-19", + "earliest_gr_date": "2025-04-21", + "earliest_production_start": "2025-05-16", + "fg_receipt_date": "2025-09-06", + "qa_release_date": "2025-09-13", + "ship_date": null, + "delivery_date": "2025-11-29", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 27, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 77, + "total_days": 224, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 92, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 60, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 57, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 19, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 29 + } + }, + "total_from_po": 224 + }, + { + "batch": "BATCH-320907", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-03", + "earliest_gr_date": "2025-05-05", + "earliest_production_start": "2025-06-01", + "fg_receipt_date": "2025-08-12", + "qa_release_date": "2025-08-21", + "ship_date": null, + "delivery_date": "2025-12-05", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 72, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 106, + "total_days": 216, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 54, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 69, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 9, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 65, + "production_days": 9, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 17, + "transit_pla_hub1": 42, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 216 + }, + { + "batch": "BATCH-469894", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-09", + "earliest_gr_date": "2025-04-11", + "earliest_production_start": "2025-05-12", + "fg_receipt_date": "2025-08-29", + "qa_release_date": "2025-09-05", + "ship_date": null, + "delivery_date": "2025-12-10", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 109, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 96, + "total_days": 245, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 89, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 45, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 56, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 38, + "dest_dwell_hub1": 48 + } + }, + "total_from_po": 245 + }, + { + "batch": "BATCH-119167", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-10", + "earliest_gr_date": "2025-05-12", + "earliest_production_start": "2025-05-30", + "fg_receipt_date": "2025-09-19", + "qa_release_date": "2025-09-26", + "ship_date": null, + "delivery_date": "2025-12-15", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 20, + "seg_prodstart_to_prodfinish": 112, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 80, + "total_days": 219, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 13, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 95, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 74, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 44 + } + }, + "total_from_po": 219 + }, + { + "batch": "BATCH-850977", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-17", + "earliest_gr_date": "2025-05-19", + "earliest_production_start": "2025-06-14", + "fg_receipt_date": "2025-09-25", + "qa_release_date": "2025-10-01", + "ship_date": null, + "delivery_date": "2025-12-21", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 103, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 81, + "total_days": 218, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 82, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 99, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 32, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 42, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 59, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 39 + } + }, + "total_from_po": 218 + }, + { + "batch": "BATCH-315004", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-21", + "earliest_gr_date": "2025-06-23", + "earliest_production_start": "2025-07-27", + "fg_receipt_date": "2025-10-06", + "qa_release_date": "2025-10-14", + "ship_date": null, + "delivery_date": "2025-12-26", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 36, + "seg_prodstart_to_prodfinish": 71, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 73, + "total_days": 188, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 14, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 49, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 63, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 67, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 40, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 22, + "dest_dwell_hub1": 38 + } + }, + "total_from_po": 188 + }, + { + "batch": "BATCH-753733", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-04", + "earliest_gr_date": "2025-06-06", + "earliest_production_start": "2025-07-04", + "fg_receipt_date": "2025-09-25", + "qa_release_date": "2025-09-28", + "ship_date": null, + "delivery_date": "2026-01-01", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 83, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 95, + "total_days": 211, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 64, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 80, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 67, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 81, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 15, + "transit_pla_hub1": 28, + "dest_dwell_hub1": 52 + } + }, + "total_from_po": 211 + }, + { + "batch": "BATCH-006984", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-29", + "earliest_gr_date": "2025-05-31", + "earliest_production_start": "2025-06-15", + "fg_receipt_date": "2025-09-20", + "qa_release_date": "2025-09-27", + "ship_date": null, + "delivery_date": "2026-01-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 17, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 101, + "total_days": 222, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 25, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 94, + "production_days": 25, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 31, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 45, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 62, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 75, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 42, + "dest_dwell_hub1": 49 + } + }, + "total_from_po": 222 + }, + { + "batch": "BATCH-962763", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-04", + "earliest_gr_date": "2025-06-06", + "earliest_production_start": "2025-07-06", + "fg_receipt_date": "2025-10-26", + "qa_release_date": "2025-11-02", + "ship_date": null, + "delivery_date": "2026-01-12", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 32, + "seg_prodstart_to_prodfinish": 112, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 71, + "total_days": 222, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 92, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 69, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 15, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 15, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 35 + } + }, + "total_from_po": 222 + }, + { + "batch": "BATCH-885445", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-04", + "earliest_gr_date": "2025-06-06", + "earliest_production_start": "2025-06-29", + "fg_receipt_date": "2025-10-03", + "qa_release_date": "2025-10-04", + "ship_date": null, + "delivery_date": "2026-01-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 96, + "seg_prodfinish_to_qa": 1, + "seg_qa_to_customer": 105, + "total_days": 227, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 78, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 71, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 1, + "post_qa_ship_pla": 17, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 63 + } + }, + "total_from_po": 227 + }, + { + "batch": "BATCH-622159", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-31", + "earliest_gr_date": "2025-06-02", + "earliest_production_start": "2025-06-26", + "fg_receipt_date": "2025-10-17", + "qa_release_date": "2025-10-23", + "ship_date": null, + "delivery_date": "2026-01-23", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 92, + "total_days": 237, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 91, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 111, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 62, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 78, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 70, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 17, + "transit_pla_hub1": 28, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 237 + }, + { + "batch": "BATCH-990714", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-03", + "earliest_gr_date": "2025-06-05", + "earliest_production_start": "2025-07-02", + "fg_receipt_date": "2025-10-14", + "qa_release_date": "2025-10-18", + "ship_date": null, + "delivery_date": "2026-01-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 104, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 102, + "total_days": 239, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 84, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 100, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 55, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 15, + "transit_pla_hub1": 39, + "dest_dwell_hub1": 48 + } + }, + "total_from_po": 239 + }, + { + "batch": "BATCH-479016", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-14", + "earliest_gr_date": "2025-06-16", + "earliest_production_start": "2025-07-18", + "fg_receipt_date": "2025-11-13", + "qa_release_date": "2025-11-19", + "ship_date": null, + "delivery_date": "2026-02-03", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 34, + "seg_prodstart_to_prodfinish": 118, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 76, + "total_days": 234, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 96, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 114, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 64, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "transit_pla_hub1": 30, + "dest_dwell_hub1": 34 + } + }, + "total_from_po": 234 + }, + { + "batch": "BATCH-080863", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-26", + "earliest_gr_date": "2025-06-28", + "earliest_production_start": "2025-07-18", + "fg_receipt_date": "2025-11-08", + "qa_release_date": "2025-11-12", + "ship_date": null, + "delivery_date": "2026-02-08", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 22, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 88, + "total_days": 227, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 86, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 107, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 66, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 80, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 8, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 51, + "production_days": 8, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 6, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 28, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 227 + }, + { + "batch": "BATCH-910231", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-07-05", + "earliest_gr_date": "2025-07-07", + "earliest_production_start": "2025-08-11", + "fg_receipt_date": "2025-11-08", + "qa_release_date": "2025-11-16", + "ship_date": null, + "delivery_date": "2026-02-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 37, + "seg_prodstart_to_prodfinish": 89, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 89, + "total_days": 223, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 84, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 75, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 86, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 66, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 80, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 223 + }, + { + "batch": "BATCH-997425", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-07", + "earliest_gr_date": "2025-08-09", + "earliest_production_start": "2025-09-06", + "fg_receipt_date": "2025-12-04", + "qa_release_date": "2025-12-12", + "ship_date": null, + "delivery_date": "2026-02-19", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 89, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 69, + "total_days": 196, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 70, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 86, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 70, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 24, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 37, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 8, + "transit_pla_hub1": 31, + "dest_dwell_hub1": 30 + } + }, + "total_from_po": 196 + }, + { + "batch": "BATCH-618940", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-19", + "earliest_gr_date": "2025-06-21", + "earliest_production_start": "2025-07-27", + "fg_receipt_date": "2025-11-29", + "qa_release_date": "2025-12-02", + "ship_date": null, + "delivery_date": "2026-02-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 38, + "seg_prodstart_to_prodfinish": 125, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 84, + "total_days": 250, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 104, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 121, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 34, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 43, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 32, + "dest_dwell_hub1": 42 + } + }, + "total_from_po": 250 + }, + { + "batch": "BATCH-029240", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-07-14", + "earliest_gr_date": "2025-07-16", + "earliest_production_start": "2025-08-02", + "fg_receipt_date": "2025-11-19", + "qa_release_date": "2025-11-25", + "ship_date": null, + "delivery_date": "2026-03-02", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 19, + "seg_prodstart_to_prodfinish": 109, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 97, + "total_days": 231, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 83, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 104, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 77, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 88, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 15, + "transit_pla_hub1": 44, + "dest_dwell_hub1": 38 + } + }, + "total_from_po": 231 + }, + { + "batch": "BATCH-013796", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-17", + "earliest_gr_date": "2025-08-19", + "earliest_production_start": "2025-09-24", + "fg_receipt_date": "2026-01-04", + "qa_release_date": "2026-01-13", + "ship_date": null, + "delivery_date": "2026-03-07", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 38, + "seg_prodstart_to_prodfinish": 102, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 53, + "total_days": 202, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 78, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 27, + "dest_dwell_hub1": 15 + } + }, + "total_from_po": 202 + }, + { + "batch": "BATCH-563928", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-17", + "earliest_gr_date": "2025-08-19", + "earliest_production_start": "2025-09-16", + "fg_receipt_date": "2025-12-08", + "qa_release_date": "2025-12-11", + "ship_date": null, + "delivery_date": "2026-03-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 83, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 92, + "total_days": 208, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 66, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 81, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 38, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 51, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 28, + "dest_dwell_hub1": 54 + } + }, + "total_from_po": 208 + }, + { + "batch": "BATCH-263609", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-15", + "earliest_gr_date": "2025-08-17", + "earliest_production_start": "2025-09-12", + "fg_receipt_date": "2026-01-03", + "qa_release_date": "2026-01-10", + "ship_date": null, + "delivery_date": "2026-03-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 67, + "total_days": 215, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 26, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 83, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 109, + "production_days": 26, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 20, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 74, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 57, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 15, + "dest_dwell_hub1": 42 + } + }, + "total_from_po": 215 + }, + { + "batch": "BATCH-786903", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-30", + "earliest_gr_date": "2025-09-01", + "earliest_production_start": "2025-09-23", + "fg_receipt_date": "2026-01-22", + "qa_release_date": "2026-01-28", + "ship_date": null, + "delivery_date": "2026-03-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 24, + "seg_prodstart_to_prodfinish": 121, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 55, + "total_days": 206, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 103, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 118, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 17, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 73, + "production_days": 17, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 9, + "transit_pla_hub1": 17, + "dest_dwell_hub1": 29 + } + }, + "total_from_po": 206 + }, + { + "batch": "BATCH-676932", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-15", + "earliest_gr_date": "2025-08-17", + "earliest_production_start": "2025-09-13", + "fg_receipt_date": "2025-12-19", + "qa_release_date": "2025-12-25", + "ship_date": null, + "delivery_date": "2026-03-29", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 94, + "total_days": 226, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 73, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 35, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 51, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 59, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 9, + "transit_pla_hub1": 38, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 226 + }, + { + "batch": "BATCH-341567", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-10", + "earliest_gr_date": "2025-08-12", + "earliest_production_start": "2025-09-05", + "fg_receipt_date": "2025-12-27", + "qa_release_date": "2026-01-01", + "ship_date": null, + "delivery_date": "2026-04-04", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 93, + "total_days": 237, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 88, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 109, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 62, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 53, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 14, + "transit_pla_hub1": 23, + "dest_dwell_hub1": 56 + } + }, + "total_from_po": 237 + }, + { + "batch": "BATCH-162748", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-25", + "earliest_gr_date": "2025-08-27", + "earliest_production_start": "2025-09-24", + "fg_receipt_date": "2026-01-03", + "qa_release_date": "2026-01-09", + "ship_date": null, + "delivery_date": "2026-04-09", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 101, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 90, + "total_days": 227, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 80, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 33, + "dest_dwell_hub1": 46 + } + }, + "total_from_po": 227 + }, + { + "batch": "BATCH-322485", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-08", + "earliest_gr_date": "2025-10-10", + "earliest_production_start": "2025-10-27", + "fg_receipt_date": "2026-02-01", + "qa_release_date": "2026-02-10", + "ship_date": null, + "delivery_date": "2026-04-14", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 19, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 63, + "total_days": 188, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 76, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 38, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 48, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 36, + "dest_dwell_hub1": 16 + } + }, + "total_from_po": 188 + }, + { + "batch": "BATCH-780123", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-02", + "earliest_gr_date": "2025-09-04", + "earliest_production_start": "2025-10-02", + "fg_receipt_date": "2026-01-31", + "qa_release_date": "2026-02-08", + "ship_date": null, + "delivery_date": "2026-04-20", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 121, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 71, + "total_days": 230, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 101, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 118, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 67, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 71, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 6, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 40 + } + }, + "total_from_po": 230 + }, + { + "batch": "BATCH-219665", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-06", + "earliest_gr_date": "2025-10-08", + "earliest_production_start": "2025-10-22", + "fg_receipt_date": "2026-02-09", + "qa_release_date": "2026-02-15", + "ship_date": null, + "delivery_date": "2026-04-25", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 16, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 69, + "total_days": 201, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 88, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 37, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 52, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 4, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 40 + } + }, + "total_from_po": 201 + }, + { + "batch": "BATCH-254225", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-08", + "earliest_gr_date": "2025-09-10", + "earliest_production_start": "2025-09-30", + "fg_receipt_date": "2026-01-28", + "qa_release_date": "2026-02-03", + "ship_date": null, + "delivery_date": "2026-05-01", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 22, + "seg_prodstart_to_prodfinish": 120, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 87, + "total_days": 235, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 97, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 115, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 73, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 45 + } + }, + "total_from_po": 235 + }, + { + "batch": "BATCH-311884", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-12", + "earliest_gr_date": "2025-09-14", + "earliest_production_start": "2025-10-10", + "fg_receipt_date": "2026-01-29", + "qa_release_date": "2026-02-04", + "ship_date": null, + "delivery_date": "2026-05-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 111, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 91, + "total_days": 236, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 86, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 107, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 73, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 66, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 6, + "transit_pla_hub1": 40, + "dest_dwell_hub1": 45 + } + }, + "total_from_po": 236 + }, + { + "batch": "BATCH-534136", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-26", + "earliest_gr_date": "2025-09-28", + "earliest_production_start": "2025-11-08", + "fg_receipt_date": "2026-02-10", + "qa_release_date": "2026-02-15", + "ship_date": null, + "delivery_date": "2026-05-12", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 43, + "seg_prodstart_to_prodfinish": 94, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 86, + "total_days": 228, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 74, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 90, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 31, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 40, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 12, + "transit_pla_hub1": 30, + "dest_dwell_hub1": 44 + } + }, + "total_from_po": 228 + }, + { + "batch": "BATCH-718060", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-29", + "earliest_gr_date": "2025-10-01", + "earliest_production_start": "2025-11-09", + "fg_receipt_date": "2026-02-24", + "qa_release_date": "2026-02-28", + "ship_date": null, + "delivery_date": "2026-05-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 41, + "seg_prodstart_to_prodfinish": 107, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 78, + "total_days": 230, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 88, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 103, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 19, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 67, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 41, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 53, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 14, + "dest_dwell_hub1": 54 + } + }, + "total_from_po": 230 + }, + { + "batch": "BATCH-802602", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-12", + "earliest_gr_date": "2025-10-14", + "earliest_production_start": "2025-11-04", + "fg_receipt_date": "2026-02-09", + "qa_release_date": "2026-02-15", + "ship_date": null, + "delivery_date": "2026-05-23", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 23, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 97, + "total_days": 223, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 74, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 59, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 34, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 48, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 7, + "transit_pla_hub1": 39, + "dest_dwell_hub1": 51 + } + }, + "total_from_po": 223 + }, + { + "batch": "BATCH-136204", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-05", + "earliest_gr_date": "2025-10-07", + "earliest_production_start": "2025-11-05", + "fg_receipt_date": "2026-02-25", + "qa_release_date": "2026-03-03", + "ship_date": null, + "delivery_date": "2026-05-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 31, + "seg_prodstart_to_prodfinish": 112, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 86, + "total_days": 235, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 91, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 58, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 14, + "transit_pla_hub1": 53, + "dest_dwell_hub1": 19 + } + }, + "total_from_po": 235 + }, + { + "batch": "BATCH-949254", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-14", + "earliest_gr_date": "2025-10-16", + "earliest_production_start": "2025-11-18", + "fg_receipt_date": "2026-02-19", + "qa_release_date": "2026-02-24", + "ship_date": null, + "delivery_date": "2026-06-03", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 93, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 99, + "total_days": 232, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 67, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 88, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 74, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 89, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 31, + "dest_dwell_hub1": 55 + } + }, + "total_from_po": 232 + } + ], + "segments": { + "seg_proc_to_prodstart": { + "label": "Procurement \u2192 Production Start", + "mean": 29.3, + "median": 30, + "p25": 25, + "p75": 34, + "n": 100 + }, + "seg_prodstart_to_prodfinish": { + "label": "Production Start \u2192 Production Finish", + "mean": 100.7, + "median": 102, + "p25": 90, + "p75": 112, + "n": 100 + }, + "seg_prodfinish_to_qa": { + "label": "Production Finish \u2192 QA Release", + "mean": 6.5, + "median": 7, + "p25": 6, + "p75": 8, + "n": 100 + }, + "seg_qa_to_customer": { + "label": "QA Release \u2192 Customer", + "mean": 53.8, + "median": 40, + "p25": 31, + "p75": 81, + "n": 100 + }, + "total_days": { + "label": "Total (GR to Delivery)", + "mean": 190.3, + "median": 188, + "p25": 167, + "p75": 222, + "n": 100 + } + }, + "per_route": { + "direct": { + "label": "Direct to customer", + "segments": { + "seg_proc_to_prodstart": { + "label": "Procurement \u2192 Production Start", + "mean": 29.9, + "median": 30, + "p25": 26, + "p75": 35, + "n": 60 + }, + "seg_prodstart_to_prodfinish": { + "label": "Production Start \u2192 Production Finish", + "mean": 99.8, + "median": 101, + "p25": 90, + "p75": 110, + "n": 60 + }, + "seg_prodfinish_to_qa": { + "label": "Production Finish \u2192 QA Release", + "mean": 6.6, + "median": 7, + "p25": 6, + "p75": 8, + "n": 60 + }, + "seg_qa_to_customer": { + "label": "QA Release \u2192 Customer", + "mean": 33.2, + "median": 33, + "p25": 29, + "p75": 38, + "n": 60 + }, + "total_days": { + "label": "Total (GR to Delivery)", + "mean": 169.5, + "median": 170, + "p25": 159, + "p75": 182, + "n": 60 + } + } + }, + "hub-1": { + "label": "HUB-1", + "segments": { + "seg_proc_to_prodstart": { + "label": "Procurement \u2192 Production Start", + "mean": 28.4, + "median": 29, + "p25": 24, + "p75": 33, + "n": 40 + }, + "seg_prodstart_to_prodfinish": { + "label": "Production Start \u2192 Production Finish", + "mean": 102.1, + "median": 104, + "p25": 96, + "p75": 113, + "n": 40 + }, + "seg_prodfinish_to_qa": { + "label": "Production Finish \u2192 QA Release", + "mean": 6.2, + "median": 6, + "p25": 5, + "p75": 8, + "n": 40 + }, + "seg_qa_to_customer": { + "label": "QA Release \u2192 Customer", + "mean": 84.8, + "median": 88, + "p25": 76, + "p75": 96, + "n": 40 + }, + "total_days": { + "label": "Total (GR to Delivery)", + "mean": 221.6, + "median": 223, + "p25": 215, + "p75": 232, + "n": 40 + } + } + } + }, + "coverage": { + "traced": 100, + "total": 100 + } + }, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/dest_dwell_hub1.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/dest_dwell_hub1.json new file mode 100644 index 00000000000..e01560fdc97 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/dest_dwell_hub1.json @@ -0,0 +1,432 @@ +{ + "id": "dest_dwell_hub1", + "label": "Destination Dwell (HUB-1)", + "type": "destination_dwell", + "durations": [ + 56.7, 87.8, 37.8, 128.2, 47.2, 13.5, 105.3, 74.2, 56.7, 43.2, 52.7, 56.7, + 62.1, 66.2, 71.6, 77.0, 64.8, 70.2, 45.9, 64.8, 40.5, 45.9, 48.6, 55.4, + 58.1, 48.6, 52.7, 56.7, 62.1, 66.2, 71.6, 60.8, 64.8, 70.2, 59.4, 64.8, 40.5 + ], + "observations": [ + { + "date": "2022-09-15", + "value": 56.7 + }, + { + "date": "2023-05-05", + "value": 87.8 + }, + { + "date": "2023-05-20", + "value": 37.8 + }, + { + "date": "2024-01-10", + "value": 128.2 + }, + { + "date": "2024-01-25", + "value": 47.2 + }, + { + "date": "2024-08-15", + "value": 13.5 + }, + { + "date": "2025-02-05", + "value": 105.3 + }, + { + "date": "2025-02-18", + "value": 74.2 + }, + { + "date": "2025-08-10", + "value": 56.7 + }, + { + "date": "2025-08-20", + "value": 43.2 + }, + { + "date": "2025-09-06", + "value": 52.7 + }, + { + "date": "2025-09-12", + "value": 56.7 + }, + { + "date": "2025-09-18", + "value": 62.1 + }, + { + "date": "2025-10-04", + "value": 66.2 + }, + { + "date": "2025-10-10", + "value": 71.6 + }, + { + "date": "2025-10-16", + "value": 77.0 + }, + { + "date": "2025-11-05", + "value": 64.8 + }, + { + "date": "2025-11-11", + "value": 70.2 + }, + { + "date": "2025-11-17", + "value": 45.9 + }, + { + "date": "2025-12-06", + "value": 64.8 + }, + { + "date": "2025-12-12", + "value": 40.5 + }, + { + "date": "2025-12-18", + "value": 45.9 + }, + { + "date": "2026-01-04", + "value": 48.6 + }, + { + "date": "2026-01-10", + "value": 55.4 + }, + { + "date": "2026-01-16", + "value": 58.1 + }, + { + "date": "2026-02-05", + "value": 48.6 + }, + { + "date": "2026-02-11", + "value": 52.7 + }, + { + "date": "2026-02-17", + "value": 56.7 + }, + { + "date": "2026-03-06", + "value": 62.1 + }, + { + "date": "2026-03-12", + "value": 66.2 + }, + { + "date": "2026-03-18", + "value": 71.6 + }, + { + "date": "2026-04-04", + "value": 60.8 + }, + { + "date": "2026-04-10", + "value": 64.8 + }, + { + "date": "2026-04-16", + "value": 70.2 + }, + { + "date": "2026-05-05", + "value": 59.4 + }, + { + "date": "2026-05-11", + "value": 64.8 + }, + { + "date": "2026-05-17", + "value": 40.5 + } + ], + "monthly": [ + { + "month": "2022-09", + "mean": 56.7, + "median": 56.7, + "p10": 56.7, + "p25": 56.7, + "p75": 56.7, + "p90": 56.7, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "mean": 62.8, + "median": 62.8, + "p10": 42.8, + "p25": 50.4, + "p75": 75.3, + "p90": 82.8, + "n": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "mean": 87.8, + "median": 87.8, + "p10": 55.4, + "p25": 67.5, + "p75": 108.0, + "p90": 120.2, + "n": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "mean": 13.5, + "median": 13.5, + "p10": 13.5, + "p25": 13.5, + "p75": 13.5, + "p90": 13.5, + "n": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "mean": 89.8, + "median": 89.8, + "p10": 77.4, + "p25": 82.1, + "p75": 97.6, + "p90": 102.2, + "n": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "mean": 50.0, + "median": 50.0, + "p10": 44.6, + "p25": 46.6, + "p75": 53.3, + "p90": 55.4, + "n": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "mean": 57.1, + "median": 56.7, + "p10": 53.5, + "p25": 54.7, + "p75": 59.4, + "p90": 61.0, + "n": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "mean": 71.6, + "median": 71.6, + "p10": 67.2, + "p25": 68.9, + "p75": 74.2, + "p90": 75.9, + "n": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "mean": 60.3, + "median": 64.8, + "p10": 49.7, + "p25": 55.4, + "p75": 67.5, + "p90": 69.1, + "n": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "mean": 50.4, + "median": 45.9, + "p10": 41.6, + "p25": 43.2, + "p75": 55.4, + "p90": 61.0, + "n": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "mean": 54.0, + "median": 55.4, + "p10": 50.0, + "p25": 52.0, + "p75": 56.7, + "p90": 57.5, + "n": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "mean": 52.7, + "median": 52.7, + "p10": 49.4, + "p25": 50.6, + "p75": 54.7, + "p90": 55.9, + "n": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "mean": 66.6, + "median": 66.2, + "p10": 62.9, + "p25": 64.1, + "p75": 68.9, + "p90": 70.5, + "n": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "mean": 65.2, + "median": 64.8, + "p10": 61.6, + "p25": 62.8, + "p75": 67.5, + "p90": 69.1, + "n": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "mean": 54.9, + "median": 59.4, + "p10": 44.3, + "p25": 50.0, + "p75": 62.1, + "p90": 63.7, + "n": 3, + "total_kg_days": 585600.0 + } + ], + "stats": { + "n": 37, + "mean": 60.8, + "median": 59.4, + "std": 14.0, + "min": 13.5, + "max": 128.2, + "p25": 48.6, + "p75": 66.2, + "p85": 71.6, + "p95": 87.8 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "annotations": [], + "cost": { + "unit_price": 38.475, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2022-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "n_events": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "n_events": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "n_events": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "n_events": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "n_events": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "n_events": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "n_events": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "n_events": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "n_events": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "n_events": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "n_events": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "n_events": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "n_events": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "n_events": 3, + "total_kg_days": 585600.0 + } + ] + }, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": 10, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/intermed_dwell_green_blend.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/intermed_dwell_green_blend.json new file mode 100644 index 00000000000..7aabddecaca --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/intermed_dwell_green_blend.json @@ -0,0 +1,595 @@ +{ + "id": "intermed_dwell_green_blend", + "label": "Intermediate Dwell: Green Blend", + "type": "intermediate_dwell", + "durations": [ + 16.2, 33.8, 10.8, 47.2, 20.2, 6.8, 29.7, 24.3, 54.0, 13.5, 74.2, 2.7, 37.8, + 20.2, 10.8, 27.0, 60.8, 16.2, 4.1, 24.3, 40.5, 10.8, 29.7, 47.2, 6.8, 20.2, + 56.7, 13.5, 18.9, 21.6, 23.0, 24.3, 25.7, 18.9, 20.2, 21.6, 24.3, 14.9, + 24.3, 25.7, 27.0, 18.9, 20.2, 23.0, 25.7, 16.2, 18.9, 20.2, 23.0, 14.9, + 16.2, 17.6, 18.9, 17.6, 18.9, 21.6, 23.0, 24.3, 17.6, 18.9, 20.2, 21.6, + 24.3, 21.6, 24.3, 25.7, 27.0, 18.9, 21.6, 23.0, 25.7, 16.2, 18.9 + ], + "observations": [ + { + "date": "2022-05-05", + "value": 16.2 + }, + { + "date": "2022-05-15", + "value": 33.8 + }, + { + "date": "2022-05-22", + "value": 10.8 + }, + { + "date": "2022-11-03", + "value": 47.2 + }, + { + "date": "2022-11-10", + "value": 20.2 + }, + { + "date": "2022-11-18", + "value": 6.8 + }, + { + "date": "2022-11-25", + "value": 29.7 + }, + { + "date": "2023-05-08", + "value": 24.3 + }, + { + "date": "2023-05-15", + "value": 54.0 + }, + { + "date": "2023-05-22", + "value": 13.5 + }, + { + "date": "2023-11-06", + "value": 74.2 + }, + { + "date": "2023-11-13", + "value": 2.7 + }, + { + "date": "2023-11-20", + "value": 37.8 + }, + { + "date": "2023-11-27", + "value": 20.2 + }, + { + "date": "2023-11-30", + "value": 10.8 + }, + { + "date": "2024-05-06", + "value": 27.0 + }, + { + "date": "2024-05-13", + "value": 60.8 + }, + { + "date": "2024-05-20", + "value": 16.2 + }, + { + "date": "2024-05-27", + "value": 4.1 + }, + { + "date": "2024-11-04", + "value": 24.3 + }, + { + "date": "2024-11-11", + "value": 40.5 + }, + { + "date": "2024-11-18", + "value": 10.8 + }, + { + "date": "2025-05-05", + "value": 29.7 + }, + { + "date": "2025-05-09", + "value": 47.2 + }, + { + "date": "2025-05-13", + "value": 6.8 + }, + { + "date": "2025-05-17", + "value": 20.2 + }, + { + "date": "2025-05-21", + "value": 56.7 + }, + { + "date": "2025-05-25", + "value": 13.5 + }, + { + "date": "2025-09-05", + "value": 18.9 + }, + { + "date": "2025-09-11", + "value": 21.6 + }, + { + "date": "2025-09-17", + "value": 23.0 + }, + { + "date": "2025-09-23", + "value": 24.3 + }, + { + "date": "2025-09-29", + "value": 25.7 + }, + { + "date": "2025-10-06", + "value": 18.9 + }, + { + "date": "2025-10-12", + "value": 20.2 + }, + { + "date": "2025-10-18", + "value": 21.6 + }, + { + "date": "2025-10-24", + "value": 24.3 + }, + { + "date": "2025-10-30", + "value": 14.9 + }, + { + "date": "2025-11-04", + "value": 24.3 + }, + { + "date": "2025-11-10", + "value": 25.7 + }, + { + "date": "2025-11-16", + "value": 27.0 + }, + { + "date": "2025-11-22", + "value": 18.9 + }, + { + "date": "2025-11-28", + "value": 20.2 + }, + { + "date": "2025-12-05", + "value": 23.0 + }, + { + "date": "2025-12-11", + "value": 25.7 + }, + { + "date": "2025-12-17", + "value": 16.2 + }, + { + "date": "2025-12-23", + "value": 18.9 + }, + { + "date": "2025-12-29", + "value": 20.2 + }, + { + "date": "2026-01-06", + "value": 23.0 + }, + { + "date": "2026-01-12", + "value": 14.9 + }, + { + "date": "2026-01-18", + "value": 16.2 + }, + { + "date": "2026-01-24", + "value": 17.6 + }, + { + "date": "2026-01-30", + "value": 18.9 + }, + { + "date": "2026-02-04", + "value": 17.6 + }, + { + "date": "2026-02-10", + "value": 18.9 + }, + { + "date": "2026-02-16", + "value": 21.6 + }, + { + "date": "2026-02-22", + "value": 23.0 + }, + { + "date": "2026-02-28", + "value": 24.3 + }, + { + "date": "2026-03-05", + "value": 17.6 + }, + { + "date": "2026-03-11", + "value": 18.9 + }, + { + "date": "2026-03-17", + "value": 20.2 + }, + { + "date": "2026-03-23", + "value": 21.6 + }, + { + "date": "2026-03-29", + "value": 24.3 + }, + { + "date": "2026-04-06", + "value": 21.6 + }, + { + "date": "2026-04-12", + "value": 24.3 + }, + { + "date": "2026-04-18", + "value": 25.7 + }, + { + "date": "2026-04-24", + "value": 27.0 + }, + { + "date": "2026-04-30", + "value": 18.9 + }, + { + "date": "2026-05-04", + "value": 21.6 + }, + { + "date": "2026-05-10", + "value": 23.0 + }, + { + "date": "2026-05-16", + "value": 25.7 + }, + { + "date": "2026-05-22", + "value": 16.2 + }, + { + "date": "2026-05-28", + "value": 18.9 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 20.2, + "median": 16.2, + "p10": 11.9, + "p25": 13.5, + "p75": 25.0, + "p90": 30.2, + "n": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "mean": 26.1, + "median": 25.0, + "p10": 10.8, + "p25": 16.9, + "p75": 34.2, + "p90": 42.0, + "n": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "mean": 30.6, + "median": 24.3, + "p10": 15.7, + "p25": 18.9, + "p75": 39.2, + "p90": 48.1, + "n": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "mean": 29.2, + "median": 20.2, + "p10": 5.9, + "p25": 10.8, + "p75": 37.8, + "p90": 59.7, + "n": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "mean": 27.0, + "median": 21.6, + "p10": 7.7, + "p25": 13.2, + "p75": 35.5, + "p90": 50.6, + "n": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "mean": 25.2, + "median": 24.3, + "p10": 13.5, + "p25": 17.6, + "p75": 32.4, + "p90": 37.3, + "n": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "mean": 29.0, + "median": 25.0, + "p10": 10.1, + "p25": 15.3, + "p75": 42.9, + "p90": 52.0, + "n": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "mean": 22.7, + "median": 23.0, + "p10": 20.0, + "p25": 21.6, + "p75": 24.3, + "p90": 25.1, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "mean": 20.0, + "median": 20.2, + "p10": 16.5, + "p25": 18.9, + "p75": 21.6, + "p90": 23.2, + "n": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "mean": 23.2, + "median": 24.3, + "p10": 19.4, + "p25": 20.2, + "p75": 25.7, + "p90": 26.5, + "n": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "mean": 20.8, + "median": 20.2, + "p10": 17.3, + "p25": 18.9, + "p75": 23.0, + "p90": 24.6, + "n": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "mean": 18.1, + "median": 17.6, + "p10": 15.4, + "p25": 16.2, + "p75": 18.9, + "p90": 21.3, + "n": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "mean": 21.1, + "median": 21.6, + "p10": 18.1, + "p25": 18.9, + "p75": 23.0, + "p90": 23.8, + "n": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "mean": 20.5, + "median": 20.2, + "p10": 18.1, + "p25": 18.9, + "p75": 21.6, + "p90": 23.2, + "n": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "mean": 23.5, + "median": 24.3, + "p10": 20.0, + "p25": 21.6, + "p75": 25.7, + "p90": 26.5, + "n": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "mean": 21.1, + "median": 21.6, + "p10": 17.3, + "p25": 18.9, + "p75": 23.0, + "p90": 24.6, + "n": 5, + "total_kg_days": 249600.0 + } + ], + "stats": { + "n": 73, + "mean": 23.5, + "median": 21.6, + "std": 9.0, + "min": 2.7, + "max": 74.2, + "p25": 17.6, + "p75": 25.7, + "p85": 27.0, + "p95": 47.2 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 87.7, + "annotations": [], + "cost": { + "unit_price": 16.875, + "currency": "CHF", + "mean_qty": 3200.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "n_events": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "n_events": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "n_events": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "n_events": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "n_events": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "n_events": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 249600.0 + } + ] + }, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": 28, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/post_qa_ship_pla.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/post_qa_ship_pla.json new file mode 100644 index 00000000000..e200ac8b450 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/post_qa_ship_pla.json @@ -0,0 +1,514 @@ +{ + "id": "post_qa_ship_pla", + "label": "Post-QA Dwell (PL-A)", + "type": "post_qa_ship", + "durations": [ + 10.8, 29.7, 56.7, 8.1, 24.3, 37.8, 16.2, 2.7, 20.2, 6.8, 27.0, 5.4, 18.9, + 20.2, 13.5, 14.9, 16.2, 18.9, 10.8, 13.5, 14.9, 14.9, 13.5, 16.2, 16.2, + 17.6, 18.9, 13.5, 14.9, 16.2, 17.6, 18.9, 17.6, 18.9, 20.2, 21.6, 14.9, + 17.6, 18.9, 20.2, 13.5, 14.9, 17.6, 18.9, 10.8, 13.5, 14.9, 21.6, 13.5, + 16.2, 16.2, 17.6, 12.2, 13.5, 14.9, 16.2, 17.6 + ], + "observations": [ + { + "date": "2023-03-10", + "value": 10.8 + }, + { + "date": "2023-03-25", + "value": 29.7 + }, + { + "date": "2023-09-20", + "value": 56.7 + }, + { + "date": "2024-03-15", + "value": 8.1 + }, + { + "date": "2024-03-28", + "value": 24.3 + }, + { + "date": "2024-09-05", + "value": 37.8 + }, + { + "date": "2024-09-15", + "value": 16.2 + }, + { + "date": "2024-09-25", + "value": 2.7 + }, + { + "date": "2025-03-10", + "value": 20.2 + }, + { + "date": "2025-03-22", + "value": 6.8 + }, + { + "date": "2025-07-08", + "value": 27.0 + }, + { + "date": "2025-07-22", + "value": 5.4 + }, + { + "date": "2025-09-05", + "value": 18.9 + }, + { + "date": "2025-09-11", + "value": 20.2 + }, + { + "date": "2025-09-17", + "value": 13.5 + }, + { + "date": "2025-09-23", + "value": 14.9 + }, + { + "date": "2025-09-29", + "value": 16.2 + }, + { + "date": "2025-10-06", + "value": 18.9 + }, + { + "date": "2025-10-12", + "value": 10.8 + }, + { + "date": "2025-10-18", + "value": 13.5 + }, + { + "date": "2025-10-24", + "value": 14.9 + }, + { + "date": "2025-10-30", + "value": 14.9 + }, + { + "date": "2025-11-04", + "value": 13.5 + }, + { + "date": "2025-11-10", + "value": 16.2 + }, + { + "date": "2025-11-16", + "value": 16.2 + }, + { + "date": "2025-11-22", + "value": 17.6 + }, + { + "date": "2025-11-28", + "value": 18.9 + }, + { + "date": "2025-12-05", + "value": 13.5 + }, + { + "date": "2025-12-11", + "value": 14.9 + }, + { + "date": "2025-12-17", + "value": 16.2 + }, + { + "date": "2025-12-23", + "value": 17.6 + }, + { + "date": "2025-12-29", + "value": 18.9 + }, + { + "date": "2026-01-06", + "value": 17.6 + }, + { + "date": "2026-01-12", + "value": 18.9 + }, + { + "date": "2026-01-18", + "value": 20.2 + }, + { + "date": "2026-01-24", + "value": 21.6 + }, + { + "date": "2026-01-30", + "value": 14.9 + }, + { + "date": "2026-02-04", + "value": 17.6 + }, + { + "date": "2026-02-10", + "value": 18.9 + }, + { + "date": "2026-02-16", + "value": 20.2 + }, + { + "date": "2026-02-22", + "value": 13.5 + }, + { + "date": "2026-02-28", + "value": 14.9 + }, + { + "date": "2026-03-05", + "value": 17.6 + }, + { + "date": "2026-03-11", + "value": 18.9 + }, + { + "date": "2026-03-17", + "value": 10.8 + }, + { + "date": "2026-03-23", + "value": 13.5 + }, + { + "date": "2026-03-29", + "value": 14.9 + }, + { + "date": "2026-04-06", + "value": 21.6 + }, + { + "date": "2026-04-12", + "value": 13.5 + }, + { + "date": "2026-04-18", + "value": 16.2 + }, + { + "date": "2026-04-24", + "value": 16.2 + }, + { + "date": "2026-04-30", + "value": 17.6 + }, + { + "date": "2026-05-04", + "value": 12.2 + }, + { + "date": "2026-05-10", + "value": 13.5 + }, + { + "date": "2026-05-16", + "value": 14.9 + }, + { + "date": "2026-05-22", + "value": 16.2 + }, + { + "date": "2026-05-28", + "value": 17.6 + } + ], + "monthly": [ + { + "month": "2023-03", + "mean": 20.2, + "median": 20.2, + "p10": 12.7, + "p25": 15.5, + "p75": 25.0, + "p90": 27.8, + "n": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "mean": 56.7, + "median": 56.7, + "p10": 56.7, + "p25": 56.7, + "p75": 56.7, + "p90": 56.7, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "mean": 16.2, + "median": 16.2, + "p10": 9.7, + "p25": 12.2, + "p75": 20.2, + "p90": 22.7, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "mean": 18.9, + "median": 16.2, + "p10": 5.4, + "p25": 9.5, + "p75": 27.0, + "p90": 33.5, + "n": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "mean": 13.5, + "median": 13.5, + "p10": 8.1, + "p25": 10.1, + "p75": 16.9, + "p90": 18.9, + "n": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "mean": 16.2, + "median": 16.2, + "p10": 7.6, + "p25": 10.8, + "p75": 21.6, + "p90": 24.8, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "mean": 16.7, + "median": 16.2, + "p10": 14.0, + "p25": 14.9, + "p75": 18.9, + "p90": 19.7, + "n": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "mean": 14.6, + "median": 14.9, + "p10": 11.9, + "p25": 13.5, + "p75": 14.9, + "p90": 17.3, + "n": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "mean": 16.5, + "median": 16.2, + "p10": 14.6, + "p25": 16.2, + "p75": 17.6, + "p90": 18.4, + "n": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "mean": 16.2, + "median": 16.2, + "p10": 14.0, + "p25": 14.9, + "p75": 17.6, + "p90": 18.4, + "n": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "mean": 18.6, + "median": 18.9, + "p10": 15.9, + "p25": 17.6, + "p75": 20.2, + "p90": 21.1, + "n": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "mean": 17.0, + "median": 17.6, + "p10": 14.0, + "p25": 14.9, + "p75": 18.9, + "p90": 19.7, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "mean": 15.1, + "median": 14.9, + "p10": 11.9, + "p25": 13.5, + "p75": 17.6, + "p90": 18.4, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "mean": 17.0, + "median": 16.2, + "p10": 14.6, + "p25": 16.2, + "p75": 17.6, + "p90": 20.0, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "mean": 14.9, + "median": 14.9, + "p10": 12.7, + "p25": 13.5, + "p75": 16.2, + "p90": 17.0, + "n": 5, + "total_kg_days": 264000.0 + } + ], + "stats": { + "n": 57, + "mean": 17.2, + "median": 16.2, + "std": 5.6, + "min": 2.7, + "max": 56.7, + "p25": 13.5, + "p75": 18.9, + "p85": 20.2, + "p95": 27.0 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "annotations": [], + "cost": { + "unit_price": 38.475, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2023-03", + "n_events": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "n_events": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "n_events": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 264000.0 + } + ] + }, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": 12, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/procurement_highland_arabica.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/procurement_highland_arabica.json new file mode 100644 index 00000000000..473959c6abf --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/procurement_highland_arabica.json @@ -0,0 +1,3304 @@ +{ + "id": "procurement_highland_arabica", + "label": "Procurement: Highland Arabica", + "type": "procurement", + "durations": [ + 74.2, 56.7, 10.8, 85.1, 51.3, 29.7, 95.9, 40.5, 60.8, 24.3, 141.8, 47.2, + 16.2, 64.8, 52.7, 55.4, 59.4, 64.8, 68.9, 50.0, 54.0, 59.4, 63.5, 41.9, + 48.6, 54.0, 58.1, 36.5, 41.9, 62.1, 66.2, 44.6, 50.0, 52.7, 60.8, 39.2, + 44.6, 47.2, 51.3, 47.2, 52.7, 55.4, 59.4, 64.8, 47.2, 50.0, 54.0, 59.4, + 63.5, 44.6, 48.6, 54.0, 58.1, 36.5, 56.7, 62.1, 66.2, 44.6, 50.0 + ], + "observations": [ + { + "date": "2022-03-15", + "value": 74.2 + }, + { + "date": "2022-06-10", + "value": 56.7 + }, + { + "date": "2022-09-22", + "value": 10.8 + }, + { + "date": "2022-12-05", + "value": 85.1 + }, + { + "date": "2023-02-14", + "value": 51.3 + }, + { + "date": "2023-05-30", + "value": 29.7 + }, + { + "date": "2023-08-17", + "value": 95.9 + }, + { + "date": "2023-11-02", + "value": 40.5 + }, + { + "date": "2024-01-25", + "value": 60.8 + }, + { + "date": "2024-04-11", + "value": 24.3 + }, + { + "date": "2024-07-09", + "value": 141.8 + }, + { + "date": "2024-10-03", + "value": 47.2 + }, + { + "date": "2025-01-20", + "value": 16.2 + }, + { + "date": "2025-04-08", + "value": 64.8 + }, + { + "date": "2025-09-05", + "value": 52.7 + }, + { + "date": "2025-09-11", + "value": 55.4 + }, + { + "date": "2025-09-17", + "value": 59.4 + }, + { + "date": "2025-09-23", + "value": 64.8 + }, + { + "date": "2025-09-29", + "value": 68.9 + }, + { + "date": "2025-10-06", + "value": 50.0 + }, + { + "date": "2025-10-12", + "value": 54.0 + }, + { + "date": "2025-10-18", + "value": 59.4 + }, + { + "date": "2025-10-24", + "value": 63.5 + }, + { + "date": "2025-10-30", + "value": 41.9 + }, + { + "date": "2025-11-04", + "value": 48.6 + }, + { + "date": "2025-11-10", + "value": 54.0 + }, + { + "date": "2025-11-16", + "value": 58.1 + }, + { + "date": "2025-11-22", + "value": 36.5 + }, + { + "date": "2025-11-28", + "value": 41.9 + }, + { + "date": "2025-12-05", + "value": 62.1 + }, + { + "date": "2025-12-11", + "value": 66.2 + }, + { + "date": "2025-12-17", + "value": 44.6 + }, + { + "date": "2025-12-23", + "value": 50.0 + }, + { + "date": "2025-12-29", + "value": 52.7 + }, + { + "date": "2026-01-06", + "value": 60.8 + }, + { + "date": "2026-01-12", + "value": 39.2 + }, + { + "date": "2026-01-18", + "value": 44.6 + }, + { + "date": "2026-01-24", + "value": 47.2 + }, + { + "date": "2026-01-30", + "value": 51.3 + }, + { + "date": "2026-02-04", + "value": 47.2 + }, + { + "date": "2026-02-10", + "value": 52.7 + }, + { + "date": "2026-02-16", + "value": 55.4 + }, + { + "date": "2026-02-22", + "value": 59.4 + }, + { + "date": "2026-02-28", + "value": 64.8 + }, + { + "date": "2026-03-05", + "value": 47.2 + }, + { + "date": "2026-03-11", + "value": 50.0 + }, + { + "date": "2026-03-17", + "value": 54.0 + }, + { + "date": "2026-03-23", + "value": 59.4 + }, + { + "date": "2026-03-29", + "value": 63.5 + }, + { + "date": "2026-04-06", + "value": 44.6 + }, + { + "date": "2026-04-12", + "value": 48.6 + }, + { + "date": "2026-04-18", + "value": 54.0 + }, + { + "date": "2026-04-24", + "value": 58.1 + }, + { + "date": "2026-04-30", + "value": 36.5 + }, + { + "date": "2026-05-04", + "value": 56.7 + }, + { + "date": "2026-05-10", + "value": 62.1 + }, + { + "date": "2026-05-16", + "value": 66.2 + }, + { + "date": "2026-05-22", + "value": 44.6 + }, + { + "date": "2026-05-28", + "value": 50.0 + } + ], + "monthly": [ + { + "month": "2022-03", + "mean": 74.2, + "median": 74.2, + "p10": 74.2, + "p25": 74.2, + "p75": 74.2, + "p90": 74.2, + "n": 1 + }, + { + "month": "2022-06", + "mean": 56.7, + "median": 56.7, + "p10": 56.7, + "p25": 56.7, + "p75": 56.7, + "p90": 56.7, + "n": 1 + }, + { + "month": "2022-09", + "mean": 10.8, + "median": 10.8, + "p10": 10.8, + "p25": 10.8, + "p75": 10.8, + "p90": 10.8, + "n": 1 + }, + { + "month": "2022-12", + "mean": 85.1, + "median": 85.1, + "p10": 85.1, + "p25": 85.1, + "p75": 85.1, + "p90": 85.1, + "n": 1 + }, + { + "month": "2023-02", + "mean": 51.3, + "median": 51.3, + "p10": 51.3, + "p25": 51.3, + "p75": 51.3, + "p90": 51.3, + "n": 1 + }, + { + "month": "2023-05", + "mean": 29.7, + "median": 29.7, + "p10": 29.7, + "p25": 29.7, + "p75": 29.7, + "p90": 29.7, + "n": 1 + }, + { + "month": "2023-08", + "mean": 95.9, + "median": 95.9, + "p10": 95.9, + "p25": 95.9, + "p75": 95.9, + "p90": 95.9, + "n": 1 + }, + { + "month": "2023-11", + "mean": 40.5, + "median": 40.5, + "p10": 40.5, + "p25": 40.5, + "p75": 40.5, + "p90": 40.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 60.8, + "median": 60.8, + "p10": 60.8, + "p25": 60.8, + "p75": 60.8, + "p90": 60.8, + "n": 1 + }, + { + "month": "2024-04", + "mean": 24.3, + "median": 24.3, + "p10": 24.3, + "p25": 24.3, + "p75": 24.3, + "p90": 24.3, + "n": 1 + }, + { + "month": "2024-07", + "mean": 141.8, + "median": 141.8, + "p10": 141.8, + "p25": 141.8, + "p75": 141.8, + "p90": 141.8, + "n": 1 + }, + { + "month": "2024-10", + "mean": 47.2, + "median": 47.2, + "p10": 47.2, + "p25": 47.2, + "p75": 47.2, + "p90": 47.2, + "n": 1 + }, + { + "month": "2025-01", + "mean": 16.2, + "median": 16.2, + "p10": 16.2, + "p25": 16.2, + "p75": 16.2, + "p90": 16.2, + "n": 1 + }, + { + "month": "2025-04", + "mean": 64.8, + "median": 64.8, + "p10": 64.8, + "p25": 64.8, + "p75": 64.8, + "p90": 64.8, + "n": 1 + }, + { + "month": "2025-09", + "mean": 60.2, + "median": 59.4, + "p10": 53.7, + "p25": 55.4, + "p75": 64.8, + "p90": 67.2, + "n": 5 + }, + { + "month": "2025-10", + "mean": 53.7, + "median": 54.0, + "p10": 45.1, + "p25": 50.0, + "p75": 59.4, + "p90": 61.8, + "n": 5 + }, + { + "month": "2025-11", + "mean": 47.8, + "median": 48.6, + "p10": 38.6, + "p25": 41.9, + "p75": 54.0, + "p90": 56.4, + "n": 5 + }, + { + "month": "2025-12", + "mean": 55.1, + "median": 52.7, + "p10": 46.7, + "p25": 50.0, + "p75": 62.1, + "p90": 64.5, + "n": 5 + }, + { + "month": "2026-01", + "mean": 48.6, + "median": 47.2, + "p10": 41.3, + "p25": 44.6, + "p75": 51.3, + "p90": 57.0, + "n": 5 + }, + { + "month": "2026-02", + "mean": 55.9, + "median": 55.4, + "p10": 49.4, + "p25": 52.7, + "p75": 59.4, + "p90": 62.6, + "n": 5 + }, + { + "month": "2026-03", + "mean": 54.8, + "median": 54.0, + "p10": 48.3, + "p25": 50.0, + "p75": 59.4, + "p90": 61.8, + "n": 5 + }, + { + "month": "2026-04", + "mean": 48.3, + "median": 48.6, + "p10": 39.7, + "p25": 44.6, + "p75": 54.0, + "p90": 56.4, + "n": 5 + }, + { + "month": "2026-05", + "mean": 55.9, + "median": 56.7, + "p10": 46.7, + "p25": 50.0, + "p75": 62.1, + "p90": 64.5, + "n": 5 + } + ], + "stats": { + "n": 59, + "mean": 54.3, + "median": 54.0, + "std": 13.3, + "min": 10.8, + "max": 141.8, + "p25": 47.2, + "p75": 60.8, + "p85": 64.8, + "p95": 74.2 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 98.3, + "annotations": [ + { + "date": "2023-09-01", + "label": "Supplier change for Highland Arabica" + } + ], + "cost": null, + "detail_rows": { + "columns": [ + { + "key": "matnr", + "sap_field": "MATNR", + "sap_table": "EKPO", + "label": "Material", + "unit": null + }, + { + "key": "po_number", + "sap_field": "EBELN", + "sap_table": "EKKO", + "label": "PO Number", + "unit": null + }, + { + "key": "po_item", + "sap_field": "EBELP", + "sap_table": "EKPO", + "label": "PO Item", + "unit": null + }, + { + "key": "vendor_id", + "sap_field": "LIFNR", + "sap_table": "EKKO", + "label": "Vendor (LIFNR)", + "unit": null + }, + { + "key": "vendor_name", + "sap_field": "NAME1", + "sap_table": "LFA1", + "label": "Vendor Name", + "unit": null + }, + { + "key": "po_date", + "sap_field": "BEDAT", + "sap_table": "EKKO", + "label": "PO Date", + "unit": null + }, + { + "key": "promised_date", + "sap_field": "EINDT", + "sap_table": "EKET", + "label": "Promised Date", + "unit": null + }, + { + "key": "sched_qty", + "sap_field": "MENGE", + "sap_table": "EKET", + "label": "Scheduled Qty", + "unit": null + }, + { + "key": "gr_qty_to_date", + "sap_field": "WEMNG", + "sap_table": "EKET", + "label": "GR Qty (to date)", + "unit": null + }, + { + "key": "gr_mblnr", + "sap_field": "MBLNR", + "sap_table": "MSEG", + "label": "Goods Receipt Document", + "unit": null + }, + { + "key": "first_gr_date", + "sap_field": "BUDAT", + "sap_table": "MKPF", + "label": "Goods Receipt Date", + "unit": null + }, + { + "key": "days_vs_promised", + "sap_field": null, + "sap_table": null, + "label": "Days vs Promised", + "unit": "d" + }, + { + "key": "lead_time_days", + "sap_field": null, + "sap_table": null, + "label": "Lead Time (days)", + "unit": "d" + } + ], + "rows": [ + { + "matnr": "demo_highland_arabica", + "po_number": "4500000003", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-14", + "promised_date": "2025-06-05", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000003", + "first_gr_date": "2025-06-03", + "days_vs_promised": -2, + "lead_time_days": 20 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000000", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-04-23", + "promised_date": "2025-06-08", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000000", + "first_gr_date": "2025-06-06", + "days_vs_promised": -2, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000005", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-27", + "promised_date": "2025-06-16", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000005", + "first_gr_date": "2025-06-13", + "days_vs_promised": -3, + "lead_time_days": 17 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000001", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-01", + "promised_date": "2025-06-17", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000001", + "first_gr_date": "2025-06-15", + "days_vs_promised": -2, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000002", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-06", + "promised_date": "2025-06-20", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000002", + "first_gr_date": "2025-06-20", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000004", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-22", + "promised_date": "2025-06-24", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000004", + "first_gr_date": "2025-06-21", + "days_vs_promised": -3, + "lead_time_days": 30 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000006", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-02", + "promised_date": "2025-07-10", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000006", + "first_gr_date": "2025-07-09", + "days_vs_promised": -1, + "lead_time_days": 37 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000007", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-11", + "promised_date": "2025-07-06", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000007", + "first_gr_date": "2025-07-10", + "days_vs_promised": 4, + "lead_time_days": 29 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000009", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-25", + "promised_date": "2025-07-23", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000009", + "first_gr_date": "2025-07-21", + "days_vs_promised": -2, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000010", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-30", + "promised_date": "2025-07-26", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000010", + "first_gr_date": "2025-07-26", + "days_vs_promised": 0, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000008", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-19", + "promised_date": "2025-08-07", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000008", + "first_gr_date": "2025-08-07", + "days_vs_promised": 0, + "lead_time_days": 49 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000012", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-07-15", + "promised_date": "2025-08-07", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000012", + "first_gr_date": "2025-08-07", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000013", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-07-23", + "promised_date": "2025-08-20", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000013", + "first_gr_date": "2025-08-20", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000014", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-07-28", + "promised_date": "2025-08-23", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000014", + "first_gr_date": "2025-08-23", + "days_vs_promised": 0, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000011", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-07-07", + "promised_date": "2025-08-19", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000011", + "first_gr_date": "2025-08-25", + "days_vs_promised": 6, + "lead_time_days": 49 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000015", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-08-04", + "promised_date": "2025-08-27", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000015", + "first_gr_date": "2025-08-27", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000016", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-08-13", + "promised_date": "2025-09-25", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000016", + "first_gr_date": "2025-09-25", + "days_vs_promised": 0, + "lead_time_days": 43 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000019", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-09-04", + "promised_date": "2025-09-28", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000019", + "first_gr_date": "2025-09-27", + "days_vs_promised": -1, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000020", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-09-09", + "promised_date": "2025-10-03", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000020", + "first_gr_date": "2025-10-03", + "days_vs_promised": 0, + "lead_time_days": 24 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000017", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-08-21", + "promised_date": "2025-10-05", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000017", + "first_gr_date": "2025-10-05", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000018", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-08-26", + "promised_date": "2025-10-12", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000018", + "first_gr_date": "2025-10-10", + "days_vs_promised": -2, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000022", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-09-23", + "promised_date": "2025-10-17", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000022", + "first_gr_date": "2025-10-16", + "days_vs_promised": -1, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000021", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-09-17", + "promised_date": "2025-10-22", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000021", + "first_gr_date": "2025-10-19", + "days_vs_promised": -3, + "lead_time_days": 32 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000023", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-01", + "promised_date": "2025-10-29", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000023", + "first_gr_date": "2025-10-31", + "days_vs_promised": 2, + "lead_time_days": 30 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000024", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-08", + "promised_date": "2025-11-01", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000024", + "first_gr_date": "2025-11-01", + "days_vs_promised": 0, + "lead_time_days": 24 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000025", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-14", + "promised_date": "2025-11-19", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000025", + "first_gr_date": "2025-11-17", + "days_vs_promised": -2, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000027", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-29", + "promised_date": "2025-12-01", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000027", + "first_gr_date": "2025-11-29", + "days_vs_promised": -2, + "lead_time_days": 31 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000028", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-11-04", + "promised_date": "2025-12-03", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000028", + "first_gr_date": "2025-12-03", + "days_vs_promised": 0, + "lead_time_days": 29 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000026", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-21", + "promised_date": "2025-12-04", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000026", + "first_gr_date": "2025-12-04", + "days_vs_promised": 0, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000029", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-11-10", + "promised_date": "2025-12-19", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000029", + "first_gr_date": "2025-12-19", + "days_vs_promised": 0, + "lead_time_days": 39 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000030", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-11-20", + "promised_date": "2025-12-23", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000030", + "first_gr_date": "2025-12-24", + "days_vs_promised": 1, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000034", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000034", + "first_gr_date": "2026-01-11", + "days_vs_promised": -2, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000031", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-11-27", + "promised_date": "2026-01-13", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000031", + "first_gr_date": "2026-01-13", + "days_vs_promised": 0, + "lead_time_days": 47 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000033", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-10", + "promised_date": "2026-01-15", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000033", + "first_gr_date": "2026-01-13", + "days_vs_promised": -2, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000035", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-24", + "promised_date": "2026-01-13", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000035", + "first_gr_date": "2026-01-13", + "days_vs_promised": 0, + "lead_time_days": 20 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000032", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-04", + "promised_date": "2026-01-17", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000032", + "first_gr_date": "2026-01-17", + "days_vs_promised": 0, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000036", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-31", + "promised_date": "2026-02-01", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000036", + "first_gr_date": "2026-01-31", + "days_vs_promised": -1, + "lead_time_days": 31 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000037", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-01-08", + "promised_date": "2026-02-10", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000037", + "first_gr_date": "2026-02-08", + "days_vs_promised": -2, + "lead_time_days": 31 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000038", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-01-13", + "promised_date": "2026-02-13", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000038", + "first_gr_date": "2026-02-11", + "days_vs_promised": -2, + "lead_time_days": 29 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000040", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-01-29", + "promised_date": "2026-02-25", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000040", + "first_gr_date": "2026-02-25", + "days_vs_promised": 0, + "lead_time_days": 27 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000039", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-01-20", + "promised_date": "2026-03-01", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000039", + "first_gr_date": "2026-03-01", + "days_vs_promised": 0, + "lead_time_days": 40 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000041", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-02-03", + "promised_date": "2026-03-07", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000041", + "first_gr_date": "2026-03-07", + "days_vs_promised": 0, + "lead_time_days": 32 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000042", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-02-11", + "promised_date": "2026-03-18", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000042", + "first_gr_date": "2026-03-18", + "days_vs_promised": 0, + "lead_time_days": 35 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000043", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-02-16", + "promised_date": "2026-03-23", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000043", + "first_gr_date": "2026-03-22", + "days_vs_promised": -1, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000044", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-02-26", + "promised_date": "2026-03-24", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000044", + "first_gr_date": "2026-03-24", + "days_vs_promised": 0, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000045", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-04", + "promised_date": "2026-03-27", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000045", + "first_gr_date": "2026-03-27", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000057", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-02", + "promised_date": "2026-04-01", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000057", + "first_gr_date": "2026-04-01", + "days_vs_promised": 0, + "lead_time_days": 30 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000068", + "po_item": "00010", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-02-24", + "promised_date": "2026-04-03", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000068", + "first_gr_date": "2026-04-07", + "days_vs_promised": 4, + "lead_time_days": 42 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000069", + "po_item": "00020", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-04", + "promised_date": "2026-04-06", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000069", + "first_gr_date": "2026-04-09", + "days_vs_promised": 3, + "lead_time_days": 36 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000056", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-25", + "promised_date": "2026-04-09", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000056", + "first_gr_date": "2026-04-10", + "days_vs_promised": 1, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000058", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-11", + "promised_date": "2026-04-07", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000058", + "first_gr_date": "2026-04-12", + "days_vs_promised": 5, + "lead_time_days": 32 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000071", + "po_item": "00040", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-17", + "promised_date": "2026-04-16", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000071", + "first_gr_date": "2026-04-13", + "days_vs_promised": -3, + "lead_time_days": 27 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000060", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-24", + "promised_date": "2026-04-13", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000060", + "first_gr_date": "2026-04-14", + "days_vs_promised": 1, + "lead_time_days": 21 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000048", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-25", + "promised_date": "2026-04-22", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000048", + "first_gr_date": "2026-04-22", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000050", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-04-07", + "promised_date": "2026-04-30", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000050", + "first_gr_date": "2026-04-27", + "days_vs_promised": -3, + "lead_time_days": 20 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000046", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-10", + "promised_date": "2026-04-26", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000046", + "first_gr_date": "2026-04-29", + "days_vs_promised": 3, + "lead_time_days": 50 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000047", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-18", + "promised_date": "2026-05-03", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000047", + "first_gr_date": "2026-05-01", + "days_vs_promised": -2, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000059", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000059", + "first_gr_date": "2026-05-01", + "days_vs_promised": 0, + "lead_time_days": 46 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000049", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-31", + "promised_date": "2026-05-09", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000049", + "first_gr_date": "2026-05-06", + "days_vs_promised": -3, + "lead_time_days": 36 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000074", + "po_item": "00020", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-04-08", + "promised_date": "2026-05-06", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000074", + "first_gr_date": "2026-05-06", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000063", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-13", + "promised_date": "2026-05-07", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000063", + "first_gr_date": "2026-05-07", + "days_vs_promised": 0, + "lead_time_days": 24 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000051", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-04-15", + "promised_date": "2026-05-11", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000051", + "first_gr_date": "2026-05-11", + "days_vs_promised": 0, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000070", + "po_item": "00030", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-09", + "promised_date": "2026-04-22", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000070", + "first_gr_date": "2026-05-12", + "days_vs_promised": 20, + "lead_time_days": 64 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000075", + "po_item": "00030", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-04-13", + "promised_date": "2026-05-18", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000075", + "first_gr_date": "2026-05-15", + "days_vs_promised": -3, + "lead_time_days": 32 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000061", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-01", + "promised_date": "2026-05-21", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000061", + "first_gr_date": "2026-05-18", + "days_vs_promised": -3, + "lead_time_days": 47 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000065", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-27", + "promised_date": "2026-05-19", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000065", + "first_gr_date": "2026-05-19", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000072", + "po_item": "00050", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-24", + "promised_date": "2026-05-03", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000072", + "first_gr_date": "2026-05-21", + "days_vs_promised": 18, + "lead_time_days": 58 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000062", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000062", + "first_gr_date": "2026-05-27", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000053", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-04-28", + "promised_date": "2026-05-29", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000053", + "first_gr_date": "2026-05-29", + "days_vs_promised": 0, + "lead_time_days": 31 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000077", + "po_item": "00050", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-04-29", + "promised_date": "2026-06-02", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000077", + "first_gr_date": "2026-06-02", + "days_vs_promised": 0, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000078", + "po_item": "00010", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-05-06", + "promised_date": "2026-06-06", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000078", + "first_gr_date": "2026-06-03", + "days_vs_promised": -3, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000076", + "po_item": "00040", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-04-20", + "promised_date": "2026-06-04", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000076", + "first_gr_date": "2026-06-04", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000064", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-21", + "promised_date": "2026-06-06", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000064", + "first_gr_date": "2026-06-05", + "days_vs_promised": -1, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000052", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-04-22", + "promised_date": "2026-06-06", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000052", + "first_gr_date": "2026-06-06", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000073", + "po_item": "00010", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-31", + "promised_date": "2026-05-08", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000073", + "first_gr_date": "2026-06-07", + "days_vs_promised": 30, + "lead_time_days": 68 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000079", + "po_item": "00020", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-05-12", + "promised_date": "2026-06-09", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000079", + "first_gr_date": "2026-06-09", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000054", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-05-07", + "promised_date": "2026-06-13", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000054", + "first_gr_date": "2026-06-13", + "days_vs_promised": 0, + "lead_time_days": 37 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000055", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-05-11", + "promised_date": "2026-06-15", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000055", + "first_gr_date": "2026-06-13", + "days_vs_promised": -2, + "lead_time_days": 33 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000066", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-05-04", + "promised_date": "2026-06-16", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000066", + "first_gr_date": "2026-06-16", + "days_vs_promised": 0, + "lead_time_days": 43 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000067", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-05-14", + "promised_date": "2026-06-04", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000067", + "first_gr_date": "2026-06-22", + "days_vs_promised": 18, + "lead_time_days": 39 + } + ] + }, + "ref_date_col": "first_gr_date", + "n_batches": null, + "n_movements": 14, + "yield_data": null, + "consumption_data": null, + "supplier_otif": { + "primary_vendor": { + "id": "D0002", + "name": "Cascadia Coffee Traders" + }, + "vendors": [ + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "n_lines": 56, + "n_late": 5, + "on_time_pct": 91.1, + "in_full_pct": 100.0, + "otif_pct": 91.1, + "mean_days_late_all": 0.29, + "mean_days_late_when_late": 3.2, + "median_days_late_when_late": 3, + "max_days_late": 6, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 8.9, + "ge_3d_pct": 5.4, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + } + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "n_lines": 12, + "n_late": 4, + "on_time_pct": 66.7, + "in_full_pct": 100.0, + "otif_pct": 66.7, + "mean_days_late_all": 2.08, + "mean_days_late_when_late": 6.2, + "median_days_late_when_late": 3.0, + "max_days_late": 18, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 33.3, + "ge_3d_pct": 16.7, + "ge_7d_pct": 8.3, + "ge_14d_pct": 8.3 + } + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "n_lines": 12, + "n_late": 5, + "on_time_pct": 58.3, + "in_full_pct": 100.0, + "otif_pct": 58.3, + "mean_days_late_all": 6.25, + "mean_days_late_when_late": 15, + "median_days_late_when_late": 18, + "max_days_late": 30, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 41.7, + "ge_3d_pct": 41.7, + "ge_7d_pct": 25.0, + "ge_14d_pct": 25.0 + } + } + ], + "worst_events": [ + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000073", + "po_item": "00010", + "po_date": "2026-03-31", + "promised_date": "2026-05-08", + "first_gr_date": "2026-06-07", + "days_late": 30, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000070", + "po_item": "00030", + "po_date": "2026-03-09", + "promised_date": "2026-04-22", + "first_gr_date": "2026-05-12", + "days_late": 20, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000067", + "po_item": "00020", + "po_date": "2026-05-14", + "promised_date": "2026-06-04", + "first_gr_date": "2026-06-22", + "days_late": 18, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000072", + "po_item": "00050", + "po_date": "2026-03-24", + "promised_date": "2026-05-03", + "first_gr_date": "2026-05-21", + "days_late": 18, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000011", + "po_item": "00020", + "po_date": "2025-07-07", + "promised_date": "2025-08-19", + "first_gr_date": "2025-08-25", + "days_late": 6, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000058", + "po_item": "00030", + "po_date": "2026-03-11", + "promised_date": "2026-04-07", + "first_gr_date": "2026-04-12", + "days_late": 5, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0 + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000007", + "po_item": "00030", + "po_date": "2025-06-11", + "promised_date": "2025-07-06", + "first_gr_date": "2025-07-10", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000068", + "po_item": "00010", + "po_date": "2026-02-24", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-07", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000046", + "po_item": "00020", + "po_date": "2026-03-10", + "promised_date": "2026-04-26", + "first_gr_date": "2026-04-29", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000069", + "po_item": "00020", + "po_date": "2026-03-04", + "promised_date": "2026-04-06", + "first_gr_date": "2026-04-09", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + } + ], + "coverage_pct": 100.0, + "n_lines": 80, + "data_quality_note": "100% in-full across every line \u2014 likely WEMNG = MENGE is auto-stamped at goods receipt rather than measured. Treat the in-full metric as a data-entry artifact at this site.", + "tolerance_days": 0, + "under_tolerance_pct": 0.05, + "lines": [ + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000000", + "po_item": "00010", + "po_date": "2025-04-23", + "promised_date": "2025-06-08", + "first_gr_date": "2025-06-06", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000001", + "po_item": "00020", + "po_date": "2025-05-01", + "promised_date": "2025-06-17", + "first_gr_date": "2025-06-15", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000002", + "po_item": "00030", + "po_date": "2025-05-06", + "promised_date": "2025-06-20", + "first_gr_date": "2025-06-20", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000003", + "po_item": "00040", + "po_date": "2025-05-14", + "promised_date": "2025-06-05", + "first_gr_date": "2025-06-03", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000004", + "po_item": "00050", + "po_date": "2025-05-22", + "promised_date": "2025-06-24", + "first_gr_date": "2025-06-21", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000005", + "po_item": "00010", + "po_date": "2025-05-27", + "promised_date": "2025-06-16", + "first_gr_date": "2025-06-13", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000006", + "po_item": "00020", + "po_date": "2025-06-02", + "promised_date": "2025-07-10", + "first_gr_date": "2025-07-09", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000007", + "po_item": "00030", + "po_date": "2025-06-11", + "promised_date": "2025-07-06", + "first_gr_date": "2025-07-10", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000008", + "po_item": "00040", + "po_date": "2025-06-19", + "promised_date": "2025-08-07", + "first_gr_date": "2025-08-07", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000009", + "po_item": "00050", + "po_date": "2025-06-25", + "promised_date": "2025-07-23", + "first_gr_date": "2025-07-21", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000010", + "po_item": "00010", + "po_date": "2025-06-30", + "promised_date": "2025-07-26", + "first_gr_date": "2025-07-26", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000011", + "po_item": "00020", + "po_date": "2025-07-07", + "promised_date": "2025-08-19", + "first_gr_date": "2025-08-25", + "days_late": 6, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000012", + "po_item": "00030", + "po_date": "2025-07-15", + "promised_date": "2025-08-07", + "first_gr_date": "2025-08-07", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000013", + "po_item": "00040", + "po_date": "2025-07-23", + "promised_date": "2025-08-20", + "first_gr_date": "2025-08-20", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000014", + "po_item": "00050", + "po_date": "2025-07-28", + "promised_date": "2025-08-23", + "first_gr_date": "2025-08-23", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000015", + "po_item": "00010", + "po_date": "2025-08-04", + "promised_date": "2025-08-27", + "first_gr_date": "2025-08-27", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000016", + "po_item": "00020", + "po_date": "2025-08-13", + "promised_date": "2025-09-25", + "first_gr_date": "2025-09-25", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000017", + "po_item": "00030", + "po_date": "2025-08-21", + "promised_date": "2025-10-05", + "first_gr_date": "2025-10-05", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000018", + "po_item": "00040", + "po_date": "2025-08-26", + "promised_date": "2025-10-12", + "first_gr_date": "2025-10-10", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000019", + "po_item": "00050", + "po_date": "2025-09-04", + "promised_date": "2025-09-28", + "first_gr_date": "2025-09-27", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000020", + "po_item": "00010", + "po_date": "2025-09-09", + "promised_date": "2025-10-03", + "first_gr_date": "2025-10-03", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000021", + "po_item": "00020", + "po_date": "2025-09-17", + "promised_date": "2025-10-22", + "first_gr_date": "2025-10-19", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000022", + "po_item": "00030", + "po_date": "2025-09-23", + "promised_date": "2025-10-17", + "first_gr_date": "2025-10-16", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000023", + "po_item": "00040", + "po_date": "2025-10-01", + "promised_date": "2025-10-29", + "first_gr_date": "2025-10-31", + "days_late": 2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000024", + "po_item": "00050", + "po_date": "2025-10-08", + "promised_date": "2025-11-01", + "first_gr_date": "2025-11-01", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000025", + "po_item": "00010", + "po_date": "2025-10-14", + "promised_date": "2025-11-19", + "first_gr_date": "2025-11-17", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000026", + "po_item": "00020", + "po_date": "2025-10-21", + "promised_date": "2025-12-04", + "first_gr_date": "2025-12-04", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000027", + "po_item": "00030", + "po_date": "2025-10-29", + "promised_date": "2025-12-01", + "first_gr_date": "2025-11-29", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000028", + "po_item": "00040", + "po_date": "2025-11-04", + "promised_date": "2025-12-03", + "first_gr_date": "2025-12-03", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000029", + "po_item": "00050", + "po_date": "2025-11-10", + "promised_date": "2025-12-19", + "first_gr_date": "2025-12-19", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000030", + "po_item": "00010", + "po_date": "2025-11-20", + "promised_date": "2025-12-23", + "first_gr_date": "2025-12-24", + "days_late": 1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000031", + "po_item": "00020", + "po_date": "2025-11-27", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-13", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000032", + "po_item": "00030", + "po_date": "2025-12-04", + "promised_date": "2026-01-17", + "first_gr_date": "2026-01-17", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000033", + "po_item": "00040", + "po_date": "2025-12-10", + "promised_date": "2026-01-15", + "first_gr_date": "2026-01-13", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000034", + "po_item": "00050", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-11", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000035", + "po_item": "00010", + "po_date": "2025-12-24", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-13", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000036", + "po_item": "00020", + "po_date": "2025-12-31", + "promised_date": "2026-02-01", + "first_gr_date": "2026-01-31", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000037", + "po_item": "00030", + "po_date": "2026-01-08", + "promised_date": "2026-02-10", + "first_gr_date": "2026-02-08", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000038", + "po_item": "00040", + "po_date": "2026-01-13", + "promised_date": "2026-02-13", + "first_gr_date": "2026-02-11", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000039", + "po_item": "00050", + "po_date": "2026-01-20", + "promised_date": "2026-03-01", + "first_gr_date": "2026-03-01", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000040", + "po_item": "00010", + "po_date": "2026-01-29", + "promised_date": "2026-02-25", + "first_gr_date": "2026-02-25", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000041", + "po_item": "00020", + "po_date": "2026-02-03", + "promised_date": "2026-03-07", + "first_gr_date": "2026-03-07", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000042", + "po_item": "00030", + "po_date": "2026-02-11", + "promised_date": "2026-03-18", + "first_gr_date": "2026-03-18", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000043", + "po_item": "00040", + "po_date": "2026-02-16", + "promised_date": "2026-03-23", + "first_gr_date": "2026-03-22", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000044", + "po_item": "00050", + "po_date": "2026-02-26", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-24", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000045", + "po_item": "00010", + "po_date": "2026-03-04", + "promised_date": "2026-03-27", + "first_gr_date": "2026-03-27", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000046", + "po_item": "00020", + "po_date": "2026-03-10", + "promised_date": "2026-04-26", + "first_gr_date": "2026-04-29", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000047", + "po_item": "00030", + "po_date": "2026-03-18", + "promised_date": "2026-05-03", + "first_gr_date": "2026-05-01", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000048", + "po_item": "00040", + "po_date": "2026-03-25", + "promised_date": "2026-04-22", + "first_gr_date": "2026-04-22", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000049", + "po_item": "00050", + "po_date": "2026-03-31", + "promised_date": "2026-05-09", + "first_gr_date": "2026-05-06", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000050", + "po_item": "00010", + "po_date": "2026-04-07", + "promised_date": "2026-04-30", + "first_gr_date": "2026-04-27", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000051", + "po_item": "00020", + "po_date": "2026-04-15", + "promised_date": "2026-05-11", + "first_gr_date": "2026-05-11", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000052", + "po_item": "00030", + "po_date": "2026-04-22", + "promised_date": "2026-06-06", + "first_gr_date": "2026-06-06", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000053", + "po_item": "00040", + "po_date": "2026-04-28", + "promised_date": "2026-05-29", + "first_gr_date": "2026-05-29", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000054", + "po_item": "00050", + "po_date": "2026-05-07", + "promised_date": "2026-06-13", + "first_gr_date": "2026-06-13", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000055", + "po_item": "00010", + "po_date": "2026-05-11", + "promised_date": "2026-06-15", + "first_gr_date": "2026-06-13", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000056", + "po_item": "00010", + "po_date": "2026-02-25", + "promised_date": "2026-04-09", + "first_gr_date": "2026-04-10", + "days_late": 1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000057", + "po_item": "00020", + "po_date": "2026-03-02", + "promised_date": "2026-04-01", + "first_gr_date": "2026-04-01", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000058", + "po_item": "00030", + "po_date": "2026-03-11", + "promised_date": "2026-04-07", + "first_gr_date": "2026-04-12", + "days_late": 5, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000059", + "po_item": "00040", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "first_gr_date": "2026-05-01", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000060", + "po_item": "00050", + "po_date": "2026-03-24", + "promised_date": "2026-04-13", + "first_gr_date": "2026-04-14", + "days_late": 1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000061", + "po_item": "00010", + "po_date": "2026-04-01", + "promised_date": "2026-05-21", + "first_gr_date": "2026-05-18", + "days_late": -3, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000062", + "po_item": "00020", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "first_gr_date": "2026-05-27", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000063", + "po_item": "00030", + "po_date": "2026-04-13", + "promised_date": "2026-05-07", + "first_gr_date": "2026-05-07", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000064", + "po_item": "00040", + "po_date": "2026-04-21", + "promised_date": "2026-06-06", + "first_gr_date": "2026-06-05", + "days_late": -1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000065", + "po_item": "00050", + "po_date": "2026-04-27", + "promised_date": "2026-05-19", + "first_gr_date": "2026-05-19", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000066", + "po_item": "00010", + "po_date": "2026-05-04", + "promised_date": "2026-06-16", + "first_gr_date": "2026-06-16", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000067", + "po_item": "00020", + "po_date": "2026-05-14", + "promised_date": "2026-06-04", + "first_gr_date": "2026-06-22", + "days_late": 18, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000068", + "po_item": "00010", + "po_date": "2026-02-24", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-07", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000069", + "po_item": "00020", + "po_date": "2026-03-04", + "promised_date": "2026-04-06", + "first_gr_date": "2026-04-09", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000070", + "po_item": "00030", + "po_date": "2026-03-09", + "promised_date": "2026-04-22", + "first_gr_date": "2026-05-12", + "days_late": 20, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000071", + "po_item": "00040", + "po_date": "2026-03-17", + "promised_date": "2026-04-16", + "first_gr_date": "2026-04-13", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000072", + "po_item": "00050", + "po_date": "2026-03-24", + "promised_date": "2026-05-03", + "first_gr_date": "2026-05-21", + "days_late": 18, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000073", + "po_item": "00010", + "po_date": "2026-03-31", + "promised_date": "2026-05-08", + "first_gr_date": "2026-06-07", + "days_late": 30, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000074", + "po_item": "00020", + "po_date": "2026-04-08", + "promised_date": "2026-05-06", + "first_gr_date": "2026-05-06", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000075", + "po_item": "00030", + "po_date": "2026-04-13", + "promised_date": "2026-05-18", + "first_gr_date": "2026-05-15", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000076", + "po_item": "00040", + "po_date": "2026-04-20", + "promised_date": "2026-06-04", + "first_gr_date": "2026-06-04", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000077", + "po_item": "00050", + "po_date": "2026-04-29", + "promised_date": "2026-06-02", + "first_gr_date": "2026-06-02", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000078", + "po_item": "00010", + "po_date": "2026-05-06", + "promised_date": "2026-06-06", + "first_gr_date": "2026-06-03", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000079", + "po_item": "00020", + "po_date": "2026-05-12", + "promised_date": "2026-06-09", + "first_gr_date": "2026-06-09", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + } + ] + }, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/procurement_lowland_robusta.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/procurement_lowland_robusta.json new file mode 100644 index 00000000000..1e265cb23cb --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/procurement_lowland_robusta.json @@ -0,0 +1,2575 @@ +{ + "id": "procurement_lowland_robusta", + "label": "Procurement: Lowland Robusta", + "type": "procurement", + "durations": [ + 43.2, 64.8, 6.8, 90.5, 33.8, 55.4, 20.2, 110.7, 51.3, 27.0, 70.2, 13.5, + 59.4, 37.8, 47.2, 24.3, 74.2, 35.1, 35.1, 39.2, 41.9, 45.9, 50.0, 35.1, + 37.8, 41.9, 44.6, 48.6, 44.6, 48.6, 51.3, 56.7, 37.8, 43.2, 47.2, 51.3, + 32.4, 37.8, 54.0, 58.1, 39.2, 44.6, 47.2, 54.0, 35.1, 39.2, 41.9, 45.9, + 29.7, 35.1, 37.8, 41.9, 44.6, 41.9, 44.6, 48.6, 51.3, 56.7, 40.5, 43.2, + 47.2, 51.3, 32.4 + ], + "observations": [ + { + "date": "2022-02-08", + "value": 43.2 + }, + { + "date": "2022-04-19", + "value": 64.8 + }, + { + "date": "2022-07-11", + "value": 6.8 + }, + { + "date": "2022-09-28", + "value": 90.5 + }, + { + "date": "2022-12-15", + "value": 33.8 + }, + { + "date": "2023-03-07", + "value": 55.4 + }, + { + "date": "2023-05-22", + "value": 20.2 + }, + { + "date": "2023-08-09", + "value": 110.7 + }, + { + "date": "2023-10-30", + "value": 51.3 + }, + { + "date": "2024-01-16", + "value": 27.0 + }, + { + "date": "2024-03-25", + "value": 70.2 + }, + { + "date": "2024-06-12", + "value": 13.5 + }, + { + "date": "2024-08-28", + "value": 59.4 + }, + { + "date": "2024-11-14", + "value": 37.8 + }, + { + "date": "2025-01-06", + "value": 47.2 + }, + { + "date": "2025-03-18", + "value": 24.3 + }, + { + "date": "2025-05-29", + "value": 74.2 + }, + { + "date": "2025-08-12", + "value": 35.1 + }, + { + "date": "2025-09-04", + "value": 35.1 + }, + { + "date": "2025-09-10", + "value": 39.2 + }, + { + "date": "2025-09-16", + "value": 41.9 + }, + { + "date": "2025-09-22", + "value": 45.9 + }, + { + "date": "2025-09-28", + "value": 50.0 + }, + { + "date": "2025-10-05", + "value": 35.1 + }, + { + "date": "2025-10-11", + "value": 37.8 + }, + { + "date": "2025-10-17", + "value": 41.9 + }, + { + "date": "2025-10-23", + "value": 44.6 + }, + { + "date": "2025-10-29", + "value": 48.6 + }, + { + "date": "2025-11-06", + "value": 44.6 + }, + { + "date": "2025-11-12", + "value": 48.6 + }, + { + "date": "2025-11-18", + "value": 51.3 + }, + { + "date": "2025-11-24", + "value": 56.7 + }, + { + "date": "2025-11-30", + "value": 37.8 + }, + { + "date": "2025-12-04", + "value": 43.2 + }, + { + "date": "2025-12-10", + "value": 47.2 + }, + { + "date": "2025-12-16", + "value": 51.3 + }, + { + "date": "2025-12-22", + "value": 32.4 + }, + { + "date": "2025-12-28", + "value": 37.8 + }, + { + "date": "2026-01-05", + "value": 54.0 + }, + { + "date": "2026-01-11", + "value": 58.1 + }, + { + "date": "2026-01-17", + "value": 39.2 + }, + { + "date": "2026-01-23", + "value": 44.6 + }, + { + "date": "2026-01-29", + "value": 47.2 + }, + { + "date": "2026-02-06", + "value": 54.0 + }, + { + "date": "2026-02-12", + "value": 35.1 + }, + { + "date": "2026-02-18", + "value": 39.2 + }, + { + "date": "2026-02-24", + "value": 41.9 + }, + { + "date": "2026-02-30", + "value": 45.9 + }, + { + "date": "2026-03-04", + "value": 29.7 + }, + { + "date": "2026-03-10", + "value": 35.1 + }, + { + "date": "2026-03-16", + "value": 37.8 + }, + { + "date": "2026-03-22", + "value": 41.9 + }, + { + "date": "2026-03-28", + "value": 44.6 + }, + { + "date": "2026-04-05", + "value": 41.9 + }, + { + "date": "2026-04-11", + "value": 44.6 + }, + { + "date": "2026-04-17", + "value": 48.6 + }, + { + "date": "2026-04-23", + "value": 51.3 + }, + { + "date": "2026-04-29", + "value": 56.7 + }, + { + "date": "2026-05-06", + "value": 40.5 + }, + { + "date": "2026-05-12", + "value": 43.2 + }, + { + "date": "2026-05-18", + "value": 47.2 + }, + { + "date": "2026-05-24", + "value": 51.3 + }, + { + "date": "2026-05-30", + "value": 32.4 + } + ], + "monthly": [ + { + "month": "2022-02", + "mean": 43.2, + "median": 43.2, + "p10": 43.2, + "p25": 43.2, + "p75": 43.2, + "p90": 43.2, + "n": 1 + }, + { + "month": "2022-04", + "mean": 64.8, + "median": 64.8, + "p10": 64.8, + "p25": 64.8, + "p75": 64.8, + "p90": 64.8, + "n": 1 + }, + { + "month": "2022-07", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2022-09", + "mean": 90.5, + "median": 90.5, + "p10": 90.5, + "p25": 90.5, + "p75": 90.5, + "p90": 90.5, + "n": 1 + }, + { + "month": "2022-12", + "mean": 33.8, + "median": 33.8, + "p10": 33.8, + "p25": 33.8, + "p75": 33.8, + "p90": 33.8, + "n": 1 + }, + { + "month": "2023-03", + "mean": 55.4, + "median": 55.4, + "p10": 55.4, + "p25": 55.4, + "p75": 55.4, + "p90": 55.4, + "n": 1 + }, + { + "month": "2023-05", + "mean": 20.2, + "median": 20.2, + "p10": 20.2, + "p25": 20.2, + "p75": 20.2, + "p90": 20.2, + "n": 1 + }, + { + "month": "2023-08", + "mean": 110.7, + "median": 110.7, + "p10": 110.7, + "p25": 110.7, + "p75": 110.7, + "p90": 110.7, + "n": 1 + }, + { + "month": "2023-10", + "mean": 51.3, + "median": 51.3, + "p10": 51.3, + "p25": 51.3, + "p75": 51.3, + "p90": 51.3, + "n": 1 + }, + { + "month": "2024-01", + "mean": 27.0, + "median": 27.0, + "p10": 27.0, + "p25": 27.0, + "p75": 27.0, + "p90": 27.0, + "n": 1 + }, + { + "month": "2024-03", + "mean": 70.2, + "median": 70.2, + "p10": 70.2, + "p25": 70.2, + "p75": 70.2, + "p90": 70.2, + "n": 1 + }, + { + "month": "2024-06", + "mean": 13.5, + "median": 13.5, + "p10": 13.5, + "p25": 13.5, + "p75": 13.5, + "p90": 13.5, + "n": 1 + }, + { + "month": "2024-08", + "mean": 59.4, + "median": 59.4, + "p10": 59.4, + "p25": 59.4, + "p75": 59.4, + "p90": 59.4, + "n": 1 + }, + { + "month": "2024-11", + "mean": 37.8, + "median": 37.8, + "p10": 37.8, + "p25": 37.8, + "p75": 37.8, + "p90": 37.8, + "n": 1 + }, + { + "month": "2025-01", + "mean": 47.2, + "median": 47.2, + "p10": 47.2, + "p25": 47.2, + "p75": 47.2, + "p90": 47.2, + "n": 1 + }, + { + "month": "2025-03", + "mean": 24.3, + "median": 24.3, + "p10": 24.3, + "p25": 24.3, + "p75": 24.3, + "p90": 24.3, + "n": 1 + }, + { + "month": "2025-05", + "mean": 74.2, + "median": 74.2, + "p10": 74.2, + "p25": 74.2, + "p75": 74.2, + "p90": 74.2, + "n": 1 + }, + { + "month": "2025-08", + "mean": 35.1, + "median": 35.1, + "p10": 35.1, + "p25": 35.1, + "p75": 35.1, + "p90": 35.1, + "n": 1 + }, + { + "month": "2025-09", + "mean": 42.4, + "median": 41.9, + "p10": 36.7, + "p25": 39.2, + "p75": 45.9, + "p90": 48.3, + "n": 5 + }, + { + "month": "2025-10", + "mean": 41.6, + "median": 41.9, + "p10": 36.2, + "p25": 37.8, + "p75": 44.6, + "p90": 47.0, + "n": 5 + }, + { + "month": "2025-11", + "mean": 47.8, + "median": 48.6, + "p10": 40.5, + "p25": 44.6, + "p75": 51.3, + "p90": 54.5, + "n": 5 + }, + { + "month": "2025-12", + "mean": 42.4, + "median": 43.2, + "p10": 34.6, + "p25": 37.8, + "p75": 47.2, + "p90": 49.7, + "n": 5 + }, + { + "month": "2026-01", + "mean": 48.6, + "median": 47.2, + "p10": 41.3, + "p25": 44.6, + "p75": 54.0, + "p90": 56.4, + "n": 5 + }, + { + "month": "2026-02", + "mean": 43.2, + "median": 41.9, + "p10": 36.7, + "p25": 39.2, + "p75": 45.9, + "p90": 50.8, + "n": 5 + }, + { + "month": "2026-03", + "mean": 37.8, + "median": 37.8, + "p10": 31.9, + "p25": 35.1, + "p75": 41.9, + "p90": 43.5, + "n": 5 + }, + { + "month": "2026-04", + "mean": 48.6, + "median": 48.6, + "p10": 42.9, + "p25": 44.6, + "p75": 51.3, + "p90": 54.5, + "n": 5 + }, + { + "month": "2026-05", + "mean": 42.9, + "median": 43.2, + "p10": 35.6, + "p25": 40.5, + "p75": 47.2, + "p90": 49.7, + "n": 5 + } + ], + "stats": { + "n": 63, + "mean": 45.1, + "median": 44.6, + "std": 11.4, + "min": 6.8, + "max": 110.7, + "p25": 37.8, + "p75": 51.3, + "p85": 54.0, + "p95": 64.8 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 96.8, + "annotations": [], + "cost": null, + "detail_rows": { + "columns": [ + { + "key": "matnr", + "sap_field": "MATNR", + "sap_table": "EKPO", + "label": "Material", + "unit": null + }, + { + "key": "po_number", + "sap_field": "EBELN", + "sap_table": "EKKO", + "label": "PO Number", + "unit": null + }, + { + "key": "po_item", + "sap_field": "EBELP", + "sap_table": "EKPO", + "label": "PO Item", + "unit": null + }, + { + "key": "vendor_id", + "sap_field": "LIFNR", + "sap_table": "EKKO", + "label": "Vendor (LIFNR)", + "unit": null + }, + { + "key": "vendor_name", + "sap_field": "NAME1", + "sap_table": "LFA1", + "label": "Vendor Name", + "unit": null + }, + { + "key": "po_date", + "sap_field": "BEDAT", + "sap_table": "EKKO", + "label": "PO Date", + "unit": null + }, + { + "key": "promised_date", + "sap_field": "EINDT", + "sap_table": "EKET", + "label": "Promised Date", + "unit": null + }, + { + "key": "sched_qty", + "sap_field": "MENGE", + "sap_table": "EKET", + "label": "Scheduled Qty", + "unit": null + }, + { + "key": "gr_qty_to_date", + "sap_field": "WEMNG", + "sap_table": "EKET", + "label": "GR Qty (to date)", + "unit": null + }, + { + "key": "gr_mblnr", + "sap_field": "MBLNR", + "sap_table": "MSEG", + "label": "Goods Receipt Document", + "unit": null + }, + { + "key": "first_gr_date", + "sap_field": "BUDAT", + "sap_table": "MKPF", + "label": "Goods Receipt Date", + "unit": null + }, + { + "key": "days_vs_promised", + "sap_field": null, + "sap_table": null, + "label": "Days vs Promised", + "unit": "d" + }, + { + "key": "lead_time_days", + "sap_field": null, + "sap_table": null, + "label": "Lead Time (days)", + "unit": "d" + } + ], + "rows": [ + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000081", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-08-07", + "promised_date": "2025-08-30", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000081", + "first_gr_date": "2025-08-29", + "days_vs_promised": -1, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000082", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-08-11", + "promised_date": "2025-09-05", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000082", + "first_gr_date": "2025-09-03", + "days_vs_promised": -2, + "lead_time_days": 23 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000080", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-07-29", + "promised_date": "2025-09-10", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000080", + "first_gr_date": "2025-09-08", + "days_vs_promised": -2, + "lead_time_days": 41 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000083", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-08-19", + "promised_date": "2025-09-16", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000083", + "first_gr_date": "2025-09-16", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000084", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-08-27", + "promised_date": "2025-10-02", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000084", + "first_gr_date": "2025-10-01", + "days_vs_promised": -1, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000086", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-10", + "promised_date": "2025-10-14", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000086", + "first_gr_date": "2025-10-14", + "days_vs_promised": 0, + "lead_time_days": 34 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000088", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-22", + "promised_date": "2025-10-14", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000088", + "first_gr_date": "2025-10-14", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000085", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-04", + "promised_date": "2025-10-21", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000085", + "first_gr_date": "2025-10-19", + "days_vs_promised": -2, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000087", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-15", + "promised_date": "2025-10-23", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000087", + "first_gr_date": "2025-10-22", + "days_vs_promised": -1, + "lead_time_days": 37 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000089", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-29", + "promised_date": "2025-11-02", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000089", + "first_gr_date": "2025-11-01", + "days_vs_promised": -1, + "lead_time_days": 33 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000090", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-10-08", + "promised_date": "2025-11-07", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000090", + "first_gr_date": "2025-11-06", + "days_vs_promised": -1, + "lead_time_days": 29 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000093", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-10-27", + "promised_date": "2025-11-23", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000093", + "first_gr_date": "2025-11-23", + "days_vs_promised": 0, + "lead_time_days": 27 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000094", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-11-04", + "promised_date": "2025-11-25", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000094", + "first_gr_date": "2025-11-25", + "days_vs_promised": 0, + "lead_time_days": 21 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000091", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-10-14", + "promised_date": "2025-12-02", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000091", + "first_gr_date": "2025-11-30", + "days_vs_promised": -2, + "lead_time_days": 47 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000092", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-10-20", + "promised_date": "2025-12-08", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000092", + "first_gr_date": "2025-12-07", + "days_vs_promised": -1, + "lead_time_days": 48 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000095", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-11-11", + "promised_date": "2025-12-23", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000095", + "first_gr_date": "2025-12-20", + "days_vs_promised": -3, + "lead_time_days": 39 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000099", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-09", + "promised_date": "2025-12-30", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000099", + "first_gr_date": "2025-12-27", + "days_vs_promised": -3, + "lead_time_days": 18 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000096", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-11-20", + "promised_date": "2025-12-28", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000096", + "first_gr_date": "2025-12-28", + "days_vs_promised": 0, + "lead_time_days": 38 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000098", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-03", + "promised_date": "2025-12-28", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000098", + "first_gr_date": "2025-12-28", + "days_vs_promised": 0, + "lead_time_days": 25 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000097", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-11-25", + "promised_date": "2025-12-31", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000097", + "first_gr_date": "2025-12-30", + "days_vs_promised": -1, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000101", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-23", + "promised_date": "2026-01-15", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000101", + "first_gr_date": "2026-01-15", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000102", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-31", + "promised_date": "2026-01-20", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000102", + "first_gr_date": "2026-01-20", + "days_vs_promised": 0, + "lead_time_days": 20 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000100", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-17", + "promised_date": "2026-02-04", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000100", + "first_gr_date": "2026-02-04", + "days_vs_promised": 0, + "lead_time_days": 49 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000122", + "po_item": "00010", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-01-12", + "promised_date": "2026-02-04", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000122", + "first_gr_date": "2026-02-04", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000104", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-01-14", + "promised_date": "2026-02-09", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000104", + "first_gr_date": "2026-02-08", + "days_vs_promised": -1, + "lead_time_days": 25 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000103", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-01-06", + "promised_date": "2026-02-13", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000103", + "first_gr_date": "2026-02-13", + "days_vs_promised": 0, + "lead_time_days": 38 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000105", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-01-19", + "promised_date": "2026-02-23", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000105", + "first_gr_date": "2026-02-23", + "days_vs_promised": 0, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000125", + "po_item": "00040", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-02-02", + "promised_date": "2026-02-24", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000125", + "first_gr_date": "2026-02-24", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000123", + "po_item": "00020", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-01-20", + "promised_date": "2026-02-27", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000123", + "first_gr_date": "2026-02-27", + "days_vs_promised": 0, + "lead_time_days": 38 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000107", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-02-05", + "promised_date": "2026-03-02", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000107", + "first_gr_date": "2026-03-02", + "days_vs_promised": 0, + "lead_time_days": 25 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000124", + "po_item": "00030", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-01-29", + "promised_date": "2026-03-10", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000124", + "first_gr_date": "2026-03-07", + "days_vs_promised": -3, + "lead_time_days": 37 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000106", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-01-27", + "promised_date": "2026-03-16", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000106", + "first_gr_date": "2026-03-13", + "days_vs_promised": -3, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000126", + "po_item": "00050", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-02-09", + "promised_date": "2026-03-14", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000126", + "first_gr_date": "2026-03-14", + "days_vs_promised": 0, + "lead_time_days": 33 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000127", + "po_item": "00010", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-02-17", + "promised_date": "2026-03-24", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000127", + "first_gr_date": "2026-03-23", + "days_vs_promised": -1, + "lead_time_days": 34 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000108", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-02-12", + "promised_date": "2026-03-24", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000108", + "first_gr_date": "2026-03-24", + "days_vs_promised": 0, + "lead_time_days": 40 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000128", + "po_item": "00020", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-02-23", + "promised_date": "2026-03-24", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000128", + "first_gr_date": "2026-03-24", + "days_vs_promised": 0, + "lead_time_days": 29 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000110", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-02-24", + "promised_date": "2026-03-27", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000110", + "first_gr_date": "2026-03-25", + "days_vs_promised": -2, + "lead_time_days": 29 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000109", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-02-17", + "promised_date": "2026-04-06", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000109", + "first_gr_date": "2026-04-06", + "days_vs_promised": 0, + "lead_time_days": 48 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000129", + "po_item": "00030", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-03-04", + "promised_date": "2026-04-11", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000129", + "first_gr_date": "2026-04-08", + "days_vs_promised": -3, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000114", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-03-23", + "promised_date": "2026-04-13", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000114", + "first_gr_date": "2026-04-11", + "days_vs_promised": -2, + "lead_time_days": 19 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000111", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-03-05", + "promised_date": "2026-04-15", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000111", + "first_gr_date": "2026-04-12", + "days_vs_promised": -3, + "lead_time_days": 38 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000112", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-03-09", + "promised_date": "2026-04-13", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000112", + "first_gr_date": "2026-04-13", + "days_vs_promised": 0, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000130", + "po_item": "00040", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-03-09", + "promised_date": "2026-04-17", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000130", + "first_gr_date": "2026-04-17", + "days_vs_promised": 0, + "lead_time_days": 39 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000115", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-01", + "promised_date": "2026-04-23", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000115", + "first_gr_date": "2026-04-23", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000134", + "po_item": "00030", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-06", + "promised_date": "2026-05-03", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000134", + "first_gr_date": "2026-04-30", + "days_vs_promised": -3, + "lead_time_days": 24 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000113", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-03-17", + "promised_date": "2026-05-04", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000113", + "first_gr_date": "2026-05-01", + "days_vs_promised": -3, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000131", + "po_item": "00050", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000131", + "first_gr_date": "2026-05-01", + "days_vs_promised": 0, + "lead_time_days": 46 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000117", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-15", + "promised_date": "2026-05-05", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000117", + "first_gr_date": "2026-05-05", + "days_vs_promised": 0, + "lead_time_days": 20 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000136", + "po_item": "00050", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-20", + "promised_date": "2026-05-10", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000136", + "first_gr_date": "2026-05-08", + "days_vs_promised": -2, + "lead_time_days": 18 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000132", + "po_item": "00010", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-03-25", + "promised_date": "2026-05-11", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000132", + "first_gr_date": "2026-05-09", + "days_vs_promised": -2, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000133", + "po_item": "00020", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-02", + "promised_date": "2026-05-13", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000133", + "first_gr_date": "2026-05-13", + "days_vs_promised": 0, + "lead_time_days": 41 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000135", + "po_item": "00040", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-15", + "promised_date": "2026-05-18", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000135", + "first_gr_date": "2026-05-18", + "days_vs_promised": 0, + "lead_time_days": 33 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000116", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-06", + "promised_date": "2026-05-21", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000116", + "first_gr_date": "2026-05-21", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000138", + "po_item": "00020", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-05-06", + "promised_date": "2026-05-28", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000138", + "first_gr_date": "2026-05-28", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000118", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-20", + "promised_date": "2026-06-01", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000118", + "first_gr_date": "2026-05-31", + "days_vs_promised": -1, + "lead_time_days": 41 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000139", + "po_item": "00030", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-05-14", + "promised_date": "2026-06-03", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000139", + "first_gr_date": "2026-05-31", + "days_vs_promised": -3, + "lead_time_days": 17 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000137", + "po_item": "00010", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-29", + "promised_date": "2026-06-01", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000137", + "first_gr_date": "2026-06-01", + "days_vs_promised": 0, + "lead_time_days": 33 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000120", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-05-06", + "promised_date": "2026-06-08", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000120", + "first_gr_date": "2026-06-05", + "days_vs_promised": -3, + "lead_time_days": 30 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000119", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-30", + "promised_date": "2026-06-17", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000119", + "first_gr_date": "2026-06-17", + "days_vs_promised": 0, + "lead_time_days": 48 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000121", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-05-13", + "promised_date": "2026-06-19", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000121", + "first_gr_date": "2026-06-19", + "days_vs_promised": 0, + "lead_time_days": 37 + } + ] + }, + "ref_date_col": "first_gr_date", + "n_batches": null, + "n_movements": 18, + "yield_data": null, + "consumption_data": null, + "supplier_otif": { + "primary_vendor": { + "id": "D0004", + "name": "Riverbend Reliable Supply" + }, + "vendors": [ + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "n_lines": 42, + "n_late": 0, + "on_time_pct": 100.0, + "in_full_pct": 100.0, + "otif_pct": 100.0, + "mean_days_late_all": 0, + "mean_days_late_when_late": null, + "median_days_late_when_late": null, + "max_days_late": 0, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 0.0, + "ge_3d_pct": 0.0, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + } + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "n_lines": 18, + "n_late": 0, + "on_time_pct": 100.0, + "in_full_pct": 100.0, + "otif_pct": 100.0, + "mean_days_late_all": 0, + "mean_days_late_when_late": null, + "median_days_late_when_late": null, + "max_days_late": 0, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 0.0, + "ge_3d_pct": 0.0, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + } + } + ], + "worst_events": [], + "coverage_pct": 100.0, + "n_lines": 60, + "data_quality_note": "100% in-full across every line \u2014 likely WEMNG = MENGE is auto-stamped at goods receipt rather than measured. Treat the in-full metric as a data-entry artifact at this site.", + "tolerance_days": 0, + "under_tolerance_pct": 0.05, + "lines": [ + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000080", + "po_item": "00010", + "po_date": "2025-07-29", + "promised_date": "2025-09-10", + "first_gr_date": "2025-09-08", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000081", + "po_item": "00020", + "po_date": "2025-08-07", + "promised_date": "2025-08-30", + "first_gr_date": "2025-08-29", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000082", + "po_item": "00030", + "po_date": "2025-08-11", + "promised_date": "2025-09-05", + "first_gr_date": "2025-09-03", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000083", + "po_item": "00040", + "po_date": "2025-08-19", + "promised_date": "2025-09-16", + "first_gr_date": "2025-09-16", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000084", + "po_item": "00050", + "po_date": "2025-08-27", + "promised_date": "2025-10-02", + "first_gr_date": "2025-10-01", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000085", + "po_item": "00010", + "po_date": "2025-09-04", + "promised_date": "2025-10-21", + "first_gr_date": "2025-10-19", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000086", + "po_item": "00020", + "po_date": "2025-09-10", + "promised_date": "2025-10-14", + "first_gr_date": "2025-10-14", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000087", + "po_item": "00030", + "po_date": "2025-09-15", + "promised_date": "2025-10-23", + "first_gr_date": "2025-10-22", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000088", + "po_item": "00040", + "po_date": "2025-09-22", + "promised_date": "2025-10-14", + "first_gr_date": "2025-10-14", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000089", + "po_item": "00050", + "po_date": "2025-09-29", + "promised_date": "2025-11-02", + "first_gr_date": "2025-11-01", + "days_late": -1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000090", + "po_item": "00010", + "po_date": "2025-10-08", + "promised_date": "2025-11-07", + "first_gr_date": "2025-11-06", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000091", + "po_item": "00020", + "po_date": "2025-10-14", + "promised_date": "2025-12-02", + "first_gr_date": "2025-11-30", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000092", + "po_item": "00030", + "po_date": "2025-10-20", + "promised_date": "2025-12-08", + "first_gr_date": "2025-12-07", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000093", + "po_item": "00040", + "po_date": "2025-10-27", + "promised_date": "2025-11-23", + "first_gr_date": "2025-11-23", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000094", + "po_item": "00050", + "po_date": "2025-11-04", + "promised_date": "2025-11-25", + "first_gr_date": "2025-11-25", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000095", + "po_item": "00010", + "po_date": "2025-11-11", + "promised_date": "2025-12-23", + "first_gr_date": "2025-12-20", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000096", + "po_item": "00020", + "po_date": "2025-11-20", + "promised_date": "2025-12-28", + "first_gr_date": "2025-12-28", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000097", + "po_item": "00030", + "po_date": "2025-11-25", + "promised_date": "2025-12-31", + "first_gr_date": "2025-12-30", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000098", + "po_item": "00040", + "po_date": "2025-12-03", + "promised_date": "2025-12-28", + "first_gr_date": "2025-12-28", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000099", + "po_item": "00050", + "po_date": "2025-12-09", + "promised_date": "2025-12-30", + "first_gr_date": "2025-12-27", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000100", + "po_item": "00010", + "po_date": "2025-12-17", + "promised_date": "2026-02-04", + "first_gr_date": "2026-02-04", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000101", + "po_item": "00020", + "po_date": "2025-12-23", + "promised_date": "2026-01-15", + "first_gr_date": "2026-01-15", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000102", + "po_item": "00030", + "po_date": "2025-12-31", + "promised_date": "2026-01-20", + "first_gr_date": "2026-01-20", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000103", + "po_item": "00040", + "po_date": "2026-01-06", + "promised_date": "2026-02-13", + "first_gr_date": "2026-02-13", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000104", + "po_item": "00050", + "po_date": "2026-01-14", + "promised_date": "2026-02-09", + "first_gr_date": "2026-02-08", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000105", + "po_item": "00010", + "po_date": "2026-01-19", + "promised_date": "2026-02-23", + "first_gr_date": "2026-02-23", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000106", + "po_item": "00020", + "po_date": "2026-01-27", + "promised_date": "2026-03-16", + "first_gr_date": "2026-03-13", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000107", + "po_item": "00030", + "po_date": "2026-02-05", + "promised_date": "2026-03-02", + "first_gr_date": "2026-03-02", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000108", + "po_item": "00040", + "po_date": "2026-02-12", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-24", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000109", + "po_item": "00050", + "po_date": "2026-02-17", + "promised_date": "2026-04-06", + "first_gr_date": "2026-04-06", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000110", + "po_item": "00010", + "po_date": "2026-02-24", + "promised_date": "2026-03-27", + "first_gr_date": "2026-03-25", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000111", + "po_item": "00020", + "po_date": "2026-03-05", + "promised_date": "2026-04-15", + "first_gr_date": "2026-04-12", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000112", + "po_item": "00030", + "po_date": "2026-03-09", + "promised_date": "2026-04-13", + "first_gr_date": "2026-04-13", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000113", + "po_item": "00040", + "po_date": "2026-03-17", + "promised_date": "2026-05-04", + "first_gr_date": "2026-05-01", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000114", + "po_item": "00050", + "po_date": "2026-03-23", + "promised_date": "2026-04-13", + "first_gr_date": "2026-04-11", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000115", + "po_item": "00010", + "po_date": "2026-04-01", + "promised_date": "2026-04-23", + "first_gr_date": "2026-04-23", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000116", + "po_item": "00020", + "po_date": "2026-04-06", + "promised_date": "2026-05-21", + "first_gr_date": "2026-05-21", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000117", + "po_item": "00030", + "po_date": "2026-04-15", + "promised_date": "2026-05-05", + "first_gr_date": "2026-05-05", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000118", + "po_item": "00040", + "po_date": "2026-04-20", + "promised_date": "2026-06-01", + "first_gr_date": "2026-05-31", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000119", + "po_item": "00050", + "po_date": "2026-04-30", + "promised_date": "2026-06-17", + "first_gr_date": "2026-06-17", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000120", + "po_item": "00010", + "po_date": "2026-05-06", + "promised_date": "2026-06-08", + "first_gr_date": "2026-06-05", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000121", + "po_item": "00020", + "po_date": "2026-05-13", + "promised_date": "2026-06-19", + "first_gr_date": "2026-06-19", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000122", + "po_item": "00010", + "po_date": "2026-01-12", + "promised_date": "2026-02-04", + "first_gr_date": "2026-02-04", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000123", + "po_item": "00020", + "po_date": "2026-01-20", + "promised_date": "2026-02-27", + "first_gr_date": "2026-02-27", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000124", + "po_item": "00030", + "po_date": "2026-01-29", + "promised_date": "2026-03-10", + "first_gr_date": "2026-03-07", + "days_late": -3, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000125", + "po_item": "00040", + "po_date": "2026-02-02", + "promised_date": "2026-02-24", + "first_gr_date": "2026-02-24", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000126", + "po_item": "00050", + "po_date": "2026-02-09", + "promised_date": "2026-03-14", + "first_gr_date": "2026-03-14", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000127", + "po_item": "00010", + "po_date": "2026-02-17", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-23", + "days_late": -1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000128", + "po_item": "00020", + "po_date": "2026-02-23", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-24", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000129", + "po_item": "00030", + "po_date": "2026-03-04", + "promised_date": "2026-04-11", + "first_gr_date": "2026-04-08", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000130", + "po_item": "00040", + "po_date": "2026-03-09", + "promised_date": "2026-04-17", + "first_gr_date": "2026-04-17", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000131", + "po_item": "00050", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "first_gr_date": "2026-05-01", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000132", + "po_item": "00010", + "po_date": "2026-03-25", + "promised_date": "2026-05-11", + "first_gr_date": "2026-05-09", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000133", + "po_item": "00020", + "po_date": "2026-04-02", + "promised_date": "2026-05-13", + "first_gr_date": "2026-05-13", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000134", + "po_item": "00030", + "po_date": "2026-04-06", + "promised_date": "2026-05-03", + "first_gr_date": "2026-04-30", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000135", + "po_item": "00040", + "po_date": "2026-04-15", + "promised_date": "2026-05-18", + "first_gr_date": "2026-05-18", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000136", + "po_item": "00050", + "po_date": "2026-04-20", + "promised_date": "2026-05-10", + "first_gr_date": "2026-05-08", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000137", + "po_item": "00010", + "po_date": "2026-04-29", + "promised_date": "2026-06-01", + "first_gr_date": "2026-06-01", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000138", + "po_item": "00020", + "po_date": "2026-05-06", + "promised_date": "2026-05-28", + "first_gr_date": "2026-05-28", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000139", + "po_item": "00030", + "po_date": "2026-05-14", + "promised_date": "2026-06-03", + "first_gr_date": "2026-05-31", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + } + ] + }, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/procurement_washed_bourbon.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/procurement_washed_bourbon.json new file mode 100644 index 00000000000..11dafb65743 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/procurement_washed_bourbon.json @@ -0,0 +1,2251 @@ +{ + "id": "procurement_washed_bourbon", + "label": "Procurement: Washed Bourbon", + "type": "procurement", + "durations": [ + 47.2, 21.6, 83.7, 9.5, 54.0, 33.8, 64.8, 16.2, 40.5, 18.9, 40.5, 25.7, 29.7, + 31.1, 33.8, 31.1, 33.8, 36.5, 39.2, 41.9, 31.1, 33.8, 36.5, 39.2, 41.9, + 29.7, 32.4, 35.1, 37.8, 24.3, 37.8, 40.5, 43.2, 29.7, 32.4, 36.5, 40.5, + 25.7, 29.7, 31.1, 45.9, 31.1, 33.8, 36.5, 39.2, 27.0, 31.1, 33.8, 36.5, + 39.2, 27.0, 29.7, 32.4, 35.1, 37.8 + ], + "observations": [ + { + "date": "2022-05-03", + "value": 47.2 + }, + { + "date": "2022-10-18", + "value": 21.6 + }, + { + "date": "2023-01-24", + "value": 83.7 + }, + { + "date": "2023-06-15", + "value": 9.5 + }, + { + "date": "2023-09-28", + "value": 54.0 + }, + { + "date": "2024-02-12", + "value": 33.8 + }, + { + "date": "2024-05-07", + "value": 64.8 + }, + { + "date": "2024-09-19", + "value": 16.2 + }, + { + "date": "2025-02-04", + "value": 40.5 + }, + { + "date": "2025-06-10", + "value": 18.9 + }, + { + "date": "2025-09-06", + "value": 40.5 + }, + { + "date": "2025-09-12", + "value": 25.7 + }, + { + "date": "2025-09-18", + "value": 29.7 + }, + { + "date": "2025-09-24", + "value": 31.1 + }, + { + "date": "2025-09-30", + "value": 33.8 + }, + { + "date": "2025-10-04", + "value": 31.1 + }, + { + "date": "2025-10-10", + "value": 33.8 + }, + { + "date": "2025-10-16", + "value": 36.5 + }, + { + "date": "2025-10-22", + "value": 39.2 + }, + { + "date": "2025-10-28", + "value": 41.9 + }, + { + "date": "2025-11-05", + "value": 31.1 + }, + { + "date": "2025-11-11", + "value": 33.8 + }, + { + "date": "2025-11-17", + "value": 36.5 + }, + { + "date": "2025-11-23", + "value": 39.2 + }, + { + "date": "2025-11-29", + "value": 41.9 + }, + { + "date": "2025-12-06", + "value": 29.7 + }, + { + "date": "2025-12-12", + "value": 32.4 + }, + { + "date": "2025-12-18", + "value": 35.1 + }, + { + "date": "2025-12-24", + "value": 37.8 + }, + { + "date": "2025-12-30", + "value": 24.3 + }, + { + "date": "2026-01-04", + "value": 37.8 + }, + { + "date": "2026-01-10", + "value": 40.5 + }, + { + "date": "2026-01-16", + "value": 43.2 + }, + { + "date": "2026-01-22", + "value": 29.7 + }, + { + "date": "2026-01-28", + "value": 32.4 + }, + { + "date": "2026-02-05", + "value": 36.5 + }, + { + "date": "2026-02-11", + "value": 40.5 + }, + { + "date": "2026-02-17", + "value": 25.7 + }, + { + "date": "2026-02-23", + "value": 29.7 + }, + { + "date": "2026-02-29", + "value": 31.1 + }, + { + "date": "2026-03-06", + "value": 45.9 + }, + { + "date": "2026-03-12", + "value": 31.1 + }, + { + "date": "2026-03-18", + "value": 33.8 + }, + { + "date": "2026-03-24", + "value": 36.5 + }, + { + "date": "2026-03-30", + "value": 39.2 + }, + { + "date": "2026-04-04", + "value": 27.0 + }, + { + "date": "2026-04-10", + "value": 31.1 + }, + { + "date": "2026-04-16", + "value": 33.8 + }, + { + "date": "2026-04-22", + "value": 36.5 + }, + { + "date": "2026-04-28", + "value": 39.2 + }, + { + "date": "2026-05-05", + "value": 27.0 + }, + { + "date": "2026-05-11", + "value": 29.7 + }, + { + "date": "2026-05-17", + "value": 32.4 + }, + { + "date": "2026-05-23", + "value": 35.1 + }, + { + "date": "2026-05-29", + "value": 37.8 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 47.2, + "median": 47.2, + "p10": 47.2, + "p25": 47.2, + "p75": 47.2, + "p90": 47.2, + "n": 1 + }, + { + "month": "2022-10", + "mean": 21.6, + "median": 21.6, + "p10": 21.6, + "p25": 21.6, + "p75": 21.6, + "p90": 21.6, + "n": 1 + }, + { + "month": "2023-01", + "mean": 83.7, + "median": 83.7, + "p10": 83.7, + "p25": 83.7, + "p75": 83.7, + "p90": 83.7, + "n": 1 + }, + { + "month": "2023-06", + "mean": 9.5, + "median": 9.5, + "p10": 9.5, + "p25": 9.5, + "p75": 9.5, + "p90": 9.5, + "n": 1 + }, + { + "month": "2023-09", + "mean": 54.0, + "median": 54.0, + "p10": 54.0, + "p25": 54.0, + "p75": 54.0, + "p90": 54.0, + "n": 1 + }, + { + "month": "2024-02", + "mean": 33.8, + "median": 33.8, + "p10": 33.8, + "p25": 33.8, + "p75": 33.8, + "p90": 33.8, + "n": 1 + }, + { + "month": "2024-05", + "mean": 64.8, + "median": 64.8, + "p10": 64.8, + "p25": 64.8, + "p75": 64.8, + "p90": 64.8, + "n": 1 + }, + { + "month": "2024-09", + "mean": 16.2, + "median": 16.2, + "p10": 16.2, + "p25": 16.2, + "p75": 16.2, + "p90": 16.2, + "n": 1 + }, + { + "month": "2025-02", + "mean": 40.5, + "median": 40.5, + "p10": 40.5, + "p25": 40.5, + "p75": 40.5, + "p90": 40.5, + "n": 1 + }, + { + "month": "2025-06", + "mean": 18.9, + "median": 18.9, + "p10": 18.9, + "p25": 18.9, + "p75": 18.9, + "p90": 18.9, + "n": 1 + }, + { + "month": "2025-09", + "mean": 32.1, + "median": 31.1, + "p10": 27.3, + "p25": 29.7, + "p75": 33.8, + "p90": 37.8, + "n": 5 + }, + { + "month": "2025-10", + "mean": 36.5, + "median": 36.5, + "p10": 32.1, + "p25": 33.8, + "p75": 39.2, + "p90": 40.8, + "n": 5 + }, + { + "month": "2025-11", + "mean": 36.5, + "median": 36.5, + "p10": 32.1, + "p25": 33.8, + "p75": 39.2, + "p90": 40.8, + "n": 5 + }, + { + "month": "2025-12", + "mean": 31.9, + "median": 32.4, + "p10": 26.5, + "p25": 29.7, + "p75": 35.1, + "p90": 36.7, + "n": 5 + }, + { + "month": "2026-01", + "mean": 36.7, + "median": 37.8, + "p10": 30.8, + "p25": 32.4, + "p75": 40.5, + "p90": 42.1, + "n": 5 + }, + { + "month": "2026-02", + "mean": 32.7, + "median": 31.1, + "p10": 27.3, + "p25": 29.7, + "p75": 36.5, + "p90": 38.9, + "n": 5 + }, + { + "month": "2026-03", + "mean": 37.3, + "median": 36.5, + "p10": 32.1, + "p25": 33.8, + "p75": 39.2, + "p90": 43.2, + "n": 5 + }, + { + "month": "2026-04", + "mean": 33.5, + "median": 33.8, + "p10": 28.6, + "p25": 31.1, + "p75": 36.5, + "p90": 38.1, + "n": 5 + }, + { + "month": "2026-05", + "mean": 32.4, + "median": 32.4, + "p10": 28.1, + "p25": 29.7, + "p75": 35.1, + "p90": 36.7, + "n": 5 + } + ], + "stats": { + "n": 55, + "mean": 35.2, + "median": 33.8, + "std": 8.0, + "min": 9.5, + "max": 83.7, + "p25": 29.7, + "p75": 39.2, + "p85": 40.5, + "p95": 47.2 + }, + "plifz": 7, + "plifz_note": null, + "pct_exceeding_plifz": 98.2, + "annotations": [], + "cost": null, + "detail_rows": { + "columns": [ + { + "key": "matnr", + "sap_field": "MATNR", + "sap_table": "EKPO", + "label": "Material", + "unit": null + }, + { + "key": "po_number", + "sap_field": "EBELN", + "sap_table": "EKKO", + "label": "PO Number", + "unit": null + }, + { + "key": "po_item", + "sap_field": "EBELP", + "sap_table": "EKPO", + "label": "PO Item", + "unit": null + }, + { + "key": "vendor_id", + "sap_field": "LIFNR", + "sap_table": "EKKO", + "label": "Vendor (LIFNR)", + "unit": null + }, + { + "key": "vendor_name", + "sap_field": "NAME1", + "sap_table": "LFA1", + "label": "Vendor Name", + "unit": null + }, + { + "key": "po_date", + "sap_field": "BEDAT", + "sap_table": "EKKO", + "label": "PO Date", + "unit": null + }, + { + "key": "promised_date", + "sap_field": "EINDT", + "sap_table": "EKET", + "label": "Promised Date", + "unit": null + }, + { + "key": "sched_qty", + "sap_field": "MENGE", + "sap_table": "EKET", + "label": "Scheduled Qty", + "unit": null + }, + { + "key": "gr_qty_to_date", + "sap_field": "WEMNG", + "sap_table": "EKET", + "label": "GR Qty (to date)", + "unit": null + }, + { + "key": "gr_mblnr", + "sap_field": "MBLNR", + "sap_table": "MSEG", + "label": "Goods Receipt Document", + "unit": null + }, + { + "key": "first_gr_date", + "sap_field": "BUDAT", + "sap_table": "MKPF", + "label": "Goods Receipt Date", + "unit": null + }, + { + "key": "days_vs_promised", + "sap_field": null, + "sap_table": null, + "label": "Days vs Promised", + "unit": "d" + }, + { + "key": "lead_time_days", + "sap_field": null, + "sap_table": null, + "label": "Lead Time (days)", + "unit": "d" + } + ], + "rows": [ + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000142", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-09-29", + "promised_date": "2025-10-29", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000142", + "first_gr_date": "2025-10-29", + "days_vs_promised": 0, + "lead_time_days": 30 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000141", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-09-23", + "promised_date": "2025-11-02", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000141", + "first_gr_date": "2025-11-02", + "days_vs_promised": 0, + "lead_time_days": 40 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000140", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-09-18", + "promised_date": "2025-10-14", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000140", + "first_gr_date": "2025-11-07", + "days_vs_promised": 24, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000143", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-10-09", + "promised_date": "2025-11-07", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000143", + "first_gr_date": "2025-11-07", + "days_vs_promised": 0, + "lead_time_days": 29 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000144", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-10-13", + "promised_date": "2025-11-10", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000144", + "first_gr_date": "2025-11-10", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000146", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-10-28", + "promised_date": "2025-12-05", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000146", + "first_gr_date": "2025-12-03", + "days_vs_promised": -2, + "lead_time_days": 36 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000145", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-10-22", + "promised_date": "2025-12-11", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000145", + "first_gr_date": "2025-12-11", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000148", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-11-10", + "promised_date": "2025-12-21", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000148", + "first_gr_date": "2025-12-21", + "days_vs_promised": 0, + "lead_time_days": 41 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000147", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-11-03", + "promised_date": "2025-12-23", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000147", + "first_gr_date": "2025-12-23", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000150", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-11-24", + "promised_date": "2026-01-09", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000150", + "first_gr_date": "2026-01-06", + "days_vs_promised": -3, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000149", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-11-18", + "promised_date": "2026-01-07", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000149", + "first_gr_date": "2026-01-07", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000151", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-01", + "promised_date": "2026-01-16", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000151", + "first_gr_date": "2026-01-13", + "days_vs_promised": -3, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000153", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000153", + "first_gr_date": "2026-01-13", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000155", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-29", + "promised_date": "2026-01-20", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000155", + "first_gr_date": "2026-01-20", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000152", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-08", + "promised_date": "2026-01-26", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000152", + "first_gr_date": "2026-01-26", + "days_vs_promised": 0, + "lead_time_days": 49 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000154", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-22", + "promised_date": "2026-02-02", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000154", + "first_gr_date": "2026-01-31", + "days_vs_promised": -2, + "lead_time_days": 40 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000156", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-01-07", + "promised_date": "2026-02-17", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000156", + "first_gr_date": "2026-02-14", + "days_vs_promised": -3, + "lead_time_days": 38 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000158", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-01-21", + "promised_date": "2026-02-15", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000158", + "first_gr_date": "2026-02-15", + "days_vs_promised": 0, + "lead_time_days": 25 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000157", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-01-15", + "promised_date": "2026-02-27", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000157", + "first_gr_date": "2026-02-27", + "days_vs_promised": 0, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000159", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-01-27", + "promised_date": "2026-03-06", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000159", + "first_gr_date": "2026-03-06", + "days_vs_promised": 0, + "lead_time_days": 38 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000176", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-12", + "promised_date": "2026-03-07", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000176", + "first_gr_date": "2026-03-07", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000160", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-02-02", + "promised_date": "2026-03-08", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000160", + "first_gr_date": "2026-03-08", + "days_vs_promised": 0, + "lead_time_days": 34 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000175", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-03", + "promised_date": "2026-03-10", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000175", + "first_gr_date": "2026-03-10", + "days_vs_promised": 0, + "lead_time_days": 35 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000178", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-25", + "promised_date": "2026-03-19", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000178", + "first_gr_date": "2026-03-19", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000161", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-02-12", + "promised_date": "2026-03-19", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000161", + "first_gr_date": "2026-03-20", + "days_vs_promised": 1, + "lead_time_days": 36 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000179", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-04", + "promised_date": "2026-03-30", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000179", + "first_gr_date": "2026-03-29", + "days_vs_promised": -1, + "lead_time_days": 25 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000162", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-02-17", + "promised_date": "2026-03-20", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000162", + "first_gr_date": "2026-04-01", + "days_vs_promised": 12, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000180", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-12", + "promised_date": "2026-04-02", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000180", + "first_gr_date": "2026-04-02", + "days_vs_promised": 0, + "lead_time_days": 21 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000177", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-17", + "promised_date": "2026-04-03", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000177", + "first_gr_date": "2026-04-05", + "days_vs_promised": 2, + "lead_time_days": 47 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000165", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-10", + "promised_date": "2026-04-07", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000165", + "first_gr_date": "2026-04-07", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000164", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-03", + "promised_date": "2026-04-10", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000164", + "first_gr_date": "2026-04-09", + "days_vs_promised": -1, + "lead_time_days": 37 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000163", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-02-23", + "promised_date": "2026-04-10", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000163", + "first_gr_date": "2026-04-10", + "days_vs_promised": 0, + "lead_time_days": 46 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000166", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-17", + "promised_date": "2026-04-11", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000166", + "first_gr_date": "2026-04-10", + "days_vs_promised": -1, + "lead_time_days": 24 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000167", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-26", + "promised_date": "2026-04-16", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000167", + "first_gr_date": "2026-04-16", + "days_vs_promised": 0, + "lead_time_days": 21 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000181", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-19", + "promised_date": "2026-04-24", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000181", + "first_gr_date": "2026-04-24", + "days_vs_promised": 0, + "lead_time_days": 36 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000182", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-24", + "promised_date": "2026-04-28", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000182", + "first_gr_date": "2026-04-25", + "days_vs_promised": -3, + "lead_time_days": 32 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000183", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-01", + "promised_date": "2026-04-26", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000183", + "first_gr_date": "2026-04-26", + "days_vs_promised": 0, + "lead_time_days": 25 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000168", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-30", + "promised_date": "2026-05-01", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000168", + "first_gr_date": "2026-04-30", + "days_vs_promised": -1, + "lead_time_days": 31 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000171", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-04-23", + "promised_date": "2026-05-14", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000171", + "first_gr_date": "2026-05-11", + "days_vs_promised": -3, + "lead_time_days": 18 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000185", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-14", + "promised_date": "2026-05-11", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000185", + "first_gr_date": "2026-05-11", + "days_vs_promised": 0, + "lead_time_days": 27 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000184", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-06", + "promised_date": "2026-05-16", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000184", + "first_gr_date": "2026-05-16", + "days_vs_promised": 0, + "lead_time_days": 40 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000169", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000169", + "first_gr_date": "2026-05-27", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000170", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-04-14", + "promised_date": "2026-05-29", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000170", + "first_gr_date": "2026-05-27", + "days_vs_promised": -2, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000174", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-05-13", + "promised_date": "2026-06-05", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000174", + "first_gr_date": "2026-06-03", + "days_vs_promised": -2, + "lead_time_days": 21 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000172", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-04-30", + "promised_date": "2026-06-11", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000172", + "first_gr_date": "2026-06-09", + "days_vs_promised": -2, + "lead_time_days": 40 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000186", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-21", + "promised_date": "2026-06-10", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000186", + "first_gr_date": "2026-06-15", + "days_vs_promised": 5, + "lead_time_days": 55 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000189", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-05-12", + "promised_date": "2026-06-16", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000189", + "first_gr_date": "2026-06-17", + "days_vs_promised": 1, + "lead_time_days": 36 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000187", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-30", + "promised_date": "2026-06-18", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000187", + "first_gr_date": "2026-06-18", + "days_vs_promised": 0, + "lead_time_days": 49 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000188", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-05-04", + "promised_date": "2026-06-21", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000188", + "first_gr_date": "2026-06-21", + "days_vs_promised": 0, + "lead_time_days": 48 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000173", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-05-05", + "promised_date": "2026-06-24", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000173", + "first_gr_date": "2026-07-02", + "days_vs_promised": 8, + "lead_time_days": 58 + } + ] + }, + "ref_date_col": "first_gr_date", + "n_batches": null, + "n_movements": 10, + "yield_data": null, + "consumption_data": null, + "supplier_otif": { + "primary_vendor": { + "id": "D0005", + "name": "Midland Mid-Tier Partners" + }, + "vendors": [ + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "n_lines": 35, + "n_late": 4, + "on_time_pct": 88.6, + "in_full_pct": 100.0, + "otif_pct": 88.6, + "mean_days_late_all": 1.29, + "mean_days_late_when_late": 11.2, + "median_days_late_when_late": 10.0, + "max_days_late": 24, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 11.4, + "ge_3d_pct": 8.6, + "ge_7d_pct": 8.6, + "ge_14d_pct": 2.9 + } + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "n_lines": 15, + "n_late": 3, + "on_time_pct": 80.0, + "in_full_pct": 100.0, + "otif_pct": 80.0, + "mean_days_late_all": 0.53, + "mean_days_late_when_late": 2.7, + "median_days_late_when_late": 2, + "max_days_late": 5, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 20.0, + "ge_3d_pct": 6.7, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + } + } + ], + "worst_events": [ + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000140", + "po_item": "00010", + "po_date": "2025-09-18", + "promised_date": "2025-10-14", + "first_gr_date": "2025-11-07", + "days_late": 24, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000162", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-03-20", + "first_gr_date": "2026-04-01", + "days_late": 12, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000173", + "po_item": "00040", + "po_date": "2026-05-05", + "promised_date": "2026-06-24", + "first_gr_date": "2026-07-02", + "days_late": 8, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000186", + "po_item": "00020", + "po_date": "2026-04-21", + "promised_date": "2026-06-10", + "first_gr_date": "2026-06-15", + "days_late": 5, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000177", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-05", + "days_late": 2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0 + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000161", + "po_item": "00020", + "po_date": "2026-02-12", + "promised_date": "2026-03-19", + "first_gr_date": "2026-03-20", + "days_late": 1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000189", + "po_item": "00050", + "po_date": "2026-05-12", + "promised_date": "2026-06-16", + "first_gr_date": "2026-06-17", + "days_late": 1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + } + ], + "coverage_pct": 100.0, + "n_lines": 50, + "data_quality_note": "100% in-full across every line \u2014 likely WEMNG = MENGE is auto-stamped at goods receipt rather than measured. Treat the in-full metric as a data-entry artifact at this site.", + "tolerance_days": 0, + "under_tolerance_pct": 0.05, + "lines": [ + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000140", + "po_item": "00010", + "po_date": "2025-09-18", + "promised_date": "2025-10-14", + "first_gr_date": "2025-11-07", + "days_late": 24, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000141", + "po_item": "00020", + "po_date": "2025-09-23", + "promised_date": "2025-11-02", + "first_gr_date": "2025-11-02", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000142", + "po_item": "00030", + "po_date": "2025-09-29", + "promised_date": "2025-10-29", + "first_gr_date": "2025-10-29", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000143", + "po_item": "00040", + "po_date": "2025-10-09", + "promised_date": "2025-11-07", + "first_gr_date": "2025-11-07", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000144", + "po_item": "00050", + "po_date": "2025-10-13", + "promised_date": "2025-11-10", + "first_gr_date": "2025-11-10", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000145", + "po_item": "00010", + "po_date": "2025-10-22", + "promised_date": "2025-12-11", + "first_gr_date": "2025-12-11", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000146", + "po_item": "00020", + "po_date": "2025-10-28", + "promised_date": "2025-12-05", + "first_gr_date": "2025-12-03", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000147", + "po_item": "00030", + "po_date": "2025-11-03", + "promised_date": "2025-12-23", + "first_gr_date": "2025-12-23", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000148", + "po_item": "00040", + "po_date": "2025-11-10", + "promised_date": "2025-12-21", + "first_gr_date": "2025-12-21", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000149", + "po_item": "00050", + "po_date": "2025-11-18", + "promised_date": "2026-01-07", + "first_gr_date": "2026-01-07", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000150", + "po_item": "00010", + "po_date": "2025-11-24", + "promised_date": "2026-01-09", + "first_gr_date": "2026-01-06", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000151", + "po_item": "00020", + "po_date": "2025-12-01", + "promised_date": "2026-01-16", + "first_gr_date": "2026-01-13", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000152", + "po_item": "00030", + "po_date": "2025-12-08", + "promised_date": "2026-01-26", + "first_gr_date": "2026-01-26", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000153", + "po_item": "00040", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-13", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000154", + "po_item": "00050", + "po_date": "2025-12-22", + "promised_date": "2026-02-02", + "first_gr_date": "2026-01-31", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000155", + "po_item": "00010", + "po_date": "2025-12-29", + "promised_date": "2026-01-20", + "first_gr_date": "2026-01-20", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000156", + "po_item": "00020", + "po_date": "2026-01-07", + "promised_date": "2026-02-17", + "first_gr_date": "2026-02-14", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000157", + "po_item": "00030", + "po_date": "2026-01-15", + "promised_date": "2026-02-27", + "first_gr_date": "2026-02-27", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000158", + "po_item": "00040", + "po_date": "2026-01-21", + "promised_date": "2026-02-15", + "first_gr_date": "2026-02-15", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000159", + "po_item": "00050", + "po_date": "2026-01-27", + "promised_date": "2026-03-06", + "first_gr_date": "2026-03-06", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000160", + "po_item": "00010", + "po_date": "2026-02-02", + "promised_date": "2026-03-08", + "first_gr_date": "2026-03-08", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000161", + "po_item": "00020", + "po_date": "2026-02-12", + "promised_date": "2026-03-19", + "first_gr_date": "2026-03-20", + "days_late": 1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000162", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-03-20", + "first_gr_date": "2026-04-01", + "days_late": 12, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000163", + "po_item": "00040", + "po_date": "2026-02-23", + "promised_date": "2026-04-10", + "first_gr_date": "2026-04-10", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000164", + "po_item": "00050", + "po_date": "2026-03-03", + "promised_date": "2026-04-10", + "first_gr_date": "2026-04-09", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000165", + "po_item": "00010", + "po_date": "2026-03-10", + "promised_date": "2026-04-07", + "first_gr_date": "2026-04-07", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000166", + "po_item": "00020", + "po_date": "2026-03-17", + "promised_date": "2026-04-11", + "first_gr_date": "2026-04-10", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000167", + "po_item": "00030", + "po_date": "2026-03-26", + "promised_date": "2026-04-16", + "first_gr_date": "2026-04-16", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000168", + "po_item": "00040", + "po_date": "2026-03-30", + "promised_date": "2026-05-01", + "first_gr_date": "2026-04-30", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000169", + "po_item": "00050", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "first_gr_date": "2026-05-27", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000170", + "po_item": "00010", + "po_date": "2026-04-14", + "promised_date": "2026-05-29", + "first_gr_date": "2026-05-27", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000171", + "po_item": "00020", + "po_date": "2026-04-23", + "promised_date": "2026-05-14", + "first_gr_date": "2026-05-11", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000172", + "po_item": "00030", + "po_date": "2026-04-30", + "promised_date": "2026-06-11", + "first_gr_date": "2026-06-09", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000173", + "po_item": "00040", + "po_date": "2026-05-05", + "promised_date": "2026-06-24", + "first_gr_date": "2026-07-02", + "days_late": 8, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000174", + "po_item": "00050", + "po_date": "2026-05-13", + "promised_date": "2026-06-05", + "first_gr_date": "2026-06-03", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000175", + "po_item": "00010", + "po_date": "2026-02-03", + "promised_date": "2026-03-10", + "first_gr_date": "2026-03-10", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000176", + "po_item": "00020", + "po_date": "2026-02-12", + "promised_date": "2026-03-07", + "first_gr_date": "2026-03-07", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000177", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-05", + "days_late": 2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000178", + "po_item": "00040", + "po_date": "2026-02-25", + "promised_date": "2026-03-19", + "first_gr_date": "2026-03-19", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000179", + "po_item": "00050", + "po_date": "2026-03-04", + "promised_date": "2026-03-30", + "first_gr_date": "2026-03-29", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000180", + "po_item": "00010", + "po_date": "2026-03-12", + "promised_date": "2026-04-02", + "first_gr_date": "2026-04-02", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000181", + "po_item": "00020", + "po_date": "2026-03-19", + "promised_date": "2026-04-24", + "first_gr_date": "2026-04-24", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000182", + "po_item": "00030", + "po_date": "2026-03-24", + "promised_date": "2026-04-28", + "first_gr_date": "2026-04-25", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000183", + "po_item": "00040", + "po_date": "2026-04-01", + "promised_date": "2026-04-26", + "first_gr_date": "2026-04-26", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000184", + "po_item": "00050", + "po_date": "2026-04-06", + "promised_date": "2026-05-16", + "first_gr_date": "2026-05-16", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000185", + "po_item": "00010", + "po_date": "2026-04-14", + "promised_date": "2026-05-11", + "first_gr_date": "2026-05-11", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000186", + "po_item": "00020", + "po_date": "2026-04-21", + "promised_date": "2026-06-10", + "first_gr_date": "2026-06-15", + "days_late": 5, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000187", + "po_item": "00030", + "po_date": "2026-04-30", + "promised_date": "2026-06-18", + "first_gr_date": "2026-06-18", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000188", + "po_item": "00040", + "po_date": "2026-05-04", + "promised_date": "2026-06-21", + "first_gr_date": "2026-06-21", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000189", + "po_item": "00050", + "po_date": "2026-05-12", + "promised_date": "2026-06-16", + "first_gr_date": "2026-06-17", + "days_late": 1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + } + ] + }, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/prod_duration_green_blend.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/prod_duration_green_blend.json new file mode 100644 index 00000000000..5eb3ef59ad9 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/prod_duration_green_blend.json @@ -0,0 +1,924 @@ +{ + "id": "prod_duration_green_blend", + "label": "Production: Green Blend", + "type": "production", + "durations": [ + 4.1, 6.8, 2.7, 9.5, 5.4, 8.1, 4.1, 18.9, 5.4, 10.8, 4.1, 6.8, 1.4, 8.1, 4.1, + 5.4, 5.4, 5.4, 4.1, 5.4, 5.4, 5.4, 5.4, 6.8, 6.8, 6.8, 5.4, 6.8, 6.8, 4.1, + 5.4, 6.8, 4.1, 4.1, 6.8, 4.1, 5.4, 5.4, 4.1, 4.1, 5.4, 5.4, 5.4, 5.4, 6.8, + 6.8, 5.4, 5.4, 6.8, 6.8 + ], + "observations": [ + { + "date": "2022-04-18", + "value": 4.1 + }, + { + "date": "2022-07-05", + "value": 6.8 + }, + { + "date": "2022-10-12", + "value": 2.7 + }, + { + "date": "2023-01-20", + "value": 9.5 + }, + { + "date": "2023-04-15", + "value": 5.4 + }, + { + "date": "2023-07-28", + "value": 8.1 + }, + { + "date": "2023-10-05", + "value": 4.1 + }, + { + "date": "2024-01-12", + "value": 18.9 + }, + { + "date": "2024-04-22", + "value": 5.4 + }, + { + "date": "2024-07-10", + "value": 10.8 + }, + { + "date": "2024-10-18", + "value": 4.1 + }, + { + "date": "2025-01-25", + "value": 6.8 + }, + { + "date": "2025-05-08", + "value": 1.4 + }, + { + "date": "2025-08-15", + "value": 8.1 + }, + { + "date": "2025-09-04", + "value": 4.1 + }, + { + "date": "2025-09-10", + "value": 5.4 + }, + { + "date": "2025-09-16", + "value": 5.4 + }, + { + "date": "2025-09-22", + "value": 5.4 + }, + { + "date": "2025-10-05", + "value": 4.1 + }, + { + "date": "2025-10-11", + "value": 5.4 + }, + { + "date": "2025-10-17", + "value": 5.4 + }, + { + "date": "2025-10-23", + "value": 5.4 + }, + { + "date": "2025-11-06", + "value": 5.4 + }, + { + "date": "2025-11-12", + "value": 6.8 + }, + { + "date": "2025-11-18", + "value": 6.8 + }, + { + "date": "2025-11-24", + "value": 6.8 + }, + { + "date": "2025-12-04", + "value": 5.4 + }, + { + "date": "2025-12-10", + "value": 6.8 + }, + { + "date": "2025-12-16", + "value": 6.8 + }, + { + "date": "2025-12-22", + "value": 4.1 + }, + { + "date": "2026-01-05", + "value": 5.4 + }, + { + "date": "2026-01-11", + "value": 6.8 + }, + { + "date": "2026-01-17", + "value": 4.1 + }, + { + "date": "2026-01-23", + "value": 4.1 + }, + { + "date": "2026-02-06", + "value": 6.8 + }, + { + "date": "2026-02-12", + "value": 4.1 + }, + { + "date": "2026-02-18", + "value": 5.4 + }, + { + "date": "2026-02-24", + "value": 5.4 + }, + { + "date": "2026-03-04", + "value": 4.1 + }, + { + "date": "2026-03-10", + "value": 4.1 + }, + { + "date": "2026-03-16", + "value": 5.4 + }, + { + "date": "2026-03-22", + "value": 5.4 + }, + { + "date": "2026-04-05", + "value": 5.4 + }, + { + "date": "2026-04-11", + "value": 5.4 + }, + { + "date": "2026-04-17", + "value": 6.8 + }, + { + "date": "2026-04-23", + "value": 6.8 + }, + { + "date": "2026-05-06", + "value": 5.4 + }, + { + "date": "2026-05-12", + "value": 5.4 + }, + { + "date": "2026-05-18", + "value": 6.8 + }, + { + "date": "2026-05-24", + "value": 6.8 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-07", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2023-01", + "mean": 9.5, + "median": 9.5, + "p10": 9.5, + "p25": 9.5, + "p75": 9.5, + "p90": 9.5, + "n": 1 + }, + { + "month": "2023-04", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2023-07", + "mean": 8.1, + "median": 8.1, + "p10": 8.1, + "p25": 8.1, + "p75": 8.1, + "p90": 8.1, + "n": 1 + }, + { + "month": "2023-10", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-01", + "mean": 18.9, + "median": 18.9, + "p10": 18.9, + "p25": 18.9, + "p75": 18.9, + "p90": 18.9, + "n": 1 + }, + { + "month": "2024-04", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2024-07", + "mean": 10.8, + "median": 10.8, + "p10": 10.8, + "p25": 10.8, + "p75": 10.8, + "p90": 10.8, + "n": 1 + }, + { + "month": "2024-10", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-01", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2025-05", + "mean": 1.4, + "median": 1.4, + "p10": 1.4, + "p25": 1.4, + "p75": 1.4, + "p90": 1.4, + "n": 1 + }, + { + "month": "2025-08", + "mean": 8.1, + "median": 8.1, + "p10": 8.1, + "p25": 8.1, + "p75": 8.1, + "p90": 8.1, + "n": 1 + }, + { + "month": "2025-09", + "mean": 5.1, + "median": 5.4, + "p10": 4.5, + "p25": 5.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2025-10", + "mean": 5.1, + "median": 5.4, + "p10": 4.5, + "p25": 5.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2025-11", + "mean": 6.5, + "median": 6.8, + "p10": 5.8, + "p25": 6.5, + "p75": 6.8, + "p90": 6.8, + "n": 4 + }, + { + "month": "2025-12", + "mean": 5.8, + "median": 6.1, + "p10": 4.5, + "p25": 5.1, + "p75": 6.8, + "p90": 6.8, + "n": 4 + }, + { + "month": "2026-01", + "mean": 5.1, + "median": 4.7, + "p10": 4.1, + "p25": 4.1, + "p75": 5.8, + "p90": 6.3, + "n": 4 + }, + { + "month": "2026-02", + "mean": 5.4, + "median": 5.4, + "p10": 4.5, + "p25": 5.1, + "p75": 5.8, + "p90": 6.3, + "n": 4 + }, + { + "month": "2026-03", + "mean": 4.7, + "median": 4.7, + "p10": 4.1, + "p25": 4.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2026-04", + "mean": 6.1, + "median": 6.1, + "p10": 5.4, + "p25": 5.4, + "p75": 6.8, + "p90": 6.8, + "n": 4 + }, + { + "month": "2026-05", + "mean": 6.1, + "median": 6.1, + "p10": 5.4, + "p25": 5.4, + "p75": 6.8, + "p90": 6.8, + "n": 4 + } + ], + "stats": { + "n": 50, + "mean": 5.9, + "median": 5.4, + "std": 1.8, + "min": 1.4, + "max": 18.9, + "p25": 4.1, + "p75": 6.8, + "p85": 6.8, + "p95": 8.1 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 10.0, + "annotations": [], + "cost": null, + "detail_rows": null, + "ref_date_col": null, + "n_batches": 50, + "n_movements": null, + "yield_data": { + "values": [ + 98.2, 99.5, 97.8, 100.2, 96.5, 99.0, 98.8, 97.2, 99.5, 100.8, 98.0, 97.5, + 99.2, 98.5, 98.4, 98.6, 98.9, 99.1, 98.3, 98.5, 98.8, 99.1, 99.0, 99.3, + 99.6, 98.2, 99.0, 99.3, 97.9, 98.2, 98.9, 97.6, 97.9, 98.1, 98.1, 98.4, + 98.6, 98.9, 98.1, 98.3, 98.5, 98.8, 98.8, 99.0, 99.3, 99.6, 98.7, 99.0, + 99.3, 97.9 + ], + "observations": [ + { + "date": "2022-04-21", + "value": 98.2 + }, + { + "date": "2022-07-10", + "value": 99.5 + }, + { + "date": "2022-10-14", + "value": 97.8 + }, + { + "date": "2023-01-27", + "value": 100.2 + }, + { + "date": "2023-04-19", + "value": 96.5 + }, + { + "date": "2023-08-03", + "value": 99.0 + }, + { + "date": "2023-10-08", + "value": 98.8 + }, + { + "date": "2024-01-26", + "value": 97.2 + }, + { + "date": "2024-04-26", + "value": 99.5 + }, + { + "date": "2024-07-18", + "value": 100.8 + }, + { + "date": "2024-10-21", + "value": 98.0 + }, + { + "date": "2025-01-30", + "value": 97.5 + }, + { + "date": "2025-05-09", + "value": 99.2 + }, + { + "date": "2025-08-21", + "value": 98.5 + }, + { + "date": "2025-09-05", + "value": 98.4 + }, + { + "date": "2025-09-11", + "value": 98.6 + }, + { + "date": "2025-09-17", + "value": 98.9 + }, + { + "date": "2025-09-23", + "value": 99.1 + }, + { + "date": "2025-10-06", + "value": 98.3 + }, + { + "date": "2025-10-12", + "value": 98.5 + }, + { + "date": "2025-10-18", + "value": 98.8 + }, + { + "date": "2025-10-24", + "value": 99.1 + }, + { + "date": "2025-11-04", + "value": 99.0 + }, + { + "date": "2025-11-10", + "value": 99.3 + }, + { + "date": "2025-11-16", + "value": 99.6 + }, + { + "date": "2025-11-22", + "value": 98.2 + }, + { + "date": "2025-12-05", + "value": 99.0 + }, + { + "date": "2025-12-11", + "value": 99.3 + }, + { + "date": "2025-12-17", + "value": 97.9 + }, + { + "date": "2025-12-23", + "value": 98.2 + }, + { + "date": "2026-01-06", + "value": 98.9 + }, + { + "date": "2026-01-12", + "value": 97.6 + }, + { + "date": "2026-01-18", + "value": 97.9 + }, + { + "date": "2026-01-24", + "value": 98.1 + }, + { + "date": "2026-02-04", + "value": 98.1 + }, + { + "date": "2026-02-10", + "value": 98.4 + }, + { + "date": "2026-02-16", + "value": 98.6 + }, + { + "date": "2026-02-22", + "value": 98.9 + }, + { + "date": "2026-03-05", + "value": 98.1 + }, + { + "date": "2026-03-11", + "value": 98.3 + }, + { + "date": "2026-03-17", + "value": 98.5 + }, + { + "date": "2026-03-23", + "value": 98.8 + }, + { + "date": "2026-04-06", + "value": 98.8 + }, + { + "date": "2026-04-12", + "value": 99.0 + }, + { + "date": "2026-04-18", + "value": 99.3 + }, + { + "date": "2026-04-24", + "value": 99.6 + }, + { + "date": "2026-05-04", + "value": 98.7 + }, + { + "date": "2026-05-10", + "value": 99.0 + }, + { + "date": "2026-05-16", + "value": 99.3 + }, + { + "date": "2026-05-22", + "value": 97.9 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 98.2, + "median": 98.2, + "p10": 98.2, + "p25": 98.2, + "p75": 98.2, + "p90": 98.2, + "n": 1 + }, + { + "month": "2022-07", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2022-10", + "mean": 97.8, + "median": 97.8, + "p10": 97.8, + "p25": 97.8, + "p75": 97.8, + "p90": 97.8, + "n": 1 + }, + { + "month": "2023-01", + "mean": 100.2, + "median": 100.2, + "p10": 100.2, + "p25": 100.2, + "p75": 100.2, + "p90": 100.2, + "n": 1 + }, + { + "month": "2023-04", + "mean": 96.5, + "median": 96.5, + "p10": 96.5, + "p25": 96.5, + "p75": 96.5, + "p90": 96.5, + "n": 1 + }, + { + "month": "2023-08", + "mean": 99.0, + "median": 99.0, + "p10": 99.0, + "p25": 99.0, + "p75": 99.0, + "p90": 99.0, + "n": 1 + }, + { + "month": "2023-10", + "mean": 98.8, + "median": 98.8, + "p10": 98.8, + "p25": 98.8, + "p75": 98.8, + "p90": 98.8, + "n": 1 + }, + { + "month": "2024-01", + "mean": 97.2, + "median": 97.2, + "p10": 97.2, + "p25": 97.2, + "p75": 97.2, + "p90": 97.2, + "n": 1 + }, + { + "month": "2024-04", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2024-07", + "mean": 100.8, + "median": 100.8, + "p10": 100.8, + "p25": 100.8, + "p75": 100.8, + "p90": 100.8, + "n": 1 + }, + { + "month": "2024-10", + "mean": 98.0, + "median": 98.0, + "p10": 98.0, + "p25": 98.0, + "p75": 98.0, + "p90": 98.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 97.5, + "median": 97.5, + "p10": 97.5, + "p25": 97.5, + "p75": 97.5, + "p90": 97.5, + "n": 1 + }, + { + "month": "2025-05", + "mean": 99.2, + "median": 99.2, + "p10": 99.2, + "p25": 99.2, + "p75": 99.2, + "p90": 99.2, + "n": 1 + }, + { + "month": "2025-08", + "mean": 98.5, + "median": 98.5, + "p10": 98.5, + "p25": 98.5, + "p75": 98.5, + "p90": 98.5, + "n": 1 + }, + { + "month": "2025-09", + "mean": 98.8, + "median": 98.8, + "p10": 98.5, + "p25": 98.6, + "p75": 99.0, + "p90": 99.0, + "n": 4 + }, + { + "month": "2025-10", + "mean": 98.7, + "median": 98.7, + "p10": 98.4, + "p25": 98.5, + "p75": 98.9, + "p90": 99.0, + "n": 4 + }, + { + "month": "2025-11", + "mean": 99.0, + "median": 99.2, + "p10": 98.4, + "p25": 98.8, + "p75": 99.4, + "p90": 99.5, + "n": 4 + }, + { + "month": "2025-12", + "mean": 98.6, + "median": 98.6, + "p10": 98.0, + "p25": 98.1, + "p75": 99.1, + "p90": 99.2, + "n": 4 + }, + { + "month": "2026-01", + "mean": 98.1, + "median": 98.0, + "p10": 97.7, + "p25": 97.8, + "p75": 98.3, + "p90": 98.7, + "n": 4 + }, + { + "month": "2026-02", + "mean": 98.5, + "median": 98.5, + "p10": 98.2, + "p25": 98.3, + "p75": 98.7, + "p90": 98.8, + "n": 4 + }, + { + "month": "2026-03", + "mean": 98.4, + "median": 98.4, + "p10": 98.2, + "p25": 98.3, + "p75": 98.6, + "p90": 98.7, + "n": 4 + }, + { + "month": "2026-04", + "mean": 99.2, + "median": 99.2, + "p10": 98.9, + "p25": 99.0, + "p75": 99.4, + "p90": 99.5, + "n": 4 + }, + { + "month": "2026-05", + "mean": 98.7, + "median": 98.9, + "p10": 98.1, + "p25": 98.5, + "p75": 99.1, + "p90": 99.2, + "n": 4 + } + ], + "stats": { + "n": 50, + "mean": 98.7, + "median": 98.8, + "std": 0.7, + "min": 96.5, + "max": 100.8, + "p25": 98.2, + "p75": 99.1, + "p85": 99.3, + "p95": 99.6 + }, + "reference": 100.0 + }, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/prod_duration_harbor_dark_roast.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/prod_duration_harbor_dark_roast.json new file mode 100644 index 00000000000..36bd024c6e0 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/prod_duration_harbor_dark_roast.json @@ -0,0 +1,1148 @@ +{ + "id": "prod_duration_harbor_dark_roast", + "label": "Production: Harbor Dark Roast", + "type": "production", + "durations": [ + 2.7, 4.1, 1.4, 5.4, 2.7, 6.8, 4.1, 9.5, 2.7, 5.4, 1.4, 4.1, 13.5, 4.1, 2.7, + 6.8, 0.0, 5.4, 4.1, 2.7, 8.1, 4.1, 5.4, 5.4, 4.1, 4.1, 5.4, 2.7, 4.1, 4.1, + 2.7, 2.7, 4.1, 4.1, 4.1, 4.1, 4.1, 5.4, 4.1, 4.1, 4.1, 5.4, 5.4, 5.4, 5.4, + 4.1, 4.1, 5.4, 2.7, 4.1, 4.1, 2.7, 2.7, 4.1, 4.1, 4.1, 4.1, 4.1 + ], + "observations": [ + { + "date": "2022-05-20", + "value": 2.7 + }, + { + "date": "2022-06-10", + "value": 4.1 + }, + { + "date": "2022-07-15", + "value": 1.4 + }, + { + "date": "2022-08-22", + "value": 5.4 + }, + { + "date": "2022-10-05", + "value": 2.7 + }, + { + "date": "2022-11-18", + "value": 6.8 + }, + { + "date": "2023-01-10", + "value": 4.1 + }, + { + "date": "2023-03-25", + "value": 9.5 + }, + { + "date": "2023-05-12", + "value": 2.7 + }, + { + "date": "2023-07-08", + "value": 5.4 + }, + { + "date": "2023-09-15", + "value": 1.4 + }, + { + "date": "2023-11-22", + "value": 4.1 + }, + { + "date": "2024-01-18", + "value": 13.5 + }, + { + "date": "2024-03-08", + "value": 4.1 + }, + { + "date": "2024-05-15", + "value": 2.7 + }, + { + "date": "2024-07-22", + "value": 6.8 + }, + { + "date": "2024-09-10", + "value": 0.0 + }, + { + "date": "2024-11-05", + "value": 5.4 + }, + { + "date": "2025-01-15", + "value": 4.1 + }, + { + "date": "2025-03-20", + "value": 2.7 + }, + { + "date": "2025-05-28", + "value": 8.1 + }, + { + "date": "2025-08-05", + "value": 4.1 + }, + { + "date": "2025-09-05", + "value": 5.4 + }, + { + "date": "2025-09-11", + "value": 5.4 + }, + { + "date": "2025-09-17", + "value": 4.1 + }, + { + "date": "2025-09-23", + "value": 4.1 + }, + { + "date": "2025-10-06", + "value": 5.4 + }, + { + "date": "2025-10-12", + "value": 2.7 + }, + { + "date": "2025-10-18", + "value": 4.1 + }, + { + "date": "2025-10-24", + "value": 4.1 + }, + { + "date": "2025-11-04", + "value": 2.7 + }, + { + "date": "2025-11-10", + "value": 2.7 + }, + { + "date": "2025-11-16", + "value": 4.1 + }, + { + "date": "2025-11-22", + "value": 4.1 + }, + { + "date": "2025-12-05", + "value": 4.1 + }, + { + "date": "2025-12-11", + "value": 4.1 + }, + { + "date": "2025-12-17", + "value": 4.1 + }, + { + "date": "2025-12-23", + "value": 5.4 + }, + { + "date": "2026-01-06", + "value": 4.1 + }, + { + "date": "2026-01-12", + "value": 4.1 + }, + { + "date": "2026-01-18", + "value": 4.1 + }, + { + "date": "2026-01-24", + "value": 5.4 + }, + { + "date": "2026-02-04", + "value": 5.4 + }, + { + "date": "2026-02-10", + "value": 5.4 + }, + { + "date": "2026-02-16", + "value": 5.4 + }, + { + "date": "2026-02-22", + "value": 4.1 + }, + { + "date": "2026-03-05", + "value": 4.1 + }, + { + "date": "2026-03-11", + "value": 5.4 + }, + { + "date": "2026-03-17", + "value": 2.7 + }, + { + "date": "2026-03-23", + "value": 4.1 + }, + { + "date": "2026-04-06", + "value": 4.1 + }, + { + "date": "2026-04-12", + "value": 2.7 + }, + { + "date": "2026-04-18", + "value": 2.7 + }, + { + "date": "2026-04-24", + "value": 4.1 + }, + { + "date": "2026-05-04", + "value": 4.1 + }, + { + "date": "2026-05-10", + "value": 4.1 + }, + { + "date": "2026-05-16", + "value": 4.1 + }, + { + "date": "2026-05-22", + "value": 4.1 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2022-06", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-07", + "mean": 1.4, + "median": 1.4, + "p10": 1.4, + "p25": 1.4, + "p75": 1.4, + "p90": 1.4, + "n": 1 + }, + { + "month": "2022-08", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2022-11", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2023-01", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2023-03", + "mean": 9.5, + "median": 9.5, + "p10": 9.5, + "p25": 9.5, + "p75": 9.5, + "p90": 9.5, + "n": 1 + }, + { + "month": "2023-05", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2023-07", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2023-09", + "mean": 1.4, + "median": 1.4, + "p10": 1.4, + "p25": 1.4, + "p75": 1.4, + "p90": 1.4, + "n": 1 + }, + { + "month": "2023-11", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-01", + "mean": 13.5, + "median": 13.5, + "p10": 13.5, + "p25": 13.5, + "p75": 13.5, + "p90": 13.5, + "n": 1 + }, + { + "month": "2024-03", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-05", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2024-07", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2024-09", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2025-01", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-03", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2025-05", + "mean": 8.1, + "median": 8.1, + "p10": 8.1, + "p25": 8.1, + "p75": 8.1, + "p90": 8.1, + "n": 1 + }, + { + "month": "2025-08", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-09", + "mean": 4.7, + "median": 4.7, + "p10": 4.1, + "p25": 4.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2025-10", + "mean": 4.1, + "median": 4.1, + "p10": 3.1, + "p25": 3.8, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2025-11", + "mean": 3.4, + "median": 3.4, + "p10": 2.7, + "p25": 2.7, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2025-12", + "mean": 4.5, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-01", + "mean": 4.5, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-02", + "mean": 5.1, + "median": 5.4, + "p10": 4.5, + "p25": 5.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2026-03", + "mean": 4.1, + "median": 4.1, + "p10": 3.1, + "p25": 3.8, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-04", + "mean": 3.4, + "median": 3.4, + "p10": 2.7, + "p25": 2.7, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2026-05", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 4 + } + ], + "stats": { + "n": 58, + "mean": 4.4, + "median": 4.1, + "std": 1.4, + "min": 0.0, + "max": 13.5, + "p25": 4.1, + "p75": 5.4, + "p85": 5.4, + "p95": 6.8 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 5.2, + "annotations": [], + "cost": null, + "detail_rows": null, + "ref_date_col": null, + "n_batches": 58, + "n_movements": null, + "yield_data": { + "values": [ + 99.0, 98.5, 99.8, 97.2, 99.5, 98.0, 100.2, 98.8, 99.2, 97.5, 99.0, 98.5, + 100.5, 99.2, 98.0, 97.8, 99.5, 98.2, 99.0, 98.8, 99.5, 97.0, 98.9, 99.1, + 99.4, 99.6, 98.8, 99.0, 99.3, 99.6, 99.5, 99.8, 100.1, 98.7, 99.5, 99.8, + 98.4, 98.7, 99.4, 98.1, 98.4, 98.6, 98.6, 98.9, 99.1, 99.4, 98.6, 98.8, + 99.0, 99.3, 99.3, 99.5, 99.8, 100.1, 99.2, 99.5, 99.8, 98.4 + ], + "observations": [ + { + "date": "2022-05-22", + "value": 99.0 + }, + { + "date": "2022-06-13", + "value": 98.5 + }, + { + "date": "2022-07-16", + "value": 99.8 + }, + { + "date": "2022-08-26", + "value": 97.2 + }, + { + "date": "2022-10-07", + "value": 99.5 + }, + { + "date": "2022-11-23", + "value": 98.0 + }, + { + "date": "2023-01-13", + "value": 100.2 + }, + { + "date": "2023-04-01", + "value": 98.8 + }, + { + "date": "2023-05-14", + "value": 99.2 + }, + { + "date": "2023-07-12", + "value": 97.5 + }, + { + "date": "2023-09-16", + "value": 99.0 + }, + { + "date": "2023-11-25", + "value": 98.5 + }, + { + "date": "2024-01-28", + "value": 100.5 + }, + { + "date": "2024-03-11", + "value": 99.2 + }, + { + "date": "2024-05-17", + "value": 98.0 + }, + { + "date": "2024-07-27", + "value": 97.8 + }, + { + "date": "2024-09-10", + "value": 99.5 + }, + { + "date": "2024-11-09", + "value": 98.2 + }, + { + "date": "2025-01-18", + "value": 99.0 + }, + { + "date": "2025-03-22", + "value": 98.8 + }, + { + "date": "2025-06-03", + "value": 99.5 + }, + { + "date": "2025-08-08", + "value": 97.0 + }, + { + "date": "2025-09-05", + "value": 98.9 + }, + { + "date": "2025-09-11", + "value": 99.1 + }, + { + "date": "2025-09-17", + "value": 99.4 + }, + { + "date": "2025-09-23", + "value": 99.6 + }, + { + "date": "2025-10-06", + "value": 98.8 + }, + { + "date": "2025-10-12", + "value": 99.0 + }, + { + "date": "2025-10-18", + "value": 99.3 + }, + { + "date": "2025-10-24", + "value": 99.6 + }, + { + "date": "2025-11-04", + "value": 99.5 + }, + { + "date": "2025-11-10", + "value": 99.8 + }, + { + "date": "2025-11-16", + "value": 100.1 + }, + { + "date": "2025-11-22", + "value": 98.7 + }, + { + "date": "2025-12-05", + "value": 99.5 + }, + { + "date": "2025-12-11", + "value": 99.8 + }, + { + "date": "2025-12-17", + "value": 98.4 + }, + { + "date": "2025-12-23", + "value": 98.7 + }, + { + "date": "2026-01-06", + "value": 99.4 + }, + { + "date": "2026-01-12", + "value": 98.1 + }, + { + "date": "2026-01-18", + "value": 98.4 + }, + { + "date": "2026-01-24", + "value": 98.6 + }, + { + "date": "2026-02-04", + "value": 98.6 + }, + { + "date": "2026-02-10", + "value": 98.9 + }, + { + "date": "2026-02-16", + "value": 99.1 + }, + { + "date": "2026-02-22", + "value": 99.4 + }, + { + "date": "2026-03-05", + "value": 98.6 + }, + { + "date": "2026-03-11", + "value": 98.8 + }, + { + "date": "2026-03-17", + "value": 99.0 + }, + { + "date": "2026-03-23", + "value": 99.3 + }, + { + "date": "2026-04-06", + "value": 99.3 + }, + { + "date": "2026-04-12", + "value": 99.5 + }, + { + "date": "2026-04-18", + "value": 99.8 + }, + { + "date": "2026-04-24", + "value": 100.1 + }, + { + "date": "2026-05-04", + "value": 99.2 + }, + { + "date": "2026-05-10", + "value": 99.5 + }, + { + "date": "2026-05-16", + "value": 99.8 + }, + { + "date": "2026-05-22", + "value": 98.4 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 99.0, + "median": 99.0, + "p10": 99.0, + "p25": 99.0, + "p75": 99.0, + "p90": 99.0, + "n": 1 + }, + { + "month": "2022-06", + "mean": 98.5, + "median": 98.5, + "p10": 98.5, + "p25": 98.5, + "p75": 98.5, + "p90": 98.5, + "n": 1 + }, + { + "month": "2022-07", + "mean": 99.8, + "median": 99.8, + "p10": 99.8, + "p25": 99.8, + "p75": 99.8, + "p90": 99.8, + "n": 1 + }, + { + "month": "2022-08", + "mean": 97.2, + "median": 97.2, + "p10": 97.2, + "p25": 97.2, + "p75": 97.2, + "p90": 97.2, + "n": 1 + }, + { + "month": "2022-10", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2022-11", + "mean": 98.0, + "median": 98.0, + "p10": 98.0, + "p25": 98.0, + "p75": 98.0, + "p90": 98.0, + "n": 1 + }, + { + "month": "2023-01", + "mean": 100.2, + "median": 100.2, + "p10": 100.2, + "p25": 100.2, + "p75": 100.2, + "p90": 100.2, + "n": 1 + }, + { + "month": "2023-04", + "mean": 98.8, + "median": 98.8, + "p10": 98.8, + "p25": 98.8, + "p75": 98.8, + "p90": 98.8, + "n": 1 + }, + { + "month": "2023-05", + "mean": 99.2, + "median": 99.2, + "p10": 99.2, + "p25": 99.2, + "p75": 99.2, + "p90": 99.2, + "n": 1 + }, + { + "month": "2023-07", + "mean": 97.5, + "median": 97.5, + "p10": 97.5, + "p25": 97.5, + "p75": 97.5, + "p90": 97.5, + "n": 1 + }, + { + "month": "2023-09", + "mean": 99.0, + "median": 99.0, + "p10": 99.0, + "p25": 99.0, + "p75": 99.0, + "p90": 99.0, + "n": 1 + }, + { + "month": "2023-11", + "mean": 98.5, + "median": 98.5, + "p10": 98.5, + "p25": 98.5, + "p75": 98.5, + "p90": 98.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 100.5, + "median": 100.5, + "p10": 100.5, + "p25": 100.5, + "p75": 100.5, + "p90": 100.5, + "n": 1 + }, + { + "month": "2024-03", + "mean": 99.2, + "median": 99.2, + "p10": 99.2, + "p25": 99.2, + "p75": 99.2, + "p90": 99.2, + "n": 1 + }, + { + "month": "2024-05", + "mean": 98.0, + "median": 98.0, + "p10": 98.0, + "p25": 98.0, + "p75": 98.0, + "p90": 98.0, + "n": 1 + }, + { + "month": "2024-07", + "mean": 97.8, + "median": 97.8, + "p10": 97.8, + "p25": 97.8, + "p75": 97.8, + "p90": 97.8, + "n": 1 + }, + { + "month": "2024-09", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2024-11", + "mean": 98.2, + "median": 98.2, + "p10": 98.2, + "p25": 98.2, + "p75": 98.2, + "p90": 98.2, + "n": 1 + }, + { + "month": "2025-01", + "mean": 99.0, + "median": 99.0, + "p10": 99.0, + "p25": 99.0, + "p75": 99.0, + "p90": 99.0, + "n": 1 + }, + { + "month": "2025-03", + "mean": 98.8, + "median": 98.8, + "p10": 98.8, + "p25": 98.8, + "p75": 98.8, + "p90": 98.8, + "n": 1 + }, + { + "month": "2025-06", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2025-08", + "mean": 97.0, + "median": 97.0, + "p10": 97.0, + "p25": 97.0, + "p75": 97.0, + "p90": 97.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 99.3, + "median": 99.3, + "p10": 99.0, + "p25": 99.1, + "p75": 99.5, + "p90": 99.5, + "n": 4 + }, + { + "month": "2025-10", + "mean": 99.2, + "median": 99.2, + "p10": 98.9, + "p25": 99.0, + "p75": 99.4, + "p90": 99.5, + "n": 4 + }, + { + "month": "2025-11", + "mean": 99.5, + "median": 99.7, + "p10": 98.9, + "p25": 99.3, + "p75": 99.9, + "p90": 100.0, + "n": 4 + }, + { + "month": "2025-12", + "mean": 99.1, + "median": 99.1, + "p10": 98.5, + "p25": 98.6, + "p75": 99.6, + "p90": 99.7, + "n": 4 + }, + { + "month": "2026-01", + "mean": 98.6, + "median": 98.5, + "p10": 98.2, + "p25": 98.3, + "p75": 98.8, + "p90": 99.2, + "n": 4 + }, + { + "month": "2026-02", + "mean": 99.0, + "median": 99.0, + "p10": 98.7, + "p25": 98.8, + "p75": 99.2, + "p90": 99.3, + "n": 4 + }, + { + "month": "2026-03", + "mean": 98.9, + "median": 98.9, + "p10": 98.7, + "p25": 98.8, + "p75": 99.1, + "p90": 99.2, + "n": 4 + }, + { + "month": "2026-04", + "mean": 99.7, + "median": 99.7, + "p10": 99.4, + "p25": 99.5, + "p75": 99.9, + "p90": 100.0, + "n": 4 + }, + { + "month": "2026-05", + "mean": 99.2, + "median": 99.4, + "p10": 98.6, + "p25": 99.0, + "p75": 99.6, + "p90": 99.7, + "n": 4 + } + ], + "stats": { + "n": 58, + "mean": 99.0, + "median": 99.1, + "std": 0.7, + "min": 97.0, + "max": 100.5, + "p25": 98.6, + "p75": 99.5, + "p85": 99.7, + "p95": 100.1 + }, + "reference": 100.0 + }, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/prod_to_qa_pla.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/prod_to_qa_pla.json new file mode 100644 index 00000000000..5691dea59b3 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/prod_to_qa_pla.json @@ -0,0 +1,581 @@ +{ + "id": "prod_to_qa_pla", + "label": "Production \u2192 QA Release (PL-A)", + "type": "qa_hold", + "durations": [ + 2.7, 1.4, 4.1, 2.7, 6.8, 2.7, 5.4, 4.1, 8.1, 2.7, 17.6, 4.1, 9.5, 1.4, 5.4, + 6.8, 2.7, 0.0, 4.1, 10.8, 2.7, 6.8, 2.7, 4.1, 4.1, 4.1, 4.1, 4.1, 5.4, 5.4, + 4.1, 4.1, 4.1, 5.4, 4.1, 4.1, 4.1, 2.7, 5.4, 5.4, 4.1, 4.1, 5.4, 2.7, 4.1, + 4.1, 4.1, 4.1, 4.1, 5.4, 4.1, 4.1, 4.1, 4.1, 4.1, 4.1, 4.1, 4.1 + ], + "observations": [ + { + "date": "2022-05-22", + "value": 2.7 + }, + { + "date": "2022-06-13", + "value": 1.4 + }, + { + "date": "2022-07-16", + "value": 4.1 + }, + { + "date": "2022-08-26", + "value": 2.7 + }, + { + "date": "2022-10-07", + "value": 6.8 + }, + { + "date": "2022-11-23", + "value": 2.7 + }, + { + "date": "2023-01-13", + "value": 5.4 + }, + { + "date": "2023-04-01", + "value": 4.1 + }, + { + "date": "2023-05-14", + "value": 8.1 + }, + { + "date": "2023-07-12", + "value": 2.7 + }, + { + "date": "2023-09-16", + "value": 17.6 + }, + { + "date": "2023-11-25", + "value": 4.1 + }, + { + "date": "2024-01-28", + "value": 9.5 + }, + { + "date": "2024-03-11", + "value": 1.4 + }, + { + "date": "2024-05-17", + "value": 5.4 + }, + { + "date": "2024-07-27", + "value": 6.8 + }, + { + "date": "2024-09-10", + "value": 2.7 + }, + { + "date": "2024-11-09", + "value": 0.0 + }, + { + "date": "2025-01-18", + "value": 4.1 + }, + { + "date": "2025-03-22", + "value": 10.8 + }, + { + "date": "2025-06-03", + "value": 2.7 + }, + { + "date": "2025-08-08", + "value": 6.8 + }, + { + "date": "2025-09-04", + "value": 2.7 + }, + { + "date": "2025-09-10", + "value": 4.1 + }, + { + "date": "2025-09-16", + "value": 4.1 + }, + { + "date": "2025-09-22", + "value": 4.1 + }, + { + "date": "2025-10-05", + "value": 4.1 + }, + { + "date": "2025-10-11", + "value": 4.1 + }, + { + "date": "2025-10-17", + "value": 5.4 + }, + { + "date": "2025-10-23", + "value": 5.4 + }, + { + "date": "2025-11-06", + "value": 4.1 + }, + { + "date": "2025-11-12", + "value": 4.1 + }, + { + "date": "2025-11-18", + "value": 4.1 + }, + { + "date": "2025-11-24", + "value": 5.4 + }, + { + "date": "2025-12-04", + "value": 4.1 + }, + { + "date": "2025-12-10", + "value": 4.1 + }, + { + "date": "2025-12-16", + "value": 4.1 + }, + { + "date": "2025-12-22", + "value": 2.7 + }, + { + "date": "2026-01-05", + "value": 5.4 + }, + { + "date": "2026-01-11", + "value": 5.4 + }, + { + "date": "2026-01-17", + "value": 4.1 + }, + { + "date": "2026-01-23", + "value": 4.1 + }, + { + "date": "2026-02-06", + "value": 5.4 + }, + { + "date": "2026-02-12", + "value": 2.7 + }, + { + "date": "2026-02-18", + "value": 4.1 + }, + { + "date": "2026-02-24", + "value": 4.1 + }, + { + "date": "2026-03-04", + "value": 4.1 + }, + { + "date": "2026-03-10", + "value": 4.1 + }, + { + "date": "2026-03-16", + "value": 4.1 + }, + { + "date": "2026-03-22", + "value": 5.4 + }, + { + "date": "2026-04-05", + "value": 4.1 + }, + { + "date": "2026-04-11", + "value": 4.1 + }, + { + "date": "2026-04-17", + "value": 4.1 + }, + { + "date": "2026-04-23", + "value": 4.1 + }, + { + "date": "2026-05-06", + "value": 4.1 + }, + { + "date": "2026-05-12", + "value": 4.1 + }, + { + "date": "2026-05-18", + "value": 4.1 + }, + { + "date": "2026-05-24", + "value": 4.1 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2022-06", + "mean": 1.4, + "median": 1.4, + "p10": 1.4, + "p25": 1.4, + "p75": 1.4, + "p90": 1.4, + "n": 1 + }, + { + "month": "2022-07", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-08", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2022-10", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2022-11", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2023-01", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2023-04", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2023-05", + "mean": 8.1, + "median": 8.1, + "p10": 8.1, + "p25": 8.1, + "p75": 8.1, + "p90": 8.1, + "n": 1 + }, + { + "month": "2023-07", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2023-09", + "mean": 17.6, + "median": 17.6, + "p10": 17.6, + "p25": 17.6, + "p75": 17.6, + "p90": 17.6, + "n": 1 + }, + { + "month": "2023-11", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-01", + "mean": 9.5, + "median": 9.5, + "p10": 9.5, + "p25": 9.5, + "p75": 9.5, + "p90": 9.5, + "n": 1 + }, + { + "month": "2024-03", + "mean": 1.4, + "median": 1.4, + "p10": 1.4, + "p25": 1.4, + "p75": 1.4, + "p90": 1.4, + "n": 1 + }, + { + "month": "2024-05", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2024-07", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2024-09", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2024-11", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-03", + "mean": 10.8, + "median": 10.8, + "p10": 10.8, + "p25": 10.8, + "p75": 10.8, + "p90": 10.8, + "n": 1 + }, + { + "month": "2025-06", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2025-08", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2025-09", + "mean": 3.8, + "median": 4.1, + "p10": 3.1, + "p25": 3.8, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2025-10", + "mean": 4.7, + "median": 4.7, + "p10": 4.1, + "p25": 4.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2025-11", + "mean": 4.5, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2025-12", + "mean": 3.8, + "median": 4.1, + "p10": 3.1, + "p25": 3.8, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2026-01", + "mean": 4.7, + "median": 4.7, + "p10": 4.1, + "p25": 4.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2026-02", + "mean": 4.1, + "median": 4.1, + "p10": 3.1, + "p25": 3.8, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-03", + "mean": 4.5, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-04", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2026-05", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 4 + } + ], + "stats": { + "n": 58, + "mean": 4.6, + "median": 4.1, + "std": 1.8, + "min": 0.0, + "max": 17.6, + "p25": 4.1, + "p75": 5.4, + "p85": 5.4, + "p95": 8.1 + }, + "plifz": 5, + "plifz_note": "WEBAZ (GR processing days)", + "pct_exceeding_plifz": 6.9, + "annotations": [], + "cost": null, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": null, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/raw_dwell_highland_arabica.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/raw_dwell_highland_arabica.json new file mode 100644 index 00000000000..85ebb24301c --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/raw_dwell_highland_arabica.json @@ -0,0 +1,689 @@ +{ + "id": "raw_dwell_highland_arabica", + "label": "Raw Material Dwell: Highland Arabica", + "type": "raw_material_dwell", + "durations": [ + 47.2, 83.7, 24.3, 118.8, 56.7, 74.2, 40.5, 97.2, 33.8, 64.8, 20.2, 128.2, + 175.5, 60.8, 51.3, 87.8, 29.7, 105.3, 6.8, 74.2, 54.0, 37.8, 114.8, 67.5, + 148.5, 43.2, 91.8, 60.8, 124.2, 27.0, 78.3, 47.2, 56.7, 101.2, 16.2, 64.8, + 81.0, 51.3, 66.2, 72.9, 45.9, 52.7, 56.7, 82.4, 55.4, 62.1, 66.2, 71.6, + 48.6, 55.4, 59.4, 64.8, 70.2, 48.6, 52.7, 58.1, 63.5, 68.9, 63.5, 67.5, + 72.9, 78.3, 52.7, 60.8, 66.2, 72.9, 45.9, 52.7, 75.6, 82.4, 55.4, 62.1, + 66.2, 75.6, 48.6, 55.4, 59.4, 64.8, 43.2, 48.6, 52.7, 58.1, 63.5 + ], + "observations": [ + { + "date": "2022-04-02", + "value": 47.2 + }, + { + "date": "2022-04-15", + "value": 83.7 + }, + { + "date": "2022-04-28", + "value": 24.3 + }, + { + "date": "2022-08-05", + "value": 118.8 + }, + { + "date": "2022-08-12", + "value": 56.7 + }, + { + "date": "2022-08-20", + "value": 74.2 + }, + { + "date": "2022-08-28", + "value": 40.5 + }, + { + "date": "2023-01-10", + "value": 97.2 + }, + { + "date": "2023-01-22", + "value": 33.8 + }, + { + "date": "2023-01-30", + "value": 64.8 + }, + { + "date": "2023-06-05", + "value": 20.2 + }, + { + "date": "2023-06-18", + "value": 128.2 + }, + { + "date": "2023-10-03", + "value": 175.5 + }, + { + "date": "2023-10-10", + "value": 60.8 + }, + { + "date": "2023-10-18", + "value": 51.3 + }, + { + "date": "2023-10-25", + "value": 87.8 + }, + { + "date": "2023-10-30", + "value": 29.7 + }, + { + "date": "2024-03-05", + "value": 105.3 + }, + { + "date": "2024-03-12", + "value": 6.8 + }, + { + "date": "2024-03-20", + "value": 74.2 + }, + { + "date": "2024-03-28", + "value": 54.0 + }, + { + "date": "2024-07-08", + "value": 37.8 + }, + { + "date": "2024-07-15", + "value": 114.8 + }, + { + "date": "2024-07-22", + "value": 67.5 + }, + { + "date": "2024-11-04", + "value": 148.5 + }, + { + "date": "2024-11-11", + "value": 43.2 + }, + { + "date": "2024-11-18", + "value": 91.8 + }, + { + "date": "2024-11-25", + "value": 60.8 + }, + { + "date": "2024-11-30", + "value": 124.2 + }, + { + "date": "2025-03-03", + "value": 27.0 + }, + { + "date": "2025-03-10", + "value": 78.3 + }, + { + "date": "2025-03-17", + "value": 47.2 + }, + { + "date": "2025-03-24", + "value": 56.7 + }, + { + "date": "2025-07-02", + "value": 101.2 + }, + { + "date": "2025-07-09", + "value": 16.2 + }, + { + "date": "2025-07-16", + "value": 64.8 + }, + { + "date": "2025-07-23", + "value": 81.0 + }, + { + "date": "2025-07-30", + "value": 51.3 + }, + { + "date": "2025-09-05", + "value": 66.2 + }, + { + "date": "2025-09-11", + "value": 72.9 + }, + { + "date": "2025-09-17", + "value": 45.9 + }, + { + "date": "2025-09-23", + "value": 52.7 + }, + { + "date": "2025-09-29", + "value": 56.7 + }, + { + "date": "2025-10-06", + "value": 82.4 + }, + { + "date": "2025-10-12", + "value": 55.4 + }, + { + "date": "2025-10-18", + "value": 62.1 + }, + { + "date": "2025-10-24", + "value": 66.2 + }, + { + "date": "2025-10-30", + "value": 71.6 + }, + { + "date": "2025-11-04", + "value": 48.6 + }, + { + "date": "2025-11-10", + "value": 55.4 + }, + { + "date": "2025-11-16", + "value": 59.4 + }, + { + "date": "2025-11-22", + "value": 64.8 + }, + { + "date": "2025-11-28", + "value": 70.2 + }, + { + "date": "2025-12-05", + "value": 48.6 + }, + { + "date": "2025-12-11", + "value": 52.7 + }, + { + "date": "2025-12-17", + "value": 58.1 + }, + { + "date": "2025-12-23", + "value": 63.5 + }, + { + "date": "2025-12-29", + "value": 68.9 + }, + { + "date": "2026-01-06", + "value": 63.5 + }, + { + "date": "2026-01-12", + "value": 67.5 + }, + { + "date": "2026-01-18", + "value": 72.9 + }, + { + "date": "2026-01-24", + "value": 78.3 + }, + { + "date": "2026-01-30", + "value": 52.7 + }, + { + "date": "2026-02-04", + "value": 60.8 + }, + { + "date": "2026-02-10", + "value": 66.2 + }, + { + "date": "2026-02-16", + "value": 72.9 + }, + { + "date": "2026-02-22", + "value": 45.9 + }, + { + "date": "2026-02-28", + "value": 52.7 + }, + { + "date": "2026-03-05", + "value": 75.6 + }, + { + "date": "2026-03-11", + "value": 82.4 + }, + { + "date": "2026-03-17", + "value": 55.4 + }, + { + "date": "2026-03-23", + "value": 62.1 + }, + { + "date": "2026-03-29", + "value": 66.2 + }, + { + "date": "2026-04-06", + "value": 75.6 + }, + { + "date": "2026-04-12", + "value": 48.6 + }, + { + "date": "2026-04-18", + "value": 55.4 + }, + { + "date": "2026-04-24", + "value": 59.4 + }, + { + "date": "2026-04-30", + "value": 64.8 + }, + { + "date": "2026-05-04", + "value": 43.2 + }, + { + "date": "2026-05-10", + "value": 48.6 + }, + { + "date": "2026-05-16", + "value": 52.7 + }, + { + "date": "2026-05-22", + "value": 58.1 + }, + { + "date": "2026-05-28", + "value": 63.5 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 51.7, + "median": 47.2, + "p10": 28.9, + "p25": 35.8, + "p75": 65.5, + "p90": 76.4, + "n": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "mean": 72.6, + "median": 65.5, + "p10": 45.4, + "p25": 52.7, + "p75": 85.5, + "p90": 105.4, + "n": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "mean": 65.2, + "median": 64.8, + "p10": 40.0, + "p25": 49.3, + "p75": 81.0, + "p90": 90.7, + "n": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "mean": 74.2, + "median": 74.2, + "p10": 31.1, + "p25": 47.2, + "p75": 101.2, + "p90": 117.5, + "n": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "mean": 81.0, + "median": 60.8, + "p10": 38.3, + "p25": 51.3, + "p75": 87.8, + "p90": 140.4, + "n": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "mean": 60.1, + "median": 64.1, + "p10": 20.9, + "p25": 42.3, + "p75": 82.1, + "p90": 96.0, + "n": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "mean": 73.3, + "median": 67.5, + "p10": 43.7, + "p25": 52.7, + "p75": 91.1, + "p90": 105.3, + "n": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "mean": 93.7, + "median": 91.8, + "p10": 50.2, + "p25": 60.8, + "p75": 124.2, + "p90": 138.8, + "n": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "mean": 52.4, + "median": 52.0, + "p10": 33.1, + "p25": 42.3, + "p75": 62.1, + "p90": 71.8, + "n": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "mean": 62.9, + "median": 64.8, + "p10": 30.2, + "p25": 51.3, + "p75": 81.0, + "p90": 93.2, + "n": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "mean": 58.9, + "median": 56.7, + "p10": 48.6, + "p25": 52.7, + "p75": 66.2, + "p90": 70.2, + "n": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "mean": 67.5, + "median": 66.2, + "p10": 58.1, + "p25": 62.1, + "p75": 71.6, + "p90": 78.0, + "n": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "mean": 59.7, + "median": 59.4, + "p10": 51.3, + "p25": 55.4, + "p75": 64.8, + "p90": 68.0, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "mean": 58.3, + "median": 58.1, + "p10": 50.2, + "p25": 52.7, + "p75": 63.5, + "p90": 66.7, + "n": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "mean": 67.0, + "median": 67.5, + "p10": 57.0, + "p25": 63.5, + "p75": 72.9, + "p90": 76.1, + "n": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "mean": 59.7, + "median": 60.8, + "p10": 48.6, + "p25": 52.7, + "p75": 66.2, + "p90": 70.2, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "mean": 68.3, + "median": 66.2, + "p10": 58.1, + "p25": 62.1, + "p75": 75.6, + "p90": 79.7, + "n": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "mean": 60.8, + "median": 59.4, + "p10": 51.3, + "p25": 55.4, + "p75": 64.8, + "p90": 71.3, + "n": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "mean": 53.2, + "median": 52.7, + "p10": 45.4, + "p25": 48.6, + "p75": 58.1, + "p90": 61.3, + "n": 5, + "total_kg_days": 827400.0 + } + ], + "stats": { + "n": 83, + "mean": 65.2, + "median": 62.1, + "std": 19.8, + "min": 6.8, + "max": 175.5, + "p25": 51.3, + "p75": 72.9, + "p85": 82.4, + "p95": 114.8 + }, + "plifz": 30, + "plifz_note": null, + "pct_exceeding_plifz": 89.2, + "annotations": [ + { + "date": "2023-09-01", + "label": "Supplier change for Highland Arabica" + } + ], + "cost": { + "unit_price": 4.32, + "currency": "CHF", + "mean_qty": 4200.0, + "monthly": [ + { + "month": "2022-04", + "n_events": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "n_events": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "n_events": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "n_events": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "n_events": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "n_events": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "n_events": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "n_events": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "n_events": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "n_events": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 827400.0 + } + ] + }, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": 38, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/raw_dwell_lowland_robusta.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/raw_dwell_lowland_robusta.json new file mode 100644 index 00000000000..0d7c87d270c --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/raw_dwell_lowland_robusta.json @@ -0,0 +1,563 @@ +{ + "id": "raw_dwell_lowland_robusta", + "label": "Raw Material Dwell: Lowland Robusta", + "type": "raw_material_dwell", + "durations": [ + 37.8, 60.8, 16.2, 83.7, 44.6, 105.3, 27.0, 74.2, 10.8, 56.7, 87.8, 51.3, + 20.2, 97.2, 33.8, 64.8, 4.1, 114.8, 40.5, 74.2, 29.7, 54.0, 132.3, 24.3, + 52.7, 55.4, 60.8, 40.5, 45.9, 51.3, 55.4, 36.5, 40.5, 43.2, 51.3, 31.1, + 36.5, 39.2, 43.2, 37.8, 43.2, 45.9, 50.0, 54.0, 37.8, 41.9, 44.6, 48.6, + 52.7, 48.6, 52.7, 55.4, 60.8, 40.5, 47.2, 51.3, 55.4, 36.5, 40.5, 45.9, + 51.3, 31.1, 36.5, 39.2, 58.1, 37.8, 43.2, 45.9, 50.0 + ], + "observations": [ + { + "date": "2022-05-02", + "value": 37.8 + }, + { + "date": "2022-05-10", + "value": 60.8 + }, + { + "date": "2022-05-18", + "value": 16.2 + }, + { + "date": "2022-05-25", + "value": 83.7 + }, + { + "date": "2023-02-06", + "value": 44.6 + }, + { + "date": "2023-02-14", + "value": 105.3 + }, + { + "date": "2023-02-22", + "value": 27.0 + }, + { + "date": "2023-02-28", + "value": 74.2 + }, + { + "date": "2023-09-05", + "value": 10.8 + }, + { + "date": "2023-09-15", + "value": 56.7 + }, + { + "date": "2023-09-25", + "value": 87.8 + }, + { + "date": "2024-04-03", + "value": 51.3 + }, + { + "date": "2024-04-10", + "value": 20.2 + }, + { + "date": "2024-04-17", + "value": 97.2 + }, + { + "date": "2024-04-24", + "value": 33.8 + }, + { + "date": "2024-10-02", + "value": 64.8 + }, + { + "date": "2024-10-09", + "value": 4.1 + }, + { + "date": "2024-10-16", + "value": 114.8 + }, + { + "date": "2024-10-23", + "value": 40.5 + }, + { + "date": "2024-10-30", + "value": 74.2 + }, + { + "date": "2025-04-07", + "value": 29.7 + }, + { + "date": "2025-04-14", + "value": 54.0 + }, + { + "date": "2025-04-21", + "value": 132.3 + }, + { + "date": "2025-04-28", + "value": 24.3 + }, + { + "date": "2025-09-04", + "value": 52.7 + }, + { + "date": "2025-09-10", + "value": 55.4 + }, + { + "date": "2025-09-16", + "value": 60.8 + }, + { + "date": "2025-09-22", + "value": 40.5 + }, + { + "date": "2025-09-28", + "value": 45.9 + }, + { + "date": "2025-10-05", + "value": 51.3 + }, + { + "date": "2025-10-11", + "value": 55.4 + }, + { + "date": "2025-10-17", + "value": 36.5 + }, + { + "date": "2025-10-23", + "value": 40.5 + }, + { + "date": "2025-10-29", + "value": 43.2 + }, + { + "date": "2025-11-06", + "value": 51.3 + }, + { + "date": "2025-11-12", + "value": 31.1 + }, + { + "date": "2025-11-18", + "value": 36.5 + }, + { + "date": "2025-11-24", + "value": 39.2 + }, + { + "date": "2025-11-30", + "value": 43.2 + }, + { + "date": "2025-12-04", + "value": 37.8 + }, + { + "date": "2025-12-10", + "value": 43.2 + }, + { + "date": "2025-12-16", + "value": 45.9 + }, + { + "date": "2025-12-22", + "value": 50.0 + }, + { + "date": "2025-12-28", + "value": 54.0 + }, + { + "date": "2026-01-05", + "value": 37.8 + }, + { + "date": "2026-01-11", + "value": 41.9 + }, + { + "date": "2026-01-17", + "value": 44.6 + }, + { + "date": "2026-01-23", + "value": 48.6 + }, + { + "date": "2026-01-29", + "value": 52.7 + }, + { + "date": "2026-02-06", + "value": 48.6 + }, + { + "date": "2026-02-12", + "value": 52.7 + }, + { + "date": "2026-02-18", + "value": 55.4 + }, + { + "date": "2026-02-24", + "value": 60.8 + }, + { + "date": "2026-02-30", + "value": 40.5 + }, + { + "date": "2026-03-04", + "value": 47.2 + }, + { + "date": "2026-03-10", + "value": 51.3 + }, + { + "date": "2026-03-16", + "value": 55.4 + }, + { + "date": "2026-03-22", + "value": 36.5 + }, + { + "date": "2026-03-28", + "value": 40.5 + }, + { + "date": "2026-04-05", + "value": 45.9 + }, + { + "date": "2026-04-11", + "value": 51.3 + }, + { + "date": "2026-04-17", + "value": 31.1 + }, + { + "date": "2026-04-23", + "value": 36.5 + }, + { + "date": "2026-04-29", + "value": 39.2 + }, + { + "date": "2026-05-06", + "value": 58.1 + }, + { + "date": "2026-05-12", + "value": 37.8 + }, + { + "date": "2026-05-18", + "value": 43.2 + }, + { + "date": "2026-05-24", + "value": 45.9 + }, + { + "date": "2026-05-30", + "value": 50.0 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 49.7, + "median": 49.3, + "p10": 22.7, + "p25": 32.4, + "p75": 66.6, + "p90": 76.8, + "n": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "mean": 62.8, + "median": 59.4, + "p10": 32.3, + "p25": 40.2, + "p75": 82.1, + "p90": 96.0, + "n": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "mean": 51.7, + "median": 56.7, + "p10": 20.0, + "p25": 33.8, + "p75": 72.2, + "p90": 81.5, + "n": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "mean": 50.6, + "median": 42.5, + "p10": 24.3, + "p25": 30.4, + "p75": 62.8, + "p90": 83.4, + "n": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "mean": 59.7, + "median": 64.8, + "p10": 18.6, + "p25": 40.5, + "p75": 74.2, + "p90": 98.6, + "n": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "mean": 60.1, + "median": 41.9, + "p10": 25.9, + "p25": 28.4, + "p75": 73.6, + "p90": 108.8, + "n": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "mean": 51.0, + "median": 52.7, + "p10": 42.7, + "p25": 45.9, + "p75": 55.4, + "p90": 58.6, + "n": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "mean": 45.4, + "median": 43.2, + "p10": 38.1, + "p25": 40.5, + "p75": 51.3, + "p90": 53.7, + "n": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "mean": 40.2, + "median": 39.2, + "p10": 33.2, + "p25": 36.5, + "p75": 43.2, + "p90": 48.1, + "n": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "mean": 46.2, + "median": 45.9, + "p10": 40.0, + "p25": 43.2, + "p75": 50.0, + "p90": 52.4, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "mean": 45.1, + "median": 44.6, + "p10": 39.4, + "p25": 41.9, + "p75": 48.6, + "p90": 51.0, + "n": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "mean": 51.6, + "median": 52.7, + "p10": 43.7, + "p25": 48.6, + "p75": 55.4, + "p90": 58.6, + "n": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "mean": 46.2, + "median": 47.2, + "p10": 38.1, + "p25": 40.5, + "p75": 51.3, + "p90": 53.7, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "mean": 40.8, + "median": 39.2, + "p10": 33.2, + "p25": 36.5, + "p75": 45.9, + "p90": 49.1, + "n": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "mean": 47.0, + "median": 45.9, + "p10": 40.0, + "p25": 43.2, + "p75": 50.0, + "p90": 54.8, + "n": 5, + "total_kg_days": 1131000.0 + } + ], + "stats": { + "n": 69, + "mean": 49.5, + "median": 45.9, + "std": 15.8, + "min": 4.1, + "max": 132.3, + "p25": 37.8, + "p75": 55.4, + "p85": 60.8, + "p95": 87.8 + }, + "plifz": 21, + "plifz_note": null, + "pct_exceeding_plifz": 91.3, + "annotations": [], + "cost": { + "unit_price": 2.43, + "currency": "CHF", + "mean_qty": 6500.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "n_events": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "n_events": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "n_events": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "n_events": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "n_events": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 1131000.0 + } + ] + }, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": 42, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/raw_dwell_washed_bourbon.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/raw_dwell_washed_bourbon.json new file mode 100644 index 00000000000..9f66b99b8a5 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/raw_dwell_washed_bourbon.json @@ -0,0 +1,567 @@ +{ + "id": "raw_dwell_washed_bourbon", + "label": "Raw Material Dwell: Washed Bourbon", + "type": "raw_material_dwell", + "durations": [ + 54.0, 29.7, 91.8, 5.4, 74.2, 155.2, 40.5, 83.7, 24.3, 114.8, 47.2, 97.2, + 13.5, 64.8, 128.2, 37.8, 70.2, 20.2, 105.3, 56.7, 10.8, 87.8, 44.6, 135.0, + 27.0, 55.4, 60.8, 64.8, 70.2, 45.9, 54.0, 59.4, 64.8, 40.5, 45.9, 67.5, + 72.9, 48.6, 55.4, 59.4, 67.5, 43.2, 48.6, 52.7, 58.1, 37.8, 43.2, 47.2, + 51.3, 56.7, 52.7, 55.4, 60.8, 64.8, 70.2, 50.0, 54.0, 59.4, 64.8, 40.5, + 63.5, 67.5, 72.9, 48.6, 55.4, 62.1, 67.5, 43.2, 48.6, 52.7 + ], + "observations": [ + { + "date": "2022-06-05", + "value": 54.0 + }, + { + "date": "2022-06-15", + "value": 29.7 + }, + { + "date": "2022-06-25", + "value": 91.8 + }, + { + "date": "2023-03-08", + "value": 5.4 + }, + { + "date": "2023-03-15", + "value": 74.2 + }, + { + "date": "2023-03-22", + "value": 155.2 + }, + { + "date": "2023-03-29", + "value": 40.5 + }, + { + "date": "2023-11-06", + "value": 83.7 + }, + { + "date": "2023-11-13", + "value": 24.3 + }, + { + "date": "2023-11-20", + "value": 114.8 + }, + { + "date": "2024-06-03", + "value": 47.2 + }, + { + "date": "2024-06-10", + "value": 97.2 + }, + { + "date": "2024-06-17", + "value": 13.5 + }, + { + "date": "2024-06-24", + "value": 64.8 + }, + { + "date": "2024-06-30", + "value": 128.2 + }, + { + "date": "2025-01-07", + "value": 37.8 + }, + { + "date": "2025-01-14", + "value": 70.2 + }, + { + "date": "2025-01-21", + "value": 20.2 + }, + { + "date": "2025-01-28", + "value": 105.3 + }, + { + "date": "2025-08-04", + "value": 56.7 + }, + { + "date": "2025-08-08", + "value": 10.8 + }, + { + "date": "2025-08-12", + "value": 87.8 + }, + { + "date": "2025-08-16", + "value": 44.6 + }, + { + "date": "2025-08-20", + "value": 135.0 + }, + { + "date": "2025-08-24", + "value": 27.0 + }, + { + "date": "2025-09-06", + "value": 55.4 + }, + { + "date": "2025-09-12", + "value": 60.8 + }, + { + "date": "2025-09-18", + "value": 64.8 + }, + { + "date": "2025-09-24", + "value": 70.2 + }, + { + "date": "2025-09-30", + "value": 45.9 + }, + { + "date": "2025-10-04", + "value": 54.0 + }, + { + "date": "2025-10-10", + "value": 59.4 + }, + { + "date": "2025-10-16", + "value": 64.8 + }, + { + "date": "2025-10-22", + "value": 40.5 + }, + { + "date": "2025-10-28", + "value": 45.9 + }, + { + "date": "2025-11-05", + "value": 67.5 + }, + { + "date": "2025-11-11", + "value": 72.9 + }, + { + "date": "2025-11-17", + "value": 48.6 + }, + { + "date": "2025-11-23", + "value": 55.4 + }, + { + "date": "2025-11-29", + "value": 59.4 + }, + { + "date": "2025-12-06", + "value": 67.5 + }, + { + "date": "2025-12-12", + "value": 43.2 + }, + { + "date": "2025-12-18", + "value": 48.6 + }, + { + "date": "2025-12-24", + "value": 52.7 + }, + { + "date": "2025-12-30", + "value": 58.1 + }, + { + "date": "2026-01-04", + "value": 37.8 + }, + { + "date": "2026-01-10", + "value": 43.2 + }, + { + "date": "2026-01-16", + "value": 47.2 + }, + { + "date": "2026-01-22", + "value": 51.3 + }, + { + "date": "2026-01-28", + "value": 56.7 + }, + { + "date": "2026-02-05", + "value": 52.7 + }, + { + "date": "2026-02-11", + "value": 55.4 + }, + { + "date": "2026-02-17", + "value": 60.8 + }, + { + "date": "2026-02-23", + "value": 64.8 + }, + { + "date": "2026-02-29", + "value": 70.2 + }, + { + "date": "2026-03-06", + "value": 50.0 + }, + { + "date": "2026-03-12", + "value": 54.0 + }, + { + "date": "2026-03-18", + "value": 59.4 + }, + { + "date": "2026-03-24", + "value": 64.8 + }, + { + "date": "2026-03-30", + "value": 40.5 + }, + { + "date": "2026-04-04", + "value": 63.5 + }, + { + "date": "2026-04-10", + "value": 67.5 + }, + { + "date": "2026-04-16", + "value": 72.9 + }, + { + "date": "2026-04-22", + "value": 48.6 + }, + { + "date": "2026-04-28", + "value": 55.4 + }, + { + "date": "2026-05-05", + "value": 62.1 + }, + { + "date": "2026-05-11", + "value": 67.5 + }, + { + "date": "2026-05-17", + "value": 43.2 + }, + { + "date": "2026-05-23", + "value": 48.6 + }, + { + "date": "2026-05-29", + "value": 52.7 + } + ], + "monthly": [ + { + "month": "2022-06", + "mean": 58.5, + "median": 54.0, + "p10": 34.6, + "p25": 41.9, + "p75": 72.9, + "p90": 84.2, + "n": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "mean": 68.9, + "median": 57.4, + "p10": 15.9, + "p25": 31.7, + "p75": 94.5, + "p90": 131.0, + "n": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "mean": 74.2, + "median": 83.7, + "p10": 36.2, + "p25": 54.0, + "p75": 99.2, + "p90": 108.5, + "n": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "mean": 70.2, + "median": 64.8, + "p10": 27.0, + "p25": 47.2, + "p75": 97.2, + "p90": 115.8, + "n": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "mean": 58.5, + "median": 54.0, + "p10": 25.5, + "p25": 33.5, + "p75": 79.0, + "p90": 94.8, + "n": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "mean": 60.3, + "median": 50.6, + "p10": 18.9, + "p25": 31.5, + "p75": 80.1, + "p90": 111.4, + "n": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "mean": 59.4, + "median": 60.8, + "p10": 49.7, + "p25": 55.4, + "p75": 64.8, + "p90": 68.0, + "n": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "mean": 52.9, + "median": 54.0, + "p10": 42.7, + "p25": 45.9, + "p75": 59.4, + "p90": 62.6, + "n": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "mean": 60.8, + "median": 59.4, + "p10": 51.3, + "p25": 55.4, + "p75": 67.5, + "p90": 70.7, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "mean": 54.0, + "median": 52.7, + "p10": 45.4, + "p25": 48.6, + "p75": 58.1, + "p90": 63.7, + "n": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "mean": 47.2, + "median": 47.2, + "p10": 40.0, + "p25": 43.2, + "p75": 51.3, + "p90": 54.5, + "n": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "mean": 60.8, + "median": 60.8, + "p10": 53.7, + "p25": 55.4, + "p75": 64.8, + "p90": 68.0, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "mean": 53.7, + "median": 54.0, + "p10": 44.3, + "p25": 50.0, + "p75": 59.4, + "p90": 62.6, + "n": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "mean": 61.6, + "median": 63.5, + "p10": 51.3, + "p25": 55.4, + "p75": 67.5, + "p90": 70.7, + "n": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "mean": 54.8, + "median": 52.7, + "p10": 45.4, + "p25": 48.6, + "p75": 62.1, + "p90": 65.3, + "n": 5, + "total_kg_days": 568400.0 + } + ], + "stats": { + "n": 70, + "mean": 59.2, + "median": 55.4, + "std": 19.1, + "min": 5.4, + "max": 155.2, + "p25": 45.9, + "p75": 67.5, + "p85": 72.9, + "p95": 105.3 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 95.7, + "annotations": [], + "cost": { + "unit_price": 7.425, + "currency": "CHF", + "mean_qty": 2800.0, + "monthly": [ + { + "month": "2022-06", + "n_events": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "n_events": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "n_events": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "n_events": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "n_events": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "n_events": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 568400.0 + } + ] + }, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": 25, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/transit_pla_hub1.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/transit_pla_hub1.json new file mode 100644 index 00000000000..8b1cc2cbd93 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/meadow-espresso/steps/transit_pla_hub1.json @@ -0,0 +1,437 @@ +{ + "id": "transit_pla_hub1", + "label": "Transit PL-A \u2192 HUB-1", + "type": "transit", + "durations": [ + 37.8, 47.2, 29.7, 56.7, 40.5, 74.2, 33.8, 51.3, 20.2, 43.2, 37.8, 60.8, + 40.5, 29.7, 48.6, 51.3, 52.7, 35.1, 48.6, 31.1, 35.1, 36.5, 41.9, 44.6, + 36.5, 39.2, 43.2, 35.1, 39.2, 41.9, 44.6, 48.6, 52.7, 44.6, 48.6, 31.1, + 54.0, 36.5, 41.9, 32.4, 36.5, 39.2 + ], + "observations": [ + { + "date": "2022-07-20", + "value": 37.8 + }, + { + "date": "2022-11-30", + "value": 47.2 + }, + { + "date": "2023-03-15", + "value": 29.7 + }, + { + "date": "2023-07-10", + "value": 56.7 + }, + { + "date": "2023-10-25", + "value": 40.5 + }, + { + "date": "2024-02-08", + "value": 74.2 + }, + { + "date": "2024-05-20", + "value": 33.8 + }, + { + "date": "2024-08-12", + "value": 51.3 + }, + { + "date": "2024-11-05", + "value": 20.2 + }, + { + "date": "2025-01-22", + "value": 43.2 + }, + { + "date": "2025-04-10", + "value": 37.8 + }, + { + "date": "2025-06-18", + "value": 60.8 + }, + { + "date": "2025-07-15", + "value": 40.5 + }, + { + "date": "2025-08-05", + "value": 29.7 + }, + { + "date": "2025-09-05", + "value": 48.6 + }, + { + "date": "2025-09-10", + "value": 51.3 + }, + { + "date": "2025-09-11", + "value": 52.7 + }, + { + "date": "2025-09-17", + "value": 35.1 + }, + { + "date": "2025-10-06", + "value": 48.6 + }, + { + "date": "2025-10-12", + "value": 31.1 + }, + { + "date": "2025-10-18", + "value": 35.1 + }, + { + "date": "2025-11-04", + "value": 36.5 + }, + { + "date": "2025-11-10", + "value": 41.9 + }, + { + "date": "2025-11-16", + "value": 44.6 + }, + { + "date": "2025-12-05", + "value": 36.5 + }, + { + "date": "2025-12-11", + "value": 39.2 + }, + { + "date": "2025-12-17", + "value": 43.2 + }, + { + "date": "2026-01-06", + "value": 35.1 + }, + { + "date": "2026-01-12", + "value": 39.2 + }, + { + "date": "2026-01-18", + "value": 41.9 + }, + { + "date": "2026-02-04", + "value": 44.6 + }, + { + "date": "2026-02-10", + "value": 48.6 + }, + { + "date": "2026-02-16", + "value": 52.7 + }, + { + "date": "2026-03-05", + "value": 44.6 + }, + { + "date": "2026-03-11", + "value": 48.6 + }, + { + "date": "2026-03-17", + "value": 31.1 + }, + { + "date": "2026-04-06", + "value": 54.0 + }, + { + "date": "2026-04-12", + "value": 36.5 + }, + { + "date": "2026-04-18", + "value": 41.9 + }, + { + "date": "2026-05-04", + "value": 32.4 + }, + { + "date": "2026-05-10", + "value": 36.5 + }, + { + "date": "2026-05-16", + "value": 39.2 + } + ], + "monthly": [ + { + "month": "2022-07", + "mean": 37.8, + "median": 37.8, + "p10": 37.8, + "p25": 37.8, + "p75": 37.8, + "p90": 37.8, + "n": 1 + }, + { + "month": "2022-11", + "mean": 47.2, + "median": 47.2, + "p10": 47.2, + "p25": 47.2, + "p75": 47.2, + "p90": 47.2, + "n": 1 + }, + { + "month": "2023-03", + "mean": 29.7, + "median": 29.7, + "p10": 29.7, + "p25": 29.7, + "p75": 29.7, + "p90": 29.7, + "n": 1 + }, + { + "month": "2023-07", + "mean": 56.7, + "median": 56.7, + "p10": 56.7, + "p25": 56.7, + "p75": 56.7, + "p90": 56.7, + "n": 1 + }, + { + "month": "2023-10", + "mean": 40.5, + "median": 40.5, + "p10": 40.5, + "p25": 40.5, + "p75": 40.5, + "p90": 40.5, + "n": 1 + }, + { + "month": "2024-02", + "mean": 74.2, + "median": 74.2, + "p10": 74.2, + "p25": 74.2, + "p75": 74.2, + "p90": 74.2, + "n": 1 + }, + { + "month": "2024-05", + "mean": 33.8, + "median": 33.8, + "p10": 33.8, + "p25": 33.8, + "p75": 33.8, + "p90": 33.8, + "n": 1 + }, + { + "month": "2024-08", + "mean": 51.3, + "median": 51.3, + "p10": 51.3, + "p25": 51.3, + "p75": 51.3, + "p90": 51.3, + "n": 1 + }, + { + "month": "2024-11", + "mean": 20.2, + "median": 20.2, + "p10": 20.2, + "p25": 20.2, + "p75": 20.2, + "p90": 20.2, + "n": 1 + }, + { + "month": "2025-01", + "mean": 43.2, + "median": 43.2, + "p10": 43.2, + "p25": 43.2, + "p75": 43.2, + "p90": 43.2, + "n": 1 + }, + { + "month": "2025-04", + "mean": 37.8, + "median": 37.8, + "p10": 37.8, + "p25": 37.8, + "p75": 37.8, + "p90": 37.8, + "n": 1 + }, + { + "month": "2025-06", + "mean": 60.8, + "median": 60.8, + "p10": 60.8, + "p25": 60.8, + "p75": 60.8, + "p90": 60.8, + "n": 1 + }, + { + "month": "2025-07", + "mean": 40.5, + "median": 40.5, + "p10": 40.5, + "p25": 40.5, + "p75": 40.5, + "p90": 40.5, + "n": 1 + }, + { + "month": "2025-08", + "mean": 29.7, + "median": 29.7, + "p10": 29.7, + "p25": 29.7, + "p75": 29.7, + "p90": 29.7, + "n": 1 + }, + { + "month": "2025-09", + "mean": 47.0, + "median": 50.0, + "p10": 39.2, + "p25": 45.2, + "p75": 51.7, + "p90": 52.2, + "n": 4 + }, + { + "month": "2025-10", + "mean": 38.2, + "median": 35.1, + "p10": 31.9, + "p25": 33.1, + "p75": 41.9, + "p90": 45.9, + "n": 3 + }, + { + "month": "2025-11", + "mean": 40.9, + "median": 41.9, + "p10": 37.5, + "p25": 39.2, + "p75": 43.2, + "p90": 44.0, + "n": 3 + }, + { + "month": "2025-12", + "mean": 39.6, + "median": 39.2, + "p10": 37.0, + "p25": 37.8, + "p75": 41.2, + "p90": 42.4, + "n": 3 + }, + { + "month": "2026-01", + "mean": 38.7, + "median": 39.2, + "p10": 35.9, + "p25": 37.1, + "p75": 40.5, + "p90": 41.3, + "n": 3 + }, + { + "month": "2026-02", + "mean": 48.6, + "median": 48.6, + "p10": 45.4, + "p25": 46.6, + "p75": 50.6, + "p90": 51.8, + "n": 3 + }, + { + "month": "2026-03", + "mean": 41.4, + "median": 44.6, + "p10": 33.8, + "p25": 37.8, + "p75": 46.6, + "p90": 47.8, + "n": 3 + }, + { + "month": "2026-04", + "mean": 44.1, + "median": 41.9, + "p10": 37.5, + "p25": 39.2, + "p75": 47.9, + "p90": 51.6, + "n": 3 + }, + { + "month": "2026-05", + "mean": 36.0, + "median": 36.5, + "p10": 33.2, + "p25": 34.4, + "p75": 37.8, + "p90": 38.6, + "n": 3 + } + ], + "stats": { + "n": 42, + "mean": 42.3, + "median": 40.5, + "std": 7.1, + "min": 20.2, + "max": 74.2, + "p25": 36.5, + "p75": 48.6, + "p85": 51.3, + "p95": 54.0 + }, + "plifz": 28, + "plifz_note": null, + "pct_exceeding_plifz": 61.9, + "annotations": [], + "cost": null, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": 15, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/products.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/products.json new file mode 100644 index 00000000000..704a0f39275 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/products.json @@ -0,0 +1,22 @@ +[ + { + "id": "harbor-dark-roast", + "name": "Harbor Dark Roast", + "material": "90000300001" + }, + { + "id": "summit-medium-roast", + "name": "Summit Medium Roast", + "material": "90000300002" + }, + { + "id": "riverside-decaf", + "name": "Riverside Decaf", + "material": "90000300003" + }, + { + "id": "meadow-espresso", + "name": "Meadow Espresso", + "material": "90000300004" + } +] diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/graph.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/graph.json new file mode 100644 index 00000000000..296c2f9c619 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/graph.json @@ -0,0 +1,16588 @@ +{ + "product_id": "riverside-decaf", + "product_name": "Riverside Decaf", + "nodes": [ + { + "id": "procurement_highland_arabica", + "label": "Procurement: Highland Arabica", + "type": "procurement", + "material": "90000100001", + "plant": "PL-A", + "stats": { + "n": 59, + "mean": 33.0, + "median": 32.8, + "std": 10.9, + "min": 6.6, + "max": 86.1, + "p25": 28.7, + "p75": 36.9, + "p85": 39.4, + "p95": 45.8 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 98.3, + "cost": null, + "observations": [ + { + "date": "2022-03-15", + "value": 45.1 + }, + { + "date": "2022-06-10", + "value": 34.4 + }, + { + "date": "2022-09-22", + "value": 6.6 + }, + { + "date": "2022-12-05", + "value": 51.7 + }, + { + "date": "2023-02-14", + "value": 31.2 + }, + { + "date": "2023-05-30", + "value": 18.0 + }, + { + "date": "2023-08-17", + "value": 58.2 + }, + { + "date": "2023-11-02", + "value": 24.6 + }, + { + "date": "2024-01-25", + "value": 36.9 + }, + { + "date": "2024-04-11", + "value": 14.8 + }, + { + "date": "2024-07-09", + "value": 86.1 + }, + { + "date": "2024-10-03", + "value": 28.7 + }, + { + "date": "2025-01-20", + "value": 9.8 + }, + { + "date": "2025-04-08", + "value": 39.4 + }, + { + "date": "2025-09-05", + "value": 32.0 + }, + { + "date": "2025-09-11", + "value": 33.6 + }, + { + "date": "2025-09-17", + "value": 36.1 + }, + { + "date": "2025-09-23", + "value": 39.4 + }, + { + "date": "2025-09-29", + "value": 41.8 + }, + { + "date": "2025-10-06", + "value": 30.3 + }, + { + "date": "2025-10-12", + "value": 32.8 + }, + { + "date": "2025-10-18", + "value": 36.1 + }, + { + "date": "2025-10-24", + "value": 38.5 + }, + { + "date": "2025-10-30", + "value": 25.4 + }, + { + "date": "2025-11-04", + "value": 29.5 + }, + { + "date": "2025-11-10", + "value": 32.8 + }, + { + "date": "2025-11-16", + "value": 35.3 + }, + { + "date": "2025-11-22", + "value": 22.1 + }, + { + "date": "2025-11-28", + "value": 25.4 + }, + { + "date": "2025-12-05", + "value": 37.7 + }, + { + "date": "2025-12-11", + "value": 40.2 + }, + { + "date": "2025-12-17", + "value": 27.1 + }, + { + "date": "2025-12-23", + "value": 30.3 + }, + { + "date": "2025-12-29", + "value": 32.0 + }, + { + "date": "2026-01-06", + "value": 36.9 + }, + { + "date": "2026-01-12", + "value": 23.8 + }, + { + "date": "2026-01-18", + "value": 27.1 + }, + { + "date": "2026-01-24", + "value": 28.7 + }, + { + "date": "2026-01-30", + "value": 31.2 + }, + { + "date": "2026-02-04", + "value": 28.7 + }, + { + "date": "2026-02-10", + "value": 32.0 + }, + { + "date": "2026-02-16", + "value": 33.6 + }, + { + "date": "2026-02-22", + "value": 36.1 + }, + { + "date": "2026-02-28", + "value": 39.4 + }, + { + "date": "2026-03-05", + "value": 28.7 + }, + { + "date": "2026-03-11", + "value": 30.3 + }, + { + "date": "2026-03-17", + "value": 32.8 + }, + { + "date": "2026-03-23", + "value": 36.1 + }, + { + "date": "2026-03-29", + "value": 38.5 + }, + { + "date": "2026-04-06", + "value": 27.1 + }, + { + "date": "2026-04-12", + "value": 29.5 + }, + { + "date": "2026-04-18", + "value": 32.8 + }, + { + "date": "2026-04-24", + "value": 35.3 + }, + { + "date": "2026-04-30", + "value": 22.1 + }, + { + "date": "2026-05-04", + "value": 34.4 + }, + { + "date": "2026-05-10", + "value": 37.7 + }, + { + "date": "2026-05-16", + "value": 40.2 + }, + { + "date": "2026-05-22", + "value": 27.1 + }, + { + "date": "2026-05-28", + "value": 30.3 + } + ], + "monthly": [ + { + "month": "2022-03", + "mean": 45.1, + "median": 45.1, + "p10": 45.1, + "p25": 45.1, + "p75": 45.1, + "p90": 45.1, + "n": 1 + }, + { + "month": "2022-06", + "mean": 34.4, + "median": 34.4, + "p10": 34.4, + "p25": 34.4, + "p75": 34.4, + "p90": 34.4, + "n": 1 + }, + { + "month": "2022-09", + "mean": 6.6, + "median": 6.6, + "p10": 6.6, + "p25": 6.6, + "p75": 6.6, + "p90": 6.6, + "n": 1 + }, + { + "month": "2022-12", + "mean": 51.7, + "median": 51.7, + "p10": 51.7, + "p25": 51.7, + "p75": 51.7, + "p90": 51.7, + "n": 1 + }, + { + "month": "2023-02", + "mean": 31.2, + "median": 31.2, + "p10": 31.2, + "p25": 31.2, + "p75": 31.2, + "p90": 31.2, + "n": 1 + }, + { + "month": "2023-05", + "mean": 18.0, + "median": 18.0, + "p10": 18.0, + "p25": 18.0, + "p75": 18.0, + "p90": 18.0, + "n": 1 + }, + { + "month": "2023-08", + "mean": 58.2, + "median": 58.2, + "p10": 58.2, + "p25": 58.2, + "p75": 58.2, + "p90": 58.2, + "n": 1 + }, + { + "month": "2023-11", + "mean": 24.6, + "median": 24.6, + "p10": 24.6, + "p25": 24.6, + "p75": 24.6, + "p90": 24.6, + "n": 1 + }, + { + "month": "2024-01", + "mean": 36.9, + "median": 36.9, + "p10": 36.9, + "p25": 36.9, + "p75": 36.9, + "p90": 36.9, + "n": 1 + }, + { + "month": "2024-04", + "mean": 14.8, + "median": 14.8, + "p10": 14.8, + "p25": 14.8, + "p75": 14.8, + "p90": 14.8, + "n": 1 + }, + { + "month": "2024-07", + "mean": 86.1, + "median": 86.1, + "p10": 86.1, + "p25": 86.1, + "p75": 86.1, + "p90": 86.1, + "n": 1 + }, + { + "month": "2024-10", + "mean": 28.7, + "median": 28.7, + "p10": 28.7, + "p25": 28.7, + "p75": 28.7, + "p90": 28.7, + "n": 1 + }, + { + "month": "2025-01", + "mean": 9.8, + "median": 9.8, + "p10": 9.8, + "p25": 9.8, + "p75": 9.8, + "p90": 9.8, + "n": 1 + }, + { + "month": "2025-04", + "mean": 39.4, + "median": 39.4, + "p10": 39.4, + "p25": 39.4, + "p75": 39.4, + "p90": 39.4, + "n": 1 + }, + { + "month": "2025-09", + "mean": 36.6, + "median": 36.1, + "p10": 32.6, + "p25": 33.6, + "p75": 39.4, + "p90": 40.8, + "n": 5 + }, + { + "month": "2025-10", + "mean": 32.6, + "median": 32.8, + "p10": 27.4, + "p25": 30.3, + "p75": 36.1, + "p90": 37.6, + "n": 5 + }, + { + "month": "2025-11", + "mean": 29.0, + "median": 29.5, + "p10": 23.5, + "p25": 25.4, + "p75": 32.8, + "p90": 34.3, + "n": 5 + }, + { + "month": "2025-12", + "mean": 33.5, + "median": 32.0, + "p10": 28.4, + "p25": 30.3, + "p75": 37.7, + "p90": 39.2, + "n": 5 + }, + { + "month": "2026-01", + "mean": 29.5, + "median": 28.7, + "p10": 25.1, + "p25": 27.1, + "p75": 31.2, + "p90": 34.6, + "n": 5 + }, + { + "month": "2026-02", + "mean": 33.9, + "median": 33.6, + "p10": 30.0, + "p25": 32.0, + "p75": 36.1, + "p90": 38.0, + "n": 5 + }, + { + "month": "2026-03", + "mean": 33.3, + "median": 32.8, + "p10": 29.4, + "p25": 30.3, + "p75": 36.1, + "p90": 37.6, + "n": 5 + }, + { + "month": "2026-04", + "mean": 29.4, + "median": 29.5, + "p10": 24.1, + "p25": 27.1, + "p75": 32.8, + "p90": 34.3, + "n": 5 + }, + { + "month": "2026-05", + "mean": 33.9, + "median": 34.4, + "p10": 28.4, + "p25": 30.3, + "p75": 37.7, + "p90": 39.2, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "procurement_lowland_robusta", + "label": "Procurement: Lowland Robusta", + "type": "procurement", + "material": "90000100002", + "plant": "PL-A", + "stats": { + "n": 63, + "mean": 27.4, + "median": 27.1, + "std": 9.3, + "min": 4.1, + "max": 67.2, + "p25": 23.0, + "p75": 31.2, + "p85": 33.4, + "p95": 42.3 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 96.8, + "cost": null, + "observations": [ + { + "date": "2022-02-08", + "value": 26.2 + }, + { + "date": "2022-04-19", + "value": 39.4 + }, + { + "date": "2022-07-11", + "value": 4.1 + }, + { + "date": "2022-09-28", + "value": 54.9 + }, + { + "date": "2022-12-15", + "value": 20.5 + }, + { + "date": "2023-03-07", + "value": 33.6 + }, + { + "date": "2023-05-22", + "value": 12.3 + }, + { + "date": "2023-08-09", + "value": 67.2 + }, + { + "date": "2023-10-30", + "value": 31.2 + }, + { + "date": "2024-01-16", + "value": 16.4 + }, + { + "date": "2024-03-25", + "value": 42.6 + }, + { + "date": "2024-06-12", + "value": 8.2 + }, + { + "date": "2024-08-28", + "value": 36.1 + }, + { + "date": "2024-11-14", + "value": 23.0 + }, + { + "date": "2025-01-06", + "value": 28.7 + }, + { + "date": "2025-03-18", + "value": 14.8 + }, + { + "date": "2025-05-29", + "value": 45.1 + }, + { + "date": "2025-08-12", + "value": 21.3 + }, + { + "date": "2025-09-04", + "value": 21.3 + }, + { + "date": "2025-09-10", + "value": 23.8 + }, + { + "date": "2025-09-16", + "value": 25.4 + }, + { + "date": "2025-09-22", + "value": 27.9 + }, + { + "date": "2025-09-28", + "value": 30.3 + }, + { + "date": "2025-10-05", + "value": 21.3 + }, + { + "date": "2025-10-11", + "value": 23.0 + }, + { + "date": "2025-10-17", + "value": 25.4 + }, + { + "date": "2025-10-23", + "value": 27.1 + }, + { + "date": "2025-10-29", + "value": 29.5 + }, + { + "date": "2025-11-06", + "value": 27.1 + }, + { + "date": "2025-11-12", + "value": 29.5 + }, + { + "date": "2025-11-18", + "value": 31.2 + }, + { + "date": "2025-11-24", + "value": 34.4 + }, + { + "date": "2025-11-30", + "value": 23.0 + }, + { + "date": "2025-12-04", + "value": 26.2 + }, + { + "date": "2025-12-10", + "value": 28.7 + }, + { + "date": "2025-12-16", + "value": 31.2 + }, + { + "date": "2025-12-22", + "value": 19.7 + }, + { + "date": "2025-12-28", + "value": 23.0 + }, + { + "date": "2026-01-05", + "value": 32.8 + }, + { + "date": "2026-01-11", + "value": 35.3 + }, + { + "date": "2026-01-17", + "value": 23.8 + }, + { + "date": "2026-01-23", + "value": 27.1 + }, + { + "date": "2026-01-29", + "value": 28.7 + }, + { + "date": "2026-02-06", + "value": 32.8 + }, + { + "date": "2026-02-12", + "value": 21.3 + }, + { + "date": "2026-02-18", + "value": 23.8 + }, + { + "date": "2026-02-24", + "value": 25.4 + }, + { + "date": "2026-02-30", + "value": 27.9 + }, + { + "date": "2026-03-04", + "value": 18.0 + }, + { + "date": "2026-03-10", + "value": 21.3 + }, + { + "date": "2026-03-16", + "value": 23.0 + }, + { + "date": "2026-03-22", + "value": 25.4 + }, + { + "date": "2026-03-28", + "value": 27.1 + }, + { + "date": "2026-04-05", + "value": 25.4 + }, + { + "date": "2026-04-11", + "value": 27.1 + }, + { + "date": "2026-04-17", + "value": 29.5 + }, + { + "date": "2026-04-23", + "value": 31.2 + }, + { + "date": "2026-04-29", + "value": 34.4 + }, + { + "date": "2026-05-06", + "value": 24.6 + }, + { + "date": "2026-05-12", + "value": 26.2 + }, + { + "date": "2026-05-18", + "value": 28.7 + }, + { + "date": "2026-05-24", + "value": 31.2 + }, + { + "date": "2026-05-30", + "value": 19.7 + } + ], + "monthly": [ + { + "month": "2022-02", + "mean": 26.2, + "median": 26.2, + "p10": 26.2, + "p25": 26.2, + "p75": 26.2, + "p90": 26.2, + "n": 1 + }, + { + "month": "2022-04", + "mean": 39.4, + "median": 39.4, + "p10": 39.4, + "p25": 39.4, + "p75": 39.4, + "p90": 39.4, + "n": 1 + }, + { + "month": "2022-07", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-09", + "mean": 54.9, + "median": 54.9, + "p10": 54.9, + "p25": 54.9, + "p75": 54.9, + "p90": 54.9, + "n": 1 + }, + { + "month": "2022-12", + "mean": 20.5, + "median": 20.5, + "p10": 20.5, + "p25": 20.5, + "p75": 20.5, + "p90": 20.5, + "n": 1 + }, + { + "month": "2023-03", + "mean": 33.6, + "median": 33.6, + "p10": 33.6, + "p25": 33.6, + "p75": 33.6, + "p90": 33.6, + "n": 1 + }, + { + "month": "2023-05", + "mean": 12.3, + "median": 12.3, + "p10": 12.3, + "p25": 12.3, + "p75": 12.3, + "p90": 12.3, + "n": 1 + }, + { + "month": "2023-08", + "mean": 67.2, + "median": 67.2, + "p10": 67.2, + "p25": 67.2, + "p75": 67.2, + "p90": 67.2, + "n": 1 + }, + { + "month": "2023-10", + "mean": 31.2, + "median": 31.2, + "p10": 31.2, + "p25": 31.2, + "p75": 31.2, + "p90": 31.2, + "n": 1 + }, + { + "month": "2024-01", + "mean": 16.4, + "median": 16.4, + "p10": 16.4, + "p25": 16.4, + "p75": 16.4, + "p90": 16.4, + "n": 1 + }, + { + "month": "2024-03", + "mean": 42.6, + "median": 42.6, + "p10": 42.6, + "p25": 42.6, + "p75": 42.6, + "p90": 42.6, + "n": 1 + }, + { + "month": "2024-06", + "mean": 8.2, + "median": 8.2, + "p10": 8.2, + "p25": 8.2, + "p75": 8.2, + "p90": 8.2, + "n": 1 + }, + { + "month": "2024-08", + "mean": 36.1, + "median": 36.1, + "p10": 36.1, + "p25": 36.1, + "p75": 36.1, + "p90": 36.1, + "n": 1 + }, + { + "month": "2024-11", + "mean": 23.0, + "median": 23.0, + "p10": 23.0, + "p25": 23.0, + "p75": 23.0, + "p90": 23.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 28.7, + "median": 28.7, + "p10": 28.7, + "p25": 28.7, + "p75": 28.7, + "p90": 28.7, + "n": 1 + }, + { + "month": "2025-03", + "mean": 14.8, + "median": 14.8, + "p10": 14.8, + "p25": 14.8, + "p75": 14.8, + "p90": 14.8, + "n": 1 + }, + { + "month": "2025-05", + "mean": 45.1, + "median": 45.1, + "p10": 45.1, + "p25": 45.1, + "p75": 45.1, + "p90": 45.1, + "n": 1 + }, + { + "month": "2025-08", + "mean": 21.3, + "median": 21.3, + "p10": 21.3, + "p25": 21.3, + "p75": 21.3, + "p90": 21.3, + "n": 1 + }, + { + "month": "2025-09", + "mean": 25.7, + "median": 25.4, + "p10": 22.3, + "p25": 23.8, + "p75": 27.9, + "p90": 29.4, + "n": 5 + }, + { + "month": "2025-10", + "mean": 25.3, + "median": 25.4, + "p10": 22.0, + "p25": 23.0, + "p75": 27.1, + "p90": 28.5, + "n": 5 + }, + { + "month": "2025-11", + "mean": 29.0, + "median": 29.5, + "p10": 24.6, + "p25": 27.1, + "p75": 31.2, + "p90": 33.1, + "n": 5 + }, + { + "month": "2025-12", + "mean": 25.7, + "median": 26.2, + "p10": 21.0, + "p25": 23.0, + "p75": 28.7, + "p90": 30.2, + "n": 5 + }, + { + "month": "2026-01", + "mean": 29.5, + "median": 28.7, + "p10": 25.1, + "p25": 27.1, + "p75": 32.8, + "p90": 34.3, + "n": 5 + }, + { + "month": "2026-02", + "mean": 26.2, + "median": 25.4, + "p10": 22.3, + "p25": 23.8, + "p75": 27.9, + "p90": 30.8, + "n": 5 + }, + { + "month": "2026-03", + "mean": 23.0, + "median": 23.0, + "p10": 19.4, + "p25": 21.3, + "p75": 25.4, + "p90": 26.4, + "n": 5 + }, + { + "month": "2026-04", + "mean": 29.5, + "median": 29.5, + "p10": 26.1, + "p25": 27.1, + "p75": 31.2, + "p90": 33.1, + "n": 5 + }, + { + "month": "2026-05", + "mean": 26.1, + "median": 26.2, + "p10": 21.6, + "p25": 24.6, + "p75": 28.7, + "p90": 30.2, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "procurement_washed_bourbon", + "label": "Procurement: Washed Bourbon", + "type": "procurement", + "material": "90000100003", + "plant": "PL-A", + "stats": { + "n": 55, + "mean": 21.4, + "median": 20.5, + "std": 6.6, + "min": 5.7, + "max": 50.8, + "p25": 18.4, + "p75": 23.8, + "p85": 24.6, + "p95": 29.9 + }, + "plifz": 7, + "plifz_note": null, + "pct_exceeding_plifz": 98.2, + "cost": null, + "observations": [ + { + "date": "2022-05-03", + "value": 28.7 + }, + { + "date": "2022-10-18", + "value": 13.1 + }, + { + "date": "2023-01-24", + "value": 50.8 + }, + { + "date": "2023-06-15", + "value": 5.7 + }, + { + "date": "2023-09-28", + "value": 32.8 + }, + { + "date": "2024-02-12", + "value": 20.5 + }, + { + "date": "2024-05-07", + "value": 39.4 + }, + { + "date": "2024-09-19", + "value": 9.8 + }, + { + "date": "2025-02-04", + "value": 24.6 + }, + { + "date": "2025-06-10", + "value": 11.5 + }, + { + "date": "2025-09-06", + "value": 24.6 + }, + { + "date": "2025-09-12", + "value": 15.6 + }, + { + "date": "2025-09-18", + "value": 18.0 + }, + { + "date": "2025-09-24", + "value": 18.9 + }, + { + "date": "2025-09-30", + "value": 20.5 + }, + { + "date": "2025-10-04", + "value": 18.9 + }, + { + "date": "2025-10-10", + "value": 20.5 + }, + { + "date": "2025-10-16", + "value": 22.1 + }, + { + "date": "2025-10-22", + "value": 23.8 + }, + { + "date": "2025-10-28", + "value": 25.4 + }, + { + "date": "2025-11-05", + "value": 18.9 + }, + { + "date": "2025-11-11", + "value": 20.5 + }, + { + "date": "2025-11-17", + "value": 22.1 + }, + { + "date": "2025-11-23", + "value": 23.8 + }, + { + "date": "2025-11-29", + "value": 25.4 + }, + { + "date": "2025-12-06", + "value": 18.0 + }, + { + "date": "2025-12-12", + "value": 19.7 + }, + { + "date": "2025-12-18", + "value": 21.3 + }, + { + "date": "2025-12-24", + "value": 23.0 + }, + { + "date": "2025-12-30", + "value": 14.8 + }, + { + "date": "2026-01-04", + "value": 23.0 + }, + { + "date": "2026-01-10", + "value": 24.6 + }, + { + "date": "2026-01-16", + "value": 26.2 + }, + { + "date": "2026-01-22", + "value": 18.0 + }, + { + "date": "2026-01-28", + "value": 19.7 + }, + { + "date": "2026-02-05", + "value": 22.1 + }, + { + "date": "2026-02-11", + "value": 24.6 + }, + { + "date": "2026-02-17", + "value": 15.6 + }, + { + "date": "2026-02-23", + "value": 18.0 + }, + { + "date": "2026-02-29", + "value": 18.9 + }, + { + "date": "2026-03-06", + "value": 27.9 + }, + { + "date": "2026-03-12", + "value": 18.9 + }, + { + "date": "2026-03-18", + "value": 20.5 + }, + { + "date": "2026-03-24", + "value": 22.1 + }, + { + "date": "2026-03-30", + "value": 23.8 + }, + { + "date": "2026-04-04", + "value": 16.4 + }, + { + "date": "2026-04-10", + "value": 18.9 + }, + { + "date": "2026-04-16", + "value": 20.5 + }, + { + "date": "2026-04-22", + "value": 22.1 + }, + { + "date": "2026-04-28", + "value": 23.8 + }, + { + "date": "2026-05-05", + "value": 16.4 + }, + { + "date": "2026-05-11", + "value": 18.0 + }, + { + "date": "2026-05-17", + "value": 19.7 + }, + { + "date": "2026-05-23", + "value": 21.3 + }, + { + "date": "2026-05-29", + "value": 23.0 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 28.7, + "median": 28.7, + "p10": 28.7, + "p25": 28.7, + "p75": 28.7, + "p90": 28.7, + "n": 1 + }, + { + "month": "2022-10", + "mean": 13.1, + "median": 13.1, + "p10": 13.1, + "p25": 13.1, + "p75": 13.1, + "p90": 13.1, + "n": 1 + }, + { + "month": "2023-01", + "mean": 50.8, + "median": 50.8, + "p10": 50.8, + "p25": 50.8, + "p75": 50.8, + "p90": 50.8, + "n": 1 + }, + { + "month": "2023-06", + "mean": 5.7, + "median": 5.7, + "p10": 5.7, + "p25": 5.7, + "p75": 5.7, + "p90": 5.7, + "n": 1 + }, + { + "month": "2023-09", + "mean": 32.8, + "median": 32.8, + "p10": 32.8, + "p25": 32.8, + "p75": 32.8, + "p90": 32.8, + "n": 1 + }, + { + "month": "2024-02", + "mean": 20.5, + "median": 20.5, + "p10": 20.5, + "p25": 20.5, + "p75": 20.5, + "p90": 20.5, + "n": 1 + }, + { + "month": "2024-05", + "mean": 39.4, + "median": 39.4, + "p10": 39.4, + "p25": 39.4, + "p75": 39.4, + "p90": 39.4, + "n": 1 + }, + { + "month": "2024-09", + "mean": 9.8, + "median": 9.8, + "p10": 9.8, + "p25": 9.8, + "p75": 9.8, + "p90": 9.8, + "n": 1 + }, + { + "month": "2025-02", + "mean": 24.6, + "median": 24.6, + "p10": 24.6, + "p25": 24.6, + "p75": 24.6, + "p90": 24.6, + "n": 1 + }, + { + "month": "2025-06", + "mean": 11.5, + "median": 11.5, + "p10": 11.5, + "p25": 11.5, + "p75": 11.5, + "p90": 11.5, + "n": 1 + }, + { + "month": "2025-09", + "mean": 19.5, + "median": 18.9, + "p10": 16.6, + "p25": 18.0, + "p75": 20.5, + "p90": 23.0, + "n": 5 + }, + { + "month": "2025-10", + "mean": 22.1, + "median": 22.1, + "p10": 19.5, + "p25": 20.5, + "p75": 23.8, + "p90": 24.8, + "n": 5 + }, + { + "month": "2025-11", + "mean": 22.1, + "median": 22.1, + "p10": 19.5, + "p25": 20.5, + "p75": 23.8, + "p90": 24.8, + "n": 5 + }, + { + "month": "2025-12", + "mean": 19.4, + "median": 19.7, + "p10": 16.1, + "p25": 18.0, + "p75": 21.3, + "p90": 22.3, + "n": 5 + }, + { + "month": "2026-01", + "mean": 22.3, + "median": 23.0, + "p10": 18.7, + "p25": 19.7, + "p75": 24.6, + "p90": 25.6, + "n": 5 + }, + { + "month": "2026-02", + "mean": 19.8, + "median": 18.9, + "p10": 16.6, + "p25": 18.0, + "p75": 22.1, + "p90": 23.6, + "n": 5 + }, + { + "month": "2026-03", + "mean": 22.6, + "median": 22.1, + "p10": 19.5, + "p25": 20.5, + "p75": 23.8, + "p90": 26.2, + "n": 5 + }, + { + "month": "2026-04", + "mean": 20.3, + "median": 20.5, + "p10": 17.4, + "p25": 18.9, + "p75": 22.1, + "p90": 23.1, + "n": 5 + }, + { + "month": "2026-05", + "mean": 19.7, + "median": 19.7, + "p10": 17.1, + "p25": 18.0, + "p75": 21.3, + "p90": 22.3, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_highland_arabica", + "label": "Raw Material Dwell: Highland Arabica", + "type": "raw_material_dwell", + "material": "90000100001", + "plant": "PL-A", + "stats": { + "n": 83, + "mean": 39.6, + "median": 37.7, + "std": 16.2, + "min": 4.1, + "max": 106.6, + "p25": 31.6, + "p75": 44.7, + "p85": 50.0, + "p95": 71.9 + }, + "plifz": 30, + "plifz_note": null, + "pct_exceeding_plifz": 89.2, + "cost": { + "unit_price": 2.624, + "currency": "CHF", + "mean_qty": 4200.0, + "monthly": [ + { + "month": "2022-04", + "n_events": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "n_events": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "n_events": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "n_events": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "n_events": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "n_events": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "n_events": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "n_events": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "n_events": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "n_events": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 827400.0 + } + ] + }, + "observations": [ + { + "date": "2022-04-02", + "value": 28.7 + }, + { + "date": "2022-04-15", + "value": 50.8 + }, + { + "date": "2022-04-28", + "value": 14.8 + }, + { + "date": "2022-08-05", + "value": 72.2 + }, + { + "date": "2022-08-12", + "value": 34.4 + }, + { + "date": "2022-08-20", + "value": 45.1 + }, + { + "date": "2022-08-28", + "value": 24.6 + }, + { + "date": "2023-01-10", + "value": 59.0 + }, + { + "date": "2023-01-22", + "value": 20.5 + }, + { + "date": "2023-01-30", + "value": 39.4 + }, + { + "date": "2023-06-05", + "value": 12.3 + }, + { + "date": "2023-06-18", + "value": 77.9 + }, + { + "date": "2023-10-03", + "value": 106.6 + }, + { + "date": "2023-10-10", + "value": 36.9 + }, + { + "date": "2023-10-18", + "value": 31.2 + }, + { + "date": "2023-10-25", + "value": 53.3 + }, + { + "date": "2023-10-30", + "value": 18.0 + }, + { + "date": "2024-03-05", + "value": 64.0 + }, + { + "date": "2024-03-12", + "value": 4.1 + }, + { + "date": "2024-03-20", + "value": 45.1 + }, + { + "date": "2024-03-28", + "value": 32.8 + }, + { + "date": "2024-07-08", + "value": 23.0 + }, + { + "date": "2024-07-15", + "value": 69.7 + }, + { + "date": "2024-07-22", + "value": 41.0 + }, + { + "date": "2024-11-04", + "value": 90.2 + }, + { + "date": "2024-11-11", + "value": 26.2 + }, + { + "date": "2024-11-18", + "value": 55.8 + }, + { + "date": "2024-11-25", + "value": 36.9 + }, + { + "date": "2024-11-30", + "value": 75.4 + }, + { + "date": "2025-03-03", + "value": 16.4 + }, + { + "date": "2025-03-10", + "value": 47.6 + }, + { + "date": "2025-03-17", + "value": 28.7 + }, + { + "date": "2025-03-24", + "value": 34.4 + }, + { + "date": "2025-07-02", + "value": 61.5 + }, + { + "date": "2025-07-09", + "value": 9.8 + }, + { + "date": "2025-07-16", + "value": 39.4 + }, + { + "date": "2025-07-23", + "value": 49.2 + }, + { + "date": "2025-07-30", + "value": 31.2 + }, + { + "date": "2025-09-05", + "value": 40.2 + }, + { + "date": "2025-09-11", + "value": 44.3 + }, + { + "date": "2025-09-17", + "value": 27.9 + }, + { + "date": "2025-09-23", + "value": 32.0 + }, + { + "date": "2025-09-29", + "value": 34.4 + }, + { + "date": "2025-10-06", + "value": 50.0 + }, + { + "date": "2025-10-12", + "value": 33.6 + }, + { + "date": "2025-10-18", + "value": 37.7 + }, + { + "date": "2025-10-24", + "value": 40.2 + }, + { + "date": "2025-10-30", + "value": 43.5 + }, + { + "date": "2025-11-04", + "value": 29.5 + }, + { + "date": "2025-11-10", + "value": 33.6 + }, + { + "date": "2025-11-16", + "value": 36.1 + }, + { + "date": "2025-11-22", + "value": 39.4 + }, + { + "date": "2025-11-28", + "value": 42.6 + }, + { + "date": "2025-12-05", + "value": 29.5 + }, + { + "date": "2025-12-11", + "value": 32.0 + }, + { + "date": "2025-12-17", + "value": 35.3 + }, + { + "date": "2025-12-23", + "value": 38.5 + }, + { + "date": "2025-12-29", + "value": 41.8 + }, + { + "date": "2026-01-06", + "value": 38.5 + }, + { + "date": "2026-01-12", + "value": 41.0 + }, + { + "date": "2026-01-18", + "value": 44.3 + }, + { + "date": "2026-01-24", + "value": 47.6 + }, + { + "date": "2026-01-30", + "value": 32.0 + }, + { + "date": "2026-02-04", + "value": 36.9 + }, + { + "date": "2026-02-10", + "value": 40.2 + }, + { + "date": "2026-02-16", + "value": 44.3 + }, + { + "date": "2026-02-22", + "value": 27.9 + }, + { + "date": "2026-02-28", + "value": 32.0 + }, + { + "date": "2026-03-05", + "value": 45.9 + }, + { + "date": "2026-03-11", + "value": 50.0 + }, + { + "date": "2026-03-17", + "value": 33.6 + }, + { + "date": "2026-03-23", + "value": 37.7 + }, + { + "date": "2026-03-29", + "value": 40.2 + }, + { + "date": "2026-04-06", + "value": 45.9 + }, + { + "date": "2026-04-12", + "value": 29.5 + }, + { + "date": "2026-04-18", + "value": 33.6 + }, + { + "date": "2026-04-24", + "value": 36.1 + }, + { + "date": "2026-04-30", + "value": 39.4 + }, + { + "date": "2026-05-04", + "value": 26.2 + }, + { + "date": "2026-05-10", + "value": 29.5 + }, + { + "date": "2026-05-16", + "value": 32.0 + }, + { + "date": "2026-05-22", + "value": 35.3 + }, + { + "date": "2026-05-28", + "value": 38.5 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 31.4, + "median": 28.7, + "p10": 17.5, + "p25": 21.7, + "p75": 39.8, + "p90": 46.4, + "n": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "mean": 44.1, + "median": 39.8, + "p10": 27.6, + "p25": 32.0, + "p75": 51.9, + "p90": 64.0, + "n": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "mean": 39.6, + "median": 39.4, + "p10": 24.3, + "p25": 29.9, + "p75": 49.2, + "p90": 55.1, + "n": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "mean": 45.1, + "median": 45.1, + "p10": 18.9, + "p25": 28.7, + "p75": 61.5, + "p90": 71.3, + "n": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "mean": 49.2, + "median": 36.9, + "p10": 23.3, + "p25": 31.2, + "p75": 53.3, + "p90": 85.3, + "n": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "mean": 36.5, + "median": 38.9, + "p10": 12.7, + "p25": 25.7, + "p75": 49.9, + "p90": 58.3, + "n": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "mean": 44.5, + "median": 41.0, + "p10": 26.6, + "p25": 32.0, + "p75": 55.3, + "p90": 64.0, + "n": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "mean": 56.9, + "median": 55.8, + "p10": 30.5, + "p25": 36.9, + "p75": 75.4, + "p90": 84.3, + "n": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "mean": 31.8, + "median": 31.6, + "p10": 20.1, + "p25": 25.7, + "p75": 37.7, + "p90": 43.6, + "n": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "mean": 38.2, + "median": 39.4, + "p10": 18.4, + "p25": 31.2, + "p75": 49.2, + "p90": 56.6, + "n": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "mean": 35.8, + "median": 34.4, + "p10": 29.5, + "p25": 32.0, + "p75": 40.2, + "p90": 42.6, + "n": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "mean": 41.0, + "median": 40.2, + "p10": 35.3, + "p25": 37.7, + "p75": 43.5, + "p90": 47.4, + "n": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "mean": 36.2, + "median": 36.1, + "p10": 31.2, + "p25": 33.6, + "p75": 39.4, + "p90": 41.3, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "mean": 35.4, + "median": 35.3, + "p10": 30.5, + "p25": 32.0, + "p75": 38.5, + "p90": 40.5, + "n": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "mean": 40.7, + "median": 41.0, + "p10": 34.6, + "p25": 38.5, + "p75": 44.3, + "p90": 46.2, + "n": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "mean": 36.2, + "median": 36.9, + "p10": 29.5, + "p25": 32.0, + "p75": 40.2, + "p90": 42.6, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "mean": 41.5, + "median": 40.2, + "p10": 35.3, + "p25": 37.7, + "p75": 45.9, + "p90": 48.4, + "n": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "mean": 36.9, + "median": 36.1, + "p10": 31.2, + "p25": 33.6, + "p75": 39.4, + "p90": 43.3, + "n": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "mean": 32.3, + "median": 32.0, + "p10": 27.6, + "p25": 29.5, + "p75": 35.3, + "p90": 37.2, + "n": 5, + "total_kg_days": 827400.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_lowland_robusta", + "label": "Raw Material Dwell: Lowland Robusta", + "type": "raw_material_dwell", + "material": "90000100002", + "plant": "PL-A", + "stats": { + "n": 69, + "mean": 30.0, + "median": 27.9, + "std": 13.0, + "min": 2.5, + "max": 80.4, + "p25": 23.0, + "p75": 33.6, + "p85": 36.9, + "p95": 56.7 + }, + "plifz": 21, + "plifz_note": null, + "pct_exceeding_plifz": 91.3, + "cost": { + "unit_price": 1.476, + "currency": "CHF", + "mean_qty": 6500.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "n_events": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "n_events": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "n_events": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "n_events": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "n_events": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 1131000.0 + } + ] + }, + "observations": [ + { + "date": "2022-05-02", + "value": 23.0 + }, + { + "date": "2022-05-10", + "value": 36.9 + }, + { + "date": "2022-05-18", + "value": 9.8 + }, + { + "date": "2022-05-25", + "value": 50.8 + }, + { + "date": "2023-02-06", + "value": 27.1 + }, + { + "date": "2023-02-14", + "value": 64.0 + }, + { + "date": "2023-02-22", + "value": 16.4 + }, + { + "date": "2023-02-28", + "value": 45.1 + }, + { + "date": "2023-09-05", + "value": 6.6 + }, + { + "date": "2023-09-15", + "value": 34.4 + }, + { + "date": "2023-09-25", + "value": 53.3 + }, + { + "date": "2024-04-03", + "value": 31.2 + }, + { + "date": "2024-04-10", + "value": 12.3 + }, + { + "date": "2024-04-17", + "value": 59.0 + }, + { + "date": "2024-04-24", + "value": 20.5 + }, + { + "date": "2024-10-02", + "value": 39.4 + }, + { + "date": "2024-10-09", + "value": 2.5 + }, + { + "date": "2024-10-16", + "value": 69.7 + }, + { + "date": "2024-10-23", + "value": 24.6 + }, + { + "date": "2024-10-30", + "value": 45.1 + }, + { + "date": "2025-04-07", + "value": 18.0 + }, + { + "date": "2025-04-14", + "value": 32.8 + }, + { + "date": "2025-04-21", + "value": 80.4 + }, + { + "date": "2025-04-28", + "value": 14.8 + }, + { + "date": "2025-09-04", + "value": 32.0 + }, + { + "date": "2025-09-10", + "value": 33.6 + }, + { + "date": "2025-09-16", + "value": 36.9 + }, + { + "date": "2025-09-22", + "value": 24.6 + }, + { + "date": "2025-09-28", + "value": 27.9 + }, + { + "date": "2025-10-05", + "value": 31.2 + }, + { + "date": "2025-10-11", + "value": 33.6 + }, + { + "date": "2025-10-17", + "value": 22.1 + }, + { + "date": "2025-10-23", + "value": 24.6 + }, + { + "date": "2025-10-29", + "value": 26.2 + }, + { + "date": "2025-11-06", + "value": 31.2 + }, + { + "date": "2025-11-12", + "value": 18.9 + }, + { + "date": "2025-11-18", + "value": 22.1 + }, + { + "date": "2025-11-24", + "value": 23.8 + }, + { + "date": "2025-11-30", + "value": 26.2 + }, + { + "date": "2025-12-04", + "value": 23.0 + }, + { + "date": "2025-12-10", + "value": 26.2 + }, + { + "date": "2025-12-16", + "value": 27.9 + }, + { + "date": "2025-12-22", + "value": 30.3 + }, + { + "date": "2025-12-28", + "value": 32.8 + }, + { + "date": "2026-01-05", + "value": 23.0 + }, + { + "date": "2026-01-11", + "value": 25.4 + }, + { + "date": "2026-01-17", + "value": 27.1 + }, + { + "date": "2026-01-23", + "value": 29.5 + }, + { + "date": "2026-01-29", + "value": 32.0 + }, + { + "date": "2026-02-06", + "value": 29.5 + }, + { + "date": "2026-02-12", + "value": 32.0 + }, + { + "date": "2026-02-18", + "value": 33.6 + }, + { + "date": "2026-02-24", + "value": 36.9 + }, + { + "date": "2026-02-30", + "value": 24.6 + }, + { + "date": "2026-03-04", + "value": 28.7 + }, + { + "date": "2026-03-10", + "value": 31.2 + }, + { + "date": "2026-03-16", + "value": 33.6 + }, + { + "date": "2026-03-22", + "value": 22.1 + }, + { + "date": "2026-03-28", + "value": 24.6 + }, + { + "date": "2026-04-05", + "value": 27.9 + }, + { + "date": "2026-04-11", + "value": 31.2 + }, + { + "date": "2026-04-17", + "value": 18.9 + }, + { + "date": "2026-04-23", + "value": 22.1 + }, + { + "date": "2026-04-29", + "value": 23.8 + }, + { + "date": "2026-05-06", + "value": 35.3 + }, + { + "date": "2026-05-12", + "value": 23.0 + }, + { + "date": "2026-05-18", + "value": 26.2 + }, + { + "date": "2026-05-24", + "value": 27.9 + }, + { + "date": "2026-05-30", + "value": 30.3 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 30.2, + "median": 29.9, + "p10": 13.8, + "p25": 19.7, + "p75": 40.4, + "p90": 46.7, + "n": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "mean": 38.1, + "median": 36.1, + "p10": 19.6, + "p25": 24.4, + "p75": 49.9, + "p90": 58.3, + "n": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "mean": 31.4, + "median": 34.4, + "p10": 12.1, + "p25": 20.5, + "p75": 43.9, + "p90": 49.5, + "n": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "mean": 30.7, + "median": 25.8, + "p10": 14.8, + "p25": 18.4, + "p75": 38.1, + "p90": 50.7, + "n": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "mean": 36.2, + "median": 39.4, + "p10": 11.3, + "p25": 24.6, + "p75": 45.1, + "p90": 59.9, + "n": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "mean": 36.5, + "median": 25.4, + "p10": 15.7, + "p25": 17.2, + "p75": 44.7, + "p90": 66.1, + "n": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "mean": 31.0, + "median": 32.0, + "p10": 25.9, + "p25": 27.9, + "p75": 33.6, + "p90": 35.6, + "n": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "mean": 27.6, + "median": 26.2, + "p10": 23.1, + "p25": 24.6, + "p75": 31.2, + "p90": 32.6, + "n": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "mean": 24.4, + "median": 23.8, + "p10": 20.2, + "p25": 22.1, + "p75": 26.2, + "p90": 29.2, + "n": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "mean": 28.0, + "median": 27.9, + "p10": 24.3, + "p25": 26.2, + "p75": 30.3, + "p90": 31.8, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "mean": 27.4, + "median": 27.1, + "p10": 23.9, + "p25": 25.4, + "p75": 29.5, + "p90": 31.0, + "n": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "mean": 31.3, + "median": 32.0, + "p10": 26.6, + "p25": 29.5, + "p75": 33.6, + "p90": 35.6, + "n": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "mean": 28.0, + "median": 28.7, + "p10": 23.1, + "p25": 24.6, + "p75": 31.2, + "p90": 32.6, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "mean": 24.8, + "median": 23.8, + "p10": 20.2, + "p25": 22.1, + "p75": 27.9, + "p90": 29.8, + "n": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "mean": 28.5, + "median": 27.9, + "p10": 24.3, + "p25": 26.2, + "p75": 30.3, + "p90": 33.3, + "n": 5, + "total_kg_days": 1131000.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_washed_bourbon", + "label": "Raw Material Dwell: Washed Bourbon", + "type": "raw_material_dwell", + "material": "90000100003", + "plant": "PL-A", + "stats": { + "n": 70, + "mean": 36.0, + "median": 33.6, + "std": 15.7, + "min": 3.3, + "max": 94.3, + "p25": 28.1, + "p75": 41.0, + "p85": 44.3, + "p95": 67.2 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 95.7, + "cost": { + "unit_price": 4.51, + "currency": "CHF", + "mean_qty": 2800.0, + "monthly": [ + { + "month": "2022-06", + "n_events": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "n_events": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "n_events": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "n_events": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "n_events": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "n_events": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 568400.0 + } + ] + }, + "observations": [ + { + "date": "2022-06-05", + "value": 32.8 + }, + { + "date": "2022-06-15", + "value": 18.0 + }, + { + "date": "2022-06-25", + "value": 55.8 + }, + { + "date": "2023-03-08", + "value": 3.3 + }, + { + "date": "2023-03-15", + "value": 45.1 + }, + { + "date": "2023-03-22", + "value": 94.3 + }, + { + "date": "2023-03-29", + "value": 24.6 + }, + { + "date": "2023-11-06", + "value": 50.8 + }, + { + "date": "2023-11-13", + "value": 14.8 + }, + { + "date": "2023-11-20", + "value": 69.7 + }, + { + "date": "2024-06-03", + "value": 28.7 + }, + { + "date": "2024-06-10", + "value": 59.0 + }, + { + "date": "2024-06-17", + "value": 8.2 + }, + { + "date": "2024-06-24", + "value": 39.4 + }, + { + "date": "2024-06-30", + "value": 77.9 + }, + { + "date": "2025-01-07", + "value": 23.0 + }, + { + "date": "2025-01-14", + "value": 42.6 + }, + { + "date": "2025-01-21", + "value": 12.3 + }, + { + "date": "2025-01-28", + "value": 64.0 + }, + { + "date": "2025-08-04", + "value": 34.4 + }, + { + "date": "2025-08-08", + "value": 6.6 + }, + { + "date": "2025-08-12", + "value": 53.3 + }, + { + "date": "2025-08-16", + "value": 27.1 + }, + { + "date": "2025-08-20", + "value": 82.0 + }, + { + "date": "2025-08-24", + "value": 16.4 + }, + { + "date": "2025-09-06", + "value": 33.6 + }, + { + "date": "2025-09-12", + "value": 36.9 + }, + { + "date": "2025-09-18", + "value": 39.4 + }, + { + "date": "2025-09-24", + "value": 42.6 + }, + { + "date": "2025-09-30", + "value": 27.9 + }, + { + "date": "2025-10-04", + "value": 32.8 + }, + { + "date": "2025-10-10", + "value": 36.1 + }, + { + "date": "2025-10-16", + "value": 39.4 + }, + { + "date": "2025-10-22", + "value": 24.6 + }, + { + "date": "2025-10-28", + "value": 27.9 + }, + { + "date": "2025-11-05", + "value": 41.0 + }, + { + "date": "2025-11-11", + "value": 44.3 + }, + { + "date": "2025-11-17", + "value": 29.5 + }, + { + "date": "2025-11-23", + "value": 33.6 + }, + { + "date": "2025-11-29", + "value": 36.1 + }, + { + "date": "2025-12-06", + "value": 41.0 + }, + { + "date": "2025-12-12", + "value": 26.2 + }, + { + "date": "2025-12-18", + "value": 29.5 + }, + { + "date": "2025-12-24", + "value": 32.0 + }, + { + "date": "2025-12-30", + "value": 35.3 + }, + { + "date": "2026-01-04", + "value": 23.0 + }, + { + "date": "2026-01-10", + "value": 26.2 + }, + { + "date": "2026-01-16", + "value": 28.7 + }, + { + "date": "2026-01-22", + "value": 31.2 + }, + { + "date": "2026-01-28", + "value": 34.4 + }, + { + "date": "2026-02-05", + "value": 32.0 + }, + { + "date": "2026-02-11", + "value": 33.6 + }, + { + "date": "2026-02-17", + "value": 36.9 + }, + { + "date": "2026-02-23", + "value": 39.4 + }, + { + "date": "2026-02-29", + "value": 42.6 + }, + { + "date": "2026-03-06", + "value": 30.3 + }, + { + "date": "2026-03-12", + "value": 32.8 + }, + { + "date": "2026-03-18", + "value": 36.1 + }, + { + "date": "2026-03-24", + "value": 39.4 + }, + { + "date": "2026-03-30", + "value": 24.6 + }, + { + "date": "2026-04-04", + "value": 38.5 + }, + { + "date": "2026-04-10", + "value": 41.0 + }, + { + "date": "2026-04-16", + "value": 44.3 + }, + { + "date": "2026-04-22", + "value": 29.5 + }, + { + "date": "2026-04-28", + "value": 33.6 + }, + { + "date": "2026-05-05", + "value": 37.7 + }, + { + "date": "2026-05-11", + "value": 41.0 + }, + { + "date": "2026-05-17", + "value": 26.2 + }, + { + "date": "2026-05-23", + "value": 29.5 + }, + { + "date": "2026-05-29", + "value": 32.0 + } + ], + "monthly": [ + { + "month": "2022-06", + "mean": 35.5, + "median": 32.8, + "p10": 21.0, + "p25": 25.4, + "p75": 44.3, + "p90": 51.2, + "n": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "mean": 41.8, + "median": 34.9, + "p10": 9.7, + "p25": 19.3, + "p75": 57.4, + "p90": 79.5, + "n": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "mean": 45.1, + "median": 50.8, + "p10": 22.0, + "p25": 32.8, + "p75": 60.3, + "p90": 65.9, + "n": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "mean": 42.6, + "median": 39.4, + "p10": 16.4, + "p25": 28.7, + "p75": 59.0, + "p90": 70.4, + "n": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "mean": 35.5, + "median": 32.8, + "p10": 15.5, + "p25": 20.3, + "p75": 48.0, + "p90": 57.6, + "n": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "mean": 36.7, + "median": 30.7, + "p10": 11.5, + "p25": 19.1, + "p75": 48.6, + "p90": 67.6, + "n": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "mean": 36.1, + "median": 36.9, + "p10": 30.2, + "p25": 33.6, + "p75": 39.4, + "p90": 41.3, + "n": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "mean": 32.1, + "median": 32.8, + "p10": 25.9, + "p25": 27.9, + "p75": 36.1, + "p90": 38.0, + "n": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "mean": 36.9, + "median": 36.1, + "p10": 31.2, + "p25": 33.6, + "p75": 41.0, + "p90": 43.0, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "mean": 32.8, + "median": 32.0, + "p10": 27.6, + "p25": 29.5, + "p75": 35.3, + "p90": 38.7, + "n": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "mean": 28.7, + "median": 28.7, + "p10": 24.3, + "p25": 26.2, + "p75": 31.2, + "p90": 33.1, + "n": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "mean": 36.9, + "median": 36.9, + "p10": 32.6, + "p25": 33.6, + "p75": 39.4, + "p90": 41.3, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "mean": 32.6, + "median": 32.8, + "p10": 26.9, + "p25": 30.3, + "p75": 36.1, + "p90": 38.0, + "n": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "mean": 37.4, + "median": 38.5, + "p10": 31.2, + "p25": 33.6, + "p75": 41.0, + "p90": 43.0, + "n": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "mean": 33.3, + "median": 32.0, + "p10": 27.6, + "p25": 29.5, + "p75": 37.7, + "p90": 39.7, + "n": 5, + "total_kg_days": 568400.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "prod_duration_green_blend", + "label": "Production: Green Blend", + "type": "production", + "material": "90000200001", + "plant": "PL-A", + "stats": { + "n": 50, + "mean": 3.6, + "median": 3.3, + "std": 1.5, + "min": 0.8, + "max": 11.5, + "p25": 2.7, + "p75": 4.1, + "p85": 4.1, + "p95": 5.4 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 10.0, + "cost": null, + "observations": [ + { + "date": "2022-04-18", + "value": 2.5 + }, + { + "date": "2022-07-05", + "value": 4.1 + }, + { + "date": "2022-10-12", + "value": 1.6 + }, + { + "date": "2023-01-20", + "value": 5.7 + }, + { + "date": "2023-04-15", + "value": 3.3 + }, + { + "date": "2023-07-28", + "value": 4.9 + }, + { + "date": "2023-10-05", + "value": 2.5 + }, + { + "date": "2024-01-12", + "value": 11.5 + }, + { + "date": "2024-04-22", + "value": 3.3 + }, + { + "date": "2024-07-10", + "value": 6.6 + }, + { + "date": "2024-10-18", + "value": 2.5 + }, + { + "date": "2025-01-25", + "value": 4.1 + }, + { + "date": "2025-05-08", + "value": 0.8 + }, + { + "date": "2025-08-15", + "value": 4.9 + }, + { + "date": "2025-09-04", + "value": 2.5 + }, + { + "date": "2025-09-10", + "value": 3.3 + }, + { + "date": "2025-09-16", + "value": 3.3 + }, + { + "date": "2025-09-22", + "value": 3.3 + }, + { + "date": "2025-10-05", + "value": 2.5 + }, + { + "date": "2025-10-11", + "value": 3.3 + }, + { + "date": "2025-10-17", + "value": 3.3 + }, + { + "date": "2025-10-23", + "value": 3.3 + }, + { + "date": "2025-11-06", + "value": 3.3 + }, + { + "date": "2025-11-12", + "value": 4.1 + }, + { + "date": "2025-11-18", + "value": 4.1 + }, + { + "date": "2025-11-24", + "value": 4.1 + }, + { + "date": "2025-12-04", + "value": 3.3 + }, + { + "date": "2025-12-10", + "value": 4.1 + }, + { + "date": "2025-12-16", + "value": 4.1 + }, + { + "date": "2025-12-22", + "value": 2.5 + }, + { + "date": "2026-01-05", + "value": 3.3 + }, + { + "date": "2026-01-11", + "value": 4.1 + }, + { + "date": "2026-01-17", + "value": 2.5 + }, + { + "date": "2026-01-23", + "value": 2.5 + }, + { + "date": "2026-02-06", + "value": 4.1 + }, + { + "date": "2026-02-12", + "value": 2.5 + }, + { + "date": "2026-02-18", + "value": 3.3 + }, + { + "date": "2026-02-24", + "value": 3.3 + }, + { + "date": "2026-03-04", + "value": 2.5 + }, + { + "date": "2026-03-10", + "value": 2.5 + }, + { + "date": "2026-03-16", + "value": 3.3 + }, + { + "date": "2026-03-22", + "value": 3.3 + }, + { + "date": "2026-04-05", + "value": 3.3 + }, + { + "date": "2026-04-11", + "value": 3.3 + }, + { + "date": "2026-04-17", + "value": 4.1 + }, + { + "date": "2026-04-23", + "value": 4.1 + }, + { + "date": "2026-05-06", + "value": 3.3 + }, + { + "date": "2026-05-12", + "value": 3.3 + }, + { + "date": "2026-05-18", + "value": 4.1 + }, + { + "date": "2026-05-24", + "value": 4.1 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2022-07", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-10", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2023-01", + "mean": 5.7, + "median": 5.7, + "p10": 5.7, + "p25": 5.7, + "p75": 5.7, + "p90": 5.7, + "n": 1 + }, + { + "month": "2023-04", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2023-07", + "mean": 4.9, + "median": 4.9, + "p10": 4.9, + "p25": 4.9, + "p75": 4.9, + "p90": 4.9, + "n": 1 + }, + { + "month": "2023-10", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 11.5, + "median": 11.5, + "p10": 11.5, + "p25": 11.5, + "p75": 11.5, + "p90": 11.5, + "n": 1 + }, + { + "month": "2024-04", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2024-07", + "mean": 6.6, + "median": 6.6, + "p10": 6.6, + "p25": 6.6, + "p75": 6.6, + "p90": 6.6, + "n": 1 + }, + { + "month": "2024-10", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2025-01", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-05", + "mean": 0.8, + "median": 0.8, + "p10": 0.8, + "p25": 0.8, + "p75": 0.8, + "p90": 0.8, + "n": 1 + }, + { + "month": "2025-08", + "mean": 4.9, + "median": 4.9, + "p10": 4.9, + "p25": 4.9, + "p75": 4.9, + "p90": 4.9, + "n": 1 + }, + { + "month": "2025-09", + "mean": 3.1, + "median": 3.3, + "p10": 2.7, + "p25": 3.1, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2025-10", + "mean": 3.1, + "median": 3.3, + "p10": 2.7, + "p25": 3.1, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2025-11", + "mean": 3.9, + "median": 4.1, + "p10": 3.5, + "p25": 3.9, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2025-12", + "mean": 3.5, + "median": 3.7, + "p10": 2.7, + "p25": 3.1, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2026-01", + "mean": 3.1, + "median": 2.9, + "p10": 2.5, + "p25": 2.5, + "p75": 3.5, + "p90": 3.9, + "n": 4 + }, + { + "month": "2026-02", + "mean": 3.3, + "median": 3.3, + "p10": 2.7, + "p25": 3.1, + "p75": 3.5, + "p90": 3.9, + "n": 4 + }, + { + "month": "2026-03", + "mean": 2.9, + "median": 2.9, + "p10": 2.5, + "p25": 2.5, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2026-04", + "mean": 3.7, + "median": 3.7, + "p10": 3.3, + "p25": 3.3, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2026-05", + "mean": 3.7, + "median": 3.7, + "p10": 3.3, + "p25": 3.3, + "p75": 4.1, + "p90": 4.1, + "n": 4 + } + ], + "n_batches": 50, + "n_movements": null, + "yield_summary": { + "median": 98.5, + "mean": 97.2, + "reference": 100.0, + "n": 50 + }, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 0.9, + "mean_slack": 5.1, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 0.9 + }, + "direct": { + "binding_share": 0.9, + "mean_slack": 7.2, + "next_bottleneck_days": 27.4, + "expected_marginal_per_day": 0.9 + }, + "hub-1": { + "binding_share": 0.9, + "mean_slack": 2.0, + "next_bottleneck_days": 31.3, + "expected_marginal_per_day": 0.9 + } + } + }, + { + "id": "intermed_dwell_green_blend", + "label": "Intermediate Dwell: Green Blend", + "type": "intermediate_dwell", + "material": "90000200001", + "plant": "PL-A", + "stats": { + "n": 73, + "mean": 14.3, + "median": 13.1, + "std": 7.4, + "min": 1.6, + "max": 45.1, + "p25": 10.7, + "p75": 15.6, + "p85": 16.7, + "p95": 30.3 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 87.7, + "cost": { + "unit_price": 10.25, + "currency": "CHF", + "mean_qty": 3200.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "n_events": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "n_events": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "n_events": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "n_events": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "n_events": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "n_events": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 249600.0 + } + ] + }, + "observations": [ + { + "date": "2022-05-05", + "value": 9.8 + }, + { + "date": "2022-05-15", + "value": 20.5 + }, + { + "date": "2022-05-22", + "value": 6.6 + }, + { + "date": "2022-11-03", + "value": 28.7 + }, + { + "date": "2022-11-10", + "value": 12.3 + }, + { + "date": "2022-11-18", + "value": 4.1 + }, + { + "date": "2022-11-25", + "value": 18.0 + }, + { + "date": "2023-05-08", + "value": 14.8 + }, + { + "date": "2023-05-15", + "value": 32.8 + }, + { + "date": "2023-05-22", + "value": 8.2 + }, + { + "date": "2023-11-06", + "value": 45.1 + }, + { + "date": "2023-11-13", + "value": 1.6 + }, + { + "date": "2023-11-20", + "value": 23.0 + }, + { + "date": "2023-11-27", + "value": 12.3 + }, + { + "date": "2023-11-30", + "value": 6.6 + }, + { + "date": "2024-05-06", + "value": 16.4 + }, + { + "date": "2024-05-13", + "value": 36.9 + }, + { + "date": "2024-05-20", + "value": 9.8 + }, + { + "date": "2024-05-27", + "value": 2.5 + }, + { + "date": "2024-11-04", + "value": 14.8 + }, + { + "date": "2024-11-11", + "value": 24.6 + }, + { + "date": "2024-11-18", + "value": 6.6 + }, + { + "date": "2025-05-05", + "value": 18.0 + }, + { + "date": "2025-05-09", + "value": 28.7 + }, + { + "date": "2025-05-13", + "value": 4.1 + }, + { + "date": "2025-05-17", + "value": 12.3 + }, + { + "date": "2025-05-21", + "value": 34.4 + }, + { + "date": "2025-05-25", + "value": 8.2 + }, + { + "date": "2025-09-05", + "value": 11.5 + }, + { + "date": "2025-09-11", + "value": 13.1 + }, + { + "date": "2025-09-17", + "value": 13.9 + }, + { + "date": "2025-09-23", + "value": 14.8 + }, + { + "date": "2025-09-29", + "value": 15.6 + }, + { + "date": "2025-10-06", + "value": 11.5 + }, + { + "date": "2025-10-12", + "value": 12.3 + }, + { + "date": "2025-10-18", + "value": 13.1 + }, + { + "date": "2025-10-24", + "value": 14.8 + }, + { + "date": "2025-10-30", + "value": 9.0 + }, + { + "date": "2025-11-04", + "value": 14.8 + }, + { + "date": "2025-11-10", + "value": 15.6 + }, + { + "date": "2025-11-16", + "value": 16.4 + }, + { + "date": "2025-11-22", + "value": 11.5 + }, + { + "date": "2025-11-28", + "value": 12.3 + }, + { + "date": "2025-12-05", + "value": 13.9 + }, + { + "date": "2025-12-11", + "value": 15.6 + }, + { + "date": "2025-12-17", + "value": 9.8 + }, + { + "date": "2025-12-23", + "value": 11.5 + }, + { + "date": "2025-12-29", + "value": 12.3 + }, + { + "date": "2026-01-06", + "value": 13.9 + }, + { + "date": "2026-01-12", + "value": 9.0 + }, + { + "date": "2026-01-18", + "value": 9.8 + }, + { + "date": "2026-01-24", + "value": 10.7 + }, + { + "date": "2026-01-30", + "value": 11.5 + }, + { + "date": "2026-02-04", + "value": 10.7 + }, + { + "date": "2026-02-10", + "value": 11.5 + }, + { + "date": "2026-02-16", + "value": 13.1 + }, + { + "date": "2026-02-22", + "value": 13.9 + }, + { + "date": "2026-02-28", + "value": 14.8 + }, + { + "date": "2026-03-05", + "value": 10.7 + }, + { + "date": "2026-03-11", + "value": 11.5 + }, + { + "date": "2026-03-17", + "value": 12.3 + }, + { + "date": "2026-03-23", + "value": 13.1 + }, + { + "date": "2026-03-29", + "value": 14.8 + }, + { + "date": "2026-04-06", + "value": 13.1 + }, + { + "date": "2026-04-12", + "value": 14.8 + }, + { + "date": "2026-04-18", + "value": 15.6 + }, + { + "date": "2026-04-24", + "value": 16.4 + }, + { + "date": "2026-04-30", + "value": 11.5 + }, + { + "date": "2026-05-04", + "value": 13.1 + }, + { + "date": "2026-05-10", + "value": 13.9 + }, + { + "date": "2026-05-16", + "value": 15.6 + }, + { + "date": "2026-05-22", + "value": 9.8 + }, + { + "date": "2026-05-28", + "value": 11.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 12.3, + "median": 9.8, + "p10": 7.2, + "p25": 8.2, + "p75": 15.2, + "p90": 18.4, + "n": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "mean": 15.8, + "median": 15.2, + "p10": 6.6, + "p25": 10.2, + "p75": 20.7, + "p90": 25.5, + "n": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "mean": 18.6, + "median": 14.8, + "p10": 9.5, + "p25": 11.5, + "p75": 23.8, + "p90": 29.2, + "n": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "mean": 17.7, + "median": 12.3, + "p10": 3.6, + "p25": 6.6, + "p75": 23.0, + "p90": 36.2, + "n": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "mean": 16.4, + "median": 13.1, + "p10": 4.7, + "p25": 8.0, + "p75": 21.6, + "p90": 30.7, + "n": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "mean": 15.3, + "median": 14.8, + "p10": 8.2, + "p25": 10.7, + "p75": 19.7, + "p90": 22.6, + "n": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "mean": 17.6, + "median": 15.2, + "p10": 6.1, + "p25": 9.3, + "p75": 26.1, + "p90": 31.6, + "n": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "mean": 13.8, + "median": 13.9, + "p10": 12.1, + "p25": 13.1, + "p75": 14.8, + "p90": 15.3, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "mean": 12.1, + "median": 12.3, + "p10": 10.0, + "p25": 11.5, + "p75": 13.1, + "p90": 14.1, + "n": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "mean": 14.1, + "median": 14.8, + "p10": 11.8, + "p25": 12.3, + "p75": 15.6, + "p90": 16.1, + "n": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "mean": 12.6, + "median": 12.3, + "p10": 10.5, + "p25": 11.5, + "p75": 13.9, + "p90": 14.9, + "n": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "mean": 11.0, + "median": 10.7, + "p10": 9.3, + "p25": 9.8, + "p75": 11.5, + "p90": 13.0, + "n": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "mean": 12.8, + "median": 13.1, + "p10": 11.0, + "p25": 11.5, + "p75": 13.9, + "p90": 14.4, + "n": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "mean": 12.5, + "median": 12.3, + "p10": 11.0, + "p25": 11.5, + "p75": 13.1, + "p90": 14.1, + "n": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "mean": 14.3, + "median": 14.8, + "p10": 12.1, + "p25": 13.1, + "p75": 15.6, + "p90": 16.1, + "n": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "mean": 12.8, + "median": 13.1, + "p10": 10.5, + "p25": 11.5, + "p75": 13.9, + "p90": 14.9, + "n": 5, + "total_kg_days": 249600.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 0.9, + "mean_slack": 5.1, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 0.9 + }, + "direct": { + "binding_share": 0.9, + "mean_slack": 7.2, + "next_bottleneck_days": 27.4, + "expected_marginal_per_day": 0.9 + }, + "hub-1": { + "binding_share": 0.9, + "mean_slack": 2.0, + "next_bottleneck_days": 31.3, + "expected_marginal_per_day": 0.9 + } + } + }, + { + "id": "prod_duration_harbor_dark_roast", + "label": "Production: Harbor Dark Roast", + "type": "production", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 58, + "mean": 2.6, + "median": 2.5, + "std": 1.1, + "min": 0.0, + "max": 8.2, + "p25": 2.5, + "p75": 3.3, + "p85": 3.3, + "p95": 4.3 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 5.2, + "cost": null, + "observations": [ + { + "date": "2022-05-20", + "value": 1.6 + }, + { + "date": "2022-06-10", + "value": 2.5 + }, + { + "date": "2022-07-15", + "value": 0.8 + }, + { + "date": "2022-08-22", + "value": 3.3 + }, + { + "date": "2022-10-05", + "value": 1.6 + }, + { + "date": "2022-11-18", + "value": 4.1 + }, + { + "date": "2023-01-10", + "value": 2.5 + }, + { + "date": "2023-03-25", + "value": 5.7 + }, + { + "date": "2023-05-12", + "value": 1.6 + }, + { + "date": "2023-07-08", + "value": 3.3 + }, + { + "date": "2023-09-15", + "value": 0.8 + }, + { + "date": "2023-11-22", + "value": 2.5 + }, + { + "date": "2024-01-18", + "value": 8.2 + }, + { + "date": "2024-03-08", + "value": 2.5 + }, + { + "date": "2024-05-15", + "value": 1.6 + }, + { + "date": "2024-07-22", + "value": 4.1 + }, + { + "date": "2024-09-10", + "value": 0.0 + }, + { + "date": "2024-11-05", + "value": 3.3 + }, + { + "date": "2025-01-15", + "value": 2.5 + }, + { + "date": "2025-03-20", + "value": 1.6 + }, + { + "date": "2025-05-28", + "value": 4.9 + }, + { + "date": "2025-08-05", + "value": 2.5 + }, + { + "date": "2025-09-05", + "value": 3.3 + }, + { + "date": "2025-09-11", + "value": 3.3 + }, + { + "date": "2025-09-17", + "value": 2.5 + }, + { + "date": "2025-09-23", + "value": 2.5 + }, + { + "date": "2025-10-06", + "value": 3.3 + }, + { + "date": "2025-10-12", + "value": 1.6 + }, + { + "date": "2025-10-18", + "value": 2.5 + }, + { + "date": "2025-10-24", + "value": 2.5 + }, + { + "date": "2025-11-04", + "value": 1.6 + }, + { + "date": "2025-11-10", + "value": 1.6 + }, + { + "date": "2025-11-16", + "value": 2.5 + }, + { + "date": "2025-11-22", + "value": 2.5 + }, + { + "date": "2025-12-05", + "value": 2.5 + }, + { + "date": "2025-12-11", + "value": 2.5 + }, + { + "date": "2025-12-17", + "value": 2.5 + }, + { + "date": "2025-12-23", + "value": 3.3 + }, + { + "date": "2026-01-06", + "value": 2.5 + }, + { + "date": "2026-01-12", + "value": 2.5 + }, + { + "date": "2026-01-18", + "value": 2.5 + }, + { + "date": "2026-01-24", + "value": 3.3 + }, + { + "date": "2026-02-04", + "value": 3.3 + }, + { + "date": "2026-02-10", + "value": 3.3 + }, + { + "date": "2026-02-16", + "value": 3.3 + }, + { + "date": "2026-02-22", + "value": 2.5 + }, + { + "date": "2026-03-05", + "value": 2.5 + }, + { + "date": "2026-03-11", + "value": 3.3 + }, + { + "date": "2026-03-17", + "value": 1.6 + }, + { + "date": "2026-03-23", + "value": 2.5 + }, + { + "date": "2026-04-06", + "value": 2.5 + }, + { + "date": "2026-04-12", + "value": 1.6 + }, + { + "date": "2026-04-18", + "value": 1.6 + }, + { + "date": "2026-04-24", + "value": 2.5 + }, + { + "date": "2026-05-04", + "value": 2.5 + }, + { + "date": "2026-05-10", + "value": 2.5 + }, + { + "date": "2026-05-16", + "value": 2.5 + }, + { + "date": "2026-05-22", + "value": 2.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2022-06", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2022-07", + "mean": 0.8, + "median": 0.8, + "p10": 0.8, + "p25": 0.8, + "p75": 0.8, + "p90": 0.8, + "n": 1 + }, + { + "month": "2022-08", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2022-10", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2022-11", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2023-01", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2023-03", + "mean": 5.7, + "median": 5.7, + "p10": 5.7, + "p25": 5.7, + "p75": 5.7, + "p90": 5.7, + "n": 1 + }, + { + "month": "2023-05", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2023-07", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2023-09", + "mean": 0.8, + "median": 0.8, + "p10": 0.8, + "p25": 0.8, + "p75": 0.8, + "p90": 0.8, + "n": 1 + }, + { + "month": "2023-11", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 8.2, + "median": 8.2, + "p10": 8.2, + "p25": 8.2, + "p75": 8.2, + "p90": 8.2, + "n": 1 + }, + { + "month": "2024-03", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2024-05", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2024-07", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-09", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2025-01", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2025-03", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2025-05", + "mean": 4.9, + "median": 4.9, + "p10": 4.9, + "p25": 4.9, + "p75": 4.9, + "p90": 4.9, + "n": 1 + }, + { + "month": "2025-08", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2025-09", + "mean": 2.9, + "median": 2.9, + "p10": 2.5, + "p25": 2.5, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2025-10", + "mean": 2.5, + "median": 2.5, + "p10": 1.9, + "p25": 2.3, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2025-11", + "mean": 2.0, + "median": 2.0, + "p10": 1.6, + "p25": 1.6, + "p75": 2.5, + "p90": 2.5, + "n": 4 + }, + { + "month": "2025-12", + "mean": 2.7, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-01", + "mean": 2.7, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-02", + "mean": 3.1, + "median": 3.3, + "p10": 2.7, + "p25": 3.1, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2026-03", + "mean": 2.5, + "median": 2.5, + "p10": 1.9, + "p25": 2.3, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-04", + "mean": 2.0, + "median": 2.0, + "p10": 1.6, + "p25": 1.6, + "p75": 2.5, + "p90": 2.5, + "n": 4 + }, + { + "month": "2026-05", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 4 + } + ], + "n_batches": 58, + "n_movements": null, + "yield_summary": { + "median": 99.2, + "mean": 98.5, + "reference": 100.0, + "n": 58 + }, + "consumption_summary": { + "median_variance": 2.1, + "mean_variance": 3.4, + "n_components": 3, + "n": 58 + }, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 4.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 3.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 4.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "prod_to_qa_pla", + "label": "Production \u2192 QA Release (PL-A)", + "type": "qa_hold", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 58, + "mean": 2.8, + "median": 2.5, + "std": 1.5, + "min": 0.0, + "max": 10.7, + "p25": 2.5, + "p75": 3.3, + "p85": 3.3, + "p95": 5.1 + }, + "plifz": 5, + "plifz_note": "WEBAZ (GR processing days)", + "pct_exceeding_plifz": 6.9, + "cost": null, + "observations": [ + { + "date": "2022-05-22", + "value": 1.6 + }, + { + "date": "2022-06-13", + "value": 0.8 + }, + { + "date": "2022-07-16", + "value": 2.5 + }, + { + "date": "2022-08-26", + "value": 1.6 + }, + { + "date": "2022-10-07", + "value": 4.1 + }, + { + "date": "2022-11-23", + "value": 1.6 + }, + { + "date": "2023-01-13", + "value": 3.3 + }, + { + "date": "2023-04-01", + "value": 2.5 + }, + { + "date": "2023-05-14", + "value": 4.9 + }, + { + "date": "2023-07-12", + "value": 1.6 + }, + { + "date": "2023-09-16", + "value": 10.7 + }, + { + "date": "2023-11-25", + "value": 2.5 + }, + { + "date": "2024-01-28", + "value": 5.7 + }, + { + "date": "2024-03-11", + "value": 0.8 + }, + { + "date": "2024-05-17", + "value": 3.3 + }, + { + "date": "2024-07-27", + "value": 4.1 + }, + { + "date": "2024-09-10", + "value": 1.6 + }, + { + "date": "2024-11-09", + "value": 0.0 + }, + { + "date": "2025-01-18", + "value": 2.5 + }, + { + "date": "2025-03-22", + "value": 6.6 + }, + { + "date": "2025-06-03", + "value": 1.6 + }, + { + "date": "2025-08-08", + "value": 4.1 + }, + { + "date": "2025-09-04", + "value": 1.6 + }, + { + "date": "2025-09-10", + "value": 2.5 + }, + { + "date": "2025-09-16", + "value": 2.5 + }, + { + "date": "2025-09-22", + "value": 2.5 + }, + { + "date": "2025-10-05", + "value": 2.5 + }, + { + "date": "2025-10-11", + "value": 2.5 + }, + { + "date": "2025-10-17", + "value": 3.3 + }, + { + "date": "2025-10-23", + "value": 3.3 + }, + { + "date": "2025-11-06", + "value": 2.5 + }, + { + "date": "2025-11-12", + "value": 2.5 + }, + { + "date": "2025-11-18", + "value": 2.5 + }, + { + "date": "2025-11-24", + "value": 3.3 + }, + { + "date": "2025-12-04", + "value": 2.5 + }, + { + "date": "2025-12-10", + "value": 2.5 + }, + { + "date": "2025-12-16", + "value": 2.5 + }, + { + "date": "2025-12-22", + "value": 1.6 + }, + { + "date": "2026-01-05", + "value": 3.3 + }, + { + "date": "2026-01-11", + "value": 3.3 + }, + { + "date": "2026-01-17", + "value": 2.5 + }, + { + "date": "2026-01-23", + "value": 2.5 + }, + { + "date": "2026-02-06", + "value": 3.3 + }, + { + "date": "2026-02-12", + "value": 1.6 + }, + { + "date": "2026-02-18", + "value": 2.5 + }, + { + "date": "2026-02-24", + "value": 2.5 + }, + { + "date": "2026-03-04", + "value": 2.5 + }, + { + "date": "2026-03-10", + "value": 2.5 + }, + { + "date": "2026-03-16", + "value": 2.5 + }, + { + "date": "2026-03-22", + "value": 3.3 + }, + { + "date": "2026-04-05", + "value": 2.5 + }, + { + "date": "2026-04-11", + "value": 2.5 + }, + { + "date": "2026-04-17", + "value": 2.5 + }, + { + "date": "2026-04-23", + "value": 2.5 + }, + { + "date": "2026-05-06", + "value": 2.5 + }, + { + "date": "2026-05-12", + "value": 2.5 + }, + { + "date": "2026-05-18", + "value": 2.5 + }, + { + "date": "2026-05-24", + "value": 2.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2022-06", + "mean": 0.8, + "median": 0.8, + "p10": 0.8, + "p25": 0.8, + "p75": 0.8, + "p90": 0.8, + "n": 1 + }, + { + "month": "2022-07", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2022-08", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2022-10", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-11", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2023-01", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2023-04", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2023-05", + "mean": 4.9, + "median": 4.9, + "p10": 4.9, + "p25": 4.9, + "p75": 4.9, + "p90": 4.9, + "n": 1 + }, + { + "month": "2023-07", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2023-09", + "mean": 10.7, + "median": 10.7, + "p10": 10.7, + "p25": 10.7, + "p75": 10.7, + "p90": 10.7, + "n": 1 + }, + { + "month": "2023-11", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 5.7, + "median": 5.7, + "p10": 5.7, + "p25": 5.7, + "p75": 5.7, + "p90": 5.7, + "n": 1 + }, + { + "month": "2024-03", + "mean": 0.8, + "median": 0.8, + "p10": 0.8, + "p25": 0.8, + "p75": 0.8, + "p90": 0.8, + "n": 1 + }, + { + "month": "2024-05", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2024-07", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-09", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2024-11", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2025-03", + "mean": 6.6, + "median": 6.6, + "p10": 6.6, + "p25": 6.6, + "p75": 6.6, + "p90": 6.6, + "n": 1 + }, + { + "month": "2025-06", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2025-08", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-09", + "mean": 2.3, + "median": 2.5, + "p10": 1.9, + "p25": 2.3, + "p75": 2.5, + "p90": 2.5, + "n": 4 + }, + { + "month": "2025-10", + "mean": 2.9, + "median": 2.9, + "p10": 2.5, + "p25": 2.5, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2025-11", + "mean": 2.7, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2025-12", + "mean": 2.3, + "median": 2.5, + "p10": 1.9, + "p25": 2.3, + "p75": 2.5, + "p90": 2.5, + "n": 4 + }, + { + "month": "2026-01", + "mean": 2.9, + "median": 2.9, + "p10": 2.5, + "p25": 2.5, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2026-02", + "mean": 2.5, + "median": 2.5, + "p10": 1.9, + "p25": 2.3, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-03", + "mean": 2.7, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-04", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 4 + }, + { + "month": "2026-05", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 4 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": { + "median": 99.2, + "mean": 98.5, + "reference": 100.0, + "n": 58 + }, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 7.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 7.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 6.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "post_qa_ship_pla", + "label": "Post-QA Dwell (PL-A)", + "type": "post_qa_ship", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 57, + "mean": 10.4, + "median": 9.8, + "std": 4.6, + "min": 1.6, + "max": 34.4, + "p25": 8.2, + "p75": 11.5, + "p85": 12.3, + "p95": 16.7 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "cost": { + "unit_price": 23.37, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2023-03", + "n_events": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "n_events": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "n_events": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 264000.0 + } + ] + }, + "observations": [ + { + "date": "2023-03-10", + "value": 6.6 + }, + { + "date": "2023-03-25", + "value": 18.0 + }, + { + "date": "2023-09-20", + "value": 34.4 + }, + { + "date": "2024-03-15", + "value": 4.9 + }, + { + "date": "2024-03-28", + "value": 14.8 + }, + { + "date": "2024-09-05", + "value": 23.0 + }, + { + "date": "2024-09-15", + "value": 9.8 + }, + { + "date": "2024-09-25", + "value": 1.6 + }, + { + "date": "2025-03-10", + "value": 12.3 + }, + { + "date": "2025-03-22", + "value": 4.1 + }, + { + "date": "2025-07-08", + "value": 16.4 + }, + { + "date": "2025-07-22", + "value": 3.3 + }, + { + "date": "2025-09-05", + "value": 11.5 + }, + { + "date": "2025-09-11", + "value": 12.3 + }, + { + "date": "2025-09-17", + "value": 8.2 + }, + { + "date": "2025-09-23", + "value": 9.0 + }, + { + "date": "2025-09-29", + "value": 9.8 + }, + { + "date": "2025-10-06", + "value": 11.5 + }, + { + "date": "2025-10-12", + "value": 6.6 + }, + { + "date": "2025-10-18", + "value": 8.2 + }, + { + "date": "2025-10-24", + "value": 9.0 + }, + { + "date": "2025-10-30", + "value": 9.0 + }, + { + "date": "2025-11-04", + "value": 8.2 + }, + { + "date": "2025-11-10", + "value": 9.8 + }, + { + "date": "2025-11-16", + "value": 9.8 + }, + { + "date": "2025-11-22", + "value": 10.7 + }, + { + "date": "2025-11-28", + "value": 11.5 + }, + { + "date": "2025-12-05", + "value": 8.2 + }, + { + "date": "2025-12-11", + "value": 9.0 + }, + { + "date": "2025-12-17", + "value": 9.8 + }, + { + "date": "2025-12-23", + "value": 10.7 + }, + { + "date": "2025-12-29", + "value": 11.5 + }, + { + "date": "2026-01-06", + "value": 10.7 + }, + { + "date": "2026-01-12", + "value": 11.5 + }, + { + "date": "2026-01-18", + "value": 12.3 + }, + { + "date": "2026-01-24", + "value": 13.1 + }, + { + "date": "2026-01-30", + "value": 9.0 + }, + { + "date": "2026-02-04", + "value": 10.7 + }, + { + "date": "2026-02-10", + "value": 11.5 + }, + { + "date": "2026-02-16", + "value": 12.3 + }, + { + "date": "2026-02-22", + "value": 8.2 + }, + { + "date": "2026-02-28", + "value": 9.0 + }, + { + "date": "2026-03-05", + "value": 10.7 + }, + { + "date": "2026-03-11", + "value": 11.5 + }, + { + "date": "2026-03-17", + "value": 6.6 + }, + { + "date": "2026-03-23", + "value": 8.2 + }, + { + "date": "2026-03-29", + "value": 9.0 + }, + { + "date": "2026-04-06", + "value": 13.1 + }, + { + "date": "2026-04-12", + "value": 8.2 + }, + { + "date": "2026-04-18", + "value": 9.8 + }, + { + "date": "2026-04-24", + "value": 9.8 + }, + { + "date": "2026-04-30", + "value": 10.7 + }, + { + "date": "2026-05-04", + "value": 7.4 + }, + { + "date": "2026-05-10", + "value": 8.2 + }, + { + "date": "2026-05-16", + "value": 9.0 + }, + { + "date": "2026-05-22", + "value": 9.8 + }, + { + "date": "2026-05-28", + "value": 10.7 + } + ], + "monthly": [ + { + "month": "2023-03", + "mean": 12.3, + "median": 12.3, + "p10": 7.7, + "p25": 9.4, + "p75": 15.2, + "p90": 16.9, + "n": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "mean": 34.4, + "median": 34.4, + "p10": 34.4, + "p25": 34.4, + "p75": 34.4, + "p90": 34.4, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "mean": 9.8, + "median": 9.8, + "p10": 5.9, + "p25": 7.4, + "p75": 12.3, + "p90": 13.8, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "mean": 11.5, + "median": 9.8, + "p10": 3.3, + "p25": 5.7, + "p75": 16.4, + "p90": 20.3, + "n": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "mean": 8.2, + "median": 8.2, + "p10": 4.9, + "p25": 6.1, + "p75": 10.2, + "p90": 11.5, + "n": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "mean": 9.8, + "median": 9.8, + "p10": 4.6, + "p25": 6.6, + "p75": 13.1, + "p90": 15.1, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "mean": 10.2, + "median": 9.8, + "p10": 8.5, + "p25": 9.0, + "p75": 11.5, + "p90": 12.0, + "n": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "mean": 8.9, + "median": 9.0, + "p10": 7.2, + "p25": 8.2, + "p75": 9.0, + "p90": 10.5, + "n": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "mean": 10.0, + "median": 9.8, + "p10": 8.9, + "p25": 9.8, + "p75": 10.7, + "p90": 11.2, + "n": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "mean": 9.8, + "median": 9.8, + "p10": 8.5, + "p25": 9.0, + "p75": 10.7, + "p90": 11.2, + "n": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "mean": 11.3, + "median": 11.5, + "p10": 9.7, + "p25": 10.7, + "p75": 12.3, + "p90": 12.8, + "n": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "mean": 10.3, + "median": 10.7, + "p10": 8.5, + "p25": 9.0, + "p75": 11.5, + "p90": 12.0, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "mean": 9.2, + "median": 9.0, + "p10": 7.2, + "p25": 8.2, + "p75": 10.7, + "p90": 11.2, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "mean": 10.3, + "median": 9.8, + "p10": 8.9, + "p25": 9.8, + "p75": 10.7, + "p90": 12.1, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "mean": 9.0, + "median": 9.0, + "p10": 7.7, + "p25": 8.2, + "p75": 9.8, + "p90": 10.3, + "n": 5, + "total_kg_days": 264000.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "direct_ship_pla", + "label": "Direct-to-Customer Ship", + "type": "transit", + "material": "90000300001", + "plant": "PL-A\u2192Customer", + "stats": { + "n": 35, + "mean": 17.1, + "median": 17.2, + "std": 3.8, + "min": 9.8, + "max": 31.2, + "p25": 15.2, + "p75": 18.9, + "p85": 20.4, + "p95": 21.8 + }, + "plifz": null, + "plifz_note": "No planning parameter set", + "pct_exceeding_plifz": null, + "cost": null, + "observations": [ + { + "date": "2023-04-05", + "value": 14.8 + }, + { + "date": "2023-10-12", + "value": 20.5 + }, + { + "date": "2024-04-08", + "value": 9.8 + }, + { + "date": "2024-09-20", + "value": 31.2 + }, + { + "date": "2024-10-15", + "value": 16.4 + }, + { + "date": "2025-03-25", + "value": 12.3 + }, + { + "date": "2025-04-10", + "value": 23.0 + }, + { + "date": "2025-07-30", + "value": 19.7 + }, + { + "date": "2025-09-04", + "value": 13.9 + }, + { + "date": "2025-09-10", + "value": 15.6 + }, + { + "date": "2025-09-16", + "value": 17.2 + }, + { + "date": "2025-10-05", + "value": 13.9 + }, + { + "date": "2025-10-11", + "value": 15.6 + }, + { + "date": "2025-10-17", + "value": 16.4 + }, + { + "date": "2025-11-06", + "value": 18.0 + }, + { + "date": "2025-11-12", + "value": 18.9 + }, + { + "date": "2025-11-18", + "value": 20.5 + }, + { + "date": "2025-12-04", + "value": 17.2 + }, + { + "date": "2025-12-10", + "value": 18.9 + }, + { + "date": "2025-12-16", + "value": 20.5 + }, + { + "date": "2026-01-05", + "value": 17.2 + }, + { + "date": "2026-01-11", + "value": 18.9 + }, + { + "date": "2026-01-17", + "value": 11.5 + }, + { + "date": "2026-02-06", + "value": 21.3 + }, + { + "date": "2026-02-12", + "value": 13.9 + }, + { + "date": "2026-02-18", + "value": 15.6 + }, + { + "date": "2026-03-04", + "value": 12.3 + }, + { + "date": "2026-03-10", + "value": 13.9 + }, + { + "date": "2026-03-16", + "value": 15.6 + }, + { + "date": "2026-04-05", + "value": 16.4 + }, + { + "date": "2026-04-11", + "value": 18.0 + }, + { + "date": "2026-04-17", + "value": 18.9 + }, + { + "date": "2026-05-06", + "value": 16.4 + }, + { + "date": "2026-05-12", + "value": 17.2 + }, + { + "date": "2026-05-18", + "value": 18.9 + } + ], + "monthly": [ + { + "month": "2023-04", + "mean": 14.8, + "median": 14.8, + "p10": 14.8, + "p25": 14.8, + "p75": 14.8, + "p90": 14.8, + "n": 1 + }, + { + "month": "2023-10", + "mean": 20.5, + "median": 20.5, + "p10": 20.5, + "p25": 20.5, + "p75": 20.5, + "p90": 20.5, + "n": 1 + }, + { + "month": "2024-04", + "mean": 9.8, + "median": 9.8, + "p10": 9.8, + "p25": 9.8, + "p75": 9.8, + "p90": 9.8, + "n": 1 + }, + { + "month": "2024-09", + "mean": 31.2, + "median": 31.2, + "p10": 31.2, + "p25": 31.2, + "p75": 31.2, + "p90": 31.2, + "n": 1 + }, + { + "month": "2024-10", + "mean": 16.4, + "median": 16.4, + "p10": 16.4, + "p25": 16.4, + "p75": 16.4, + "p90": 16.4, + "n": 1 + }, + { + "month": "2025-03", + "mean": 12.3, + "median": 12.3, + "p10": 12.3, + "p25": 12.3, + "p75": 12.3, + "p90": 12.3, + "n": 1 + }, + { + "month": "2025-04", + "mean": 23.0, + "median": 23.0, + "p10": 23.0, + "p25": 23.0, + "p75": 23.0, + "p90": 23.0, + "n": 1 + }, + { + "month": "2025-07", + "mean": 19.7, + "median": 19.7, + "p10": 19.7, + "p25": 19.7, + "p75": 19.7, + "p90": 19.7, + "n": 1 + }, + { + "month": "2025-09", + "mean": 15.6, + "median": 15.6, + "p10": 14.3, + "p25": 14.8, + "p75": 16.4, + "p90": 16.9, + "n": 3 + }, + { + "month": "2025-10", + "mean": 15.3, + "median": 15.6, + "p10": 14.3, + "p25": 14.8, + "p75": 16.0, + "p90": 16.2, + "n": 3 + }, + { + "month": "2025-11", + "mean": 19.1, + "median": 18.9, + "p10": 18.2, + "p25": 18.4, + "p75": 19.7, + "p90": 20.2, + "n": 3 + }, + { + "month": "2025-12", + "mean": 18.9, + "median": 18.9, + "p10": 17.5, + "p25": 18.0, + "p75": 19.7, + "p90": 20.2, + "n": 3 + }, + { + "month": "2026-01", + "mean": 15.8, + "median": 17.2, + "p10": 12.6, + "p25": 14.3, + "p75": 18.0, + "p90": 18.5, + "n": 3 + }, + { + "month": "2026-02", + "mean": 17.0, + "median": 15.6, + "p10": 14.3, + "p25": 14.8, + "p75": 18.4, + "p90": 20.2, + "n": 3 + }, + { + "month": "2026-03", + "mean": 13.9, + "median": 13.9, + "p10": 12.6, + "p25": 13.1, + "p75": 14.8, + "p90": 15.3, + "n": 3 + }, + { + "month": "2026-04", + "mean": 17.8, + "median": 18.0, + "p10": 16.7, + "p25": 17.2, + "p75": 18.4, + "p90": 18.7, + "n": 3 + }, + { + "month": "2026-05", + "mean": 17.5, + "median": 17.2, + "p10": 16.6, + "p25": 16.8, + "p75": 18.0, + "p90": 18.5, + "n": 3 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 22.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 22.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "transit_pla_hub1", + "label": "Transit PL-A \u2192 HUB-1", + "type": "transit", + "material": "90000300001", + "plant": "PL-A\u2192HUB-1", + "stats": { + "n": 42, + "mean": 25.7, + "median": 25.0, + "std": 5.8, + "min": 12.3, + "max": 45.1, + "p25": 22.1, + "p75": 29.5, + "p85": 31.2, + "p95": 34.4 + }, + "plifz": 28, + "plifz_note": null, + "pct_exceeding_plifz": 61.9, + "cost": null, + "observations": [ + { + "date": "2022-07-20", + "value": 23.0 + }, + { + "date": "2022-11-30", + "value": 28.7 + }, + { + "date": "2023-03-15", + "value": 18.0 + }, + { + "date": "2023-07-10", + "value": 34.4 + }, + { + "date": "2023-10-25", + "value": 24.6 + }, + { + "date": "2024-02-08", + "value": 45.1 + }, + { + "date": "2024-05-20", + "value": 20.5 + }, + { + "date": "2024-08-12", + "value": 31.2 + }, + { + "date": "2024-11-05", + "value": 12.3 + }, + { + "date": "2025-01-22", + "value": 26.2 + }, + { + "date": "2025-04-10", + "value": 23.0 + }, + { + "date": "2025-06-18", + "value": 36.9 + }, + { + "date": "2025-07-15", + "value": 24.6 + }, + { + "date": "2025-08-05", + "value": 18.0 + }, + { + "date": "2025-09-05", + "value": 29.5 + }, + { + "date": "2025-09-10", + "value": 31.2 + }, + { + "date": "2025-09-11", + "value": 32.0 + }, + { + "date": "2025-09-17", + "value": 21.3 + }, + { + "date": "2025-10-06", + "value": 29.5 + }, + { + "date": "2025-10-12", + "value": 18.9 + }, + { + "date": "2025-10-18", + "value": 21.3 + }, + { + "date": "2025-11-04", + "value": 22.1 + }, + { + "date": "2025-11-10", + "value": 25.4 + }, + { + "date": "2025-11-16", + "value": 27.1 + }, + { + "date": "2025-12-05", + "value": 22.1 + }, + { + "date": "2025-12-11", + "value": 23.8 + }, + { + "date": "2025-12-17", + "value": 26.2 + }, + { + "date": "2026-01-06", + "value": 21.3 + }, + { + "date": "2026-01-12", + "value": 23.8 + }, + { + "date": "2026-01-18", + "value": 25.4 + }, + { + "date": "2026-02-04", + "value": 27.1 + }, + { + "date": "2026-02-10", + "value": 29.5 + }, + { + "date": "2026-02-16", + "value": 32.0 + }, + { + "date": "2026-03-05", + "value": 27.1 + }, + { + "date": "2026-03-11", + "value": 29.5 + }, + { + "date": "2026-03-17", + "value": 18.9 + }, + { + "date": "2026-04-06", + "value": 32.8 + }, + { + "date": "2026-04-12", + "value": 22.1 + }, + { + "date": "2026-04-18", + "value": 25.4 + }, + { + "date": "2026-05-04", + "value": 19.7 + }, + { + "date": "2026-05-10", + "value": 22.1 + }, + { + "date": "2026-05-16", + "value": 23.8 + } + ], + "monthly": [ + { + "month": "2022-07", + "mean": 23.0, + "median": 23.0, + "p10": 23.0, + "p25": 23.0, + "p75": 23.0, + "p90": 23.0, + "n": 1 + }, + { + "month": "2022-11", + "mean": 28.7, + "median": 28.7, + "p10": 28.7, + "p25": 28.7, + "p75": 28.7, + "p90": 28.7, + "n": 1 + }, + { + "month": "2023-03", + "mean": 18.0, + "median": 18.0, + "p10": 18.0, + "p25": 18.0, + "p75": 18.0, + "p90": 18.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 34.4, + "median": 34.4, + "p10": 34.4, + "p25": 34.4, + "p75": 34.4, + "p90": 34.4, + "n": 1 + }, + { + "month": "2023-10", + "mean": 24.6, + "median": 24.6, + "p10": 24.6, + "p25": 24.6, + "p75": 24.6, + "p90": 24.6, + "n": 1 + }, + { + "month": "2024-02", + "mean": 45.1, + "median": 45.1, + "p10": 45.1, + "p25": 45.1, + "p75": 45.1, + "p90": 45.1, + "n": 1 + }, + { + "month": "2024-05", + "mean": 20.5, + "median": 20.5, + "p10": 20.5, + "p25": 20.5, + "p75": 20.5, + "p90": 20.5, + "n": 1 + }, + { + "month": "2024-08", + "mean": 31.2, + "median": 31.2, + "p10": 31.2, + "p25": 31.2, + "p75": 31.2, + "p90": 31.2, + "n": 1 + }, + { + "month": "2024-11", + "mean": 12.3, + "median": 12.3, + "p10": 12.3, + "p25": 12.3, + "p75": 12.3, + "p90": 12.3, + "n": 1 + }, + { + "month": "2025-01", + "mean": 26.2, + "median": 26.2, + "p10": 26.2, + "p25": 26.2, + "p75": 26.2, + "p90": 26.2, + "n": 1 + }, + { + "month": "2025-04", + "mean": 23.0, + "median": 23.0, + "p10": 23.0, + "p25": 23.0, + "p75": 23.0, + "p90": 23.0, + "n": 1 + }, + { + "month": "2025-06", + "mean": 36.9, + "median": 36.9, + "p10": 36.9, + "p25": 36.9, + "p75": 36.9, + "p90": 36.9, + "n": 1 + }, + { + "month": "2025-07", + "mean": 24.6, + "median": 24.6, + "p10": 24.6, + "p25": 24.6, + "p75": 24.6, + "p90": 24.6, + "n": 1 + }, + { + "month": "2025-08", + "mean": 18.0, + "median": 18.0, + "p10": 18.0, + "p25": 18.0, + "p75": 18.0, + "p90": 18.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 28.5, + "median": 30.3, + "p10": 23.8, + "p25": 27.5, + "p75": 31.4, + "p90": 31.7, + "n": 4 + }, + { + "month": "2025-10", + "mean": 23.2, + "median": 21.3, + "p10": 19.4, + "p25": 20.1, + "p75": 25.4, + "p90": 27.9, + "n": 3 + }, + { + "month": "2025-11", + "mean": 24.8, + "median": 25.4, + "p10": 22.8, + "p25": 23.8, + "p75": 26.2, + "p90": 26.7, + "n": 3 + }, + { + "month": "2025-12", + "mean": 24.0, + "median": 23.8, + "p10": 22.5, + "p25": 23.0, + "p75": 25.0, + "p90": 25.7, + "n": 3 + }, + { + "month": "2026-01", + "mean": 23.5, + "median": 23.8, + "p10": 21.8, + "p25": 22.5, + "p75": 24.6, + "p90": 25.1, + "n": 3 + }, + { + "month": "2026-02", + "mean": 29.5, + "median": 29.5, + "p10": 27.6, + "p25": 28.3, + "p75": 30.7, + "p90": 31.5, + "n": 3 + }, + { + "month": "2026-03", + "mean": 25.2, + "median": 27.1, + "p10": 20.5, + "p25": 23.0, + "p75": 28.3, + "p90": 29.0, + "n": 3 + }, + { + "month": "2026-04", + "mean": 26.8, + "median": 25.4, + "p10": 22.8, + "p25": 23.8, + "p75": 29.1, + "p90": 31.3, + "n": 3 + }, + { + "month": "2026-05", + "mean": 21.9, + "median": 22.1, + "p10": 20.2, + "p25": 20.9, + "p75": 23.0, + "p90": 23.5, + "n": 3 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "dest_dwell_hub1", + "label": "Destination Dwell (HUB-1)", + "type": "destination_dwell", + "material": "90000300001", + "plant": "HUB-1", + "stats": { + "n": 37, + "mean": 36.9, + "median": 36.1, + "std": 11.5, + "min": 8.2, + "max": 77.9, + "p25": 29.5, + "p75": 40.2, + "p85": 43.5, + "p95": 55.4 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "cost": { + "unit_price": 23.37, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2022-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "n_events": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "n_events": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "n_events": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "n_events": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "n_events": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "n_events": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "n_events": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "n_events": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "n_events": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "n_events": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "n_events": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "n_events": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "n_events": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "n_events": 3, + "total_kg_days": 585600.0 + } + ] + }, + "observations": [ + { + "date": "2022-09-15", + "value": 34.4 + }, + { + "date": "2023-05-05", + "value": 53.3 + }, + { + "date": "2023-05-20", + "value": 23.0 + }, + { + "date": "2024-01-10", + "value": 77.9 + }, + { + "date": "2024-01-25", + "value": 28.7 + }, + { + "date": "2024-08-15", + "value": 8.2 + }, + { + "date": "2025-02-05", + "value": 64.0 + }, + { + "date": "2025-02-18", + "value": 45.1 + }, + { + "date": "2025-08-10", + "value": 34.4 + }, + { + "date": "2025-08-20", + "value": 26.2 + }, + { + "date": "2025-09-06", + "value": 32.0 + }, + { + "date": "2025-09-12", + "value": 34.4 + }, + { + "date": "2025-09-18", + "value": 37.7 + }, + { + "date": "2025-10-04", + "value": 40.2 + }, + { + "date": "2025-10-10", + "value": 43.5 + }, + { + "date": "2025-10-16", + "value": 46.7 + }, + { + "date": "2025-11-05", + "value": 39.4 + }, + { + "date": "2025-11-11", + "value": 42.6 + }, + { + "date": "2025-11-17", + "value": 27.9 + }, + { + "date": "2025-12-06", + "value": 39.4 + }, + { + "date": "2025-12-12", + "value": 24.6 + }, + { + "date": "2025-12-18", + "value": 27.9 + }, + { + "date": "2026-01-04", + "value": 29.5 + }, + { + "date": "2026-01-10", + "value": 33.6 + }, + { + "date": "2026-01-16", + "value": 35.3 + }, + { + "date": "2026-02-05", + "value": 29.5 + }, + { + "date": "2026-02-11", + "value": 32.0 + }, + { + "date": "2026-02-17", + "value": 34.4 + }, + { + "date": "2026-03-06", + "value": 37.7 + }, + { + "date": "2026-03-12", + "value": 40.2 + }, + { + "date": "2026-03-18", + "value": 43.5 + }, + { + "date": "2026-04-04", + "value": 36.9 + }, + { + "date": "2026-04-10", + "value": 39.4 + }, + { + "date": "2026-04-16", + "value": 42.6 + }, + { + "date": "2026-05-05", + "value": 36.1 + }, + { + "date": "2026-05-11", + "value": 39.4 + }, + { + "date": "2026-05-17", + "value": 24.6 + } + ], + "monthly": [ + { + "month": "2022-09", + "mean": 34.4, + "median": 34.4, + "p10": 34.4, + "p25": 34.4, + "p75": 34.4, + "p90": 34.4, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "mean": 38.1, + "median": 38.1, + "p10": 26.0, + "p25": 30.6, + "p75": 45.8, + "p90": 50.3, + "n": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "mean": 53.3, + "median": 53.3, + "p10": 33.6, + "p25": 41.0, + "p75": 65.6, + "p90": 73.0, + "n": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "mean": 8.2, + "median": 8.2, + "p10": 8.2, + "p25": 8.2, + "p75": 8.2, + "p90": 8.2, + "n": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "mean": 54.5, + "median": 54.5, + "p10": 47.0, + "p25": 49.9, + "p75": 59.3, + "p90": 62.1, + "n": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "mean": 30.3, + "median": 30.3, + "p10": 27.1, + "p25": 28.3, + "p75": 32.4, + "p90": 33.6, + "n": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "mean": 34.7, + "median": 34.4, + "p10": 32.5, + "p25": 33.2, + "p75": 36.1, + "p90": 37.1, + "n": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "mean": 43.5, + "median": 43.5, + "p10": 40.8, + "p25": 41.8, + "p75": 45.1, + "p90": 46.1, + "n": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "mean": 36.7, + "median": 39.4, + "p10": 30.2, + "p25": 33.6, + "p75": 41.0, + "p90": 42.0, + "n": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "mean": 30.6, + "median": 27.9, + "p10": 25.3, + "p25": 26.2, + "p75": 33.6, + "p90": 37.1, + "n": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "mean": 32.8, + "median": 33.6, + "p10": 30.3, + "p25": 31.6, + "p75": 34.4, + "p90": 34.9, + "n": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "mean": 32.0, + "median": 32.0, + "p10": 30.0, + "p25": 30.7, + "p75": 33.2, + "p90": 33.9, + "n": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "mean": 40.4, + "median": 40.2, + "p10": 38.2, + "p25": 38.9, + "p75": 41.8, + "p90": 42.8, + "n": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "mean": 39.6, + "median": 39.4, + "p10": 37.4, + "p25": 38.1, + "p75": 41.0, + "p90": 42.0, + "n": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "mean": 33.4, + "median": 36.1, + "p10": 26.9, + "p25": 30.3, + "p75": 37.7, + "p90": 38.7, + "n": 3, + "total_kg_days": 585600.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 45.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 45.0, + "expected_marginal_per_day": 1.0 + } + } + } + ], + "edges": [ + { + "source": "procurement_highland_arabica", + "target": "raw_dwell_highland_arabica", + "label": "101" + }, + { + "source": "procurement_lowland_robusta", + "target": "raw_dwell_lowland_robusta", + "label": "101" + }, + { + "source": "procurement_washed_bourbon", + "target": "raw_dwell_washed_bourbon", + "label": "101" + }, + { + "source": "raw_dwell_highland_arabica", + "target": "prod_duration_green_blend", + "label": "261" + }, + { + "source": "raw_dwell_lowland_robusta", + "target": "prod_duration_green_blend", + "label": "261" + }, + { + "source": "prod_duration_green_blend", + "target": "intermed_dwell_green_blend", + "label": "101" + }, + { + "source": "raw_dwell_washed_bourbon", + "target": "prod_duration_harbor_dark_roast", + "label": "261" + }, + { + "source": "intermed_dwell_green_blend", + "target": "prod_duration_harbor_dark_roast", + "label": "261" + }, + { + "source": "prod_duration_harbor_dark_roast", + "target": "prod_to_qa_pla", + "label": "101" + }, + { + "source": "post_qa_ship_pla", + "target": "direct_ship_pla", + "label": "601" + }, + { + "source": "post_qa_ship_pla", + "target": "transit_pla_hub1", + "label": "641" + }, + { + "source": "transit_pla_hub1", + "target": "dest_dwell_hub1" + }, + { + "source": "prod_to_qa_pla", + "target": "post_qa_ship_pla" + } + ], + "pipeline_summary": { + "direct": { + "label": "Direct to customer", + "stages": [ + { + "id": "seg_proc_to_prodstart", + "label": "Procurement \u2192 Production Start", + "type": "procurement", + "mean": 29.9, + "median": 30, + "pct_of_total": 17.6, + "n": 60 + }, + { + "id": "seg_prodstart_to_prodfinish", + "label": "Production Start \u2192 Production Finish", + "type": "production", + "mean": 99.8, + "median": 101, + "pct_of_total": 58.9, + "n": 60 + }, + { + "id": "seg_prodfinish_to_qa", + "label": "Production Finish \u2192 QA Release", + "type": "qa_hold", + "mean": 6.6, + "median": 7, + "pct_of_total": 3.9, + "n": 60 + }, + { + "id": "seg_qa_to_customer", + "label": "QA Release \u2192 Customer", + "type": "transit", + "mean": 33.2, + "median": 33, + "pct_of_total": 19.6, + "n": 60 + } + ], + "total_mean": 169.5, + "total_median": 171 + }, + "hub-1": { + "label": "HUB-1", + "stages": [ + { + "id": "seg_proc_to_prodstart", + "label": "Procurement \u2192 Production Start", + "type": "procurement", + "mean": 28.4, + "median": 29, + "pct_of_total": 12.8, + "n": 40 + }, + { + "id": "seg_prodstart_to_prodfinish", + "label": "Production Start \u2192 Production Finish", + "type": "production", + "mean": 102.1, + "median": 104, + "pct_of_total": 46.1, + "n": 40 + }, + { + "id": "seg_prodfinish_to_qa", + "label": "Production Finish \u2192 QA Release", + "type": "qa_hold", + "mean": 6.2, + "median": 6, + "pct_of_total": 2.8, + "n": 40 + }, + { + "id": "seg_qa_to_customer", + "label": "QA Release \u2192 Customer", + "type": "transit", + "mean": 84.8, + "median": 88, + "pct_of_total": 38.3, + "n": 40 + } + ], + "total_mean": 221.5, + "total_median": 227 + } + }, + "annotations": [ + { + "date": "2023-09-01", + "label": "Supplier change for Highland Arabica", + "step_ids": ["procurement_highland_arabica", "raw_dwell_highland_arabica"] + }, + { + "date": "2024-01-15", + "label": "QA process revision", + "step_ids": ["qa_hold_pla"] + } + ], + "batch_timelines": { + "batches": [ + { + "batch": "BATCH-007069", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-05-27", + "earliest_gr_date": "2024-05-29", + "earliest_production_start": "2024-07-03", + "fg_receipt_date": "2024-10-28", + "qa_release_date": "2024-11-03", + "ship_date": null, + "delivery_date": "2024-12-10", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 37, + "seg_prodstart_to_prodfinish": 117, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 37, + "total_days": 197, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 94, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 112, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 70, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 39, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 52, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 14, + "direct_ship_pla": 23 + } + }, + "total_from_po": 197 + }, + { + "batch": "BATCH-767678", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-13", + "earliest_gr_date": "2024-07-15", + "earliest_production_start": "2024-07-29", + "fg_receipt_date": "2024-11-05", + "qa_release_date": "2024-11-09", + "ship_date": null, + "delivery_date": "2024-12-15", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 16, + "seg_prodstart_to_prodfinish": 99, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 36, + "total_days": 155, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 14, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 83, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 97, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 55, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 14, + "direct_ship_pla": 22 + } + }, + "total_from_po": 155 + }, + { + "batch": "BATCH-872783", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-25", + "earliest_gr_date": "2024-07-27", + "earliest_production_start": "2024-08-19", + "fg_receipt_date": "2024-11-08", + "qa_release_date": "2024-11-15", + "ship_date": null, + "delivery_date": "2024-12-20", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 81, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 35, + "total_days": 148, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 58, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 78, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 34, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 45, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "direct_ship_pla": 25 + } + }, + "total_from_po": 148 + }, + { + "batch": "BATCH-868247", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-20", + "earliest_gr_date": "2024-07-22", + "earliest_production_start": "2024-08-24", + "fg_receipt_date": "2024-11-10", + "qa_release_date": "2024-11-19", + "ship_date": null, + "delivery_date": "2024-12-26", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 78, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 37, + "total_days": 159, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 14, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 61, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 75, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 17, + "direct_ship_pla": 20 + } + }, + "total_from_po": 159 + }, + { + "batch": "BATCH-775611", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-22", + "earliest_gr_date": "2024-07-24", + "earliest_production_start": "2024-08-19", + "fg_receipt_date": "2024-11-22", + "qa_release_date": "2024-11-30", + "ship_date": null, + "delivery_date": "2024-12-31", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 95, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 31, + "total_days": 162, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 8, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 82, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 90, + "production_days": 8, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 64, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 74, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 68, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 16, + "direct_ship_pla": 15 + } + }, + "total_from_po": 162 + }, + { + "batch": "BATCH-544789", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-08", + "earliest_gr_date": "2024-07-10", + "earliest_production_start": "2024-08-05", + "fg_receipt_date": "2024-12-05", + "qa_release_date": "2024-12-12", + "ship_date": null, + "delivery_date": "2025-01-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 122, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 25, + "total_days": 182, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 24, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 94, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 118, + "production_days": 24, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 7, + "direct_ship_pla": 18 + } + }, + "total_from_po": 182 + }, + { + "batch": "BATCH-447665", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-14", + "earliest_gr_date": "2024-07-16", + "earliest_production_start": "2024-08-19", + "fg_receipt_date": "2024-12-05", + "qa_release_date": "2024-12-11", + "ship_date": null, + "delivery_date": "2025-01-11", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 36, + "seg_prodstart_to_prodfinish": 108, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 31, + "total_days": 181, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 24, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 81, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 24, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 63, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 16, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 63, + "production_days": 16, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 13, + "direct_ship_pla": 18 + } + }, + "total_from_po": 181 + }, + { + "batch": "BATCH-963613", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-24", + "earliest_gr_date": "2024-07-26", + "earliest_production_start": "2024-08-26", + "fg_receipt_date": "2024-12-12", + "qa_release_date": "2024-12-19", + "ship_date": null, + "delivery_date": "2025-01-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 108, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 29, + "total_days": 177, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 83, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 104, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 71, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "direct_ship_pla": 19 + } + }, + "total_from_po": 177 + }, + { + "batch": "BATCH-863299", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-08-05", + "earliest_gr_date": "2024-08-07", + "earliest_production_start": "2024-08-30", + "fg_receipt_date": "2024-12-21", + "qa_release_date": "2024-12-27", + "ship_date": null, + "delivery_date": "2025-01-22", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 26, + "total_days": 170, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 26, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 84, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 110, + "production_days": 26, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 69, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 14 + } + }, + "total_from_po": 170 + }, + { + "batch": "BATCH-528145", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-08-22", + "earliest_gr_date": "2024-08-24", + "earliest_production_start": "2024-09-11", + "fg_receipt_date": "2024-12-24", + "qa_release_date": "2024-12-30", + "ship_date": null, + "delivery_date": "2025-01-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 20, + "seg_prodstart_to_prodfinish": 104, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 29, + "total_days": 159, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 12, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 90, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 102, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 58, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 17 + } + }, + "total_from_po": 159 + }, + { + "batch": "BATCH-242499", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-08-17", + "earliest_gr_date": "2024-08-19", + "earliest_production_start": "2024-09-16", + "fg_receipt_date": "2024-12-26", + "qa_release_date": "2024-12-31", + "ship_date": null, + "delivery_date": "2025-02-02", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 101, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 33, + "total_days": 169, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 77, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 11, + "direct_ship_pla": 22 + } + }, + "total_from_po": 169 + }, + { + "batch": "BATCH-576635", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-29", + "earliest_gr_date": "2024-10-01", + "earliest_production_start": "2024-10-26", + "fg_receipt_date": "2024-12-31", + "qa_release_date": "2025-01-07", + "ship_date": null, + "delivery_date": "2025-02-08", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 27, + "seg_prodstart_to_prodfinish": 66, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 32, + "total_days": 132, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 47, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 64, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 57, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 8, + "direct_ship_pla": 24 + } + }, + "total_from_po": 132 + }, + { + "batch": "BATCH-221460", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-24", + "earliest_gr_date": "2024-07-26", + "earliest_production_start": "2024-08-28", + "fg_receipt_date": "2025-01-01", + "qa_release_date": "2025-01-08", + "ship_date": null, + "delivery_date": "2025-02-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 126, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 36, + "total_days": 204, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 99, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 120, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 66, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 78, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 6, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 13, + "direct_ship_pla": 23 + } + }, + "total_from_po": 204 + }, + { + "batch": "BATCH-666578", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-10", + "earliest_gr_date": "2024-09-12", + "earliest_production_start": "2024-10-06", + "fg_receipt_date": "2025-01-10", + "qa_release_date": "2025-01-18", + "ship_date": null, + "delivery_date": "2025-02-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 96, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 31, + "total_days": 161, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 11, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 82, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 63, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 9, + "direct_ship_pla": 22 + } + }, + "total_from_po": 161 + }, + { + "batch": "BATCH-208118", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-05", + "earliest_gr_date": "2024-09-07", + "earliest_production_start": "2024-10-19", + "fg_receipt_date": "2025-01-11", + "qa_release_date": "2025-01-19", + "ship_date": null, + "delivery_date": "2025-02-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 44, + "seg_prodstart_to_prodfinish": 84, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 36, + "total_days": 172, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 51, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 67, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 69, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 82, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 7, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 31, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 38, + "production_days": 7, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 15, + "direct_ship_pla": 21 + } + }, + "total_from_po": 172 + }, + { + "batch": "BATCH-458243", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-05", + "earliest_gr_date": "2024-09-07", + "earliest_production_start": "2024-10-04", + "fg_receipt_date": "2025-01-22", + "qa_release_date": "2025-01-29", + "ship_date": null, + "delivery_date": "2025-03-01", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 31, + "total_days": 177, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 106, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 69, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 9, + "direct_ship_pla": 22 + } + }, + "total_from_po": 177 + }, + { + "batch": "BATCH-207730", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-16", + "earliest_gr_date": "2024-09-18", + "earliest_production_start": "2024-10-14", + "fg_receipt_date": "2025-01-18", + "qa_release_date": "2025-01-22", + "ship_date": null, + "delivery_date": "2025-03-07", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 96, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 44, + "total_days": 172, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 77, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 92, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 74, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 8, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 68, + "production_days": 8, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 16, + "direct_ship_pla": 28 + } + }, + "total_from_po": 172 + }, + { + "batch": "BATCH-033995", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-08-27", + "earliest_gr_date": "2024-08-29", + "earliest_production_start": "2024-09-30", + "fg_receipt_date": "2025-01-22", + "qa_release_date": "2025-01-30", + "ship_date": null, + "delivery_date": "2025-03-12", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 34, + "seg_prodstart_to_prodfinish": 114, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 41, + "total_days": 197, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 93, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 111, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 18, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 70, + "production_days": 18, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 17, + "direct_ship_pla": 24 + } + }, + "total_from_po": 197 + }, + { + "batch": "BATCH-559161", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-10", + "earliest_gr_date": "2024-09-12", + "earliest_production_start": "2024-10-16", + "fg_receipt_date": "2025-02-14", + "qa_release_date": "2025-02-19", + "ship_date": null, + "delivery_date": "2025-03-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 36, + "seg_prodstart_to_prodfinish": 121, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 27, + "total_days": 189, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 99, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 117, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 73, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 15, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 15, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 10, + "direct_ship_pla": 17 + } + }, + "total_from_po": 189 + }, + { + "batch": "BATCH-043249", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-28", + "earliest_gr_date": "2024-09-30", + "earliest_production_start": "2024-10-27", + "fg_receipt_date": "2025-02-12", + "qa_release_date": "2025-02-15", + "ship_date": null, + "delivery_date": "2025-03-23", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 108, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 36, + "total_days": 176, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 86, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 36, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 50, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 12, + "direct_ship_pla": 24 + } + }, + "total_from_po": 176 + }, + { + "batch": "BATCH-876661", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-10-05", + "earliest_gr_date": "2024-10-07", + "earliest_production_start": "2024-11-06", + "fg_receipt_date": "2025-02-04", + "qa_release_date": "2025-02-11", + "ship_date": null, + "delivery_date": "2025-03-29", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 32, + "seg_prodstart_to_prodfinish": 90, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 46, + "total_days": 175, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 13, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 73, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 86, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 15, + "direct_ship_pla": 31 + } + }, + "total_from_po": 175 + }, + { + "batch": "BATCH-758211", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-24", + "earliest_gr_date": "2024-09-26", + "earliest_production_start": "2024-10-24", + "fg_receipt_date": "2025-02-22", + "qa_release_date": "2025-03-01", + "ship_date": null, + "delivery_date": "2025-04-03", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 121, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 33, + "total_days": 191, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 100, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 117, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "direct_ship_pla": 23 + } + }, + "total_from_po": 191 + }, + { + "batch": "BATCH-198568", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-10-07", + "earliest_gr_date": "2024-10-09", + "earliest_production_start": "2024-10-29", + "fg_receipt_date": "2025-02-21", + "qa_release_date": "2025-03-02", + "ship_date": null, + "delivery_date": "2025-04-09", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 22, + "seg_prodstart_to_prodfinish": 115, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 38, + "total_days": 184, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 89, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 110, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 64, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 79, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 78, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 91, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 13, + "direct_ship_pla": 25 + } + }, + "total_from_po": 184 + }, + { + "batch": "BATCH-499114", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-20", + "earliest_gr_date": "2024-11-22", + "earliest_production_start": "2024-12-17", + "fg_receipt_date": "2025-03-05", + "qa_release_date": "2025-03-14", + "ship_date": null, + "delivery_date": "2025-04-14", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 27, + "seg_prodstart_to_prodfinish": 78, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 31, + "total_days": 145, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 52, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 70, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 33, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 44, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 16, + "direct_ship_pla": 15 + } + }, + "total_from_po": 145 + }, + { + "batch": "BATCH-947566", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-10-15", + "earliest_gr_date": "2024-10-17", + "earliest_production_start": "2024-11-17", + "fg_receipt_date": "2025-03-07", + "qa_release_date": "2025-03-10", + "ship_date": null, + "delivery_date": "2025-04-19", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 40, + "total_days": 186, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 86, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 104, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 62, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 6, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 14, + "direct_ship_pla": 26 + } + }, + "total_from_po": 186 + }, + { + "batch": "BATCH-154390", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-10-25", + "earliest_gr_date": "2024-10-27", + "earliest_production_start": "2024-11-27", + "fg_receipt_date": "2025-03-10", + "qa_release_date": "2025-03-16", + "ship_date": null, + "delivery_date": "2025-04-25", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 103, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 40, + "total_days": 182, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 22, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 77, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 99, + "production_days": 22, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 67, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 82, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 44, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 57, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 28 + } + }, + "total_from_po": 182 + }, + { + "batch": "BATCH-557064", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-01", + "earliest_gr_date": "2024-12-03", + "earliest_production_start": "2025-01-02", + "fg_receipt_date": "2025-03-29", + "qa_release_date": "2025-04-05", + "ship_date": null, + "delivery_date": "2025-04-30", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 32, + "seg_prodstart_to_prodfinish": 86, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 25, + "total_days": 150, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 64, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 82, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 60, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 8, + "direct_ship_pla": 17 + } + }, + "total_from_po": 150 + }, + { + "batch": "BATCH-307333", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-17", + "earliest_gr_date": "2024-11-19", + "earliest_production_start": "2024-12-15", + "fg_receipt_date": "2025-03-27", + "qa_release_date": "2025-04-04", + "ship_date": null, + "delivery_date": "2025-05-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 102, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 32, + "total_days": 170, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 81, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 73, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 88, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 36, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 49, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 16, + "direct_ship_pla": 16 + } + }, + "total_from_po": 170 + }, + { + "batch": "BATCH-891817", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-02", + "earliest_gr_date": "2024-12-04", + "earliest_production_start": "2024-12-16", + "fg_receipt_date": "2025-03-30", + "qa_release_date": "2025-04-07", + "ship_date": null, + "delivery_date": "2025-05-11", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 14, + "seg_prodstart_to_prodfinish": 104, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 34, + "total_days": 160, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 82, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 100, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 62, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 65, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 76, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 9, + "direct_ship_pla": 25 + } + }, + "total_from_po": 160 + }, + { + "batch": "BATCH-852390", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-24", + "earliest_gr_date": "2024-11-26", + "earliest_production_start": "2024-12-29", + "fg_receipt_date": "2025-03-29", + "qa_release_date": "2025-04-06", + "ship_date": null, + "delivery_date": "2025-05-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 90, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 41, + "total_days": 174, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 70, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 86, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 37, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 52, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 14, + "direct_ship_pla": 27 + } + }, + "total_from_po": 174 + }, + { + "batch": "BATCH-412722", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-31", + "earliest_gr_date": "2025-01-02", + "earliest_production_start": "2025-01-21", + "fg_receipt_date": "2025-04-15", + "qa_release_date": "2025-04-20", + "ship_date": null, + "delivery_date": "2025-05-22", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 21, + "seg_prodstart_to_prodfinish": 84, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 32, + "total_days": 142, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 49, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 70, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 64, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 81, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 56, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 9, + "direct_ship_pla": 23 + } + }, + "total_from_po": 142 + }, + { + "batch": "BATCH-357156", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-08", + "earliest_gr_date": "2024-11-10", + "earliest_production_start": "2024-12-13", + "fg_receipt_date": "2025-04-05", + "qa_release_date": "2025-04-13", + "ship_date": null, + "delivery_date": "2025-05-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 45, + "total_days": 201, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 89, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 110, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 72, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 83, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 60, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 14, + "direct_ship_pla": 31 + } + }, + "total_from_po": 201 + }, + { + "batch": "BATCH-851698", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-04", + "earliest_gr_date": "2025-01-06", + "earliest_production_start": "2025-02-06", + "fg_receipt_date": "2025-04-22", + "qa_release_date": "2025-04-30", + "ship_date": null, + "delivery_date": "2025-06-02", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 75, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 33, + "total_days": 149, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 52, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 71, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 41, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 54, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 72, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 7, + "direct_ship_pla": 26 + } + }, + "total_from_po": 149 + }, + { + "batch": "BATCH-440021", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-29", + "earliest_gr_date": "2024-12-31", + "earliest_production_start": "2025-01-31", + "fg_receipt_date": "2025-05-05", + "qa_release_date": "2025-05-13", + "ship_date": null, + "delivery_date": "2025-06-08", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 94, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 26, + "total_days": 161, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 12, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 81, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 78, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 91, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 40, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 52, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 12, + "direct_ship_pla": 14 + } + }, + "total_from_po": 161 + }, + { + "batch": "BATCH-546123", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-20", + "earliest_gr_date": "2024-12-22", + "earliest_production_start": "2025-01-18", + "fg_receipt_date": "2025-05-08", + "qa_release_date": "2025-05-15", + "ship_date": null, + "delivery_date": "2025-06-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 29, + "total_days": 175, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 89, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 106, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 63, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 78, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 15, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 64, + "production_days": 15, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 11, + "direct_ship_pla": 18 + } + }, + "total_from_po": 175 + }, + { + "batch": "BATCH-990560", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-29", + "earliest_gr_date": "2024-12-01", + "earliest_production_start": "2025-01-08", + "fg_receipt_date": "2025-05-16", + "qa_release_date": "2025-05-24", + "ship_date": null, + "delivery_date": "2025-06-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 40, + "seg_prodstart_to_prodfinish": 128, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 25, + "total_days": 201, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 109, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 125, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 62, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 38, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 49, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 8, + "direct_ship_pla": 17 + } + }, + "total_from_po": 201 + }, + { + "batch": "BATCH-386297", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-03", + "earliest_gr_date": "2025-01-05", + "earliest_production_start": "2025-01-29", + "fg_receipt_date": "2025-05-19", + "qa_release_date": "2025-05-26", + "ship_date": null, + "delivery_date": "2025-06-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 29, + "total_days": 172, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 88, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 39, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 50, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 70, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 14, + "direct_ship_pla": 15 + } + }, + "total_from_po": 172 + }, + { + "batch": "BATCH-947389", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-21", + "earliest_gr_date": "2025-01-23", + "earliest_production_start": "2025-02-19", + "fg_receipt_date": "2025-05-31", + "qa_release_date": "2025-06-06", + "ship_date": null, + "delivery_date": "2025-06-29", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 101, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 23, + "total_days": 159, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 81, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 16, + "direct_ship_pla": 7 + } + }, + "total_from_po": 159 + }, + { + "batch": "BATCH-627234", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-26", + "earliest_gr_date": "2025-01-28", + "earliest_production_start": "2025-02-21", + "fg_receipt_date": "2025-05-29", + "qa_release_date": "2025-06-01", + "ship_date": null, + "delivery_date": "2025-07-05", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 34, + "total_days": 160, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 76, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 95, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 67, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 53, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 11, + "direct_ship_pla": 23 + } + }, + "total_from_po": 160 + }, + { + "batch": "BATCH-829707", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-14", + "earliest_gr_date": "2025-01-16", + "earliest_production_start": "2025-02-21", + "fg_receipt_date": "2025-06-01", + "qa_release_date": "2025-06-09", + "ship_date": null, + "delivery_date": "2025-07-10", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 38, + "seg_prodstart_to_prodfinish": 100, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 31, + "total_days": 177, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 80, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 97, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 63, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 30, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 42, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 9, + "direct_ship_pla": 22 + } + }, + "total_from_po": 177 + }, + { + "batch": "BATCH-404324", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-22", + "earliest_gr_date": "2025-02-24", + "earliest_production_start": "2025-03-24", + "fg_receipt_date": "2025-06-18", + "qa_release_date": "2025-06-27", + "ship_date": null, + "delivery_date": "2025-07-16", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 86, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 19, + "total_days": 144, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 65, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 83, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 69, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 9, + "direct_ship_pla": 10 + } + }, + "total_from_po": 144 + }, + { + "batch": "BATCH-840018", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-10", + "earliest_gr_date": "2025-02-12", + "earliest_production_start": "2025-03-15", + "fg_receipt_date": "2025-06-17", + "qa_release_date": "2025-06-21", + "ship_date": null, + "delivery_date": "2025-07-21", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 94, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 30, + "total_days": 161, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 90, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 64, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 77, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 16, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 69, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 85, + "production_days": 16, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 12, + "direct_ship_pla": 18 + } + }, + "total_from_po": 161 + }, + { + "batch": "BATCH-243511", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-11", + "earliest_gr_date": "2025-01-13", + "earliest_production_start": "2025-02-13", + "fg_receipt_date": "2025-06-13", + "qa_release_date": "2025-06-22", + "ship_date": null, + "delivery_date": "2025-07-27", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 120, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 35, + "total_days": 197, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 100, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 116, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 40, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 53, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 69, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 11, + "direct_ship_pla": 24 + } + }, + "total_from_po": 197 + }, + { + "batch": "BATCH-394495", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-07", + "earliest_gr_date": "2025-02-09", + "earliest_production_start": "2025-03-14", + "fg_receipt_date": "2025-06-24", + "qa_release_date": "2025-07-02", + "ship_date": null, + "delivery_date": "2025-08-01", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 102, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 30, + "total_days": 175, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 12, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 99, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 69, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 9, + "direct_ship_pla": 21 + } + }, + "total_from_po": 175 + }, + { + "batch": "BATCH-043032", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-15", + "earliest_gr_date": "2025-02-17", + "earliest_production_start": "2025-03-11", + "fg_receipt_date": "2025-06-29", + "qa_release_date": "2025-07-05", + "ship_date": null, + "delivery_date": "2025-08-07", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 24, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 33, + "total_days": 173, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 8, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 97, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 8, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 19, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 63, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 82, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 30, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 41, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 10, + "direct_ship_pla": 23 + } + }, + "total_from_po": 173 + }, + { + "batch": "BATCH-582158", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-26", + "earliest_gr_date": "2025-02-28", + "earliest_production_start": "2025-03-23", + "fg_receipt_date": "2025-06-28", + "qa_release_date": "2025-07-05", + "ship_date": null, + "delivery_date": "2025-08-12", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 38, + "total_days": 167, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 76, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 95, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 70, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 53, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 15, + "direct_ship_pla": 23 + } + }, + "total_from_po": 167 + }, + { + "batch": "BATCH-302264", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-03-30", + "earliest_gr_date": "2025-04-01", + "earliest_production_start": "2025-04-24", + "fg_receipt_date": "2025-07-16", + "qa_release_date": "2025-07-24", + "ship_date": null, + "delivery_date": "2025-08-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 83, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 24, + "total_days": 140, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 59, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 77, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 9, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 59, + "production_days": 9, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 63, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 6, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 16, + "direct_ship_pla": 8 + } + }, + "total_from_po": 140 + }, + { + "batch": "BATCH-240076", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-03-25", + "earliest_gr_date": "2025-03-27", + "earliest_production_start": "2025-04-09", + "fg_receipt_date": "2025-07-14", + "qa_release_date": "2025-07-21", + "ship_date": null, + "delivery_date": "2025-08-23", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 15, + "seg_prodstart_to_prodfinish": 96, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 33, + "total_days": 151, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 76, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 94, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 11, + "direct_ship_pla": 22 + } + }, + "total_from_po": 151 + }, + { + "batch": "BATCH-804779", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-20", + "earliest_gr_date": "2025-02-22", + "earliest_production_start": "2025-03-22", + "fg_receipt_date": "2025-07-05", + "qa_release_date": "2025-07-12", + "ship_date": null, + "delivery_date": "2025-08-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 105, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 47, + "total_days": 189, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 84, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 100, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 9, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 69, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 78, + "production_days": 9, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 12, + "direct_ship_pla": 35 + } + }, + "total_from_po": 189 + }, + { + "batch": "BATCH-731192", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-03-15", + "earliest_gr_date": "2025-03-17", + "earliest_production_start": "2025-04-23", + "fg_receipt_date": "2025-07-22", + "qa_release_date": "2025-07-27", + "ship_date": null, + "delivery_date": "2025-09-03", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 39, + "seg_prodstart_to_prodfinish": 90, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 38, + "total_days": 172, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 73, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 88, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 65, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 11, + "direct_ship_pla": 27 + } + }, + "total_from_po": 172 + }, + { + "batch": "BATCH-482639", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-21", + "earliest_gr_date": "2025-02-23", + "earliest_production_start": "2025-03-30", + "fg_receipt_date": "2025-07-17", + "qa_release_date": "2025-07-24", + "ship_date": null, + "delivery_date": "2025-09-08", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 37, + "seg_prodstart_to_prodfinish": 109, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 46, + "total_days": 199, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 59, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 19, + "direct_ship_pla": 27 + } + }, + "total_from_po": 199 + }, + { + "batch": "BATCH-062870", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-01", + "earliest_gr_date": "2025-04-03", + "earliest_production_start": "2025-05-04", + "fg_receipt_date": "2025-08-01", + "qa_release_date": "2025-08-07", + "ship_date": null, + "delivery_date": "2025-09-14", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 89, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 38, + "total_days": 166, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 67, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 87, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 63, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 26 + } + }, + "total_from_po": 166 + }, + { + "batch": "BATCH-231165", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-05", + "earliest_gr_date": "2025-05-07", + "earliest_production_start": "2025-06-09", + "fg_receipt_date": "2025-08-16", + "qa_release_date": "2025-08-22", + "ship_date": null, + "delivery_date": "2025-09-19", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 68, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 28, + "total_days": 137, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 43, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 63, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 62, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 64, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 14, + "direct_ship_pla": 14 + } + }, + "total_from_po": 137 + }, + { + "batch": "BATCH-213839", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-14", + "earliest_gr_date": "2025-04-16", + "earliest_production_start": "2025-05-04", + "fg_receipt_date": "2025-08-23", + "qa_release_date": "2025-08-27", + "ship_date": null, + "delivery_date": "2025-09-25", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 20, + "seg_prodstart_to_prodfinish": 111, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 29, + "total_days": 164, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 107, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 37, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 47, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 32, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 45, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 11, + "direct_ship_pla": 18 + } + }, + "total_from_po": 164 + }, + { + "batch": "BATCH-750018", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-11", + "earliest_gr_date": "2025-05-13", + "earliest_production_start": "2025-06-05", + "fg_receipt_date": "2025-08-31", + "qa_release_date": "2025-09-06", + "ship_date": null, + "delivery_date": "2025-09-30", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 87, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 24, + "total_days": 142, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 85, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 6, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 66, + "production_days": 6, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 7, + "direct_ship_pla": 17 + } + }, + "total_from_po": 142 + }, + { + "batch": "BATCH-880539", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-20", + "earliest_gr_date": "2025-04-22", + "earliest_production_start": "2025-05-26", + "fg_receipt_date": "2025-08-19", + "qa_release_date": "2025-08-26", + "ship_date": null, + "delivery_date": "2025-10-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 36, + "seg_prodstart_to_prodfinish": 85, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 41, + "total_days": 169, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 14, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 68, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 82, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 63, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 8, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 36, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 44, + "production_days": 8, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 13, + "direct_ship_pla": 28 + } + }, + "total_from_po": 169 + }, + { + "batch": "BATCH-155177", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-02", + "earliest_gr_date": "2025-05-04", + "earliest_production_start": "2025-06-18", + "fg_receipt_date": "2025-09-10", + "qa_release_date": "2025-09-16", + "ship_date": null, + "delivery_date": "2025-10-11", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 47, + "seg_prodstart_to_prodfinish": 84, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 25, + "total_days": 162, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 13, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 66, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 79, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 72, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 10, + "direct_ship_pla": 15 + } + }, + "total_from_po": 162 + }, + { + "batch": "BATCH-993261", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-29", + "earliest_gr_date": "2025-05-01", + "earliest_production_start": "2025-05-24", + "fg_receipt_date": "2025-08-30", + "qa_release_date": "2025-09-04", + "ship_date": null, + "delivery_date": "2025-10-16", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 98, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 42, + "total_days": 170, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 79, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 95, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 72, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 65, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 77, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 11, + "direct_ship_pla": 31 + } + }, + "total_from_po": 170 + }, + { + "batch": "BATCH-753433", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-27", + "earliest_gr_date": "2025-05-29", + "earliest_production_start": "2025-06-13", + "fg_receipt_date": "2025-09-23", + "qa_release_date": "2025-09-29", + "ship_date": null, + "delivery_date": "2025-10-22", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 17, + "seg_prodstart_to_prodfinish": 102, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 23, + "total_days": 148, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 11, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 41, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 50, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 8, + "direct_ship_pla": 15 + } + }, + "total_from_po": 148 + }, + { + "batch": "BATCH-476897", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-21", + "earliest_gr_date": "2025-04-23", + "earliest_production_start": "2025-05-24", + "fg_receipt_date": "2025-09-14", + "qa_release_date": "2025-09-20", + "ship_date": null, + "delivery_date": "2025-10-27", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 37, + "total_days": 189, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 93, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 109, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 74, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 25 + } + }, + "total_from_po": 189 + }, + { + "batch": "BATCH-521582", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-03-25", + "earliest_gr_date": "2025-03-27", + "earliest_production_start": "2025-04-09", + "fg_receipt_date": "2025-07-18", + "qa_release_date": "2025-07-27", + "ship_date": null, + "delivery_date": "2025-11-02", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 15, + "seg_prodstart_to_prodfinish": 100, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 98, + "total_days": 222, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 79, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 97, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 70, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 80, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 59, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 14, + "transit_pla_hub1": 43, + "dest_dwell_hub1": 41 + } + }, + "total_from_po": 222 + }, + { + "batch": "BATCH-281803", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-14", + "earliest_gr_date": "2025-04-16", + "earliest_production_start": "2025-05-07", + "fg_receipt_date": "2025-07-28", + "qa_release_date": "2025-08-01", + "ship_date": null, + "delivery_date": "2025-11-07", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 23, + "seg_prodstart_to_prodfinish": 82, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 98, + "total_days": 207, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 64, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 79, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 32, + "dest_dwell_hub1": 56 + } + }, + "total_from_po": 207 + }, + { + "batch": "BATCH-276962", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-05", + "earliest_gr_date": "2025-04-07", + "earliest_production_start": "2025-05-05", + "fg_receipt_date": "2025-08-17", + "qa_release_date": "2025-08-26", + "ship_date": null, + "delivery_date": "2025-11-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 104, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 79, + "total_days": 222, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 80, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 101, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 9, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 9, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 16, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 69, + "production_days": 16, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 12, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 38 + } + }, + "total_from_po": 222 + }, + { + "batch": "BATCH-217426", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-15", + "earliest_gr_date": "2025-04-17", + "earliest_production_start": "2025-05-16", + "fg_receipt_date": "2025-08-24", + "qa_release_date": "2025-09-03", + "ship_date": null, + "delivery_date": "2025-11-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 31, + "seg_prodstart_to_prodfinish": 100, + "seg_prodfinish_to_qa": 10, + "seg_qa_to_customer": 76, + "total_days": 217, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 25, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 72, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 97, + "production_days": 25, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 15, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 15, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 10, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 18, + "dest_dwell_hub1": 45 + } + }, + "total_from_po": 217 + }, + { + "batch": "BATCH-679445", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-01", + "earliest_gr_date": "2025-05-03", + "earliest_production_start": "2025-06-03", + "fg_receipt_date": "2025-08-19", + "qa_release_date": "2025-08-27", + "ship_date": null, + "delivery_date": "2025-11-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 77, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 89, + "total_days": 207, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 13, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 62, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 75, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 40, + "dest_dwell_hub1": 36 + } + }, + "total_from_po": 207 + }, + { + "batch": "BATCH-584703", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-19", + "earliest_gr_date": "2025-04-21", + "earliest_production_start": "2025-05-16", + "fg_receipt_date": "2025-09-06", + "qa_release_date": "2025-09-13", + "ship_date": null, + "delivery_date": "2025-11-29", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 27, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 77, + "total_days": 224, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 92, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 60, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 57, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 19, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 29 + } + }, + "total_from_po": 224 + }, + { + "batch": "BATCH-320907", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-03", + "earliest_gr_date": "2025-05-05", + "earliest_production_start": "2025-06-01", + "fg_receipt_date": "2025-08-12", + "qa_release_date": "2025-08-21", + "ship_date": null, + "delivery_date": "2025-12-05", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 72, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 106, + "total_days": 216, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 54, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 69, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 9, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 65, + "production_days": 9, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 17, + "transit_pla_hub1": 42, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 216 + }, + { + "batch": "BATCH-469894", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-09", + "earliest_gr_date": "2025-04-11", + "earliest_production_start": "2025-05-12", + "fg_receipt_date": "2025-08-29", + "qa_release_date": "2025-09-05", + "ship_date": null, + "delivery_date": "2025-12-10", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 109, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 96, + "total_days": 245, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 89, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 45, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 56, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 38, + "dest_dwell_hub1": 48 + } + }, + "total_from_po": 245 + }, + { + "batch": "BATCH-119167", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-10", + "earliest_gr_date": "2025-05-12", + "earliest_production_start": "2025-05-30", + "fg_receipt_date": "2025-09-19", + "qa_release_date": "2025-09-26", + "ship_date": null, + "delivery_date": "2025-12-15", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 20, + "seg_prodstart_to_prodfinish": 112, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 80, + "total_days": 219, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 13, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 95, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 74, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 44 + } + }, + "total_from_po": 219 + }, + { + "batch": "BATCH-850977", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-17", + "earliest_gr_date": "2025-05-19", + "earliest_production_start": "2025-06-14", + "fg_receipt_date": "2025-09-25", + "qa_release_date": "2025-10-01", + "ship_date": null, + "delivery_date": "2025-12-21", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 103, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 81, + "total_days": 218, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 82, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 99, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 32, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 42, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 59, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 39 + } + }, + "total_from_po": 218 + }, + { + "batch": "BATCH-315004", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-21", + "earliest_gr_date": "2025-06-23", + "earliest_production_start": "2025-07-27", + "fg_receipt_date": "2025-10-06", + "qa_release_date": "2025-10-14", + "ship_date": null, + "delivery_date": "2025-12-26", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 36, + "seg_prodstart_to_prodfinish": 71, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 73, + "total_days": 188, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 14, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 49, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 63, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 67, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 40, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 22, + "dest_dwell_hub1": 38 + } + }, + "total_from_po": 188 + }, + { + "batch": "BATCH-753733", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-04", + "earliest_gr_date": "2025-06-06", + "earliest_production_start": "2025-07-04", + "fg_receipt_date": "2025-09-25", + "qa_release_date": "2025-09-28", + "ship_date": null, + "delivery_date": "2026-01-01", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 83, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 95, + "total_days": 211, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 64, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 80, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 67, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 81, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 15, + "transit_pla_hub1": 28, + "dest_dwell_hub1": 52 + } + }, + "total_from_po": 211 + }, + { + "batch": "BATCH-006984", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-29", + "earliest_gr_date": "2025-05-31", + "earliest_production_start": "2025-06-15", + "fg_receipt_date": "2025-09-20", + "qa_release_date": "2025-09-27", + "ship_date": null, + "delivery_date": "2026-01-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 17, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 101, + "total_days": 222, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 25, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 94, + "production_days": 25, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 31, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 45, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 62, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 75, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 42, + "dest_dwell_hub1": 49 + } + }, + "total_from_po": 222 + }, + { + "batch": "BATCH-962763", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-04", + "earliest_gr_date": "2025-06-06", + "earliest_production_start": "2025-07-06", + "fg_receipt_date": "2025-10-26", + "qa_release_date": "2025-11-02", + "ship_date": null, + "delivery_date": "2026-01-12", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 32, + "seg_prodstart_to_prodfinish": 112, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 71, + "total_days": 222, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 92, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 69, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 15, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 15, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 35 + } + }, + "total_from_po": 222 + }, + { + "batch": "BATCH-885445", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-04", + "earliest_gr_date": "2025-06-06", + "earliest_production_start": "2025-06-29", + "fg_receipt_date": "2025-10-03", + "qa_release_date": "2025-10-04", + "ship_date": null, + "delivery_date": "2026-01-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 96, + "seg_prodfinish_to_qa": 1, + "seg_qa_to_customer": 105, + "total_days": 227, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 78, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 71, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 1, + "post_qa_ship_pla": 17, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 63 + } + }, + "total_from_po": 227 + }, + { + "batch": "BATCH-622159", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-31", + "earliest_gr_date": "2025-06-02", + "earliest_production_start": "2025-06-26", + "fg_receipt_date": "2025-10-17", + "qa_release_date": "2025-10-23", + "ship_date": null, + "delivery_date": "2026-01-23", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 92, + "total_days": 237, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 91, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 111, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 62, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 78, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 70, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 17, + "transit_pla_hub1": 28, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 237 + }, + { + "batch": "BATCH-990714", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-03", + "earliest_gr_date": "2025-06-05", + "earliest_production_start": "2025-07-02", + "fg_receipt_date": "2025-10-14", + "qa_release_date": "2025-10-18", + "ship_date": null, + "delivery_date": "2026-01-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 104, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 102, + "total_days": 239, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 84, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 100, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 55, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 15, + "transit_pla_hub1": 39, + "dest_dwell_hub1": 48 + } + }, + "total_from_po": 239 + }, + { + "batch": "BATCH-479016", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-14", + "earliest_gr_date": "2025-06-16", + "earliest_production_start": "2025-07-18", + "fg_receipt_date": "2025-11-13", + "qa_release_date": "2025-11-19", + "ship_date": null, + "delivery_date": "2026-02-03", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 34, + "seg_prodstart_to_prodfinish": 118, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 76, + "total_days": 234, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 96, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 114, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 64, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "transit_pla_hub1": 30, + "dest_dwell_hub1": 34 + } + }, + "total_from_po": 234 + }, + { + "batch": "BATCH-080863", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-26", + "earliest_gr_date": "2025-06-28", + "earliest_production_start": "2025-07-18", + "fg_receipt_date": "2025-11-08", + "qa_release_date": "2025-11-12", + "ship_date": null, + "delivery_date": "2026-02-08", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 22, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 88, + "total_days": 227, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 86, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 107, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 66, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 80, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 8, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 51, + "production_days": 8, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 6, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 28, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 227 + }, + { + "batch": "BATCH-910231", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-07-05", + "earliest_gr_date": "2025-07-07", + "earliest_production_start": "2025-08-11", + "fg_receipt_date": "2025-11-08", + "qa_release_date": "2025-11-16", + "ship_date": null, + "delivery_date": "2026-02-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 37, + "seg_prodstart_to_prodfinish": 89, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 89, + "total_days": 223, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 84, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 75, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 86, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 66, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 80, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 223 + }, + { + "batch": "BATCH-997425", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-07", + "earliest_gr_date": "2025-08-09", + "earliest_production_start": "2025-09-06", + "fg_receipt_date": "2025-12-04", + "qa_release_date": "2025-12-12", + "ship_date": null, + "delivery_date": "2026-02-19", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 89, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 69, + "total_days": 196, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 70, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 86, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 70, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 24, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 37, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 8, + "transit_pla_hub1": 31, + "dest_dwell_hub1": 30 + } + }, + "total_from_po": 196 + }, + { + "batch": "BATCH-618940", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-19", + "earliest_gr_date": "2025-06-21", + "earliest_production_start": "2025-07-27", + "fg_receipt_date": "2025-11-29", + "qa_release_date": "2025-12-02", + "ship_date": null, + "delivery_date": "2026-02-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 38, + "seg_prodstart_to_prodfinish": 125, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 84, + "total_days": 250, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 104, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 121, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 34, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 43, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 32, + "dest_dwell_hub1": 42 + } + }, + "total_from_po": 250 + }, + { + "batch": "BATCH-029240", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-07-14", + "earliest_gr_date": "2025-07-16", + "earliest_production_start": "2025-08-02", + "fg_receipt_date": "2025-11-19", + "qa_release_date": "2025-11-25", + "ship_date": null, + "delivery_date": "2026-03-02", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 19, + "seg_prodstart_to_prodfinish": 109, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 97, + "total_days": 231, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 83, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 104, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 77, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 88, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 15, + "transit_pla_hub1": 44, + "dest_dwell_hub1": 38 + } + }, + "total_from_po": 231 + }, + { + "batch": "BATCH-013796", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-17", + "earliest_gr_date": "2025-08-19", + "earliest_production_start": "2025-09-24", + "fg_receipt_date": "2026-01-04", + "qa_release_date": "2026-01-13", + "ship_date": null, + "delivery_date": "2026-03-07", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 38, + "seg_prodstart_to_prodfinish": 102, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 53, + "total_days": 202, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 78, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 27, + "dest_dwell_hub1": 15 + } + }, + "total_from_po": 202 + }, + { + "batch": "BATCH-563928", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-17", + "earliest_gr_date": "2025-08-19", + "earliest_production_start": "2025-09-16", + "fg_receipt_date": "2025-12-08", + "qa_release_date": "2025-12-11", + "ship_date": null, + "delivery_date": "2026-03-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 83, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 92, + "total_days": 208, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 66, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 81, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 38, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 51, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 28, + "dest_dwell_hub1": 54 + } + }, + "total_from_po": 208 + }, + { + "batch": "BATCH-263609", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-15", + "earliest_gr_date": "2025-08-17", + "earliest_production_start": "2025-09-12", + "fg_receipt_date": "2026-01-03", + "qa_release_date": "2026-01-10", + "ship_date": null, + "delivery_date": "2026-03-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 67, + "total_days": 215, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 26, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 83, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 109, + "production_days": 26, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 20, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 74, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 57, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 15, + "dest_dwell_hub1": 42 + } + }, + "total_from_po": 215 + }, + { + "batch": "BATCH-786903", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-30", + "earliest_gr_date": "2025-09-01", + "earliest_production_start": "2025-09-23", + "fg_receipt_date": "2026-01-22", + "qa_release_date": "2026-01-28", + "ship_date": null, + "delivery_date": "2026-03-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 24, + "seg_prodstart_to_prodfinish": 121, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 55, + "total_days": 206, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 103, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 118, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 17, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 73, + "production_days": 17, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 9, + "transit_pla_hub1": 17, + "dest_dwell_hub1": 29 + } + }, + "total_from_po": 206 + }, + { + "batch": "BATCH-676932", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-15", + "earliest_gr_date": "2025-08-17", + "earliest_production_start": "2025-09-13", + "fg_receipt_date": "2025-12-19", + "qa_release_date": "2025-12-25", + "ship_date": null, + "delivery_date": "2026-03-29", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 94, + "total_days": 226, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 73, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 35, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 51, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 59, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 9, + "transit_pla_hub1": 38, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 226 + }, + { + "batch": "BATCH-341567", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-10", + "earliest_gr_date": "2025-08-12", + "earliest_production_start": "2025-09-05", + "fg_receipt_date": "2025-12-27", + "qa_release_date": "2026-01-01", + "ship_date": null, + "delivery_date": "2026-04-04", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 93, + "total_days": 237, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 88, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 109, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 62, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 53, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 14, + "transit_pla_hub1": 23, + "dest_dwell_hub1": 56 + } + }, + "total_from_po": 237 + }, + { + "batch": "BATCH-162748", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-25", + "earliest_gr_date": "2025-08-27", + "earliest_production_start": "2025-09-24", + "fg_receipt_date": "2026-01-03", + "qa_release_date": "2026-01-09", + "ship_date": null, + "delivery_date": "2026-04-09", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 101, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 90, + "total_days": 227, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 80, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 33, + "dest_dwell_hub1": 46 + } + }, + "total_from_po": 227 + }, + { + "batch": "BATCH-322485", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-08", + "earliest_gr_date": "2025-10-10", + "earliest_production_start": "2025-10-27", + "fg_receipt_date": "2026-02-01", + "qa_release_date": "2026-02-10", + "ship_date": null, + "delivery_date": "2026-04-14", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 19, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 63, + "total_days": 188, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 76, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 38, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 48, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 36, + "dest_dwell_hub1": 16 + } + }, + "total_from_po": 188 + }, + { + "batch": "BATCH-780123", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-02", + "earliest_gr_date": "2025-09-04", + "earliest_production_start": "2025-10-02", + "fg_receipt_date": "2026-01-31", + "qa_release_date": "2026-02-08", + "ship_date": null, + "delivery_date": "2026-04-20", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 121, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 71, + "total_days": 230, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 101, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 118, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 67, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 71, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 6, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 40 + } + }, + "total_from_po": 230 + }, + { + "batch": "BATCH-219665", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-06", + "earliest_gr_date": "2025-10-08", + "earliest_production_start": "2025-10-22", + "fg_receipt_date": "2026-02-09", + "qa_release_date": "2026-02-15", + "ship_date": null, + "delivery_date": "2026-04-25", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 16, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 69, + "total_days": 201, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 88, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 37, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 52, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 4, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 40 + } + }, + "total_from_po": 201 + }, + { + "batch": "BATCH-254225", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-08", + "earliest_gr_date": "2025-09-10", + "earliest_production_start": "2025-09-30", + "fg_receipt_date": "2026-01-28", + "qa_release_date": "2026-02-03", + "ship_date": null, + "delivery_date": "2026-05-01", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 22, + "seg_prodstart_to_prodfinish": 120, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 87, + "total_days": 235, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 97, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 115, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 73, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 45 + } + }, + "total_from_po": 235 + }, + { + "batch": "BATCH-311884", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-12", + "earliest_gr_date": "2025-09-14", + "earliest_production_start": "2025-10-10", + "fg_receipt_date": "2026-01-29", + "qa_release_date": "2026-02-04", + "ship_date": null, + "delivery_date": "2026-05-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 111, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 91, + "total_days": 236, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 86, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 107, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 73, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 66, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 6, + "transit_pla_hub1": 40, + "dest_dwell_hub1": 45 + } + }, + "total_from_po": 236 + }, + { + "batch": "BATCH-534136", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-26", + "earliest_gr_date": "2025-09-28", + "earliest_production_start": "2025-11-08", + "fg_receipt_date": "2026-02-10", + "qa_release_date": "2026-02-15", + "ship_date": null, + "delivery_date": "2026-05-12", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 43, + "seg_prodstart_to_prodfinish": 94, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 86, + "total_days": 228, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 74, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 90, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 31, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 40, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 12, + "transit_pla_hub1": 30, + "dest_dwell_hub1": 44 + } + }, + "total_from_po": 228 + }, + { + "batch": "BATCH-718060", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-29", + "earliest_gr_date": "2025-10-01", + "earliest_production_start": "2025-11-09", + "fg_receipt_date": "2026-02-24", + "qa_release_date": "2026-02-28", + "ship_date": null, + "delivery_date": "2026-05-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 41, + "seg_prodstart_to_prodfinish": 107, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 78, + "total_days": 230, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 88, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 103, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 19, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 67, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 41, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 53, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 14, + "dest_dwell_hub1": 54 + } + }, + "total_from_po": 230 + }, + { + "batch": "BATCH-802602", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-12", + "earliest_gr_date": "2025-10-14", + "earliest_production_start": "2025-11-04", + "fg_receipt_date": "2026-02-09", + "qa_release_date": "2026-02-15", + "ship_date": null, + "delivery_date": "2026-05-23", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 23, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 97, + "total_days": 223, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 74, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 59, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 34, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 48, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 7, + "transit_pla_hub1": 39, + "dest_dwell_hub1": 51 + } + }, + "total_from_po": 223 + }, + { + "batch": "BATCH-136204", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-05", + "earliest_gr_date": "2025-10-07", + "earliest_production_start": "2025-11-05", + "fg_receipt_date": "2026-02-25", + "qa_release_date": "2026-03-03", + "ship_date": null, + "delivery_date": "2026-05-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 31, + "seg_prodstart_to_prodfinish": 112, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 86, + "total_days": 235, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 91, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 58, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 14, + "transit_pla_hub1": 53, + "dest_dwell_hub1": 19 + } + }, + "total_from_po": 235 + }, + { + "batch": "BATCH-949254", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-14", + "earliest_gr_date": "2025-10-16", + "earliest_production_start": "2025-11-18", + "fg_receipt_date": "2026-02-19", + "qa_release_date": "2026-02-24", + "ship_date": null, + "delivery_date": "2026-06-03", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 93, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 99, + "total_days": 232, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 67, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 88, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 74, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 89, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 31, + "dest_dwell_hub1": 55 + } + }, + "total_from_po": 232 + } + ], + "segments": { + "seg_proc_to_prodstart": { + "label": "Procurement \u2192 Production Start", + "mean": 29.3, + "median": 30, + "p25": 25, + "p75": 34, + "n": 100 + }, + "seg_prodstart_to_prodfinish": { + "label": "Production Start \u2192 Production Finish", + "mean": 100.7, + "median": 102, + "p25": 90, + "p75": 112, + "n": 100 + }, + "seg_prodfinish_to_qa": { + "label": "Production Finish \u2192 QA Release", + "mean": 6.5, + "median": 7, + "p25": 6, + "p75": 8, + "n": 100 + }, + "seg_qa_to_customer": { + "label": "QA Release \u2192 Customer", + "mean": 53.8, + "median": 40, + "p25": 31, + "p75": 81, + "n": 100 + }, + "total_days": { + "label": "Total (GR to Delivery)", + "mean": 190.3, + "median": 188, + "p25": 167, + "p75": 222, + "n": 100 + } + }, + "per_route": { + "direct": { + "label": "Direct to customer", + "segments": { + "seg_proc_to_prodstart": { + "label": "Procurement \u2192 Production Start", + "mean": 29.9, + "median": 30, + "p25": 26, + "p75": 35, + "n": 60 + }, + "seg_prodstart_to_prodfinish": { + "label": "Production Start \u2192 Production Finish", + "mean": 99.8, + "median": 101, + "p25": 90, + "p75": 110, + "n": 60 + }, + "seg_prodfinish_to_qa": { + "label": "Production Finish \u2192 QA Release", + "mean": 6.6, + "median": 7, + "p25": 6, + "p75": 8, + "n": 60 + }, + "seg_qa_to_customer": { + "label": "QA Release \u2192 Customer", + "mean": 33.2, + "median": 33, + "p25": 29, + "p75": 38, + "n": 60 + }, + "total_days": { + "label": "Total (GR to Delivery)", + "mean": 169.5, + "median": 170, + "p25": 159, + "p75": 182, + "n": 60 + } + } + }, + "hub-1": { + "label": "HUB-1", + "segments": { + "seg_proc_to_prodstart": { + "label": "Procurement \u2192 Production Start", + "mean": 28.4, + "median": 29, + "p25": 24, + "p75": 33, + "n": 40 + }, + "seg_prodstart_to_prodfinish": { + "label": "Production Start \u2192 Production Finish", + "mean": 102.1, + "median": 104, + "p25": 96, + "p75": 113, + "n": 40 + }, + "seg_prodfinish_to_qa": { + "label": "Production Finish \u2192 QA Release", + "mean": 6.2, + "median": 6, + "p25": 5, + "p75": 8, + "n": 40 + }, + "seg_qa_to_customer": { + "label": "QA Release \u2192 Customer", + "mean": 84.8, + "median": 88, + "p25": 76, + "p75": 96, + "n": 40 + }, + "total_days": { + "label": "Total (GR to Delivery)", + "mean": 221.6, + "median": 223, + "p25": 215, + "p75": 232, + "n": 40 + } + } + } + }, + "coverage": { + "traced": 100, + "total": 100 + } + }, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/dest_dwell_hub1.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/dest_dwell_hub1.json new file mode 100644 index 00000000000..c70a1fc781e --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/dest_dwell_hub1.json @@ -0,0 +1,432 @@ +{ + "id": "dest_dwell_hub1", + "label": "Destination Dwell (HUB-1)", + "type": "destination_dwell", + "durations": [ + 34.4, 53.3, 23.0, 77.9, 28.7, 8.2, 64.0, 45.1, 34.4, 26.2, 32.0, 34.4, 37.7, + 40.2, 43.5, 46.7, 39.4, 42.6, 27.9, 39.4, 24.6, 27.9, 29.5, 33.6, 35.3, + 29.5, 32.0, 34.4, 37.7, 40.2, 43.5, 36.9, 39.4, 42.6, 36.1, 39.4, 24.6 + ], + "observations": [ + { + "date": "2022-09-15", + "value": 34.4 + }, + { + "date": "2023-05-05", + "value": 53.3 + }, + { + "date": "2023-05-20", + "value": 23.0 + }, + { + "date": "2024-01-10", + "value": 77.9 + }, + { + "date": "2024-01-25", + "value": 28.7 + }, + { + "date": "2024-08-15", + "value": 8.2 + }, + { + "date": "2025-02-05", + "value": 64.0 + }, + { + "date": "2025-02-18", + "value": 45.1 + }, + { + "date": "2025-08-10", + "value": 34.4 + }, + { + "date": "2025-08-20", + "value": 26.2 + }, + { + "date": "2025-09-06", + "value": 32.0 + }, + { + "date": "2025-09-12", + "value": 34.4 + }, + { + "date": "2025-09-18", + "value": 37.7 + }, + { + "date": "2025-10-04", + "value": 40.2 + }, + { + "date": "2025-10-10", + "value": 43.5 + }, + { + "date": "2025-10-16", + "value": 46.7 + }, + { + "date": "2025-11-05", + "value": 39.4 + }, + { + "date": "2025-11-11", + "value": 42.6 + }, + { + "date": "2025-11-17", + "value": 27.9 + }, + { + "date": "2025-12-06", + "value": 39.4 + }, + { + "date": "2025-12-12", + "value": 24.6 + }, + { + "date": "2025-12-18", + "value": 27.9 + }, + { + "date": "2026-01-04", + "value": 29.5 + }, + { + "date": "2026-01-10", + "value": 33.6 + }, + { + "date": "2026-01-16", + "value": 35.3 + }, + { + "date": "2026-02-05", + "value": 29.5 + }, + { + "date": "2026-02-11", + "value": 32.0 + }, + { + "date": "2026-02-17", + "value": 34.4 + }, + { + "date": "2026-03-06", + "value": 37.7 + }, + { + "date": "2026-03-12", + "value": 40.2 + }, + { + "date": "2026-03-18", + "value": 43.5 + }, + { + "date": "2026-04-04", + "value": 36.9 + }, + { + "date": "2026-04-10", + "value": 39.4 + }, + { + "date": "2026-04-16", + "value": 42.6 + }, + { + "date": "2026-05-05", + "value": 36.1 + }, + { + "date": "2026-05-11", + "value": 39.4 + }, + { + "date": "2026-05-17", + "value": 24.6 + } + ], + "monthly": [ + { + "month": "2022-09", + "mean": 34.4, + "median": 34.4, + "p10": 34.4, + "p25": 34.4, + "p75": 34.4, + "p90": 34.4, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "mean": 38.1, + "median": 38.1, + "p10": 26.0, + "p25": 30.6, + "p75": 45.8, + "p90": 50.3, + "n": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "mean": 53.3, + "median": 53.3, + "p10": 33.6, + "p25": 41.0, + "p75": 65.6, + "p90": 73.0, + "n": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "mean": 8.2, + "median": 8.2, + "p10": 8.2, + "p25": 8.2, + "p75": 8.2, + "p90": 8.2, + "n": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "mean": 54.5, + "median": 54.5, + "p10": 47.0, + "p25": 49.9, + "p75": 59.3, + "p90": 62.1, + "n": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "mean": 30.3, + "median": 30.3, + "p10": 27.1, + "p25": 28.3, + "p75": 32.4, + "p90": 33.6, + "n": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "mean": 34.7, + "median": 34.4, + "p10": 32.5, + "p25": 33.2, + "p75": 36.1, + "p90": 37.1, + "n": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "mean": 43.5, + "median": 43.5, + "p10": 40.8, + "p25": 41.8, + "p75": 45.1, + "p90": 46.1, + "n": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "mean": 36.7, + "median": 39.4, + "p10": 30.2, + "p25": 33.6, + "p75": 41.0, + "p90": 42.0, + "n": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "mean": 30.6, + "median": 27.9, + "p10": 25.3, + "p25": 26.2, + "p75": 33.6, + "p90": 37.1, + "n": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "mean": 32.8, + "median": 33.6, + "p10": 30.3, + "p25": 31.6, + "p75": 34.4, + "p90": 34.9, + "n": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "mean": 32.0, + "median": 32.0, + "p10": 30.0, + "p25": 30.7, + "p75": 33.2, + "p90": 33.9, + "n": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "mean": 40.4, + "median": 40.2, + "p10": 38.2, + "p25": 38.9, + "p75": 41.8, + "p90": 42.8, + "n": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "mean": 39.6, + "median": 39.4, + "p10": 37.4, + "p25": 38.1, + "p75": 41.0, + "p90": 42.0, + "n": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "mean": 33.4, + "median": 36.1, + "p10": 26.9, + "p25": 30.3, + "p75": 37.7, + "p90": 38.7, + "n": 3, + "total_kg_days": 585600.0 + } + ], + "stats": { + "n": 37, + "mean": 36.9, + "median": 36.1, + "std": 14.0, + "min": 8.2, + "max": 77.9, + "p25": 29.5, + "p75": 40.2, + "p85": 43.5, + "p95": 53.3 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "annotations": [], + "cost": { + "unit_price": 23.37, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2022-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "n_events": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "n_events": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "n_events": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "n_events": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "n_events": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "n_events": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "n_events": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "n_events": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "n_events": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "n_events": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "n_events": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "n_events": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "n_events": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "n_events": 3, + "total_kg_days": 585600.0 + } + ] + }, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": 10, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/intermed_dwell_green_blend.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/intermed_dwell_green_blend.json new file mode 100644 index 00000000000..89055ec6a18 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/intermed_dwell_green_blend.json @@ -0,0 +1,595 @@ +{ + "id": "intermed_dwell_green_blend", + "label": "Intermediate Dwell: Green Blend", + "type": "intermediate_dwell", + "durations": [ + 9.8, 20.5, 6.6, 28.7, 12.3, 4.1, 18.0, 14.8, 32.8, 8.2, 45.1, 1.6, 23.0, + 12.3, 6.6, 16.4, 36.9, 9.8, 2.5, 14.8, 24.6, 6.6, 18.0, 28.7, 4.1, 12.3, + 34.4, 8.2, 11.5, 13.1, 13.9, 14.8, 15.6, 11.5, 12.3, 13.1, 14.8, 9.0, 14.8, + 15.6, 16.4, 11.5, 12.3, 13.9, 15.6, 9.8, 11.5, 12.3, 13.9, 9.0, 9.8, 10.7, + 11.5, 10.7, 11.5, 13.1, 13.9, 14.8, 10.7, 11.5, 12.3, 13.1, 14.8, 13.1, + 14.8, 15.6, 16.4, 11.5, 13.1, 13.9, 15.6, 9.8, 11.5 + ], + "observations": [ + { + "date": "2022-05-05", + "value": 9.8 + }, + { + "date": "2022-05-15", + "value": 20.5 + }, + { + "date": "2022-05-22", + "value": 6.6 + }, + { + "date": "2022-11-03", + "value": 28.7 + }, + { + "date": "2022-11-10", + "value": 12.3 + }, + { + "date": "2022-11-18", + "value": 4.1 + }, + { + "date": "2022-11-25", + "value": 18.0 + }, + { + "date": "2023-05-08", + "value": 14.8 + }, + { + "date": "2023-05-15", + "value": 32.8 + }, + { + "date": "2023-05-22", + "value": 8.2 + }, + { + "date": "2023-11-06", + "value": 45.1 + }, + { + "date": "2023-11-13", + "value": 1.6 + }, + { + "date": "2023-11-20", + "value": 23.0 + }, + { + "date": "2023-11-27", + "value": 12.3 + }, + { + "date": "2023-11-30", + "value": 6.6 + }, + { + "date": "2024-05-06", + "value": 16.4 + }, + { + "date": "2024-05-13", + "value": 36.9 + }, + { + "date": "2024-05-20", + "value": 9.8 + }, + { + "date": "2024-05-27", + "value": 2.5 + }, + { + "date": "2024-11-04", + "value": 14.8 + }, + { + "date": "2024-11-11", + "value": 24.6 + }, + { + "date": "2024-11-18", + "value": 6.6 + }, + { + "date": "2025-05-05", + "value": 18.0 + }, + { + "date": "2025-05-09", + "value": 28.7 + }, + { + "date": "2025-05-13", + "value": 4.1 + }, + { + "date": "2025-05-17", + "value": 12.3 + }, + { + "date": "2025-05-21", + "value": 34.4 + }, + { + "date": "2025-05-25", + "value": 8.2 + }, + { + "date": "2025-09-05", + "value": 11.5 + }, + { + "date": "2025-09-11", + "value": 13.1 + }, + { + "date": "2025-09-17", + "value": 13.9 + }, + { + "date": "2025-09-23", + "value": 14.8 + }, + { + "date": "2025-09-29", + "value": 15.6 + }, + { + "date": "2025-10-06", + "value": 11.5 + }, + { + "date": "2025-10-12", + "value": 12.3 + }, + { + "date": "2025-10-18", + "value": 13.1 + }, + { + "date": "2025-10-24", + "value": 14.8 + }, + { + "date": "2025-10-30", + "value": 9.0 + }, + { + "date": "2025-11-04", + "value": 14.8 + }, + { + "date": "2025-11-10", + "value": 15.6 + }, + { + "date": "2025-11-16", + "value": 16.4 + }, + { + "date": "2025-11-22", + "value": 11.5 + }, + { + "date": "2025-11-28", + "value": 12.3 + }, + { + "date": "2025-12-05", + "value": 13.9 + }, + { + "date": "2025-12-11", + "value": 15.6 + }, + { + "date": "2025-12-17", + "value": 9.8 + }, + { + "date": "2025-12-23", + "value": 11.5 + }, + { + "date": "2025-12-29", + "value": 12.3 + }, + { + "date": "2026-01-06", + "value": 13.9 + }, + { + "date": "2026-01-12", + "value": 9.0 + }, + { + "date": "2026-01-18", + "value": 9.8 + }, + { + "date": "2026-01-24", + "value": 10.7 + }, + { + "date": "2026-01-30", + "value": 11.5 + }, + { + "date": "2026-02-04", + "value": 10.7 + }, + { + "date": "2026-02-10", + "value": 11.5 + }, + { + "date": "2026-02-16", + "value": 13.1 + }, + { + "date": "2026-02-22", + "value": 13.9 + }, + { + "date": "2026-02-28", + "value": 14.8 + }, + { + "date": "2026-03-05", + "value": 10.7 + }, + { + "date": "2026-03-11", + "value": 11.5 + }, + { + "date": "2026-03-17", + "value": 12.3 + }, + { + "date": "2026-03-23", + "value": 13.1 + }, + { + "date": "2026-03-29", + "value": 14.8 + }, + { + "date": "2026-04-06", + "value": 13.1 + }, + { + "date": "2026-04-12", + "value": 14.8 + }, + { + "date": "2026-04-18", + "value": 15.6 + }, + { + "date": "2026-04-24", + "value": 16.4 + }, + { + "date": "2026-04-30", + "value": 11.5 + }, + { + "date": "2026-05-04", + "value": 13.1 + }, + { + "date": "2026-05-10", + "value": 13.9 + }, + { + "date": "2026-05-16", + "value": 15.6 + }, + { + "date": "2026-05-22", + "value": 9.8 + }, + { + "date": "2026-05-28", + "value": 11.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 12.3, + "median": 9.8, + "p10": 7.2, + "p25": 8.2, + "p75": 15.2, + "p90": 18.4, + "n": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "mean": 15.8, + "median": 15.2, + "p10": 6.6, + "p25": 10.2, + "p75": 20.7, + "p90": 25.5, + "n": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "mean": 18.6, + "median": 14.8, + "p10": 9.5, + "p25": 11.5, + "p75": 23.8, + "p90": 29.2, + "n": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "mean": 17.7, + "median": 12.3, + "p10": 3.6, + "p25": 6.6, + "p75": 23.0, + "p90": 36.2, + "n": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "mean": 16.4, + "median": 13.1, + "p10": 4.7, + "p25": 8.0, + "p75": 21.6, + "p90": 30.7, + "n": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "mean": 15.3, + "median": 14.8, + "p10": 8.2, + "p25": 10.7, + "p75": 19.7, + "p90": 22.6, + "n": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "mean": 17.6, + "median": 15.2, + "p10": 6.1, + "p25": 9.3, + "p75": 26.1, + "p90": 31.6, + "n": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "mean": 13.8, + "median": 13.9, + "p10": 12.1, + "p25": 13.1, + "p75": 14.8, + "p90": 15.3, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "mean": 12.1, + "median": 12.3, + "p10": 10.0, + "p25": 11.5, + "p75": 13.1, + "p90": 14.1, + "n": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "mean": 14.1, + "median": 14.8, + "p10": 11.8, + "p25": 12.3, + "p75": 15.6, + "p90": 16.1, + "n": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "mean": 12.6, + "median": 12.3, + "p10": 10.5, + "p25": 11.5, + "p75": 13.9, + "p90": 14.9, + "n": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "mean": 11.0, + "median": 10.7, + "p10": 9.3, + "p25": 9.8, + "p75": 11.5, + "p90": 13.0, + "n": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "mean": 12.8, + "median": 13.1, + "p10": 11.0, + "p25": 11.5, + "p75": 13.9, + "p90": 14.4, + "n": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "mean": 12.5, + "median": 12.3, + "p10": 11.0, + "p25": 11.5, + "p75": 13.1, + "p90": 14.1, + "n": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "mean": 14.3, + "median": 14.8, + "p10": 12.1, + "p25": 13.1, + "p75": 15.6, + "p90": 16.1, + "n": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "mean": 12.8, + "median": 13.1, + "p10": 10.5, + "p25": 11.5, + "p75": 13.9, + "p90": 14.9, + "n": 5, + "total_kg_days": 249600.0 + } + ], + "stats": { + "n": 73, + "mean": 14.3, + "median": 13.1, + "std": 9.0, + "min": 1.6, + "max": 45.1, + "p25": 10.7, + "p75": 15.6, + "p85": 16.4, + "p95": 28.7 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 87.7, + "annotations": [], + "cost": { + "unit_price": 10.25, + "currency": "CHF", + "mean_qty": 3200.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "n_events": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "n_events": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "n_events": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "n_events": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "n_events": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "n_events": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 249600.0 + } + ] + }, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": 28, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/post_qa_ship_pla.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/post_qa_ship_pla.json new file mode 100644 index 00000000000..dcb5e8aef54 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/post_qa_ship_pla.json @@ -0,0 +1,514 @@ +{ + "id": "post_qa_ship_pla", + "label": "Post-QA Dwell (PL-A)", + "type": "post_qa_ship", + "durations": [ + 6.6, 18.0, 34.4, 4.9, 14.8, 23.0, 9.8, 1.6, 12.3, 4.1, 16.4, 3.3, 11.5, + 12.3, 8.2, 9.0, 9.8, 11.5, 6.6, 8.2, 9.0, 9.0, 8.2, 9.8, 9.8, 10.7, 11.5, + 8.2, 9.0, 9.8, 10.7, 11.5, 10.7, 11.5, 12.3, 13.1, 9.0, 10.7, 11.5, 12.3, + 8.2, 9.0, 10.7, 11.5, 6.6, 8.2, 9.0, 13.1, 8.2, 9.8, 9.8, 10.7, 7.4, 8.2, + 9.0, 9.8, 10.7 + ], + "observations": [ + { + "date": "2023-03-10", + "value": 6.6 + }, + { + "date": "2023-03-25", + "value": 18.0 + }, + { + "date": "2023-09-20", + "value": 34.4 + }, + { + "date": "2024-03-15", + "value": 4.9 + }, + { + "date": "2024-03-28", + "value": 14.8 + }, + { + "date": "2024-09-05", + "value": 23.0 + }, + { + "date": "2024-09-15", + "value": 9.8 + }, + { + "date": "2024-09-25", + "value": 1.6 + }, + { + "date": "2025-03-10", + "value": 12.3 + }, + { + "date": "2025-03-22", + "value": 4.1 + }, + { + "date": "2025-07-08", + "value": 16.4 + }, + { + "date": "2025-07-22", + "value": 3.3 + }, + { + "date": "2025-09-05", + "value": 11.5 + }, + { + "date": "2025-09-11", + "value": 12.3 + }, + { + "date": "2025-09-17", + "value": 8.2 + }, + { + "date": "2025-09-23", + "value": 9.0 + }, + { + "date": "2025-09-29", + "value": 9.8 + }, + { + "date": "2025-10-06", + "value": 11.5 + }, + { + "date": "2025-10-12", + "value": 6.6 + }, + { + "date": "2025-10-18", + "value": 8.2 + }, + { + "date": "2025-10-24", + "value": 9.0 + }, + { + "date": "2025-10-30", + "value": 9.0 + }, + { + "date": "2025-11-04", + "value": 8.2 + }, + { + "date": "2025-11-10", + "value": 9.8 + }, + { + "date": "2025-11-16", + "value": 9.8 + }, + { + "date": "2025-11-22", + "value": 10.7 + }, + { + "date": "2025-11-28", + "value": 11.5 + }, + { + "date": "2025-12-05", + "value": 8.2 + }, + { + "date": "2025-12-11", + "value": 9.0 + }, + { + "date": "2025-12-17", + "value": 9.8 + }, + { + "date": "2025-12-23", + "value": 10.7 + }, + { + "date": "2025-12-29", + "value": 11.5 + }, + { + "date": "2026-01-06", + "value": 10.7 + }, + { + "date": "2026-01-12", + "value": 11.5 + }, + { + "date": "2026-01-18", + "value": 12.3 + }, + { + "date": "2026-01-24", + "value": 13.1 + }, + { + "date": "2026-01-30", + "value": 9.0 + }, + { + "date": "2026-02-04", + "value": 10.7 + }, + { + "date": "2026-02-10", + "value": 11.5 + }, + { + "date": "2026-02-16", + "value": 12.3 + }, + { + "date": "2026-02-22", + "value": 8.2 + }, + { + "date": "2026-02-28", + "value": 9.0 + }, + { + "date": "2026-03-05", + "value": 10.7 + }, + { + "date": "2026-03-11", + "value": 11.5 + }, + { + "date": "2026-03-17", + "value": 6.6 + }, + { + "date": "2026-03-23", + "value": 8.2 + }, + { + "date": "2026-03-29", + "value": 9.0 + }, + { + "date": "2026-04-06", + "value": 13.1 + }, + { + "date": "2026-04-12", + "value": 8.2 + }, + { + "date": "2026-04-18", + "value": 9.8 + }, + { + "date": "2026-04-24", + "value": 9.8 + }, + { + "date": "2026-04-30", + "value": 10.7 + }, + { + "date": "2026-05-04", + "value": 7.4 + }, + { + "date": "2026-05-10", + "value": 8.2 + }, + { + "date": "2026-05-16", + "value": 9.0 + }, + { + "date": "2026-05-22", + "value": 9.8 + }, + { + "date": "2026-05-28", + "value": 10.7 + } + ], + "monthly": [ + { + "month": "2023-03", + "mean": 12.3, + "median": 12.3, + "p10": 7.7, + "p25": 9.4, + "p75": 15.2, + "p90": 16.9, + "n": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "mean": 34.4, + "median": 34.4, + "p10": 34.4, + "p25": 34.4, + "p75": 34.4, + "p90": 34.4, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "mean": 9.8, + "median": 9.8, + "p10": 5.9, + "p25": 7.4, + "p75": 12.3, + "p90": 13.8, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "mean": 11.5, + "median": 9.8, + "p10": 3.3, + "p25": 5.7, + "p75": 16.4, + "p90": 20.3, + "n": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "mean": 8.2, + "median": 8.2, + "p10": 4.9, + "p25": 6.1, + "p75": 10.2, + "p90": 11.5, + "n": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "mean": 9.8, + "median": 9.8, + "p10": 4.6, + "p25": 6.6, + "p75": 13.1, + "p90": 15.1, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "mean": 10.2, + "median": 9.8, + "p10": 8.5, + "p25": 9.0, + "p75": 11.5, + "p90": 12.0, + "n": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "mean": 8.9, + "median": 9.0, + "p10": 7.2, + "p25": 8.2, + "p75": 9.0, + "p90": 10.5, + "n": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "mean": 10.0, + "median": 9.8, + "p10": 8.9, + "p25": 9.8, + "p75": 10.7, + "p90": 11.2, + "n": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "mean": 9.8, + "median": 9.8, + "p10": 8.5, + "p25": 9.0, + "p75": 10.7, + "p90": 11.2, + "n": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "mean": 11.3, + "median": 11.5, + "p10": 9.7, + "p25": 10.7, + "p75": 12.3, + "p90": 12.8, + "n": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "mean": 10.3, + "median": 10.7, + "p10": 8.5, + "p25": 9.0, + "p75": 11.5, + "p90": 12.0, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "mean": 9.2, + "median": 9.0, + "p10": 7.2, + "p25": 8.2, + "p75": 10.7, + "p90": 11.2, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "mean": 10.3, + "median": 9.8, + "p10": 8.9, + "p25": 9.8, + "p75": 10.7, + "p90": 12.1, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "mean": 9.0, + "median": 9.0, + "p10": 7.7, + "p25": 8.2, + "p75": 9.8, + "p90": 10.3, + "n": 5, + "total_kg_days": 264000.0 + } + ], + "stats": { + "n": 57, + "mean": 10.4, + "median": 9.8, + "std": 5.6, + "min": 1.6, + "max": 34.4, + "p25": 8.2, + "p75": 11.5, + "p85": 12.3, + "p95": 16.4 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "annotations": [], + "cost": { + "unit_price": 23.37, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2023-03", + "n_events": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "n_events": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "n_events": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 264000.0 + } + ] + }, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": 12, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/procurement_highland_arabica.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/procurement_highland_arabica.json new file mode 100644 index 00000000000..c01b86d211f --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/procurement_highland_arabica.json @@ -0,0 +1,3304 @@ +{ + "id": "procurement_highland_arabica", + "label": "Procurement: Highland Arabica", + "type": "procurement", + "durations": [ + 45.1, 34.4, 6.6, 51.7, 31.2, 18.0, 58.2, 24.6, 36.9, 14.8, 86.1, 28.7, 9.8, + 39.4, 32.0, 33.6, 36.1, 39.4, 41.8, 30.3, 32.8, 36.1, 38.5, 25.4, 29.5, + 32.8, 35.3, 22.1, 25.4, 37.7, 40.2, 27.1, 30.3, 32.0, 36.9, 23.8, 27.1, + 28.7, 31.2, 28.7, 32.0, 33.6, 36.1, 39.4, 28.7, 30.3, 32.8, 36.1, 38.5, + 27.1, 29.5, 32.8, 35.3, 22.1, 34.4, 37.7, 40.2, 27.1, 30.3 + ], + "observations": [ + { + "date": "2022-03-15", + "value": 45.1 + }, + { + "date": "2022-06-10", + "value": 34.4 + }, + { + "date": "2022-09-22", + "value": 6.6 + }, + { + "date": "2022-12-05", + "value": 51.7 + }, + { + "date": "2023-02-14", + "value": 31.2 + }, + { + "date": "2023-05-30", + "value": 18.0 + }, + { + "date": "2023-08-17", + "value": 58.2 + }, + { + "date": "2023-11-02", + "value": 24.6 + }, + { + "date": "2024-01-25", + "value": 36.9 + }, + { + "date": "2024-04-11", + "value": 14.8 + }, + { + "date": "2024-07-09", + "value": 86.1 + }, + { + "date": "2024-10-03", + "value": 28.7 + }, + { + "date": "2025-01-20", + "value": 9.8 + }, + { + "date": "2025-04-08", + "value": 39.4 + }, + { + "date": "2025-09-05", + "value": 32.0 + }, + { + "date": "2025-09-11", + "value": 33.6 + }, + { + "date": "2025-09-17", + "value": 36.1 + }, + { + "date": "2025-09-23", + "value": 39.4 + }, + { + "date": "2025-09-29", + "value": 41.8 + }, + { + "date": "2025-10-06", + "value": 30.3 + }, + { + "date": "2025-10-12", + "value": 32.8 + }, + { + "date": "2025-10-18", + "value": 36.1 + }, + { + "date": "2025-10-24", + "value": 38.5 + }, + { + "date": "2025-10-30", + "value": 25.4 + }, + { + "date": "2025-11-04", + "value": 29.5 + }, + { + "date": "2025-11-10", + "value": 32.8 + }, + { + "date": "2025-11-16", + "value": 35.3 + }, + { + "date": "2025-11-22", + "value": 22.1 + }, + { + "date": "2025-11-28", + "value": 25.4 + }, + { + "date": "2025-12-05", + "value": 37.7 + }, + { + "date": "2025-12-11", + "value": 40.2 + }, + { + "date": "2025-12-17", + "value": 27.1 + }, + { + "date": "2025-12-23", + "value": 30.3 + }, + { + "date": "2025-12-29", + "value": 32.0 + }, + { + "date": "2026-01-06", + "value": 36.9 + }, + { + "date": "2026-01-12", + "value": 23.8 + }, + { + "date": "2026-01-18", + "value": 27.1 + }, + { + "date": "2026-01-24", + "value": 28.7 + }, + { + "date": "2026-01-30", + "value": 31.2 + }, + { + "date": "2026-02-04", + "value": 28.7 + }, + { + "date": "2026-02-10", + "value": 32.0 + }, + { + "date": "2026-02-16", + "value": 33.6 + }, + { + "date": "2026-02-22", + "value": 36.1 + }, + { + "date": "2026-02-28", + "value": 39.4 + }, + { + "date": "2026-03-05", + "value": 28.7 + }, + { + "date": "2026-03-11", + "value": 30.3 + }, + { + "date": "2026-03-17", + "value": 32.8 + }, + { + "date": "2026-03-23", + "value": 36.1 + }, + { + "date": "2026-03-29", + "value": 38.5 + }, + { + "date": "2026-04-06", + "value": 27.1 + }, + { + "date": "2026-04-12", + "value": 29.5 + }, + { + "date": "2026-04-18", + "value": 32.8 + }, + { + "date": "2026-04-24", + "value": 35.3 + }, + { + "date": "2026-04-30", + "value": 22.1 + }, + { + "date": "2026-05-04", + "value": 34.4 + }, + { + "date": "2026-05-10", + "value": 37.7 + }, + { + "date": "2026-05-16", + "value": 40.2 + }, + { + "date": "2026-05-22", + "value": 27.1 + }, + { + "date": "2026-05-28", + "value": 30.3 + } + ], + "monthly": [ + { + "month": "2022-03", + "mean": 45.1, + "median": 45.1, + "p10": 45.1, + "p25": 45.1, + "p75": 45.1, + "p90": 45.1, + "n": 1 + }, + { + "month": "2022-06", + "mean": 34.4, + "median": 34.4, + "p10": 34.4, + "p25": 34.4, + "p75": 34.4, + "p90": 34.4, + "n": 1 + }, + { + "month": "2022-09", + "mean": 6.6, + "median": 6.6, + "p10": 6.6, + "p25": 6.6, + "p75": 6.6, + "p90": 6.6, + "n": 1 + }, + { + "month": "2022-12", + "mean": 51.7, + "median": 51.7, + "p10": 51.7, + "p25": 51.7, + "p75": 51.7, + "p90": 51.7, + "n": 1 + }, + { + "month": "2023-02", + "mean": 31.2, + "median": 31.2, + "p10": 31.2, + "p25": 31.2, + "p75": 31.2, + "p90": 31.2, + "n": 1 + }, + { + "month": "2023-05", + "mean": 18.0, + "median": 18.0, + "p10": 18.0, + "p25": 18.0, + "p75": 18.0, + "p90": 18.0, + "n": 1 + }, + { + "month": "2023-08", + "mean": 58.2, + "median": 58.2, + "p10": 58.2, + "p25": 58.2, + "p75": 58.2, + "p90": 58.2, + "n": 1 + }, + { + "month": "2023-11", + "mean": 24.6, + "median": 24.6, + "p10": 24.6, + "p25": 24.6, + "p75": 24.6, + "p90": 24.6, + "n": 1 + }, + { + "month": "2024-01", + "mean": 36.9, + "median": 36.9, + "p10": 36.9, + "p25": 36.9, + "p75": 36.9, + "p90": 36.9, + "n": 1 + }, + { + "month": "2024-04", + "mean": 14.8, + "median": 14.8, + "p10": 14.8, + "p25": 14.8, + "p75": 14.8, + "p90": 14.8, + "n": 1 + }, + { + "month": "2024-07", + "mean": 86.1, + "median": 86.1, + "p10": 86.1, + "p25": 86.1, + "p75": 86.1, + "p90": 86.1, + "n": 1 + }, + { + "month": "2024-10", + "mean": 28.7, + "median": 28.7, + "p10": 28.7, + "p25": 28.7, + "p75": 28.7, + "p90": 28.7, + "n": 1 + }, + { + "month": "2025-01", + "mean": 9.8, + "median": 9.8, + "p10": 9.8, + "p25": 9.8, + "p75": 9.8, + "p90": 9.8, + "n": 1 + }, + { + "month": "2025-04", + "mean": 39.4, + "median": 39.4, + "p10": 39.4, + "p25": 39.4, + "p75": 39.4, + "p90": 39.4, + "n": 1 + }, + { + "month": "2025-09", + "mean": 36.6, + "median": 36.1, + "p10": 32.6, + "p25": 33.6, + "p75": 39.4, + "p90": 40.8, + "n": 5 + }, + { + "month": "2025-10", + "mean": 32.6, + "median": 32.8, + "p10": 27.4, + "p25": 30.3, + "p75": 36.1, + "p90": 37.6, + "n": 5 + }, + { + "month": "2025-11", + "mean": 29.0, + "median": 29.5, + "p10": 23.5, + "p25": 25.4, + "p75": 32.8, + "p90": 34.3, + "n": 5 + }, + { + "month": "2025-12", + "mean": 33.5, + "median": 32.0, + "p10": 28.4, + "p25": 30.3, + "p75": 37.7, + "p90": 39.2, + "n": 5 + }, + { + "month": "2026-01", + "mean": 29.5, + "median": 28.7, + "p10": 25.1, + "p25": 27.1, + "p75": 31.2, + "p90": 34.6, + "n": 5 + }, + { + "month": "2026-02", + "mean": 33.9, + "median": 33.6, + "p10": 30.0, + "p25": 32.0, + "p75": 36.1, + "p90": 38.0, + "n": 5 + }, + { + "month": "2026-03", + "mean": 33.3, + "median": 32.8, + "p10": 29.4, + "p25": 30.3, + "p75": 36.1, + "p90": 37.6, + "n": 5 + }, + { + "month": "2026-04", + "mean": 29.4, + "median": 29.5, + "p10": 24.1, + "p25": 27.1, + "p75": 32.8, + "p90": 34.3, + "n": 5 + }, + { + "month": "2026-05", + "mean": 33.9, + "median": 34.4, + "p10": 28.4, + "p25": 30.3, + "p75": 37.7, + "p90": 39.2, + "n": 5 + } + ], + "stats": { + "n": 59, + "mean": 33.0, + "median": 32.8, + "std": 13.3, + "min": 6.6, + "max": 86.1, + "p25": 28.7, + "p75": 36.9, + "p85": 39.4, + "p95": 45.1 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 98.3, + "annotations": [ + { + "date": "2023-09-01", + "label": "Supplier change for Highland Arabica" + } + ], + "cost": null, + "detail_rows": { + "columns": [ + { + "key": "matnr", + "sap_field": "MATNR", + "sap_table": "EKPO", + "label": "Material", + "unit": null + }, + { + "key": "po_number", + "sap_field": "EBELN", + "sap_table": "EKKO", + "label": "PO Number", + "unit": null + }, + { + "key": "po_item", + "sap_field": "EBELP", + "sap_table": "EKPO", + "label": "PO Item", + "unit": null + }, + { + "key": "vendor_id", + "sap_field": "LIFNR", + "sap_table": "EKKO", + "label": "Vendor (LIFNR)", + "unit": null + }, + { + "key": "vendor_name", + "sap_field": "NAME1", + "sap_table": "LFA1", + "label": "Vendor Name", + "unit": null + }, + { + "key": "po_date", + "sap_field": "BEDAT", + "sap_table": "EKKO", + "label": "PO Date", + "unit": null + }, + { + "key": "promised_date", + "sap_field": "EINDT", + "sap_table": "EKET", + "label": "Promised Date", + "unit": null + }, + { + "key": "sched_qty", + "sap_field": "MENGE", + "sap_table": "EKET", + "label": "Scheduled Qty", + "unit": null + }, + { + "key": "gr_qty_to_date", + "sap_field": "WEMNG", + "sap_table": "EKET", + "label": "GR Qty (to date)", + "unit": null + }, + { + "key": "gr_mblnr", + "sap_field": "MBLNR", + "sap_table": "MSEG", + "label": "Goods Receipt Document", + "unit": null + }, + { + "key": "first_gr_date", + "sap_field": "BUDAT", + "sap_table": "MKPF", + "label": "Goods Receipt Date", + "unit": null + }, + { + "key": "days_vs_promised", + "sap_field": null, + "sap_table": null, + "label": "Days vs Promised", + "unit": "d" + }, + { + "key": "lead_time_days", + "sap_field": null, + "sap_table": null, + "label": "Lead Time (days)", + "unit": "d" + } + ], + "rows": [ + { + "matnr": "demo_highland_arabica", + "po_number": "4500000003", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-14", + "promised_date": "2025-06-05", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000003", + "first_gr_date": "2025-06-03", + "days_vs_promised": -2, + "lead_time_days": 20 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000000", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-04-23", + "promised_date": "2025-06-08", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000000", + "first_gr_date": "2025-06-06", + "days_vs_promised": -2, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000005", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-27", + "promised_date": "2025-06-16", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000005", + "first_gr_date": "2025-06-13", + "days_vs_promised": -3, + "lead_time_days": 17 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000001", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-01", + "promised_date": "2025-06-17", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000001", + "first_gr_date": "2025-06-15", + "days_vs_promised": -2, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000002", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-06", + "promised_date": "2025-06-20", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000002", + "first_gr_date": "2025-06-20", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000004", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-22", + "promised_date": "2025-06-24", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000004", + "first_gr_date": "2025-06-21", + "days_vs_promised": -3, + "lead_time_days": 30 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000006", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-02", + "promised_date": "2025-07-10", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000006", + "first_gr_date": "2025-07-09", + "days_vs_promised": -1, + "lead_time_days": 37 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000007", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-11", + "promised_date": "2025-07-06", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000007", + "first_gr_date": "2025-07-10", + "days_vs_promised": 4, + "lead_time_days": 29 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000009", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-25", + "promised_date": "2025-07-23", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000009", + "first_gr_date": "2025-07-21", + "days_vs_promised": -2, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000010", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-30", + "promised_date": "2025-07-26", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000010", + "first_gr_date": "2025-07-26", + "days_vs_promised": 0, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000008", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-19", + "promised_date": "2025-08-07", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000008", + "first_gr_date": "2025-08-07", + "days_vs_promised": 0, + "lead_time_days": 49 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000012", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-07-15", + "promised_date": "2025-08-07", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000012", + "first_gr_date": "2025-08-07", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000013", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-07-23", + "promised_date": "2025-08-20", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000013", + "first_gr_date": "2025-08-20", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000014", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-07-28", + "promised_date": "2025-08-23", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000014", + "first_gr_date": "2025-08-23", + "days_vs_promised": 0, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000011", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-07-07", + "promised_date": "2025-08-19", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000011", + "first_gr_date": "2025-08-25", + "days_vs_promised": 6, + "lead_time_days": 49 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000015", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-08-04", + "promised_date": "2025-08-27", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000015", + "first_gr_date": "2025-08-27", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000016", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-08-13", + "promised_date": "2025-09-25", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000016", + "first_gr_date": "2025-09-25", + "days_vs_promised": 0, + "lead_time_days": 43 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000019", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-09-04", + "promised_date": "2025-09-28", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000019", + "first_gr_date": "2025-09-27", + "days_vs_promised": -1, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000020", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-09-09", + "promised_date": "2025-10-03", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000020", + "first_gr_date": "2025-10-03", + "days_vs_promised": 0, + "lead_time_days": 24 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000017", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-08-21", + "promised_date": "2025-10-05", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000017", + "first_gr_date": "2025-10-05", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000018", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-08-26", + "promised_date": "2025-10-12", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000018", + "first_gr_date": "2025-10-10", + "days_vs_promised": -2, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000022", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-09-23", + "promised_date": "2025-10-17", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000022", + "first_gr_date": "2025-10-16", + "days_vs_promised": -1, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000021", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-09-17", + "promised_date": "2025-10-22", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000021", + "first_gr_date": "2025-10-19", + "days_vs_promised": -3, + "lead_time_days": 32 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000023", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-01", + "promised_date": "2025-10-29", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000023", + "first_gr_date": "2025-10-31", + "days_vs_promised": 2, + "lead_time_days": 30 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000024", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-08", + "promised_date": "2025-11-01", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000024", + "first_gr_date": "2025-11-01", + "days_vs_promised": 0, + "lead_time_days": 24 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000025", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-14", + "promised_date": "2025-11-19", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000025", + "first_gr_date": "2025-11-17", + "days_vs_promised": -2, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000027", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-29", + "promised_date": "2025-12-01", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000027", + "first_gr_date": "2025-11-29", + "days_vs_promised": -2, + "lead_time_days": 31 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000028", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-11-04", + "promised_date": "2025-12-03", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000028", + "first_gr_date": "2025-12-03", + "days_vs_promised": 0, + "lead_time_days": 29 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000026", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-21", + "promised_date": "2025-12-04", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000026", + "first_gr_date": "2025-12-04", + "days_vs_promised": 0, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000029", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-11-10", + "promised_date": "2025-12-19", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000029", + "first_gr_date": "2025-12-19", + "days_vs_promised": 0, + "lead_time_days": 39 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000030", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-11-20", + "promised_date": "2025-12-23", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000030", + "first_gr_date": "2025-12-24", + "days_vs_promised": 1, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000034", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000034", + "first_gr_date": "2026-01-11", + "days_vs_promised": -2, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000031", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-11-27", + "promised_date": "2026-01-13", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000031", + "first_gr_date": "2026-01-13", + "days_vs_promised": 0, + "lead_time_days": 47 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000033", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-10", + "promised_date": "2026-01-15", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000033", + "first_gr_date": "2026-01-13", + "days_vs_promised": -2, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000035", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-24", + "promised_date": "2026-01-13", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000035", + "first_gr_date": "2026-01-13", + "days_vs_promised": 0, + "lead_time_days": 20 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000032", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-04", + "promised_date": "2026-01-17", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000032", + "first_gr_date": "2026-01-17", + "days_vs_promised": 0, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000036", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-31", + "promised_date": "2026-02-01", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000036", + "first_gr_date": "2026-01-31", + "days_vs_promised": -1, + "lead_time_days": 31 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000037", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-01-08", + "promised_date": "2026-02-10", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000037", + "first_gr_date": "2026-02-08", + "days_vs_promised": -2, + "lead_time_days": 31 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000038", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-01-13", + "promised_date": "2026-02-13", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000038", + "first_gr_date": "2026-02-11", + "days_vs_promised": -2, + "lead_time_days": 29 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000040", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-01-29", + "promised_date": "2026-02-25", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000040", + "first_gr_date": "2026-02-25", + "days_vs_promised": 0, + "lead_time_days": 27 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000039", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-01-20", + "promised_date": "2026-03-01", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000039", + "first_gr_date": "2026-03-01", + "days_vs_promised": 0, + "lead_time_days": 40 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000041", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-02-03", + "promised_date": "2026-03-07", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000041", + "first_gr_date": "2026-03-07", + "days_vs_promised": 0, + "lead_time_days": 32 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000042", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-02-11", + "promised_date": "2026-03-18", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000042", + "first_gr_date": "2026-03-18", + "days_vs_promised": 0, + "lead_time_days": 35 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000043", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-02-16", + "promised_date": "2026-03-23", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000043", + "first_gr_date": "2026-03-22", + "days_vs_promised": -1, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000044", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-02-26", + "promised_date": "2026-03-24", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000044", + "first_gr_date": "2026-03-24", + "days_vs_promised": 0, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000045", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-04", + "promised_date": "2026-03-27", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000045", + "first_gr_date": "2026-03-27", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000057", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-02", + "promised_date": "2026-04-01", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000057", + "first_gr_date": "2026-04-01", + "days_vs_promised": 0, + "lead_time_days": 30 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000068", + "po_item": "00010", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-02-24", + "promised_date": "2026-04-03", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000068", + "first_gr_date": "2026-04-07", + "days_vs_promised": 4, + "lead_time_days": 42 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000069", + "po_item": "00020", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-04", + "promised_date": "2026-04-06", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000069", + "first_gr_date": "2026-04-09", + "days_vs_promised": 3, + "lead_time_days": 36 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000056", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-25", + "promised_date": "2026-04-09", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000056", + "first_gr_date": "2026-04-10", + "days_vs_promised": 1, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000058", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-11", + "promised_date": "2026-04-07", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000058", + "first_gr_date": "2026-04-12", + "days_vs_promised": 5, + "lead_time_days": 32 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000071", + "po_item": "00040", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-17", + "promised_date": "2026-04-16", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000071", + "first_gr_date": "2026-04-13", + "days_vs_promised": -3, + "lead_time_days": 27 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000060", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-24", + "promised_date": "2026-04-13", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000060", + "first_gr_date": "2026-04-14", + "days_vs_promised": 1, + "lead_time_days": 21 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000048", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-25", + "promised_date": "2026-04-22", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000048", + "first_gr_date": "2026-04-22", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000050", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-04-07", + "promised_date": "2026-04-30", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000050", + "first_gr_date": "2026-04-27", + "days_vs_promised": -3, + "lead_time_days": 20 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000046", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-10", + "promised_date": "2026-04-26", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000046", + "first_gr_date": "2026-04-29", + "days_vs_promised": 3, + "lead_time_days": 50 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000047", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-18", + "promised_date": "2026-05-03", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000047", + "first_gr_date": "2026-05-01", + "days_vs_promised": -2, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000059", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000059", + "first_gr_date": "2026-05-01", + "days_vs_promised": 0, + "lead_time_days": 46 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000049", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-31", + "promised_date": "2026-05-09", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000049", + "first_gr_date": "2026-05-06", + "days_vs_promised": -3, + "lead_time_days": 36 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000074", + "po_item": "00020", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-04-08", + "promised_date": "2026-05-06", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000074", + "first_gr_date": "2026-05-06", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000063", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-13", + "promised_date": "2026-05-07", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000063", + "first_gr_date": "2026-05-07", + "days_vs_promised": 0, + "lead_time_days": 24 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000051", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-04-15", + "promised_date": "2026-05-11", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000051", + "first_gr_date": "2026-05-11", + "days_vs_promised": 0, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000070", + "po_item": "00030", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-09", + "promised_date": "2026-04-22", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000070", + "first_gr_date": "2026-05-12", + "days_vs_promised": 20, + "lead_time_days": 64 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000075", + "po_item": "00030", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-04-13", + "promised_date": "2026-05-18", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000075", + "first_gr_date": "2026-05-15", + "days_vs_promised": -3, + "lead_time_days": 32 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000061", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-01", + "promised_date": "2026-05-21", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000061", + "first_gr_date": "2026-05-18", + "days_vs_promised": -3, + "lead_time_days": 47 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000065", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-27", + "promised_date": "2026-05-19", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000065", + "first_gr_date": "2026-05-19", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000072", + "po_item": "00050", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-24", + "promised_date": "2026-05-03", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000072", + "first_gr_date": "2026-05-21", + "days_vs_promised": 18, + "lead_time_days": 58 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000062", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000062", + "first_gr_date": "2026-05-27", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000053", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-04-28", + "promised_date": "2026-05-29", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000053", + "first_gr_date": "2026-05-29", + "days_vs_promised": 0, + "lead_time_days": 31 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000077", + "po_item": "00050", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-04-29", + "promised_date": "2026-06-02", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000077", + "first_gr_date": "2026-06-02", + "days_vs_promised": 0, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000078", + "po_item": "00010", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-05-06", + "promised_date": "2026-06-06", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000078", + "first_gr_date": "2026-06-03", + "days_vs_promised": -3, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000076", + "po_item": "00040", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-04-20", + "promised_date": "2026-06-04", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000076", + "first_gr_date": "2026-06-04", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000064", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-21", + "promised_date": "2026-06-06", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000064", + "first_gr_date": "2026-06-05", + "days_vs_promised": -1, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000052", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-04-22", + "promised_date": "2026-06-06", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000052", + "first_gr_date": "2026-06-06", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000073", + "po_item": "00010", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-31", + "promised_date": "2026-05-08", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000073", + "first_gr_date": "2026-06-07", + "days_vs_promised": 30, + "lead_time_days": 68 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000079", + "po_item": "00020", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-05-12", + "promised_date": "2026-06-09", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000079", + "first_gr_date": "2026-06-09", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000054", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-05-07", + "promised_date": "2026-06-13", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000054", + "first_gr_date": "2026-06-13", + "days_vs_promised": 0, + "lead_time_days": 37 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000055", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-05-11", + "promised_date": "2026-06-15", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000055", + "first_gr_date": "2026-06-13", + "days_vs_promised": -2, + "lead_time_days": 33 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000066", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-05-04", + "promised_date": "2026-06-16", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000066", + "first_gr_date": "2026-06-16", + "days_vs_promised": 0, + "lead_time_days": 43 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000067", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-05-14", + "promised_date": "2026-06-04", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000067", + "first_gr_date": "2026-06-22", + "days_vs_promised": 18, + "lead_time_days": 39 + } + ] + }, + "ref_date_col": "first_gr_date", + "n_batches": null, + "n_movements": 14, + "yield_data": null, + "consumption_data": null, + "supplier_otif": { + "primary_vendor": { + "id": "D0002", + "name": "Cascadia Coffee Traders" + }, + "vendors": [ + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "n_lines": 56, + "n_late": 5, + "on_time_pct": 91.1, + "in_full_pct": 100.0, + "otif_pct": 91.1, + "mean_days_late_all": 0.29, + "mean_days_late_when_late": 3.2, + "median_days_late_when_late": 3, + "max_days_late": 6, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 8.9, + "ge_3d_pct": 5.4, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + } + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "n_lines": 12, + "n_late": 4, + "on_time_pct": 66.7, + "in_full_pct": 100.0, + "otif_pct": 66.7, + "mean_days_late_all": 2.08, + "mean_days_late_when_late": 6.2, + "median_days_late_when_late": 3.0, + "max_days_late": 18, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 33.3, + "ge_3d_pct": 16.7, + "ge_7d_pct": 8.3, + "ge_14d_pct": 8.3 + } + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "n_lines": 12, + "n_late": 5, + "on_time_pct": 58.3, + "in_full_pct": 100.0, + "otif_pct": 58.3, + "mean_days_late_all": 6.25, + "mean_days_late_when_late": 15, + "median_days_late_when_late": 18, + "max_days_late": 30, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 41.7, + "ge_3d_pct": 41.7, + "ge_7d_pct": 25.0, + "ge_14d_pct": 25.0 + } + } + ], + "worst_events": [ + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000073", + "po_item": "00010", + "po_date": "2026-03-31", + "promised_date": "2026-05-08", + "first_gr_date": "2026-06-07", + "days_late": 30, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000070", + "po_item": "00030", + "po_date": "2026-03-09", + "promised_date": "2026-04-22", + "first_gr_date": "2026-05-12", + "days_late": 20, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000067", + "po_item": "00020", + "po_date": "2026-05-14", + "promised_date": "2026-06-04", + "first_gr_date": "2026-06-22", + "days_late": 18, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000072", + "po_item": "00050", + "po_date": "2026-03-24", + "promised_date": "2026-05-03", + "first_gr_date": "2026-05-21", + "days_late": 18, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000011", + "po_item": "00020", + "po_date": "2025-07-07", + "promised_date": "2025-08-19", + "first_gr_date": "2025-08-25", + "days_late": 6, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000058", + "po_item": "00030", + "po_date": "2026-03-11", + "promised_date": "2026-04-07", + "first_gr_date": "2026-04-12", + "days_late": 5, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0 + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000007", + "po_item": "00030", + "po_date": "2025-06-11", + "promised_date": "2025-07-06", + "first_gr_date": "2025-07-10", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000068", + "po_item": "00010", + "po_date": "2026-02-24", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-07", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000046", + "po_item": "00020", + "po_date": "2026-03-10", + "promised_date": "2026-04-26", + "first_gr_date": "2026-04-29", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000069", + "po_item": "00020", + "po_date": "2026-03-04", + "promised_date": "2026-04-06", + "first_gr_date": "2026-04-09", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + } + ], + "coverage_pct": 100.0, + "n_lines": 80, + "data_quality_note": "100% in-full across every line \u2014 likely WEMNG = MENGE is auto-stamped at goods receipt rather than measured. Treat the in-full metric as a data-entry artifact at this site.", + "tolerance_days": 0, + "under_tolerance_pct": 0.05, + "lines": [ + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000000", + "po_item": "00010", + "po_date": "2025-04-23", + "promised_date": "2025-06-08", + "first_gr_date": "2025-06-06", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000001", + "po_item": "00020", + "po_date": "2025-05-01", + "promised_date": "2025-06-17", + "first_gr_date": "2025-06-15", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000002", + "po_item": "00030", + "po_date": "2025-05-06", + "promised_date": "2025-06-20", + "first_gr_date": "2025-06-20", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000003", + "po_item": "00040", + "po_date": "2025-05-14", + "promised_date": "2025-06-05", + "first_gr_date": "2025-06-03", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000004", + "po_item": "00050", + "po_date": "2025-05-22", + "promised_date": "2025-06-24", + "first_gr_date": "2025-06-21", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000005", + "po_item": "00010", + "po_date": "2025-05-27", + "promised_date": "2025-06-16", + "first_gr_date": "2025-06-13", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000006", + "po_item": "00020", + "po_date": "2025-06-02", + "promised_date": "2025-07-10", + "first_gr_date": "2025-07-09", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000007", + "po_item": "00030", + "po_date": "2025-06-11", + "promised_date": "2025-07-06", + "first_gr_date": "2025-07-10", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000008", + "po_item": "00040", + "po_date": "2025-06-19", + "promised_date": "2025-08-07", + "first_gr_date": "2025-08-07", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000009", + "po_item": "00050", + "po_date": "2025-06-25", + "promised_date": "2025-07-23", + "first_gr_date": "2025-07-21", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000010", + "po_item": "00010", + "po_date": "2025-06-30", + "promised_date": "2025-07-26", + "first_gr_date": "2025-07-26", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000011", + "po_item": "00020", + "po_date": "2025-07-07", + "promised_date": "2025-08-19", + "first_gr_date": "2025-08-25", + "days_late": 6, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000012", + "po_item": "00030", + "po_date": "2025-07-15", + "promised_date": "2025-08-07", + "first_gr_date": "2025-08-07", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000013", + "po_item": "00040", + "po_date": "2025-07-23", + "promised_date": "2025-08-20", + "first_gr_date": "2025-08-20", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000014", + "po_item": "00050", + "po_date": "2025-07-28", + "promised_date": "2025-08-23", + "first_gr_date": "2025-08-23", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000015", + "po_item": "00010", + "po_date": "2025-08-04", + "promised_date": "2025-08-27", + "first_gr_date": "2025-08-27", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000016", + "po_item": "00020", + "po_date": "2025-08-13", + "promised_date": "2025-09-25", + "first_gr_date": "2025-09-25", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000017", + "po_item": "00030", + "po_date": "2025-08-21", + "promised_date": "2025-10-05", + "first_gr_date": "2025-10-05", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000018", + "po_item": "00040", + "po_date": "2025-08-26", + "promised_date": "2025-10-12", + "first_gr_date": "2025-10-10", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000019", + "po_item": "00050", + "po_date": "2025-09-04", + "promised_date": "2025-09-28", + "first_gr_date": "2025-09-27", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000020", + "po_item": "00010", + "po_date": "2025-09-09", + "promised_date": "2025-10-03", + "first_gr_date": "2025-10-03", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000021", + "po_item": "00020", + "po_date": "2025-09-17", + "promised_date": "2025-10-22", + "first_gr_date": "2025-10-19", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000022", + "po_item": "00030", + "po_date": "2025-09-23", + "promised_date": "2025-10-17", + "first_gr_date": "2025-10-16", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000023", + "po_item": "00040", + "po_date": "2025-10-01", + "promised_date": "2025-10-29", + "first_gr_date": "2025-10-31", + "days_late": 2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000024", + "po_item": "00050", + "po_date": "2025-10-08", + "promised_date": "2025-11-01", + "first_gr_date": "2025-11-01", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000025", + "po_item": "00010", + "po_date": "2025-10-14", + "promised_date": "2025-11-19", + "first_gr_date": "2025-11-17", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000026", + "po_item": "00020", + "po_date": "2025-10-21", + "promised_date": "2025-12-04", + "first_gr_date": "2025-12-04", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000027", + "po_item": "00030", + "po_date": "2025-10-29", + "promised_date": "2025-12-01", + "first_gr_date": "2025-11-29", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000028", + "po_item": "00040", + "po_date": "2025-11-04", + "promised_date": "2025-12-03", + "first_gr_date": "2025-12-03", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000029", + "po_item": "00050", + "po_date": "2025-11-10", + "promised_date": "2025-12-19", + "first_gr_date": "2025-12-19", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000030", + "po_item": "00010", + "po_date": "2025-11-20", + "promised_date": "2025-12-23", + "first_gr_date": "2025-12-24", + "days_late": 1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000031", + "po_item": "00020", + "po_date": "2025-11-27", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-13", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000032", + "po_item": "00030", + "po_date": "2025-12-04", + "promised_date": "2026-01-17", + "first_gr_date": "2026-01-17", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000033", + "po_item": "00040", + "po_date": "2025-12-10", + "promised_date": "2026-01-15", + "first_gr_date": "2026-01-13", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000034", + "po_item": "00050", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-11", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000035", + "po_item": "00010", + "po_date": "2025-12-24", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-13", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000036", + "po_item": "00020", + "po_date": "2025-12-31", + "promised_date": "2026-02-01", + "first_gr_date": "2026-01-31", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000037", + "po_item": "00030", + "po_date": "2026-01-08", + "promised_date": "2026-02-10", + "first_gr_date": "2026-02-08", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000038", + "po_item": "00040", + "po_date": "2026-01-13", + "promised_date": "2026-02-13", + "first_gr_date": "2026-02-11", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000039", + "po_item": "00050", + "po_date": "2026-01-20", + "promised_date": "2026-03-01", + "first_gr_date": "2026-03-01", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000040", + "po_item": "00010", + "po_date": "2026-01-29", + "promised_date": "2026-02-25", + "first_gr_date": "2026-02-25", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000041", + "po_item": "00020", + "po_date": "2026-02-03", + "promised_date": "2026-03-07", + "first_gr_date": "2026-03-07", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000042", + "po_item": "00030", + "po_date": "2026-02-11", + "promised_date": "2026-03-18", + "first_gr_date": "2026-03-18", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000043", + "po_item": "00040", + "po_date": "2026-02-16", + "promised_date": "2026-03-23", + "first_gr_date": "2026-03-22", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000044", + "po_item": "00050", + "po_date": "2026-02-26", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-24", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000045", + "po_item": "00010", + "po_date": "2026-03-04", + "promised_date": "2026-03-27", + "first_gr_date": "2026-03-27", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000046", + "po_item": "00020", + "po_date": "2026-03-10", + "promised_date": "2026-04-26", + "first_gr_date": "2026-04-29", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000047", + "po_item": "00030", + "po_date": "2026-03-18", + "promised_date": "2026-05-03", + "first_gr_date": "2026-05-01", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000048", + "po_item": "00040", + "po_date": "2026-03-25", + "promised_date": "2026-04-22", + "first_gr_date": "2026-04-22", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000049", + "po_item": "00050", + "po_date": "2026-03-31", + "promised_date": "2026-05-09", + "first_gr_date": "2026-05-06", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000050", + "po_item": "00010", + "po_date": "2026-04-07", + "promised_date": "2026-04-30", + "first_gr_date": "2026-04-27", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000051", + "po_item": "00020", + "po_date": "2026-04-15", + "promised_date": "2026-05-11", + "first_gr_date": "2026-05-11", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000052", + "po_item": "00030", + "po_date": "2026-04-22", + "promised_date": "2026-06-06", + "first_gr_date": "2026-06-06", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000053", + "po_item": "00040", + "po_date": "2026-04-28", + "promised_date": "2026-05-29", + "first_gr_date": "2026-05-29", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000054", + "po_item": "00050", + "po_date": "2026-05-07", + "promised_date": "2026-06-13", + "first_gr_date": "2026-06-13", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000055", + "po_item": "00010", + "po_date": "2026-05-11", + "promised_date": "2026-06-15", + "first_gr_date": "2026-06-13", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000056", + "po_item": "00010", + "po_date": "2026-02-25", + "promised_date": "2026-04-09", + "first_gr_date": "2026-04-10", + "days_late": 1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000057", + "po_item": "00020", + "po_date": "2026-03-02", + "promised_date": "2026-04-01", + "first_gr_date": "2026-04-01", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000058", + "po_item": "00030", + "po_date": "2026-03-11", + "promised_date": "2026-04-07", + "first_gr_date": "2026-04-12", + "days_late": 5, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000059", + "po_item": "00040", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "first_gr_date": "2026-05-01", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000060", + "po_item": "00050", + "po_date": "2026-03-24", + "promised_date": "2026-04-13", + "first_gr_date": "2026-04-14", + "days_late": 1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000061", + "po_item": "00010", + "po_date": "2026-04-01", + "promised_date": "2026-05-21", + "first_gr_date": "2026-05-18", + "days_late": -3, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000062", + "po_item": "00020", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "first_gr_date": "2026-05-27", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000063", + "po_item": "00030", + "po_date": "2026-04-13", + "promised_date": "2026-05-07", + "first_gr_date": "2026-05-07", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000064", + "po_item": "00040", + "po_date": "2026-04-21", + "promised_date": "2026-06-06", + "first_gr_date": "2026-06-05", + "days_late": -1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000065", + "po_item": "00050", + "po_date": "2026-04-27", + "promised_date": "2026-05-19", + "first_gr_date": "2026-05-19", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000066", + "po_item": "00010", + "po_date": "2026-05-04", + "promised_date": "2026-06-16", + "first_gr_date": "2026-06-16", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000067", + "po_item": "00020", + "po_date": "2026-05-14", + "promised_date": "2026-06-04", + "first_gr_date": "2026-06-22", + "days_late": 18, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000068", + "po_item": "00010", + "po_date": "2026-02-24", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-07", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000069", + "po_item": "00020", + "po_date": "2026-03-04", + "promised_date": "2026-04-06", + "first_gr_date": "2026-04-09", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000070", + "po_item": "00030", + "po_date": "2026-03-09", + "promised_date": "2026-04-22", + "first_gr_date": "2026-05-12", + "days_late": 20, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000071", + "po_item": "00040", + "po_date": "2026-03-17", + "promised_date": "2026-04-16", + "first_gr_date": "2026-04-13", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000072", + "po_item": "00050", + "po_date": "2026-03-24", + "promised_date": "2026-05-03", + "first_gr_date": "2026-05-21", + "days_late": 18, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000073", + "po_item": "00010", + "po_date": "2026-03-31", + "promised_date": "2026-05-08", + "first_gr_date": "2026-06-07", + "days_late": 30, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000074", + "po_item": "00020", + "po_date": "2026-04-08", + "promised_date": "2026-05-06", + "first_gr_date": "2026-05-06", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000075", + "po_item": "00030", + "po_date": "2026-04-13", + "promised_date": "2026-05-18", + "first_gr_date": "2026-05-15", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000076", + "po_item": "00040", + "po_date": "2026-04-20", + "promised_date": "2026-06-04", + "first_gr_date": "2026-06-04", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000077", + "po_item": "00050", + "po_date": "2026-04-29", + "promised_date": "2026-06-02", + "first_gr_date": "2026-06-02", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000078", + "po_item": "00010", + "po_date": "2026-05-06", + "promised_date": "2026-06-06", + "first_gr_date": "2026-06-03", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000079", + "po_item": "00020", + "po_date": "2026-05-12", + "promised_date": "2026-06-09", + "first_gr_date": "2026-06-09", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + } + ] + }, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/procurement_lowland_robusta.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/procurement_lowland_robusta.json new file mode 100644 index 00000000000..59fb911a279 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/procurement_lowland_robusta.json @@ -0,0 +1,2575 @@ +{ + "id": "procurement_lowland_robusta", + "label": "Procurement: Lowland Robusta", + "type": "procurement", + "durations": [ + 26.2, 39.4, 4.1, 54.9, 20.5, 33.6, 12.3, 67.2, 31.2, 16.4, 42.6, 8.2, 36.1, + 23.0, 28.7, 14.8, 45.1, 21.3, 21.3, 23.8, 25.4, 27.9, 30.3, 21.3, 23.0, + 25.4, 27.1, 29.5, 27.1, 29.5, 31.2, 34.4, 23.0, 26.2, 28.7, 31.2, 19.7, + 23.0, 32.8, 35.3, 23.8, 27.1, 28.7, 32.8, 21.3, 23.8, 25.4, 27.9, 18.0, + 21.3, 23.0, 25.4, 27.1, 25.4, 27.1, 29.5, 31.2, 34.4, 24.6, 26.2, 28.7, + 31.2, 19.7 + ], + "observations": [ + { + "date": "2022-02-08", + "value": 26.2 + }, + { + "date": "2022-04-19", + "value": 39.4 + }, + { + "date": "2022-07-11", + "value": 4.1 + }, + { + "date": "2022-09-28", + "value": 54.9 + }, + { + "date": "2022-12-15", + "value": 20.5 + }, + { + "date": "2023-03-07", + "value": 33.6 + }, + { + "date": "2023-05-22", + "value": 12.3 + }, + { + "date": "2023-08-09", + "value": 67.2 + }, + { + "date": "2023-10-30", + "value": 31.2 + }, + { + "date": "2024-01-16", + "value": 16.4 + }, + { + "date": "2024-03-25", + "value": 42.6 + }, + { + "date": "2024-06-12", + "value": 8.2 + }, + { + "date": "2024-08-28", + "value": 36.1 + }, + { + "date": "2024-11-14", + "value": 23.0 + }, + { + "date": "2025-01-06", + "value": 28.7 + }, + { + "date": "2025-03-18", + "value": 14.8 + }, + { + "date": "2025-05-29", + "value": 45.1 + }, + { + "date": "2025-08-12", + "value": 21.3 + }, + { + "date": "2025-09-04", + "value": 21.3 + }, + { + "date": "2025-09-10", + "value": 23.8 + }, + { + "date": "2025-09-16", + "value": 25.4 + }, + { + "date": "2025-09-22", + "value": 27.9 + }, + { + "date": "2025-09-28", + "value": 30.3 + }, + { + "date": "2025-10-05", + "value": 21.3 + }, + { + "date": "2025-10-11", + "value": 23.0 + }, + { + "date": "2025-10-17", + "value": 25.4 + }, + { + "date": "2025-10-23", + "value": 27.1 + }, + { + "date": "2025-10-29", + "value": 29.5 + }, + { + "date": "2025-11-06", + "value": 27.1 + }, + { + "date": "2025-11-12", + "value": 29.5 + }, + { + "date": "2025-11-18", + "value": 31.2 + }, + { + "date": "2025-11-24", + "value": 34.4 + }, + { + "date": "2025-11-30", + "value": 23.0 + }, + { + "date": "2025-12-04", + "value": 26.2 + }, + { + "date": "2025-12-10", + "value": 28.7 + }, + { + "date": "2025-12-16", + "value": 31.2 + }, + { + "date": "2025-12-22", + "value": 19.7 + }, + { + "date": "2025-12-28", + "value": 23.0 + }, + { + "date": "2026-01-05", + "value": 32.8 + }, + { + "date": "2026-01-11", + "value": 35.3 + }, + { + "date": "2026-01-17", + "value": 23.8 + }, + { + "date": "2026-01-23", + "value": 27.1 + }, + { + "date": "2026-01-29", + "value": 28.7 + }, + { + "date": "2026-02-06", + "value": 32.8 + }, + { + "date": "2026-02-12", + "value": 21.3 + }, + { + "date": "2026-02-18", + "value": 23.8 + }, + { + "date": "2026-02-24", + "value": 25.4 + }, + { + "date": "2026-02-30", + "value": 27.9 + }, + { + "date": "2026-03-04", + "value": 18.0 + }, + { + "date": "2026-03-10", + "value": 21.3 + }, + { + "date": "2026-03-16", + "value": 23.0 + }, + { + "date": "2026-03-22", + "value": 25.4 + }, + { + "date": "2026-03-28", + "value": 27.1 + }, + { + "date": "2026-04-05", + "value": 25.4 + }, + { + "date": "2026-04-11", + "value": 27.1 + }, + { + "date": "2026-04-17", + "value": 29.5 + }, + { + "date": "2026-04-23", + "value": 31.2 + }, + { + "date": "2026-04-29", + "value": 34.4 + }, + { + "date": "2026-05-06", + "value": 24.6 + }, + { + "date": "2026-05-12", + "value": 26.2 + }, + { + "date": "2026-05-18", + "value": 28.7 + }, + { + "date": "2026-05-24", + "value": 31.2 + }, + { + "date": "2026-05-30", + "value": 19.7 + } + ], + "monthly": [ + { + "month": "2022-02", + "mean": 26.2, + "median": 26.2, + "p10": 26.2, + "p25": 26.2, + "p75": 26.2, + "p90": 26.2, + "n": 1 + }, + { + "month": "2022-04", + "mean": 39.4, + "median": 39.4, + "p10": 39.4, + "p25": 39.4, + "p75": 39.4, + "p90": 39.4, + "n": 1 + }, + { + "month": "2022-07", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-09", + "mean": 54.9, + "median": 54.9, + "p10": 54.9, + "p25": 54.9, + "p75": 54.9, + "p90": 54.9, + "n": 1 + }, + { + "month": "2022-12", + "mean": 20.5, + "median": 20.5, + "p10": 20.5, + "p25": 20.5, + "p75": 20.5, + "p90": 20.5, + "n": 1 + }, + { + "month": "2023-03", + "mean": 33.6, + "median": 33.6, + "p10": 33.6, + "p25": 33.6, + "p75": 33.6, + "p90": 33.6, + "n": 1 + }, + { + "month": "2023-05", + "mean": 12.3, + "median": 12.3, + "p10": 12.3, + "p25": 12.3, + "p75": 12.3, + "p90": 12.3, + "n": 1 + }, + { + "month": "2023-08", + "mean": 67.2, + "median": 67.2, + "p10": 67.2, + "p25": 67.2, + "p75": 67.2, + "p90": 67.2, + "n": 1 + }, + { + "month": "2023-10", + "mean": 31.2, + "median": 31.2, + "p10": 31.2, + "p25": 31.2, + "p75": 31.2, + "p90": 31.2, + "n": 1 + }, + { + "month": "2024-01", + "mean": 16.4, + "median": 16.4, + "p10": 16.4, + "p25": 16.4, + "p75": 16.4, + "p90": 16.4, + "n": 1 + }, + { + "month": "2024-03", + "mean": 42.6, + "median": 42.6, + "p10": 42.6, + "p25": 42.6, + "p75": 42.6, + "p90": 42.6, + "n": 1 + }, + { + "month": "2024-06", + "mean": 8.2, + "median": 8.2, + "p10": 8.2, + "p25": 8.2, + "p75": 8.2, + "p90": 8.2, + "n": 1 + }, + { + "month": "2024-08", + "mean": 36.1, + "median": 36.1, + "p10": 36.1, + "p25": 36.1, + "p75": 36.1, + "p90": 36.1, + "n": 1 + }, + { + "month": "2024-11", + "mean": 23.0, + "median": 23.0, + "p10": 23.0, + "p25": 23.0, + "p75": 23.0, + "p90": 23.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 28.7, + "median": 28.7, + "p10": 28.7, + "p25": 28.7, + "p75": 28.7, + "p90": 28.7, + "n": 1 + }, + { + "month": "2025-03", + "mean": 14.8, + "median": 14.8, + "p10": 14.8, + "p25": 14.8, + "p75": 14.8, + "p90": 14.8, + "n": 1 + }, + { + "month": "2025-05", + "mean": 45.1, + "median": 45.1, + "p10": 45.1, + "p25": 45.1, + "p75": 45.1, + "p90": 45.1, + "n": 1 + }, + { + "month": "2025-08", + "mean": 21.3, + "median": 21.3, + "p10": 21.3, + "p25": 21.3, + "p75": 21.3, + "p90": 21.3, + "n": 1 + }, + { + "month": "2025-09", + "mean": 25.7, + "median": 25.4, + "p10": 22.3, + "p25": 23.8, + "p75": 27.9, + "p90": 29.4, + "n": 5 + }, + { + "month": "2025-10", + "mean": 25.3, + "median": 25.4, + "p10": 22.0, + "p25": 23.0, + "p75": 27.1, + "p90": 28.5, + "n": 5 + }, + { + "month": "2025-11", + "mean": 29.0, + "median": 29.5, + "p10": 24.6, + "p25": 27.1, + "p75": 31.2, + "p90": 33.1, + "n": 5 + }, + { + "month": "2025-12", + "mean": 25.7, + "median": 26.2, + "p10": 21.0, + "p25": 23.0, + "p75": 28.7, + "p90": 30.2, + "n": 5 + }, + { + "month": "2026-01", + "mean": 29.5, + "median": 28.7, + "p10": 25.1, + "p25": 27.1, + "p75": 32.8, + "p90": 34.3, + "n": 5 + }, + { + "month": "2026-02", + "mean": 26.2, + "median": 25.4, + "p10": 22.3, + "p25": 23.8, + "p75": 27.9, + "p90": 30.8, + "n": 5 + }, + { + "month": "2026-03", + "mean": 23.0, + "median": 23.0, + "p10": 19.4, + "p25": 21.3, + "p75": 25.4, + "p90": 26.4, + "n": 5 + }, + { + "month": "2026-04", + "mean": 29.5, + "median": 29.5, + "p10": 26.1, + "p25": 27.1, + "p75": 31.2, + "p90": 33.1, + "n": 5 + }, + { + "month": "2026-05", + "mean": 26.1, + "median": 26.2, + "p10": 21.6, + "p25": 24.6, + "p75": 28.7, + "p90": 30.2, + "n": 5 + } + ], + "stats": { + "n": 63, + "mean": 27.4, + "median": 27.1, + "std": 11.4, + "min": 4.1, + "max": 67.2, + "p25": 23.0, + "p75": 31.2, + "p85": 32.8, + "p95": 39.4 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 96.8, + "annotations": [], + "cost": null, + "detail_rows": { + "columns": [ + { + "key": "matnr", + "sap_field": "MATNR", + "sap_table": "EKPO", + "label": "Material", + "unit": null + }, + { + "key": "po_number", + "sap_field": "EBELN", + "sap_table": "EKKO", + "label": "PO Number", + "unit": null + }, + { + "key": "po_item", + "sap_field": "EBELP", + "sap_table": "EKPO", + "label": "PO Item", + "unit": null + }, + { + "key": "vendor_id", + "sap_field": "LIFNR", + "sap_table": "EKKO", + "label": "Vendor (LIFNR)", + "unit": null + }, + { + "key": "vendor_name", + "sap_field": "NAME1", + "sap_table": "LFA1", + "label": "Vendor Name", + "unit": null + }, + { + "key": "po_date", + "sap_field": "BEDAT", + "sap_table": "EKKO", + "label": "PO Date", + "unit": null + }, + { + "key": "promised_date", + "sap_field": "EINDT", + "sap_table": "EKET", + "label": "Promised Date", + "unit": null + }, + { + "key": "sched_qty", + "sap_field": "MENGE", + "sap_table": "EKET", + "label": "Scheduled Qty", + "unit": null + }, + { + "key": "gr_qty_to_date", + "sap_field": "WEMNG", + "sap_table": "EKET", + "label": "GR Qty (to date)", + "unit": null + }, + { + "key": "gr_mblnr", + "sap_field": "MBLNR", + "sap_table": "MSEG", + "label": "Goods Receipt Document", + "unit": null + }, + { + "key": "first_gr_date", + "sap_field": "BUDAT", + "sap_table": "MKPF", + "label": "Goods Receipt Date", + "unit": null + }, + { + "key": "days_vs_promised", + "sap_field": null, + "sap_table": null, + "label": "Days vs Promised", + "unit": "d" + }, + { + "key": "lead_time_days", + "sap_field": null, + "sap_table": null, + "label": "Lead Time (days)", + "unit": "d" + } + ], + "rows": [ + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000081", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-08-07", + "promised_date": "2025-08-30", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000081", + "first_gr_date": "2025-08-29", + "days_vs_promised": -1, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000082", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-08-11", + "promised_date": "2025-09-05", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000082", + "first_gr_date": "2025-09-03", + "days_vs_promised": -2, + "lead_time_days": 23 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000080", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-07-29", + "promised_date": "2025-09-10", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000080", + "first_gr_date": "2025-09-08", + "days_vs_promised": -2, + "lead_time_days": 41 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000083", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-08-19", + "promised_date": "2025-09-16", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000083", + "first_gr_date": "2025-09-16", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000084", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-08-27", + "promised_date": "2025-10-02", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000084", + "first_gr_date": "2025-10-01", + "days_vs_promised": -1, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000086", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-10", + "promised_date": "2025-10-14", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000086", + "first_gr_date": "2025-10-14", + "days_vs_promised": 0, + "lead_time_days": 34 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000088", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-22", + "promised_date": "2025-10-14", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000088", + "first_gr_date": "2025-10-14", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000085", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-04", + "promised_date": "2025-10-21", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000085", + "first_gr_date": "2025-10-19", + "days_vs_promised": -2, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000087", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-15", + "promised_date": "2025-10-23", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000087", + "first_gr_date": "2025-10-22", + "days_vs_promised": -1, + "lead_time_days": 37 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000089", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-29", + "promised_date": "2025-11-02", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000089", + "first_gr_date": "2025-11-01", + "days_vs_promised": -1, + "lead_time_days": 33 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000090", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-10-08", + "promised_date": "2025-11-07", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000090", + "first_gr_date": "2025-11-06", + "days_vs_promised": -1, + "lead_time_days": 29 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000093", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-10-27", + "promised_date": "2025-11-23", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000093", + "first_gr_date": "2025-11-23", + "days_vs_promised": 0, + "lead_time_days": 27 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000094", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-11-04", + "promised_date": "2025-11-25", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000094", + "first_gr_date": "2025-11-25", + "days_vs_promised": 0, + "lead_time_days": 21 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000091", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-10-14", + "promised_date": "2025-12-02", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000091", + "first_gr_date": "2025-11-30", + "days_vs_promised": -2, + "lead_time_days": 47 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000092", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-10-20", + "promised_date": "2025-12-08", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000092", + "first_gr_date": "2025-12-07", + "days_vs_promised": -1, + "lead_time_days": 48 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000095", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-11-11", + "promised_date": "2025-12-23", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000095", + "first_gr_date": "2025-12-20", + "days_vs_promised": -3, + "lead_time_days": 39 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000099", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-09", + "promised_date": "2025-12-30", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000099", + "first_gr_date": "2025-12-27", + "days_vs_promised": -3, + "lead_time_days": 18 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000096", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-11-20", + "promised_date": "2025-12-28", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000096", + "first_gr_date": "2025-12-28", + "days_vs_promised": 0, + "lead_time_days": 38 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000098", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-03", + "promised_date": "2025-12-28", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000098", + "first_gr_date": "2025-12-28", + "days_vs_promised": 0, + "lead_time_days": 25 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000097", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-11-25", + "promised_date": "2025-12-31", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000097", + "first_gr_date": "2025-12-30", + "days_vs_promised": -1, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000101", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-23", + "promised_date": "2026-01-15", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000101", + "first_gr_date": "2026-01-15", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000102", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-31", + "promised_date": "2026-01-20", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000102", + "first_gr_date": "2026-01-20", + "days_vs_promised": 0, + "lead_time_days": 20 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000100", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-17", + "promised_date": "2026-02-04", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000100", + "first_gr_date": "2026-02-04", + "days_vs_promised": 0, + "lead_time_days": 49 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000122", + "po_item": "00010", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-01-12", + "promised_date": "2026-02-04", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000122", + "first_gr_date": "2026-02-04", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000104", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-01-14", + "promised_date": "2026-02-09", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000104", + "first_gr_date": "2026-02-08", + "days_vs_promised": -1, + "lead_time_days": 25 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000103", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-01-06", + "promised_date": "2026-02-13", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000103", + "first_gr_date": "2026-02-13", + "days_vs_promised": 0, + "lead_time_days": 38 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000105", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-01-19", + "promised_date": "2026-02-23", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000105", + "first_gr_date": "2026-02-23", + "days_vs_promised": 0, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000125", + "po_item": "00040", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-02-02", + "promised_date": "2026-02-24", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000125", + "first_gr_date": "2026-02-24", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000123", + "po_item": "00020", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-01-20", + "promised_date": "2026-02-27", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000123", + "first_gr_date": "2026-02-27", + "days_vs_promised": 0, + "lead_time_days": 38 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000107", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-02-05", + "promised_date": "2026-03-02", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000107", + "first_gr_date": "2026-03-02", + "days_vs_promised": 0, + "lead_time_days": 25 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000124", + "po_item": "00030", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-01-29", + "promised_date": "2026-03-10", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000124", + "first_gr_date": "2026-03-07", + "days_vs_promised": -3, + "lead_time_days": 37 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000106", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-01-27", + "promised_date": "2026-03-16", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000106", + "first_gr_date": "2026-03-13", + "days_vs_promised": -3, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000126", + "po_item": "00050", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-02-09", + "promised_date": "2026-03-14", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000126", + "first_gr_date": "2026-03-14", + "days_vs_promised": 0, + "lead_time_days": 33 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000127", + "po_item": "00010", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-02-17", + "promised_date": "2026-03-24", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000127", + "first_gr_date": "2026-03-23", + "days_vs_promised": -1, + "lead_time_days": 34 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000108", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-02-12", + "promised_date": "2026-03-24", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000108", + "first_gr_date": "2026-03-24", + "days_vs_promised": 0, + "lead_time_days": 40 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000128", + "po_item": "00020", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-02-23", + "promised_date": "2026-03-24", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000128", + "first_gr_date": "2026-03-24", + "days_vs_promised": 0, + "lead_time_days": 29 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000110", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-02-24", + "promised_date": "2026-03-27", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000110", + "first_gr_date": "2026-03-25", + "days_vs_promised": -2, + "lead_time_days": 29 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000109", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-02-17", + "promised_date": "2026-04-06", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000109", + "first_gr_date": "2026-04-06", + "days_vs_promised": 0, + "lead_time_days": 48 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000129", + "po_item": "00030", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-03-04", + "promised_date": "2026-04-11", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000129", + "first_gr_date": "2026-04-08", + "days_vs_promised": -3, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000114", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-03-23", + "promised_date": "2026-04-13", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000114", + "first_gr_date": "2026-04-11", + "days_vs_promised": -2, + "lead_time_days": 19 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000111", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-03-05", + "promised_date": "2026-04-15", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000111", + "first_gr_date": "2026-04-12", + "days_vs_promised": -3, + "lead_time_days": 38 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000112", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-03-09", + "promised_date": "2026-04-13", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000112", + "first_gr_date": "2026-04-13", + "days_vs_promised": 0, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000130", + "po_item": "00040", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-03-09", + "promised_date": "2026-04-17", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000130", + "first_gr_date": "2026-04-17", + "days_vs_promised": 0, + "lead_time_days": 39 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000115", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-01", + "promised_date": "2026-04-23", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000115", + "first_gr_date": "2026-04-23", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000134", + "po_item": "00030", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-06", + "promised_date": "2026-05-03", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000134", + "first_gr_date": "2026-04-30", + "days_vs_promised": -3, + "lead_time_days": 24 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000113", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-03-17", + "promised_date": "2026-05-04", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000113", + "first_gr_date": "2026-05-01", + "days_vs_promised": -3, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000131", + "po_item": "00050", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000131", + "first_gr_date": "2026-05-01", + "days_vs_promised": 0, + "lead_time_days": 46 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000117", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-15", + "promised_date": "2026-05-05", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000117", + "first_gr_date": "2026-05-05", + "days_vs_promised": 0, + "lead_time_days": 20 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000136", + "po_item": "00050", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-20", + "promised_date": "2026-05-10", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000136", + "first_gr_date": "2026-05-08", + "days_vs_promised": -2, + "lead_time_days": 18 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000132", + "po_item": "00010", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-03-25", + "promised_date": "2026-05-11", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000132", + "first_gr_date": "2026-05-09", + "days_vs_promised": -2, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000133", + "po_item": "00020", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-02", + "promised_date": "2026-05-13", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000133", + "first_gr_date": "2026-05-13", + "days_vs_promised": 0, + "lead_time_days": 41 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000135", + "po_item": "00040", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-15", + "promised_date": "2026-05-18", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000135", + "first_gr_date": "2026-05-18", + "days_vs_promised": 0, + "lead_time_days": 33 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000116", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-06", + "promised_date": "2026-05-21", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000116", + "first_gr_date": "2026-05-21", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000138", + "po_item": "00020", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-05-06", + "promised_date": "2026-05-28", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000138", + "first_gr_date": "2026-05-28", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000118", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-20", + "promised_date": "2026-06-01", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000118", + "first_gr_date": "2026-05-31", + "days_vs_promised": -1, + "lead_time_days": 41 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000139", + "po_item": "00030", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-05-14", + "promised_date": "2026-06-03", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000139", + "first_gr_date": "2026-05-31", + "days_vs_promised": -3, + "lead_time_days": 17 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000137", + "po_item": "00010", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-29", + "promised_date": "2026-06-01", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000137", + "first_gr_date": "2026-06-01", + "days_vs_promised": 0, + "lead_time_days": 33 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000120", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-05-06", + "promised_date": "2026-06-08", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000120", + "first_gr_date": "2026-06-05", + "days_vs_promised": -3, + "lead_time_days": 30 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000119", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-30", + "promised_date": "2026-06-17", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000119", + "first_gr_date": "2026-06-17", + "days_vs_promised": 0, + "lead_time_days": 48 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000121", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-05-13", + "promised_date": "2026-06-19", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000121", + "first_gr_date": "2026-06-19", + "days_vs_promised": 0, + "lead_time_days": 37 + } + ] + }, + "ref_date_col": "first_gr_date", + "n_batches": null, + "n_movements": 18, + "yield_data": null, + "consumption_data": null, + "supplier_otif": { + "primary_vendor": { + "id": "D0004", + "name": "Riverbend Reliable Supply" + }, + "vendors": [ + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "n_lines": 42, + "n_late": 0, + "on_time_pct": 100.0, + "in_full_pct": 100.0, + "otif_pct": 100.0, + "mean_days_late_all": 0, + "mean_days_late_when_late": null, + "median_days_late_when_late": null, + "max_days_late": 0, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 0.0, + "ge_3d_pct": 0.0, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + } + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "n_lines": 18, + "n_late": 0, + "on_time_pct": 100.0, + "in_full_pct": 100.0, + "otif_pct": 100.0, + "mean_days_late_all": 0, + "mean_days_late_when_late": null, + "median_days_late_when_late": null, + "max_days_late": 0, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 0.0, + "ge_3d_pct": 0.0, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + } + } + ], + "worst_events": [], + "coverage_pct": 100.0, + "n_lines": 60, + "data_quality_note": "100% in-full across every line \u2014 likely WEMNG = MENGE is auto-stamped at goods receipt rather than measured. Treat the in-full metric as a data-entry artifact at this site.", + "tolerance_days": 0, + "under_tolerance_pct": 0.05, + "lines": [ + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000080", + "po_item": "00010", + "po_date": "2025-07-29", + "promised_date": "2025-09-10", + "first_gr_date": "2025-09-08", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000081", + "po_item": "00020", + "po_date": "2025-08-07", + "promised_date": "2025-08-30", + "first_gr_date": "2025-08-29", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000082", + "po_item": "00030", + "po_date": "2025-08-11", + "promised_date": "2025-09-05", + "first_gr_date": "2025-09-03", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000083", + "po_item": "00040", + "po_date": "2025-08-19", + "promised_date": "2025-09-16", + "first_gr_date": "2025-09-16", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000084", + "po_item": "00050", + "po_date": "2025-08-27", + "promised_date": "2025-10-02", + "first_gr_date": "2025-10-01", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000085", + "po_item": "00010", + "po_date": "2025-09-04", + "promised_date": "2025-10-21", + "first_gr_date": "2025-10-19", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000086", + "po_item": "00020", + "po_date": "2025-09-10", + "promised_date": "2025-10-14", + "first_gr_date": "2025-10-14", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000087", + "po_item": "00030", + "po_date": "2025-09-15", + "promised_date": "2025-10-23", + "first_gr_date": "2025-10-22", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000088", + "po_item": "00040", + "po_date": "2025-09-22", + "promised_date": "2025-10-14", + "first_gr_date": "2025-10-14", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000089", + "po_item": "00050", + "po_date": "2025-09-29", + "promised_date": "2025-11-02", + "first_gr_date": "2025-11-01", + "days_late": -1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000090", + "po_item": "00010", + "po_date": "2025-10-08", + "promised_date": "2025-11-07", + "first_gr_date": "2025-11-06", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000091", + "po_item": "00020", + "po_date": "2025-10-14", + "promised_date": "2025-12-02", + "first_gr_date": "2025-11-30", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000092", + "po_item": "00030", + "po_date": "2025-10-20", + "promised_date": "2025-12-08", + "first_gr_date": "2025-12-07", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000093", + "po_item": "00040", + "po_date": "2025-10-27", + "promised_date": "2025-11-23", + "first_gr_date": "2025-11-23", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000094", + "po_item": "00050", + "po_date": "2025-11-04", + "promised_date": "2025-11-25", + "first_gr_date": "2025-11-25", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000095", + "po_item": "00010", + "po_date": "2025-11-11", + "promised_date": "2025-12-23", + "first_gr_date": "2025-12-20", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000096", + "po_item": "00020", + "po_date": "2025-11-20", + "promised_date": "2025-12-28", + "first_gr_date": "2025-12-28", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000097", + "po_item": "00030", + "po_date": "2025-11-25", + "promised_date": "2025-12-31", + "first_gr_date": "2025-12-30", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000098", + "po_item": "00040", + "po_date": "2025-12-03", + "promised_date": "2025-12-28", + "first_gr_date": "2025-12-28", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000099", + "po_item": "00050", + "po_date": "2025-12-09", + "promised_date": "2025-12-30", + "first_gr_date": "2025-12-27", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000100", + "po_item": "00010", + "po_date": "2025-12-17", + "promised_date": "2026-02-04", + "first_gr_date": "2026-02-04", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000101", + "po_item": "00020", + "po_date": "2025-12-23", + "promised_date": "2026-01-15", + "first_gr_date": "2026-01-15", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000102", + "po_item": "00030", + "po_date": "2025-12-31", + "promised_date": "2026-01-20", + "first_gr_date": "2026-01-20", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000103", + "po_item": "00040", + "po_date": "2026-01-06", + "promised_date": "2026-02-13", + "first_gr_date": "2026-02-13", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000104", + "po_item": "00050", + "po_date": "2026-01-14", + "promised_date": "2026-02-09", + "first_gr_date": "2026-02-08", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000105", + "po_item": "00010", + "po_date": "2026-01-19", + "promised_date": "2026-02-23", + "first_gr_date": "2026-02-23", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000106", + "po_item": "00020", + "po_date": "2026-01-27", + "promised_date": "2026-03-16", + "first_gr_date": "2026-03-13", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000107", + "po_item": "00030", + "po_date": "2026-02-05", + "promised_date": "2026-03-02", + "first_gr_date": "2026-03-02", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000108", + "po_item": "00040", + "po_date": "2026-02-12", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-24", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000109", + "po_item": "00050", + "po_date": "2026-02-17", + "promised_date": "2026-04-06", + "first_gr_date": "2026-04-06", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000110", + "po_item": "00010", + "po_date": "2026-02-24", + "promised_date": "2026-03-27", + "first_gr_date": "2026-03-25", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000111", + "po_item": "00020", + "po_date": "2026-03-05", + "promised_date": "2026-04-15", + "first_gr_date": "2026-04-12", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000112", + "po_item": "00030", + "po_date": "2026-03-09", + "promised_date": "2026-04-13", + "first_gr_date": "2026-04-13", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000113", + "po_item": "00040", + "po_date": "2026-03-17", + "promised_date": "2026-05-04", + "first_gr_date": "2026-05-01", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000114", + "po_item": "00050", + "po_date": "2026-03-23", + "promised_date": "2026-04-13", + "first_gr_date": "2026-04-11", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000115", + "po_item": "00010", + "po_date": "2026-04-01", + "promised_date": "2026-04-23", + "first_gr_date": "2026-04-23", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000116", + "po_item": "00020", + "po_date": "2026-04-06", + "promised_date": "2026-05-21", + "first_gr_date": "2026-05-21", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000117", + "po_item": "00030", + "po_date": "2026-04-15", + "promised_date": "2026-05-05", + "first_gr_date": "2026-05-05", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000118", + "po_item": "00040", + "po_date": "2026-04-20", + "promised_date": "2026-06-01", + "first_gr_date": "2026-05-31", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000119", + "po_item": "00050", + "po_date": "2026-04-30", + "promised_date": "2026-06-17", + "first_gr_date": "2026-06-17", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000120", + "po_item": "00010", + "po_date": "2026-05-06", + "promised_date": "2026-06-08", + "first_gr_date": "2026-06-05", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000121", + "po_item": "00020", + "po_date": "2026-05-13", + "promised_date": "2026-06-19", + "first_gr_date": "2026-06-19", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000122", + "po_item": "00010", + "po_date": "2026-01-12", + "promised_date": "2026-02-04", + "first_gr_date": "2026-02-04", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000123", + "po_item": "00020", + "po_date": "2026-01-20", + "promised_date": "2026-02-27", + "first_gr_date": "2026-02-27", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000124", + "po_item": "00030", + "po_date": "2026-01-29", + "promised_date": "2026-03-10", + "first_gr_date": "2026-03-07", + "days_late": -3, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000125", + "po_item": "00040", + "po_date": "2026-02-02", + "promised_date": "2026-02-24", + "first_gr_date": "2026-02-24", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000126", + "po_item": "00050", + "po_date": "2026-02-09", + "promised_date": "2026-03-14", + "first_gr_date": "2026-03-14", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000127", + "po_item": "00010", + "po_date": "2026-02-17", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-23", + "days_late": -1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000128", + "po_item": "00020", + "po_date": "2026-02-23", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-24", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000129", + "po_item": "00030", + "po_date": "2026-03-04", + "promised_date": "2026-04-11", + "first_gr_date": "2026-04-08", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000130", + "po_item": "00040", + "po_date": "2026-03-09", + "promised_date": "2026-04-17", + "first_gr_date": "2026-04-17", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000131", + "po_item": "00050", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "first_gr_date": "2026-05-01", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000132", + "po_item": "00010", + "po_date": "2026-03-25", + "promised_date": "2026-05-11", + "first_gr_date": "2026-05-09", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000133", + "po_item": "00020", + "po_date": "2026-04-02", + "promised_date": "2026-05-13", + "first_gr_date": "2026-05-13", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000134", + "po_item": "00030", + "po_date": "2026-04-06", + "promised_date": "2026-05-03", + "first_gr_date": "2026-04-30", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000135", + "po_item": "00040", + "po_date": "2026-04-15", + "promised_date": "2026-05-18", + "first_gr_date": "2026-05-18", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000136", + "po_item": "00050", + "po_date": "2026-04-20", + "promised_date": "2026-05-10", + "first_gr_date": "2026-05-08", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000137", + "po_item": "00010", + "po_date": "2026-04-29", + "promised_date": "2026-06-01", + "first_gr_date": "2026-06-01", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000138", + "po_item": "00020", + "po_date": "2026-05-06", + "promised_date": "2026-05-28", + "first_gr_date": "2026-05-28", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000139", + "po_item": "00030", + "po_date": "2026-05-14", + "promised_date": "2026-06-03", + "first_gr_date": "2026-05-31", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + } + ] + }, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/procurement_washed_bourbon.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/procurement_washed_bourbon.json new file mode 100644 index 00000000000..632d0e613a2 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/procurement_washed_bourbon.json @@ -0,0 +1,2251 @@ +{ + "id": "procurement_washed_bourbon", + "label": "Procurement: Washed Bourbon", + "type": "procurement", + "durations": [ + 28.7, 13.1, 50.8, 5.7, 32.8, 20.5, 39.4, 9.8, 24.6, 11.5, 24.6, 15.6, 18.0, + 18.9, 20.5, 18.9, 20.5, 22.1, 23.8, 25.4, 18.9, 20.5, 22.1, 23.8, 25.4, + 18.0, 19.7, 21.3, 23.0, 14.8, 23.0, 24.6, 26.2, 18.0, 19.7, 22.1, 24.6, + 15.6, 18.0, 18.9, 27.9, 18.9, 20.5, 22.1, 23.8, 16.4, 18.9, 20.5, 22.1, + 23.8, 16.4, 18.0, 19.7, 21.3, 23.0 + ], + "observations": [ + { + "date": "2022-05-03", + "value": 28.7 + }, + { + "date": "2022-10-18", + "value": 13.1 + }, + { + "date": "2023-01-24", + "value": 50.8 + }, + { + "date": "2023-06-15", + "value": 5.7 + }, + { + "date": "2023-09-28", + "value": 32.8 + }, + { + "date": "2024-02-12", + "value": 20.5 + }, + { + "date": "2024-05-07", + "value": 39.4 + }, + { + "date": "2024-09-19", + "value": 9.8 + }, + { + "date": "2025-02-04", + "value": 24.6 + }, + { + "date": "2025-06-10", + "value": 11.5 + }, + { + "date": "2025-09-06", + "value": 24.6 + }, + { + "date": "2025-09-12", + "value": 15.6 + }, + { + "date": "2025-09-18", + "value": 18.0 + }, + { + "date": "2025-09-24", + "value": 18.9 + }, + { + "date": "2025-09-30", + "value": 20.5 + }, + { + "date": "2025-10-04", + "value": 18.9 + }, + { + "date": "2025-10-10", + "value": 20.5 + }, + { + "date": "2025-10-16", + "value": 22.1 + }, + { + "date": "2025-10-22", + "value": 23.8 + }, + { + "date": "2025-10-28", + "value": 25.4 + }, + { + "date": "2025-11-05", + "value": 18.9 + }, + { + "date": "2025-11-11", + "value": 20.5 + }, + { + "date": "2025-11-17", + "value": 22.1 + }, + { + "date": "2025-11-23", + "value": 23.8 + }, + { + "date": "2025-11-29", + "value": 25.4 + }, + { + "date": "2025-12-06", + "value": 18.0 + }, + { + "date": "2025-12-12", + "value": 19.7 + }, + { + "date": "2025-12-18", + "value": 21.3 + }, + { + "date": "2025-12-24", + "value": 23.0 + }, + { + "date": "2025-12-30", + "value": 14.8 + }, + { + "date": "2026-01-04", + "value": 23.0 + }, + { + "date": "2026-01-10", + "value": 24.6 + }, + { + "date": "2026-01-16", + "value": 26.2 + }, + { + "date": "2026-01-22", + "value": 18.0 + }, + { + "date": "2026-01-28", + "value": 19.7 + }, + { + "date": "2026-02-05", + "value": 22.1 + }, + { + "date": "2026-02-11", + "value": 24.6 + }, + { + "date": "2026-02-17", + "value": 15.6 + }, + { + "date": "2026-02-23", + "value": 18.0 + }, + { + "date": "2026-02-29", + "value": 18.9 + }, + { + "date": "2026-03-06", + "value": 27.9 + }, + { + "date": "2026-03-12", + "value": 18.9 + }, + { + "date": "2026-03-18", + "value": 20.5 + }, + { + "date": "2026-03-24", + "value": 22.1 + }, + { + "date": "2026-03-30", + "value": 23.8 + }, + { + "date": "2026-04-04", + "value": 16.4 + }, + { + "date": "2026-04-10", + "value": 18.9 + }, + { + "date": "2026-04-16", + "value": 20.5 + }, + { + "date": "2026-04-22", + "value": 22.1 + }, + { + "date": "2026-04-28", + "value": 23.8 + }, + { + "date": "2026-05-05", + "value": 16.4 + }, + { + "date": "2026-05-11", + "value": 18.0 + }, + { + "date": "2026-05-17", + "value": 19.7 + }, + { + "date": "2026-05-23", + "value": 21.3 + }, + { + "date": "2026-05-29", + "value": 23.0 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 28.7, + "median": 28.7, + "p10": 28.7, + "p25": 28.7, + "p75": 28.7, + "p90": 28.7, + "n": 1 + }, + { + "month": "2022-10", + "mean": 13.1, + "median": 13.1, + "p10": 13.1, + "p25": 13.1, + "p75": 13.1, + "p90": 13.1, + "n": 1 + }, + { + "month": "2023-01", + "mean": 50.8, + "median": 50.8, + "p10": 50.8, + "p25": 50.8, + "p75": 50.8, + "p90": 50.8, + "n": 1 + }, + { + "month": "2023-06", + "mean": 5.7, + "median": 5.7, + "p10": 5.7, + "p25": 5.7, + "p75": 5.7, + "p90": 5.7, + "n": 1 + }, + { + "month": "2023-09", + "mean": 32.8, + "median": 32.8, + "p10": 32.8, + "p25": 32.8, + "p75": 32.8, + "p90": 32.8, + "n": 1 + }, + { + "month": "2024-02", + "mean": 20.5, + "median": 20.5, + "p10": 20.5, + "p25": 20.5, + "p75": 20.5, + "p90": 20.5, + "n": 1 + }, + { + "month": "2024-05", + "mean": 39.4, + "median": 39.4, + "p10": 39.4, + "p25": 39.4, + "p75": 39.4, + "p90": 39.4, + "n": 1 + }, + { + "month": "2024-09", + "mean": 9.8, + "median": 9.8, + "p10": 9.8, + "p25": 9.8, + "p75": 9.8, + "p90": 9.8, + "n": 1 + }, + { + "month": "2025-02", + "mean": 24.6, + "median": 24.6, + "p10": 24.6, + "p25": 24.6, + "p75": 24.6, + "p90": 24.6, + "n": 1 + }, + { + "month": "2025-06", + "mean": 11.5, + "median": 11.5, + "p10": 11.5, + "p25": 11.5, + "p75": 11.5, + "p90": 11.5, + "n": 1 + }, + { + "month": "2025-09", + "mean": 19.5, + "median": 18.9, + "p10": 16.6, + "p25": 18.0, + "p75": 20.5, + "p90": 23.0, + "n": 5 + }, + { + "month": "2025-10", + "mean": 22.1, + "median": 22.1, + "p10": 19.5, + "p25": 20.5, + "p75": 23.8, + "p90": 24.8, + "n": 5 + }, + { + "month": "2025-11", + "mean": 22.1, + "median": 22.1, + "p10": 19.5, + "p25": 20.5, + "p75": 23.8, + "p90": 24.8, + "n": 5 + }, + { + "month": "2025-12", + "mean": 19.4, + "median": 19.7, + "p10": 16.1, + "p25": 18.0, + "p75": 21.3, + "p90": 22.3, + "n": 5 + }, + { + "month": "2026-01", + "mean": 22.3, + "median": 23.0, + "p10": 18.7, + "p25": 19.7, + "p75": 24.6, + "p90": 25.6, + "n": 5 + }, + { + "month": "2026-02", + "mean": 19.8, + "median": 18.9, + "p10": 16.6, + "p25": 18.0, + "p75": 22.1, + "p90": 23.6, + "n": 5 + }, + { + "month": "2026-03", + "mean": 22.6, + "median": 22.1, + "p10": 19.5, + "p25": 20.5, + "p75": 23.8, + "p90": 26.2, + "n": 5 + }, + { + "month": "2026-04", + "mean": 20.3, + "median": 20.5, + "p10": 17.4, + "p25": 18.9, + "p75": 22.1, + "p90": 23.1, + "n": 5 + }, + { + "month": "2026-05", + "mean": 19.7, + "median": 19.7, + "p10": 17.1, + "p25": 18.0, + "p75": 21.3, + "p90": 22.3, + "n": 5 + } + ], + "stats": { + "n": 55, + "mean": 21.4, + "median": 20.5, + "std": 8.0, + "min": 5.7, + "max": 50.8, + "p25": 18.0, + "p75": 23.8, + "p85": 24.6, + "p95": 28.7 + }, + "plifz": 7, + "plifz_note": null, + "pct_exceeding_plifz": 98.2, + "annotations": [], + "cost": null, + "detail_rows": { + "columns": [ + { + "key": "matnr", + "sap_field": "MATNR", + "sap_table": "EKPO", + "label": "Material", + "unit": null + }, + { + "key": "po_number", + "sap_field": "EBELN", + "sap_table": "EKKO", + "label": "PO Number", + "unit": null + }, + { + "key": "po_item", + "sap_field": "EBELP", + "sap_table": "EKPO", + "label": "PO Item", + "unit": null + }, + { + "key": "vendor_id", + "sap_field": "LIFNR", + "sap_table": "EKKO", + "label": "Vendor (LIFNR)", + "unit": null + }, + { + "key": "vendor_name", + "sap_field": "NAME1", + "sap_table": "LFA1", + "label": "Vendor Name", + "unit": null + }, + { + "key": "po_date", + "sap_field": "BEDAT", + "sap_table": "EKKO", + "label": "PO Date", + "unit": null + }, + { + "key": "promised_date", + "sap_field": "EINDT", + "sap_table": "EKET", + "label": "Promised Date", + "unit": null + }, + { + "key": "sched_qty", + "sap_field": "MENGE", + "sap_table": "EKET", + "label": "Scheduled Qty", + "unit": null + }, + { + "key": "gr_qty_to_date", + "sap_field": "WEMNG", + "sap_table": "EKET", + "label": "GR Qty (to date)", + "unit": null + }, + { + "key": "gr_mblnr", + "sap_field": "MBLNR", + "sap_table": "MSEG", + "label": "Goods Receipt Document", + "unit": null + }, + { + "key": "first_gr_date", + "sap_field": "BUDAT", + "sap_table": "MKPF", + "label": "Goods Receipt Date", + "unit": null + }, + { + "key": "days_vs_promised", + "sap_field": null, + "sap_table": null, + "label": "Days vs Promised", + "unit": "d" + }, + { + "key": "lead_time_days", + "sap_field": null, + "sap_table": null, + "label": "Lead Time (days)", + "unit": "d" + } + ], + "rows": [ + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000142", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-09-29", + "promised_date": "2025-10-29", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000142", + "first_gr_date": "2025-10-29", + "days_vs_promised": 0, + "lead_time_days": 30 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000141", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-09-23", + "promised_date": "2025-11-02", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000141", + "first_gr_date": "2025-11-02", + "days_vs_promised": 0, + "lead_time_days": 40 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000140", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-09-18", + "promised_date": "2025-10-14", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000140", + "first_gr_date": "2025-11-07", + "days_vs_promised": 24, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000143", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-10-09", + "promised_date": "2025-11-07", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000143", + "first_gr_date": "2025-11-07", + "days_vs_promised": 0, + "lead_time_days": 29 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000144", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-10-13", + "promised_date": "2025-11-10", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000144", + "first_gr_date": "2025-11-10", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000146", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-10-28", + "promised_date": "2025-12-05", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000146", + "first_gr_date": "2025-12-03", + "days_vs_promised": -2, + "lead_time_days": 36 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000145", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-10-22", + "promised_date": "2025-12-11", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000145", + "first_gr_date": "2025-12-11", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000148", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-11-10", + "promised_date": "2025-12-21", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000148", + "first_gr_date": "2025-12-21", + "days_vs_promised": 0, + "lead_time_days": 41 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000147", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-11-03", + "promised_date": "2025-12-23", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000147", + "first_gr_date": "2025-12-23", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000150", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-11-24", + "promised_date": "2026-01-09", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000150", + "first_gr_date": "2026-01-06", + "days_vs_promised": -3, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000149", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-11-18", + "promised_date": "2026-01-07", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000149", + "first_gr_date": "2026-01-07", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000151", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-01", + "promised_date": "2026-01-16", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000151", + "first_gr_date": "2026-01-13", + "days_vs_promised": -3, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000153", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000153", + "first_gr_date": "2026-01-13", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000155", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-29", + "promised_date": "2026-01-20", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000155", + "first_gr_date": "2026-01-20", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000152", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-08", + "promised_date": "2026-01-26", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000152", + "first_gr_date": "2026-01-26", + "days_vs_promised": 0, + "lead_time_days": 49 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000154", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-22", + "promised_date": "2026-02-02", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000154", + "first_gr_date": "2026-01-31", + "days_vs_promised": -2, + "lead_time_days": 40 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000156", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-01-07", + "promised_date": "2026-02-17", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000156", + "first_gr_date": "2026-02-14", + "days_vs_promised": -3, + "lead_time_days": 38 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000158", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-01-21", + "promised_date": "2026-02-15", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000158", + "first_gr_date": "2026-02-15", + "days_vs_promised": 0, + "lead_time_days": 25 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000157", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-01-15", + "promised_date": "2026-02-27", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000157", + "first_gr_date": "2026-02-27", + "days_vs_promised": 0, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000159", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-01-27", + "promised_date": "2026-03-06", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000159", + "first_gr_date": "2026-03-06", + "days_vs_promised": 0, + "lead_time_days": 38 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000176", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-12", + "promised_date": "2026-03-07", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000176", + "first_gr_date": "2026-03-07", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000160", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-02-02", + "promised_date": "2026-03-08", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000160", + "first_gr_date": "2026-03-08", + "days_vs_promised": 0, + "lead_time_days": 34 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000175", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-03", + "promised_date": "2026-03-10", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000175", + "first_gr_date": "2026-03-10", + "days_vs_promised": 0, + "lead_time_days": 35 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000178", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-25", + "promised_date": "2026-03-19", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000178", + "first_gr_date": "2026-03-19", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000161", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-02-12", + "promised_date": "2026-03-19", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000161", + "first_gr_date": "2026-03-20", + "days_vs_promised": 1, + "lead_time_days": 36 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000179", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-04", + "promised_date": "2026-03-30", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000179", + "first_gr_date": "2026-03-29", + "days_vs_promised": -1, + "lead_time_days": 25 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000162", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-02-17", + "promised_date": "2026-03-20", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000162", + "first_gr_date": "2026-04-01", + "days_vs_promised": 12, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000180", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-12", + "promised_date": "2026-04-02", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000180", + "first_gr_date": "2026-04-02", + "days_vs_promised": 0, + "lead_time_days": 21 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000177", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-17", + "promised_date": "2026-04-03", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000177", + "first_gr_date": "2026-04-05", + "days_vs_promised": 2, + "lead_time_days": 47 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000165", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-10", + "promised_date": "2026-04-07", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000165", + "first_gr_date": "2026-04-07", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000164", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-03", + "promised_date": "2026-04-10", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000164", + "first_gr_date": "2026-04-09", + "days_vs_promised": -1, + "lead_time_days": 37 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000163", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-02-23", + "promised_date": "2026-04-10", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000163", + "first_gr_date": "2026-04-10", + "days_vs_promised": 0, + "lead_time_days": 46 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000166", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-17", + "promised_date": "2026-04-11", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000166", + "first_gr_date": "2026-04-10", + "days_vs_promised": -1, + "lead_time_days": 24 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000167", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-26", + "promised_date": "2026-04-16", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000167", + "first_gr_date": "2026-04-16", + "days_vs_promised": 0, + "lead_time_days": 21 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000181", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-19", + "promised_date": "2026-04-24", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000181", + "first_gr_date": "2026-04-24", + "days_vs_promised": 0, + "lead_time_days": 36 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000182", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-24", + "promised_date": "2026-04-28", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000182", + "first_gr_date": "2026-04-25", + "days_vs_promised": -3, + "lead_time_days": 32 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000183", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-01", + "promised_date": "2026-04-26", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000183", + "first_gr_date": "2026-04-26", + "days_vs_promised": 0, + "lead_time_days": 25 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000168", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-30", + "promised_date": "2026-05-01", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000168", + "first_gr_date": "2026-04-30", + "days_vs_promised": -1, + "lead_time_days": 31 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000171", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-04-23", + "promised_date": "2026-05-14", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000171", + "first_gr_date": "2026-05-11", + "days_vs_promised": -3, + "lead_time_days": 18 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000185", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-14", + "promised_date": "2026-05-11", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000185", + "first_gr_date": "2026-05-11", + "days_vs_promised": 0, + "lead_time_days": 27 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000184", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-06", + "promised_date": "2026-05-16", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000184", + "first_gr_date": "2026-05-16", + "days_vs_promised": 0, + "lead_time_days": 40 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000169", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000169", + "first_gr_date": "2026-05-27", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000170", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-04-14", + "promised_date": "2026-05-29", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000170", + "first_gr_date": "2026-05-27", + "days_vs_promised": -2, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000174", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-05-13", + "promised_date": "2026-06-05", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000174", + "first_gr_date": "2026-06-03", + "days_vs_promised": -2, + "lead_time_days": 21 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000172", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-04-30", + "promised_date": "2026-06-11", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000172", + "first_gr_date": "2026-06-09", + "days_vs_promised": -2, + "lead_time_days": 40 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000186", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-21", + "promised_date": "2026-06-10", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000186", + "first_gr_date": "2026-06-15", + "days_vs_promised": 5, + "lead_time_days": 55 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000189", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-05-12", + "promised_date": "2026-06-16", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000189", + "first_gr_date": "2026-06-17", + "days_vs_promised": 1, + "lead_time_days": 36 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000187", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-30", + "promised_date": "2026-06-18", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000187", + "first_gr_date": "2026-06-18", + "days_vs_promised": 0, + "lead_time_days": 49 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000188", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-05-04", + "promised_date": "2026-06-21", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000188", + "first_gr_date": "2026-06-21", + "days_vs_promised": 0, + "lead_time_days": 48 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000173", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-05-05", + "promised_date": "2026-06-24", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000173", + "first_gr_date": "2026-07-02", + "days_vs_promised": 8, + "lead_time_days": 58 + } + ] + }, + "ref_date_col": "first_gr_date", + "n_batches": null, + "n_movements": 10, + "yield_data": null, + "consumption_data": null, + "supplier_otif": { + "primary_vendor": { + "id": "D0005", + "name": "Midland Mid-Tier Partners" + }, + "vendors": [ + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "n_lines": 35, + "n_late": 4, + "on_time_pct": 88.6, + "in_full_pct": 100.0, + "otif_pct": 88.6, + "mean_days_late_all": 1.29, + "mean_days_late_when_late": 11.2, + "median_days_late_when_late": 10.0, + "max_days_late": 24, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 11.4, + "ge_3d_pct": 8.6, + "ge_7d_pct": 8.6, + "ge_14d_pct": 2.9 + } + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "n_lines": 15, + "n_late": 3, + "on_time_pct": 80.0, + "in_full_pct": 100.0, + "otif_pct": 80.0, + "mean_days_late_all": 0.53, + "mean_days_late_when_late": 2.7, + "median_days_late_when_late": 2, + "max_days_late": 5, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 20.0, + "ge_3d_pct": 6.7, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + } + } + ], + "worst_events": [ + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000140", + "po_item": "00010", + "po_date": "2025-09-18", + "promised_date": "2025-10-14", + "first_gr_date": "2025-11-07", + "days_late": 24, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000162", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-03-20", + "first_gr_date": "2026-04-01", + "days_late": 12, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000173", + "po_item": "00040", + "po_date": "2026-05-05", + "promised_date": "2026-06-24", + "first_gr_date": "2026-07-02", + "days_late": 8, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000186", + "po_item": "00020", + "po_date": "2026-04-21", + "promised_date": "2026-06-10", + "first_gr_date": "2026-06-15", + "days_late": 5, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000177", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-05", + "days_late": 2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0 + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000161", + "po_item": "00020", + "po_date": "2026-02-12", + "promised_date": "2026-03-19", + "first_gr_date": "2026-03-20", + "days_late": 1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000189", + "po_item": "00050", + "po_date": "2026-05-12", + "promised_date": "2026-06-16", + "first_gr_date": "2026-06-17", + "days_late": 1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + } + ], + "coverage_pct": 100.0, + "n_lines": 50, + "data_quality_note": "100% in-full across every line \u2014 likely WEMNG = MENGE is auto-stamped at goods receipt rather than measured. Treat the in-full metric as a data-entry artifact at this site.", + "tolerance_days": 0, + "under_tolerance_pct": 0.05, + "lines": [ + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000140", + "po_item": "00010", + "po_date": "2025-09-18", + "promised_date": "2025-10-14", + "first_gr_date": "2025-11-07", + "days_late": 24, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000141", + "po_item": "00020", + "po_date": "2025-09-23", + "promised_date": "2025-11-02", + "first_gr_date": "2025-11-02", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000142", + "po_item": "00030", + "po_date": "2025-09-29", + "promised_date": "2025-10-29", + "first_gr_date": "2025-10-29", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000143", + "po_item": "00040", + "po_date": "2025-10-09", + "promised_date": "2025-11-07", + "first_gr_date": "2025-11-07", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000144", + "po_item": "00050", + "po_date": "2025-10-13", + "promised_date": "2025-11-10", + "first_gr_date": "2025-11-10", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000145", + "po_item": "00010", + "po_date": "2025-10-22", + "promised_date": "2025-12-11", + "first_gr_date": "2025-12-11", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000146", + "po_item": "00020", + "po_date": "2025-10-28", + "promised_date": "2025-12-05", + "first_gr_date": "2025-12-03", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000147", + "po_item": "00030", + "po_date": "2025-11-03", + "promised_date": "2025-12-23", + "first_gr_date": "2025-12-23", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000148", + "po_item": "00040", + "po_date": "2025-11-10", + "promised_date": "2025-12-21", + "first_gr_date": "2025-12-21", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000149", + "po_item": "00050", + "po_date": "2025-11-18", + "promised_date": "2026-01-07", + "first_gr_date": "2026-01-07", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000150", + "po_item": "00010", + "po_date": "2025-11-24", + "promised_date": "2026-01-09", + "first_gr_date": "2026-01-06", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000151", + "po_item": "00020", + "po_date": "2025-12-01", + "promised_date": "2026-01-16", + "first_gr_date": "2026-01-13", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000152", + "po_item": "00030", + "po_date": "2025-12-08", + "promised_date": "2026-01-26", + "first_gr_date": "2026-01-26", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000153", + "po_item": "00040", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-13", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000154", + "po_item": "00050", + "po_date": "2025-12-22", + "promised_date": "2026-02-02", + "first_gr_date": "2026-01-31", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000155", + "po_item": "00010", + "po_date": "2025-12-29", + "promised_date": "2026-01-20", + "first_gr_date": "2026-01-20", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000156", + "po_item": "00020", + "po_date": "2026-01-07", + "promised_date": "2026-02-17", + "first_gr_date": "2026-02-14", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000157", + "po_item": "00030", + "po_date": "2026-01-15", + "promised_date": "2026-02-27", + "first_gr_date": "2026-02-27", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000158", + "po_item": "00040", + "po_date": "2026-01-21", + "promised_date": "2026-02-15", + "first_gr_date": "2026-02-15", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000159", + "po_item": "00050", + "po_date": "2026-01-27", + "promised_date": "2026-03-06", + "first_gr_date": "2026-03-06", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000160", + "po_item": "00010", + "po_date": "2026-02-02", + "promised_date": "2026-03-08", + "first_gr_date": "2026-03-08", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000161", + "po_item": "00020", + "po_date": "2026-02-12", + "promised_date": "2026-03-19", + "first_gr_date": "2026-03-20", + "days_late": 1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000162", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-03-20", + "first_gr_date": "2026-04-01", + "days_late": 12, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000163", + "po_item": "00040", + "po_date": "2026-02-23", + "promised_date": "2026-04-10", + "first_gr_date": "2026-04-10", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000164", + "po_item": "00050", + "po_date": "2026-03-03", + "promised_date": "2026-04-10", + "first_gr_date": "2026-04-09", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000165", + "po_item": "00010", + "po_date": "2026-03-10", + "promised_date": "2026-04-07", + "first_gr_date": "2026-04-07", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000166", + "po_item": "00020", + "po_date": "2026-03-17", + "promised_date": "2026-04-11", + "first_gr_date": "2026-04-10", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000167", + "po_item": "00030", + "po_date": "2026-03-26", + "promised_date": "2026-04-16", + "first_gr_date": "2026-04-16", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000168", + "po_item": "00040", + "po_date": "2026-03-30", + "promised_date": "2026-05-01", + "first_gr_date": "2026-04-30", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000169", + "po_item": "00050", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "first_gr_date": "2026-05-27", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000170", + "po_item": "00010", + "po_date": "2026-04-14", + "promised_date": "2026-05-29", + "first_gr_date": "2026-05-27", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000171", + "po_item": "00020", + "po_date": "2026-04-23", + "promised_date": "2026-05-14", + "first_gr_date": "2026-05-11", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000172", + "po_item": "00030", + "po_date": "2026-04-30", + "promised_date": "2026-06-11", + "first_gr_date": "2026-06-09", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000173", + "po_item": "00040", + "po_date": "2026-05-05", + "promised_date": "2026-06-24", + "first_gr_date": "2026-07-02", + "days_late": 8, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000174", + "po_item": "00050", + "po_date": "2026-05-13", + "promised_date": "2026-06-05", + "first_gr_date": "2026-06-03", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000175", + "po_item": "00010", + "po_date": "2026-02-03", + "promised_date": "2026-03-10", + "first_gr_date": "2026-03-10", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000176", + "po_item": "00020", + "po_date": "2026-02-12", + "promised_date": "2026-03-07", + "first_gr_date": "2026-03-07", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000177", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-05", + "days_late": 2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000178", + "po_item": "00040", + "po_date": "2026-02-25", + "promised_date": "2026-03-19", + "first_gr_date": "2026-03-19", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000179", + "po_item": "00050", + "po_date": "2026-03-04", + "promised_date": "2026-03-30", + "first_gr_date": "2026-03-29", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000180", + "po_item": "00010", + "po_date": "2026-03-12", + "promised_date": "2026-04-02", + "first_gr_date": "2026-04-02", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000181", + "po_item": "00020", + "po_date": "2026-03-19", + "promised_date": "2026-04-24", + "first_gr_date": "2026-04-24", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000182", + "po_item": "00030", + "po_date": "2026-03-24", + "promised_date": "2026-04-28", + "first_gr_date": "2026-04-25", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000183", + "po_item": "00040", + "po_date": "2026-04-01", + "promised_date": "2026-04-26", + "first_gr_date": "2026-04-26", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000184", + "po_item": "00050", + "po_date": "2026-04-06", + "promised_date": "2026-05-16", + "first_gr_date": "2026-05-16", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000185", + "po_item": "00010", + "po_date": "2026-04-14", + "promised_date": "2026-05-11", + "first_gr_date": "2026-05-11", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000186", + "po_item": "00020", + "po_date": "2026-04-21", + "promised_date": "2026-06-10", + "first_gr_date": "2026-06-15", + "days_late": 5, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000187", + "po_item": "00030", + "po_date": "2026-04-30", + "promised_date": "2026-06-18", + "first_gr_date": "2026-06-18", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000188", + "po_item": "00040", + "po_date": "2026-05-04", + "promised_date": "2026-06-21", + "first_gr_date": "2026-06-21", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000189", + "po_item": "00050", + "po_date": "2026-05-12", + "promised_date": "2026-06-16", + "first_gr_date": "2026-06-17", + "days_late": 1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + } + ] + }, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/prod_duration_green_blend.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/prod_duration_green_blend.json new file mode 100644 index 00000000000..608c3bd3dc0 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/prod_duration_green_blend.json @@ -0,0 +1,924 @@ +{ + "id": "prod_duration_green_blend", + "label": "Production: Green Blend", + "type": "production", + "durations": [ + 2.5, 4.1, 1.6, 5.7, 3.3, 4.9, 2.5, 11.5, 3.3, 6.6, 2.5, 4.1, 0.8, 4.9, 2.5, + 3.3, 3.3, 3.3, 2.5, 3.3, 3.3, 3.3, 3.3, 4.1, 4.1, 4.1, 3.3, 4.1, 4.1, 2.5, + 3.3, 4.1, 2.5, 2.5, 4.1, 2.5, 3.3, 3.3, 2.5, 2.5, 3.3, 3.3, 3.3, 3.3, 4.1, + 4.1, 3.3, 3.3, 4.1, 4.1 + ], + "observations": [ + { + "date": "2022-04-18", + "value": 2.5 + }, + { + "date": "2022-07-05", + "value": 4.1 + }, + { + "date": "2022-10-12", + "value": 1.6 + }, + { + "date": "2023-01-20", + "value": 5.7 + }, + { + "date": "2023-04-15", + "value": 3.3 + }, + { + "date": "2023-07-28", + "value": 4.9 + }, + { + "date": "2023-10-05", + "value": 2.5 + }, + { + "date": "2024-01-12", + "value": 11.5 + }, + { + "date": "2024-04-22", + "value": 3.3 + }, + { + "date": "2024-07-10", + "value": 6.6 + }, + { + "date": "2024-10-18", + "value": 2.5 + }, + { + "date": "2025-01-25", + "value": 4.1 + }, + { + "date": "2025-05-08", + "value": 0.8 + }, + { + "date": "2025-08-15", + "value": 4.9 + }, + { + "date": "2025-09-04", + "value": 2.5 + }, + { + "date": "2025-09-10", + "value": 3.3 + }, + { + "date": "2025-09-16", + "value": 3.3 + }, + { + "date": "2025-09-22", + "value": 3.3 + }, + { + "date": "2025-10-05", + "value": 2.5 + }, + { + "date": "2025-10-11", + "value": 3.3 + }, + { + "date": "2025-10-17", + "value": 3.3 + }, + { + "date": "2025-10-23", + "value": 3.3 + }, + { + "date": "2025-11-06", + "value": 3.3 + }, + { + "date": "2025-11-12", + "value": 4.1 + }, + { + "date": "2025-11-18", + "value": 4.1 + }, + { + "date": "2025-11-24", + "value": 4.1 + }, + { + "date": "2025-12-04", + "value": 3.3 + }, + { + "date": "2025-12-10", + "value": 4.1 + }, + { + "date": "2025-12-16", + "value": 4.1 + }, + { + "date": "2025-12-22", + "value": 2.5 + }, + { + "date": "2026-01-05", + "value": 3.3 + }, + { + "date": "2026-01-11", + "value": 4.1 + }, + { + "date": "2026-01-17", + "value": 2.5 + }, + { + "date": "2026-01-23", + "value": 2.5 + }, + { + "date": "2026-02-06", + "value": 4.1 + }, + { + "date": "2026-02-12", + "value": 2.5 + }, + { + "date": "2026-02-18", + "value": 3.3 + }, + { + "date": "2026-02-24", + "value": 3.3 + }, + { + "date": "2026-03-04", + "value": 2.5 + }, + { + "date": "2026-03-10", + "value": 2.5 + }, + { + "date": "2026-03-16", + "value": 3.3 + }, + { + "date": "2026-03-22", + "value": 3.3 + }, + { + "date": "2026-04-05", + "value": 3.3 + }, + { + "date": "2026-04-11", + "value": 3.3 + }, + { + "date": "2026-04-17", + "value": 4.1 + }, + { + "date": "2026-04-23", + "value": 4.1 + }, + { + "date": "2026-05-06", + "value": 3.3 + }, + { + "date": "2026-05-12", + "value": 3.3 + }, + { + "date": "2026-05-18", + "value": 4.1 + }, + { + "date": "2026-05-24", + "value": 4.1 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2022-07", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-10", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2023-01", + "mean": 5.7, + "median": 5.7, + "p10": 5.7, + "p25": 5.7, + "p75": 5.7, + "p90": 5.7, + "n": 1 + }, + { + "month": "2023-04", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2023-07", + "mean": 4.9, + "median": 4.9, + "p10": 4.9, + "p25": 4.9, + "p75": 4.9, + "p90": 4.9, + "n": 1 + }, + { + "month": "2023-10", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 11.5, + "median": 11.5, + "p10": 11.5, + "p25": 11.5, + "p75": 11.5, + "p90": 11.5, + "n": 1 + }, + { + "month": "2024-04", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2024-07", + "mean": 6.6, + "median": 6.6, + "p10": 6.6, + "p25": 6.6, + "p75": 6.6, + "p90": 6.6, + "n": 1 + }, + { + "month": "2024-10", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2025-01", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-05", + "mean": 0.8, + "median": 0.8, + "p10": 0.8, + "p25": 0.8, + "p75": 0.8, + "p90": 0.8, + "n": 1 + }, + { + "month": "2025-08", + "mean": 4.9, + "median": 4.9, + "p10": 4.9, + "p25": 4.9, + "p75": 4.9, + "p90": 4.9, + "n": 1 + }, + { + "month": "2025-09", + "mean": 3.1, + "median": 3.3, + "p10": 2.7, + "p25": 3.1, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2025-10", + "mean": 3.1, + "median": 3.3, + "p10": 2.7, + "p25": 3.1, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2025-11", + "mean": 3.9, + "median": 4.1, + "p10": 3.5, + "p25": 3.9, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2025-12", + "mean": 3.5, + "median": 3.7, + "p10": 2.7, + "p25": 3.1, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2026-01", + "mean": 3.1, + "median": 2.9, + "p10": 2.5, + "p25": 2.5, + "p75": 3.5, + "p90": 3.9, + "n": 4 + }, + { + "month": "2026-02", + "mean": 3.3, + "median": 3.3, + "p10": 2.7, + "p25": 3.1, + "p75": 3.5, + "p90": 3.9, + "n": 4 + }, + { + "month": "2026-03", + "mean": 2.9, + "median": 2.9, + "p10": 2.5, + "p25": 2.5, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2026-04", + "mean": 3.7, + "median": 3.7, + "p10": 3.3, + "p25": 3.3, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2026-05", + "mean": 3.7, + "median": 3.7, + "p10": 3.3, + "p25": 3.3, + "p75": 4.1, + "p90": 4.1, + "n": 4 + } + ], + "stats": { + "n": 50, + "mean": 3.6, + "median": 3.3, + "std": 1.8, + "min": 0.8, + "max": 11.5, + "p25": 2.5, + "p75": 4.1, + "p85": 4.1, + "p95": 4.9 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 10.0, + "annotations": [], + "cost": null, + "detail_rows": null, + "ref_date_col": null, + "n_batches": 50, + "n_movements": null, + "yield_data": { + "values": [ + 98.2, 99.5, 97.8, 100.2, 96.5, 99.0, 98.8, 97.2, 99.5, 100.8, 98.0, 97.5, + 99.2, 98.5, 98.4, 98.6, 98.9, 99.1, 98.3, 98.5, 98.8, 99.1, 99.0, 99.3, + 99.6, 98.2, 99.0, 99.3, 97.9, 98.2, 98.9, 97.6, 97.9, 98.1, 98.1, 98.4, + 98.6, 98.9, 98.1, 98.3, 98.5, 98.8, 98.8, 99.0, 99.3, 99.6, 98.7, 99.0, + 99.3, 97.9 + ], + "observations": [ + { + "date": "2022-04-21", + "value": 98.2 + }, + { + "date": "2022-07-10", + "value": 99.5 + }, + { + "date": "2022-10-14", + "value": 97.8 + }, + { + "date": "2023-01-27", + "value": 100.2 + }, + { + "date": "2023-04-19", + "value": 96.5 + }, + { + "date": "2023-08-03", + "value": 99.0 + }, + { + "date": "2023-10-08", + "value": 98.8 + }, + { + "date": "2024-01-26", + "value": 97.2 + }, + { + "date": "2024-04-26", + "value": 99.5 + }, + { + "date": "2024-07-18", + "value": 100.8 + }, + { + "date": "2024-10-21", + "value": 98.0 + }, + { + "date": "2025-01-30", + "value": 97.5 + }, + { + "date": "2025-05-09", + "value": 99.2 + }, + { + "date": "2025-08-21", + "value": 98.5 + }, + { + "date": "2025-09-05", + "value": 98.4 + }, + { + "date": "2025-09-11", + "value": 98.6 + }, + { + "date": "2025-09-17", + "value": 98.9 + }, + { + "date": "2025-09-23", + "value": 99.1 + }, + { + "date": "2025-10-06", + "value": 98.3 + }, + { + "date": "2025-10-12", + "value": 98.5 + }, + { + "date": "2025-10-18", + "value": 98.8 + }, + { + "date": "2025-10-24", + "value": 99.1 + }, + { + "date": "2025-11-04", + "value": 99.0 + }, + { + "date": "2025-11-10", + "value": 99.3 + }, + { + "date": "2025-11-16", + "value": 99.6 + }, + { + "date": "2025-11-22", + "value": 98.2 + }, + { + "date": "2025-12-05", + "value": 99.0 + }, + { + "date": "2025-12-11", + "value": 99.3 + }, + { + "date": "2025-12-17", + "value": 97.9 + }, + { + "date": "2025-12-23", + "value": 98.2 + }, + { + "date": "2026-01-06", + "value": 98.9 + }, + { + "date": "2026-01-12", + "value": 97.6 + }, + { + "date": "2026-01-18", + "value": 97.9 + }, + { + "date": "2026-01-24", + "value": 98.1 + }, + { + "date": "2026-02-04", + "value": 98.1 + }, + { + "date": "2026-02-10", + "value": 98.4 + }, + { + "date": "2026-02-16", + "value": 98.6 + }, + { + "date": "2026-02-22", + "value": 98.9 + }, + { + "date": "2026-03-05", + "value": 98.1 + }, + { + "date": "2026-03-11", + "value": 98.3 + }, + { + "date": "2026-03-17", + "value": 98.5 + }, + { + "date": "2026-03-23", + "value": 98.8 + }, + { + "date": "2026-04-06", + "value": 98.8 + }, + { + "date": "2026-04-12", + "value": 99.0 + }, + { + "date": "2026-04-18", + "value": 99.3 + }, + { + "date": "2026-04-24", + "value": 99.6 + }, + { + "date": "2026-05-04", + "value": 98.7 + }, + { + "date": "2026-05-10", + "value": 99.0 + }, + { + "date": "2026-05-16", + "value": 99.3 + }, + { + "date": "2026-05-22", + "value": 97.9 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 98.2, + "median": 98.2, + "p10": 98.2, + "p25": 98.2, + "p75": 98.2, + "p90": 98.2, + "n": 1 + }, + { + "month": "2022-07", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2022-10", + "mean": 97.8, + "median": 97.8, + "p10": 97.8, + "p25": 97.8, + "p75": 97.8, + "p90": 97.8, + "n": 1 + }, + { + "month": "2023-01", + "mean": 100.2, + "median": 100.2, + "p10": 100.2, + "p25": 100.2, + "p75": 100.2, + "p90": 100.2, + "n": 1 + }, + { + "month": "2023-04", + "mean": 96.5, + "median": 96.5, + "p10": 96.5, + "p25": 96.5, + "p75": 96.5, + "p90": 96.5, + "n": 1 + }, + { + "month": "2023-08", + "mean": 99.0, + "median": 99.0, + "p10": 99.0, + "p25": 99.0, + "p75": 99.0, + "p90": 99.0, + "n": 1 + }, + { + "month": "2023-10", + "mean": 98.8, + "median": 98.8, + "p10": 98.8, + "p25": 98.8, + "p75": 98.8, + "p90": 98.8, + "n": 1 + }, + { + "month": "2024-01", + "mean": 97.2, + "median": 97.2, + "p10": 97.2, + "p25": 97.2, + "p75": 97.2, + "p90": 97.2, + "n": 1 + }, + { + "month": "2024-04", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2024-07", + "mean": 100.8, + "median": 100.8, + "p10": 100.8, + "p25": 100.8, + "p75": 100.8, + "p90": 100.8, + "n": 1 + }, + { + "month": "2024-10", + "mean": 98.0, + "median": 98.0, + "p10": 98.0, + "p25": 98.0, + "p75": 98.0, + "p90": 98.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 97.5, + "median": 97.5, + "p10": 97.5, + "p25": 97.5, + "p75": 97.5, + "p90": 97.5, + "n": 1 + }, + { + "month": "2025-05", + "mean": 99.2, + "median": 99.2, + "p10": 99.2, + "p25": 99.2, + "p75": 99.2, + "p90": 99.2, + "n": 1 + }, + { + "month": "2025-08", + "mean": 98.5, + "median": 98.5, + "p10": 98.5, + "p25": 98.5, + "p75": 98.5, + "p90": 98.5, + "n": 1 + }, + { + "month": "2025-09", + "mean": 98.8, + "median": 98.8, + "p10": 98.5, + "p25": 98.6, + "p75": 99.0, + "p90": 99.0, + "n": 4 + }, + { + "month": "2025-10", + "mean": 98.7, + "median": 98.7, + "p10": 98.4, + "p25": 98.5, + "p75": 98.9, + "p90": 99.0, + "n": 4 + }, + { + "month": "2025-11", + "mean": 99.0, + "median": 99.2, + "p10": 98.4, + "p25": 98.8, + "p75": 99.4, + "p90": 99.5, + "n": 4 + }, + { + "month": "2025-12", + "mean": 98.6, + "median": 98.6, + "p10": 98.0, + "p25": 98.1, + "p75": 99.1, + "p90": 99.2, + "n": 4 + }, + { + "month": "2026-01", + "mean": 98.1, + "median": 98.0, + "p10": 97.7, + "p25": 97.8, + "p75": 98.3, + "p90": 98.7, + "n": 4 + }, + { + "month": "2026-02", + "mean": 98.5, + "median": 98.5, + "p10": 98.2, + "p25": 98.3, + "p75": 98.7, + "p90": 98.8, + "n": 4 + }, + { + "month": "2026-03", + "mean": 98.4, + "median": 98.4, + "p10": 98.2, + "p25": 98.3, + "p75": 98.6, + "p90": 98.7, + "n": 4 + }, + { + "month": "2026-04", + "mean": 99.2, + "median": 99.2, + "p10": 98.9, + "p25": 99.0, + "p75": 99.4, + "p90": 99.5, + "n": 4 + }, + { + "month": "2026-05", + "mean": 98.7, + "median": 98.9, + "p10": 98.1, + "p25": 98.5, + "p75": 99.1, + "p90": 99.2, + "n": 4 + } + ], + "stats": { + "n": 50, + "mean": 98.7, + "median": 98.8, + "std": 0.7, + "min": 96.5, + "max": 100.8, + "p25": 98.2, + "p75": 99.1, + "p85": 99.3, + "p95": 99.6 + }, + "reference": 100.0 + }, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/prod_duration_harbor_dark_roast.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/prod_duration_harbor_dark_roast.json new file mode 100644 index 00000000000..de3cb1d23c1 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/prod_duration_harbor_dark_roast.json @@ -0,0 +1,1148 @@ +{ + "id": "prod_duration_harbor_dark_roast", + "label": "Production: Harbor Dark Roast", + "type": "production", + "durations": [ + 1.6, 2.5, 0.8, 3.3, 1.6, 4.1, 2.5, 5.7, 1.6, 3.3, 0.8, 2.5, 8.2, 2.5, 1.6, + 4.1, 0.0, 3.3, 2.5, 1.6, 4.9, 2.5, 3.3, 3.3, 2.5, 2.5, 3.3, 1.6, 2.5, 2.5, + 1.6, 1.6, 2.5, 2.5, 2.5, 2.5, 2.5, 3.3, 2.5, 2.5, 2.5, 3.3, 3.3, 3.3, 3.3, + 2.5, 2.5, 3.3, 1.6, 2.5, 2.5, 1.6, 1.6, 2.5, 2.5, 2.5, 2.5, 2.5 + ], + "observations": [ + { + "date": "2022-05-20", + "value": 1.6 + }, + { + "date": "2022-06-10", + "value": 2.5 + }, + { + "date": "2022-07-15", + "value": 0.8 + }, + { + "date": "2022-08-22", + "value": 3.3 + }, + { + "date": "2022-10-05", + "value": 1.6 + }, + { + "date": "2022-11-18", + "value": 4.1 + }, + { + "date": "2023-01-10", + "value": 2.5 + }, + { + "date": "2023-03-25", + "value": 5.7 + }, + { + "date": "2023-05-12", + "value": 1.6 + }, + { + "date": "2023-07-08", + "value": 3.3 + }, + { + "date": "2023-09-15", + "value": 0.8 + }, + { + "date": "2023-11-22", + "value": 2.5 + }, + { + "date": "2024-01-18", + "value": 8.2 + }, + { + "date": "2024-03-08", + "value": 2.5 + }, + { + "date": "2024-05-15", + "value": 1.6 + }, + { + "date": "2024-07-22", + "value": 4.1 + }, + { + "date": "2024-09-10", + "value": 0.0 + }, + { + "date": "2024-11-05", + "value": 3.3 + }, + { + "date": "2025-01-15", + "value": 2.5 + }, + { + "date": "2025-03-20", + "value": 1.6 + }, + { + "date": "2025-05-28", + "value": 4.9 + }, + { + "date": "2025-08-05", + "value": 2.5 + }, + { + "date": "2025-09-05", + "value": 3.3 + }, + { + "date": "2025-09-11", + "value": 3.3 + }, + { + "date": "2025-09-17", + "value": 2.5 + }, + { + "date": "2025-09-23", + "value": 2.5 + }, + { + "date": "2025-10-06", + "value": 3.3 + }, + { + "date": "2025-10-12", + "value": 1.6 + }, + { + "date": "2025-10-18", + "value": 2.5 + }, + { + "date": "2025-10-24", + "value": 2.5 + }, + { + "date": "2025-11-04", + "value": 1.6 + }, + { + "date": "2025-11-10", + "value": 1.6 + }, + { + "date": "2025-11-16", + "value": 2.5 + }, + { + "date": "2025-11-22", + "value": 2.5 + }, + { + "date": "2025-12-05", + "value": 2.5 + }, + { + "date": "2025-12-11", + "value": 2.5 + }, + { + "date": "2025-12-17", + "value": 2.5 + }, + { + "date": "2025-12-23", + "value": 3.3 + }, + { + "date": "2026-01-06", + "value": 2.5 + }, + { + "date": "2026-01-12", + "value": 2.5 + }, + { + "date": "2026-01-18", + "value": 2.5 + }, + { + "date": "2026-01-24", + "value": 3.3 + }, + { + "date": "2026-02-04", + "value": 3.3 + }, + { + "date": "2026-02-10", + "value": 3.3 + }, + { + "date": "2026-02-16", + "value": 3.3 + }, + { + "date": "2026-02-22", + "value": 2.5 + }, + { + "date": "2026-03-05", + "value": 2.5 + }, + { + "date": "2026-03-11", + "value": 3.3 + }, + { + "date": "2026-03-17", + "value": 1.6 + }, + { + "date": "2026-03-23", + "value": 2.5 + }, + { + "date": "2026-04-06", + "value": 2.5 + }, + { + "date": "2026-04-12", + "value": 1.6 + }, + { + "date": "2026-04-18", + "value": 1.6 + }, + { + "date": "2026-04-24", + "value": 2.5 + }, + { + "date": "2026-05-04", + "value": 2.5 + }, + { + "date": "2026-05-10", + "value": 2.5 + }, + { + "date": "2026-05-16", + "value": 2.5 + }, + { + "date": "2026-05-22", + "value": 2.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2022-06", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2022-07", + "mean": 0.8, + "median": 0.8, + "p10": 0.8, + "p25": 0.8, + "p75": 0.8, + "p90": 0.8, + "n": 1 + }, + { + "month": "2022-08", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2022-10", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2022-11", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2023-01", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2023-03", + "mean": 5.7, + "median": 5.7, + "p10": 5.7, + "p25": 5.7, + "p75": 5.7, + "p90": 5.7, + "n": 1 + }, + { + "month": "2023-05", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2023-07", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2023-09", + "mean": 0.8, + "median": 0.8, + "p10": 0.8, + "p25": 0.8, + "p75": 0.8, + "p90": 0.8, + "n": 1 + }, + { + "month": "2023-11", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 8.2, + "median": 8.2, + "p10": 8.2, + "p25": 8.2, + "p75": 8.2, + "p90": 8.2, + "n": 1 + }, + { + "month": "2024-03", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2024-05", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2024-07", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-09", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2025-01", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2025-03", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2025-05", + "mean": 4.9, + "median": 4.9, + "p10": 4.9, + "p25": 4.9, + "p75": 4.9, + "p90": 4.9, + "n": 1 + }, + { + "month": "2025-08", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2025-09", + "mean": 2.9, + "median": 2.9, + "p10": 2.5, + "p25": 2.5, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2025-10", + "mean": 2.5, + "median": 2.5, + "p10": 1.9, + "p25": 2.3, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2025-11", + "mean": 2.0, + "median": 2.0, + "p10": 1.6, + "p25": 1.6, + "p75": 2.5, + "p90": 2.5, + "n": 4 + }, + { + "month": "2025-12", + "mean": 2.7, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-01", + "mean": 2.7, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-02", + "mean": 3.1, + "median": 3.3, + "p10": 2.7, + "p25": 3.1, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2026-03", + "mean": 2.5, + "median": 2.5, + "p10": 1.9, + "p25": 2.3, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-04", + "mean": 2.0, + "median": 2.0, + "p10": 1.6, + "p25": 1.6, + "p75": 2.5, + "p90": 2.5, + "n": 4 + }, + { + "month": "2026-05", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 4 + } + ], + "stats": { + "n": 58, + "mean": 2.6, + "median": 2.5, + "std": 1.4, + "min": 0.0, + "max": 8.2, + "p25": 2.5, + "p75": 3.3, + "p85": 3.3, + "p95": 4.1 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 5.2, + "annotations": [], + "cost": null, + "detail_rows": null, + "ref_date_col": null, + "n_batches": 58, + "n_movements": null, + "yield_data": { + "values": [ + 99.0, 98.5, 99.8, 97.2, 99.5, 98.0, 100.2, 98.8, 99.2, 97.5, 99.0, 98.5, + 100.5, 99.2, 98.0, 97.8, 99.5, 98.2, 99.0, 98.8, 99.5, 97.0, 98.9, 99.1, + 99.4, 99.6, 98.8, 99.0, 99.3, 99.6, 99.5, 99.8, 100.1, 98.7, 99.5, 99.8, + 98.4, 98.7, 99.4, 98.1, 98.4, 98.6, 98.6, 98.9, 99.1, 99.4, 98.6, 98.8, + 99.0, 99.3, 99.3, 99.5, 99.8, 100.1, 99.2, 99.5, 99.8, 98.4 + ], + "observations": [ + { + "date": "2022-05-22", + "value": 99.0 + }, + { + "date": "2022-06-13", + "value": 98.5 + }, + { + "date": "2022-07-16", + "value": 99.8 + }, + { + "date": "2022-08-26", + "value": 97.2 + }, + { + "date": "2022-10-07", + "value": 99.5 + }, + { + "date": "2022-11-23", + "value": 98.0 + }, + { + "date": "2023-01-13", + "value": 100.2 + }, + { + "date": "2023-04-01", + "value": 98.8 + }, + { + "date": "2023-05-14", + "value": 99.2 + }, + { + "date": "2023-07-12", + "value": 97.5 + }, + { + "date": "2023-09-16", + "value": 99.0 + }, + { + "date": "2023-11-25", + "value": 98.5 + }, + { + "date": "2024-01-28", + "value": 100.5 + }, + { + "date": "2024-03-11", + "value": 99.2 + }, + { + "date": "2024-05-17", + "value": 98.0 + }, + { + "date": "2024-07-27", + "value": 97.8 + }, + { + "date": "2024-09-10", + "value": 99.5 + }, + { + "date": "2024-11-09", + "value": 98.2 + }, + { + "date": "2025-01-18", + "value": 99.0 + }, + { + "date": "2025-03-22", + "value": 98.8 + }, + { + "date": "2025-06-03", + "value": 99.5 + }, + { + "date": "2025-08-08", + "value": 97.0 + }, + { + "date": "2025-09-05", + "value": 98.9 + }, + { + "date": "2025-09-11", + "value": 99.1 + }, + { + "date": "2025-09-17", + "value": 99.4 + }, + { + "date": "2025-09-23", + "value": 99.6 + }, + { + "date": "2025-10-06", + "value": 98.8 + }, + { + "date": "2025-10-12", + "value": 99.0 + }, + { + "date": "2025-10-18", + "value": 99.3 + }, + { + "date": "2025-10-24", + "value": 99.6 + }, + { + "date": "2025-11-04", + "value": 99.5 + }, + { + "date": "2025-11-10", + "value": 99.8 + }, + { + "date": "2025-11-16", + "value": 100.1 + }, + { + "date": "2025-11-22", + "value": 98.7 + }, + { + "date": "2025-12-05", + "value": 99.5 + }, + { + "date": "2025-12-11", + "value": 99.8 + }, + { + "date": "2025-12-17", + "value": 98.4 + }, + { + "date": "2025-12-23", + "value": 98.7 + }, + { + "date": "2026-01-06", + "value": 99.4 + }, + { + "date": "2026-01-12", + "value": 98.1 + }, + { + "date": "2026-01-18", + "value": 98.4 + }, + { + "date": "2026-01-24", + "value": 98.6 + }, + { + "date": "2026-02-04", + "value": 98.6 + }, + { + "date": "2026-02-10", + "value": 98.9 + }, + { + "date": "2026-02-16", + "value": 99.1 + }, + { + "date": "2026-02-22", + "value": 99.4 + }, + { + "date": "2026-03-05", + "value": 98.6 + }, + { + "date": "2026-03-11", + "value": 98.8 + }, + { + "date": "2026-03-17", + "value": 99.0 + }, + { + "date": "2026-03-23", + "value": 99.3 + }, + { + "date": "2026-04-06", + "value": 99.3 + }, + { + "date": "2026-04-12", + "value": 99.5 + }, + { + "date": "2026-04-18", + "value": 99.8 + }, + { + "date": "2026-04-24", + "value": 100.1 + }, + { + "date": "2026-05-04", + "value": 99.2 + }, + { + "date": "2026-05-10", + "value": 99.5 + }, + { + "date": "2026-05-16", + "value": 99.8 + }, + { + "date": "2026-05-22", + "value": 98.4 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 99.0, + "median": 99.0, + "p10": 99.0, + "p25": 99.0, + "p75": 99.0, + "p90": 99.0, + "n": 1 + }, + { + "month": "2022-06", + "mean": 98.5, + "median": 98.5, + "p10": 98.5, + "p25": 98.5, + "p75": 98.5, + "p90": 98.5, + "n": 1 + }, + { + "month": "2022-07", + "mean": 99.8, + "median": 99.8, + "p10": 99.8, + "p25": 99.8, + "p75": 99.8, + "p90": 99.8, + "n": 1 + }, + { + "month": "2022-08", + "mean": 97.2, + "median": 97.2, + "p10": 97.2, + "p25": 97.2, + "p75": 97.2, + "p90": 97.2, + "n": 1 + }, + { + "month": "2022-10", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2022-11", + "mean": 98.0, + "median": 98.0, + "p10": 98.0, + "p25": 98.0, + "p75": 98.0, + "p90": 98.0, + "n": 1 + }, + { + "month": "2023-01", + "mean": 100.2, + "median": 100.2, + "p10": 100.2, + "p25": 100.2, + "p75": 100.2, + "p90": 100.2, + "n": 1 + }, + { + "month": "2023-04", + "mean": 98.8, + "median": 98.8, + "p10": 98.8, + "p25": 98.8, + "p75": 98.8, + "p90": 98.8, + "n": 1 + }, + { + "month": "2023-05", + "mean": 99.2, + "median": 99.2, + "p10": 99.2, + "p25": 99.2, + "p75": 99.2, + "p90": 99.2, + "n": 1 + }, + { + "month": "2023-07", + "mean": 97.5, + "median": 97.5, + "p10": 97.5, + "p25": 97.5, + "p75": 97.5, + "p90": 97.5, + "n": 1 + }, + { + "month": "2023-09", + "mean": 99.0, + "median": 99.0, + "p10": 99.0, + "p25": 99.0, + "p75": 99.0, + "p90": 99.0, + "n": 1 + }, + { + "month": "2023-11", + "mean": 98.5, + "median": 98.5, + "p10": 98.5, + "p25": 98.5, + "p75": 98.5, + "p90": 98.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 100.5, + "median": 100.5, + "p10": 100.5, + "p25": 100.5, + "p75": 100.5, + "p90": 100.5, + "n": 1 + }, + { + "month": "2024-03", + "mean": 99.2, + "median": 99.2, + "p10": 99.2, + "p25": 99.2, + "p75": 99.2, + "p90": 99.2, + "n": 1 + }, + { + "month": "2024-05", + "mean": 98.0, + "median": 98.0, + "p10": 98.0, + "p25": 98.0, + "p75": 98.0, + "p90": 98.0, + "n": 1 + }, + { + "month": "2024-07", + "mean": 97.8, + "median": 97.8, + "p10": 97.8, + "p25": 97.8, + "p75": 97.8, + "p90": 97.8, + "n": 1 + }, + { + "month": "2024-09", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2024-11", + "mean": 98.2, + "median": 98.2, + "p10": 98.2, + "p25": 98.2, + "p75": 98.2, + "p90": 98.2, + "n": 1 + }, + { + "month": "2025-01", + "mean": 99.0, + "median": 99.0, + "p10": 99.0, + "p25": 99.0, + "p75": 99.0, + "p90": 99.0, + "n": 1 + }, + { + "month": "2025-03", + "mean": 98.8, + "median": 98.8, + "p10": 98.8, + "p25": 98.8, + "p75": 98.8, + "p90": 98.8, + "n": 1 + }, + { + "month": "2025-06", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2025-08", + "mean": 97.0, + "median": 97.0, + "p10": 97.0, + "p25": 97.0, + "p75": 97.0, + "p90": 97.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 99.3, + "median": 99.3, + "p10": 99.0, + "p25": 99.1, + "p75": 99.5, + "p90": 99.5, + "n": 4 + }, + { + "month": "2025-10", + "mean": 99.2, + "median": 99.2, + "p10": 98.9, + "p25": 99.0, + "p75": 99.4, + "p90": 99.5, + "n": 4 + }, + { + "month": "2025-11", + "mean": 99.5, + "median": 99.7, + "p10": 98.9, + "p25": 99.3, + "p75": 99.9, + "p90": 100.0, + "n": 4 + }, + { + "month": "2025-12", + "mean": 99.1, + "median": 99.1, + "p10": 98.5, + "p25": 98.6, + "p75": 99.6, + "p90": 99.7, + "n": 4 + }, + { + "month": "2026-01", + "mean": 98.6, + "median": 98.5, + "p10": 98.2, + "p25": 98.3, + "p75": 98.8, + "p90": 99.2, + "n": 4 + }, + { + "month": "2026-02", + "mean": 99.0, + "median": 99.0, + "p10": 98.7, + "p25": 98.8, + "p75": 99.2, + "p90": 99.3, + "n": 4 + }, + { + "month": "2026-03", + "mean": 98.9, + "median": 98.9, + "p10": 98.7, + "p25": 98.8, + "p75": 99.1, + "p90": 99.2, + "n": 4 + }, + { + "month": "2026-04", + "mean": 99.7, + "median": 99.7, + "p10": 99.4, + "p25": 99.5, + "p75": 99.9, + "p90": 100.0, + "n": 4 + }, + { + "month": "2026-05", + "mean": 99.2, + "median": 99.4, + "p10": 98.6, + "p25": 99.0, + "p75": 99.6, + "p90": 99.7, + "n": 4 + } + ], + "stats": { + "n": 58, + "mean": 99.0, + "median": 99.1, + "std": 0.7, + "min": 97.0, + "max": 100.5, + "p25": 98.6, + "p75": 99.5, + "p85": 99.7, + "p95": 100.1 + }, + "reference": 100.0 + }, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/prod_to_qa_pla.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/prod_to_qa_pla.json new file mode 100644 index 00000000000..a7af38894ba --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/prod_to_qa_pla.json @@ -0,0 +1,581 @@ +{ + "id": "prod_to_qa_pla", + "label": "Production \u2192 QA Release (PL-A)", + "type": "qa_hold", + "durations": [ + 1.6, 0.8, 2.5, 1.6, 4.1, 1.6, 3.3, 2.5, 4.9, 1.6, 10.7, 2.5, 5.7, 0.8, 3.3, + 4.1, 1.6, 0.0, 2.5, 6.6, 1.6, 4.1, 1.6, 2.5, 2.5, 2.5, 2.5, 2.5, 3.3, 3.3, + 2.5, 2.5, 2.5, 3.3, 2.5, 2.5, 2.5, 1.6, 3.3, 3.3, 2.5, 2.5, 3.3, 1.6, 2.5, + 2.5, 2.5, 2.5, 2.5, 3.3, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5 + ], + "observations": [ + { + "date": "2022-05-22", + "value": 1.6 + }, + { + "date": "2022-06-13", + "value": 0.8 + }, + { + "date": "2022-07-16", + "value": 2.5 + }, + { + "date": "2022-08-26", + "value": 1.6 + }, + { + "date": "2022-10-07", + "value": 4.1 + }, + { + "date": "2022-11-23", + "value": 1.6 + }, + { + "date": "2023-01-13", + "value": 3.3 + }, + { + "date": "2023-04-01", + "value": 2.5 + }, + { + "date": "2023-05-14", + "value": 4.9 + }, + { + "date": "2023-07-12", + "value": 1.6 + }, + { + "date": "2023-09-16", + "value": 10.7 + }, + { + "date": "2023-11-25", + "value": 2.5 + }, + { + "date": "2024-01-28", + "value": 5.7 + }, + { + "date": "2024-03-11", + "value": 0.8 + }, + { + "date": "2024-05-17", + "value": 3.3 + }, + { + "date": "2024-07-27", + "value": 4.1 + }, + { + "date": "2024-09-10", + "value": 1.6 + }, + { + "date": "2024-11-09", + "value": 0.0 + }, + { + "date": "2025-01-18", + "value": 2.5 + }, + { + "date": "2025-03-22", + "value": 6.6 + }, + { + "date": "2025-06-03", + "value": 1.6 + }, + { + "date": "2025-08-08", + "value": 4.1 + }, + { + "date": "2025-09-04", + "value": 1.6 + }, + { + "date": "2025-09-10", + "value": 2.5 + }, + { + "date": "2025-09-16", + "value": 2.5 + }, + { + "date": "2025-09-22", + "value": 2.5 + }, + { + "date": "2025-10-05", + "value": 2.5 + }, + { + "date": "2025-10-11", + "value": 2.5 + }, + { + "date": "2025-10-17", + "value": 3.3 + }, + { + "date": "2025-10-23", + "value": 3.3 + }, + { + "date": "2025-11-06", + "value": 2.5 + }, + { + "date": "2025-11-12", + "value": 2.5 + }, + { + "date": "2025-11-18", + "value": 2.5 + }, + { + "date": "2025-11-24", + "value": 3.3 + }, + { + "date": "2025-12-04", + "value": 2.5 + }, + { + "date": "2025-12-10", + "value": 2.5 + }, + { + "date": "2025-12-16", + "value": 2.5 + }, + { + "date": "2025-12-22", + "value": 1.6 + }, + { + "date": "2026-01-05", + "value": 3.3 + }, + { + "date": "2026-01-11", + "value": 3.3 + }, + { + "date": "2026-01-17", + "value": 2.5 + }, + { + "date": "2026-01-23", + "value": 2.5 + }, + { + "date": "2026-02-06", + "value": 3.3 + }, + { + "date": "2026-02-12", + "value": 1.6 + }, + { + "date": "2026-02-18", + "value": 2.5 + }, + { + "date": "2026-02-24", + "value": 2.5 + }, + { + "date": "2026-03-04", + "value": 2.5 + }, + { + "date": "2026-03-10", + "value": 2.5 + }, + { + "date": "2026-03-16", + "value": 2.5 + }, + { + "date": "2026-03-22", + "value": 3.3 + }, + { + "date": "2026-04-05", + "value": 2.5 + }, + { + "date": "2026-04-11", + "value": 2.5 + }, + { + "date": "2026-04-17", + "value": 2.5 + }, + { + "date": "2026-04-23", + "value": 2.5 + }, + { + "date": "2026-05-06", + "value": 2.5 + }, + { + "date": "2026-05-12", + "value": 2.5 + }, + { + "date": "2026-05-18", + "value": 2.5 + }, + { + "date": "2026-05-24", + "value": 2.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2022-06", + "mean": 0.8, + "median": 0.8, + "p10": 0.8, + "p25": 0.8, + "p75": 0.8, + "p90": 0.8, + "n": 1 + }, + { + "month": "2022-07", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2022-08", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2022-10", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-11", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2023-01", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2023-04", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2023-05", + "mean": 4.9, + "median": 4.9, + "p10": 4.9, + "p25": 4.9, + "p75": 4.9, + "p90": 4.9, + "n": 1 + }, + { + "month": "2023-07", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2023-09", + "mean": 10.7, + "median": 10.7, + "p10": 10.7, + "p25": 10.7, + "p75": 10.7, + "p90": 10.7, + "n": 1 + }, + { + "month": "2023-11", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 5.7, + "median": 5.7, + "p10": 5.7, + "p25": 5.7, + "p75": 5.7, + "p90": 5.7, + "n": 1 + }, + { + "month": "2024-03", + "mean": 0.8, + "median": 0.8, + "p10": 0.8, + "p25": 0.8, + "p75": 0.8, + "p90": 0.8, + "n": 1 + }, + { + "month": "2024-05", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2024-07", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-09", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2024-11", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2025-03", + "mean": 6.6, + "median": 6.6, + "p10": 6.6, + "p25": 6.6, + "p75": 6.6, + "p90": 6.6, + "n": 1 + }, + { + "month": "2025-06", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2025-08", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-09", + "mean": 2.3, + "median": 2.5, + "p10": 1.9, + "p25": 2.3, + "p75": 2.5, + "p90": 2.5, + "n": 4 + }, + { + "month": "2025-10", + "mean": 2.9, + "median": 2.9, + "p10": 2.5, + "p25": 2.5, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2025-11", + "mean": 2.7, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2025-12", + "mean": 2.3, + "median": 2.5, + "p10": 1.9, + "p25": 2.3, + "p75": 2.5, + "p90": 2.5, + "n": 4 + }, + { + "month": "2026-01", + "mean": 2.9, + "median": 2.9, + "p10": 2.5, + "p25": 2.5, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2026-02", + "mean": 2.5, + "median": 2.5, + "p10": 1.9, + "p25": 2.3, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-03", + "mean": 2.7, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-04", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 4 + }, + { + "month": "2026-05", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 4 + } + ], + "stats": { + "n": 58, + "mean": 2.8, + "median": 2.5, + "std": 1.8, + "min": 0.0, + "max": 10.7, + "p25": 2.5, + "p75": 3.3, + "p85": 3.3, + "p95": 4.9 + }, + "plifz": 5, + "plifz_note": "WEBAZ (GR processing days)", + "pct_exceeding_plifz": 6.9, + "annotations": [], + "cost": null, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": null, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/raw_dwell_highland_arabica.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/raw_dwell_highland_arabica.json new file mode 100644 index 00000000000..527fd049b67 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/raw_dwell_highland_arabica.json @@ -0,0 +1,689 @@ +{ + "id": "raw_dwell_highland_arabica", + "label": "Raw Material Dwell: Highland Arabica", + "type": "raw_material_dwell", + "durations": [ + 28.7, 50.8, 14.8, 72.2, 34.4, 45.1, 24.6, 59.0, 20.5, 39.4, 12.3, 77.9, + 106.6, 36.9, 31.2, 53.3, 18.0, 64.0, 4.1, 45.1, 32.8, 23.0, 69.7, 41.0, + 90.2, 26.2, 55.8, 36.9, 75.4, 16.4, 47.6, 28.7, 34.4, 61.5, 9.8, 39.4, 49.2, + 31.2, 40.2, 44.3, 27.9, 32.0, 34.4, 50.0, 33.6, 37.7, 40.2, 43.5, 29.5, + 33.6, 36.1, 39.4, 42.6, 29.5, 32.0, 35.3, 38.5, 41.8, 38.5, 41.0, 44.3, + 47.6, 32.0, 36.9, 40.2, 44.3, 27.9, 32.0, 45.9, 50.0, 33.6, 37.7, 40.2, + 45.9, 29.5, 33.6, 36.1, 39.4, 26.2, 29.5, 32.0, 35.3, 38.5 + ], + "observations": [ + { + "date": "2022-04-02", + "value": 28.7 + }, + { + "date": "2022-04-15", + "value": 50.8 + }, + { + "date": "2022-04-28", + "value": 14.8 + }, + { + "date": "2022-08-05", + "value": 72.2 + }, + { + "date": "2022-08-12", + "value": 34.4 + }, + { + "date": "2022-08-20", + "value": 45.1 + }, + { + "date": "2022-08-28", + "value": 24.6 + }, + { + "date": "2023-01-10", + "value": 59.0 + }, + { + "date": "2023-01-22", + "value": 20.5 + }, + { + "date": "2023-01-30", + "value": 39.4 + }, + { + "date": "2023-06-05", + "value": 12.3 + }, + { + "date": "2023-06-18", + "value": 77.9 + }, + { + "date": "2023-10-03", + "value": 106.6 + }, + { + "date": "2023-10-10", + "value": 36.9 + }, + { + "date": "2023-10-18", + "value": 31.2 + }, + { + "date": "2023-10-25", + "value": 53.3 + }, + { + "date": "2023-10-30", + "value": 18.0 + }, + { + "date": "2024-03-05", + "value": 64.0 + }, + { + "date": "2024-03-12", + "value": 4.1 + }, + { + "date": "2024-03-20", + "value": 45.1 + }, + { + "date": "2024-03-28", + "value": 32.8 + }, + { + "date": "2024-07-08", + "value": 23.0 + }, + { + "date": "2024-07-15", + "value": 69.7 + }, + { + "date": "2024-07-22", + "value": 41.0 + }, + { + "date": "2024-11-04", + "value": 90.2 + }, + { + "date": "2024-11-11", + "value": 26.2 + }, + { + "date": "2024-11-18", + "value": 55.8 + }, + { + "date": "2024-11-25", + "value": 36.9 + }, + { + "date": "2024-11-30", + "value": 75.4 + }, + { + "date": "2025-03-03", + "value": 16.4 + }, + { + "date": "2025-03-10", + "value": 47.6 + }, + { + "date": "2025-03-17", + "value": 28.7 + }, + { + "date": "2025-03-24", + "value": 34.4 + }, + { + "date": "2025-07-02", + "value": 61.5 + }, + { + "date": "2025-07-09", + "value": 9.8 + }, + { + "date": "2025-07-16", + "value": 39.4 + }, + { + "date": "2025-07-23", + "value": 49.2 + }, + { + "date": "2025-07-30", + "value": 31.2 + }, + { + "date": "2025-09-05", + "value": 40.2 + }, + { + "date": "2025-09-11", + "value": 44.3 + }, + { + "date": "2025-09-17", + "value": 27.9 + }, + { + "date": "2025-09-23", + "value": 32.0 + }, + { + "date": "2025-09-29", + "value": 34.4 + }, + { + "date": "2025-10-06", + "value": 50.0 + }, + { + "date": "2025-10-12", + "value": 33.6 + }, + { + "date": "2025-10-18", + "value": 37.7 + }, + { + "date": "2025-10-24", + "value": 40.2 + }, + { + "date": "2025-10-30", + "value": 43.5 + }, + { + "date": "2025-11-04", + "value": 29.5 + }, + { + "date": "2025-11-10", + "value": 33.6 + }, + { + "date": "2025-11-16", + "value": 36.1 + }, + { + "date": "2025-11-22", + "value": 39.4 + }, + { + "date": "2025-11-28", + "value": 42.6 + }, + { + "date": "2025-12-05", + "value": 29.5 + }, + { + "date": "2025-12-11", + "value": 32.0 + }, + { + "date": "2025-12-17", + "value": 35.3 + }, + { + "date": "2025-12-23", + "value": 38.5 + }, + { + "date": "2025-12-29", + "value": 41.8 + }, + { + "date": "2026-01-06", + "value": 38.5 + }, + { + "date": "2026-01-12", + "value": 41.0 + }, + { + "date": "2026-01-18", + "value": 44.3 + }, + { + "date": "2026-01-24", + "value": 47.6 + }, + { + "date": "2026-01-30", + "value": 32.0 + }, + { + "date": "2026-02-04", + "value": 36.9 + }, + { + "date": "2026-02-10", + "value": 40.2 + }, + { + "date": "2026-02-16", + "value": 44.3 + }, + { + "date": "2026-02-22", + "value": 27.9 + }, + { + "date": "2026-02-28", + "value": 32.0 + }, + { + "date": "2026-03-05", + "value": 45.9 + }, + { + "date": "2026-03-11", + "value": 50.0 + }, + { + "date": "2026-03-17", + "value": 33.6 + }, + { + "date": "2026-03-23", + "value": 37.7 + }, + { + "date": "2026-03-29", + "value": 40.2 + }, + { + "date": "2026-04-06", + "value": 45.9 + }, + { + "date": "2026-04-12", + "value": 29.5 + }, + { + "date": "2026-04-18", + "value": 33.6 + }, + { + "date": "2026-04-24", + "value": 36.1 + }, + { + "date": "2026-04-30", + "value": 39.4 + }, + { + "date": "2026-05-04", + "value": 26.2 + }, + { + "date": "2026-05-10", + "value": 29.5 + }, + { + "date": "2026-05-16", + "value": 32.0 + }, + { + "date": "2026-05-22", + "value": 35.3 + }, + { + "date": "2026-05-28", + "value": 38.5 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 31.4, + "median": 28.7, + "p10": 17.5, + "p25": 21.7, + "p75": 39.8, + "p90": 46.4, + "n": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "mean": 44.1, + "median": 39.8, + "p10": 27.6, + "p25": 32.0, + "p75": 51.9, + "p90": 64.0, + "n": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "mean": 39.6, + "median": 39.4, + "p10": 24.3, + "p25": 29.9, + "p75": 49.2, + "p90": 55.1, + "n": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "mean": 45.1, + "median": 45.1, + "p10": 18.9, + "p25": 28.7, + "p75": 61.5, + "p90": 71.3, + "n": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "mean": 49.2, + "median": 36.9, + "p10": 23.3, + "p25": 31.2, + "p75": 53.3, + "p90": 85.3, + "n": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "mean": 36.5, + "median": 38.9, + "p10": 12.7, + "p25": 25.7, + "p75": 49.9, + "p90": 58.3, + "n": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "mean": 44.5, + "median": 41.0, + "p10": 26.6, + "p25": 32.0, + "p75": 55.3, + "p90": 64.0, + "n": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "mean": 56.9, + "median": 55.8, + "p10": 30.5, + "p25": 36.9, + "p75": 75.4, + "p90": 84.3, + "n": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "mean": 31.8, + "median": 31.6, + "p10": 20.1, + "p25": 25.7, + "p75": 37.7, + "p90": 43.6, + "n": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "mean": 38.2, + "median": 39.4, + "p10": 18.4, + "p25": 31.2, + "p75": 49.2, + "p90": 56.6, + "n": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "mean": 35.8, + "median": 34.4, + "p10": 29.5, + "p25": 32.0, + "p75": 40.2, + "p90": 42.6, + "n": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "mean": 41.0, + "median": 40.2, + "p10": 35.3, + "p25": 37.7, + "p75": 43.5, + "p90": 47.4, + "n": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "mean": 36.2, + "median": 36.1, + "p10": 31.2, + "p25": 33.6, + "p75": 39.4, + "p90": 41.3, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "mean": 35.4, + "median": 35.3, + "p10": 30.5, + "p25": 32.0, + "p75": 38.5, + "p90": 40.5, + "n": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "mean": 40.7, + "median": 41.0, + "p10": 34.6, + "p25": 38.5, + "p75": 44.3, + "p90": 46.2, + "n": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "mean": 36.2, + "median": 36.9, + "p10": 29.5, + "p25": 32.0, + "p75": 40.2, + "p90": 42.6, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "mean": 41.5, + "median": 40.2, + "p10": 35.3, + "p25": 37.7, + "p75": 45.9, + "p90": 48.4, + "n": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "mean": 36.9, + "median": 36.1, + "p10": 31.2, + "p25": 33.6, + "p75": 39.4, + "p90": 43.3, + "n": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "mean": 32.3, + "median": 32.0, + "p10": 27.6, + "p25": 29.5, + "p75": 35.3, + "p90": 37.2, + "n": 5, + "total_kg_days": 827400.0 + } + ], + "stats": { + "n": 83, + "mean": 39.6, + "median": 37.7, + "std": 19.8, + "min": 4.1, + "max": 106.6, + "p25": 31.2, + "p75": 44.3, + "p85": 50.0, + "p95": 69.7 + }, + "plifz": 30, + "plifz_note": null, + "pct_exceeding_plifz": 89.2, + "annotations": [ + { + "date": "2023-09-01", + "label": "Supplier change for Highland Arabica" + } + ], + "cost": { + "unit_price": 2.624, + "currency": "CHF", + "mean_qty": 4200.0, + "monthly": [ + { + "month": "2022-04", + "n_events": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "n_events": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "n_events": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "n_events": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "n_events": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "n_events": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "n_events": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "n_events": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "n_events": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "n_events": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 827400.0 + } + ] + }, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": 38, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/raw_dwell_lowland_robusta.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/raw_dwell_lowland_robusta.json new file mode 100644 index 00000000000..4e38e79647d --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/raw_dwell_lowland_robusta.json @@ -0,0 +1,563 @@ +{ + "id": "raw_dwell_lowland_robusta", + "label": "Raw Material Dwell: Lowland Robusta", + "type": "raw_material_dwell", + "durations": [ + 23.0, 36.9, 9.8, 50.8, 27.1, 64.0, 16.4, 45.1, 6.6, 34.4, 53.3, 31.2, 12.3, + 59.0, 20.5, 39.4, 2.5, 69.7, 24.6, 45.1, 18.0, 32.8, 80.4, 14.8, 32.0, 33.6, + 36.9, 24.6, 27.9, 31.2, 33.6, 22.1, 24.6, 26.2, 31.2, 18.9, 22.1, 23.8, + 26.2, 23.0, 26.2, 27.9, 30.3, 32.8, 23.0, 25.4, 27.1, 29.5, 32.0, 29.5, + 32.0, 33.6, 36.9, 24.6, 28.7, 31.2, 33.6, 22.1, 24.6, 27.9, 31.2, 18.9, + 22.1, 23.8, 35.3, 23.0, 26.2, 27.9, 30.3 + ], + "observations": [ + { + "date": "2022-05-02", + "value": 23.0 + }, + { + "date": "2022-05-10", + "value": 36.9 + }, + { + "date": "2022-05-18", + "value": 9.8 + }, + { + "date": "2022-05-25", + "value": 50.8 + }, + { + "date": "2023-02-06", + "value": 27.1 + }, + { + "date": "2023-02-14", + "value": 64.0 + }, + { + "date": "2023-02-22", + "value": 16.4 + }, + { + "date": "2023-02-28", + "value": 45.1 + }, + { + "date": "2023-09-05", + "value": 6.6 + }, + { + "date": "2023-09-15", + "value": 34.4 + }, + { + "date": "2023-09-25", + "value": 53.3 + }, + { + "date": "2024-04-03", + "value": 31.2 + }, + { + "date": "2024-04-10", + "value": 12.3 + }, + { + "date": "2024-04-17", + "value": 59.0 + }, + { + "date": "2024-04-24", + "value": 20.5 + }, + { + "date": "2024-10-02", + "value": 39.4 + }, + { + "date": "2024-10-09", + "value": 2.5 + }, + { + "date": "2024-10-16", + "value": 69.7 + }, + { + "date": "2024-10-23", + "value": 24.6 + }, + { + "date": "2024-10-30", + "value": 45.1 + }, + { + "date": "2025-04-07", + "value": 18.0 + }, + { + "date": "2025-04-14", + "value": 32.8 + }, + { + "date": "2025-04-21", + "value": 80.4 + }, + { + "date": "2025-04-28", + "value": 14.8 + }, + { + "date": "2025-09-04", + "value": 32.0 + }, + { + "date": "2025-09-10", + "value": 33.6 + }, + { + "date": "2025-09-16", + "value": 36.9 + }, + { + "date": "2025-09-22", + "value": 24.6 + }, + { + "date": "2025-09-28", + "value": 27.9 + }, + { + "date": "2025-10-05", + "value": 31.2 + }, + { + "date": "2025-10-11", + "value": 33.6 + }, + { + "date": "2025-10-17", + "value": 22.1 + }, + { + "date": "2025-10-23", + "value": 24.6 + }, + { + "date": "2025-10-29", + "value": 26.2 + }, + { + "date": "2025-11-06", + "value": 31.2 + }, + { + "date": "2025-11-12", + "value": 18.9 + }, + { + "date": "2025-11-18", + "value": 22.1 + }, + { + "date": "2025-11-24", + "value": 23.8 + }, + { + "date": "2025-11-30", + "value": 26.2 + }, + { + "date": "2025-12-04", + "value": 23.0 + }, + { + "date": "2025-12-10", + "value": 26.2 + }, + { + "date": "2025-12-16", + "value": 27.9 + }, + { + "date": "2025-12-22", + "value": 30.3 + }, + { + "date": "2025-12-28", + "value": 32.8 + }, + { + "date": "2026-01-05", + "value": 23.0 + }, + { + "date": "2026-01-11", + "value": 25.4 + }, + { + "date": "2026-01-17", + "value": 27.1 + }, + { + "date": "2026-01-23", + "value": 29.5 + }, + { + "date": "2026-01-29", + "value": 32.0 + }, + { + "date": "2026-02-06", + "value": 29.5 + }, + { + "date": "2026-02-12", + "value": 32.0 + }, + { + "date": "2026-02-18", + "value": 33.6 + }, + { + "date": "2026-02-24", + "value": 36.9 + }, + { + "date": "2026-02-30", + "value": 24.6 + }, + { + "date": "2026-03-04", + "value": 28.7 + }, + { + "date": "2026-03-10", + "value": 31.2 + }, + { + "date": "2026-03-16", + "value": 33.6 + }, + { + "date": "2026-03-22", + "value": 22.1 + }, + { + "date": "2026-03-28", + "value": 24.6 + }, + { + "date": "2026-04-05", + "value": 27.9 + }, + { + "date": "2026-04-11", + "value": 31.2 + }, + { + "date": "2026-04-17", + "value": 18.9 + }, + { + "date": "2026-04-23", + "value": 22.1 + }, + { + "date": "2026-04-29", + "value": 23.8 + }, + { + "date": "2026-05-06", + "value": 35.3 + }, + { + "date": "2026-05-12", + "value": 23.0 + }, + { + "date": "2026-05-18", + "value": 26.2 + }, + { + "date": "2026-05-24", + "value": 27.9 + }, + { + "date": "2026-05-30", + "value": 30.3 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 30.2, + "median": 29.9, + "p10": 13.8, + "p25": 19.7, + "p75": 40.4, + "p90": 46.7, + "n": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "mean": 38.1, + "median": 36.1, + "p10": 19.6, + "p25": 24.4, + "p75": 49.9, + "p90": 58.3, + "n": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "mean": 31.4, + "median": 34.4, + "p10": 12.1, + "p25": 20.5, + "p75": 43.9, + "p90": 49.5, + "n": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "mean": 30.7, + "median": 25.8, + "p10": 14.8, + "p25": 18.4, + "p75": 38.1, + "p90": 50.7, + "n": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "mean": 36.2, + "median": 39.4, + "p10": 11.3, + "p25": 24.6, + "p75": 45.1, + "p90": 59.9, + "n": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "mean": 36.5, + "median": 25.4, + "p10": 15.7, + "p25": 17.2, + "p75": 44.7, + "p90": 66.1, + "n": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "mean": 31.0, + "median": 32.0, + "p10": 25.9, + "p25": 27.9, + "p75": 33.6, + "p90": 35.6, + "n": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "mean": 27.6, + "median": 26.2, + "p10": 23.1, + "p25": 24.6, + "p75": 31.2, + "p90": 32.6, + "n": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "mean": 24.4, + "median": 23.8, + "p10": 20.2, + "p25": 22.1, + "p75": 26.2, + "p90": 29.2, + "n": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "mean": 28.0, + "median": 27.9, + "p10": 24.3, + "p25": 26.2, + "p75": 30.3, + "p90": 31.8, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "mean": 27.4, + "median": 27.1, + "p10": 23.9, + "p25": 25.4, + "p75": 29.5, + "p90": 31.0, + "n": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "mean": 31.3, + "median": 32.0, + "p10": 26.6, + "p25": 29.5, + "p75": 33.6, + "p90": 35.6, + "n": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "mean": 28.0, + "median": 28.7, + "p10": 23.1, + "p25": 24.6, + "p75": 31.2, + "p90": 32.6, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "mean": 24.8, + "median": 23.8, + "p10": 20.2, + "p25": 22.1, + "p75": 27.9, + "p90": 29.8, + "n": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "mean": 28.5, + "median": 27.9, + "p10": 24.3, + "p25": 26.2, + "p75": 30.3, + "p90": 33.3, + "n": 5, + "total_kg_days": 1131000.0 + } + ], + "stats": { + "n": 69, + "mean": 30.0, + "median": 27.9, + "std": 15.8, + "min": 2.5, + "max": 80.4, + "p25": 23.0, + "p75": 33.6, + "p85": 36.9, + "p95": 53.3 + }, + "plifz": 21, + "plifz_note": null, + "pct_exceeding_plifz": 91.3, + "annotations": [], + "cost": { + "unit_price": 1.476, + "currency": "CHF", + "mean_qty": 6500.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "n_events": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "n_events": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "n_events": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "n_events": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "n_events": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 1131000.0 + } + ] + }, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": 42, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/raw_dwell_washed_bourbon.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/raw_dwell_washed_bourbon.json new file mode 100644 index 00000000000..6cc30100aba --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/raw_dwell_washed_bourbon.json @@ -0,0 +1,567 @@ +{ + "id": "raw_dwell_washed_bourbon", + "label": "Raw Material Dwell: Washed Bourbon", + "type": "raw_material_dwell", + "durations": [ + 32.8, 18.0, 55.8, 3.3, 45.1, 94.3, 24.6, 50.8, 14.8, 69.7, 28.7, 59.0, 8.2, + 39.4, 77.9, 23.0, 42.6, 12.3, 64.0, 34.4, 6.6, 53.3, 27.1, 82.0, 16.4, 33.6, + 36.9, 39.4, 42.6, 27.9, 32.8, 36.1, 39.4, 24.6, 27.9, 41.0, 44.3, 29.5, + 33.6, 36.1, 41.0, 26.2, 29.5, 32.0, 35.3, 23.0, 26.2, 28.7, 31.2, 34.4, + 32.0, 33.6, 36.9, 39.4, 42.6, 30.3, 32.8, 36.1, 39.4, 24.6, 38.5, 41.0, + 44.3, 29.5, 33.6, 37.7, 41.0, 26.2, 29.5, 32.0 + ], + "observations": [ + { + "date": "2022-06-05", + "value": 32.8 + }, + { + "date": "2022-06-15", + "value": 18.0 + }, + { + "date": "2022-06-25", + "value": 55.8 + }, + { + "date": "2023-03-08", + "value": 3.3 + }, + { + "date": "2023-03-15", + "value": 45.1 + }, + { + "date": "2023-03-22", + "value": 94.3 + }, + { + "date": "2023-03-29", + "value": 24.6 + }, + { + "date": "2023-11-06", + "value": 50.8 + }, + { + "date": "2023-11-13", + "value": 14.8 + }, + { + "date": "2023-11-20", + "value": 69.7 + }, + { + "date": "2024-06-03", + "value": 28.7 + }, + { + "date": "2024-06-10", + "value": 59.0 + }, + { + "date": "2024-06-17", + "value": 8.2 + }, + { + "date": "2024-06-24", + "value": 39.4 + }, + { + "date": "2024-06-30", + "value": 77.9 + }, + { + "date": "2025-01-07", + "value": 23.0 + }, + { + "date": "2025-01-14", + "value": 42.6 + }, + { + "date": "2025-01-21", + "value": 12.3 + }, + { + "date": "2025-01-28", + "value": 64.0 + }, + { + "date": "2025-08-04", + "value": 34.4 + }, + { + "date": "2025-08-08", + "value": 6.6 + }, + { + "date": "2025-08-12", + "value": 53.3 + }, + { + "date": "2025-08-16", + "value": 27.1 + }, + { + "date": "2025-08-20", + "value": 82.0 + }, + { + "date": "2025-08-24", + "value": 16.4 + }, + { + "date": "2025-09-06", + "value": 33.6 + }, + { + "date": "2025-09-12", + "value": 36.9 + }, + { + "date": "2025-09-18", + "value": 39.4 + }, + { + "date": "2025-09-24", + "value": 42.6 + }, + { + "date": "2025-09-30", + "value": 27.9 + }, + { + "date": "2025-10-04", + "value": 32.8 + }, + { + "date": "2025-10-10", + "value": 36.1 + }, + { + "date": "2025-10-16", + "value": 39.4 + }, + { + "date": "2025-10-22", + "value": 24.6 + }, + { + "date": "2025-10-28", + "value": 27.9 + }, + { + "date": "2025-11-05", + "value": 41.0 + }, + { + "date": "2025-11-11", + "value": 44.3 + }, + { + "date": "2025-11-17", + "value": 29.5 + }, + { + "date": "2025-11-23", + "value": 33.6 + }, + { + "date": "2025-11-29", + "value": 36.1 + }, + { + "date": "2025-12-06", + "value": 41.0 + }, + { + "date": "2025-12-12", + "value": 26.2 + }, + { + "date": "2025-12-18", + "value": 29.5 + }, + { + "date": "2025-12-24", + "value": 32.0 + }, + { + "date": "2025-12-30", + "value": 35.3 + }, + { + "date": "2026-01-04", + "value": 23.0 + }, + { + "date": "2026-01-10", + "value": 26.2 + }, + { + "date": "2026-01-16", + "value": 28.7 + }, + { + "date": "2026-01-22", + "value": 31.2 + }, + { + "date": "2026-01-28", + "value": 34.4 + }, + { + "date": "2026-02-05", + "value": 32.0 + }, + { + "date": "2026-02-11", + "value": 33.6 + }, + { + "date": "2026-02-17", + "value": 36.9 + }, + { + "date": "2026-02-23", + "value": 39.4 + }, + { + "date": "2026-02-29", + "value": 42.6 + }, + { + "date": "2026-03-06", + "value": 30.3 + }, + { + "date": "2026-03-12", + "value": 32.8 + }, + { + "date": "2026-03-18", + "value": 36.1 + }, + { + "date": "2026-03-24", + "value": 39.4 + }, + { + "date": "2026-03-30", + "value": 24.6 + }, + { + "date": "2026-04-04", + "value": 38.5 + }, + { + "date": "2026-04-10", + "value": 41.0 + }, + { + "date": "2026-04-16", + "value": 44.3 + }, + { + "date": "2026-04-22", + "value": 29.5 + }, + { + "date": "2026-04-28", + "value": 33.6 + }, + { + "date": "2026-05-05", + "value": 37.7 + }, + { + "date": "2026-05-11", + "value": 41.0 + }, + { + "date": "2026-05-17", + "value": 26.2 + }, + { + "date": "2026-05-23", + "value": 29.5 + }, + { + "date": "2026-05-29", + "value": 32.0 + } + ], + "monthly": [ + { + "month": "2022-06", + "mean": 35.5, + "median": 32.8, + "p10": 21.0, + "p25": 25.4, + "p75": 44.3, + "p90": 51.2, + "n": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "mean": 41.8, + "median": 34.9, + "p10": 9.7, + "p25": 19.3, + "p75": 57.4, + "p90": 79.5, + "n": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "mean": 45.1, + "median": 50.8, + "p10": 22.0, + "p25": 32.8, + "p75": 60.3, + "p90": 65.9, + "n": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "mean": 42.6, + "median": 39.4, + "p10": 16.4, + "p25": 28.7, + "p75": 59.0, + "p90": 70.4, + "n": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "mean": 35.5, + "median": 32.8, + "p10": 15.5, + "p25": 20.3, + "p75": 48.0, + "p90": 57.6, + "n": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "mean": 36.7, + "median": 30.7, + "p10": 11.5, + "p25": 19.1, + "p75": 48.6, + "p90": 67.6, + "n": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "mean": 36.1, + "median": 36.9, + "p10": 30.2, + "p25": 33.6, + "p75": 39.4, + "p90": 41.3, + "n": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "mean": 32.1, + "median": 32.8, + "p10": 25.9, + "p25": 27.9, + "p75": 36.1, + "p90": 38.0, + "n": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "mean": 36.9, + "median": 36.1, + "p10": 31.2, + "p25": 33.6, + "p75": 41.0, + "p90": 43.0, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "mean": 32.8, + "median": 32.0, + "p10": 27.6, + "p25": 29.5, + "p75": 35.3, + "p90": 38.7, + "n": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "mean": 28.7, + "median": 28.7, + "p10": 24.3, + "p25": 26.2, + "p75": 31.2, + "p90": 33.1, + "n": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "mean": 36.9, + "median": 36.9, + "p10": 32.6, + "p25": 33.6, + "p75": 39.4, + "p90": 41.3, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "mean": 32.6, + "median": 32.8, + "p10": 26.9, + "p25": 30.3, + "p75": 36.1, + "p90": 38.0, + "n": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "mean": 37.4, + "median": 38.5, + "p10": 31.2, + "p25": 33.6, + "p75": 41.0, + "p90": 43.0, + "n": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "mean": 33.3, + "median": 32.0, + "p10": 27.6, + "p25": 29.5, + "p75": 37.7, + "p90": 39.7, + "n": 5, + "total_kg_days": 568400.0 + } + ], + "stats": { + "n": 70, + "mean": 36.0, + "median": 33.6, + "std": 19.1, + "min": 3.3, + "max": 94.3, + "p25": 27.9, + "p75": 41.0, + "p85": 44.3, + "p95": 64.0 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 95.7, + "annotations": [], + "cost": { + "unit_price": 4.51, + "currency": "CHF", + "mean_qty": 2800.0, + "monthly": [ + { + "month": "2022-06", + "n_events": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "n_events": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "n_events": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "n_events": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "n_events": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "n_events": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 568400.0 + } + ] + }, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": 25, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/transit_pla_hub1.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/transit_pla_hub1.json new file mode 100644 index 00000000000..b98d937052b --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/riverside-decaf/steps/transit_pla_hub1.json @@ -0,0 +1,437 @@ +{ + "id": "transit_pla_hub1", + "label": "Transit PL-A \u2192 HUB-1", + "type": "transit", + "durations": [ + 23.0, 28.7, 18.0, 34.4, 24.6, 45.1, 20.5, 31.2, 12.3, 26.2, 23.0, 36.9, + 24.6, 18.0, 29.5, 31.2, 32.0, 21.3, 29.5, 18.9, 21.3, 22.1, 25.4, 27.1, + 22.1, 23.8, 26.2, 21.3, 23.8, 25.4, 27.1, 29.5, 32.0, 27.1, 29.5, 18.9, + 32.8, 22.1, 25.4, 19.7, 22.1, 23.8 + ], + "observations": [ + { + "date": "2022-07-20", + "value": 23.0 + }, + { + "date": "2022-11-30", + "value": 28.7 + }, + { + "date": "2023-03-15", + "value": 18.0 + }, + { + "date": "2023-07-10", + "value": 34.4 + }, + { + "date": "2023-10-25", + "value": 24.6 + }, + { + "date": "2024-02-08", + "value": 45.1 + }, + { + "date": "2024-05-20", + "value": 20.5 + }, + { + "date": "2024-08-12", + "value": 31.2 + }, + { + "date": "2024-11-05", + "value": 12.3 + }, + { + "date": "2025-01-22", + "value": 26.2 + }, + { + "date": "2025-04-10", + "value": 23.0 + }, + { + "date": "2025-06-18", + "value": 36.9 + }, + { + "date": "2025-07-15", + "value": 24.6 + }, + { + "date": "2025-08-05", + "value": 18.0 + }, + { + "date": "2025-09-05", + "value": 29.5 + }, + { + "date": "2025-09-10", + "value": 31.2 + }, + { + "date": "2025-09-11", + "value": 32.0 + }, + { + "date": "2025-09-17", + "value": 21.3 + }, + { + "date": "2025-10-06", + "value": 29.5 + }, + { + "date": "2025-10-12", + "value": 18.9 + }, + { + "date": "2025-10-18", + "value": 21.3 + }, + { + "date": "2025-11-04", + "value": 22.1 + }, + { + "date": "2025-11-10", + "value": 25.4 + }, + { + "date": "2025-11-16", + "value": 27.1 + }, + { + "date": "2025-12-05", + "value": 22.1 + }, + { + "date": "2025-12-11", + "value": 23.8 + }, + { + "date": "2025-12-17", + "value": 26.2 + }, + { + "date": "2026-01-06", + "value": 21.3 + }, + { + "date": "2026-01-12", + "value": 23.8 + }, + { + "date": "2026-01-18", + "value": 25.4 + }, + { + "date": "2026-02-04", + "value": 27.1 + }, + { + "date": "2026-02-10", + "value": 29.5 + }, + { + "date": "2026-02-16", + "value": 32.0 + }, + { + "date": "2026-03-05", + "value": 27.1 + }, + { + "date": "2026-03-11", + "value": 29.5 + }, + { + "date": "2026-03-17", + "value": 18.9 + }, + { + "date": "2026-04-06", + "value": 32.8 + }, + { + "date": "2026-04-12", + "value": 22.1 + }, + { + "date": "2026-04-18", + "value": 25.4 + }, + { + "date": "2026-05-04", + "value": 19.7 + }, + { + "date": "2026-05-10", + "value": 22.1 + }, + { + "date": "2026-05-16", + "value": 23.8 + } + ], + "monthly": [ + { + "month": "2022-07", + "mean": 23.0, + "median": 23.0, + "p10": 23.0, + "p25": 23.0, + "p75": 23.0, + "p90": 23.0, + "n": 1 + }, + { + "month": "2022-11", + "mean": 28.7, + "median": 28.7, + "p10": 28.7, + "p25": 28.7, + "p75": 28.7, + "p90": 28.7, + "n": 1 + }, + { + "month": "2023-03", + "mean": 18.0, + "median": 18.0, + "p10": 18.0, + "p25": 18.0, + "p75": 18.0, + "p90": 18.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 34.4, + "median": 34.4, + "p10": 34.4, + "p25": 34.4, + "p75": 34.4, + "p90": 34.4, + "n": 1 + }, + { + "month": "2023-10", + "mean": 24.6, + "median": 24.6, + "p10": 24.6, + "p25": 24.6, + "p75": 24.6, + "p90": 24.6, + "n": 1 + }, + { + "month": "2024-02", + "mean": 45.1, + "median": 45.1, + "p10": 45.1, + "p25": 45.1, + "p75": 45.1, + "p90": 45.1, + "n": 1 + }, + { + "month": "2024-05", + "mean": 20.5, + "median": 20.5, + "p10": 20.5, + "p25": 20.5, + "p75": 20.5, + "p90": 20.5, + "n": 1 + }, + { + "month": "2024-08", + "mean": 31.2, + "median": 31.2, + "p10": 31.2, + "p25": 31.2, + "p75": 31.2, + "p90": 31.2, + "n": 1 + }, + { + "month": "2024-11", + "mean": 12.3, + "median": 12.3, + "p10": 12.3, + "p25": 12.3, + "p75": 12.3, + "p90": 12.3, + "n": 1 + }, + { + "month": "2025-01", + "mean": 26.2, + "median": 26.2, + "p10": 26.2, + "p25": 26.2, + "p75": 26.2, + "p90": 26.2, + "n": 1 + }, + { + "month": "2025-04", + "mean": 23.0, + "median": 23.0, + "p10": 23.0, + "p25": 23.0, + "p75": 23.0, + "p90": 23.0, + "n": 1 + }, + { + "month": "2025-06", + "mean": 36.9, + "median": 36.9, + "p10": 36.9, + "p25": 36.9, + "p75": 36.9, + "p90": 36.9, + "n": 1 + }, + { + "month": "2025-07", + "mean": 24.6, + "median": 24.6, + "p10": 24.6, + "p25": 24.6, + "p75": 24.6, + "p90": 24.6, + "n": 1 + }, + { + "month": "2025-08", + "mean": 18.0, + "median": 18.0, + "p10": 18.0, + "p25": 18.0, + "p75": 18.0, + "p90": 18.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 28.5, + "median": 30.3, + "p10": 23.8, + "p25": 27.5, + "p75": 31.4, + "p90": 31.7, + "n": 4 + }, + { + "month": "2025-10", + "mean": 23.2, + "median": 21.3, + "p10": 19.4, + "p25": 20.1, + "p75": 25.4, + "p90": 27.9, + "n": 3 + }, + { + "month": "2025-11", + "mean": 24.8, + "median": 25.4, + "p10": 22.8, + "p25": 23.8, + "p75": 26.2, + "p90": 26.7, + "n": 3 + }, + { + "month": "2025-12", + "mean": 24.0, + "median": 23.8, + "p10": 22.5, + "p25": 23.0, + "p75": 25.0, + "p90": 25.7, + "n": 3 + }, + { + "month": "2026-01", + "mean": 23.5, + "median": 23.8, + "p10": 21.8, + "p25": 22.5, + "p75": 24.6, + "p90": 25.1, + "n": 3 + }, + { + "month": "2026-02", + "mean": 29.5, + "median": 29.5, + "p10": 27.6, + "p25": 28.3, + "p75": 30.7, + "p90": 31.5, + "n": 3 + }, + { + "month": "2026-03", + "mean": 25.2, + "median": 27.1, + "p10": 20.5, + "p25": 23.0, + "p75": 28.3, + "p90": 29.0, + "n": 3 + }, + { + "month": "2026-04", + "mean": 26.8, + "median": 25.4, + "p10": 22.8, + "p25": 23.8, + "p75": 29.1, + "p90": 31.3, + "n": 3 + }, + { + "month": "2026-05", + "mean": 21.9, + "median": 22.1, + "p10": 20.2, + "p25": 20.9, + "p75": 23.0, + "p90": 23.5, + "n": 3 + } + ], + "stats": { + "n": 42, + "mean": 25.7, + "median": 24.6, + "std": 7.1, + "min": 12.3, + "max": 45.1, + "p25": 22.1, + "p75": 29.5, + "p85": 31.2, + "p95": 32.8 + }, + "plifz": 28, + "plifz_note": null, + "pct_exceeding_plifz": 61.9, + "annotations": [], + "cost": null, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": 15, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/site/harbor-roastery/summary.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/site/harbor-roastery/summary.json new file mode 100644 index 00000000000..c249c987fc8 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/site/harbor-roastery/summary.json @@ -0,0 +1,29435 @@ +{ + "schema_version": "1.0", + "site_id": "harbor-roastery", + "generated_at": "2026-06-17T16:40:29Z", + "products": [ + { + "id": "harbor-dark-roast", + "name": "Harbor Dark Roast", + "nodes": [ + { + "id": "procurement_highland_arabica", + "label": "Procurement: Highland Arabica", + "type": "procurement", + "material": "90000100001", + "plant": "PL-A", + "stats": { + "n": 59, + "mean": 40.2, + "median": 40.0, + "std": 13.3, + "min": 8, + "max": 105, + "p25": 35.0, + "p75": 45.0, + "p85": 48.0, + "p95": 55.8 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 98.3, + "cost": null, + "observations": [ + { + "date": "2022-03-15", + "value": 55 + }, + { + "date": "2022-06-10", + "value": 42 + }, + { + "date": "2022-09-22", + "value": 8 + }, + { + "date": "2022-12-05", + "value": 63 + }, + { + "date": "2023-02-14", + "value": 38 + }, + { + "date": "2023-05-30", + "value": 22 + }, + { + "date": "2023-08-17", + "value": 71 + }, + { + "date": "2023-11-02", + "value": 30 + }, + { + "date": "2024-01-25", + "value": 45 + }, + { + "date": "2024-04-11", + "value": 18 + }, + { + "date": "2024-07-09", + "value": 105 + }, + { + "date": "2024-10-03", + "value": 35 + }, + { + "date": "2025-01-20", + "value": 12 + }, + { + "date": "2025-04-08", + "value": 48 + }, + { + "date": "2025-09-05", + "value": 39 + }, + { + "date": "2025-09-11", + "value": 41 + }, + { + "date": "2025-09-17", + "value": 44 + }, + { + "date": "2025-09-23", + "value": 48 + }, + { + "date": "2025-09-29", + "value": 51 + }, + { + "date": "2025-10-06", + "value": 37 + }, + { + "date": "2025-10-12", + "value": 40 + }, + { + "date": "2025-10-18", + "value": 44 + }, + { + "date": "2025-10-24", + "value": 47 + }, + { + "date": "2025-10-30", + "value": 31 + }, + { + "date": "2025-11-04", + "value": 36 + }, + { + "date": "2025-11-10", + "value": 40 + }, + { + "date": "2025-11-16", + "value": 43 + }, + { + "date": "2025-11-22", + "value": 27 + }, + { + "date": "2025-11-28", + "value": 31 + }, + { + "date": "2025-12-05", + "value": 46 + }, + { + "date": "2025-12-11", + "value": 49 + }, + { + "date": "2025-12-17", + "value": 33 + }, + { + "date": "2025-12-23", + "value": 37 + }, + { + "date": "2025-12-29", + "value": 39 + }, + { + "date": "2026-01-06", + "value": 45 + }, + { + "date": "2026-01-12", + "value": 29 + }, + { + "date": "2026-01-18", + "value": 33 + }, + { + "date": "2026-01-24", + "value": 35 + }, + { + "date": "2026-01-30", + "value": 38 + }, + { + "date": "2026-02-04", + "value": 35 + }, + { + "date": "2026-02-10", + "value": 39 + }, + { + "date": "2026-02-16", + "value": 41 + }, + { + "date": "2026-02-22", + "value": 44 + }, + { + "date": "2026-02-28", + "value": 48 + }, + { + "date": "2026-03-05", + "value": 35 + }, + { + "date": "2026-03-11", + "value": 37 + }, + { + "date": "2026-03-17", + "value": 40 + }, + { + "date": "2026-03-23", + "value": 44 + }, + { + "date": "2026-03-29", + "value": 47 + }, + { + "date": "2026-04-06", + "value": 33 + }, + { + "date": "2026-04-12", + "value": 36 + }, + { + "date": "2026-04-18", + "value": 40 + }, + { + "date": "2026-04-24", + "value": 43 + }, + { + "date": "2026-04-30", + "value": 27 + }, + { + "date": "2026-05-04", + "value": 42 + }, + { + "date": "2026-05-10", + "value": 46 + }, + { + "date": "2026-05-16", + "value": 49 + }, + { + "date": "2026-05-22", + "value": 33 + }, + { + "date": "2026-05-28", + "value": 37 + } + ], + "monthly": [ + { + "month": "2022-03", + "mean": 55.0, + "median": 55.0, + "p10": 55.0, + "p25": 55.0, + "p75": 55.0, + "p90": 55.0, + "n": 1 + }, + { + "month": "2022-06", + "mean": 42.0, + "median": 42.0, + "p10": 42.0, + "p25": 42.0, + "p75": 42.0, + "p90": 42.0, + "n": 1 + }, + { + "month": "2022-09", + "mean": 8.0, + "median": 8.0, + "p10": 8.0, + "p25": 8.0, + "p75": 8.0, + "p90": 8.0, + "n": 1 + }, + { + "month": "2022-12", + "mean": 63.0, + "median": 63.0, + "p10": 63.0, + "p25": 63.0, + "p75": 63.0, + "p90": 63.0, + "n": 1 + }, + { + "month": "2023-02", + "mean": 38.0, + "median": 38.0, + "p10": 38.0, + "p25": 38.0, + "p75": 38.0, + "p90": 38.0, + "n": 1 + }, + { + "month": "2023-05", + "mean": 22.0, + "median": 22.0, + "p10": 22.0, + "p25": 22.0, + "p75": 22.0, + "p90": 22.0, + "n": 1 + }, + { + "month": "2023-08", + "mean": 71.0, + "median": 71.0, + "p10": 71.0, + "p25": 71.0, + "p75": 71.0, + "p90": 71.0, + "n": 1 + }, + { + "month": "2023-11", + "mean": 30.0, + "median": 30.0, + "p10": 30.0, + "p25": 30.0, + "p75": 30.0, + "p90": 30.0, + "n": 1 + }, + { + "month": "2024-01", + "mean": 45.0, + "median": 45.0, + "p10": 45.0, + "p25": 45.0, + "p75": 45.0, + "p90": 45.0, + "n": 1 + }, + { + "month": "2024-04", + "mean": 18.0, + "median": 18.0, + "p10": 18.0, + "p25": 18.0, + "p75": 18.0, + "p90": 18.0, + "n": 1 + }, + { + "month": "2024-07", + "mean": 105.0, + "median": 105.0, + "p10": 105.0, + "p25": 105.0, + "p75": 105.0, + "p90": 105.0, + "n": 1 + }, + { + "month": "2024-10", + "mean": 35.0, + "median": 35.0, + "p10": 35.0, + "p25": 35.0, + "p75": 35.0, + "p90": 35.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 12.0, + "median": 12.0, + "p10": 12.0, + "p25": 12.0, + "p75": 12.0, + "p90": 12.0, + "n": 1 + }, + { + "month": "2025-04", + "mean": 48.0, + "median": 48.0, + "p10": 48.0, + "p25": 48.0, + "p75": 48.0, + "p90": 48.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 44.6, + "median": 44.0, + "p10": 39.8, + "p25": 41.0, + "p75": 48.0, + "p90": 49.8, + "n": 5 + }, + { + "month": "2025-10", + "mean": 39.8, + "median": 40.0, + "p10": 33.4, + "p25": 37.0, + "p75": 44.0, + "p90": 45.8, + "n": 5 + }, + { + "month": "2025-11", + "mean": 35.4, + "median": 36.0, + "p10": 28.6, + "p25": 31.0, + "p75": 40.0, + "p90": 41.8, + "n": 5 + }, + { + "month": "2025-12", + "mean": 40.8, + "median": 39.0, + "p10": 34.6, + "p25": 37.0, + "p75": 46.0, + "p90": 47.8, + "n": 5 + }, + { + "month": "2026-01", + "mean": 36.0, + "median": 35.0, + "p10": 30.6, + "p25": 33.0, + "p75": 38.0, + "p90": 42.2, + "n": 5 + }, + { + "month": "2026-02", + "mean": 41.4, + "median": 41.0, + "p10": 36.6, + "p25": 39.0, + "p75": 44.0, + "p90": 46.4, + "n": 5 + }, + { + "month": "2026-03", + "mean": 40.6, + "median": 40.0, + "p10": 35.8, + "p25": 37.0, + "p75": 44.0, + "p90": 45.8, + "n": 5 + }, + { + "month": "2026-04", + "mean": 35.8, + "median": 36.0, + "p10": 29.4, + "p25": 33.0, + "p75": 40.0, + "p90": 41.8, + "n": 5 + }, + { + "month": "2026-05", + "mean": 41.4, + "median": 42.0, + "p10": 34.6, + "p25": 37.0, + "p75": 46.0, + "p90": 47.8, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "procurement_lowland_robusta", + "label": "Procurement: Lowland Robusta", + "type": "procurement", + "material": "90000100002", + "plant": "PL-A", + "stats": { + "n": 63, + "mean": 33.4, + "median": 33.0, + "std": 11.4, + "min": 5, + "max": 82, + "p25": 28.0, + "p75": 38.0, + "p85": 40.7, + "p95": 51.6 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 96.8, + "cost": null, + "observations": [ + { + "date": "2022-02-08", + "value": 32 + }, + { + "date": "2022-04-19", + "value": 48 + }, + { + "date": "2022-07-11", + "value": 5 + }, + { + "date": "2022-09-28", + "value": 67 + }, + { + "date": "2022-12-15", + "value": 25 + }, + { + "date": "2023-03-07", + "value": 41 + }, + { + "date": "2023-05-22", + "value": 15 + }, + { + "date": "2023-08-09", + "value": 82 + }, + { + "date": "2023-10-30", + "value": 38 + }, + { + "date": "2024-01-16", + "value": 20 + }, + { + "date": "2024-03-25", + "value": 52 + }, + { + "date": "2024-06-12", + "value": 10 + }, + { + "date": "2024-08-28", + "value": 44 + }, + { + "date": "2024-11-14", + "value": 28 + }, + { + "date": "2025-01-06", + "value": 35 + }, + { + "date": "2025-03-18", + "value": 18 + }, + { + "date": "2025-05-29", + "value": 55 + }, + { + "date": "2025-08-12", + "value": 26 + }, + { + "date": "2025-09-04", + "value": 26 + }, + { + "date": "2025-09-10", + "value": 29 + }, + { + "date": "2025-09-16", + "value": 31 + }, + { + "date": "2025-09-22", + "value": 34 + }, + { + "date": "2025-09-28", + "value": 37 + }, + { + "date": "2025-10-05", + "value": 26 + }, + { + "date": "2025-10-11", + "value": 28 + }, + { + "date": "2025-10-17", + "value": 31 + }, + { + "date": "2025-10-23", + "value": 33 + }, + { + "date": "2025-10-29", + "value": 36 + }, + { + "date": "2025-11-06", + "value": 33 + }, + { + "date": "2025-11-12", + "value": 36 + }, + { + "date": "2025-11-18", + "value": 38 + }, + { + "date": "2025-11-24", + "value": 42 + }, + { + "date": "2025-11-30", + "value": 28 + }, + { + "date": "2025-12-04", + "value": 32 + }, + { + "date": "2025-12-10", + "value": 35 + }, + { + "date": "2025-12-16", + "value": 38 + }, + { + "date": "2025-12-22", + "value": 24 + }, + { + "date": "2025-12-28", + "value": 28 + }, + { + "date": "2026-01-05", + "value": 40 + }, + { + "date": "2026-01-11", + "value": 43 + }, + { + "date": "2026-01-17", + "value": 29 + }, + { + "date": "2026-01-23", + "value": 33 + }, + { + "date": "2026-01-29", + "value": 35 + }, + { + "date": "2026-02-06", + "value": 40 + }, + { + "date": "2026-02-12", + "value": 26 + }, + { + "date": "2026-02-18", + "value": 29 + }, + { + "date": "2026-02-24", + "value": 31 + }, + { + "date": "2026-02-30", + "value": 34 + }, + { + "date": "2026-03-04", + "value": 22 + }, + { + "date": "2026-03-10", + "value": 26 + }, + { + "date": "2026-03-16", + "value": 28 + }, + { + "date": "2026-03-22", + "value": 31 + }, + { + "date": "2026-03-28", + "value": 33 + }, + { + "date": "2026-04-05", + "value": 31 + }, + { + "date": "2026-04-11", + "value": 33 + }, + { + "date": "2026-04-17", + "value": 36 + }, + { + "date": "2026-04-23", + "value": 38 + }, + { + "date": "2026-04-29", + "value": 42 + }, + { + "date": "2026-05-06", + "value": 30 + }, + { + "date": "2026-05-12", + "value": 32 + }, + { + "date": "2026-05-18", + "value": 35 + }, + { + "date": "2026-05-24", + "value": 38 + }, + { + "date": "2026-05-30", + "value": 24 + } + ], + "monthly": [ + { + "month": "2022-02", + "mean": 32.0, + "median": 32.0, + "p10": 32.0, + "p25": 32.0, + "p75": 32.0, + "p90": 32.0, + "n": 1 + }, + { + "month": "2022-04", + "mean": 48.0, + "median": 48.0, + "p10": 48.0, + "p25": 48.0, + "p75": 48.0, + "p90": 48.0, + "n": 1 + }, + { + "month": "2022-07", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2022-09", + "mean": 67.0, + "median": 67.0, + "p10": 67.0, + "p25": 67.0, + "p75": 67.0, + "p90": 67.0, + "n": 1 + }, + { + "month": "2022-12", + "mean": 25.0, + "median": 25.0, + "p10": 25.0, + "p25": 25.0, + "p75": 25.0, + "p90": 25.0, + "n": 1 + }, + { + "month": "2023-03", + "mean": 41.0, + "median": 41.0, + "p10": 41.0, + "p25": 41.0, + "p75": 41.0, + "p90": 41.0, + "n": 1 + }, + { + "month": "2023-05", + "mean": 15.0, + "median": 15.0, + "p10": 15.0, + "p25": 15.0, + "p75": 15.0, + "p90": 15.0, + "n": 1 + }, + { + "month": "2023-08", + "mean": 82.0, + "median": 82.0, + "p10": 82.0, + "p25": 82.0, + "p75": 82.0, + "p90": 82.0, + "n": 1 + }, + { + "month": "2023-10", + "mean": 38.0, + "median": 38.0, + "p10": 38.0, + "p25": 38.0, + "p75": 38.0, + "p90": 38.0, + "n": 1 + }, + { + "month": "2024-01", + "mean": 20.0, + "median": 20.0, + "p10": 20.0, + "p25": 20.0, + "p75": 20.0, + "p90": 20.0, + "n": 1 + }, + { + "month": "2024-03", + "mean": 52.0, + "median": 52.0, + "p10": 52.0, + "p25": 52.0, + "p75": 52.0, + "p90": 52.0, + "n": 1 + }, + { + "month": "2024-06", + "mean": 10.0, + "median": 10.0, + "p10": 10.0, + "p25": 10.0, + "p75": 10.0, + "p90": 10.0, + "n": 1 + }, + { + "month": "2024-08", + "mean": 44.0, + "median": 44.0, + "p10": 44.0, + "p25": 44.0, + "p75": 44.0, + "p90": 44.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 28.0, + "median": 28.0, + "p10": 28.0, + "p25": 28.0, + "p75": 28.0, + "p90": 28.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 35.0, + "median": 35.0, + "p10": 35.0, + "p25": 35.0, + "p75": 35.0, + "p90": 35.0, + "n": 1 + }, + { + "month": "2025-03", + "mean": 18.0, + "median": 18.0, + "p10": 18.0, + "p25": 18.0, + "p75": 18.0, + "p90": 18.0, + "n": 1 + }, + { + "month": "2025-05", + "mean": 55.0, + "median": 55.0, + "p10": 55.0, + "p25": 55.0, + "p75": 55.0, + "p90": 55.0, + "n": 1 + }, + { + "month": "2025-08", + "mean": 26.0, + "median": 26.0, + "p10": 26.0, + "p25": 26.0, + "p75": 26.0, + "p90": 26.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 31.4, + "median": 31.0, + "p10": 27.2, + "p25": 29.0, + "p75": 34.0, + "p90": 35.8, + "n": 5 + }, + { + "month": "2025-10", + "mean": 30.8, + "median": 31.0, + "p10": 26.8, + "p25": 28.0, + "p75": 33.0, + "p90": 34.8, + "n": 5 + }, + { + "month": "2025-11", + "mean": 35.4, + "median": 36.0, + "p10": 30.0, + "p25": 33.0, + "p75": 38.0, + "p90": 40.4, + "n": 5 + }, + { + "month": "2025-12", + "mean": 31.4, + "median": 32.0, + "p10": 25.6, + "p25": 28.0, + "p75": 35.0, + "p90": 36.8, + "n": 5 + }, + { + "month": "2026-01", + "mean": 36.0, + "median": 35.0, + "p10": 30.6, + "p25": 33.0, + "p75": 40.0, + "p90": 41.8, + "n": 5 + }, + { + "month": "2026-02", + "mean": 32.0, + "median": 31.0, + "p10": 27.2, + "p25": 29.0, + "p75": 34.0, + "p90": 37.6, + "n": 5 + }, + { + "month": "2026-03", + "mean": 28.0, + "median": 28.0, + "p10": 23.6, + "p25": 26.0, + "p75": 31.0, + "p90": 32.2, + "n": 5 + }, + { + "month": "2026-04", + "mean": 36.0, + "median": 36.0, + "p10": 31.8, + "p25": 33.0, + "p75": 38.0, + "p90": 40.4, + "n": 5 + }, + { + "month": "2026-05", + "mean": 31.8, + "median": 32.0, + "p10": 26.4, + "p25": 30.0, + "p75": 35.0, + "p90": 36.8, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "procurement_washed_bourbon", + "label": "Procurement: Washed Bourbon", + "type": "procurement", + "material": "90000100003", + "plant": "PL-A", + "stats": { + "n": 55, + "mean": 26.1, + "median": 25.0, + "std": 8.0, + "min": 7, + "max": 62, + "p25": 22.5, + "p75": 29.0, + "p85": 30.0, + "p95": 36.5 + }, + "plifz": 7, + "plifz_note": null, + "pct_exceeding_plifz": 98.2, + "cost": null, + "observations": [ + { + "date": "2022-05-03", + "value": 35 + }, + { + "date": "2022-10-18", + "value": 16 + }, + { + "date": "2023-01-24", + "value": 62 + }, + { + "date": "2023-06-15", + "value": 7 + }, + { + "date": "2023-09-28", + "value": 40 + }, + { + "date": "2024-02-12", + "value": 25 + }, + { + "date": "2024-05-07", + "value": 48 + }, + { + "date": "2024-09-19", + "value": 12 + }, + { + "date": "2025-02-04", + "value": 30 + }, + { + "date": "2025-06-10", + "value": 14 + }, + { + "date": "2025-09-06", + "value": 30 + }, + { + "date": "2025-09-12", + "value": 19 + }, + { + "date": "2025-09-18", + "value": 22 + }, + { + "date": "2025-09-24", + "value": 23 + }, + { + "date": "2025-09-30", + "value": 25 + }, + { + "date": "2025-10-04", + "value": 23 + }, + { + "date": "2025-10-10", + "value": 25 + }, + { + "date": "2025-10-16", + "value": 27 + }, + { + "date": "2025-10-22", + "value": 29 + }, + { + "date": "2025-10-28", + "value": 31 + }, + { + "date": "2025-11-05", + "value": 23 + }, + { + "date": "2025-11-11", + "value": 25 + }, + { + "date": "2025-11-17", + "value": 27 + }, + { + "date": "2025-11-23", + "value": 29 + }, + { + "date": "2025-11-29", + "value": 31 + }, + { + "date": "2025-12-06", + "value": 22 + }, + { + "date": "2025-12-12", + "value": 24 + }, + { + "date": "2025-12-18", + "value": 26 + }, + { + "date": "2025-12-24", + "value": 28 + }, + { + "date": "2025-12-30", + "value": 18 + }, + { + "date": "2026-01-04", + "value": 28 + }, + { + "date": "2026-01-10", + "value": 30 + }, + { + "date": "2026-01-16", + "value": 32 + }, + { + "date": "2026-01-22", + "value": 22 + }, + { + "date": "2026-01-28", + "value": 24 + }, + { + "date": "2026-02-05", + "value": 27 + }, + { + "date": "2026-02-11", + "value": 30 + }, + { + "date": "2026-02-17", + "value": 19 + }, + { + "date": "2026-02-23", + "value": 22 + }, + { + "date": "2026-02-29", + "value": 23 + }, + { + "date": "2026-03-06", + "value": 34 + }, + { + "date": "2026-03-12", + "value": 23 + }, + { + "date": "2026-03-18", + "value": 25 + }, + { + "date": "2026-03-24", + "value": 27 + }, + { + "date": "2026-03-30", + "value": 29 + }, + { + "date": "2026-04-04", + "value": 20 + }, + { + "date": "2026-04-10", + "value": 23 + }, + { + "date": "2026-04-16", + "value": 25 + }, + { + "date": "2026-04-22", + "value": 27 + }, + { + "date": "2026-04-28", + "value": 29 + }, + { + "date": "2026-05-05", + "value": 20 + }, + { + "date": "2026-05-11", + "value": 22 + }, + { + "date": "2026-05-17", + "value": 24 + }, + { + "date": "2026-05-23", + "value": 26 + }, + { + "date": "2026-05-29", + "value": 28 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 35.0, + "median": 35.0, + "p10": 35.0, + "p25": 35.0, + "p75": 35.0, + "p90": 35.0, + "n": 1 + }, + { + "month": "2022-10", + "mean": 16.0, + "median": 16.0, + "p10": 16.0, + "p25": 16.0, + "p75": 16.0, + "p90": 16.0, + "n": 1 + }, + { + "month": "2023-01", + "mean": 62.0, + "median": 62.0, + "p10": 62.0, + "p25": 62.0, + "p75": 62.0, + "p90": 62.0, + "n": 1 + }, + { + "month": "2023-06", + "mean": 7.0, + "median": 7.0, + "p10": 7.0, + "p25": 7.0, + "p75": 7.0, + "p90": 7.0, + "n": 1 + }, + { + "month": "2023-09", + "mean": 40.0, + "median": 40.0, + "p10": 40.0, + "p25": 40.0, + "p75": 40.0, + "p90": 40.0, + "n": 1 + }, + { + "month": "2024-02", + "mean": 25.0, + "median": 25.0, + "p10": 25.0, + "p25": 25.0, + "p75": 25.0, + "p90": 25.0, + "n": 1 + }, + { + "month": "2024-05", + "mean": 48.0, + "median": 48.0, + "p10": 48.0, + "p25": 48.0, + "p75": 48.0, + "p90": 48.0, + "n": 1 + }, + { + "month": "2024-09", + "mean": 12.0, + "median": 12.0, + "p10": 12.0, + "p25": 12.0, + "p75": 12.0, + "p90": 12.0, + "n": 1 + }, + { + "month": "2025-02", + "mean": 30.0, + "median": 30.0, + "p10": 30.0, + "p25": 30.0, + "p75": 30.0, + "p90": 30.0, + "n": 1 + }, + { + "month": "2025-06", + "mean": 14.0, + "median": 14.0, + "p10": 14.0, + "p25": 14.0, + "p75": 14.0, + "p90": 14.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 23.8, + "median": 23.0, + "p10": 20.2, + "p25": 22.0, + "p75": 25.0, + "p90": 28.0, + "n": 5 + }, + { + "month": "2025-10", + "mean": 27.0, + "median": 27.0, + "p10": 23.8, + "p25": 25.0, + "p75": 29.0, + "p90": 30.2, + "n": 5 + }, + { + "month": "2025-11", + "mean": 27.0, + "median": 27.0, + "p10": 23.8, + "p25": 25.0, + "p75": 29.0, + "p90": 30.2, + "n": 5 + }, + { + "month": "2025-12", + "mean": 23.6, + "median": 24.0, + "p10": 19.6, + "p25": 22.0, + "p75": 26.0, + "p90": 27.2, + "n": 5 + }, + { + "month": "2026-01", + "mean": 27.2, + "median": 28.0, + "p10": 22.8, + "p25": 24.0, + "p75": 30.0, + "p90": 31.2, + "n": 5 + }, + { + "month": "2026-02", + "mean": 24.2, + "median": 23.0, + "p10": 20.2, + "p25": 22.0, + "p75": 27.0, + "p90": 28.8, + "n": 5 + }, + { + "month": "2026-03", + "mean": 27.6, + "median": 27.0, + "p10": 23.8, + "p25": 25.0, + "p75": 29.0, + "p90": 32.0, + "n": 5 + }, + { + "month": "2026-04", + "mean": 24.8, + "median": 25.0, + "p10": 21.2, + "p25": 23.0, + "p75": 27.0, + "p90": 28.2, + "n": 5 + }, + { + "month": "2026-05", + "mean": 24.0, + "median": 24.0, + "p10": 20.8, + "p25": 22.0, + "p75": 26.0, + "p90": 27.2, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_highland_arabica", + "label": "Raw Material Dwell: Highland Arabica", + "type": "raw_material_dwell", + "material": "90000100001", + "plant": "PL-A", + "stats": { + "n": 83, + "mean": 48.3, + "median": 46.0, + "std": 19.8, + "min": 5, + "max": 130, + "p25": 38.5, + "p75": 54.5, + "p85": 61.0, + "p95": 87.7 + }, + "plifz": 30, + "plifz_note": null, + "pct_exceeding_plifz": 89.2, + "cost": { + "unit_price": 3.2, + "currency": "CHF", + "mean_qty": 4200.0, + "monthly": [ + { + "month": "2022-04", + "n_events": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "n_events": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "n_events": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "n_events": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "n_events": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "n_events": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "n_events": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "n_events": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "n_events": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "n_events": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 827400.0 + } + ] + }, + "observations": [ + { + "date": "2022-04-02", + "value": 35 + }, + { + "date": "2022-04-15", + "value": 62 + }, + { + "date": "2022-04-28", + "value": 18 + }, + { + "date": "2022-08-05", + "value": 88 + }, + { + "date": "2022-08-12", + "value": 42 + }, + { + "date": "2022-08-20", + "value": 55 + }, + { + "date": "2022-08-28", + "value": 30 + }, + { + "date": "2023-01-10", + "value": 72 + }, + { + "date": "2023-01-22", + "value": 25 + }, + { + "date": "2023-01-30", + "value": 48 + }, + { + "date": "2023-06-05", + "value": 15 + }, + { + "date": "2023-06-18", + "value": 95 + }, + { + "date": "2023-10-03", + "value": 130 + }, + { + "date": "2023-10-10", + "value": 45 + }, + { + "date": "2023-10-18", + "value": 38 + }, + { + "date": "2023-10-25", + "value": 65 + }, + { + "date": "2023-10-30", + "value": 22 + }, + { + "date": "2024-03-05", + "value": 78 + }, + { + "date": "2024-03-12", + "value": 5 + }, + { + "date": "2024-03-20", + "value": 55 + }, + { + "date": "2024-03-28", + "value": 40 + }, + { + "date": "2024-07-08", + "value": 28 + }, + { + "date": "2024-07-15", + "value": 85 + }, + { + "date": "2024-07-22", + "value": 50 + }, + { + "date": "2024-11-04", + "value": 110 + }, + { + "date": "2024-11-11", + "value": 32 + }, + { + "date": "2024-11-18", + "value": 68 + }, + { + "date": "2024-11-25", + "value": 45 + }, + { + "date": "2024-11-30", + "value": 92 + }, + { + "date": "2025-03-03", + "value": 20 + }, + { + "date": "2025-03-10", + "value": 58 + }, + { + "date": "2025-03-17", + "value": 35 + }, + { + "date": "2025-03-24", + "value": 42 + }, + { + "date": "2025-07-02", + "value": 75 + }, + { + "date": "2025-07-09", + "value": 12 + }, + { + "date": "2025-07-16", + "value": 48 + }, + { + "date": "2025-07-23", + "value": 60 + }, + { + "date": "2025-07-30", + "value": 38 + }, + { + "date": "2025-09-05", + "value": 49 + }, + { + "date": "2025-09-11", + "value": 54 + }, + { + "date": "2025-09-17", + "value": 34 + }, + { + "date": "2025-09-23", + "value": 39 + }, + { + "date": "2025-09-29", + "value": 42 + }, + { + "date": "2025-10-06", + "value": 61 + }, + { + "date": "2025-10-12", + "value": 41 + }, + { + "date": "2025-10-18", + "value": 46 + }, + { + "date": "2025-10-24", + "value": 49 + }, + { + "date": "2025-10-30", + "value": 53 + }, + { + "date": "2025-11-04", + "value": 36 + }, + { + "date": "2025-11-10", + "value": 41 + }, + { + "date": "2025-11-16", + "value": 44 + }, + { + "date": "2025-11-22", + "value": 48 + }, + { + "date": "2025-11-28", + "value": 52 + }, + { + "date": "2025-12-05", + "value": 36 + }, + { + "date": "2025-12-11", + "value": 39 + }, + { + "date": "2025-12-17", + "value": 43 + }, + { + "date": "2025-12-23", + "value": 47 + }, + { + "date": "2025-12-29", + "value": 51 + }, + { + "date": "2026-01-06", + "value": 47 + }, + { + "date": "2026-01-12", + "value": 50 + }, + { + "date": "2026-01-18", + "value": 54 + }, + { + "date": "2026-01-24", + "value": 58 + }, + { + "date": "2026-01-30", + "value": 39 + }, + { + "date": "2026-02-04", + "value": 45 + }, + { + "date": "2026-02-10", + "value": 49 + }, + { + "date": "2026-02-16", + "value": 54 + }, + { + "date": "2026-02-22", + "value": 34 + }, + { + "date": "2026-02-28", + "value": 39 + }, + { + "date": "2026-03-05", + "value": 56 + }, + { + "date": "2026-03-11", + "value": 61 + }, + { + "date": "2026-03-17", + "value": 41 + }, + { + "date": "2026-03-23", + "value": 46 + }, + { + "date": "2026-03-29", + "value": 49 + }, + { + "date": "2026-04-06", + "value": 56 + }, + { + "date": "2026-04-12", + "value": 36 + }, + { + "date": "2026-04-18", + "value": 41 + }, + { + "date": "2026-04-24", + "value": 44 + }, + { + "date": "2026-04-30", + "value": 48 + }, + { + "date": "2026-05-04", + "value": 32 + }, + { + "date": "2026-05-10", + "value": 36 + }, + { + "date": "2026-05-16", + "value": 39 + }, + { + "date": "2026-05-22", + "value": 43 + }, + { + "date": "2026-05-28", + "value": 47 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 38.3, + "median": 35.0, + "p10": 21.4, + "p25": 26.5, + "p75": 48.5, + "p90": 56.6, + "n": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "mean": 53.8, + "median": 48.5, + "p10": 33.6, + "p25": 39.0, + "p75": 63.3, + "p90": 78.1, + "n": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "mean": 48.3, + "median": 48.0, + "p10": 29.6, + "p25": 36.5, + "p75": 60.0, + "p90": 67.2, + "n": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "mean": 55.0, + "median": 55.0, + "p10": 23.0, + "p25": 35.0, + "p75": 75.0, + "p90": 87.0, + "n": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "mean": 60.0, + "median": 45.0, + "p10": 28.4, + "p25": 38.0, + "p75": 65.0, + "p90": 104.0, + "n": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "mean": 44.5, + "median": 47.5, + "p10": 15.5, + "p25": 31.3, + "p75": 60.8, + "p90": 71.1, + "n": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "mean": 54.3, + "median": 50.0, + "p10": 32.4, + "p25": 39.0, + "p75": 67.5, + "p90": 78.0, + "n": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "mean": 69.4, + "median": 68.0, + "p10": 37.2, + "p25": 45.0, + "p75": 92.0, + "p90": 102.8, + "n": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "mean": 38.8, + "median": 38.5, + "p10": 24.5, + "p25": 31.3, + "p75": 46.0, + "p90": 53.2, + "n": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "mean": 46.6, + "median": 48.0, + "p10": 22.4, + "p25": 38.0, + "p75": 60.0, + "p90": 69.0, + "n": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "mean": 43.6, + "median": 42.0, + "p10": 36.0, + "p25": 39.0, + "p75": 49.0, + "p90": 52.0, + "n": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "mean": 50.0, + "median": 49.0, + "p10": 43.0, + "p25": 46.0, + "p75": 53.0, + "p90": 57.8, + "n": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "mean": 44.2, + "median": 44.0, + "p10": 38.0, + "p25": 41.0, + "p75": 48.0, + "p90": 50.4, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "mean": 43.2, + "median": 43.0, + "p10": 37.2, + "p25": 39.0, + "p75": 47.0, + "p90": 49.4, + "n": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "mean": 49.6, + "median": 50.0, + "p10": 42.2, + "p25": 47.0, + "p75": 54.0, + "p90": 56.4, + "n": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "mean": 44.2, + "median": 45.0, + "p10": 36.0, + "p25": 39.0, + "p75": 49.0, + "p90": 52.0, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "mean": 50.6, + "median": 49.0, + "p10": 43.0, + "p25": 46.0, + "p75": 56.0, + "p90": 59.0, + "n": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "mean": 45.0, + "median": 44.0, + "p10": 38.0, + "p25": 41.0, + "p75": 48.0, + "p90": 52.8, + "n": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "mean": 39.4, + "median": 39.0, + "p10": 33.6, + "p25": 36.0, + "p75": 43.0, + "p90": 45.4, + "n": 5, + "total_kg_days": 827400.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_lowland_robusta", + "label": "Raw Material Dwell: Lowland Robusta", + "type": "raw_material_dwell", + "material": "90000100002", + "plant": "PL-A", + "stats": { + "n": 69, + "mean": 36.6, + "median": 34.0, + "std": 15.8, + "min": 3, + "max": 98, + "p25": 28.0, + "p75": 41.0, + "p85": 45.0, + "p95": 69.2 + }, + "plifz": 21, + "plifz_note": null, + "pct_exceeding_plifz": 91.3, + "cost": { + "unit_price": 1.8, + "currency": "CHF", + "mean_qty": 6500.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "n_events": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "n_events": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "n_events": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "n_events": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "n_events": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 1131000.0 + } + ] + }, + "observations": [ + { + "date": "2022-05-02", + "value": 28 + }, + { + "date": "2022-05-10", + "value": 45 + }, + { + "date": "2022-05-18", + "value": 12 + }, + { + "date": "2022-05-25", + "value": 62 + }, + { + "date": "2023-02-06", + "value": 33 + }, + { + "date": "2023-02-14", + "value": 78 + }, + { + "date": "2023-02-22", + "value": 20 + }, + { + "date": "2023-02-28", + "value": 55 + }, + { + "date": "2023-09-05", + "value": 8 + }, + { + "date": "2023-09-15", + "value": 42 + }, + { + "date": "2023-09-25", + "value": 65 + }, + { + "date": "2024-04-03", + "value": 38 + }, + { + "date": "2024-04-10", + "value": 15 + }, + { + "date": "2024-04-17", + "value": 72 + }, + { + "date": "2024-04-24", + "value": 25 + }, + { + "date": "2024-10-02", + "value": 48 + }, + { + "date": "2024-10-09", + "value": 3 + }, + { + "date": "2024-10-16", + "value": 85 + }, + { + "date": "2024-10-23", + "value": 30 + }, + { + "date": "2024-10-30", + "value": 55 + }, + { + "date": "2025-04-07", + "value": 22 + }, + { + "date": "2025-04-14", + "value": 40 + }, + { + "date": "2025-04-21", + "value": 98 + }, + { + "date": "2025-04-28", + "value": 18 + }, + { + "date": "2025-09-04", + "value": 39 + }, + { + "date": "2025-09-10", + "value": 41 + }, + { + "date": "2025-09-16", + "value": 45 + }, + { + "date": "2025-09-22", + "value": 30 + }, + { + "date": "2025-09-28", + "value": 34 + }, + { + "date": "2025-10-05", + "value": 38 + }, + { + "date": "2025-10-11", + "value": 41 + }, + { + "date": "2025-10-17", + "value": 27 + }, + { + "date": "2025-10-23", + "value": 30 + }, + { + "date": "2025-10-29", + "value": 32 + }, + { + "date": "2025-11-06", + "value": 38 + }, + { + "date": "2025-11-12", + "value": 23 + }, + { + "date": "2025-11-18", + "value": 27 + }, + { + "date": "2025-11-24", + "value": 29 + }, + { + "date": "2025-11-30", + "value": 32 + }, + { + "date": "2025-12-04", + "value": 28 + }, + { + "date": "2025-12-10", + "value": 32 + }, + { + "date": "2025-12-16", + "value": 34 + }, + { + "date": "2025-12-22", + "value": 37 + }, + { + "date": "2025-12-28", + "value": 40 + }, + { + "date": "2026-01-05", + "value": 28 + }, + { + "date": "2026-01-11", + "value": 31 + }, + { + "date": "2026-01-17", + "value": 33 + }, + { + "date": "2026-01-23", + "value": 36 + }, + { + "date": "2026-01-29", + "value": 39 + }, + { + "date": "2026-02-06", + "value": 36 + }, + { + "date": "2026-02-12", + "value": 39 + }, + { + "date": "2026-02-18", + "value": 41 + }, + { + "date": "2026-02-24", + "value": 45 + }, + { + "date": "2026-02-30", + "value": 30 + }, + { + "date": "2026-03-04", + "value": 35 + }, + { + "date": "2026-03-10", + "value": 38 + }, + { + "date": "2026-03-16", + "value": 41 + }, + { + "date": "2026-03-22", + "value": 27 + }, + { + "date": "2026-03-28", + "value": 30 + }, + { + "date": "2026-04-05", + "value": 34 + }, + { + "date": "2026-04-11", + "value": 38 + }, + { + "date": "2026-04-17", + "value": 23 + }, + { + "date": "2026-04-23", + "value": 27 + }, + { + "date": "2026-04-29", + "value": 29 + }, + { + "date": "2026-05-06", + "value": 43 + }, + { + "date": "2026-05-12", + "value": 28 + }, + { + "date": "2026-05-18", + "value": 32 + }, + { + "date": "2026-05-24", + "value": 34 + }, + { + "date": "2026-05-30", + "value": 37 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 36.8, + "median": 36.5, + "p10": 16.8, + "p25": 24.0, + "p75": 49.3, + "p90": 56.9, + "n": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "mean": 46.5, + "median": 44.0, + "p10": 23.9, + "p25": 29.8, + "p75": 60.8, + "p90": 71.1, + "n": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "mean": 38.3, + "median": 42.0, + "p10": 14.8, + "p25": 25.0, + "p75": 53.5, + "p90": 60.4, + "n": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "mean": 37.5, + "median": 31.5, + "p10": 18.0, + "p25": 22.5, + "p75": 46.5, + "p90": 61.8, + "n": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "mean": 44.2, + "median": 48.0, + "p10": 13.8, + "p25": 30.0, + "p75": 55.0, + "p90": 73.0, + "n": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "mean": 44.5, + "median": 31.0, + "p10": 19.2, + "p25": 21.0, + "p75": 54.5, + "p90": 80.6, + "n": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "mean": 37.8, + "median": 39.0, + "p10": 31.6, + "p25": 34.0, + "p75": 41.0, + "p90": 43.4, + "n": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "mean": 33.6, + "median": 32.0, + "p10": 28.2, + "p25": 30.0, + "p75": 38.0, + "p90": 39.8, + "n": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "mean": 29.8, + "median": 29.0, + "p10": 24.6, + "p25": 27.0, + "p75": 32.0, + "p90": 35.6, + "n": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "mean": 34.2, + "median": 34.0, + "p10": 29.6, + "p25": 32.0, + "p75": 37.0, + "p90": 38.8, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "mean": 33.4, + "median": 33.0, + "p10": 29.2, + "p25": 31.0, + "p75": 36.0, + "p90": 37.8, + "n": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "mean": 38.2, + "median": 39.0, + "p10": 32.4, + "p25": 36.0, + "p75": 41.0, + "p90": 43.4, + "n": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "mean": 34.2, + "median": 35.0, + "p10": 28.2, + "p25": 30.0, + "p75": 38.0, + "p90": 39.8, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "mean": 30.2, + "median": 29.0, + "p10": 24.6, + "p25": 27.0, + "p75": 34.0, + "p90": 36.4, + "n": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "mean": 34.8, + "median": 34.0, + "p10": 29.6, + "p25": 32.0, + "p75": 37.0, + "p90": 40.6, + "n": 5, + "total_kg_days": 1131000.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_washed_bourbon", + "label": "Raw Material Dwell: Washed Bourbon", + "type": "raw_material_dwell", + "material": "90000100003", + "plant": "PL-A", + "stats": { + "n": 70, + "mean": 43.9, + "median": 41.0, + "std": 19.1, + "min": 4, + "max": 115, + "p25": 34.3, + "p75": 50.0, + "p85": 54.0, + "p95": 81.9 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 95.7, + "cost": { + "unit_price": 5.5, + "currency": "CHF", + "mean_qty": 2800.0, + "monthly": [ + { + "month": "2022-06", + "n_events": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "n_events": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "n_events": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "n_events": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "n_events": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "n_events": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 568400.0 + } + ] + }, + "observations": [ + { + "date": "2022-06-05", + "value": 40 + }, + { + "date": "2022-06-15", + "value": 22 + }, + { + "date": "2022-06-25", + "value": 68 + }, + { + "date": "2023-03-08", + "value": 4 + }, + { + "date": "2023-03-15", + "value": 55 + }, + { + "date": "2023-03-22", + "value": 115 + }, + { + "date": "2023-03-29", + "value": 30 + }, + { + "date": "2023-11-06", + "value": 62 + }, + { + "date": "2023-11-13", + "value": 18 + }, + { + "date": "2023-11-20", + "value": 85 + }, + { + "date": "2024-06-03", + "value": 35 + }, + { + "date": "2024-06-10", + "value": 72 + }, + { + "date": "2024-06-17", + "value": 10 + }, + { + "date": "2024-06-24", + "value": 48 + }, + { + "date": "2024-06-30", + "value": 95 + }, + { + "date": "2025-01-07", + "value": 28 + }, + { + "date": "2025-01-14", + "value": 52 + }, + { + "date": "2025-01-21", + "value": 15 + }, + { + "date": "2025-01-28", + "value": 78 + }, + { + "date": "2025-08-04", + "value": 42 + }, + { + "date": "2025-08-08", + "value": 8 + }, + { + "date": "2025-08-12", + "value": 65 + }, + { + "date": "2025-08-16", + "value": 33 + }, + { + "date": "2025-08-20", + "value": 100 + }, + { + "date": "2025-08-24", + "value": 20 + }, + { + "date": "2025-09-06", + "value": 41 + }, + { + "date": "2025-09-12", + "value": 45 + }, + { + "date": "2025-09-18", + "value": 48 + }, + { + "date": "2025-09-24", + "value": 52 + }, + { + "date": "2025-09-30", + "value": 34 + }, + { + "date": "2025-10-04", + "value": 40 + }, + { + "date": "2025-10-10", + "value": 44 + }, + { + "date": "2025-10-16", + "value": 48 + }, + { + "date": "2025-10-22", + "value": 30 + }, + { + "date": "2025-10-28", + "value": 34 + }, + { + "date": "2025-11-05", + "value": 50 + }, + { + "date": "2025-11-11", + "value": 54 + }, + { + "date": "2025-11-17", + "value": 36 + }, + { + "date": "2025-11-23", + "value": 41 + }, + { + "date": "2025-11-29", + "value": 44 + }, + { + "date": "2025-12-06", + "value": 50 + }, + { + "date": "2025-12-12", + "value": 32 + }, + { + "date": "2025-12-18", + "value": 36 + }, + { + "date": "2025-12-24", + "value": 39 + }, + { + "date": "2025-12-30", + "value": 43 + }, + { + "date": "2026-01-04", + "value": 28 + }, + { + "date": "2026-01-10", + "value": 32 + }, + { + "date": "2026-01-16", + "value": 35 + }, + { + "date": "2026-01-22", + "value": 38 + }, + { + "date": "2026-01-28", + "value": 42 + }, + { + "date": "2026-02-05", + "value": 39 + }, + { + "date": "2026-02-11", + "value": 41 + }, + { + "date": "2026-02-17", + "value": 45 + }, + { + "date": "2026-02-23", + "value": 48 + }, + { + "date": "2026-02-29", + "value": 52 + }, + { + "date": "2026-03-06", + "value": 37 + }, + { + "date": "2026-03-12", + "value": 40 + }, + { + "date": "2026-03-18", + "value": 44 + }, + { + "date": "2026-03-24", + "value": 48 + }, + { + "date": "2026-03-30", + "value": 30 + }, + { + "date": "2026-04-04", + "value": 47 + }, + { + "date": "2026-04-10", + "value": 50 + }, + { + "date": "2026-04-16", + "value": 54 + }, + { + "date": "2026-04-22", + "value": 36 + }, + { + "date": "2026-04-28", + "value": 41 + }, + { + "date": "2026-05-05", + "value": 46 + }, + { + "date": "2026-05-11", + "value": 50 + }, + { + "date": "2026-05-17", + "value": 32 + }, + { + "date": "2026-05-23", + "value": 36 + }, + { + "date": "2026-05-29", + "value": 39 + } + ], + "monthly": [ + { + "month": "2022-06", + "mean": 43.3, + "median": 40.0, + "p10": 25.6, + "p25": 31.0, + "p75": 54.0, + "p90": 62.4, + "n": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "mean": 51.0, + "median": 42.5, + "p10": 11.8, + "p25": 23.5, + "p75": 70.0, + "p90": 97.0, + "n": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "mean": 55.0, + "median": 62.0, + "p10": 26.8, + "p25": 40.0, + "p75": 73.5, + "p90": 80.4, + "n": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "mean": 52.0, + "median": 48.0, + "p10": 20.0, + "p25": 35.0, + "p75": 72.0, + "p90": 85.8, + "n": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "mean": 43.3, + "median": 40.0, + "p10": 18.9, + "p25": 24.8, + "p75": 58.5, + "p90": 70.2, + "n": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "mean": 44.7, + "median": 37.5, + "p10": 14.0, + "p25": 23.3, + "p75": 59.3, + "p90": 82.5, + "n": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "mean": 44.0, + "median": 45.0, + "p10": 36.8, + "p25": 41.0, + "p75": 48.0, + "p90": 50.4, + "n": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "mean": 39.2, + "median": 40.0, + "p10": 31.6, + "p25": 34.0, + "p75": 44.0, + "p90": 46.4, + "n": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "mean": 45.0, + "median": 44.0, + "p10": 38.0, + "p25": 41.0, + "p75": 50.0, + "p90": 52.4, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "mean": 40.0, + "median": 39.0, + "p10": 33.6, + "p25": 36.0, + "p75": 43.0, + "p90": 47.2, + "n": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "mean": 35.0, + "median": 35.0, + "p10": 29.6, + "p25": 32.0, + "p75": 38.0, + "p90": 40.4, + "n": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "mean": 45.0, + "median": 45.0, + "p10": 39.8, + "p25": 41.0, + "p75": 48.0, + "p90": 50.4, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "mean": 39.8, + "median": 40.0, + "p10": 32.8, + "p25": 37.0, + "p75": 44.0, + "p90": 46.4, + "n": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "mean": 45.6, + "median": 47.0, + "p10": 38.0, + "p25": 41.0, + "p75": 50.0, + "p90": 52.4, + "n": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "mean": 40.6, + "median": 39.0, + "p10": 33.6, + "p25": 36.0, + "p75": 46.0, + "p90": 48.4, + "n": 5, + "total_kg_days": 568400.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "prod_duration_green_blend", + "label": "Production: Green Blend", + "type": "production", + "material": "90000200001", + "plant": "PL-A", + "stats": { + "n": 50, + "mean": 4.4, + "median": 4.0, + "std": 1.8, + "min": 1, + "max": 14, + "p25": 3.3, + "p75": 5.0, + "p85": 5.0, + "p95": 6.6 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 10.0, + "cost": null, + "observations": [ + { + "date": "2022-04-18", + "value": 3 + }, + { + "date": "2022-07-05", + "value": 5 + }, + { + "date": "2022-10-12", + "value": 2 + }, + { + "date": "2023-01-20", + "value": 7 + }, + { + "date": "2023-04-15", + "value": 4 + }, + { + "date": "2023-07-28", + "value": 6 + }, + { + "date": "2023-10-05", + "value": 3 + }, + { + "date": "2024-01-12", + "value": 14 + }, + { + "date": "2024-04-22", + "value": 4 + }, + { + "date": "2024-07-10", + "value": 8 + }, + { + "date": "2024-10-18", + "value": 3 + }, + { + "date": "2025-01-25", + "value": 5 + }, + { + "date": "2025-05-08", + "value": 1 + }, + { + "date": "2025-08-15", + "value": 6 + }, + { + "date": "2025-09-04", + "value": 3 + }, + { + "date": "2025-09-10", + "value": 4 + }, + { + "date": "2025-09-16", + "value": 4 + }, + { + "date": "2025-09-22", + "value": 4 + }, + { + "date": "2025-10-05", + "value": 3 + }, + { + "date": "2025-10-11", + "value": 4 + }, + { + "date": "2025-10-17", + "value": 4 + }, + { + "date": "2025-10-23", + "value": 4 + }, + { + "date": "2025-11-06", + "value": 4 + }, + { + "date": "2025-11-12", + "value": 5 + }, + { + "date": "2025-11-18", + "value": 5 + }, + { + "date": "2025-11-24", + "value": 5 + }, + { + "date": "2025-12-04", + "value": 4 + }, + { + "date": "2025-12-10", + "value": 5 + }, + { + "date": "2025-12-16", + "value": 5 + }, + { + "date": "2025-12-22", + "value": 3 + }, + { + "date": "2026-01-05", + "value": 4 + }, + { + "date": "2026-01-11", + "value": 5 + }, + { + "date": "2026-01-17", + "value": 3 + }, + { + "date": "2026-01-23", + "value": 3 + }, + { + "date": "2026-02-06", + "value": 5 + }, + { + "date": "2026-02-12", + "value": 3 + }, + { + "date": "2026-02-18", + "value": 4 + }, + { + "date": "2026-02-24", + "value": 4 + }, + { + "date": "2026-03-04", + "value": 3 + }, + { + "date": "2026-03-10", + "value": 3 + }, + { + "date": "2026-03-16", + "value": 4 + }, + { + "date": "2026-03-22", + "value": 4 + }, + { + "date": "2026-04-05", + "value": 4 + }, + { + "date": "2026-04-11", + "value": 4 + }, + { + "date": "2026-04-17", + "value": 5 + }, + { + "date": "2026-04-23", + "value": 5 + }, + { + "date": "2026-05-06", + "value": 4 + }, + { + "date": "2026-05-12", + "value": 4 + }, + { + "date": "2026-05-18", + "value": 5 + }, + { + "date": "2026-05-24", + "value": 5 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2022-07", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2023-01", + "mean": 7.0, + "median": 7.0, + "p10": 7.0, + "p25": 7.0, + "p75": 7.0, + "p90": 7.0, + "n": 1 + }, + { + "month": "2023-04", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 6.0, + "median": 6.0, + "p10": 6.0, + "p25": 6.0, + "p75": 6.0, + "p90": 6.0, + "n": 1 + }, + { + "month": "2023-10", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2024-01", + "mean": 14.0, + "median": 14.0, + "p10": 14.0, + "p25": 14.0, + "p75": 14.0, + "p90": 14.0, + "n": 1 + }, + { + "month": "2024-04", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2024-07", + "mean": 8.0, + "median": 8.0, + "p10": 8.0, + "p25": 8.0, + "p75": 8.0, + "p90": 8.0, + "n": 1 + }, + { + "month": "2024-10", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2025-05", + "mean": 1.0, + "median": 1.0, + "p10": 1.0, + "p25": 1.0, + "p75": 1.0, + "p90": 1.0, + "n": 1 + }, + { + "month": "2025-08", + "mean": 6.0, + "median": 6.0, + "p10": 6.0, + "p25": 6.0, + "p75": 6.0, + "p90": 6.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 3.8, + "median": 4.0, + "p10": 3.3, + "p25": 3.8, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2025-10", + "mean": 3.8, + "median": 4.0, + "p10": 3.3, + "p25": 3.8, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2025-11", + "mean": 4.8, + "median": 5.0, + "p10": 4.3, + "p25": 4.8, + "p75": 5.0, + "p90": 5.0, + "n": 4 + }, + { + "month": "2025-12", + "mean": 4.3, + "median": 4.5, + "p10": 3.3, + "p25": 3.8, + "p75": 5.0, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-01", + "mean": 3.8, + "median": 3.5, + "p10": 3.0, + "p25": 3.0, + "p75": 4.3, + "p90": 4.7, + "n": 4 + }, + { + "month": "2026-02", + "mean": 4.0, + "median": 4.0, + "p10": 3.3, + "p25": 3.8, + "p75": 4.3, + "p90": 4.7, + "n": 4 + }, + { + "month": "2026-03", + "mean": 3.5, + "median": 3.5, + "p10": 3.0, + "p25": 3.0, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2026-04", + "mean": 4.5, + "median": 4.5, + "p10": 4.0, + "p25": 4.0, + "p75": 5.0, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-05", + "mean": 4.5, + "median": 4.5, + "p10": 4.0, + "p25": 4.0, + "p75": 5.0, + "p90": 5.0, + "n": 4 + } + ], + "n_batches": 50, + "n_movements": null, + "yield_summary": { + "median": 98.5, + "mean": 97.2, + "reference": 100.0, + "n": 50 + }, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 0.9, + "mean_slack": 5.1, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 0.9 + }, + "direct": { + "binding_share": 0.9, + "mean_slack": 7.2, + "next_bottleneck_days": 27.4, + "expected_marginal_per_day": 0.9 + }, + "hub-1": { + "binding_share": 0.9, + "mean_slack": 2.0, + "next_bottleneck_days": 31.3, + "expected_marginal_per_day": 0.9 + } + } + }, + { + "id": "intermed_dwell_green_blend", + "label": "Intermediate Dwell: Green Blend", + "type": "intermediate_dwell", + "material": "90000200001", + "plant": "PL-A", + "stats": { + "n": 73, + "mean": 17.4, + "median": 16.0, + "std": 9.0, + "min": 2, + "max": 55, + "p25": 13.0, + "p75": 19.0, + "p85": 20.4, + "p95": 37.0 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 87.7, + "cost": { + "unit_price": 12.5, + "currency": "CHF", + "mean_qty": 3200.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "n_events": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "n_events": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "n_events": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "n_events": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "n_events": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "n_events": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 249600.0 + } + ] + }, + "observations": [ + { + "date": "2022-05-05", + "value": 12 + }, + { + "date": "2022-05-15", + "value": 25 + }, + { + "date": "2022-05-22", + "value": 8 + }, + { + "date": "2022-11-03", + "value": 35 + }, + { + "date": "2022-11-10", + "value": 15 + }, + { + "date": "2022-11-18", + "value": 5 + }, + { + "date": "2022-11-25", + "value": 22 + }, + { + "date": "2023-05-08", + "value": 18 + }, + { + "date": "2023-05-15", + "value": 40 + }, + { + "date": "2023-05-22", + "value": 10 + }, + { + "date": "2023-11-06", + "value": 55 + }, + { + "date": "2023-11-13", + "value": 2 + }, + { + "date": "2023-11-20", + "value": 28 + }, + { + "date": "2023-11-27", + "value": 15 + }, + { + "date": "2023-11-30", + "value": 8 + }, + { + "date": "2024-05-06", + "value": 20 + }, + { + "date": "2024-05-13", + "value": 45 + }, + { + "date": "2024-05-20", + "value": 12 + }, + { + "date": "2024-05-27", + "value": 3 + }, + { + "date": "2024-11-04", + "value": 18 + }, + { + "date": "2024-11-11", + "value": 30 + }, + { + "date": "2024-11-18", + "value": 8 + }, + { + "date": "2025-05-05", + "value": 22 + }, + { + "date": "2025-05-09", + "value": 35 + }, + { + "date": "2025-05-13", + "value": 5 + }, + { + "date": "2025-05-17", + "value": 15 + }, + { + "date": "2025-05-21", + "value": 42 + }, + { + "date": "2025-05-25", + "value": 10 + }, + { + "date": "2025-09-05", + "value": 14 + }, + { + "date": "2025-09-11", + "value": 16 + }, + { + "date": "2025-09-17", + "value": 17 + }, + { + "date": "2025-09-23", + "value": 18 + }, + { + "date": "2025-09-29", + "value": 19 + }, + { + "date": "2025-10-06", + "value": 14 + }, + { + "date": "2025-10-12", + "value": 15 + }, + { + "date": "2025-10-18", + "value": 16 + }, + { + "date": "2025-10-24", + "value": 18 + }, + { + "date": "2025-10-30", + "value": 11 + }, + { + "date": "2025-11-04", + "value": 18 + }, + { + "date": "2025-11-10", + "value": 19 + }, + { + "date": "2025-11-16", + "value": 20 + }, + { + "date": "2025-11-22", + "value": 14 + }, + { + "date": "2025-11-28", + "value": 15 + }, + { + "date": "2025-12-05", + "value": 17 + }, + { + "date": "2025-12-11", + "value": 19 + }, + { + "date": "2025-12-17", + "value": 12 + }, + { + "date": "2025-12-23", + "value": 14 + }, + { + "date": "2025-12-29", + "value": 15 + }, + { + "date": "2026-01-06", + "value": 17 + }, + { + "date": "2026-01-12", + "value": 11 + }, + { + "date": "2026-01-18", + "value": 12 + }, + { + "date": "2026-01-24", + "value": 13 + }, + { + "date": "2026-01-30", + "value": 14 + }, + { + "date": "2026-02-04", + "value": 13 + }, + { + "date": "2026-02-10", + "value": 14 + }, + { + "date": "2026-02-16", + "value": 16 + }, + { + "date": "2026-02-22", + "value": 17 + }, + { + "date": "2026-02-28", + "value": 18 + }, + { + "date": "2026-03-05", + "value": 13 + }, + { + "date": "2026-03-11", + "value": 14 + }, + { + "date": "2026-03-17", + "value": 15 + }, + { + "date": "2026-03-23", + "value": 16 + }, + { + "date": "2026-03-29", + "value": 18 + }, + { + "date": "2026-04-06", + "value": 16 + }, + { + "date": "2026-04-12", + "value": 18 + }, + { + "date": "2026-04-18", + "value": 19 + }, + { + "date": "2026-04-24", + "value": 20 + }, + { + "date": "2026-04-30", + "value": 14 + }, + { + "date": "2026-05-04", + "value": 16 + }, + { + "date": "2026-05-10", + "value": 17 + }, + { + "date": "2026-05-16", + "value": 19 + }, + { + "date": "2026-05-22", + "value": 12 + }, + { + "date": "2026-05-28", + "value": 14 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 15.0, + "median": 12.0, + "p10": 8.8, + "p25": 10.0, + "p75": 18.5, + "p90": 22.4, + "n": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "mean": 19.3, + "median": 18.5, + "p10": 8.0, + "p25": 12.5, + "p75": 25.3, + "p90": 31.1, + "n": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "mean": 22.7, + "median": 18.0, + "p10": 11.6, + "p25": 14.0, + "p75": 29.0, + "p90": 35.6, + "n": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "mean": 21.6, + "median": 15.0, + "p10": 4.4, + "p25": 8.0, + "p75": 28.0, + "p90": 44.2, + "n": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "mean": 20.0, + "median": 16.0, + "p10": 5.7, + "p25": 9.8, + "p75": 26.3, + "p90": 37.5, + "n": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "mean": 18.7, + "median": 18.0, + "p10": 10.0, + "p25": 13.0, + "p75": 24.0, + "p90": 27.6, + "n": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "mean": 21.5, + "median": 18.5, + "p10": 7.5, + "p25": 11.3, + "p75": 31.8, + "p90": 38.5, + "n": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "mean": 16.8, + "median": 17.0, + "p10": 14.8, + "p25": 16.0, + "p75": 18.0, + "p90": 18.6, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "mean": 14.8, + "median": 15.0, + "p10": 12.2, + "p25": 14.0, + "p75": 16.0, + "p90": 17.2, + "n": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "mean": 17.2, + "median": 18.0, + "p10": 14.4, + "p25": 15.0, + "p75": 19.0, + "p90": 19.6, + "n": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "mean": 15.4, + "median": 15.0, + "p10": 12.8, + "p25": 14.0, + "p75": 17.0, + "p90": 18.2, + "n": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "mean": 13.4, + "median": 13.0, + "p10": 11.4, + "p25": 12.0, + "p75": 14.0, + "p90": 15.8, + "n": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "mean": 15.6, + "median": 16.0, + "p10": 13.4, + "p25": 14.0, + "p75": 17.0, + "p90": 17.6, + "n": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "mean": 15.2, + "median": 15.0, + "p10": 13.4, + "p25": 14.0, + "p75": 16.0, + "p90": 17.2, + "n": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "mean": 17.4, + "median": 18.0, + "p10": 14.8, + "p25": 16.0, + "p75": 19.0, + "p90": 19.6, + "n": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "mean": 15.6, + "median": 16.0, + "p10": 12.8, + "p25": 14.0, + "p75": 17.0, + "p90": 18.2, + "n": 5, + "total_kg_days": 249600.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 0.9, + "mean_slack": 5.1, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 0.9 + }, + "direct": { + "binding_share": 0.9, + "mean_slack": 7.2, + "next_bottleneck_days": 27.4, + "expected_marginal_per_day": 0.9 + }, + "hub-1": { + "binding_share": 0.9, + "mean_slack": 2.0, + "next_bottleneck_days": 31.3, + "expected_marginal_per_day": 0.9 + } + } + }, + { + "id": "prod_duration_harbor_dark_roast", + "label": "Production: Harbor Dark Roast", + "type": "production", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 58, + "mean": 3.2, + "median": 3.0, + "std": 1.4, + "min": 0, + "max": 10, + "p25": 3.0, + "p75": 4.0, + "p85": 4.0, + "p95": 5.2 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 5.2, + "cost": null, + "observations": [ + { + "date": "2022-05-20", + "value": 2 + }, + { + "date": "2022-06-10", + "value": 3 + }, + { + "date": "2022-07-15", + "value": 1 + }, + { + "date": "2022-08-22", + "value": 4 + }, + { + "date": "2022-10-05", + "value": 2 + }, + { + "date": "2022-11-18", + "value": 5 + }, + { + "date": "2023-01-10", + "value": 3 + }, + { + "date": "2023-03-25", + "value": 7 + }, + { + "date": "2023-05-12", + "value": 2 + }, + { + "date": "2023-07-08", + "value": 4 + }, + { + "date": "2023-09-15", + "value": 1 + }, + { + "date": "2023-11-22", + "value": 3 + }, + { + "date": "2024-01-18", + "value": 10 + }, + { + "date": "2024-03-08", + "value": 3 + }, + { + "date": "2024-05-15", + "value": 2 + }, + { + "date": "2024-07-22", + "value": 5 + }, + { + "date": "2024-09-10", + "value": 0 + }, + { + "date": "2024-11-05", + "value": 4 + }, + { + "date": "2025-01-15", + "value": 3 + }, + { + "date": "2025-03-20", + "value": 2 + }, + { + "date": "2025-05-28", + "value": 6 + }, + { + "date": "2025-08-05", + "value": 3 + }, + { + "date": "2025-09-05", + "value": 4 + }, + { + "date": "2025-09-11", + "value": 4 + }, + { + "date": "2025-09-17", + "value": 3 + }, + { + "date": "2025-09-23", + "value": 3 + }, + { + "date": "2025-10-06", + "value": 4 + }, + { + "date": "2025-10-12", + "value": 2 + }, + { + "date": "2025-10-18", + "value": 3 + }, + { + "date": "2025-10-24", + "value": 3 + }, + { + "date": "2025-11-04", + "value": 2 + }, + { + "date": "2025-11-10", + "value": 2 + }, + { + "date": "2025-11-16", + "value": 3 + }, + { + "date": "2025-11-22", + "value": 3 + }, + { + "date": "2025-12-05", + "value": 3 + }, + { + "date": "2025-12-11", + "value": 3 + }, + { + "date": "2025-12-17", + "value": 3 + }, + { + "date": "2025-12-23", + "value": 4 + }, + { + "date": "2026-01-06", + "value": 3 + }, + { + "date": "2026-01-12", + "value": 3 + }, + { + "date": "2026-01-18", + "value": 3 + }, + { + "date": "2026-01-24", + "value": 4 + }, + { + "date": "2026-02-04", + "value": 4 + }, + { + "date": "2026-02-10", + "value": 4 + }, + { + "date": "2026-02-16", + "value": 4 + }, + { + "date": "2026-02-22", + "value": 3 + }, + { + "date": "2026-03-05", + "value": 3 + }, + { + "date": "2026-03-11", + "value": 4 + }, + { + "date": "2026-03-17", + "value": 2 + }, + { + "date": "2026-03-23", + "value": 3 + }, + { + "date": "2026-04-06", + "value": 3 + }, + { + "date": "2026-04-12", + "value": 2 + }, + { + "date": "2026-04-18", + "value": 2 + }, + { + "date": "2026-04-24", + "value": 3 + }, + { + "date": "2026-05-04", + "value": 3 + }, + { + "date": "2026-05-10", + "value": 3 + }, + { + "date": "2026-05-16", + "value": 3 + }, + { + "date": "2026-05-22", + "value": 3 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2022-06", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2022-07", + "mean": 1.0, + "median": 1.0, + "p10": 1.0, + "p25": 1.0, + "p75": 1.0, + "p90": 1.0, + "n": 1 + }, + { + "month": "2022-08", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2022-11", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2023-01", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2023-03", + "mean": 7.0, + "median": 7.0, + "p10": 7.0, + "p25": 7.0, + "p75": 7.0, + "p90": 7.0, + "n": 1 + }, + { + "month": "2023-05", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2023-09", + "mean": 1.0, + "median": 1.0, + "p10": 1.0, + "p25": 1.0, + "p75": 1.0, + "p90": 1.0, + "n": 1 + }, + { + "month": "2023-11", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2024-01", + "mean": 10.0, + "median": 10.0, + "p10": 10.0, + "p25": 10.0, + "p75": 10.0, + "p90": 10.0, + "n": 1 + }, + { + "month": "2024-03", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2024-05", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2024-07", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2024-09", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2025-03", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2025-05", + "mean": 6.0, + "median": 6.0, + "p10": 6.0, + "p25": 6.0, + "p75": 6.0, + "p90": 6.0, + "n": 1 + }, + { + "month": "2025-08", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 3.5, + "median": 3.5, + "p10": 3.0, + "p25": 3.0, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2025-10", + "mean": 3.0, + "median": 3.0, + "p10": 2.3, + "p25": 2.8, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2025-11", + "mean": 2.5, + "median": 2.5, + "p10": 2.0, + "p25": 2.0, + "p75": 3.0, + "p90": 3.0, + "n": 4 + }, + { + "month": "2025-12", + "mean": 3.3, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2026-01", + "mean": 3.3, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2026-02", + "mean": 3.8, + "median": 4.0, + "p10": 3.3, + "p25": 3.8, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2026-03", + "mean": 3.0, + "median": 3.0, + "p10": 2.3, + "p25": 2.8, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2026-04", + "mean": 2.5, + "median": 2.5, + "p10": 2.0, + "p25": 2.0, + "p75": 3.0, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-05", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 4 + } + ], + "n_batches": 58, + "n_movements": null, + "yield_summary": { + "median": 99.2, + "mean": 98.5, + "reference": 100.0, + "n": 58 + }, + "consumption_summary": { + "median_variance": 2.1, + "mean_variance": 3.4, + "n_components": 3, + "n": 58 + }, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 4.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 3.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 4.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "prod_to_qa_pla", + "label": "Production \u2192 QA Release (PL-A)", + "type": "qa_hold", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 58, + "mean": 3.4, + "median": 3.0, + "std": 1.8, + "min": 0, + "max": 13, + "p25": 3.0, + "p75": 4.0, + "p85": 4.0, + "p95": 6.2 + }, + "plifz": 5, + "plifz_note": "WEBAZ (GR processing days)", + "pct_exceeding_plifz": 6.9, + "cost": null, + "observations": [ + { + "date": "2022-05-22", + "value": 2 + }, + { + "date": "2022-06-13", + "value": 1 + }, + { + "date": "2022-07-16", + "value": 3 + }, + { + "date": "2022-08-26", + "value": 2 + }, + { + "date": "2022-10-07", + "value": 5 + }, + { + "date": "2022-11-23", + "value": 2 + }, + { + "date": "2023-01-13", + "value": 4 + }, + { + "date": "2023-04-01", + "value": 3 + }, + { + "date": "2023-05-14", + "value": 6 + }, + { + "date": "2023-07-12", + "value": 2 + }, + { + "date": "2023-09-16", + "value": 13 + }, + { + "date": "2023-11-25", + "value": 3 + }, + { + "date": "2024-01-28", + "value": 7 + }, + { + "date": "2024-03-11", + "value": 1 + }, + { + "date": "2024-05-17", + "value": 4 + }, + { + "date": "2024-07-27", + "value": 5 + }, + { + "date": "2024-09-10", + "value": 2 + }, + { + "date": "2024-11-09", + "value": 0 + }, + { + "date": "2025-01-18", + "value": 3 + }, + { + "date": "2025-03-22", + "value": 8 + }, + { + "date": "2025-06-03", + "value": 2 + }, + { + "date": "2025-08-08", + "value": 5 + }, + { + "date": "2025-09-04", + "value": 2 + }, + { + "date": "2025-09-10", + "value": 3 + }, + { + "date": "2025-09-16", + "value": 3 + }, + { + "date": "2025-09-22", + "value": 3 + }, + { + "date": "2025-10-05", + "value": 3 + }, + { + "date": "2025-10-11", + "value": 3 + }, + { + "date": "2025-10-17", + "value": 4 + }, + { + "date": "2025-10-23", + "value": 4 + }, + { + "date": "2025-11-06", + "value": 3 + }, + { + "date": "2025-11-12", + "value": 3 + }, + { + "date": "2025-11-18", + "value": 3 + }, + { + "date": "2025-11-24", + "value": 4 + }, + { + "date": "2025-12-04", + "value": 3 + }, + { + "date": "2025-12-10", + "value": 3 + }, + { + "date": "2025-12-16", + "value": 3 + }, + { + "date": "2025-12-22", + "value": 2 + }, + { + "date": "2026-01-05", + "value": 4 + }, + { + "date": "2026-01-11", + "value": 4 + }, + { + "date": "2026-01-17", + "value": 3 + }, + { + "date": "2026-01-23", + "value": 3 + }, + { + "date": "2026-02-06", + "value": 4 + }, + { + "date": "2026-02-12", + "value": 2 + }, + { + "date": "2026-02-18", + "value": 3 + }, + { + "date": "2026-02-24", + "value": 3 + }, + { + "date": "2026-03-04", + "value": 3 + }, + { + "date": "2026-03-10", + "value": 3 + }, + { + "date": "2026-03-16", + "value": 3 + }, + { + "date": "2026-03-22", + "value": 4 + }, + { + "date": "2026-04-05", + "value": 3 + }, + { + "date": "2026-04-11", + "value": 3 + }, + { + "date": "2026-04-17", + "value": 3 + }, + { + "date": "2026-04-23", + "value": 3 + }, + { + "date": "2026-05-06", + "value": 3 + }, + { + "date": "2026-05-12", + "value": 3 + }, + { + "date": "2026-05-18", + "value": 3 + }, + { + "date": "2026-05-24", + "value": 3 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2022-06", + "mean": 1.0, + "median": 1.0, + "p10": 1.0, + "p25": 1.0, + "p75": 1.0, + "p90": 1.0, + "n": 1 + }, + { + "month": "2022-07", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2022-08", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2022-10", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2022-11", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2023-01", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2023-04", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2023-05", + "mean": 6.0, + "median": 6.0, + "p10": 6.0, + "p25": 6.0, + "p75": 6.0, + "p90": 6.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2023-09", + "mean": 13.0, + "median": 13.0, + "p10": 13.0, + "p25": 13.0, + "p75": 13.0, + "p90": 13.0, + "n": 1 + }, + { + "month": "2023-11", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2024-01", + "mean": 7.0, + "median": 7.0, + "p10": 7.0, + "p25": 7.0, + "p75": 7.0, + "p90": 7.0, + "n": 1 + }, + { + "month": "2024-03", + "mean": 1.0, + "median": 1.0, + "p10": 1.0, + "p25": 1.0, + "p75": 1.0, + "p90": 1.0, + "n": 1 + }, + { + "month": "2024-05", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2024-07", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2024-09", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2025-03", + "mean": 8.0, + "median": 8.0, + "p10": 8.0, + "p25": 8.0, + "p75": 8.0, + "p90": 8.0, + "n": 1 + }, + { + "month": "2025-06", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2025-08", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 2.8, + "median": 3.0, + "p10": 2.3, + "p25": 2.8, + "p75": 3.0, + "p90": 3.0, + "n": 4 + }, + { + "month": "2025-10", + "mean": 3.5, + "median": 3.5, + "p10": 3.0, + "p25": 3.0, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2025-11", + "mean": 3.3, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2025-12", + "mean": 2.8, + "median": 3.0, + "p10": 2.3, + "p25": 2.8, + "p75": 3.0, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-01", + "mean": 3.5, + "median": 3.5, + "p10": 3.0, + "p25": 3.0, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2026-02", + "mean": 3.0, + "median": 3.0, + "p10": 2.3, + "p25": 2.8, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2026-03", + "mean": 3.3, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2026-04", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-05", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 4 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": { + "median": 99.2, + "mean": 98.5, + "reference": 100.0, + "n": 58 + }, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 7.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 7.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 6.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "post_qa_ship_pla", + "label": "Post-QA Dwell (PL-A)", + "type": "post_qa_ship", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 57, + "mean": 12.7, + "median": 12.0, + "std": 5.6, + "min": 2, + "max": 42, + "p25": 10.0, + "p75": 14.0, + "p85": 15.0, + "p95": 20.4 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "cost": { + "unit_price": 28.5, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2023-03", + "n_events": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "n_events": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "n_events": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 264000.0 + } + ] + }, + "observations": [ + { + "date": "2023-03-10", + "value": 8 + }, + { + "date": "2023-03-25", + "value": 22 + }, + { + "date": "2023-09-20", + "value": 42 + }, + { + "date": "2024-03-15", + "value": 6 + }, + { + "date": "2024-03-28", + "value": 18 + }, + { + "date": "2024-09-05", + "value": 28 + }, + { + "date": "2024-09-15", + "value": 12 + }, + { + "date": "2024-09-25", + "value": 2 + }, + { + "date": "2025-03-10", + "value": 15 + }, + { + "date": "2025-03-22", + "value": 5 + }, + { + "date": "2025-07-08", + "value": 20 + }, + { + "date": "2025-07-22", + "value": 4 + }, + { + "date": "2025-09-05", + "value": 14 + }, + { + "date": "2025-09-11", + "value": 15 + }, + { + "date": "2025-09-17", + "value": 10 + }, + { + "date": "2025-09-23", + "value": 11 + }, + { + "date": "2025-09-29", + "value": 12 + }, + { + "date": "2025-10-06", + "value": 14 + }, + { + "date": "2025-10-12", + "value": 8 + }, + { + "date": "2025-10-18", + "value": 10 + }, + { + "date": "2025-10-24", + "value": 11 + }, + { + "date": "2025-10-30", + "value": 11 + }, + { + "date": "2025-11-04", + "value": 10 + }, + { + "date": "2025-11-10", + "value": 12 + }, + { + "date": "2025-11-16", + "value": 12 + }, + { + "date": "2025-11-22", + "value": 13 + }, + { + "date": "2025-11-28", + "value": 14 + }, + { + "date": "2025-12-05", + "value": 10 + }, + { + "date": "2025-12-11", + "value": 11 + }, + { + "date": "2025-12-17", + "value": 12 + }, + { + "date": "2025-12-23", + "value": 13 + }, + { + "date": "2025-12-29", + "value": 14 + }, + { + "date": "2026-01-06", + "value": 13 + }, + { + "date": "2026-01-12", + "value": 14 + }, + { + "date": "2026-01-18", + "value": 15 + }, + { + "date": "2026-01-24", + "value": 16 + }, + { + "date": "2026-01-30", + "value": 11 + }, + { + "date": "2026-02-04", + "value": 13 + }, + { + "date": "2026-02-10", + "value": 14 + }, + { + "date": "2026-02-16", + "value": 15 + }, + { + "date": "2026-02-22", + "value": 10 + }, + { + "date": "2026-02-28", + "value": 11 + }, + { + "date": "2026-03-05", + "value": 13 + }, + { + "date": "2026-03-11", + "value": 14 + }, + { + "date": "2026-03-17", + "value": 8 + }, + { + "date": "2026-03-23", + "value": 10 + }, + { + "date": "2026-03-29", + "value": 11 + }, + { + "date": "2026-04-06", + "value": 16 + }, + { + "date": "2026-04-12", + "value": 10 + }, + { + "date": "2026-04-18", + "value": 12 + }, + { + "date": "2026-04-24", + "value": 12 + }, + { + "date": "2026-04-30", + "value": 13 + }, + { + "date": "2026-05-04", + "value": 9 + }, + { + "date": "2026-05-10", + "value": 10 + }, + { + "date": "2026-05-16", + "value": 11 + }, + { + "date": "2026-05-22", + "value": 12 + }, + { + "date": "2026-05-28", + "value": 13 + } + ], + "monthly": [ + { + "month": "2023-03", + "mean": 15.0, + "median": 15.0, + "p10": 9.4, + "p25": 11.5, + "p75": 18.5, + "p90": 20.6, + "n": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "mean": 42.0, + "median": 42.0, + "p10": 42.0, + "p25": 42.0, + "p75": 42.0, + "p90": 42.0, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "mean": 12.0, + "median": 12.0, + "p10": 7.2, + "p25": 9.0, + "p75": 15.0, + "p90": 16.8, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "mean": 14.0, + "median": 12.0, + "p10": 4.0, + "p25": 7.0, + "p75": 20.0, + "p90": 24.8, + "n": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "mean": 10.0, + "median": 10.0, + "p10": 6.0, + "p25": 7.5, + "p75": 12.5, + "p90": 14.0, + "n": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "mean": 12.0, + "median": 12.0, + "p10": 5.6, + "p25": 8.0, + "p75": 16.0, + "p90": 18.4, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "mean": 12.4, + "median": 12.0, + "p10": 10.4, + "p25": 11.0, + "p75": 14.0, + "p90": 14.6, + "n": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "mean": 10.8, + "median": 11.0, + "p10": 8.8, + "p25": 10.0, + "p75": 11.0, + "p90": 12.8, + "n": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "mean": 12.2, + "median": 12.0, + "p10": 10.8, + "p25": 12.0, + "p75": 13.0, + "p90": 13.6, + "n": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "mean": 12.0, + "median": 12.0, + "p10": 10.4, + "p25": 11.0, + "p75": 13.0, + "p90": 13.6, + "n": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "mean": 13.8, + "median": 14.0, + "p10": 11.8, + "p25": 13.0, + "p75": 15.0, + "p90": 15.6, + "n": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "mean": 12.6, + "median": 13.0, + "p10": 10.4, + "p25": 11.0, + "p75": 14.0, + "p90": 14.6, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "mean": 11.2, + "median": 11.0, + "p10": 8.8, + "p25": 10.0, + "p75": 13.0, + "p90": 13.6, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "mean": 12.6, + "median": 12.0, + "p10": 10.8, + "p25": 12.0, + "p75": 13.0, + "p90": 14.8, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "mean": 11.0, + "median": 11.0, + "p10": 9.4, + "p25": 10.0, + "p75": 12.0, + "p90": 12.6, + "n": 5, + "total_kg_days": 264000.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "direct_ship_pla", + "label": "Direct-to-Customer Ship", + "type": "transit", + "material": "90000300001", + "plant": "PL-A\u2192Customer", + "stats": { + "n": 35, + "mean": 20.9, + "median": 21.0, + "std": 4.6, + "min": 12, + "max": 38, + "p25": 18.5, + "p75": 23.0, + "p85": 24.9, + "p95": 26.6 + }, + "plifz": null, + "plifz_note": "No planning parameter set", + "pct_exceeding_plifz": null, + "cost": null, + "observations": [ + { + "date": "2023-04-05", + "value": 18 + }, + { + "date": "2023-10-12", + "value": 25 + }, + { + "date": "2024-04-08", + "value": 12 + }, + { + "date": "2024-09-20", + "value": 38 + }, + { + "date": "2024-10-15", + "value": 20 + }, + { + "date": "2025-03-25", + "value": 15 + }, + { + "date": "2025-04-10", + "value": 28 + }, + { + "date": "2025-07-30", + "value": 24 + }, + { + "date": "2025-09-04", + "value": 17 + }, + { + "date": "2025-09-10", + "value": 19 + }, + { + "date": "2025-09-16", + "value": 21 + }, + { + "date": "2025-10-05", + "value": 17 + }, + { + "date": "2025-10-11", + "value": 19 + }, + { + "date": "2025-10-17", + "value": 20 + }, + { + "date": "2025-11-06", + "value": 22 + }, + { + "date": "2025-11-12", + "value": 23 + }, + { + "date": "2025-11-18", + "value": 25 + }, + { + "date": "2025-12-04", + "value": 21 + }, + { + "date": "2025-12-10", + "value": 23 + }, + { + "date": "2025-12-16", + "value": 25 + }, + { + "date": "2026-01-05", + "value": 21 + }, + { + "date": "2026-01-11", + "value": 23 + }, + { + "date": "2026-01-17", + "value": 14 + }, + { + "date": "2026-02-06", + "value": 26 + }, + { + "date": "2026-02-12", + "value": 17 + }, + { + "date": "2026-02-18", + "value": 19 + }, + { + "date": "2026-03-04", + "value": 15 + }, + { + "date": "2026-03-10", + "value": 17 + }, + { + "date": "2026-03-16", + "value": 19 + }, + { + "date": "2026-04-05", + "value": 20 + }, + { + "date": "2026-04-11", + "value": 22 + }, + { + "date": "2026-04-17", + "value": 23 + }, + { + "date": "2026-05-06", + "value": 20 + }, + { + "date": "2026-05-12", + "value": 21 + }, + { + "date": "2026-05-18", + "value": 23 + } + ], + "monthly": [ + { + "month": "2023-04", + "mean": 18.0, + "median": 18.0, + "p10": 18.0, + "p25": 18.0, + "p75": 18.0, + "p90": 18.0, + "n": 1 + }, + { + "month": "2023-10", + "mean": 25.0, + "median": 25.0, + "p10": 25.0, + "p25": 25.0, + "p75": 25.0, + "p90": 25.0, + "n": 1 + }, + { + "month": "2024-04", + "mean": 12.0, + "median": 12.0, + "p10": 12.0, + "p25": 12.0, + "p75": 12.0, + "p90": 12.0, + "n": 1 + }, + { + "month": "2024-09", + "mean": 38.0, + "median": 38.0, + "p10": 38.0, + "p25": 38.0, + "p75": 38.0, + "p90": 38.0, + "n": 1 + }, + { + "month": "2024-10", + "mean": 20.0, + "median": 20.0, + "p10": 20.0, + "p25": 20.0, + "p75": 20.0, + "p90": 20.0, + "n": 1 + }, + { + "month": "2025-03", + "mean": 15.0, + "median": 15.0, + "p10": 15.0, + "p25": 15.0, + "p75": 15.0, + "p90": 15.0, + "n": 1 + }, + { + "month": "2025-04", + "mean": 28.0, + "median": 28.0, + "p10": 28.0, + "p25": 28.0, + "p75": 28.0, + "p90": 28.0, + "n": 1 + }, + { + "month": "2025-07", + "mean": 24.0, + "median": 24.0, + "p10": 24.0, + "p25": 24.0, + "p75": 24.0, + "p90": 24.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 19.0, + "median": 19.0, + "p10": 17.4, + "p25": 18.0, + "p75": 20.0, + "p90": 20.6, + "n": 3 + }, + { + "month": "2025-10", + "mean": 18.7, + "median": 19.0, + "p10": 17.4, + "p25": 18.0, + "p75": 19.5, + "p90": 19.8, + "n": 3 + }, + { + "month": "2025-11", + "mean": 23.3, + "median": 23.0, + "p10": 22.2, + "p25": 22.5, + "p75": 24.0, + "p90": 24.6, + "n": 3 + }, + { + "month": "2025-12", + "mean": 23.0, + "median": 23.0, + "p10": 21.4, + "p25": 22.0, + "p75": 24.0, + "p90": 24.6, + "n": 3 + }, + { + "month": "2026-01", + "mean": 19.3, + "median": 21.0, + "p10": 15.4, + "p25": 17.5, + "p75": 22.0, + "p90": 22.6, + "n": 3 + }, + { + "month": "2026-02", + "mean": 20.7, + "median": 19.0, + "p10": 17.4, + "p25": 18.0, + "p75": 22.5, + "p90": 24.6, + "n": 3 + }, + { + "month": "2026-03", + "mean": 17.0, + "median": 17.0, + "p10": 15.4, + "p25": 16.0, + "p75": 18.0, + "p90": 18.6, + "n": 3 + }, + { + "month": "2026-04", + "mean": 21.7, + "median": 22.0, + "p10": 20.4, + "p25": 21.0, + "p75": 22.5, + "p90": 22.8, + "n": 3 + }, + { + "month": "2026-05", + "mean": 21.3, + "median": 21.0, + "p10": 20.2, + "p25": 20.5, + "p75": 22.0, + "p90": 22.6, + "n": 3 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 22.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 22.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "transit_pla_hub1", + "label": "Transit PL-A \u2192 HUB-1", + "type": "transit", + "material": "90000300001", + "plant": "PL-A\u2192HUB-1", + "stats": { + "n": 42, + "mean": 31.3, + "median": 30.5, + "std": 7.1, + "min": 15, + "max": 55, + "p25": 27.0, + "p75": 36.0, + "p85": 38.0, + "p95": 41.9 + }, + "plifz": 28, + "plifz_note": null, + "pct_exceeding_plifz": 61.9, + "cost": null, + "observations": [ + { + "date": "2022-07-20", + "value": 28 + }, + { + "date": "2022-11-30", + "value": 35 + }, + { + "date": "2023-03-15", + "value": 22 + }, + { + "date": "2023-07-10", + "value": 42 + }, + { + "date": "2023-10-25", + "value": 30 + }, + { + "date": "2024-02-08", + "value": 55 + }, + { + "date": "2024-05-20", + "value": 25 + }, + { + "date": "2024-08-12", + "value": 38 + }, + { + "date": "2024-11-05", + "value": 15 + }, + { + "date": "2025-01-22", + "value": 32 + }, + { + "date": "2025-04-10", + "value": 28 + }, + { + "date": "2025-06-18", + "value": 45 + }, + { + "date": "2025-07-15", + "value": 30 + }, + { + "date": "2025-08-05", + "value": 22 + }, + { + "date": "2025-09-05", + "value": 36 + }, + { + "date": "2025-09-10", + "value": 38 + }, + { + "date": "2025-09-11", + "value": 39 + }, + { + "date": "2025-09-17", + "value": 26 + }, + { + "date": "2025-10-06", + "value": 36 + }, + { + "date": "2025-10-12", + "value": 23 + }, + { + "date": "2025-10-18", + "value": 26 + }, + { + "date": "2025-11-04", + "value": 27 + }, + { + "date": "2025-11-10", + "value": 31 + }, + { + "date": "2025-11-16", + "value": 33 + }, + { + "date": "2025-12-05", + "value": 27 + }, + { + "date": "2025-12-11", + "value": 29 + }, + { + "date": "2025-12-17", + "value": 32 + }, + { + "date": "2026-01-06", + "value": 26 + }, + { + "date": "2026-01-12", + "value": 29 + }, + { + "date": "2026-01-18", + "value": 31 + }, + { + "date": "2026-02-04", + "value": 33 + }, + { + "date": "2026-02-10", + "value": 36 + }, + { + "date": "2026-02-16", + "value": 39 + }, + { + "date": "2026-03-05", + "value": 33 + }, + { + "date": "2026-03-11", + "value": 36 + }, + { + "date": "2026-03-17", + "value": 23 + }, + { + "date": "2026-04-06", + "value": 40 + }, + { + "date": "2026-04-12", + "value": 27 + }, + { + "date": "2026-04-18", + "value": 31 + }, + { + "date": "2026-05-04", + "value": 24 + }, + { + "date": "2026-05-10", + "value": 27 + }, + { + "date": "2026-05-16", + "value": 29 + } + ], + "monthly": [ + { + "month": "2022-07", + "mean": 28.0, + "median": 28.0, + "p10": 28.0, + "p25": 28.0, + "p75": 28.0, + "p90": 28.0, + "n": 1 + }, + { + "month": "2022-11", + "mean": 35.0, + "median": 35.0, + "p10": 35.0, + "p25": 35.0, + "p75": 35.0, + "p90": 35.0, + "n": 1 + }, + { + "month": "2023-03", + "mean": 22.0, + "median": 22.0, + "p10": 22.0, + "p25": 22.0, + "p75": 22.0, + "p90": 22.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 42.0, + "median": 42.0, + "p10": 42.0, + "p25": 42.0, + "p75": 42.0, + "p90": 42.0, + "n": 1 + }, + { + "month": "2023-10", + "mean": 30.0, + "median": 30.0, + "p10": 30.0, + "p25": 30.0, + "p75": 30.0, + "p90": 30.0, + "n": 1 + }, + { + "month": "2024-02", + "mean": 55.0, + "median": 55.0, + "p10": 55.0, + "p25": 55.0, + "p75": 55.0, + "p90": 55.0, + "n": 1 + }, + { + "month": "2024-05", + "mean": 25.0, + "median": 25.0, + "p10": 25.0, + "p25": 25.0, + "p75": 25.0, + "p90": 25.0, + "n": 1 + }, + { + "month": "2024-08", + "mean": 38.0, + "median": 38.0, + "p10": 38.0, + "p25": 38.0, + "p75": 38.0, + "p90": 38.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 15.0, + "median": 15.0, + "p10": 15.0, + "p25": 15.0, + "p75": 15.0, + "p90": 15.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 32.0, + "median": 32.0, + "p10": 32.0, + "p25": 32.0, + "p75": 32.0, + "p90": 32.0, + "n": 1 + }, + { + "month": "2025-04", + "mean": 28.0, + "median": 28.0, + "p10": 28.0, + "p25": 28.0, + "p75": 28.0, + "p90": 28.0, + "n": 1 + }, + { + "month": "2025-06", + "mean": 45.0, + "median": 45.0, + "p10": 45.0, + "p25": 45.0, + "p75": 45.0, + "p90": 45.0, + "n": 1 + }, + { + "month": "2025-07", + "mean": 30.0, + "median": 30.0, + "p10": 30.0, + "p25": 30.0, + "p75": 30.0, + "p90": 30.0, + "n": 1 + }, + { + "month": "2025-08", + "mean": 22.0, + "median": 22.0, + "p10": 22.0, + "p25": 22.0, + "p75": 22.0, + "p90": 22.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 34.8, + "median": 37.0, + "p10": 29.0, + "p25": 33.5, + "p75": 38.3, + "p90": 38.7, + "n": 4 + }, + { + "month": "2025-10", + "mean": 28.3, + "median": 26.0, + "p10": 23.6, + "p25": 24.5, + "p75": 31.0, + "p90": 34.0, + "n": 3 + }, + { + "month": "2025-11", + "mean": 30.3, + "median": 31.0, + "p10": 27.8, + "p25": 29.0, + "p75": 32.0, + "p90": 32.6, + "n": 3 + }, + { + "month": "2025-12", + "mean": 29.3, + "median": 29.0, + "p10": 27.4, + "p25": 28.0, + "p75": 30.5, + "p90": 31.4, + "n": 3 + }, + { + "month": "2026-01", + "mean": 28.7, + "median": 29.0, + "p10": 26.6, + "p25": 27.5, + "p75": 30.0, + "p90": 30.6, + "n": 3 + }, + { + "month": "2026-02", + "mean": 36.0, + "median": 36.0, + "p10": 33.6, + "p25": 34.5, + "p75": 37.5, + "p90": 38.4, + "n": 3 + }, + { + "month": "2026-03", + "mean": 30.7, + "median": 33.0, + "p10": 25.0, + "p25": 28.0, + "p75": 34.5, + "p90": 35.4, + "n": 3 + }, + { + "month": "2026-04", + "mean": 32.7, + "median": 31.0, + "p10": 27.8, + "p25": 29.0, + "p75": 35.5, + "p90": 38.2, + "n": 3 + }, + { + "month": "2026-05", + "mean": 26.7, + "median": 27.0, + "p10": 24.6, + "p25": 25.5, + "p75": 28.0, + "p90": 28.6, + "n": 3 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "dest_dwell_hub1", + "label": "Destination Dwell (HUB-1)", + "type": "destination_dwell", + "material": "90000300001", + "plant": "HUB-1", + "stats": { + "n": 37, + "mean": 45.0, + "median": 44.0, + "std": 14.0, + "min": 10, + "max": 95, + "p25": 36.0, + "p75": 49.0, + "p85": 53.0, + "p95": 67.6 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "cost": { + "unit_price": 28.5, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2022-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "n_events": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "n_events": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "n_events": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "n_events": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "n_events": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "n_events": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "n_events": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "n_events": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "n_events": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "n_events": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "n_events": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "n_events": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "n_events": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "n_events": 3, + "total_kg_days": 585600.0 + } + ] + }, + "observations": [ + { + "date": "2022-09-15", + "value": 42 + }, + { + "date": "2023-05-05", + "value": 65 + }, + { + "date": "2023-05-20", + "value": 28 + }, + { + "date": "2024-01-10", + "value": 95 + }, + { + "date": "2024-01-25", + "value": 35 + }, + { + "date": "2024-08-15", + "value": 10 + }, + { + "date": "2025-02-05", + "value": 78 + }, + { + "date": "2025-02-18", + "value": 55 + }, + { + "date": "2025-08-10", + "value": 42 + }, + { + "date": "2025-08-20", + "value": 32 + }, + { + "date": "2025-09-06", + "value": 39 + }, + { + "date": "2025-09-12", + "value": 42 + }, + { + "date": "2025-09-18", + "value": 46 + }, + { + "date": "2025-10-04", + "value": 49 + }, + { + "date": "2025-10-10", + "value": 53 + }, + { + "date": "2025-10-16", + "value": 57 + }, + { + "date": "2025-11-05", + "value": 48 + }, + { + "date": "2025-11-11", + "value": 52 + }, + { + "date": "2025-11-17", + "value": 34 + }, + { + "date": "2025-12-06", + "value": 48 + }, + { + "date": "2025-12-12", + "value": 30 + }, + { + "date": "2025-12-18", + "value": 34 + }, + { + "date": "2026-01-04", + "value": 36 + }, + { + "date": "2026-01-10", + "value": 41 + }, + { + "date": "2026-01-16", + "value": 43 + }, + { + "date": "2026-02-05", + "value": 36 + }, + { + "date": "2026-02-11", + "value": 39 + }, + { + "date": "2026-02-17", + "value": 42 + }, + { + "date": "2026-03-06", + "value": 46 + }, + { + "date": "2026-03-12", + "value": 49 + }, + { + "date": "2026-03-18", + "value": 53 + }, + { + "date": "2026-04-04", + "value": 45 + }, + { + "date": "2026-04-10", + "value": 48 + }, + { + "date": "2026-04-16", + "value": 52 + }, + { + "date": "2026-05-05", + "value": 44 + }, + { + "date": "2026-05-11", + "value": 48 + }, + { + "date": "2026-05-17", + "value": 30 + } + ], + "monthly": [ + { + "month": "2022-09", + "mean": 42.0, + "median": 42.0, + "p10": 42.0, + "p25": 42.0, + "p75": 42.0, + "p90": 42.0, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "mean": 46.5, + "median": 46.5, + "p10": 31.7, + "p25": 37.3, + "p75": 55.8, + "p90": 61.3, + "n": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "mean": 65.0, + "median": 65.0, + "p10": 41.0, + "p25": 50.0, + "p75": 80.0, + "p90": 89.0, + "n": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "mean": 10.0, + "median": 10.0, + "p10": 10.0, + "p25": 10.0, + "p75": 10.0, + "p90": 10.0, + "n": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "mean": 66.5, + "median": 66.5, + "p10": 57.3, + "p25": 60.8, + "p75": 72.3, + "p90": 75.7, + "n": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "mean": 37.0, + "median": 37.0, + "p10": 33.0, + "p25": 34.5, + "p75": 39.5, + "p90": 41.0, + "n": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "mean": 42.3, + "median": 42.0, + "p10": 39.6, + "p25": 40.5, + "p75": 44.0, + "p90": 45.2, + "n": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "mean": 53.0, + "median": 53.0, + "p10": 49.8, + "p25": 51.0, + "p75": 55.0, + "p90": 56.2, + "n": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "mean": 44.7, + "median": 48.0, + "p10": 36.8, + "p25": 41.0, + "p75": 50.0, + "p90": 51.2, + "n": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "mean": 37.3, + "median": 34.0, + "p10": 30.8, + "p25": 32.0, + "p75": 41.0, + "p90": 45.2, + "n": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "mean": 40.0, + "median": 41.0, + "p10": 37.0, + "p25": 38.5, + "p75": 42.0, + "p90": 42.6, + "n": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "mean": 39.0, + "median": 39.0, + "p10": 36.6, + "p25": 37.5, + "p75": 40.5, + "p90": 41.4, + "n": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "mean": 49.3, + "median": 49.0, + "p10": 46.6, + "p25": 47.5, + "p75": 51.0, + "p90": 52.2, + "n": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "mean": 48.3, + "median": 48.0, + "p10": 45.6, + "p25": 46.5, + "p75": 50.0, + "p90": 51.2, + "n": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "mean": 40.7, + "median": 44.0, + "p10": 32.8, + "p25": 37.0, + "p75": 46.0, + "p90": 47.2, + "n": 3, + "total_kg_days": 585600.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 45.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 45.0, + "expected_marginal_per_day": 1.0 + } + } + } + ] + }, + { + "id": "summit-medium-roast", + "name": "Summit Medium Roast", + "nodes": [ + { + "id": "procurement_highland_arabica", + "label": "Procurement: Highland Arabica", + "type": "procurement", + "material": "90000100001", + "plant": "PL-A", + "stats": { + "n": 59, + "mean": 47.4, + "median": 47.2, + "std": 15.7, + "min": 9.4, + "max": 123.9, + "p25": 41.3, + "p75": 53.1, + "p85": 56.6, + "p95": 65.8 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 98.3, + "cost": null, + "observations": [ + { + "date": "2022-03-15", + "value": 64.9 + }, + { + "date": "2022-06-10", + "value": 49.6 + }, + { + "date": "2022-09-22", + "value": 9.4 + }, + { + "date": "2022-12-05", + "value": 74.3 + }, + { + "date": "2023-02-14", + "value": 44.8 + }, + { + "date": "2023-05-30", + "value": 26.0 + }, + { + "date": "2023-08-17", + "value": 83.8 + }, + { + "date": "2023-11-02", + "value": 35.4 + }, + { + "date": "2024-01-25", + "value": 53.1 + }, + { + "date": "2024-04-11", + "value": 21.2 + }, + { + "date": "2024-07-09", + "value": 123.9 + }, + { + "date": "2024-10-03", + "value": 41.3 + }, + { + "date": "2025-01-20", + "value": 14.2 + }, + { + "date": "2025-04-08", + "value": 56.6 + }, + { + "date": "2025-09-05", + "value": 46.0 + }, + { + "date": "2025-09-11", + "value": 48.4 + }, + { + "date": "2025-09-17", + "value": 51.9 + }, + { + "date": "2025-09-23", + "value": 56.6 + }, + { + "date": "2025-09-29", + "value": 60.2 + }, + { + "date": "2025-10-06", + "value": 43.7 + }, + { + "date": "2025-10-12", + "value": 47.2 + }, + { + "date": "2025-10-18", + "value": 51.9 + }, + { + "date": "2025-10-24", + "value": 55.5 + }, + { + "date": "2025-10-30", + "value": 36.6 + }, + { + "date": "2025-11-04", + "value": 42.5 + }, + { + "date": "2025-11-10", + "value": 47.2 + }, + { + "date": "2025-11-16", + "value": 50.7 + }, + { + "date": "2025-11-22", + "value": 31.9 + }, + { + "date": "2025-11-28", + "value": 36.6 + }, + { + "date": "2025-12-05", + "value": 54.3 + }, + { + "date": "2025-12-11", + "value": 57.8 + }, + { + "date": "2025-12-17", + "value": 38.9 + }, + { + "date": "2025-12-23", + "value": 43.7 + }, + { + "date": "2025-12-29", + "value": 46.0 + }, + { + "date": "2026-01-06", + "value": 53.1 + }, + { + "date": "2026-01-12", + "value": 34.2 + }, + { + "date": "2026-01-18", + "value": 38.9 + }, + { + "date": "2026-01-24", + "value": 41.3 + }, + { + "date": "2026-01-30", + "value": 44.8 + }, + { + "date": "2026-02-04", + "value": 41.3 + }, + { + "date": "2026-02-10", + "value": 46.0 + }, + { + "date": "2026-02-16", + "value": 48.4 + }, + { + "date": "2026-02-22", + "value": 51.9 + }, + { + "date": "2026-02-28", + "value": 56.6 + }, + { + "date": "2026-03-05", + "value": 41.3 + }, + { + "date": "2026-03-11", + "value": 43.7 + }, + { + "date": "2026-03-17", + "value": 47.2 + }, + { + "date": "2026-03-23", + "value": 51.9 + }, + { + "date": "2026-03-29", + "value": 55.5 + }, + { + "date": "2026-04-06", + "value": 38.9 + }, + { + "date": "2026-04-12", + "value": 42.5 + }, + { + "date": "2026-04-18", + "value": 47.2 + }, + { + "date": "2026-04-24", + "value": 50.7 + }, + { + "date": "2026-04-30", + "value": 31.9 + }, + { + "date": "2026-05-04", + "value": 49.6 + }, + { + "date": "2026-05-10", + "value": 54.3 + }, + { + "date": "2026-05-16", + "value": 57.8 + }, + { + "date": "2026-05-22", + "value": 38.9 + }, + { + "date": "2026-05-28", + "value": 43.7 + } + ], + "monthly": [ + { + "month": "2022-03", + "mean": 64.9, + "median": 64.9, + "p10": 64.9, + "p25": 64.9, + "p75": 64.9, + "p90": 64.9, + "n": 1 + }, + { + "month": "2022-06", + "mean": 49.6, + "median": 49.6, + "p10": 49.6, + "p25": 49.6, + "p75": 49.6, + "p90": 49.6, + "n": 1 + }, + { + "month": "2022-09", + "mean": 9.4, + "median": 9.4, + "p10": 9.4, + "p25": 9.4, + "p75": 9.4, + "p90": 9.4, + "n": 1 + }, + { + "month": "2022-12", + "mean": 74.3, + "median": 74.3, + "p10": 74.3, + "p25": 74.3, + "p75": 74.3, + "p90": 74.3, + "n": 1 + }, + { + "month": "2023-02", + "mean": 44.8, + "median": 44.8, + "p10": 44.8, + "p25": 44.8, + "p75": 44.8, + "p90": 44.8, + "n": 1 + }, + { + "month": "2023-05", + "mean": 26.0, + "median": 26.0, + "p10": 26.0, + "p25": 26.0, + "p75": 26.0, + "p90": 26.0, + "n": 1 + }, + { + "month": "2023-08", + "mean": 83.8, + "median": 83.8, + "p10": 83.8, + "p25": 83.8, + "p75": 83.8, + "p90": 83.8, + "n": 1 + }, + { + "month": "2023-11", + "mean": 35.4, + "median": 35.4, + "p10": 35.4, + "p25": 35.4, + "p75": 35.4, + "p90": 35.4, + "n": 1 + }, + { + "month": "2024-01", + "mean": 53.1, + "median": 53.1, + "p10": 53.1, + "p25": 53.1, + "p75": 53.1, + "p90": 53.1, + "n": 1 + }, + { + "month": "2024-04", + "mean": 21.2, + "median": 21.2, + "p10": 21.2, + "p25": 21.2, + "p75": 21.2, + "p90": 21.2, + "n": 1 + }, + { + "month": "2024-07", + "mean": 123.9, + "median": 123.9, + "p10": 123.9, + "p25": 123.9, + "p75": 123.9, + "p90": 123.9, + "n": 1 + }, + { + "month": "2024-10", + "mean": 41.3, + "median": 41.3, + "p10": 41.3, + "p25": 41.3, + "p75": 41.3, + "p90": 41.3, + "n": 1 + }, + { + "month": "2025-01", + "mean": 14.2, + "median": 14.2, + "p10": 14.2, + "p25": 14.2, + "p75": 14.2, + "p90": 14.2, + "n": 1 + }, + { + "month": "2025-04", + "mean": 56.6, + "median": 56.6, + "p10": 56.6, + "p25": 56.6, + "p75": 56.6, + "p90": 56.6, + "n": 1 + }, + { + "month": "2025-09", + "mean": 52.6, + "median": 51.9, + "p10": 47.0, + "p25": 48.4, + "p75": 56.6, + "p90": 58.8, + "n": 5 + }, + { + "month": "2025-10", + "mean": 47.0, + "median": 47.2, + "p10": 39.4, + "p25": 43.7, + "p75": 51.9, + "p90": 54.0, + "n": 5 + }, + { + "month": "2025-11", + "mean": 41.8, + "median": 42.5, + "p10": 33.7, + "p25": 36.6, + "p75": 47.2, + "p90": 49.3, + "n": 5 + }, + { + "month": "2025-12", + "mean": 48.1, + "median": 46.0, + "p10": 40.8, + "p25": 43.7, + "p75": 54.3, + "p90": 56.4, + "n": 5 + }, + { + "month": "2026-01", + "mean": 42.5, + "median": 41.3, + "p10": 36.1, + "p25": 38.9, + "p75": 44.8, + "p90": 49.8, + "n": 5 + }, + { + "month": "2026-02", + "mean": 48.9, + "median": 48.4, + "p10": 43.2, + "p25": 46.0, + "p75": 51.9, + "p90": 54.8, + "n": 5 + }, + { + "month": "2026-03", + "mean": 47.9, + "median": 47.2, + "p10": 42.2, + "p25": 43.7, + "p75": 51.9, + "p90": 54.0, + "n": 5 + }, + { + "month": "2026-04", + "mean": 42.2, + "median": 42.5, + "p10": 34.7, + "p25": 38.9, + "p75": 47.2, + "p90": 49.3, + "n": 5 + }, + { + "month": "2026-05", + "mean": 48.9, + "median": 49.6, + "p10": 40.8, + "p25": 43.7, + "p75": 54.3, + "p90": 56.4, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "procurement_lowland_robusta", + "label": "Procurement: Lowland Robusta", + "type": "procurement", + "material": "90000100002", + "plant": "PL-A", + "stats": { + "n": 63, + "mean": 39.4, + "median": 38.9, + "std": 13.5, + "min": 5.9, + "max": 96.8, + "p25": 33.0, + "p75": 44.8, + "p85": 48.0, + "p95": 60.9 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 96.8, + "cost": null, + "observations": [ + { + "date": "2022-02-08", + "value": 37.8 + }, + { + "date": "2022-04-19", + "value": 56.6 + }, + { + "date": "2022-07-11", + "value": 5.9 + }, + { + "date": "2022-09-28", + "value": 79.1 + }, + { + "date": "2022-12-15", + "value": 29.5 + }, + { + "date": "2023-03-07", + "value": 48.4 + }, + { + "date": "2023-05-22", + "value": 17.7 + }, + { + "date": "2023-08-09", + "value": 96.8 + }, + { + "date": "2023-10-30", + "value": 44.8 + }, + { + "date": "2024-01-16", + "value": 23.6 + }, + { + "date": "2024-03-25", + "value": 61.4 + }, + { + "date": "2024-06-12", + "value": 11.8 + }, + { + "date": "2024-08-28", + "value": 51.9 + }, + { + "date": "2024-11-14", + "value": 33.0 + }, + { + "date": "2025-01-06", + "value": 41.3 + }, + { + "date": "2025-03-18", + "value": 21.2 + }, + { + "date": "2025-05-29", + "value": 64.9 + }, + { + "date": "2025-08-12", + "value": 30.7 + }, + { + "date": "2025-09-04", + "value": 30.7 + }, + { + "date": "2025-09-10", + "value": 34.2 + }, + { + "date": "2025-09-16", + "value": 36.6 + }, + { + "date": "2025-09-22", + "value": 40.1 + }, + { + "date": "2025-09-28", + "value": 43.7 + }, + { + "date": "2025-10-05", + "value": 30.7 + }, + { + "date": "2025-10-11", + "value": 33.0 + }, + { + "date": "2025-10-17", + "value": 36.6 + }, + { + "date": "2025-10-23", + "value": 38.9 + }, + { + "date": "2025-10-29", + "value": 42.5 + }, + { + "date": "2025-11-06", + "value": 38.9 + }, + { + "date": "2025-11-12", + "value": 42.5 + }, + { + "date": "2025-11-18", + "value": 44.8 + }, + { + "date": "2025-11-24", + "value": 49.6 + }, + { + "date": "2025-11-30", + "value": 33.0 + }, + { + "date": "2025-12-04", + "value": 37.8 + }, + { + "date": "2025-12-10", + "value": 41.3 + }, + { + "date": "2025-12-16", + "value": 44.8 + }, + { + "date": "2025-12-22", + "value": 28.3 + }, + { + "date": "2025-12-28", + "value": 33.0 + }, + { + "date": "2026-01-05", + "value": 47.2 + }, + { + "date": "2026-01-11", + "value": 50.7 + }, + { + "date": "2026-01-17", + "value": 34.2 + }, + { + "date": "2026-01-23", + "value": 38.9 + }, + { + "date": "2026-01-29", + "value": 41.3 + }, + { + "date": "2026-02-06", + "value": 47.2 + }, + { + "date": "2026-02-12", + "value": 30.7 + }, + { + "date": "2026-02-18", + "value": 34.2 + }, + { + "date": "2026-02-24", + "value": 36.6 + }, + { + "date": "2026-02-30", + "value": 40.1 + }, + { + "date": "2026-03-04", + "value": 26.0 + }, + { + "date": "2026-03-10", + "value": 30.7 + }, + { + "date": "2026-03-16", + "value": 33.0 + }, + { + "date": "2026-03-22", + "value": 36.6 + }, + { + "date": "2026-03-28", + "value": 38.9 + }, + { + "date": "2026-04-05", + "value": 36.6 + }, + { + "date": "2026-04-11", + "value": 38.9 + }, + { + "date": "2026-04-17", + "value": 42.5 + }, + { + "date": "2026-04-23", + "value": 44.8 + }, + { + "date": "2026-04-29", + "value": 49.6 + }, + { + "date": "2026-05-06", + "value": 35.4 + }, + { + "date": "2026-05-12", + "value": 37.8 + }, + { + "date": "2026-05-18", + "value": 41.3 + }, + { + "date": "2026-05-24", + "value": 44.8 + }, + { + "date": "2026-05-30", + "value": 28.3 + } + ], + "monthly": [ + { + "month": "2022-02", + "mean": 37.8, + "median": 37.8, + "p10": 37.8, + "p25": 37.8, + "p75": 37.8, + "p90": 37.8, + "n": 1 + }, + { + "month": "2022-04", + "mean": 56.6, + "median": 56.6, + "p10": 56.6, + "p25": 56.6, + "p75": 56.6, + "p90": 56.6, + "n": 1 + }, + { + "month": "2022-07", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2022-09", + "mean": 79.1, + "median": 79.1, + "p10": 79.1, + "p25": 79.1, + "p75": 79.1, + "p90": 79.1, + "n": 1 + }, + { + "month": "2022-12", + "mean": 29.5, + "median": 29.5, + "p10": 29.5, + "p25": 29.5, + "p75": 29.5, + "p90": 29.5, + "n": 1 + }, + { + "month": "2023-03", + "mean": 48.4, + "median": 48.4, + "p10": 48.4, + "p25": 48.4, + "p75": 48.4, + "p90": 48.4, + "n": 1 + }, + { + "month": "2023-05", + "mean": 17.7, + "median": 17.7, + "p10": 17.7, + "p25": 17.7, + "p75": 17.7, + "p90": 17.7, + "n": 1 + }, + { + "month": "2023-08", + "mean": 96.8, + "median": 96.8, + "p10": 96.8, + "p25": 96.8, + "p75": 96.8, + "p90": 96.8, + "n": 1 + }, + { + "month": "2023-10", + "mean": 44.8, + "median": 44.8, + "p10": 44.8, + "p25": 44.8, + "p75": 44.8, + "p90": 44.8, + "n": 1 + }, + { + "month": "2024-01", + "mean": 23.6, + "median": 23.6, + "p10": 23.6, + "p25": 23.6, + "p75": 23.6, + "p90": 23.6, + "n": 1 + }, + { + "month": "2024-03", + "mean": 61.4, + "median": 61.4, + "p10": 61.4, + "p25": 61.4, + "p75": 61.4, + "p90": 61.4, + "n": 1 + }, + { + "month": "2024-06", + "mean": 11.8, + "median": 11.8, + "p10": 11.8, + "p25": 11.8, + "p75": 11.8, + "p90": 11.8, + "n": 1 + }, + { + "month": "2024-08", + "mean": 51.9, + "median": 51.9, + "p10": 51.9, + "p25": 51.9, + "p75": 51.9, + "p90": 51.9, + "n": 1 + }, + { + "month": "2024-11", + "mean": 33.0, + "median": 33.0, + "p10": 33.0, + "p25": 33.0, + "p75": 33.0, + "p90": 33.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 41.3, + "median": 41.3, + "p10": 41.3, + "p25": 41.3, + "p75": 41.3, + "p90": 41.3, + "n": 1 + }, + { + "month": "2025-03", + "mean": 21.2, + "median": 21.2, + "p10": 21.2, + "p25": 21.2, + "p75": 21.2, + "p90": 21.2, + "n": 1 + }, + { + "month": "2025-05", + "mean": 64.9, + "median": 64.9, + "p10": 64.9, + "p25": 64.9, + "p75": 64.9, + "p90": 64.9, + "n": 1 + }, + { + "month": "2025-08", + "mean": 30.7, + "median": 30.7, + "p10": 30.7, + "p25": 30.7, + "p75": 30.7, + "p90": 30.7, + "n": 1 + }, + { + "month": "2025-09", + "mean": 37.1, + "median": 36.6, + "p10": 32.1, + "p25": 34.2, + "p75": 40.1, + "p90": 42.2, + "n": 5 + }, + { + "month": "2025-10", + "mean": 36.3, + "median": 36.6, + "p10": 31.6, + "p25": 33.0, + "p75": 38.9, + "p90": 41.1, + "n": 5 + }, + { + "month": "2025-11", + "mean": 41.8, + "median": 42.5, + "p10": 35.4, + "p25": 38.9, + "p75": 44.8, + "p90": 47.7, + "n": 5 + }, + { + "month": "2025-12", + "mean": 37.1, + "median": 37.8, + "p10": 30.2, + "p25": 33.0, + "p75": 41.3, + "p90": 43.4, + "n": 5 + }, + { + "month": "2026-01", + "mean": 42.5, + "median": 41.3, + "p10": 36.1, + "p25": 38.9, + "p75": 47.2, + "p90": 49.3, + "n": 5 + }, + { + "month": "2026-02", + "mean": 37.8, + "median": 36.6, + "p10": 32.1, + "p25": 34.2, + "p75": 40.1, + "p90": 44.4, + "n": 5 + }, + { + "month": "2026-03", + "mean": 33.0, + "median": 33.0, + "p10": 27.8, + "p25": 30.7, + "p75": 36.6, + "p90": 38.0, + "n": 5 + }, + { + "month": "2026-04", + "mean": 42.5, + "median": 42.5, + "p10": 37.5, + "p25": 38.9, + "p75": 44.8, + "p90": 47.7, + "n": 5 + }, + { + "month": "2026-05", + "mean": 37.5, + "median": 37.8, + "p10": 31.2, + "p25": 35.4, + "p75": 41.3, + "p90": 43.4, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "procurement_washed_bourbon", + "label": "Procurement: Washed Bourbon", + "type": "procurement", + "material": "90000100003", + "plant": "PL-A", + "stats": { + "n": 55, + "mean": 30.8, + "median": 29.5, + "std": 9.4, + "min": 8.3, + "max": 73.2, + "p25": 26.5, + "p75": 34.2, + "p85": 35.4, + "p95": 43.1 + }, + "plifz": 7, + "plifz_note": null, + "pct_exceeding_plifz": 98.2, + "cost": null, + "observations": [ + { + "date": "2022-05-03", + "value": 41.3 + }, + { + "date": "2022-10-18", + "value": 18.9 + }, + { + "date": "2023-01-24", + "value": 73.2 + }, + { + "date": "2023-06-15", + "value": 8.3 + }, + { + "date": "2023-09-28", + "value": 47.2 + }, + { + "date": "2024-02-12", + "value": 29.5 + }, + { + "date": "2024-05-07", + "value": 56.6 + }, + { + "date": "2024-09-19", + "value": 14.2 + }, + { + "date": "2025-02-04", + "value": 35.4 + }, + { + "date": "2025-06-10", + "value": 16.5 + }, + { + "date": "2025-09-06", + "value": 35.4 + }, + { + "date": "2025-09-12", + "value": 22.4 + }, + { + "date": "2025-09-18", + "value": 26.0 + }, + { + "date": "2025-09-24", + "value": 27.1 + }, + { + "date": "2025-09-30", + "value": 29.5 + }, + { + "date": "2025-10-04", + "value": 27.1 + }, + { + "date": "2025-10-10", + "value": 29.5 + }, + { + "date": "2025-10-16", + "value": 31.9 + }, + { + "date": "2025-10-22", + "value": 34.2 + }, + { + "date": "2025-10-28", + "value": 36.6 + }, + { + "date": "2025-11-05", + "value": 27.1 + }, + { + "date": "2025-11-11", + "value": 29.5 + }, + { + "date": "2025-11-17", + "value": 31.9 + }, + { + "date": "2025-11-23", + "value": 34.2 + }, + { + "date": "2025-11-29", + "value": 36.6 + }, + { + "date": "2025-12-06", + "value": 26.0 + }, + { + "date": "2025-12-12", + "value": 28.3 + }, + { + "date": "2025-12-18", + "value": 30.7 + }, + { + "date": "2025-12-24", + "value": 33.0 + }, + { + "date": "2025-12-30", + "value": 21.2 + }, + { + "date": "2026-01-04", + "value": 33.0 + }, + { + "date": "2026-01-10", + "value": 35.4 + }, + { + "date": "2026-01-16", + "value": 37.8 + }, + { + "date": "2026-01-22", + "value": 26.0 + }, + { + "date": "2026-01-28", + "value": 28.3 + }, + { + "date": "2026-02-05", + "value": 31.9 + }, + { + "date": "2026-02-11", + "value": 35.4 + }, + { + "date": "2026-02-17", + "value": 22.4 + }, + { + "date": "2026-02-23", + "value": 26.0 + }, + { + "date": "2026-02-29", + "value": 27.1 + }, + { + "date": "2026-03-06", + "value": 40.1 + }, + { + "date": "2026-03-12", + "value": 27.1 + }, + { + "date": "2026-03-18", + "value": 29.5 + }, + { + "date": "2026-03-24", + "value": 31.9 + }, + { + "date": "2026-03-30", + "value": 34.2 + }, + { + "date": "2026-04-04", + "value": 23.6 + }, + { + "date": "2026-04-10", + "value": 27.1 + }, + { + "date": "2026-04-16", + "value": 29.5 + }, + { + "date": "2026-04-22", + "value": 31.9 + }, + { + "date": "2026-04-28", + "value": 34.2 + }, + { + "date": "2026-05-05", + "value": 23.6 + }, + { + "date": "2026-05-11", + "value": 26.0 + }, + { + "date": "2026-05-17", + "value": 28.3 + }, + { + "date": "2026-05-23", + "value": 30.7 + }, + { + "date": "2026-05-29", + "value": 33.0 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 41.3, + "median": 41.3, + "p10": 41.3, + "p25": 41.3, + "p75": 41.3, + "p90": 41.3, + "n": 1 + }, + { + "month": "2022-10", + "mean": 18.9, + "median": 18.9, + "p10": 18.9, + "p25": 18.9, + "p75": 18.9, + "p90": 18.9, + "n": 1 + }, + { + "month": "2023-01", + "mean": 73.2, + "median": 73.2, + "p10": 73.2, + "p25": 73.2, + "p75": 73.2, + "p90": 73.2, + "n": 1 + }, + { + "month": "2023-06", + "mean": 8.3, + "median": 8.3, + "p10": 8.3, + "p25": 8.3, + "p75": 8.3, + "p90": 8.3, + "n": 1 + }, + { + "month": "2023-09", + "mean": 47.2, + "median": 47.2, + "p10": 47.2, + "p25": 47.2, + "p75": 47.2, + "p90": 47.2, + "n": 1 + }, + { + "month": "2024-02", + "mean": 29.5, + "median": 29.5, + "p10": 29.5, + "p25": 29.5, + "p75": 29.5, + "p90": 29.5, + "n": 1 + }, + { + "month": "2024-05", + "mean": 56.6, + "median": 56.6, + "p10": 56.6, + "p25": 56.6, + "p75": 56.6, + "p90": 56.6, + "n": 1 + }, + { + "month": "2024-09", + "mean": 14.2, + "median": 14.2, + "p10": 14.2, + "p25": 14.2, + "p75": 14.2, + "p90": 14.2, + "n": 1 + }, + { + "month": "2025-02", + "mean": 35.4, + "median": 35.4, + "p10": 35.4, + "p25": 35.4, + "p75": 35.4, + "p90": 35.4, + "n": 1 + }, + { + "month": "2025-06", + "mean": 16.5, + "median": 16.5, + "p10": 16.5, + "p25": 16.5, + "p75": 16.5, + "p90": 16.5, + "n": 1 + }, + { + "month": "2025-09", + "mean": 28.1, + "median": 27.1, + "p10": 23.8, + "p25": 26.0, + "p75": 29.5, + "p90": 33.0, + "n": 5 + }, + { + "month": "2025-10", + "mean": 31.9, + "median": 31.9, + "p10": 28.1, + "p25": 29.5, + "p75": 34.2, + "p90": 35.6, + "n": 5 + }, + { + "month": "2025-11", + "mean": 31.9, + "median": 31.9, + "p10": 28.1, + "p25": 29.5, + "p75": 34.2, + "p90": 35.6, + "n": 5 + }, + { + "month": "2025-12", + "mean": 27.8, + "median": 28.3, + "p10": 23.1, + "p25": 26.0, + "p75": 30.7, + "p90": 32.1, + "n": 5 + }, + { + "month": "2026-01", + "mean": 32.1, + "median": 33.0, + "p10": 26.9, + "p25": 28.3, + "p75": 35.4, + "p90": 36.8, + "n": 5 + }, + { + "month": "2026-02", + "mean": 28.6, + "median": 27.1, + "p10": 23.8, + "p25": 26.0, + "p75": 31.9, + "p90": 34.0, + "n": 5 + }, + { + "month": "2026-03", + "mean": 32.6, + "median": 31.9, + "p10": 28.1, + "p25": 29.5, + "p75": 34.2, + "p90": 37.8, + "n": 5 + }, + { + "month": "2026-04", + "mean": 29.3, + "median": 29.5, + "p10": 25.0, + "p25": 27.1, + "p75": 31.9, + "p90": 33.3, + "n": 5 + }, + { + "month": "2026-05", + "mean": 28.3, + "median": 28.3, + "p10": 24.5, + "p25": 26.0, + "p75": 30.7, + "p90": 32.1, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_highland_arabica", + "label": "Raw Material Dwell: Highland Arabica", + "type": "raw_material_dwell", + "material": "90000100001", + "plant": "PL-A", + "stats": { + "n": 83, + "mean": 57.0, + "median": 54.3, + "std": 23.4, + "min": 5.9, + "max": 153.4, + "p25": 45.4, + "p75": 64.3, + "p85": 72.0, + "p95": 103.5 + }, + "plifz": 30, + "plifz_note": null, + "pct_exceeding_plifz": 89.2, + "cost": { + "unit_price": 3.776, + "currency": "CHF", + "mean_qty": 4200.0, + "monthly": [ + { + "month": "2022-04", + "n_events": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "n_events": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "n_events": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "n_events": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "n_events": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "n_events": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "n_events": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "n_events": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "n_events": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "n_events": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 827400.0 + } + ] + }, + "observations": [ + { + "date": "2022-04-02", + "value": 41.3 + }, + { + "date": "2022-04-15", + "value": 73.2 + }, + { + "date": "2022-04-28", + "value": 21.2 + }, + { + "date": "2022-08-05", + "value": 103.8 + }, + { + "date": "2022-08-12", + "value": 49.6 + }, + { + "date": "2022-08-20", + "value": 64.9 + }, + { + "date": "2022-08-28", + "value": 35.4 + }, + { + "date": "2023-01-10", + "value": 85.0 + }, + { + "date": "2023-01-22", + "value": 29.5 + }, + { + "date": "2023-01-30", + "value": 56.6 + }, + { + "date": "2023-06-05", + "value": 17.7 + }, + { + "date": "2023-06-18", + "value": 112.1 + }, + { + "date": "2023-10-03", + "value": 153.4 + }, + { + "date": "2023-10-10", + "value": 53.1 + }, + { + "date": "2023-10-18", + "value": 44.8 + }, + { + "date": "2023-10-25", + "value": 76.7 + }, + { + "date": "2023-10-30", + "value": 26.0 + }, + { + "date": "2024-03-05", + "value": 92.0 + }, + { + "date": "2024-03-12", + "value": 5.9 + }, + { + "date": "2024-03-20", + "value": 64.9 + }, + { + "date": "2024-03-28", + "value": 47.2 + }, + { + "date": "2024-07-08", + "value": 33.0 + }, + { + "date": "2024-07-15", + "value": 100.3 + }, + { + "date": "2024-07-22", + "value": 59.0 + }, + { + "date": "2024-11-04", + "value": 129.8 + }, + { + "date": "2024-11-11", + "value": 37.8 + }, + { + "date": "2024-11-18", + "value": 80.2 + }, + { + "date": "2024-11-25", + "value": 53.1 + }, + { + "date": "2024-11-30", + "value": 108.6 + }, + { + "date": "2025-03-03", + "value": 23.6 + }, + { + "date": "2025-03-10", + "value": 68.4 + }, + { + "date": "2025-03-17", + "value": 41.3 + }, + { + "date": "2025-03-24", + "value": 49.6 + }, + { + "date": "2025-07-02", + "value": 88.5 + }, + { + "date": "2025-07-09", + "value": 14.2 + }, + { + "date": "2025-07-16", + "value": 56.6 + }, + { + "date": "2025-07-23", + "value": 70.8 + }, + { + "date": "2025-07-30", + "value": 44.8 + }, + { + "date": "2025-09-05", + "value": 57.8 + }, + { + "date": "2025-09-11", + "value": 63.7 + }, + { + "date": "2025-09-17", + "value": 40.1 + }, + { + "date": "2025-09-23", + "value": 46.0 + }, + { + "date": "2025-09-29", + "value": 49.6 + }, + { + "date": "2025-10-06", + "value": 72.0 + }, + { + "date": "2025-10-12", + "value": 48.4 + }, + { + "date": "2025-10-18", + "value": 54.3 + }, + { + "date": "2025-10-24", + "value": 57.8 + }, + { + "date": "2025-10-30", + "value": 62.5 + }, + { + "date": "2025-11-04", + "value": 42.5 + }, + { + "date": "2025-11-10", + "value": 48.4 + }, + { + "date": "2025-11-16", + "value": 51.9 + }, + { + "date": "2025-11-22", + "value": 56.6 + }, + { + "date": "2025-11-28", + "value": 61.4 + }, + { + "date": "2025-12-05", + "value": 42.5 + }, + { + "date": "2025-12-11", + "value": 46.0 + }, + { + "date": "2025-12-17", + "value": 50.7 + }, + { + "date": "2025-12-23", + "value": 55.5 + }, + { + "date": "2025-12-29", + "value": 60.2 + }, + { + "date": "2026-01-06", + "value": 55.5 + }, + { + "date": "2026-01-12", + "value": 59.0 + }, + { + "date": "2026-01-18", + "value": 63.7 + }, + { + "date": "2026-01-24", + "value": 68.4 + }, + { + "date": "2026-01-30", + "value": 46.0 + }, + { + "date": "2026-02-04", + "value": 53.1 + }, + { + "date": "2026-02-10", + "value": 57.8 + }, + { + "date": "2026-02-16", + "value": 63.7 + }, + { + "date": "2026-02-22", + "value": 40.1 + }, + { + "date": "2026-02-28", + "value": 46.0 + }, + { + "date": "2026-03-05", + "value": 66.1 + }, + { + "date": "2026-03-11", + "value": 72.0 + }, + { + "date": "2026-03-17", + "value": 48.4 + }, + { + "date": "2026-03-23", + "value": 54.3 + }, + { + "date": "2026-03-29", + "value": 57.8 + }, + { + "date": "2026-04-06", + "value": 66.1 + }, + { + "date": "2026-04-12", + "value": 42.5 + }, + { + "date": "2026-04-18", + "value": 48.4 + }, + { + "date": "2026-04-24", + "value": 51.9 + }, + { + "date": "2026-04-30", + "value": 56.6 + }, + { + "date": "2026-05-04", + "value": 37.8 + }, + { + "date": "2026-05-10", + "value": 42.5 + }, + { + "date": "2026-05-16", + "value": 46.0 + }, + { + "date": "2026-05-22", + "value": 50.7 + }, + { + "date": "2026-05-28", + "value": 55.5 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 45.2, + "median": 41.3, + "p10": 25.3, + "p25": 31.3, + "p75": 57.2, + "p90": 66.8, + "n": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "mean": 63.5, + "median": 57.2, + "p10": 39.6, + "p25": 46.0, + "p75": 74.7, + "p90": 92.2, + "n": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "mean": 57.0, + "median": 56.6, + "p10": 34.9, + "p25": 43.1, + "p75": 70.8, + "p90": 79.3, + "n": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "mean": 64.9, + "median": 64.9, + "p10": 27.1, + "p25": 41.3, + "p75": 88.5, + "p90": 102.7, + "n": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "mean": 70.8, + "median": 53.1, + "p10": 33.5, + "p25": 44.8, + "p75": 76.7, + "p90": 122.7, + "n": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "mean": 52.5, + "median": 56.0, + "p10": 18.3, + "p25": 36.9, + "p75": 71.7, + "p90": 83.9, + "n": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "mean": 64.1, + "median": 59.0, + "p10": 38.2, + "p25": 46.0, + "p75": 79.6, + "p90": 92.0, + "n": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "mean": 81.9, + "median": 80.2, + "p10": 43.9, + "p25": 53.1, + "p75": 108.6, + "p90": 121.3, + "n": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "mean": 45.8, + "median": 45.4, + "p10": 28.9, + "p25": 36.9, + "p75": 54.3, + "p90": 62.8, + "n": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "mean": 55.0, + "median": 56.6, + "p10": 26.4, + "p25": 44.8, + "p75": 70.8, + "p90": 81.4, + "n": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "mean": 51.4, + "median": 49.6, + "p10": 42.5, + "p25": 46.0, + "p75": 57.8, + "p90": 61.4, + "n": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "mean": 59.0, + "median": 57.8, + "p10": 50.7, + "p25": 54.3, + "p75": 62.5, + "p90": 68.2, + "n": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "mean": 52.2, + "median": 51.9, + "p10": 44.8, + "p25": 48.4, + "p75": 56.6, + "p90": 59.5, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "mean": 51.0, + "median": 50.7, + "p10": 43.9, + "p25": 46.0, + "p75": 55.5, + "p90": 58.3, + "n": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "mean": 58.5, + "median": 59.0, + "p10": 49.8, + "p25": 55.5, + "p75": 63.7, + "p90": 66.6, + "n": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "mean": 52.2, + "median": 53.1, + "p10": 42.5, + "p25": 46.0, + "p75": 57.8, + "p90": 61.4, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "mean": 59.7, + "median": 57.8, + "p10": 50.7, + "p25": 54.3, + "p75": 66.1, + "p90": 69.6, + "n": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "mean": 53.1, + "median": 51.9, + "p10": 44.8, + "p25": 48.4, + "p75": 56.6, + "p90": 62.3, + "n": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "mean": 46.5, + "median": 46.0, + "p10": 39.6, + "p25": 42.5, + "p75": 50.7, + "p90": 53.6, + "n": 5, + "total_kg_days": 827400.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_lowland_robusta", + "label": "Raw Material Dwell: Lowland Robusta", + "type": "raw_material_dwell", + "material": "90000100002", + "plant": "PL-A", + "stats": { + "n": 69, + "mean": 43.2, + "median": 40.1, + "std": 18.6, + "min": 3.5, + "max": 115.6, + "p25": 33.0, + "p75": 48.4, + "p85": 53.1, + "p95": 81.7 + }, + "plifz": 21, + "plifz_note": null, + "pct_exceeding_plifz": 91.3, + "cost": { + "unit_price": 2.124, + "currency": "CHF", + "mean_qty": 6500.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "n_events": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "n_events": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "n_events": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "n_events": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "n_events": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 1131000.0 + } + ] + }, + "observations": [ + { + "date": "2022-05-02", + "value": 33.0 + }, + { + "date": "2022-05-10", + "value": 53.1 + }, + { + "date": "2022-05-18", + "value": 14.2 + }, + { + "date": "2022-05-25", + "value": 73.2 + }, + { + "date": "2023-02-06", + "value": 38.9 + }, + { + "date": "2023-02-14", + "value": 92.0 + }, + { + "date": "2023-02-22", + "value": 23.6 + }, + { + "date": "2023-02-28", + "value": 64.9 + }, + { + "date": "2023-09-05", + "value": 9.4 + }, + { + "date": "2023-09-15", + "value": 49.6 + }, + { + "date": "2023-09-25", + "value": 76.7 + }, + { + "date": "2024-04-03", + "value": 44.8 + }, + { + "date": "2024-04-10", + "value": 17.7 + }, + { + "date": "2024-04-17", + "value": 85.0 + }, + { + "date": "2024-04-24", + "value": 29.5 + }, + { + "date": "2024-10-02", + "value": 56.6 + }, + { + "date": "2024-10-09", + "value": 3.5 + }, + { + "date": "2024-10-16", + "value": 100.3 + }, + { + "date": "2024-10-23", + "value": 35.4 + }, + { + "date": "2024-10-30", + "value": 64.9 + }, + { + "date": "2025-04-07", + "value": 26.0 + }, + { + "date": "2025-04-14", + "value": 47.2 + }, + { + "date": "2025-04-21", + "value": 115.6 + }, + { + "date": "2025-04-28", + "value": 21.2 + }, + { + "date": "2025-09-04", + "value": 46.0 + }, + { + "date": "2025-09-10", + "value": 48.4 + }, + { + "date": "2025-09-16", + "value": 53.1 + }, + { + "date": "2025-09-22", + "value": 35.4 + }, + { + "date": "2025-09-28", + "value": 40.1 + }, + { + "date": "2025-10-05", + "value": 44.8 + }, + { + "date": "2025-10-11", + "value": 48.4 + }, + { + "date": "2025-10-17", + "value": 31.9 + }, + { + "date": "2025-10-23", + "value": 35.4 + }, + { + "date": "2025-10-29", + "value": 37.8 + }, + { + "date": "2025-11-06", + "value": 44.8 + }, + { + "date": "2025-11-12", + "value": 27.1 + }, + { + "date": "2025-11-18", + "value": 31.9 + }, + { + "date": "2025-11-24", + "value": 34.2 + }, + { + "date": "2025-11-30", + "value": 37.8 + }, + { + "date": "2025-12-04", + "value": 33.0 + }, + { + "date": "2025-12-10", + "value": 37.8 + }, + { + "date": "2025-12-16", + "value": 40.1 + }, + { + "date": "2025-12-22", + "value": 43.7 + }, + { + "date": "2025-12-28", + "value": 47.2 + }, + { + "date": "2026-01-05", + "value": 33.0 + }, + { + "date": "2026-01-11", + "value": 36.6 + }, + { + "date": "2026-01-17", + "value": 38.9 + }, + { + "date": "2026-01-23", + "value": 42.5 + }, + { + "date": "2026-01-29", + "value": 46.0 + }, + { + "date": "2026-02-06", + "value": 42.5 + }, + { + "date": "2026-02-12", + "value": 46.0 + }, + { + "date": "2026-02-18", + "value": 48.4 + }, + { + "date": "2026-02-24", + "value": 53.1 + }, + { + "date": "2026-02-30", + "value": 35.4 + }, + { + "date": "2026-03-04", + "value": 41.3 + }, + { + "date": "2026-03-10", + "value": 44.8 + }, + { + "date": "2026-03-16", + "value": 48.4 + }, + { + "date": "2026-03-22", + "value": 31.9 + }, + { + "date": "2026-03-28", + "value": 35.4 + }, + { + "date": "2026-04-05", + "value": 40.1 + }, + { + "date": "2026-04-11", + "value": 44.8 + }, + { + "date": "2026-04-17", + "value": 27.1 + }, + { + "date": "2026-04-23", + "value": 31.9 + }, + { + "date": "2026-04-29", + "value": 34.2 + }, + { + "date": "2026-05-06", + "value": 50.7 + }, + { + "date": "2026-05-12", + "value": 33.0 + }, + { + "date": "2026-05-18", + "value": 37.8 + }, + { + "date": "2026-05-24", + "value": 40.1 + }, + { + "date": "2026-05-30", + "value": 43.7 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 43.4, + "median": 43.1, + "p10": 19.8, + "p25": 28.3, + "p75": 58.2, + "p90": 67.1, + "n": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "mean": 54.9, + "median": 51.9, + "p10": 28.2, + "p25": 35.2, + "p75": 71.7, + "p90": 83.9, + "n": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "mean": 45.2, + "median": 49.6, + "p10": 17.5, + "p25": 29.5, + "p75": 63.1, + "p90": 71.3, + "n": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "mean": 44.2, + "median": 37.2, + "p10": 21.2, + "p25": 26.5, + "p75": 54.9, + "p90": 72.9, + "n": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "mean": 52.2, + "median": 56.6, + "p10": 16.3, + "p25": 35.4, + "p75": 64.9, + "p90": 86.1, + "n": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "mean": 52.5, + "median": 36.6, + "p10": 22.7, + "p25": 24.8, + "p75": 64.3, + "p90": 95.1, + "n": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "mean": 44.6, + "median": 46.0, + "p10": 37.3, + "p25": 40.1, + "p75": 48.4, + "p90": 51.2, + "n": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "mean": 39.6, + "median": 37.8, + "p10": 33.3, + "p25": 35.4, + "p75": 44.8, + "p90": 47.0, + "n": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "mean": 35.2, + "median": 34.2, + "p10": 29.0, + "p25": 31.9, + "p75": 37.8, + "p90": 42.0, + "n": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "mean": 40.4, + "median": 40.1, + "p10": 34.9, + "p25": 37.8, + "p75": 43.7, + "p90": 45.8, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "mean": 39.4, + "median": 38.9, + "p10": 34.5, + "p25": 36.6, + "p75": 42.5, + "p90": 44.6, + "n": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "mean": 45.1, + "median": 46.0, + "p10": 38.2, + "p25": 42.5, + "p75": 48.4, + "p90": 51.2, + "n": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "mean": 40.4, + "median": 41.3, + "p10": 33.3, + "p25": 35.4, + "p75": 44.8, + "p90": 47.0, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "mean": 35.6, + "median": 34.2, + "p10": 29.0, + "p25": 31.9, + "p75": 40.1, + "p90": 43.0, + "n": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "mean": 41.1, + "median": 40.1, + "p10": 34.9, + "p25": 37.8, + "p75": 43.7, + "p90": 47.9, + "n": 5, + "total_kg_days": 1131000.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_washed_bourbon", + "label": "Raw Material Dwell: Washed Bourbon", + "type": "raw_material_dwell", + "material": "90000100003", + "plant": "PL-A", + "stats": { + "n": 70, + "mean": 51.8, + "median": 48.4, + "std": 22.5, + "min": 4.7, + "max": 135.7, + "p25": 40.5, + "p75": 59.0, + "p85": 63.7, + "p95": 96.6 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 95.7, + "cost": { + "unit_price": 6.49, + "currency": "CHF", + "mean_qty": 2800.0, + "monthly": [ + { + "month": "2022-06", + "n_events": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "n_events": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "n_events": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "n_events": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "n_events": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "n_events": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 568400.0 + } + ] + }, + "observations": [ + { + "date": "2022-06-05", + "value": 47.2 + }, + { + "date": "2022-06-15", + "value": 26.0 + }, + { + "date": "2022-06-25", + "value": 80.2 + }, + { + "date": "2023-03-08", + "value": 4.7 + }, + { + "date": "2023-03-15", + "value": 64.9 + }, + { + "date": "2023-03-22", + "value": 135.7 + }, + { + "date": "2023-03-29", + "value": 35.4 + }, + { + "date": "2023-11-06", + "value": 73.2 + }, + { + "date": "2023-11-13", + "value": 21.2 + }, + { + "date": "2023-11-20", + "value": 100.3 + }, + { + "date": "2024-06-03", + "value": 41.3 + }, + { + "date": "2024-06-10", + "value": 85.0 + }, + { + "date": "2024-06-17", + "value": 11.8 + }, + { + "date": "2024-06-24", + "value": 56.6 + }, + { + "date": "2024-06-30", + "value": 112.1 + }, + { + "date": "2025-01-07", + "value": 33.0 + }, + { + "date": "2025-01-14", + "value": 61.4 + }, + { + "date": "2025-01-21", + "value": 17.7 + }, + { + "date": "2025-01-28", + "value": 92.0 + }, + { + "date": "2025-08-04", + "value": 49.6 + }, + { + "date": "2025-08-08", + "value": 9.4 + }, + { + "date": "2025-08-12", + "value": 76.7 + }, + { + "date": "2025-08-16", + "value": 38.9 + }, + { + "date": "2025-08-20", + "value": 118.0 + }, + { + "date": "2025-08-24", + "value": 23.6 + }, + { + "date": "2025-09-06", + "value": 48.4 + }, + { + "date": "2025-09-12", + "value": 53.1 + }, + { + "date": "2025-09-18", + "value": 56.6 + }, + { + "date": "2025-09-24", + "value": 61.4 + }, + { + "date": "2025-09-30", + "value": 40.1 + }, + { + "date": "2025-10-04", + "value": 47.2 + }, + { + "date": "2025-10-10", + "value": 51.9 + }, + { + "date": "2025-10-16", + "value": 56.6 + }, + { + "date": "2025-10-22", + "value": 35.4 + }, + { + "date": "2025-10-28", + "value": 40.1 + }, + { + "date": "2025-11-05", + "value": 59.0 + }, + { + "date": "2025-11-11", + "value": 63.7 + }, + { + "date": "2025-11-17", + "value": 42.5 + }, + { + "date": "2025-11-23", + "value": 48.4 + }, + { + "date": "2025-11-29", + "value": 51.9 + }, + { + "date": "2025-12-06", + "value": 59.0 + }, + { + "date": "2025-12-12", + "value": 37.8 + }, + { + "date": "2025-12-18", + "value": 42.5 + }, + { + "date": "2025-12-24", + "value": 46.0 + }, + { + "date": "2025-12-30", + "value": 50.7 + }, + { + "date": "2026-01-04", + "value": 33.0 + }, + { + "date": "2026-01-10", + "value": 37.8 + }, + { + "date": "2026-01-16", + "value": 41.3 + }, + { + "date": "2026-01-22", + "value": 44.8 + }, + { + "date": "2026-01-28", + "value": 49.6 + }, + { + "date": "2026-02-05", + "value": 46.0 + }, + { + "date": "2026-02-11", + "value": 48.4 + }, + { + "date": "2026-02-17", + "value": 53.1 + }, + { + "date": "2026-02-23", + "value": 56.6 + }, + { + "date": "2026-02-29", + "value": 61.4 + }, + { + "date": "2026-03-06", + "value": 43.7 + }, + { + "date": "2026-03-12", + "value": 47.2 + }, + { + "date": "2026-03-18", + "value": 51.9 + }, + { + "date": "2026-03-24", + "value": 56.6 + }, + { + "date": "2026-03-30", + "value": 35.4 + }, + { + "date": "2026-04-04", + "value": 55.5 + }, + { + "date": "2026-04-10", + "value": 59.0 + }, + { + "date": "2026-04-16", + "value": 63.7 + }, + { + "date": "2026-04-22", + "value": 42.5 + }, + { + "date": "2026-04-28", + "value": 48.4 + }, + { + "date": "2026-05-05", + "value": 54.3 + }, + { + "date": "2026-05-11", + "value": 59.0 + }, + { + "date": "2026-05-17", + "value": 37.8 + }, + { + "date": "2026-05-23", + "value": 42.5 + }, + { + "date": "2026-05-29", + "value": 46.0 + } + ], + "monthly": [ + { + "month": "2022-06", + "mean": 51.1, + "median": 47.2, + "p10": 30.2, + "p25": 36.6, + "p75": 63.7, + "p90": 73.6, + "n": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "mean": 60.2, + "median": 50.1, + "p10": 13.9, + "p25": 27.7, + "p75": 82.6, + "p90": 114.5, + "n": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "mean": 64.9, + "median": 73.2, + "p10": 31.6, + "p25": 47.2, + "p75": 86.7, + "p90": 94.9, + "n": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "mean": 61.4, + "median": 56.6, + "p10": 23.6, + "p25": 41.3, + "p75": 85.0, + "p90": 101.2, + "n": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "mean": 51.1, + "median": 47.2, + "p10": 22.3, + "p25": 29.3, + "p75": 69.0, + "p90": 82.8, + "n": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "mean": 52.7, + "median": 44.2, + "p10": 16.5, + "p25": 27.5, + "p75": 70.0, + "p90": 97.3, + "n": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "mean": 51.9, + "median": 53.1, + "p10": 43.4, + "p25": 48.4, + "p75": 56.6, + "p90": 59.5, + "n": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "mean": 46.3, + "median": 47.2, + "p10": 37.3, + "p25": 40.1, + "p75": 51.9, + "p90": 54.8, + "n": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "mean": 53.1, + "median": 51.9, + "p10": 44.8, + "p25": 48.4, + "p75": 59.0, + "p90": 61.8, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "mean": 47.2, + "median": 46.0, + "p10": 39.6, + "p25": 42.5, + "p75": 50.7, + "p90": 55.7, + "n": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "mean": 41.3, + "median": 41.3, + "p10": 34.9, + "p25": 37.8, + "p75": 44.8, + "p90": 47.7, + "n": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "mean": 53.1, + "median": 53.1, + "p10": 47.0, + "p25": 48.4, + "p75": 56.6, + "p90": 59.5, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "mean": 47.0, + "median": 47.2, + "p10": 38.7, + "p25": 43.7, + "p75": 51.9, + "p90": 54.8, + "n": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "mean": 53.8, + "median": 55.5, + "p10": 44.8, + "p25": 48.4, + "p75": 59.0, + "p90": 61.8, + "n": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "mean": 47.9, + "median": 46.0, + "p10": 39.6, + "p25": 42.5, + "p75": 54.3, + "p90": 57.1, + "n": 5, + "total_kg_days": 568400.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "prod_duration_green_blend", + "label": "Production: Green Blend", + "type": "production", + "material": "90000200001", + "plant": "PL-A", + "stats": { + "n": 50, + "mean": 5.2, + "median": 4.7, + "std": 2.1, + "min": 1.2, + "max": 16.5, + "p25": 3.9, + "p75": 5.9, + "p85": 5.9, + "p95": 7.8 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 10.0, + "cost": null, + "observations": [ + { + "date": "2022-04-18", + "value": 3.5 + }, + { + "date": "2022-07-05", + "value": 5.9 + }, + { + "date": "2022-10-12", + "value": 2.4 + }, + { + "date": "2023-01-20", + "value": 8.3 + }, + { + "date": "2023-04-15", + "value": 4.7 + }, + { + "date": "2023-07-28", + "value": 7.1 + }, + { + "date": "2023-10-05", + "value": 3.5 + }, + { + "date": "2024-01-12", + "value": 16.5 + }, + { + "date": "2024-04-22", + "value": 4.7 + }, + { + "date": "2024-07-10", + "value": 9.4 + }, + { + "date": "2024-10-18", + "value": 3.5 + }, + { + "date": "2025-01-25", + "value": 5.9 + }, + { + "date": "2025-05-08", + "value": 1.2 + }, + { + "date": "2025-08-15", + "value": 7.1 + }, + { + "date": "2025-09-04", + "value": 3.5 + }, + { + "date": "2025-09-10", + "value": 4.7 + }, + { + "date": "2025-09-16", + "value": 4.7 + }, + { + "date": "2025-09-22", + "value": 4.7 + }, + { + "date": "2025-10-05", + "value": 3.5 + }, + { + "date": "2025-10-11", + "value": 4.7 + }, + { + "date": "2025-10-17", + "value": 4.7 + }, + { + "date": "2025-10-23", + "value": 4.7 + }, + { + "date": "2025-11-06", + "value": 4.7 + }, + { + "date": "2025-11-12", + "value": 5.9 + }, + { + "date": "2025-11-18", + "value": 5.9 + }, + { + "date": "2025-11-24", + "value": 5.9 + }, + { + "date": "2025-12-04", + "value": 4.7 + }, + { + "date": "2025-12-10", + "value": 5.9 + }, + { + "date": "2025-12-16", + "value": 5.9 + }, + { + "date": "2025-12-22", + "value": 3.5 + }, + { + "date": "2026-01-05", + "value": 4.7 + }, + { + "date": "2026-01-11", + "value": 5.9 + }, + { + "date": "2026-01-17", + "value": 3.5 + }, + { + "date": "2026-01-23", + "value": 3.5 + }, + { + "date": "2026-02-06", + "value": 5.9 + }, + { + "date": "2026-02-12", + "value": 3.5 + }, + { + "date": "2026-02-18", + "value": 4.7 + }, + { + "date": "2026-02-24", + "value": 4.7 + }, + { + "date": "2026-03-04", + "value": 3.5 + }, + { + "date": "2026-03-10", + "value": 3.5 + }, + { + "date": "2026-03-16", + "value": 4.7 + }, + { + "date": "2026-03-22", + "value": 4.7 + }, + { + "date": "2026-04-05", + "value": 4.7 + }, + { + "date": "2026-04-11", + "value": 4.7 + }, + { + "date": "2026-04-17", + "value": 5.9 + }, + { + "date": "2026-04-23", + "value": 5.9 + }, + { + "date": "2026-05-06", + "value": 4.7 + }, + { + "date": "2026-05-12", + "value": 4.7 + }, + { + "date": "2026-05-18", + "value": 5.9 + }, + { + "date": "2026-05-24", + "value": 5.9 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2022-07", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2023-01", + "mean": 8.3, + "median": 8.3, + "p10": 8.3, + "p25": 8.3, + "p75": 8.3, + "p90": 8.3, + "n": 1 + }, + { + "month": "2023-04", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2023-07", + "mean": 7.1, + "median": 7.1, + "p10": 7.1, + "p25": 7.1, + "p75": 7.1, + "p90": 7.1, + "n": 1 + }, + { + "month": "2023-10", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 16.5, + "median": 16.5, + "p10": 16.5, + "p25": 16.5, + "p75": 16.5, + "p90": 16.5, + "n": 1 + }, + { + "month": "2024-04", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2024-07", + "mean": 9.4, + "median": 9.4, + "p10": 9.4, + "p25": 9.4, + "p75": 9.4, + "p90": 9.4, + "n": 1 + }, + { + "month": "2024-10", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2025-01", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2025-05", + "mean": 1.2, + "median": 1.2, + "p10": 1.2, + "p25": 1.2, + "p75": 1.2, + "p90": 1.2, + "n": 1 + }, + { + "month": "2025-08", + "mean": 7.1, + "median": 7.1, + "p10": 7.1, + "p25": 7.1, + "p75": 7.1, + "p90": 7.1, + "n": 1 + }, + { + "month": "2025-09", + "mean": 4.5, + "median": 4.7, + "p10": 3.9, + "p25": 4.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2025-10", + "mean": 4.5, + "median": 4.7, + "p10": 3.9, + "p25": 4.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2025-11", + "mean": 5.7, + "median": 5.9, + "p10": 5.1, + "p25": 5.7, + "p75": 5.9, + "p90": 5.9, + "n": 4 + }, + { + "month": "2025-12", + "mean": 5.1, + "median": 5.3, + "p10": 3.9, + "p25": 4.5, + "p75": 5.9, + "p90": 5.9, + "n": 4 + }, + { + "month": "2026-01", + "mean": 4.5, + "median": 4.1, + "p10": 3.5, + "p25": 3.5, + "p75": 5.1, + "p90": 5.5, + "n": 4 + }, + { + "month": "2026-02", + "mean": 4.7, + "median": 4.7, + "p10": 3.9, + "p25": 4.5, + "p75": 5.1, + "p90": 5.5, + "n": 4 + }, + { + "month": "2026-03", + "mean": 4.1, + "median": 4.1, + "p10": 3.5, + "p25": 3.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2026-04", + "mean": 5.3, + "median": 5.3, + "p10": 4.7, + "p25": 4.7, + "p75": 5.9, + "p90": 5.9, + "n": 4 + }, + { + "month": "2026-05", + "mean": 5.3, + "median": 5.3, + "p10": 4.7, + "p25": 4.7, + "p75": 5.9, + "p90": 5.9, + "n": 4 + } + ], + "n_batches": 50, + "n_movements": null, + "yield_summary": { + "median": 98.5, + "mean": 97.2, + "reference": 100.0, + "n": 50 + }, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 0.9, + "mean_slack": 5.1, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 0.9 + }, + "direct": { + "binding_share": 0.9, + "mean_slack": 7.2, + "next_bottleneck_days": 27.4, + "expected_marginal_per_day": 0.9 + }, + "hub-1": { + "binding_share": 0.9, + "mean_slack": 2.0, + "next_bottleneck_days": 31.3, + "expected_marginal_per_day": 0.9 + } + } + }, + { + "id": "intermed_dwell_green_blend", + "label": "Intermediate Dwell: Green Blend", + "type": "intermediate_dwell", + "material": "90000200001", + "plant": "PL-A", + "stats": { + "n": 73, + "mean": 20.5, + "median": 18.9, + "std": 10.6, + "min": 2.4, + "max": 64.9, + "p25": 15.3, + "p75": 22.4, + "p85": 24.1, + "p95": 43.7 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 87.7, + "cost": { + "unit_price": 14.75, + "currency": "CHF", + "mean_qty": 3200.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "n_events": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "n_events": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "n_events": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "n_events": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "n_events": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "n_events": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 249600.0 + } + ] + }, + "observations": [ + { + "date": "2022-05-05", + "value": 14.2 + }, + { + "date": "2022-05-15", + "value": 29.5 + }, + { + "date": "2022-05-22", + "value": 9.4 + }, + { + "date": "2022-11-03", + "value": 41.3 + }, + { + "date": "2022-11-10", + "value": 17.7 + }, + { + "date": "2022-11-18", + "value": 5.9 + }, + { + "date": "2022-11-25", + "value": 26.0 + }, + { + "date": "2023-05-08", + "value": 21.2 + }, + { + "date": "2023-05-15", + "value": 47.2 + }, + { + "date": "2023-05-22", + "value": 11.8 + }, + { + "date": "2023-11-06", + "value": 64.9 + }, + { + "date": "2023-11-13", + "value": 2.4 + }, + { + "date": "2023-11-20", + "value": 33.0 + }, + { + "date": "2023-11-27", + "value": 17.7 + }, + { + "date": "2023-11-30", + "value": 9.4 + }, + { + "date": "2024-05-06", + "value": 23.6 + }, + { + "date": "2024-05-13", + "value": 53.1 + }, + { + "date": "2024-05-20", + "value": 14.2 + }, + { + "date": "2024-05-27", + "value": 3.5 + }, + { + "date": "2024-11-04", + "value": 21.2 + }, + { + "date": "2024-11-11", + "value": 35.4 + }, + { + "date": "2024-11-18", + "value": 9.4 + }, + { + "date": "2025-05-05", + "value": 26.0 + }, + { + "date": "2025-05-09", + "value": 41.3 + }, + { + "date": "2025-05-13", + "value": 5.9 + }, + { + "date": "2025-05-17", + "value": 17.7 + }, + { + "date": "2025-05-21", + "value": 49.6 + }, + { + "date": "2025-05-25", + "value": 11.8 + }, + { + "date": "2025-09-05", + "value": 16.5 + }, + { + "date": "2025-09-11", + "value": 18.9 + }, + { + "date": "2025-09-17", + "value": 20.1 + }, + { + "date": "2025-09-23", + "value": 21.2 + }, + { + "date": "2025-09-29", + "value": 22.4 + }, + { + "date": "2025-10-06", + "value": 16.5 + }, + { + "date": "2025-10-12", + "value": 17.7 + }, + { + "date": "2025-10-18", + "value": 18.9 + }, + { + "date": "2025-10-24", + "value": 21.2 + }, + { + "date": "2025-10-30", + "value": 13.0 + }, + { + "date": "2025-11-04", + "value": 21.2 + }, + { + "date": "2025-11-10", + "value": 22.4 + }, + { + "date": "2025-11-16", + "value": 23.6 + }, + { + "date": "2025-11-22", + "value": 16.5 + }, + { + "date": "2025-11-28", + "value": 17.7 + }, + { + "date": "2025-12-05", + "value": 20.1 + }, + { + "date": "2025-12-11", + "value": 22.4 + }, + { + "date": "2025-12-17", + "value": 14.2 + }, + { + "date": "2025-12-23", + "value": 16.5 + }, + { + "date": "2025-12-29", + "value": 17.7 + }, + { + "date": "2026-01-06", + "value": 20.1 + }, + { + "date": "2026-01-12", + "value": 13.0 + }, + { + "date": "2026-01-18", + "value": 14.2 + }, + { + "date": "2026-01-24", + "value": 15.3 + }, + { + "date": "2026-01-30", + "value": 16.5 + }, + { + "date": "2026-02-04", + "value": 15.3 + }, + { + "date": "2026-02-10", + "value": 16.5 + }, + { + "date": "2026-02-16", + "value": 18.9 + }, + { + "date": "2026-02-22", + "value": 20.1 + }, + { + "date": "2026-02-28", + "value": 21.2 + }, + { + "date": "2026-03-05", + "value": 15.3 + }, + { + "date": "2026-03-11", + "value": 16.5 + }, + { + "date": "2026-03-17", + "value": 17.7 + }, + { + "date": "2026-03-23", + "value": 18.9 + }, + { + "date": "2026-03-29", + "value": 21.2 + }, + { + "date": "2026-04-06", + "value": 18.9 + }, + { + "date": "2026-04-12", + "value": 21.2 + }, + { + "date": "2026-04-18", + "value": 22.4 + }, + { + "date": "2026-04-24", + "value": 23.6 + }, + { + "date": "2026-04-30", + "value": 16.5 + }, + { + "date": "2026-05-04", + "value": 18.9 + }, + { + "date": "2026-05-10", + "value": 20.1 + }, + { + "date": "2026-05-16", + "value": 22.4 + }, + { + "date": "2026-05-22", + "value": 14.2 + }, + { + "date": "2026-05-28", + "value": 16.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 17.7, + "median": 14.2, + "p10": 10.4, + "p25": 11.8, + "p75": 21.8, + "p90": 26.4, + "n": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "mean": 22.8, + "median": 21.8, + "p10": 9.4, + "p25": 14.8, + "p75": 29.9, + "p90": 36.7, + "n": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "mean": 26.8, + "median": 21.2, + "p10": 13.7, + "p25": 16.5, + "p75": 34.2, + "p90": 42.0, + "n": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "mean": 25.5, + "median": 17.7, + "p10": 5.2, + "p25": 9.4, + "p75": 33.0, + "p90": 52.2, + "n": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "mean": 23.6, + "median": 18.9, + "p10": 6.7, + "p25": 11.6, + "p75": 31.0, + "p90": 44.2, + "n": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "mean": 22.1, + "median": 21.2, + "p10": 11.8, + "p25": 15.3, + "p75": 28.3, + "p90": 32.6, + "n": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "mean": 25.4, + "median": 21.8, + "p10": 8.8, + "p25": 13.3, + "p75": 37.5, + "p90": 45.4, + "n": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "mean": 19.8, + "median": 20.1, + "p10": 17.5, + "p25": 18.9, + "p75": 21.2, + "p90": 21.9, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "mean": 17.5, + "median": 17.7, + "p10": 14.4, + "p25": 16.5, + "p75": 18.9, + "p90": 20.3, + "n": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "mean": 20.3, + "median": 21.2, + "p10": 17.0, + "p25": 17.7, + "p75": 22.4, + "p90": 23.1, + "n": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "mean": 18.2, + "median": 17.7, + "p10": 15.1, + "p25": 16.5, + "p75": 20.1, + "p90": 21.5, + "n": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "mean": 15.8, + "median": 15.3, + "p10": 13.5, + "p25": 14.2, + "p75": 16.5, + "p90": 18.6, + "n": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "mean": 18.4, + "median": 18.9, + "p10": 15.8, + "p25": 16.5, + "p75": 20.1, + "p90": 20.8, + "n": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "mean": 17.9, + "median": 17.7, + "p10": 15.8, + "p25": 16.5, + "p75": 18.9, + "p90": 20.3, + "n": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "mean": 20.5, + "median": 21.2, + "p10": 17.5, + "p25": 18.9, + "p75": 22.4, + "p90": 23.1, + "n": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "mean": 18.4, + "median": 18.9, + "p10": 15.1, + "p25": 16.5, + "p75": 20.1, + "p90": 21.5, + "n": 5, + "total_kg_days": 249600.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 0.9, + "mean_slack": 5.1, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 0.9 + }, + "direct": { + "binding_share": 0.9, + "mean_slack": 7.2, + "next_bottleneck_days": 27.4, + "expected_marginal_per_day": 0.9 + }, + "hub-1": { + "binding_share": 0.9, + "mean_slack": 2.0, + "next_bottleneck_days": 31.3, + "expected_marginal_per_day": 0.9 + } + } + }, + { + "id": "prod_duration_harbor_dark_roast", + "label": "Production: Harbor Dark Roast", + "type": "production", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 58, + "mean": 3.8, + "median": 3.5, + "std": 1.7, + "min": 0.0, + "max": 11.8, + "p25": 3.5, + "p75": 4.7, + "p85": 4.7, + "p95": 6.1 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 5.2, + "cost": null, + "observations": [ + { + "date": "2022-05-20", + "value": 2.4 + }, + { + "date": "2022-06-10", + "value": 3.5 + }, + { + "date": "2022-07-15", + "value": 1.2 + }, + { + "date": "2022-08-22", + "value": 4.7 + }, + { + "date": "2022-10-05", + "value": 2.4 + }, + { + "date": "2022-11-18", + "value": 5.9 + }, + { + "date": "2023-01-10", + "value": 3.5 + }, + { + "date": "2023-03-25", + "value": 8.3 + }, + { + "date": "2023-05-12", + "value": 2.4 + }, + { + "date": "2023-07-08", + "value": 4.7 + }, + { + "date": "2023-09-15", + "value": 1.2 + }, + { + "date": "2023-11-22", + "value": 3.5 + }, + { + "date": "2024-01-18", + "value": 11.8 + }, + { + "date": "2024-03-08", + "value": 3.5 + }, + { + "date": "2024-05-15", + "value": 2.4 + }, + { + "date": "2024-07-22", + "value": 5.9 + }, + { + "date": "2024-09-10", + "value": 0.0 + }, + { + "date": "2024-11-05", + "value": 4.7 + }, + { + "date": "2025-01-15", + "value": 3.5 + }, + { + "date": "2025-03-20", + "value": 2.4 + }, + { + "date": "2025-05-28", + "value": 7.1 + }, + { + "date": "2025-08-05", + "value": 3.5 + }, + { + "date": "2025-09-05", + "value": 4.7 + }, + { + "date": "2025-09-11", + "value": 4.7 + }, + { + "date": "2025-09-17", + "value": 3.5 + }, + { + "date": "2025-09-23", + "value": 3.5 + }, + { + "date": "2025-10-06", + "value": 4.7 + }, + { + "date": "2025-10-12", + "value": 2.4 + }, + { + "date": "2025-10-18", + "value": 3.5 + }, + { + "date": "2025-10-24", + "value": 3.5 + }, + { + "date": "2025-11-04", + "value": 2.4 + }, + { + "date": "2025-11-10", + "value": 2.4 + }, + { + "date": "2025-11-16", + "value": 3.5 + }, + { + "date": "2025-11-22", + "value": 3.5 + }, + { + "date": "2025-12-05", + "value": 3.5 + }, + { + "date": "2025-12-11", + "value": 3.5 + }, + { + "date": "2025-12-17", + "value": 3.5 + }, + { + "date": "2025-12-23", + "value": 4.7 + }, + { + "date": "2026-01-06", + "value": 3.5 + }, + { + "date": "2026-01-12", + "value": 3.5 + }, + { + "date": "2026-01-18", + "value": 3.5 + }, + { + "date": "2026-01-24", + "value": 4.7 + }, + { + "date": "2026-02-04", + "value": 4.7 + }, + { + "date": "2026-02-10", + "value": 4.7 + }, + { + "date": "2026-02-16", + "value": 4.7 + }, + { + "date": "2026-02-22", + "value": 3.5 + }, + { + "date": "2026-03-05", + "value": 3.5 + }, + { + "date": "2026-03-11", + "value": 4.7 + }, + { + "date": "2026-03-17", + "value": 2.4 + }, + { + "date": "2026-03-23", + "value": 3.5 + }, + { + "date": "2026-04-06", + "value": 3.5 + }, + { + "date": "2026-04-12", + "value": 2.4 + }, + { + "date": "2026-04-18", + "value": 2.4 + }, + { + "date": "2026-04-24", + "value": 3.5 + }, + { + "date": "2026-05-04", + "value": 3.5 + }, + { + "date": "2026-05-10", + "value": 3.5 + }, + { + "date": "2026-05-16", + "value": 3.5 + }, + { + "date": "2026-05-22", + "value": 3.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2022-06", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2022-07", + "mean": 1.2, + "median": 1.2, + "p10": 1.2, + "p25": 1.2, + "p75": 1.2, + "p90": 1.2, + "n": 1 + }, + { + "month": "2022-08", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2022-11", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2023-01", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2023-03", + "mean": 8.3, + "median": 8.3, + "p10": 8.3, + "p25": 8.3, + "p75": 8.3, + "p90": 8.3, + "n": 1 + }, + { + "month": "2023-05", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2023-07", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2023-09", + "mean": 1.2, + "median": 1.2, + "p10": 1.2, + "p25": 1.2, + "p75": 1.2, + "p90": 1.2, + "n": 1 + }, + { + "month": "2023-11", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 11.8, + "median": 11.8, + "p10": 11.8, + "p25": 11.8, + "p75": 11.8, + "p90": 11.8, + "n": 1 + }, + { + "month": "2024-03", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2024-05", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2024-07", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2024-09", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2025-01", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2025-03", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2025-05", + "mean": 7.1, + "median": 7.1, + "p10": 7.1, + "p25": 7.1, + "p75": 7.1, + "p90": 7.1, + "n": 1 + }, + { + "month": "2025-08", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2025-09", + "mean": 4.1, + "median": 4.1, + "p10": 3.5, + "p25": 3.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2025-10", + "mean": 3.5, + "median": 3.5, + "p10": 2.7, + "p25": 3.3, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2025-11", + "mean": 2.9, + "median": 2.9, + "p10": 2.4, + "p25": 2.4, + "p75": 3.5, + "p90": 3.5, + "n": 4 + }, + { + "month": "2025-12", + "mean": 3.9, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2026-01", + "mean": 3.9, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2026-02", + "mean": 4.5, + "median": 4.7, + "p10": 3.9, + "p25": 4.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2026-03", + "mean": 3.5, + "median": 3.5, + "p10": 2.7, + "p25": 3.3, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2026-04", + "mean": 2.9, + "median": 2.9, + "p10": 2.4, + "p25": 2.4, + "p75": 3.5, + "p90": 3.5, + "n": 4 + }, + { + "month": "2026-05", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 4 + } + ], + "n_batches": 58, + "n_movements": null, + "yield_summary": { + "median": 99.2, + "mean": 98.5, + "reference": 100.0, + "n": 58 + }, + "consumption_summary": { + "median_variance": 2.1, + "mean_variance": 3.4, + "n_components": 3, + "n": 58 + }, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 4.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 3.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 4.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "prod_to_qa_pla", + "label": "Production \u2192 QA Release (PL-A)", + "type": "qa_hold", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 58, + "mean": 4.0, + "median": 3.5, + "std": 2.1, + "min": 0.0, + "max": 15.3, + "p25": 3.5, + "p75": 4.7, + "p85": 4.7, + "p95": 7.3 + }, + "plifz": 5, + "plifz_note": "WEBAZ (GR processing days)", + "pct_exceeding_plifz": 6.9, + "cost": null, + "observations": [ + { + "date": "2022-05-22", + "value": 2.4 + }, + { + "date": "2022-06-13", + "value": 1.2 + }, + { + "date": "2022-07-16", + "value": 3.5 + }, + { + "date": "2022-08-26", + "value": 2.4 + }, + { + "date": "2022-10-07", + "value": 5.9 + }, + { + "date": "2022-11-23", + "value": 2.4 + }, + { + "date": "2023-01-13", + "value": 4.7 + }, + { + "date": "2023-04-01", + "value": 3.5 + }, + { + "date": "2023-05-14", + "value": 7.1 + }, + { + "date": "2023-07-12", + "value": 2.4 + }, + { + "date": "2023-09-16", + "value": 15.3 + }, + { + "date": "2023-11-25", + "value": 3.5 + }, + { + "date": "2024-01-28", + "value": 8.3 + }, + { + "date": "2024-03-11", + "value": 1.2 + }, + { + "date": "2024-05-17", + "value": 4.7 + }, + { + "date": "2024-07-27", + "value": 5.9 + }, + { + "date": "2024-09-10", + "value": 2.4 + }, + { + "date": "2024-11-09", + "value": 0.0 + }, + { + "date": "2025-01-18", + "value": 3.5 + }, + { + "date": "2025-03-22", + "value": 9.4 + }, + { + "date": "2025-06-03", + "value": 2.4 + }, + { + "date": "2025-08-08", + "value": 5.9 + }, + { + "date": "2025-09-04", + "value": 2.4 + }, + { + "date": "2025-09-10", + "value": 3.5 + }, + { + "date": "2025-09-16", + "value": 3.5 + }, + { + "date": "2025-09-22", + "value": 3.5 + }, + { + "date": "2025-10-05", + "value": 3.5 + }, + { + "date": "2025-10-11", + "value": 3.5 + }, + { + "date": "2025-10-17", + "value": 4.7 + }, + { + "date": "2025-10-23", + "value": 4.7 + }, + { + "date": "2025-11-06", + "value": 3.5 + }, + { + "date": "2025-11-12", + "value": 3.5 + }, + { + "date": "2025-11-18", + "value": 3.5 + }, + { + "date": "2025-11-24", + "value": 4.7 + }, + { + "date": "2025-12-04", + "value": 3.5 + }, + { + "date": "2025-12-10", + "value": 3.5 + }, + { + "date": "2025-12-16", + "value": 3.5 + }, + { + "date": "2025-12-22", + "value": 2.4 + }, + { + "date": "2026-01-05", + "value": 4.7 + }, + { + "date": "2026-01-11", + "value": 4.7 + }, + { + "date": "2026-01-17", + "value": 3.5 + }, + { + "date": "2026-01-23", + "value": 3.5 + }, + { + "date": "2026-02-06", + "value": 4.7 + }, + { + "date": "2026-02-12", + "value": 2.4 + }, + { + "date": "2026-02-18", + "value": 3.5 + }, + { + "date": "2026-02-24", + "value": 3.5 + }, + { + "date": "2026-03-04", + "value": 3.5 + }, + { + "date": "2026-03-10", + "value": 3.5 + }, + { + "date": "2026-03-16", + "value": 3.5 + }, + { + "date": "2026-03-22", + "value": 4.7 + }, + { + "date": "2026-04-05", + "value": 3.5 + }, + { + "date": "2026-04-11", + "value": 3.5 + }, + { + "date": "2026-04-17", + "value": 3.5 + }, + { + "date": "2026-04-23", + "value": 3.5 + }, + { + "date": "2026-05-06", + "value": 3.5 + }, + { + "date": "2026-05-12", + "value": 3.5 + }, + { + "date": "2026-05-18", + "value": 3.5 + }, + { + "date": "2026-05-24", + "value": 3.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2022-06", + "mean": 1.2, + "median": 1.2, + "p10": 1.2, + "p25": 1.2, + "p75": 1.2, + "p90": 1.2, + "n": 1 + }, + { + "month": "2022-07", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2022-08", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2022-10", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2022-11", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2023-01", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2023-04", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2023-05", + "mean": 7.1, + "median": 7.1, + "p10": 7.1, + "p25": 7.1, + "p75": 7.1, + "p90": 7.1, + "n": 1 + }, + { + "month": "2023-07", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2023-09", + "mean": 15.3, + "median": 15.3, + "p10": 15.3, + "p25": 15.3, + "p75": 15.3, + "p90": 15.3, + "n": 1 + }, + { + "month": "2023-11", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 8.3, + "median": 8.3, + "p10": 8.3, + "p25": 8.3, + "p75": 8.3, + "p90": 8.3, + "n": 1 + }, + { + "month": "2024-03", + "mean": 1.2, + "median": 1.2, + "p10": 1.2, + "p25": 1.2, + "p75": 1.2, + "p90": 1.2, + "n": 1 + }, + { + "month": "2024-05", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2024-07", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2024-09", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2024-11", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2025-03", + "mean": 9.4, + "median": 9.4, + "p10": 9.4, + "p25": 9.4, + "p75": 9.4, + "p90": 9.4, + "n": 1 + }, + { + "month": "2025-06", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2025-08", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2025-09", + "mean": 3.3, + "median": 3.5, + "p10": 2.7, + "p25": 3.3, + "p75": 3.5, + "p90": 3.5, + "n": 4 + }, + { + "month": "2025-10", + "mean": 4.1, + "median": 4.1, + "p10": 3.5, + "p25": 3.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2025-11", + "mean": 3.9, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2025-12", + "mean": 3.3, + "median": 3.5, + "p10": 2.7, + "p25": 3.3, + "p75": 3.5, + "p90": 3.5, + "n": 4 + }, + { + "month": "2026-01", + "mean": 4.1, + "median": 4.1, + "p10": 3.5, + "p25": 3.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2026-02", + "mean": 3.5, + "median": 3.5, + "p10": 2.7, + "p25": 3.3, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2026-03", + "mean": 3.9, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2026-04", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 4 + }, + { + "month": "2026-05", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 4 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": { + "median": 99.2, + "mean": 98.5, + "reference": 100.0, + "n": 58 + }, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 7.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 7.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 6.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "post_qa_ship_pla", + "label": "Post-QA Dwell (PL-A)", + "type": "post_qa_ship", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 57, + "mean": 15.0, + "median": 14.2, + "std": 6.6, + "min": 2.4, + "max": 49.6, + "p25": 11.8, + "p75": 16.5, + "p85": 17.7, + "p95": 24.1 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "cost": { + "unit_price": 33.63, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2023-03", + "n_events": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "n_events": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "n_events": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 264000.0 + } + ] + }, + "observations": [ + { + "date": "2023-03-10", + "value": 9.4 + }, + { + "date": "2023-03-25", + "value": 26.0 + }, + { + "date": "2023-09-20", + "value": 49.6 + }, + { + "date": "2024-03-15", + "value": 7.1 + }, + { + "date": "2024-03-28", + "value": 21.2 + }, + { + "date": "2024-09-05", + "value": 33.0 + }, + { + "date": "2024-09-15", + "value": 14.2 + }, + { + "date": "2024-09-25", + "value": 2.4 + }, + { + "date": "2025-03-10", + "value": 17.7 + }, + { + "date": "2025-03-22", + "value": 5.9 + }, + { + "date": "2025-07-08", + "value": 23.6 + }, + { + "date": "2025-07-22", + "value": 4.7 + }, + { + "date": "2025-09-05", + "value": 16.5 + }, + { + "date": "2025-09-11", + "value": 17.7 + }, + { + "date": "2025-09-17", + "value": 11.8 + }, + { + "date": "2025-09-23", + "value": 13.0 + }, + { + "date": "2025-09-29", + "value": 14.2 + }, + { + "date": "2025-10-06", + "value": 16.5 + }, + { + "date": "2025-10-12", + "value": 9.4 + }, + { + "date": "2025-10-18", + "value": 11.8 + }, + { + "date": "2025-10-24", + "value": 13.0 + }, + { + "date": "2025-10-30", + "value": 13.0 + }, + { + "date": "2025-11-04", + "value": 11.8 + }, + { + "date": "2025-11-10", + "value": 14.2 + }, + { + "date": "2025-11-16", + "value": 14.2 + }, + { + "date": "2025-11-22", + "value": 15.3 + }, + { + "date": "2025-11-28", + "value": 16.5 + }, + { + "date": "2025-12-05", + "value": 11.8 + }, + { + "date": "2025-12-11", + "value": 13.0 + }, + { + "date": "2025-12-17", + "value": 14.2 + }, + { + "date": "2025-12-23", + "value": 15.3 + }, + { + "date": "2025-12-29", + "value": 16.5 + }, + { + "date": "2026-01-06", + "value": 15.3 + }, + { + "date": "2026-01-12", + "value": 16.5 + }, + { + "date": "2026-01-18", + "value": 17.7 + }, + { + "date": "2026-01-24", + "value": 18.9 + }, + { + "date": "2026-01-30", + "value": 13.0 + }, + { + "date": "2026-02-04", + "value": 15.3 + }, + { + "date": "2026-02-10", + "value": 16.5 + }, + { + "date": "2026-02-16", + "value": 17.7 + }, + { + "date": "2026-02-22", + "value": 11.8 + }, + { + "date": "2026-02-28", + "value": 13.0 + }, + { + "date": "2026-03-05", + "value": 15.3 + }, + { + "date": "2026-03-11", + "value": 16.5 + }, + { + "date": "2026-03-17", + "value": 9.4 + }, + { + "date": "2026-03-23", + "value": 11.8 + }, + { + "date": "2026-03-29", + "value": 13.0 + }, + { + "date": "2026-04-06", + "value": 18.9 + }, + { + "date": "2026-04-12", + "value": 11.8 + }, + { + "date": "2026-04-18", + "value": 14.2 + }, + { + "date": "2026-04-24", + "value": 14.2 + }, + { + "date": "2026-04-30", + "value": 15.3 + }, + { + "date": "2026-05-04", + "value": 10.6 + }, + { + "date": "2026-05-10", + "value": 11.8 + }, + { + "date": "2026-05-16", + "value": 13.0 + }, + { + "date": "2026-05-22", + "value": 14.2 + }, + { + "date": "2026-05-28", + "value": 15.3 + } + ], + "monthly": [ + { + "month": "2023-03", + "mean": 17.7, + "median": 17.7, + "p10": 11.1, + "p25": 13.6, + "p75": 21.8, + "p90": 24.3, + "n": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "mean": 49.6, + "median": 49.6, + "p10": 49.6, + "p25": 49.6, + "p75": 49.6, + "p90": 49.6, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "mean": 14.2, + "median": 14.2, + "p10": 8.5, + "p25": 10.6, + "p75": 17.7, + "p90": 19.8, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "mean": 16.5, + "median": 14.2, + "p10": 4.7, + "p25": 8.3, + "p75": 23.6, + "p90": 29.3, + "n": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "mean": 11.8, + "median": 11.8, + "p10": 7.1, + "p25": 8.8, + "p75": 14.8, + "p90": 16.5, + "n": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "mean": 14.2, + "median": 14.2, + "p10": 6.6, + "p25": 9.4, + "p75": 18.9, + "p90": 21.7, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "mean": 14.6, + "median": 14.2, + "p10": 12.3, + "p25": 13.0, + "p75": 16.5, + "p90": 17.2, + "n": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "mean": 12.7, + "median": 13.0, + "p10": 10.4, + "p25": 11.8, + "p75": 13.0, + "p90": 15.1, + "n": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "mean": 14.4, + "median": 14.2, + "p10": 12.7, + "p25": 14.2, + "p75": 15.3, + "p90": 16.0, + "n": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "mean": 14.2, + "median": 14.2, + "p10": 12.3, + "p25": 13.0, + "p75": 15.3, + "p90": 16.0, + "n": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "mean": 16.3, + "median": 16.5, + "p10": 13.9, + "p25": 15.3, + "p75": 17.7, + "p90": 18.4, + "n": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "mean": 14.9, + "median": 15.3, + "p10": 12.3, + "p25": 13.0, + "p75": 16.5, + "p90": 17.2, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "mean": 13.2, + "median": 13.0, + "p10": 10.4, + "p25": 11.8, + "p75": 15.3, + "p90": 16.0, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "mean": 14.9, + "median": 14.2, + "p10": 12.7, + "p25": 14.2, + "p75": 15.3, + "p90": 17.5, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "mean": 13.0, + "median": 13.0, + "p10": 11.1, + "p25": 11.8, + "p75": 14.2, + "p90": 14.9, + "n": 5, + "total_kg_days": 264000.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "direct_ship_pla", + "label": "Direct-to-Customer Ship", + "type": "transit", + "material": "90000300001", + "plant": "PL-A\u2192Customer", + "stats": { + "n": 35, + "mean": 24.7, + "median": 24.8, + "std": 5.4, + "min": 14.2, + "max": 44.8, + "p25": 21.8, + "p75": 27.1, + "p85": 29.4, + "p95": 31.4 + }, + "plifz": null, + "plifz_note": "No planning parameter set", + "pct_exceeding_plifz": null, + "cost": null, + "observations": [ + { + "date": "2023-04-05", + "value": 21.2 + }, + { + "date": "2023-10-12", + "value": 29.5 + }, + { + "date": "2024-04-08", + "value": 14.2 + }, + { + "date": "2024-09-20", + "value": 44.8 + }, + { + "date": "2024-10-15", + "value": 23.6 + }, + { + "date": "2025-03-25", + "value": 17.7 + }, + { + "date": "2025-04-10", + "value": 33.0 + }, + { + "date": "2025-07-30", + "value": 28.3 + }, + { + "date": "2025-09-04", + "value": 20.1 + }, + { + "date": "2025-09-10", + "value": 22.4 + }, + { + "date": "2025-09-16", + "value": 24.8 + }, + { + "date": "2025-10-05", + "value": 20.1 + }, + { + "date": "2025-10-11", + "value": 22.4 + }, + { + "date": "2025-10-17", + "value": 23.6 + }, + { + "date": "2025-11-06", + "value": 26.0 + }, + { + "date": "2025-11-12", + "value": 27.1 + }, + { + "date": "2025-11-18", + "value": 29.5 + }, + { + "date": "2025-12-04", + "value": 24.8 + }, + { + "date": "2025-12-10", + "value": 27.1 + }, + { + "date": "2025-12-16", + "value": 29.5 + }, + { + "date": "2026-01-05", + "value": 24.8 + }, + { + "date": "2026-01-11", + "value": 27.1 + }, + { + "date": "2026-01-17", + "value": 16.5 + }, + { + "date": "2026-02-06", + "value": 30.7 + }, + { + "date": "2026-02-12", + "value": 20.1 + }, + { + "date": "2026-02-18", + "value": 22.4 + }, + { + "date": "2026-03-04", + "value": 17.7 + }, + { + "date": "2026-03-10", + "value": 20.1 + }, + { + "date": "2026-03-16", + "value": 22.4 + }, + { + "date": "2026-04-05", + "value": 23.6 + }, + { + "date": "2026-04-11", + "value": 26.0 + }, + { + "date": "2026-04-17", + "value": 27.1 + }, + { + "date": "2026-05-06", + "value": 23.6 + }, + { + "date": "2026-05-12", + "value": 24.8 + }, + { + "date": "2026-05-18", + "value": 27.1 + } + ], + "monthly": [ + { + "month": "2023-04", + "mean": 21.2, + "median": 21.2, + "p10": 21.2, + "p25": 21.2, + "p75": 21.2, + "p90": 21.2, + "n": 1 + }, + { + "month": "2023-10", + "mean": 29.5, + "median": 29.5, + "p10": 29.5, + "p25": 29.5, + "p75": 29.5, + "p90": 29.5, + "n": 1 + }, + { + "month": "2024-04", + "mean": 14.2, + "median": 14.2, + "p10": 14.2, + "p25": 14.2, + "p75": 14.2, + "p90": 14.2, + "n": 1 + }, + { + "month": "2024-09", + "mean": 44.8, + "median": 44.8, + "p10": 44.8, + "p25": 44.8, + "p75": 44.8, + "p90": 44.8, + "n": 1 + }, + { + "month": "2024-10", + "mean": 23.6, + "median": 23.6, + "p10": 23.6, + "p25": 23.6, + "p75": 23.6, + "p90": 23.6, + "n": 1 + }, + { + "month": "2025-03", + "mean": 17.7, + "median": 17.7, + "p10": 17.7, + "p25": 17.7, + "p75": 17.7, + "p90": 17.7, + "n": 1 + }, + { + "month": "2025-04", + "mean": 33.0, + "median": 33.0, + "p10": 33.0, + "p25": 33.0, + "p75": 33.0, + "p90": 33.0, + "n": 1 + }, + { + "month": "2025-07", + "mean": 28.3, + "median": 28.3, + "p10": 28.3, + "p25": 28.3, + "p75": 28.3, + "p90": 28.3, + "n": 1 + }, + { + "month": "2025-09", + "mean": 22.4, + "median": 22.4, + "p10": 20.5, + "p25": 21.2, + "p75": 23.6, + "p90": 24.3, + "n": 3 + }, + { + "month": "2025-10", + "mean": 22.1, + "median": 22.4, + "p10": 20.5, + "p25": 21.2, + "p75": 23.0, + "p90": 23.4, + "n": 3 + }, + { + "month": "2025-11", + "mean": 27.5, + "median": 27.1, + "p10": 26.2, + "p25": 26.5, + "p75": 28.3, + "p90": 29.0, + "n": 3 + }, + { + "month": "2025-12", + "mean": 27.1, + "median": 27.1, + "p10": 25.3, + "p25": 26.0, + "p75": 28.3, + "p90": 29.0, + "n": 3 + }, + { + "month": "2026-01", + "mean": 22.8, + "median": 24.8, + "p10": 18.2, + "p25": 20.6, + "p75": 26.0, + "p90": 26.7, + "n": 3 + }, + { + "month": "2026-02", + "mean": 24.4, + "median": 22.4, + "p10": 20.5, + "p25": 21.2, + "p75": 26.5, + "p90": 29.0, + "n": 3 + }, + { + "month": "2026-03", + "mean": 20.1, + "median": 20.1, + "p10": 18.2, + "p25": 18.9, + "p75": 21.2, + "p90": 21.9, + "n": 3 + }, + { + "month": "2026-04", + "mean": 25.6, + "median": 26.0, + "p10": 24.1, + "p25": 24.8, + "p75": 26.5, + "p90": 26.9, + "n": 3 + }, + { + "month": "2026-05", + "mean": 25.1, + "median": 24.8, + "p10": 23.8, + "p25": 24.2, + "p75": 26.0, + "p90": 26.7, + "n": 3 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 22.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 22.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "transit_pla_hub1", + "label": "Transit PL-A \u2192 HUB-1", + "type": "transit", + "material": "90000300001", + "plant": "PL-A\u2192HUB-1", + "stats": { + "n": 42, + "mean": 36.9, + "median": 36.0, + "std": 8.4, + "min": 17.7, + "max": 64.9, + "p25": 31.9, + "p75": 42.5, + "p85": 44.8, + "p95": 49.4 + }, + "plifz": 28, + "plifz_note": null, + "pct_exceeding_plifz": 61.9, + "cost": null, + "observations": [ + { + "date": "2022-07-20", + "value": 33.0 + }, + { + "date": "2022-11-30", + "value": 41.3 + }, + { + "date": "2023-03-15", + "value": 26.0 + }, + { + "date": "2023-07-10", + "value": 49.6 + }, + { + "date": "2023-10-25", + "value": 35.4 + }, + { + "date": "2024-02-08", + "value": 64.9 + }, + { + "date": "2024-05-20", + "value": 29.5 + }, + { + "date": "2024-08-12", + "value": 44.8 + }, + { + "date": "2024-11-05", + "value": 17.7 + }, + { + "date": "2025-01-22", + "value": 37.8 + }, + { + "date": "2025-04-10", + "value": 33.0 + }, + { + "date": "2025-06-18", + "value": 53.1 + }, + { + "date": "2025-07-15", + "value": 35.4 + }, + { + "date": "2025-08-05", + "value": 26.0 + }, + { + "date": "2025-09-05", + "value": 42.5 + }, + { + "date": "2025-09-10", + "value": 44.8 + }, + { + "date": "2025-09-11", + "value": 46.0 + }, + { + "date": "2025-09-17", + "value": 30.7 + }, + { + "date": "2025-10-06", + "value": 42.5 + }, + { + "date": "2025-10-12", + "value": 27.1 + }, + { + "date": "2025-10-18", + "value": 30.7 + }, + { + "date": "2025-11-04", + "value": 31.9 + }, + { + "date": "2025-11-10", + "value": 36.6 + }, + { + "date": "2025-11-16", + "value": 38.9 + }, + { + "date": "2025-12-05", + "value": 31.9 + }, + { + "date": "2025-12-11", + "value": 34.2 + }, + { + "date": "2025-12-17", + "value": 37.8 + }, + { + "date": "2026-01-06", + "value": 30.7 + }, + { + "date": "2026-01-12", + "value": 34.2 + }, + { + "date": "2026-01-18", + "value": 36.6 + }, + { + "date": "2026-02-04", + "value": 38.9 + }, + { + "date": "2026-02-10", + "value": 42.5 + }, + { + "date": "2026-02-16", + "value": 46.0 + }, + { + "date": "2026-03-05", + "value": 38.9 + }, + { + "date": "2026-03-11", + "value": 42.5 + }, + { + "date": "2026-03-17", + "value": 27.1 + }, + { + "date": "2026-04-06", + "value": 47.2 + }, + { + "date": "2026-04-12", + "value": 31.9 + }, + { + "date": "2026-04-18", + "value": 36.6 + }, + { + "date": "2026-05-04", + "value": 28.3 + }, + { + "date": "2026-05-10", + "value": 31.9 + }, + { + "date": "2026-05-16", + "value": 34.2 + } + ], + "monthly": [ + { + "month": "2022-07", + "mean": 33.0, + "median": 33.0, + "p10": 33.0, + "p25": 33.0, + "p75": 33.0, + "p90": 33.0, + "n": 1 + }, + { + "month": "2022-11", + "mean": 41.3, + "median": 41.3, + "p10": 41.3, + "p25": 41.3, + "p75": 41.3, + "p90": 41.3, + "n": 1 + }, + { + "month": "2023-03", + "mean": 26.0, + "median": 26.0, + "p10": 26.0, + "p25": 26.0, + "p75": 26.0, + "p90": 26.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 49.6, + "median": 49.6, + "p10": 49.6, + "p25": 49.6, + "p75": 49.6, + "p90": 49.6, + "n": 1 + }, + { + "month": "2023-10", + "mean": 35.4, + "median": 35.4, + "p10": 35.4, + "p25": 35.4, + "p75": 35.4, + "p90": 35.4, + "n": 1 + }, + { + "month": "2024-02", + "mean": 64.9, + "median": 64.9, + "p10": 64.9, + "p25": 64.9, + "p75": 64.9, + "p90": 64.9, + "n": 1 + }, + { + "month": "2024-05", + "mean": 29.5, + "median": 29.5, + "p10": 29.5, + "p25": 29.5, + "p75": 29.5, + "p90": 29.5, + "n": 1 + }, + { + "month": "2024-08", + "mean": 44.8, + "median": 44.8, + "p10": 44.8, + "p25": 44.8, + "p75": 44.8, + "p90": 44.8, + "n": 1 + }, + { + "month": "2024-11", + "mean": 17.7, + "median": 17.7, + "p10": 17.7, + "p25": 17.7, + "p75": 17.7, + "p90": 17.7, + "n": 1 + }, + { + "month": "2025-01", + "mean": 37.8, + "median": 37.8, + "p10": 37.8, + "p25": 37.8, + "p75": 37.8, + "p90": 37.8, + "n": 1 + }, + { + "month": "2025-04", + "mean": 33.0, + "median": 33.0, + "p10": 33.0, + "p25": 33.0, + "p75": 33.0, + "p90": 33.0, + "n": 1 + }, + { + "month": "2025-06", + "mean": 53.1, + "median": 53.1, + "p10": 53.1, + "p25": 53.1, + "p75": 53.1, + "p90": 53.1, + "n": 1 + }, + { + "month": "2025-07", + "mean": 35.4, + "median": 35.4, + "p10": 35.4, + "p25": 35.4, + "p75": 35.4, + "p90": 35.4, + "n": 1 + }, + { + "month": "2025-08", + "mean": 26.0, + "median": 26.0, + "p10": 26.0, + "p25": 26.0, + "p75": 26.0, + "p90": 26.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 41.1, + "median": 43.7, + "p10": 34.2, + "p25": 39.5, + "p75": 45.2, + "p90": 45.7, + "n": 4 + }, + { + "month": "2025-10", + "mean": 33.4, + "median": 30.7, + "p10": 27.8, + "p25": 28.9, + "p75": 36.6, + "p90": 40.1, + "n": 3 + }, + { + "month": "2025-11", + "mean": 35.8, + "median": 36.6, + "p10": 32.8, + "p25": 34.2, + "p75": 37.8, + "p90": 38.5, + "n": 3 + }, + { + "month": "2025-12", + "mean": 34.6, + "median": 34.2, + "p10": 32.3, + "p25": 33.0, + "p75": 36.0, + "p90": 37.1, + "n": 3 + }, + { + "month": "2026-01", + "mean": 33.9, + "median": 34.2, + "p10": 31.4, + "p25": 32.4, + "p75": 35.4, + "p90": 36.1, + "n": 3 + }, + { + "month": "2026-02", + "mean": 42.5, + "median": 42.5, + "p10": 39.6, + "p25": 40.7, + "p75": 44.2, + "p90": 45.3, + "n": 3 + }, + { + "month": "2026-03", + "mean": 36.2, + "median": 38.9, + "p10": 29.5, + "p25": 33.0, + "p75": 40.7, + "p90": 41.8, + "n": 3 + }, + { + "month": "2026-04", + "mean": 38.6, + "median": 36.6, + "p10": 32.8, + "p25": 34.2, + "p75": 41.9, + "p90": 45.1, + "n": 3 + }, + { + "month": "2026-05", + "mean": 31.5, + "median": 31.9, + "p10": 29.0, + "p25": 30.1, + "p75": 33.0, + "p90": 33.7, + "n": 3 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "dest_dwell_hub1", + "label": "Destination Dwell (HUB-1)", + "type": "destination_dwell", + "material": "90000300001", + "plant": "HUB-1", + "stats": { + "n": 37, + "mean": 53.1, + "median": 51.9, + "std": 16.5, + "min": 11.8, + "max": 112.1, + "p25": 42.5, + "p75": 57.8, + "p85": 62.5, + "p95": 79.8 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "cost": { + "unit_price": 33.63, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2022-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "n_events": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "n_events": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "n_events": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "n_events": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "n_events": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "n_events": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "n_events": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "n_events": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "n_events": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "n_events": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "n_events": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "n_events": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "n_events": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "n_events": 3, + "total_kg_days": 585600.0 + } + ] + }, + "observations": [ + { + "date": "2022-09-15", + "value": 49.6 + }, + { + "date": "2023-05-05", + "value": 76.7 + }, + { + "date": "2023-05-20", + "value": 33.0 + }, + { + "date": "2024-01-10", + "value": 112.1 + }, + { + "date": "2024-01-25", + "value": 41.3 + }, + { + "date": "2024-08-15", + "value": 11.8 + }, + { + "date": "2025-02-05", + "value": 92.0 + }, + { + "date": "2025-02-18", + "value": 64.9 + }, + { + "date": "2025-08-10", + "value": 49.6 + }, + { + "date": "2025-08-20", + "value": 37.8 + }, + { + "date": "2025-09-06", + "value": 46.0 + }, + { + "date": "2025-09-12", + "value": 49.6 + }, + { + "date": "2025-09-18", + "value": 54.3 + }, + { + "date": "2025-10-04", + "value": 57.8 + }, + { + "date": "2025-10-10", + "value": 62.5 + }, + { + "date": "2025-10-16", + "value": 67.3 + }, + { + "date": "2025-11-05", + "value": 56.6 + }, + { + "date": "2025-11-11", + "value": 61.4 + }, + { + "date": "2025-11-17", + "value": 40.1 + }, + { + "date": "2025-12-06", + "value": 56.6 + }, + { + "date": "2025-12-12", + "value": 35.4 + }, + { + "date": "2025-12-18", + "value": 40.1 + }, + { + "date": "2026-01-04", + "value": 42.5 + }, + { + "date": "2026-01-10", + "value": 48.4 + }, + { + "date": "2026-01-16", + "value": 50.7 + }, + { + "date": "2026-02-05", + "value": 42.5 + }, + { + "date": "2026-02-11", + "value": 46.0 + }, + { + "date": "2026-02-17", + "value": 49.6 + }, + { + "date": "2026-03-06", + "value": 54.3 + }, + { + "date": "2026-03-12", + "value": 57.8 + }, + { + "date": "2026-03-18", + "value": 62.5 + }, + { + "date": "2026-04-04", + "value": 53.1 + }, + { + "date": "2026-04-10", + "value": 56.6 + }, + { + "date": "2026-04-16", + "value": 61.4 + }, + { + "date": "2026-05-05", + "value": 51.9 + }, + { + "date": "2026-05-11", + "value": 56.6 + }, + { + "date": "2026-05-17", + "value": 35.4 + } + ], + "monthly": [ + { + "month": "2022-09", + "mean": 49.6, + "median": 49.6, + "p10": 49.6, + "p25": 49.6, + "p75": 49.6, + "p90": 49.6, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "mean": 54.9, + "median": 54.9, + "p10": 37.4, + "p25": 44.0, + "p75": 65.8, + "p90": 72.3, + "n": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "mean": 76.7, + "median": 76.7, + "p10": 48.4, + "p25": 59.0, + "p75": 94.4, + "p90": 105.0, + "n": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "mean": 11.8, + "median": 11.8, + "p10": 11.8, + "p25": 11.8, + "p75": 11.8, + "p90": 11.8, + "n": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "mean": 78.5, + "median": 78.5, + "p10": 67.6, + "p25": 71.7, + "p75": 85.3, + "p90": 89.3, + "n": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "mean": 43.7, + "median": 43.7, + "p10": 38.9, + "p25": 40.7, + "p75": 46.6, + "p90": 48.4, + "n": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "mean": 49.9, + "median": 49.6, + "p10": 46.7, + "p25": 47.8, + "p75": 51.9, + "p90": 53.3, + "n": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "mean": 62.5, + "median": 62.5, + "p10": 58.8, + "p25": 60.2, + "p75": 64.9, + "p90": 66.3, + "n": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "mean": 52.7, + "median": 56.6, + "p10": 43.4, + "p25": 48.4, + "p75": 59.0, + "p90": 60.4, + "n": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "mean": 44.0, + "median": 40.1, + "p10": 36.3, + "p25": 37.8, + "p75": 48.4, + "p90": 53.3, + "n": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "mean": 47.2, + "median": 48.4, + "p10": 43.7, + "p25": 45.4, + "p75": 49.6, + "p90": 50.3, + "n": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "mean": 46.0, + "median": 46.0, + "p10": 43.2, + "p25": 44.2, + "p75": 47.8, + "p90": 48.9, + "n": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "mean": 58.2, + "median": 57.8, + "p10": 55.0, + "p25": 56.0, + "p75": 60.2, + "p90": 61.6, + "n": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "mean": 57.0, + "median": 56.6, + "p10": 53.8, + "p25": 54.9, + "p75": 59.0, + "p90": 60.4, + "n": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "mean": 48.0, + "median": 51.9, + "p10": 38.7, + "p25": 43.7, + "p75": 54.3, + "p90": 55.7, + "n": 3, + "total_kg_days": 585600.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 45.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 45.0, + "expected_marginal_per_day": 1.0 + } + } + } + ] + }, + { + "id": "riverside-decaf", + "name": "Riverside Decaf", + "nodes": [ + { + "id": "procurement_highland_arabica", + "label": "Procurement: Highland Arabica", + "type": "procurement", + "material": "90000100001", + "plant": "PL-A", + "stats": { + "n": 59, + "mean": 33.0, + "median": 32.8, + "std": 10.9, + "min": 6.6, + "max": 86.1, + "p25": 28.7, + "p75": 36.9, + "p85": 39.4, + "p95": 45.8 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 98.3, + "cost": null, + "observations": [ + { + "date": "2022-03-15", + "value": 45.1 + }, + { + "date": "2022-06-10", + "value": 34.4 + }, + { + "date": "2022-09-22", + "value": 6.6 + }, + { + "date": "2022-12-05", + "value": 51.7 + }, + { + "date": "2023-02-14", + "value": 31.2 + }, + { + "date": "2023-05-30", + "value": 18.0 + }, + { + "date": "2023-08-17", + "value": 58.2 + }, + { + "date": "2023-11-02", + "value": 24.6 + }, + { + "date": "2024-01-25", + "value": 36.9 + }, + { + "date": "2024-04-11", + "value": 14.8 + }, + { + "date": "2024-07-09", + "value": 86.1 + }, + { + "date": "2024-10-03", + "value": 28.7 + }, + { + "date": "2025-01-20", + "value": 9.8 + }, + { + "date": "2025-04-08", + "value": 39.4 + }, + { + "date": "2025-09-05", + "value": 32.0 + }, + { + "date": "2025-09-11", + "value": 33.6 + }, + { + "date": "2025-09-17", + "value": 36.1 + }, + { + "date": "2025-09-23", + "value": 39.4 + }, + { + "date": "2025-09-29", + "value": 41.8 + }, + { + "date": "2025-10-06", + "value": 30.3 + }, + { + "date": "2025-10-12", + "value": 32.8 + }, + { + "date": "2025-10-18", + "value": 36.1 + }, + { + "date": "2025-10-24", + "value": 38.5 + }, + { + "date": "2025-10-30", + "value": 25.4 + }, + { + "date": "2025-11-04", + "value": 29.5 + }, + { + "date": "2025-11-10", + "value": 32.8 + }, + { + "date": "2025-11-16", + "value": 35.3 + }, + { + "date": "2025-11-22", + "value": 22.1 + }, + { + "date": "2025-11-28", + "value": 25.4 + }, + { + "date": "2025-12-05", + "value": 37.7 + }, + { + "date": "2025-12-11", + "value": 40.2 + }, + { + "date": "2025-12-17", + "value": 27.1 + }, + { + "date": "2025-12-23", + "value": 30.3 + }, + { + "date": "2025-12-29", + "value": 32.0 + }, + { + "date": "2026-01-06", + "value": 36.9 + }, + { + "date": "2026-01-12", + "value": 23.8 + }, + { + "date": "2026-01-18", + "value": 27.1 + }, + { + "date": "2026-01-24", + "value": 28.7 + }, + { + "date": "2026-01-30", + "value": 31.2 + }, + { + "date": "2026-02-04", + "value": 28.7 + }, + { + "date": "2026-02-10", + "value": 32.0 + }, + { + "date": "2026-02-16", + "value": 33.6 + }, + { + "date": "2026-02-22", + "value": 36.1 + }, + { + "date": "2026-02-28", + "value": 39.4 + }, + { + "date": "2026-03-05", + "value": 28.7 + }, + { + "date": "2026-03-11", + "value": 30.3 + }, + { + "date": "2026-03-17", + "value": 32.8 + }, + { + "date": "2026-03-23", + "value": 36.1 + }, + { + "date": "2026-03-29", + "value": 38.5 + }, + { + "date": "2026-04-06", + "value": 27.1 + }, + { + "date": "2026-04-12", + "value": 29.5 + }, + { + "date": "2026-04-18", + "value": 32.8 + }, + { + "date": "2026-04-24", + "value": 35.3 + }, + { + "date": "2026-04-30", + "value": 22.1 + }, + { + "date": "2026-05-04", + "value": 34.4 + }, + { + "date": "2026-05-10", + "value": 37.7 + }, + { + "date": "2026-05-16", + "value": 40.2 + }, + { + "date": "2026-05-22", + "value": 27.1 + }, + { + "date": "2026-05-28", + "value": 30.3 + } + ], + "monthly": [ + { + "month": "2022-03", + "mean": 45.1, + "median": 45.1, + "p10": 45.1, + "p25": 45.1, + "p75": 45.1, + "p90": 45.1, + "n": 1 + }, + { + "month": "2022-06", + "mean": 34.4, + "median": 34.4, + "p10": 34.4, + "p25": 34.4, + "p75": 34.4, + "p90": 34.4, + "n": 1 + }, + { + "month": "2022-09", + "mean": 6.6, + "median": 6.6, + "p10": 6.6, + "p25": 6.6, + "p75": 6.6, + "p90": 6.6, + "n": 1 + }, + { + "month": "2022-12", + "mean": 51.7, + "median": 51.7, + "p10": 51.7, + "p25": 51.7, + "p75": 51.7, + "p90": 51.7, + "n": 1 + }, + { + "month": "2023-02", + "mean": 31.2, + "median": 31.2, + "p10": 31.2, + "p25": 31.2, + "p75": 31.2, + "p90": 31.2, + "n": 1 + }, + { + "month": "2023-05", + "mean": 18.0, + "median": 18.0, + "p10": 18.0, + "p25": 18.0, + "p75": 18.0, + "p90": 18.0, + "n": 1 + }, + { + "month": "2023-08", + "mean": 58.2, + "median": 58.2, + "p10": 58.2, + "p25": 58.2, + "p75": 58.2, + "p90": 58.2, + "n": 1 + }, + { + "month": "2023-11", + "mean": 24.6, + "median": 24.6, + "p10": 24.6, + "p25": 24.6, + "p75": 24.6, + "p90": 24.6, + "n": 1 + }, + { + "month": "2024-01", + "mean": 36.9, + "median": 36.9, + "p10": 36.9, + "p25": 36.9, + "p75": 36.9, + "p90": 36.9, + "n": 1 + }, + { + "month": "2024-04", + "mean": 14.8, + "median": 14.8, + "p10": 14.8, + "p25": 14.8, + "p75": 14.8, + "p90": 14.8, + "n": 1 + }, + { + "month": "2024-07", + "mean": 86.1, + "median": 86.1, + "p10": 86.1, + "p25": 86.1, + "p75": 86.1, + "p90": 86.1, + "n": 1 + }, + { + "month": "2024-10", + "mean": 28.7, + "median": 28.7, + "p10": 28.7, + "p25": 28.7, + "p75": 28.7, + "p90": 28.7, + "n": 1 + }, + { + "month": "2025-01", + "mean": 9.8, + "median": 9.8, + "p10": 9.8, + "p25": 9.8, + "p75": 9.8, + "p90": 9.8, + "n": 1 + }, + { + "month": "2025-04", + "mean": 39.4, + "median": 39.4, + "p10": 39.4, + "p25": 39.4, + "p75": 39.4, + "p90": 39.4, + "n": 1 + }, + { + "month": "2025-09", + "mean": 36.6, + "median": 36.1, + "p10": 32.6, + "p25": 33.6, + "p75": 39.4, + "p90": 40.8, + "n": 5 + }, + { + "month": "2025-10", + "mean": 32.6, + "median": 32.8, + "p10": 27.4, + "p25": 30.3, + "p75": 36.1, + "p90": 37.6, + "n": 5 + }, + { + "month": "2025-11", + "mean": 29.0, + "median": 29.5, + "p10": 23.5, + "p25": 25.4, + "p75": 32.8, + "p90": 34.3, + "n": 5 + }, + { + "month": "2025-12", + "mean": 33.5, + "median": 32.0, + "p10": 28.4, + "p25": 30.3, + "p75": 37.7, + "p90": 39.2, + "n": 5 + }, + { + "month": "2026-01", + "mean": 29.5, + "median": 28.7, + "p10": 25.1, + "p25": 27.1, + "p75": 31.2, + "p90": 34.6, + "n": 5 + }, + { + "month": "2026-02", + "mean": 33.9, + "median": 33.6, + "p10": 30.0, + "p25": 32.0, + "p75": 36.1, + "p90": 38.0, + "n": 5 + }, + { + "month": "2026-03", + "mean": 33.3, + "median": 32.8, + "p10": 29.4, + "p25": 30.3, + "p75": 36.1, + "p90": 37.6, + "n": 5 + }, + { + "month": "2026-04", + "mean": 29.4, + "median": 29.5, + "p10": 24.1, + "p25": 27.1, + "p75": 32.8, + "p90": 34.3, + "n": 5 + }, + { + "month": "2026-05", + "mean": 33.9, + "median": 34.4, + "p10": 28.4, + "p25": 30.3, + "p75": 37.7, + "p90": 39.2, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "procurement_lowland_robusta", + "label": "Procurement: Lowland Robusta", + "type": "procurement", + "material": "90000100002", + "plant": "PL-A", + "stats": { + "n": 63, + "mean": 27.4, + "median": 27.1, + "std": 9.3, + "min": 4.1, + "max": 67.2, + "p25": 23.0, + "p75": 31.2, + "p85": 33.4, + "p95": 42.3 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 96.8, + "cost": null, + "observations": [ + { + "date": "2022-02-08", + "value": 26.2 + }, + { + "date": "2022-04-19", + "value": 39.4 + }, + { + "date": "2022-07-11", + "value": 4.1 + }, + { + "date": "2022-09-28", + "value": 54.9 + }, + { + "date": "2022-12-15", + "value": 20.5 + }, + { + "date": "2023-03-07", + "value": 33.6 + }, + { + "date": "2023-05-22", + "value": 12.3 + }, + { + "date": "2023-08-09", + "value": 67.2 + }, + { + "date": "2023-10-30", + "value": 31.2 + }, + { + "date": "2024-01-16", + "value": 16.4 + }, + { + "date": "2024-03-25", + "value": 42.6 + }, + { + "date": "2024-06-12", + "value": 8.2 + }, + { + "date": "2024-08-28", + "value": 36.1 + }, + { + "date": "2024-11-14", + "value": 23.0 + }, + { + "date": "2025-01-06", + "value": 28.7 + }, + { + "date": "2025-03-18", + "value": 14.8 + }, + { + "date": "2025-05-29", + "value": 45.1 + }, + { + "date": "2025-08-12", + "value": 21.3 + }, + { + "date": "2025-09-04", + "value": 21.3 + }, + { + "date": "2025-09-10", + "value": 23.8 + }, + { + "date": "2025-09-16", + "value": 25.4 + }, + { + "date": "2025-09-22", + "value": 27.9 + }, + { + "date": "2025-09-28", + "value": 30.3 + }, + { + "date": "2025-10-05", + "value": 21.3 + }, + { + "date": "2025-10-11", + "value": 23.0 + }, + { + "date": "2025-10-17", + "value": 25.4 + }, + { + "date": "2025-10-23", + "value": 27.1 + }, + { + "date": "2025-10-29", + "value": 29.5 + }, + { + "date": "2025-11-06", + "value": 27.1 + }, + { + "date": "2025-11-12", + "value": 29.5 + }, + { + "date": "2025-11-18", + "value": 31.2 + }, + { + "date": "2025-11-24", + "value": 34.4 + }, + { + "date": "2025-11-30", + "value": 23.0 + }, + { + "date": "2025-12-04", + "value": 26.2 + }, + { + "date": "2025-12-10", + "value": 28.7 + }, + { + "date": "2025-12-16", + "value": 31.2 + }, + { + "date": "2025-12-22", + "value": 19.7 + }, + { + "date": "2025-12-28", + "value": 23.0 + }, + { + "date": "2026-01-05", + "value": 32.8 + }, + { + "date": "2026-01-11", + "value": 35.3 + }, + { + "date": "2026-01-17", + "value": 23.8 + }, + { + "date": "2026-01-23", + "value": 27.1 + }, + { + "date": "2026-01-29", + "value": 28.7 + }, + { + "date": "2026-02-06", + "value": 32.8 + }, + { + "date": "2026-02-12", + "value": 21.3 + }, + { + "date": "2026-02-18", + "value": 23.8 + }, + { + "date": "2026-02-24", + "value": 25.4 + }, + { + "date": "2026-02-30", + "value": 27.9 + }, + { + "date": "2026-03-04", + "value": 18.0 + }, + { + "date": "2026-03-10", + "value": 21.3 + }, + { + "date": "2026-03-16", + "value": 23.0 + }, + { + "date": "2026-03-22", + "value": 25.4 + }, + { + "date": "2026-03-28", + "value": 27.1 + }, + { + "date": "2026-04-05", + "value": 25.4 + }, + { + "date": "2026-04-11", + "value": 27.1 + }, + { + "date": "2026-04-17", + "value": 29.5 + }, + { + "date": "2026-04-23", + "value": 31.2 + }, + { + "date": "2026-04-29", + "value": 34.4 + }, + { + "date": "2026-05-06", + "value": 24.6 + }, + { + "date": "2026-05-12", + "value": 26.2 + }, + { + "date": "2026-05-18", + "value": 28.7 + }, + { + "date": "2026-05-24", + "value": 31.2 + }, + { + "date": "2026-05-30", + "value": 19.7 + } + ], + "monthly": [ + { + "month": "2022-02", + "mean": 26.2, + "median": 26.2, + "p10": 26.2, + "p25": 26.2, + "p75": 26.2, + "p90": 26.2, + "n": 1 + }, + { + "month": "2022-04", + "mean": 39.4, + "median": 39.4, + "p10": 39.4, + "p25": 39.4, + "p75": 39.4, + "p90": 39.4, + "n": 1 + }, + { + "month": "2022-07", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-09", + "mean": 54.9, + "median": 54.9, + "p10": 54.9, + "p25": 54.9, + "p75": 54.9, + "p90": 54.9, + "n": 1 + }, + { + "month": "2022-12", + "mean": 20.5, + "median": 20.5, + "p10": 20.5, + "p25": 20.5, + "p75": 20.5, + "p90": 20.5, + "n": 1 + }, + { + "month": "2023-03", + "mean": 33.6, + "median": 33.6, + "p10": 33.6, + "p25": 33.6, + "p75": 33.6, + "p90": 33.6, + "n": 1 + }, + { + "month": "2023-05", + "mean": 12.3, + "median": 12.3, + "p10": 12.3, + "p25": 12.3, + "p75": 12.3, + "p90": 12.3, + "n": 1 + }, + { + "month": "2023-08", + "mean": 67.2, + "median": 67.2, + "p10": 67.2, + "p25": 67.2, + "p75": 67.2, + "p90": 67.2, + "n": 1 + }, + { + "month": "2023-10", + "mean": 31.2, + "median": 31.2, + "p10": 31.2, + "p25": 31.2, + "p75": 31.2, + "p90": 31.2, + "n": 1 + }, + { + "month": "2024-01", + "mean": 16.4, + "median": 16.4, + "p10": 16.4, + "p25": 16.4, + "p75": 16.4, + "p90": 16.4, + "n": 1 + }, + { + "month": "2024-03", + "mean": 42.6, + "median": 42.6, + "p10": 42.6, + "p25": 42.6, + "p75": 42.6, + "p90": 42.6, + "n": 1 + }, + { + "month": "2024-06", + "mean": 8.2, + "median": 8.2, + "p10": 8.2, + "p25": 8.2, + "p75": 8.2, + "p90": 8.2, + "n": 1 + }, + { + "month": "2024-08", + "mean": 36.1, + "median": 36.1, + "p10": 36.1, + "p25": 36.1, + "p75": 36.1, + "p90": 36.1, + "n": 1 + }, + { + "month": "2024-11", + "mean": 23.0, + "median": 23.0, + "p10": 23.0, + "p25": 23.0, + "p75": 23.0, + "p90": 23.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 28.7, + "median": 28.7, + "p10": 28.7, + "p25": 28.7, + "p75": 28.7, + "p90": 28.7, + "n": 1 + }, + { + "month": "2025-03", + "mean": 14.8, + "median": 14.8, + "p10": 14.8, + "p25": 14.8, + "p75": 14.8, + "p90": 14.8, + "n": 1 + }, + { + "month": "2025-05", + "mean": 45.1, + "median": 45.1, + "p10": 45.1, + "p25": 45.1, + "p75": 45.1, + "p90": 45.1, + "n": 1 + }, + { + "month": "2025-08", + "mean": 21.3, + "median": 21.3, + "p10": 21.3, + "p25": 21.3, + "p75": 21.3, + "p90": 21.3, + "n": 1 + }, + { + "month": "2025-09", + "mean": 25.7, + "median": 25.4, + "p10": 22.3, + "p25": 23.8, + "p75": 27.9, + "p90": 29.4, + "n": 5 + }, + { + "month": "2025-10", + "mean": 25.3, + "median": 25.4, + "p10": 22.0, + "p25": 23.0, + "p75": 27.1, + "p90": 28.5, + "n": 5 + }, + { + "month": "2025-11", + "mean": 29.0, + "median": 29.5, + "p10": 24.6, + "p25": 27.1, + "p75": 31.2, + "p90": 33.1, + "n": 5 + }, + { + "month": "2025-12", + "mean": 25.7, + "median": 26.2, + "p10": 21.0, + "p25": 23.0, + "p75": 28.7, + "p90": 30.2, + "n": 5 + }, + { + "month": "2026-01", + "mean": 29.5, + "median": 28.7, + "p10": 25.1, + "p25": 27.1, + "p75": 32.8, + "p90": 34.3, + "n": 5 + }, + { + "month": "2026-02", + "mean": 26.2, + "median": 25.4, + "p10": 22.3, + "p25": 23.8, + "p75": 27.9, + "p90": 30.8, + "n": 5 + }, + { + "month": "2026-03", + "mean": 23.0, + "median": 23.0, + "p10": 19.4, + "p25": 21.3, + "p75": 25.4, + "p90": 26.4, + "n": 5 + }, + { + "month": "2026-04", + "mean": 29.5, + "median": 29.5, + "p10": 26.1, + "p25": 27.1, + "p75": 31.2, + "p90": 33.1, + "n": 5 + }, + { + "month": "2026-05", + "mean": 26.1, + "median": 26.2, + "p10": 21.6, + "p25": 24.6, + "p75": 28.7, + "p90": 30.2, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "procurement_washed_bourbon", + "label": "Procurement: Washed Bourbon", + "type": "procurement", + "material": "90000100003", + "plant": "PL-A", + "stats": { + "n": 55, + "mean": 21.4, + "median": 20.5, + "std": 6.6, + "min": 5.7, + "max": 50.8, + "p25": 18.4, + "p75": 23.8, + "p85": 24.6, + "p95": 29.9 + }, + "plifz": 7, + "plifz_note": null, + "pct_exceeding_plifz": 98.2, + "cost": null, + "observations": [ + { + "date": "2022-05-03", + "value": 28.7 + }, + { + "date": "2022-10-18", + "value": 13.1 + }, + { + "date": "2023-01-24", + "value": 50.8 + }, + { + "date": "2023-06-15", + "value": 5.7 + }, + { + "date": "2023-09-28", + "value": 32.8 + }, + { + "date": "2024-02-12", + "value": 20.5 + }, + { + "date": "2024-05-07", + "value": 39.4 + }, + { + "date": "2024-09-19", + "value": 9.8 + }, + { + "date": "2025-02-04", + "value": 24.6 + }, + { + "date": "2025-06-10", + "value": 11.5 + }, + { + "date": "2025-09-06", + "value": 24.6 + }, + { + "date": "2025-09-12", + "value": 15.6 + }, + { + "date": "2025-09-18", + "value": 18.0 + }, + { + "date": "2025-09-24", + "value": 18.9 + }, + { + "date": "2025-09-30", + "value": 20.5 + }, + { + "date": "2025-10-04", + "value": 18.9 + }, + { + "date": "2025-10-10", + "value": 20.5 + }, + { + "date": "2025-10-16", + "value": 22.1 + }, + { + "date": "2025-10-22", + "value": 23.8 + }, + { + "date": "2025-10-28", + "value": 25.4 + }, + { + "date": "2025-11-05", + "value": 18.9 + }, + { + "date": "2025-11-11", + "value": 20.5 + }, + { + "date": "2025-11-17", + "value": 22.1 + }, + { + "date": "2025-11-23", + "value": 23.8 + }, + { + "date": "2025-11-29", + "value": 25.4 + }, + { + "date": "2025-12-06", + "value": 18.0 + }, + { + "date": "2025-12-12", + "value": 19.7 + }, + { + "date": "2025-12-18", + "value": 21.3 + }, + { + "date": "2025-12-24", + "value": 23.0 + }, + { + "date": "2025-12-30", + "value": 14.8 + }, + { + "date": "2026-01-04", + "value": 23.0 + }, + { + "date": "2026-01-10", + "value": 24.6 + }, + { + "date": "2026-01-16", + "value": 26.2 + }, + { + "date": "2026-01-22", + "value": 18.0 + }, + { + "date": "2026-01-28", + "value": 19.7 + }, + { + "date": "2026-02-05", + "value": 22.1 + }, + { + "date": "2026-02-11", + "value": 24.6 + }, + { + "date": "2026-02-17", + "value": 15.6 + }, + { + "date": "2026-02-23", + "value": 18.0 + }, + { + "date": "2026-02-29", + "value": 18.9 + }, + { + "date": "2026-03-06", + "value": 27.9 + }, + { + "date": "2026-03-12", + "value": 18.9 + }, + { + "date": "2026-03-18", + "value": 20.5 + }, + { + "date": "2026-03-24", + "value": 22.1 + }, + { + "date": "2026-03-30", + "value": 23.8 + }, + { + "date": "2026-04-04", + "value": 16.4 + }, + { + "date": "2026-04-10", + "value": 18.9 + }, + { + "date": "2026-04-16", + "value": 20.5 + }, + { + "date": "2026-04-22", + "value": 22.1 + }, + { + "date": "2026-04-28", + "value": 23.8 + }, + { + "date": "2026-05-05", + "value": 16.4 + }, + { + "date": "2026-05-11", + "value": 18.0 + }, + { + "date": "2026-05-17", + "value": 19.7 + }, + { + "date": "2026-05-23", + "value": 21.3 + }, + { + "date": "2026-05-29", + "value": 23.0 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 28.7, + "median": 28.7, + "p10": 28.7, + "p25": 28.7, + "p75": 28.7, + "p90": 28.7, + "n": 1 + }, + { + "month": "2022-10", + "mean": 13.1, + "median": 13.1, + "p10": 13.1, + "p25": 13.1, + "p75": 13.1, + "p90": 13.1, + "n": 1 + }, + { + "month": "2023-01", + "mean": 50.8, + "median": 50.8, + "p10": 50.8, + "p25": 50.8, + "p75": 50.8, + "p90": 50.8, + "n": 1 + }, + { + "month": "2023-06", + "mean": 5.7, + "median": 5.7, + "p10": 5.7, + "p25": 5.7, + "p75": 5.7, + "p90": 5.7, + "n": 1 + }, + { + "month": "2023-09", + "mean": 32.8, + "median": 32.8, + "p10": 32.8, + "p25": 32.8, + "p75": 32.8, + "p90": 32.8, + "n": 1 + }, + { + "month": "2024-02", + "mean": 20.5, + "median": 20.5, + "p10": 20.5, + "p25": 20.5, + "p75": 20.5, + "p90": 20.5, + "n": 1 + }, + { + "month": "2024-05", + "mean": 39.4, + "median": 39.4, + "p10": 39.4, + "p25": 39.4, + "p75": 39.4, + "p90": 39.4, + "n": 1 + }, + { + "month": "2024-09", + "mean": 9.8, + "median": 9.8, + "p10": 9.8, + "p25": 9.8, + "p75": 9.8, + "p90": 9.8, + "n": 1 + }, + { + "month": "2025-02", + "mean": 24.6, + "median": 24.6, + "p10": 24.6, + "p25": 24.6, + "p75": 24.6, + "p90": 24.6, + "n": 1 + }, + { + "month": "2025-06", + "mean": 11.5, + "median": 11.5, + "p10": 11.5, + "p25": 11.5, + "p75": 11.5, + "p90": 11.5, + "n": 1 + }, + { + "month": "2025-09", + "mean": 19.5, + "median": 18.9, + "p10": 16.6, + "p25": 18.0, + "p75": 20.5, + "p90": 23.0, + "n": 5 + }, + { + "month": "2025-10", + "mean": 22.1, + "median": 22.1, + "p10": 19.5, + "p25": 20.5, + "p75": 23.8, + "p90": 24.8, + "n": 5 + }, + { + "month": "2025-11", + "mean": 22.1, + "median": 22.1, + "p10": 19.5, + "p25": 20.5, + "p75": 23.8, + "p90": 24.8, + "n": 5 + }, + { + "month": "2025-12", + "mean": 19.4, + "median": 19.7, + "p10": 16.1, + "p25": 18.0, + "p75": 21.3, + "p90": 22.3, + "n": 5 + }, + { + "month": "2026-01", + "mean": 22.3, + "median": 23.0, + "p10": 18.7, + "p25": 19.7, + "p75": 24.6, + "p90": 25.6, + "n": 5 + }, + { + "month": "2026-02", + "mean": 19.8, + "median": 18.9, + "p10": 16.6, + "p25": 18.0, + "p75": 22.1, + "p90": 23.6, + "n": 5 + }, + { + "month": "2026-03", + "mean": 22.6, + "median": 22.1, + "p10": 19.5, + "p25": 20.5, + "p75": 23.8, + "p90": 26.2, + "n": 5 + }, + { + "month": "2026-04", + "mean": 20.3, + "median": 20.5, + "p10": 17.4, + "p25": 18.9, + "p75": 22.1, + "p90": 23.1, + "n": 5 + }, + { + "month": "2026-05", + "mean": 19.7, + "median": 19.7, + "p10": 17.1, + "p25": 18.0, + "p75": 21.3, + "p90": 22.3, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_highland_arabica", + "label": "Raw Material Dwell: Highland Arabica", + "type": "raw_material_dwell", + "material": "90000100001", + "plant": "PL-A", + "stats": { + "n": 83, + "mean": 39.6, + "median": 37.7, + "std": 16.2, + "min": 4.1, + "max": 106.6, + "p25": 31.6, + "p75": 44.7, + "p85": 50.0, + "p95": 71.9 + }, + "plifz": 30, + "plifz_note": null, + "pct_exceeding_plifz": 89.2, + "cost": { + "unit_price": 2.624, + "currency": "CHF", + "mean_qty": 4200.0, + "monthly": [ + { + "month": "2022-04", + "n_events": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "n_events": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "n_events": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "n_events": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "n_events": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "n_events": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "n_events": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "n_events": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "n_events": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "n_events": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 827400.0 + } + ] + }, + "observations": [ + { + "date": "2022-04-02", + "value": 28.7 + }, + { + "date": "2022-04-15", + "value": 50.8 + }, + { + "date": "2022-04-28", + "value": 14.8 + }, + { + "date": "2022-08-05", + "value": 72.2 + }, + { + "date": "2022-08-12", + "value": 34.4 + }, + { + "date": "2022-08-20", + "value": 45.1 + }, + { + "date": "2022-08-28", + "value": 24.6 + }, + { + "date": "2023-01-10", + "value": 59.0 + }, + { + "date": "2023-01-22", + "value": 20.5 + }, + { + "date": "2023-01-30", + "value": 39.4 + }, + { + "date": "2023-06-05", + "value": 12.3 + }, + { + "date": "2023-06-18", + "value": 77.9 + }, + { + "date": "2023-10-03", + "value": 106.6 + }, + { + "date": "2023-10-10", + "value": 36.9 + }, + { + "date": "2023-10-18", + "value": 31.2 + }, + { + "date": "2023-10-25", + "value": 53.3 + }, + { + "date": "2023-10-30", + "value": 18.0 + }, + { + "date": "2024-03-05", + "value": 64.0 + }, + { + "date": "2024-03-12", + "value": 4.1 + }, + { + "date": "2024-03-20", + "value": 45.1 + }, + { + "date": "2024-03-28", + "value": 32.8 + }, + { + "date": "2024-07-08", + "value": 23.0 + }, + { + "date": "2024-07-15", + "value": 69.7 + }, + { + "date": "2024-07-22", + "value": 41.0 + }, + { + "date": "2024-11-04", + "value": 90.2 + }, + { + "date": "2024-11-11", + "value": 26.2 + }, + { + "date": "2024-11-18", + "value": 55.8 + }, + { + "date": "2024-11-25", + "value": 36.9 + }, + { + "date": "2024-11-30", + "value": 75.4 + }, + { + "date": "2025-03-03", + "value": 16.4 + }, + { + "date": "2025-03-10", + "value": 47.6 + }, + { + "date": "2025-03-17", + "value": 28.7 + }, + { + "date": "2025-03-24", + "value": 34.4 + }, + { + "date": "2025-07-02", + "value": 61.5 + }, + { + "date": "2025-07-09", + "value": 9.8 + }, + { + "date": "2025-07-16", + "value": 39.4 + }, + { + "date": "2025-07-23", + "value": 49.2 + }, + { + "date": "2025-07-30", + "value": 31.2 + }, + { + "date": "2025-09-05", + "value": 40.2 + }, + { + "date": "2025-09-11", + "value": 44.3 + }, + { + "date": "2025-09-17", + "value": 27.9 + }, + { + "date": "2025-09-23", + "value": 32.0 + }, + { + "date": "2025-09-29", + "value": 34.4 + }, + { + "date": "2025-10-06", + "value": 50.0 + }, + { + "date": "2025-10-12", + "value": 33.6 + }, + { + "date": "2025-10-18", + "value": 37.7 + }, + { + "date": "2025-10-24", + "value": 40.2 + }, + { + "date": "2025-10-30", + "value": 43.5 + }, + { + "date": "2025-11-04", + "value": 29.5 + }, + { + "date": "2025-11-10", + "value": 33.6 + }, + { + "date": "2025-11-16", + "value": 36.1 + }, + { + "date": "2025-11-22", + "value": 39.4 + }, + { + "date": "2025-11-28", + "value": 42.6 + }, + { + "date": "2025-12-05", + "value": 29.5 + }, + { + "date": "2025-12-11", + "value": 32.0 + }, + { + "date": "2025-12-17", + "value": 35.3 + }, + { + "date": "2025-12-23", + "value": 38.5 + }, + { + "date": "2025-12-29", + "value": 41.8 + }, + { + "date": "2026-01-06", + "value": 38.5 + }, + { + "date": "2026-01-12", + "value": 41.0 + }, + { + "date": "2026-01-18", + "value": 44.3 + }, + { + "date": "2026-01-24", + "value": 47.6 + }, + { + "date": "2026-01-30", + "value": 32.0 + }, + { + "date": "2026-02-04", + "value": 36.9 + }, + { + "date": "2026-02-10", + "value": 40.2 + }, + { + "date": "2026-02-16", + "value": 44.3 + }, + { + "date": "2026-02-22", + "value": 27.9 + }, + { + "date": "2026-02-28", + "value": 32.0 + }, + { + "date": "2026-03-05", + "value": 45.9 + }, + { + "date": "2026-03-11", + "value": 50.0 + }, + { + "date": "2026-03-17", + "value": 33.6 + }, + { + "date": "2026-03-23", + "value": 37.7 + }, + { + "date": "2026-03-29", + "value": 40.2 + }, + { + "date": "2026-04-06", + "value": 45.9 + }, + { + "date": "2026-04-12", + "value": 29.5 + }, + { + "date": "2026-04-18", + "value": 33.6 + }, + { + "date": "2026-04-24", + "value": 36.1 + }, + { + "date": "2026-04-30", + "value": 39.4 + }, + { + "date": "2026-05-04", + "value": 26.2 + }, + { + "date": "2026-05-10", + "value": 29.5 + }, + { + "date": "2026-05-16", + "value": 32.0 + }, + { + "date": "2026-05-22", + "value": 35.3 + }, + { + "date": "2026-05-28", + "value": 38.5 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 31.4, + "median": 28.7, + "p10": 17.5, + "p25": 21.7, + "p75": 39.8, + "p90": 46.4, + "n": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "mean": 44.1, + "median": 39.8, + "p10": 27.6, + "p25": 32.0, + "p75": 51.9, + "p90": 64.0, + "n": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "mean": 39.6, + "median": 39.4, + "p10": 24.3, + "p25": 29.9, + "p75": 49.2, + "p90": 55.1, + "n": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "mean": 45.1, + "median": 45.1, + "p10": 18.9, + "p25": 28.7, + "p75": 61.5, + "p90": 71.3, + "n": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "mean": 49.2, + "median": 36.9, + "p10": 23.3, + "p25": 31.2, + "p75": 53.3, + "p90": 85.3, + "n": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "mean": 36.5, + "median": 38.9, + "p10": 12.7, + "p25": 25.7, + "p75": 49.9, + "p90": 58.3, + "n": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "mean": 44.5, + "median": 41.0, + "p10": 26.6, + "p25": 32.0, + "p75": 55.3, + "p90": 64.0, + "n": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "mean": 56.9, + "median": 55.8, + "p10": 30.5, + "p25": 36.9, + "p75": 75.4, + "p90": 84.3, + "n": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "mean": 31.8, + "median": 31.6, + "p10": 20.1, + "p25": 25.7, + "p75": 37.7, + "p90": 43.6, + "n": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "mean": 38.2, + "median": 39.4, + "p10": 18.4, + "p25": 31.2, + "p75": 49.2, + "p90": 56.6, + "n": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "mean": 35.8, + "median": 34.4, + "p10": 29.5, + "p25": 32.0, + "p75": 40.2, + "p90": 42.6, + "n": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "mean": 41.0, + "median": 40.2, + "p10": 35.3, + "p25": 37.7, + "p75": 43.5, + "p90": 47.4, + "n": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "mean": 36.2, + "median": 36.1, + "p10": 31.2, + "p25": 33.6, + "p75": 39.4, + "p90": 41.3, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "mean": 35.4, + "median": 35.3, + "p10": 30.5, + "p25": 32.0, + "p75": 38.5, + "p90": 40.5, + "n": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "mean": 40.7, + "median": 41.0, + "p10": 34.6, + "p25": 38.5, + "p75": 44.3, + "p90": 46.2, + "n": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "mean": 36.2, + "median": 36.9, + "p10": 29.5, + "p25": 32.0, + "p75": 40.2, + "p90": 42.6, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "mean": 41.5, + "median": 40.2, + "p10": 35.3, + "p25": 37.7, + "p75": 45.9, + "p90": 48.4, + "n": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "mean": 36.9, + "median": 36.1, + "p10": 31.2, + "p25": 33.6, + "p75": 39.4, + "p90": 43.3, + "n": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "mean": 32.3, + "median": 32.0, + "p10": 27.6, + "p25": 29.5, + "p75": 35.3, + "p90": 37.2, + "n": 5, + "total_kg_days": 827400.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_lowland_robusta", + "label": "Raw Material Dwell: Lowland Robusta", + "type": "raw_material_dwell", + "material": "90000100002", + "plant": "PL-A", + "stats": { + "n": 69, + "mean": 30.0, + "median": 27.9, + "std": 13.0, + "min": 2.5, + "max": 80.4, + "p25": 23.0, + "p75": 33.6, + "p85": 36.9, + "p95": 56.7 + }, + "plifz": 21, + "plifz_note": null, + "pct_exceeding_plifz": 91.3, + "cost": { + "unit_price": 1.476, + "currency": "CHF", + "mean_qty": 6500.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "n_events": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "n_events": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "n_events": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "n_events": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "n_events": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 1131000.0 + } + ] + }, + "observations": [ + { + "date": "2022-05-02", + "value": 23.0 + }, + { + "date": "2022-05-10", + "value": 36.9 + }, + { + "date": "2022-05-18", + "value": 9.8 + }, + { + "date": "2022-05-25", + "value": 50.8 + }, + { + "date": "2023-02-06", + "value": 27.1 + }, + { + "date": "2023-02-14", + "value": 64.0 + }, + { + "date": "2023-02-22", + "value": 16.4 + }, + { + "date": "2023-02-28", + "value": 45.1 + }, + { + "date": "2023-09-05", + "value": 6.6 + }, + { + "date": "2023-09-15", + "value": 34.4 + }, + { + "date": "2023-09-25", + "value": 53.3 + }, + { + "date": "2024-04-03", + "value": 31.2 + }, + { + "date": "2024-04-10", + "value": 12.3 + }, + { + "date": "2024-04-17", + "value": 59.0 + }, + { + "date": "2024-04-24", + "value": 20.5 + }, + { + "date": "2024-10-02", + "value": 39.4 + }, + { + "date": "2024-10-09", + "value": 2.5 + }, + { + "date": "2024-10-16", + "value": 69.7 + }, + { + "date": "2024-10-23", + "value": 24.6 + }, + { + "date": "2024-10-30", + "value": 45.1 + }, + { + "date": "2025-04-07", + "value": 18.0 + }, + { + "date": "2025-04-14", + "value": 32.8 + }, + { + "date": "2025-04-21", + "value": 80.4 + }, + { + "date": "2025-04-28", + "value": 14.8 + }, + { + "date": "2025-09-04", + "value": 32.0 + }, + { + "date": "2025-09-10", + "value": 33.6 + }, + { + "date": "2025-09-16", + "value": 36.9 + }, + { + "date": "2025-09-22", + "value": 24.6 + }, + { + "date": "2025-09-28", + "value": 27.9 + }, + { + "date": "2025-10-05", + "value": 31.2 + }, + { + "date": "2025-10-11", + "value": 33.6 + }, + { + "date": "2025-10-17", + "value": 22.1 + }, + { + "date": "2025-10-23", + "value": 24.6 + }, + { + "date": "2025-10-29", + "value": 26.2 + }, + { + "date": "2025-11-06", + "value": 31.2 + }, + { + "date": "2025-11-12", + "value": 18.9 + }, + { + "date": "2025-11-18", + "value": 22.1 + }, + { + "date": "2025-11-24", + "value": 23.8 + }, + { + "date": "2025-11-30", + "value": 26.2 + }, + { + "date": "2025-12-04", + "value": 23.0 + }, + { + "date": "2025-12-10", + "value": 26.2 + }, + { + "date": "2025-12-16", + "value": 27.9 + }, + { + "date": "2025-12-22", + "value": 30.3 + }, + { + "date": "2025-12-28", + "value": 32.8 + }, + { + "date": "2026-01-05", + "value": 23.0 + }, + { + "date": "2026-01-11", + "value": 25.4 + }, + { + "date": "2026-01-17", + "value": 27.1 + }, + { + "date": "2026-01-23", + "value": 29.5 + }, + { + "date": "2026-01-29", + "value": 32.0 + }, + { + "date": "2026-02-06", + "value": 29.5 + }, + { + "date": "2026-02-12", + "value": 32.0 + }, + { + "date": "2026-02-18", + "value": 33.6 + }, + { + "date": "2026-02-24", + "value": 36.9 + }, + { + "date": "2026-02-30", + "value": 24.6 + }, + { + "date": "2026-03-04", + "value": 28.7 + }, + { + "date": "2026-03-10", + "value": 31.2 + }, + { + "date": "2026-03-16", + "value": 33.6 + }, + { + "date": "2026-03-22", + "value": 22.1 + }, + { + "date": "2026-03-28", + "value": 24.6 + }, + { + "date": "2026-04-05", + "value": 27.9 + }, + { + "date": "2026-04-11", + "value": 31.2 + }, + { + "date": "2026-04-17", + "value": 18.9 + }, + { + "date": "2026-04-23", + "value": 22.1 + }, + { + "date": "2026-04-29", + "value": 23.8 + }, + { + "date": "2026-05-06", + "value": 35.3 + }, + { + "date": "2026-05-12", + "value": 23.0 + }, + { + "date": "2026-05-18", + "value": 26.2 + }, + { + "date": "2026-05-24", + "value": 27.9 + }, + { + "date": "2026-05-30", + "value": 30.3 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 30.2, + "median": 29.9, + "p10": 13.8, + "p25": 19.7, + "p75": 40.4, + "p90": 46.7, + "n": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "mean": 38.1, + "median": 36.1, + "p10": 19.6, + "p25": 24.4, + "p75": 49.9, + "p90": 58.3, + "n": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "mean": 31.4, + "median": 34.4, + "p10": 12.1, + "p25": 20.5, + "p75": 43.9, + "p90": 49.5, + "n": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "mean": 30.7, + "median": 25.8, + "p10": 14.8, + "p25": 18.4, + "p75": 38.1, + "p90": 50.7, + "n": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "mean": 36.2, + "median": 39.4, + "p10": 11.3, + "p25": 24.6, + "p75": 45.1, + "p90": 59.9, + "n": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "mean": 36.5, + "median": 25.4, + "p10": 15.7, + "p25": 17.2, + "p75": 44.7, + "p90": 66.1, + "n": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "mean": 31.0, + "median": 32.0, + "p10": 25.9, + "p25": 27.9, + "p75": 33.6, + "p90": 35.6, + "n": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "mean": 27.6, + "median": 26.2, + "p10": 23.1, + "p25": 24.6, + "p75": 31.2, + "p90": 32.6, + "n": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "mean": 24.4, + "median": 23.8, + "p10": 20.2, + "p25": 22.1, + "p75": 26.2, + "p90": 29.2, + "n": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "mean": 28.0, + "median": 27.9, + "p10": 24.3, + "p25": 26.2, + "p75": 30.3, + "p90": 31.8, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "mean": 27.4, + "median": 27.1, + "p10": 23.9, + "p25": 25.4, + "p75": 29.5, + "p90": 31.0, + "n": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "mean": 31.3, + "median": 32.0, + "p10": 26.6, + "p25": 29.5, + "p75": 33.6, + "p90": 35.6, + "n": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "mean": 28.0, + "median": 28.7, + "p10": 23.1, + "p25": 24.6, + "p75": 31.2, + "p90": 32.6, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "mean": 24.8, + "median": 23.8, + "p10": 20.2, + "p25": 22.1, + "p75": 27.9, + "p90": 29.8, + "n": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "mean": 28.5, + "median": 27.9, + "p10": 24.3, + "p25": 26.2, + "p75": 30.3, + "p90": 33.3, + "n": 5, + "total_kg_days": 1131000.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_washed_bourbon", + "label": "Raw Material Dwell: Washed Bourbon", + "type": "raw_material_dwell", + "material": "90000100003", + "plant": "PL-A", + "stats": { + "n": 70, + "mean": 36.0, + "median": 33.6, + "std": 15.7, + "min": 3.3, + "max": 94.3, + "p25": 28.1, + "p75": 41.0, + "p85": 44.3, + "p95": 67.2 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 95.7, + "cost": { + "unit_price": 4.51, + "currency": "CHF", + "mean_qty": 2800.0, + "monthly": [ + { + "month": "2022-06", + "n_events": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "n_events": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "n_events": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "n_events": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "n_events": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "n_events": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 568400.0 + } + ] + }, + "observations": [ + { + "date": "2022-06-05", + "value": 32.8 + }, + { + "date": "2022-06-15", + "value": 18.0 + }, + { + "date": "2022-06-25", + "value": 55.8 + }, + { + "date": "2023-03-08", + "value": 3.3 + }, + { + "date": "2023-03-15", + "value": 45.1 + }, + { + "date": "2023-03-22", + "value": 94.3 + }, + { + "date": "2023-03-29", + "value": 24.6 + }, + { + "date": "2023-11-06", + "value": 50.8 + }, + { + "date": "2023-11-13", + "value": 14.8 + }, + { + "date": "2023-11-20", + "value": 69.7 + }, + { + "date": "2024-06-03", + "value": 28.7 + }, + { + "date": "2024-06-10", + "value": 59.0 + }, + { + "date": "2024-06-17", + "value": 8.2 + }, + { + "date": "2024-06-24", + "value": 39.4 + }, + { + "date": "2024-06-30", + "value": 77.9 + }, + { + "date": "2025-01-07", + "value": 23.0 + }, + { + "date": "2025-01-14", + "value": 42.6 + }, + { + "date": "2025-01-21", + "value": 12.3 + }, + { + "date": "2025-01-28", + "value": 64.0 + }, + { + "date": "2025-08-04", + "value": 34.4 + }, + { + "date": "2025-08-08", + "value": 6.6 + }, + { + "date": "2025-08-12", + "value": 53.3 + }, + { + "date": "2025-08-16", + "value": 27.1 + }, + { + "date": "2025-08-20", + "value": 82.0 + }, + { + "date": "2025-08-24", + "value": 16.4 + }, + { + "date": "2025-09-06", + "value": 33.6 + }, + { + "date": "2025-09-12", + "value": 36.9 + }, + { + "date": "2025-09-18", + "value": 39.4 + }, + { + "date": "2025-09-24", + "value": 42.6 + }, + { + "date": "2025-09-30", + "value": 27.9 + }, + { + "date": "2025-10-04", + "value": 32.8 + }, + { + "date": "2025-10-10", + "value": 36.1 + }, + { + "date": "2025-10-16", + "value": 39.4 + }, + { + "date": "2025-10-22", + "value": 24.6 + }, + { + "date": "2025-10-28", + "value": 27.9 + }, + { + "date": "2025-11-05", + "value": 41.0 + }, + { + "date": "2025-11-11", + "value": 44.3 + }, + { + "date": "2025-11-17", + "value": 29.5 + }, + { + "date": "2025-11-23", + "value": 33.6 + }, + { + "date": "2025-11-29", + "value": 36.1 + }, + { + "date": "2025-12-06", + "value": 41.0 + }, + { + "date": "2025-12-12", + "value": 26.2 + }, + { + "date": "2025-12-18", + "value": 29.5 + }, + { + "date": "2025-12-24", + "value": 32.0 + }, + { + "date": "2025-12-30", + "value": 35.3 + }, + { + "date": "2026-01-04", + "value": 23.0 + }, + { + "date": "2026-01-10", + "value": 26.2 + }, + { + "date": "2026-01-16", + "value": 28.7 + }, + { + "date": "2026-01-22", + "value": 31.2 + }, + { + "date": "2026-01-28", + "value": 34.4 + }, + { + "date": "2026-02-05", + "value": 32.0 + }, + { + "date": "2026-02-11", + "value": 33.6 + }, + { + "date": "2026-02-17", + "value": 36.9 + }, + { + "date": "2026-02-23", + "value": 39.4 + }, + { + "date": "2026-02-29", + "value": 42.6 + }, + { + "date": "2026-03-06", + "value": 30.3 + }, + { + "date": "2026-03-12", + "value": 32.8 + }, + { + "date": "2026-03-18", + "value": 36.1 + }, + { + "date": "2026-03-24", + "value": 39.4 + }, + { + "date": "2026-03-30", + "value": 24.6 + }, + { + "date": "2026-04-04", + "value": 38.5 + }, + { + "date": "2026-04-10", + "value": 41.0 + }, + { + "date": "2026-04-16", + "value": 44.3 + }, + { + "date": "2026-04-22", + "value": 29.5 + }, + { + "date": "2026-04-28", + "value": 33.6 + }, + { + "date": "2026-05-05", + "value": 37.7 + }, + { + "date": "2026-05-11", + "value": 41.0 + }, + { + "date": "2026-05-17", + "value": 26.2 + }, + { + "date": "2026-05-23", + "value": 29.5 + }, + { + "date": "2026-05-29", + "value": 32.0 + } + ], + "monthly": [ + { + "month": "2022-06", + "mean": 35.5, + "median": 32.8, + "p10": 21.0, + "p25": 25.4, + "p75": 44.3, + "p90": 51.2, + "n": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "mean": 41.8, + "median": 34.9, + "p10": 9.7, + "p25": 19.3, + "p75": 57.4, + "p90": 79.5, + "n": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "mean": 45.1, + "median": 50.8, + "p10": 22.0, + "p25": 32.8, + "p75": 60.3, + "p90": 65.9, + "n": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "mean": 42.6, + "median": 39.4, + "p10": 16.4, + "p25": 28.7, + "p75": 59.0, + "p90": 70.4, + "n": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "mean": 35.5, + "median": 32.8, + "p10": 15.5, + "p25": 20.3, + "p75": 48.0, + "p90": 57.6, + "n": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "mean": 36.7, + "median": 30.7, + "p10": 11.5, + "p25": 19.1, + "p75": 48.6, + "p90": 67.6, + "n": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "mean": 36.1, + "median": 36.9, + "p10": 30.2, + "p25": 33.6, + "p75": 39.4, + "p90": 41.3, + "n": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "mean": 32.1, + "median": 32.8, + "p10": 25.9, + "p25": 27.9, + "p75": 36.1, + "p90": 38.0, + "n": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "mean": 36.9, + "median": 36.1, + "p10": 31.2, + "p25": 33.6, + "p75": 41.0, + "p90": 43.0, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "mean": 32.8, + "median": 32.0, + "p10": 27.6, + "p25": 29.5, + "p75": 35.3, + "p90": 38.7, + "n": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "mean": 28.7, + "median": 28.7, + "p10": 24.3, + "p25": 26.2, + "p75": 31.2, + "p90": 33.1, + "n": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "mean": 36.9, + "median": 36.9, + "p10": 32.6, + "p25": 33.6, + "p75": 39.4, + "p90": 41.3, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "mean": 32.6, + "median": 32.8, + "p10": 26.9, + "p25": 30.3, + "p75": 36.1, + "p90": 38.0, + "n": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "mean": 37.4, + "median": 38.5, + "p10": 31.2, + "p25": 33.6, + "p75": 41.0, + "p90": 43.0, + "n": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "mean": 33.3, + "median": 32.0, + "p10": 27.6, + "p25": 29.5, + "p75": 37.7, + "p90": 39.7, + "n": 5, + "total_kg_days": 568400.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "prod_duration_green_blend", + "label": "Production: Green Blend", + "type": "production", + "material": "90000200001", + "plant": "PL-A", + "stats": { + "n": 50, + "mean": 3.6, + "median": 3.3, + "std": 1.5, + "min": 0.8, + "max": 11.5, + "p25": 2.7, + "p75": 4.1, + "p85": 4.1, + "p95": 5.4 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 10.0, + "cost": null, + "observations": [ + { + "date": "2022-04-18", + "value": 2.5 + }, + { + "date": "2022-07-05", + "value": 4.1 + }, + { + "date": "2022-10-12", + "value": 1.6 + }, + { + "date": "2023-01-20", + "value": 5.7 + }, + { + "date": "2023-04-15", + "value": 3.3 + }, + { + "date": "2023-07-28", + "value": 4.9 + }, + { + "date": "2023-10-05", + "value": 2.5 + }, + { + "date": "2024-01-12", + "value": 11.5 + }, + { + "date": "2024-04-22", + "value": 3.3 + }, + { + "date": "2024-07-10", + "value": 6.6 + }, + { + "date": "2024-10-18", + "value": 2.5 + }, + { + "date": "2025-01-25", + "value": 4.1 + }, + { + "date": "2025-05-08", + "value": 0.8 + }, + { + "date": "2025-08-15", + "value": 4.9 + }, + { + "date": "2025-09-04", + "value": 2.5 + }, + { + "date": "2025-09-10", + "value": 3.3 + }, + { + "date": "2025-09-16", + "value": 3.3 + }, + { + "date": "2025-09-22", + "value": 3.3 + }, + { + "date": "2025-10-05", + "value": 2.5 + }, + { + "date": "2025-10-11", + "value": 3.3 + }, + { + "date": "2025-10-17", + "value": 3.3 + }, + { + "date": "2025-10-23", + "value": 3.3 + }, + { + "date": "2025-11-06", + "value": 3.3 + }, + { + "date": "2025-11-12", + "value": 4.1 + }, + { + "date": "2025-11-18", + "value": 4.1 + }, + { + "date": "2025-11-24", + "value": 4.1 + }, + { + "date": "2025-12-04", + "value": 3.3 + }, + { + "date": "2025-12-10", + "value": 4.1 + }, + { + "date": "2025-12-16", + "value": 4.1 + }, + { + "date": "2025-12-22", + "value": 2.5 + }, + { + "date": "2026-01-05", + "value": 3.3 + }, + { + "date": "2026-01-11", + "value": 4.1 + }, + { + "date": "2026-01-17", + "value": 2.5 + }, + { + "date": "2026-01-23", + "value": 2.5 + }, + { + "date": "2026-02-06", + "value": 4.1 + }, + { + "date": "2026-02-12", + "value": 2.5 + }, + { + "date": "2026-02-18", + "value": 3.3 + }, + { + "date": "2026-02-24", + "value": 3.3 + }, + { + "date": "2026-03-04", + "value": 2.5 + }, + { + "date": "2026-03-10", + "value": 2.5 + }, + { + "date": "2026-03-16", + "value": 3.3 + }, + { + "date": "2026-03-22", + "value": 3.3 + }, + { + "date": "2026-04-05", + "value": 3.3 + }, + { + "date": "2026-04-11", + "value": 3.3 + }, + { + "date": "2026-04-17", + "value": 4.1 + }, + { + "date": "2026-04-23", + "value": 4.1 + }, + { + "date": "2026-05-06", + "value": 3.3 + }, + { + "date": "2026-05-12", + "value": 3.3 + }, + { + "date": "2026-05-18", + "value": 4.1 + }, + { + "date": "2026-05-24", + "value": 4.1 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2022-07", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-10", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2023-01", + "mean": 5.7, + "median": 5.7, + "p10": 5.7, + "p25": 5.7, + "p75": 5.7, + "p90": 5.7, + "n": 1 + }, + { + "month": "2023-04", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2023-07", + "mean": 4.9, + "median": 4.9, + "p10": 4.9, + "p25": 4.9, + "p75": 4.9, + "p90": 4.9, + "n": 1 + }, + { + "month": "2023-10", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 11.5, + "median": 11.5, + "p10": 11.5, + "p25": 11.5, + "p75": 11.5, + "p90": 11.5, + "n": 1 + }, + { + "month": "2024-04", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2024-07", + "mean": 6.6, + "median": 6.6, + "p10": 6.6, + "p25": 6.6, + "p75": 6.6, + "p90": 6.6, + "n": 1 + }, + { + "month": "2024-10", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2025-01", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-05", + "mean": 0.8, + "median": 0.8, + "p10": 0.8, + "p25": 0.8, + "p75": 0.8, + "p90": 0.8, + "n": 1 + }, + { + "month": "2025-08", + "mean": 4.9, + "median": 4.9, + "p10": 4.9, + "p25": 4.9, + "p75": 4.9, + "p90": 4.9, + "n": 1 + }, + { + "month": "2025-09", + "mean": 3.1, + "median": 3.3, + "p10": 2.7, + "p25": 3.1, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2025-10", + "mean": 3.1, + "median": 3.3, + "p10": 2.7, + "p25": 3.1, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2025-11", + "mean": 3.9, + "median": 4.1, + "p10": 3.5, + "p25": 3.9, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2025-12", + "mean": 3.5, + "median": 3.7, + "p10": 2.7, + "p25": 3.1, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2026-01", + "mean": 3.1, + "median": 2.9, + "p10": 2.5, + "p25": 2.5, + "p75": 3.5, + "p90": 3.9, + "n": 4 + }, + { + "month": "2026-02", + "mean": 3.3, + "median": 3.3, + "p10": 2.7, + "p25": 3.1, + "p75": 3.5, + "p90": 3.9, + "n": 4 + }, + { + "month": "2026-03", + "mean": 2.9, + "median": 2.9, + "p10": 2.5, + "p25": 2.5, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2026-04", + "mean": 3.7, + "median": 3.7, + "p10": 3.3, + "p25": 3.3, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2026-05", + "mean": 3.7, + "median": 3.7, + "p10": 3.3, + "p25": 3.3, + "p75": 4.1, + "p90": 4.1, + "n": 4 + } + ], + "n_batches": 50, + "n_movements": null, + "yield_summary": { + "median": 98.5, + "mean": 97.2, + "reference": 100.0, + "n": 50 + }, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 0.9, + "mean_slack": 5.1, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 0.9 + }, + "direct": { + "binding_share": 0.9, + "mean_slack": 7.2, + "next_bottleneck_days": 27.4, + "expected_marginal_per_day": 0.9 + }, + "hub-1": { + "binding_share": 0.9, + "mean_slack": 2.0, + "next_bottleneck_days": 31.3, + "expected_marginal_per_day": 0.9 + } + } + }, + { + "id": "intermed_dwell_green_blend", + "label": "Intermediate Dwell: Green Blend", + "type": "intermediate_dwell", + "material": "90000200001", + "plant": "PL-A", + "stats": { + "n": 73, + "mean": 14.3, + "median": 13.1, + "std": 7.4, + "min": 1.6, + "max": 45.1, + "p25": 10.7, + "p75": 15.6, + "p85": 16.7, + "p95": 30.3 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 87.7, + "cost": { + "unit_price": 10.25, + "currency": "CHF", + "mean_qty": 3200.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "n_events": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "n_events": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "n_events": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "n_events": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "n_events": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "n_events": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 249600.0 + } + ] + }, + "observations": [ + { + "date": "2022-05-05", + "value": 9.8 + }, + { + "date": "2022-05-15", + "value": 20.5 + }, + { + "date": "2022-05-22", + "value": 6.6 + }, + { + "date": "2022-11-03", + "value": 28.7 + }, + { + "date": "2022-11-10", + "value": 12.3 + }, + { + "date": "2022-11-18", + "value": 4.1 + }, + { + "date": "2022-11-25", + "value": 18.0 + }, + { + "date": "2023-05-08", + "value": 14.8 + }, + { + "date": "2023-05-15", + "value": 32.8 + }, + { + "date": "2023-05-22", + "value": 8.2 + }, + { + "date": "2023-11-06", + "value": 45.1 + }, + { + "date": "2023-11-13", + "value": 1.6 + }, + { + "date": "2023-11-20", + "value": 23.0 + }, + { + "date": "2023-11-27", + "value": 12.3 + }, + { + "date": "2023-11-30", + "value": 6.6 + }, + { + "date": "2024-05-06", + "value": 16.4 + }, + { + "date": "2024-05-13", + "value": 36.9 + }, + { + "date": "2024-05-20", + "value": 9.8 + }, + { + "date": "2024-05-27", + "value": 2.5 + }, + { + "date": "2024-11-04", + "value": 14.8 + }, + { + "date": "2024-11-11", + "value": 24.6 + }, + { + "date": "2024-11-18", + "value": 6.6 + }, + { + "date": "2025-05-05", + "value": 18.0 + }, + { + "date": "2025-05-09", + "value": 28.7 + }, + { + "date": "2025-05-13", + "value": 4.1 + }, + { + "date": "2025-05-17", + "value": 12.3 + }, + { + "date": "2025-05-21", + "value": 34.4 + }, + { + "date": "2025-05-25", + "value": 8.2 + }, + { + "date": "2025-09-05", + "value": 11.5 + }, + { + "date": "2025-09-11", + "value": 13.1 + }, + { + "date": "2025-09-17", + "value": 13.9 + }, + { + "date": "2025-09-23", + "value": 14.8 + }, + { + "date": "2025-09-29", + "value": 15.6 + }, + { + "date": "2025-10-06", + "value": 11.5 + }, + { + "date": "2025-10-12", + "value": 12.3 + }, + { + "date": "2025-10-18", + "value": 13.1 + }, + { + "date": "2025-10-24", + "value": 14.8 + }, + { + "date": "2025-10-30", + "value": 9.0 + }, + { + "date": "2025-11-04", + "value": 14.8 + }, + { + "date": "2025-11-10", + "value": 15.6 + }, + { + "date": "2025-11-16", + "value": 16.4 + }, + { + "date": "2025-11-22", + "value": 11.5 + }, + { + "date": "2025-11-28", + "value": 12.3 + }, + { + "date": "2025-12-05", + "value": 13.9 + }, + { + "date": "2025-12-11", + "value": 15.6 + }, + { + "date": "2025-12-17", + "value": 9.8 + }, + { + "date": "2025-12-23", + "value": 11.5 + }, + { + "date": "2025-12-29", + "value": 12.3 + }, + { + "date": "2026-01-06", + "value": 13.9 + }, + { + "date": "2026-01-12", + "value": 9.0 + }, + { + "date": "2026-01-18", + "value": 9.8 + }, + { + "date": "2026-01-24", + "value": 10.7 + }, + { + "date": "2026-01-30", + "value": 11.5 + }, + { + "date": "2026-02-04", + "value": 10.7 + }, + { + "date": "2026-02-10", + "value": 11.5 + }, + { + "date": "2026-02-16", + "value": 13.1 + }, + { + "date": "2026-02-22", + "value": 13.9 + }, + { + "date": "2026-02-28", + "value": 14.8 + }, + { + "date": "2026-03-05", + "value": 10.7 + }, + { + "date": "2026-03-11", + "value": 11.5 + }, + { + "date": "2026-03-17", + "value": 12.3 + }, + { + "date": "2026-03-23", + "value": 13.1 + }, + { + "date": "2026-03-29", + "value": 14.8 + }, + { + "date": "2026-04-06", + "value": 13.1 + }, + { + "date": "2026-04-12", + "value": 14.8 + }, + { + "date": "2026-04-18", + "value": 15.6 + }, + { + "date": "2026-04-24", + "value": 16.4 + }, + { + "date": "2026-04-30", + "value": 11.5 + }, + { + "date": "2026-05-04", + "value": 13.1 + }, + { + "date": "2026-05-10", + "value": 13.9 + }, + { + "date": "2026-05-16", + "value": 15.6 + }, + { + "date": "2026-05-22", + "value": 9.8 + }, + { + "date": "2026-05-28", + "value": 11.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 12.3, + "median": 9.8, + "p10": 7.2, + "p25": 8.2, + "p75": 15.2, + "p90": 18.4, + "n": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "mean": 15.8, + "median": 15.2, + "p10": 6.6, + "p25": 10.2, + "p75": 20.7, + "p90": 25.5, + "n": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "mean": 18.6, + "median": 14.8, + "p10": 9.5, + "p25": 11.5, + "p75": 23.8, + "p90": 29.2, + "n": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "mean": 17.7, + "median": 12.3, + "p10": 3.6, + "p25": 6.6, + "p75": 23.0, + "p90": 36.2, + "n": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "mean": 16.4, + "median": 13.1, + "p10": 4.7, + "p25": 8.0, + "p75": 21.6, + "p90": 30.7, + "n": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "mean": 15.3, + "median": 14.8, + "p10": 8.2, + "p25": 10.7, + "p75": 19.7, + "p90": 22.6, + "n": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "mean": 17.6, + "median": 15.2, + "p10": 6.1, + "p25": 9.3, + "p75": 26.1, + "p90": 31.6, + "n": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "mean": 13.8, + "median": 13.9, + "p10": 12.1, + "p25": 13.1, + "p75": 14.8, + "p90": 15.3, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "mean": 12.1, + "median": 12.3, + "p10": 10.0, + "p25": 11.5, + "p75": 13.1, + "p90": 14.1, + "n": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "mean": 14.1, + "median": 14.8, + "p10": 11.8, + "p25": 12.3, + "p75": 15.6, + "p90": 16.1, + "n": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "mean": 12.6, + "median": 12.3, + "p10": 10.5, + "p25": 11.5, + "p75": 13.9, + "p90": 14.9, + "n": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "mean": 11.0, + "median": 10.7, + "p10": 9.3, + "p25": 9.8, + "p75": 11.5, + "p90": 13.0, + "n": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "mean": 12.8, + "median": 13.1, + "p10": 11.0, + "p25": 11.5, + "p75": 13.9, + "p90": 14.4, + "n": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "mean": 12.5, + "median": 12.3, + "p10": 11.0, + "p25": 11.5, + "p75": 13.1, + "p90": 14.1, + "n": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "mean": 14.3, + "median": 14.8, + "p10": 12.1, + "p25": 13.1, + "p75": 15.6, + "p90": 16.1, + "n": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "mean": 12.8, + "median": 13.1, + "p10": 10.5, + "p25": 11.5, + "p75": 13.9, + "p90": 14.9, + "n": 5, + "total_kg_days": 249600.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 0.9, + "mean_slack": 5.1, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 0.9 + }, + "direct": { + "binding_share": 0.9, + "mean_slack": 7.2, + "next_bottleneck_days": 27.4, + "expected_marginal_per_day": 0.9 + }, + "hub-1": { + "binding_share": 0.9, + "mean_slack": 2.0, + "next_bottleneck_days": 31.3, + "expected_marginal_per_day": 0.9 + } + } + }, + { + "id": "prod_duration_harbor_dark_roast", + "label": "Production: Harbor Dark Roast", + "type": "production", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 58, + "mean": 2.6, + "median": 2.5, + "std": 1.1, + "min": 0.0, + "max": 8.2, + "p25": 2.5, + "p75": 3.3, + "p85": 3.3, + "p95": 4.3 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 5.2, + "cost": null, + "observations": [ + { + "date": "2022-05-20", + "value": 1.6 + }, + { + "date": "2022-06-10", + "value": 2.5 + }, + { + "date": "2022-07-15", + "value": 0.8 + }, + { + "date": "2022-08-22", + "value": 3.3 + }, + { + "date": "2022-10-05", + "value": 1.6 + }, + { + "date": "2022-11-18", + "value": 4.1 + }, + { + "date": "2023-01-10", + "value": 2.5 + }, + { + "date": "2023-03-25", + "value": 5.7 + }, + { + "date": "2023-05-12", + "value": 1.6 + }, + { + "date": "2023-07-08", + "value": 3.3 + }, + { + "date": "2023-09-15", + "value": 0.8 + }, + { + "date": "2023-11-22", + "value": 2.5 + }, + { + "date": "2024-01-18", + "value": 8.2 + }, + { + "date": "2024-03-08", + "value": 2.5 + }, + { + "date": "2024-05-15", + "value": 1.6 + }, + { + "date": "2024-07-22", + "value": 4.1 + }, + { + "date": "2024-09-10", + "value": 0.0 + }, + { + "date": "2024-11-05", + "value": 3.3 + }, + { + "date": "2025-01-15", + "value": 2.5 + }, + { + "date": "2025-03-20", + "value": 1.6 + }, + { + "date": "2025-05-28", + "value": 4.9 + }, + { + "date": "2025-08-05", + "value": 2.5 + }, + { + "date": "2025-09-05", + "value": 3.3 + }, + { + "date": "2025-09-11", + "value": 3.3 + }, + { + "date": "2025-09-17", + "value": 2.5 + }, + { + "date": "2025-09-23", + "value": 2.5 + }, + { + "date": "2025-10-06", + "value": 3.3 + }, + { + "date": "2025-10-12", + "value": 1.6 + }, + { + "date": "2025-10-18", + "value": 2.5 + }, + { + "date": "2025-10-24", + "value": 2.5 + }, + { + "date": "2025-11-04", + "value": 1.6 + }, + { + "date": "2025-11-10", + "value": 1.6 + }, + { + "date": "2025-11-16", + "value": 2.5 + }, + { + "date": "2025-11-22", + "value": 2.5 + }, + { + "date": "2025-12-05", + "value": 2.5 + }, + { + "date": "2025-12-11", + "value": 2.5 + }, + { + "date": "2025-12-17", + "value": 2.5 + }, + { + "date": "2025-12-23", + "value": 3.3 + }, + { + "date": "2026-01-06", + "value": 2.5 + }, + { + "date": "2026-01-12", + "value": 2.5 + }, + { + "date": "2026-01-18", + "value": 2.5 + }, + { + "date": "2026-01-24", + "value": 3.3 + }, + { + "date": "2026-02-04", + "value": 3.3 + }, + { + "date": "2026-02-10", + "value": 3.3 + }, + { + "date": "2026-02-16", + "value": 3.3 + }, + { + "date": "2026-02-22", + "value": 2.5 + }, + { + "date": "2026-03-05", + "value": 2.5 + }, + { + "date": "2026-03-11", + "value": 3.3 + }, + { + "date": "2026-03-17", + "value": 1.6 + }, + { + "date": "2026-03-23", + "value": 2.5 + }, + { + "date": "2026-04-06", + "value": 2.5 + }, + { + "date": "2026-04-12", + "value": 1.6 + }, + { + "date": "2026-04-18", + "value": 1.6 + }, + { + "date": "2026-04-24", + "value": 2.5 + }, + { + "date": "2026-05-04", + "value": 2.5 + }, + { + "date": "2026-05-10", + "value": 2.5 + }, + { + "date": "2026-05-16", + "value": 2.5 + }, + { + "date": "2026-05-22", + "value": 2.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2022-06", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2022-07", + "mean": 0.8, + "median": 0.8, + "p10": 0.8, + "p25": 0.8, + "p75": 0.8, + "p90": 0.8, + "n": 1 + }, + { + "month": "2022-08", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2022-10", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2022-11", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2023-01", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2023-03", + "mean": 5.7, + "median": 5.7, + "p10": 5.7, + "p25": 5.7, + "p75": 5.7, + "p90": 5.7, + "n": 1 + }, + { + "month": "2023-05", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2023-07", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2023-09", + "mean": 0.8, + "median": 0.8, + "p10": 0.8, + "p25": 0.8, + "p75": 0.8, + "p90": 0.8, + "n": 1 + }, + { + "month": "2023-11", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 8.2, + "median": 8.2, + "p10": 8.2, + "p25": 8.2, + "p75": 8.2, + "p90": 8.2, + "n": 1 + }, + { + "month": "2024-03", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2024-05", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2024-07", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-09", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2025-01", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2025-03", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2025-05", + "mean": 4.9, + "median": 4.9, + "p10": 4.9, + "p25": 4.9, + "p75": 4.9, + "p90": 4.9, + "n": 1 + }, + { + "month": "2025-08", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2025-09", + "mean": 2.9, + "median": 2.9, + "p10": 2.5, + "p25": 2.5, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2025-10", + "mean": 2.5, + "median": 2.5, + "p10": 1.9, + "p25": 2.3, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2025-11", + "mean": 2.0, + "median": 2.0, + "p10": 1.6, + "p25": 1.6, + "p75": 2.5, + "p90": 2.5, + "n": 4 + }, + { + "month": "2025-12", + "mean": 2.7, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-01", + "mean": 2.7, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-02", + "mean": 3.1, + "median": 3.3, + "p10": 2.7, + "p25": 3.1, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2026-03", + "mean": 2.5, + "median": 2.5, + "p10": 1.9, + "p25": 2.3, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-04", + "mean": 2.0, + "median": 2.0, + "p10": 1.6, + "p25": 1.6, + "p75": 2.5, + "p90": 2.5, + "n": 4 + }, + { + "month": "2026-05", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 4 + } + ], + "n_batches": 58, + "n_movements": null, + "yield_summary": { + "median": 99.2, + "mean": 98.5, + "reference": 100.0, + "n": 58 + }, + "consumption_summary": { + "median_variance": 2.1, + "mean_variance": 3.4, + "n_components": 3, + "n": 58 + }, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 4.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 3.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 4.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "prod_to_qa_pla", + "label": "Production \u2192 QA Release (PL-A)", + "type": "qa_hold", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 58, + "mean": 2.8, + "median": 2.5, + "std": 1.5, + "min": 0.0, + "max": 10.7, + "p25": 2.5, + "p75": 3.3, + "p85": 3.3, + "p95": 5.1 + }, + "plifz": 5, + "plifz_note": "WEBAZ (GR processing days)", + "pct_exceeding_plifz": 6.9, + "cost": null, + "observations": [ + { + "date": "2022-05-22", + "value": 1.6 + }, + { + "date": "2022-06-13", + "value": 0.8 + }, + { + "date": "2022-07-16", + "value": 2.5 + }, + { + "date": "2022-08-26", + "value": 1.6 + }, + { + "date": "2022-10-07", + "value": 4.1 + }, + { + "date": "2022-11-23", + "value": 1.6 + }, + { + "date": "2023-01-13", + "value": 3.3 + }, + { + "date": "2023-04-01", + "value": 2.5 + }, + { + "date": "2023-05-14", + "value": 4.9 + }, + { + "date": "2023-07-12", + "value": 1.6 + }, + { + "date": "2023-09-16", + "value": 10.7 + }, + { + "date": "2023-11-25", + "value": 2.5 + }, + { + "date": "2024-01-28", + "value": 5.7 + }, + { + "date": "2024-03-11", + "value": 0.8 + }, + { + "date": "2024-05-17", + "value": 3.3 + }, + { + "date": "2024-07-27", + "value": 4.1 + }, + { + "date": "2024-09-10", + "value": 1.6 + }, + { + "date": "2024-11-09", + "value": 0.0 + }, + { + "date": "2025-01-18", + "value": 2.5 + }, + { + "date": "2025-03-22", + "value": 6.6 + }, + { + "date": "2025-06-03", + "value": 1.6 + }, + { + "date": "2025-08-08", + "value": 4.1 + }, + { + "date": "2025-09-04", + "value": 1.6 + }, + { + "date": "2025-09-10", + "value": 2.5 + }, + { + "date": "2025-09-16", + "value": 2.5 + }, + { + "date": "2025-09-22", + "value": 2.5 + }, + { + "date": "2025-10-05", + "value": 2.5 + }, + { + "date": "2025-10-11", + "value": 2.5 + }, + { + "date": "2025-10-17", + "value": 3.3 + }, + { + "date": "2025-10-23", + "value": 3.3 + }, + { + "date": "2025-11-06", + "value": 2.5 + }, + { + "date": "2025-11-12", + "value": 2.5 + }, + { + "date": "2025-11-18", + "value": 2.5 + }, + { + "date": "2025-11-24", + "value": 3.3 + }, + { + "date": "2025-12-04", + "value": 2.5 + }, + { + "date": "2025-12-10", + "value": 2.5 + }, + { + "date": "2025-12-16", + "value": 2.5 + }, + { + "date": "2025-12-22", + "value": 1.6 + }, + { + "date": "2026-01-05", + "value": 3.3 + }, + { + "date": "2026-01-11", + "value": 3.3 + }, + { + "date": "2026-01-17", + "value": 2.5 + }, + { + "date": "2026-01-23", + "value": 2.5 + }, + { + "date": "2026-02-06", + "value": 3.3 + }, + { + "date": "2026-02-12", + "value": 1.6 + }, + { + "date": "2026-02-18", + "value": 2.5 + }, + { + "date": "2026-02-24", + "value": 2.5 + }, + { + "date": "2026-03-04", + "value": 2.5 + }, + { + "date": "2026-03-10", + "value": 2.5 + }, + { + "date": "2026-03-16", + "value": 2.5 + }, + { + "date": "2026-03-22", + "value": 3.3 + }, + { + "date": "2026-04-05", + "value": 2.5 + }, + { + "date": "2026-04-11", + "value": 2.5 + }, + { + "date": "2026-04-17", + "value": 2.5 + }, + { + "date": "2026-04-23", + "value": 2.5 + }, + { + "date": "2026-05-06", + "value": 2.5 + }, + { + "date": "2026-05-12", + "value": 2.5 + }, + { + "date": "2026-05-18", + "value": 2.5 + }, + { + "date": "2026-05-24", + "value": 2.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2022-06", + "mean": 0.8, + "median": 0.8, + "p10": 0.8, + "p25": 0.8, + "p75": 0.8, + "p90": 0.8, + "n": 1 + }, + { + "month": "2022-07", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2022-08", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2022-10", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-11", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2023-01", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2023-04", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2023-05", + "mean": 4.9, + "median": 4.9, + "p10": 4.9, + "p25": 4.9, + "p75": 4.9, + "p90": 4.9, + "n": 1 + }, + { + "month": "2023-07", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2023-09", + "mean": 10.7, + "median": 10.7, + "p10": 10.7, + "p25": 10.7, + "p75": 10.7, + "p90": 10.7, + "n": 1 + }, + { + "month": "2023-11", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 5.7, + "median": 5.7, + "p10": 5.7, + "p25": 5.7, + "p75": 5.7, + "p90": 5.7, + "n": 1 + }, + { + "month": "2024-03", + "mean": 0.8, + "median": 0.8, + "p10": 0.8, + "p25": 0.8, + "p75": 0.8, + "p90": 0.8, + "n": 1 + }, + { + "month": "2024-05", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2024-07", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-09", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2024-11", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2025-03", + "mean": 6.6, + "median": 6.6, + "p10": 6.6, + "p25": 6.6, + "p75": 6.6, + "p90": 6.6, + "n": 1 + }, + { + "month": "2025-06", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2025-08", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-09", + "mean": 2.3, + "median": 2.5, + "p10": 1.9, + "p25": 2.3, + "p75": 2.5, + "p90": 2.5, + "n": 4 + }, + { + "month": "2025-10", + "mean": 2.9, + "median": 2.9, + "p10": 2.5, + "p25": 2.5, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2025-11", + "mean": 2.7, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2025-12", + "mean": 2.3, + "median": 2.5, + "p10": 1.9, + "p25": 2.3, + "p75": 2.5, + "p90": 2.5, + "n": 4 + }, + { + "month": "2026-01", + "mean": 2.9, + "median": 2.9, + "p10": 2.5, + "p25": 2.5, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2026-02", + "mean": 2.5, + "median": 2.5, + "p10": 1.9, + "p25": 2.3, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-03", + "mean": 2.7, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-04", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 4 + }, + { + "month": "2026-05", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 4 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": { + "median": 99.2, + "mean": 98.5, + "reference": 100.0, + "n": 58 + }, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 7.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 7.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 6.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "post_qa_ship_pla", + "label": "Post-QA Dwell (PL-A)", + "type": "post_qa_ship", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 57, + "mean": 10.4, + "median": 9.8, + "std": 4.6, + "min": 1.6, + "max": 34.4, + "p25": 8.2, + "p75": 11.5, + "p85": 12.3, + "p95": 16.7 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "cost": { + "unit_price": 23.37, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2023-03", + "n_events": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "n_events": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "n_events": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 264000.0 + } + ] + }, + "observations": [ + { + "date": "2023-03-10", + "value": 6.6 + }, + { + "date": "2023-03-25", + "value": 18.0 + }, + { + "date": "2023-09-20", + "value": 34.4 + }, + { + "date": "2024-03-15", + "value": 4.9 + }, + { + "date": "2024-03-28", + "value": 14.8 + }, + { + "date": "2024-09-05", + "value": 23.0 + }, + { + "date": "2024-09-15", + "value": 9.8 + }, + { + "date": "2024-09-25", + "value": 1.6 + }, + { + "date": "2025-03-10", + "value": 12.3 + }, + { + "date": "2025-03-22", + "value": 4.1 + }, + { + "date": "2025-07-08", + "value": 16.4 + }, + { + "date": "2025-07-22", + "value": 3.3 + }, + { + "date": "2025-09-05", + "value": 11.5 + }, + { + "date": "2025-09-11", + "value": 12.3 + }, + { + "date": "2025-09-17", + "value": 8.2 + }, + { + "date": "2025-09-23", + "value": 9.0 + }, + { + "date": "2025-09-29", + "value": 9.8 + }, + { + "date": "2025-10-06", + "value": 11.5 + }, + { + "date": "2025-10-12", + "value": 6.6 + }, + { + "date": "2025-10-18", + "value": 8.2 + }, + { + "date": "2025-10-24", + "value": 9.0 + }, + { + "date": "2025-10-30", + "value": 9.0 + }, + { + "date": "2025-11-04", + "value": 8.2 + }, + { + "date": "2025-11-10", + "value": 9.8 + }, + { + "date": "2025-11-16", + "value": 9.8 + }, + { + "date": "2025-11-22", + "value": 10.7 + }, + { + "date": "2025-11-28", + "value": 11.5 + }, + { + "date": "2025-12-05", + "value": 8.2 + }, + { + "date": "2025-12-11", + "value": 9.0 + }, + { + "date": "2025-12-17", + "value": 9.8 + }, + { + "date": "2025-12-23", + "value": 10.7 + }, + { + "date": "2025-12-29", + "value": 11.5 + }, + { + "date": "2026-01-06", + "value": 10.7 + }, + { + "date": "2026-01-12", + "value": 11.5 + }, + { + "date": "2026-01-18", + "value": 12.3 + }, + { + "date": "2026-01-24", + "value": 13.1 + }, + { + "date": "2026-01-30", + "value": 9.0 + }, + { + "date": "2026-02-04", + "value": 10.7 + }, + { + "date": "2026-02-10", + "value": 11.5 + }, + { + "date": "2026-02-16", + "value": 12.3 + }, + { + "date": "2026-02-22", + "value": 8.2 + }, + { + "date": "2026-02-28", + "value": 9.0 + }, + { + "date": "2026-03-05", + "value": 10.7 + }, + { + "date": "2026-03-11", + "value": 11.5 + }, + { + "date": "2026-03-17", + "value": 6.6 + }, + { + "date": "2026-03-23", + "value": 8.2 + }, + { + "date": "2026-03-29", + "value": 9.0 + }, + { + "date": "2026-04-06", + "value": 13.1 + }, + { + "date": "2026-04-12", + "value": 8.2 + }, + { + "date": "2026-04-18", + "value": 9.8 + }, + { + "date": "2026-04-24", + "value": 9.8 + }, + { + "date": "2026-04-30", + "value": 10.7 + }, + { + "date": "2026-05-04", + "value": 7.4 + }, + { + "date": "2026-05-10", + "value": 8.2 + }, + { + "date": "2026-05-16", + "value": 9.0 + }, + { + "date": "2026-05-22", + "value": 9.8 + }, + { + "date": "2026-05-28", + "value": 10.7 + } + ], + "monthly": [ + { + "month": "2023-03", + "mean": 12.3, + "median": 12.3, + "p10": 7.7, + "p25": 9.4, + "p75": 15.2, + "p90": 16.9, + "n": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "mean": 34.4, + "median": 34.4, + "p10": 34.4, + "p25": 34.4, + "p75": 34.4, + "p90": 34.4, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "mean": 9.8, + "median": 9.8, + "p10": 5.9, + "p25": 7.4, + "p75": 12.3, + "p90": 13.8, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "mean": 11.5, + "median": 9.8, + "p10": 3.3, + "p25": 5.7, + "p75": 16.4, + "p90": 20.3, + "n": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "mean": 8.2, + "median": 8.2, + "p10": 4.9, + "p25": 6.1, + "p75": 10.2, + "p90": 11.5, + "n": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "mean": 9.8, + "median": 9.8, + "p10": 4.6, + "p25": 6.6, + "p75": 13.1, + "p90": 15.1, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "mean": 10.2, + "median": 9.8, + "p10": 8.5, + "p25": 9.0, + "p75": 11.5, + "p90": 12.0, + "n": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "mean": 8.9, + "median": 9.0, + "p10": 7.2, + "p25": 8.2, + "p75": 9.0, + "p90": 10.5, + "n": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "mean": 10.0, + "median": 9.8, + "p10": 8.9, + "p25": 9.8, + "p75": 10.7, + "p90": 11.2, + "n": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "mean": 9.8, + "median": 9.8, + "p10": 8.5, + "p25": 9.0, + "p75": 10.7, + "p90": 11.2, + "n": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "mean": 11.3, + "median": 11.5, + "p10": 9.7, + "p25": 10.7, + "p75": 12.3, + "p90": 12.8, + "n": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "mean": 10.3, + "median": 10.7, + "p10": 8.5, + "p25": 9.0, + "p75": 11.5, + "p90": 12.0, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "mean": 9.2, + "median": 9.0, + "p10": 7.2, + "p25": 8.2, + "p75": 10.7, + "p90": 11.2, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "mean": 10.3, + "median": 9.8, + "p10": 8.9, + "p25": 9.8, + "p75": 10.7, + "p90": 12.1, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "mean": 9.0, + "median": 9.0, + "p10": 7.7, + "p25": 8.2, + "p75": 9.8, + "p90": 10.3, + "n": 5, + "total_kg_days": 264000.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "direct_ship_pla", + "label": "Direct-to-Customer Ship", + "type": "transit", + "material": "90000300001", + "plant": "PL-A\u2192Customer", + "stats": { + "n": 35, + "mean": 17.1, + "median": 17.2, + "std": 3.8, + "min": 9.8, + "max": 31.2, + "p25": 15.2, + "p75": 18.9, + "p85": 20.4, + "p95": 21.8 + }, + "plifz": null, + "plifz_note": "No planning parameter set", + "pct_exceeding_plifz": null, + "cost": null, + "observations": [ + { + "date": "2023-04-05", + "value": 14.8 + }, + { + "date": "2023-10-12", + "value": 20.5 + }, + { + "date": "2024-04-08", + "value": 9.8 + }, + { + "date": "2024-09-20", + "value": 31.2 + }, + { + "date": "2024-10-15", + "value": 16.4 + }, + { + "date": "2025-03-25", + "value": 12.3 + }, + { + "date": "2025-04-10", + "value": 23.0 + }, + { + "date": "2025-07-30", + "value": 19.7 + }, + { + "date": "2025-09-04", + "value": 13.9 + }, + { + "date": "2025-09-10", + "value": 15.6 + }, + { + "date": "2025-09-16", + "value": 17.2 + }, + { + "date": "2025-10-05", + "value": 13.9 + }, + { + "date": "2025-10-11", + "value": 15.6 + }, + { + "date": "2025-10-17", + "value": 16.4 + }, + { + "date": "2025-11-06", + "value": 18.0 + }, + { + "date": "2025-11-12", + "value": 18.9 + }, + { + "date": "2025-11-18", + "value": 20.5 + }, + { + "date": "2025-12-04", + "value": 17.2 + }, + { + "date": "2025-12-10", + "value": 18.9 + }, + { + "date": "2025-12-16", + "value": 20.5 + }, + { + "date": "2026-01-05", + "value": 17.2 + }, + { + "date": "2026-01-11", + "value": 18.9 + }, + { + "date": "2026-01-17", + "value": 11.5 + }, + { + "date": "2026-02-06", + "value": 21.3 + }, + { + "date": "2026-02-12", + "value": 13.9 + }, + { + "date": "2026-02-18", + "value": 15.6 + }, + { + "date": "2026-03-04", + "value": 12.3 + }, + { + "date": "2026-03-10", + "value": 13.9 + }, + { + "date": "2026-03-16", + "value": 15.6 + }, + { + "date": "2026-04-05", + "value": 16.4 + }, + { + "date": "2026-04-11", + "value": 18.0 + }, + { + "date": "2026-04-17", + "value": 18.9 + }, + { + "date": "2026-05-06", + "value": 16.4 + }, + { + "date": "2026-05-12", + "value": 17.2 + }, + { + "date": "2026-05-18", + "value": 18.9 + } + ], + "monthly": [ + { + "month": "2023-04", + "mean": 14.8, + "median": 14.8, + "p10": 14.8, + "p25": 14.8, + "p75": 14.8, + "p90": 14.8, + "n": 1 + }, + { + "month": "2023-10", + "mean": 20.5, + "median": 20.5, + "p10": 20.5, + "p25": 20.5, + "p75": 20.5, + "p90": 20.5, + "n": 1 + }, + { + "month": "2024-04", + "mean": 9.8, + "median": 9.8, + "p10": 9.8, + "p25": 9.8, + "p75": 9.8, + "p90": 9.8, + "n": 1 + }, + { + "month": "2024-09", + "mean": 31.2, + "median": 31.2, + "p10": 31.2, + "p25": 31.2, + "p75": 31.2, + "p90": 31.2, + "n": 1 + }, + { + "month": "2024-10", + "mean": 16.4, + "median": 16.4, + "p10": 16.4, + "p25": 16.4, + "p75": 16.4, + "p90": 16.4, + "n": 1 + }, + { + "month": "2025-03", + "mean": 12.3, + "median": 12.3, + "p10": 12.3, + "p25": 12.3, + "p75": 12.3, + "p90": 12.3, + "n": 1 + }, + { + "month": "2025-04", + "mean": 23.0, + "median": 23.0, + "p10": 23.0, + "p25": 23.0, + "p75": 23.0, + "p90": 23.0, + "n": 1 + }, + { + "month": "2025-07", + "mean": 19.7, + "median": 19.7, + "p10": 19.7, + "p25": 19.7, + "p75": 19.7, + "p90": 19.7, + "n": 1 + }, + { + "month": "2025-09", + "mean": 15.6, + "median": 15.6, + "p10": 14.3, + "p25": 14.8, + "p75": 16.4, + "p90": 16.9, + "n": 3 + }, + { + "month": "2025-10", + "mean": 15.3, + "median": 15.6, + "p10": 14.3, + "p25": 14.8, + "p75": 16.0, + "p90": 16.2, + "n": 3 + }, + { + "month": "2025-11", + "mean": 19.1, + "median": 18.9, + "p10": 18.2, + "p25": 18.4, + "p75": 19.7, + "p90": 20.2, + "n": 3 + }, + { + "month": "2025-12", + "mean": 18.9, + "median": 18.9, + "p10": 17.5, + "p25": 18.0, + "p75": 19.7, + "p90": 20.2, + "n": 3 + }, + { + "month": "2026-01", + "mean": 15.8, + "median": 17.2, + "p10": 12.6, + "p25": 14.3, + "p75": 18.0, + "p90": 18.5, + "n": 3 + }, + { + "month": "2026-02", + "mean": 17.0, + "median": 15.6, + "p10": 14.3, + "p25": 14.8, + "p75": 18.4, + "p90": 20.2, + "n": 3 + }, + { + "month": "2026-03", + "mean": 13.9, + "median": 13.9, + "p10": 12.6, + "p25": 13.1, + "p75": 14.8, + "p90": 15.3, + "n": 3 + }, + { + "month": "2026-04", + "mean": 17.8, + "median": 18.0, + "p10": 16.7, + "p25": 17.2, + "p75": 18.4, + "p90": 18.7, + "n": 3 + }, + { + "month": "2026-05", + "mean": 17.5, + "median": 17.2, + "p10": 16.6, + "p25": 16.8, + "p75": 18.0, + "p90": 18.5, + "n": 3 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 22.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 22.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "transit_pla_hub1", + "label": "Transit PL-A \u2192 HUB-1", + "type": "transit", + "material": "90000300001", + "plant": "PL-A\u2192HUB-1", + "stats": { + "n": 42, + "mean": 25.7, + "median": 25.0, + "std": 5.8, + "min": 12.3, + "max": 45.1, + "p25": 22.1, + "p75": 29.5, + "p85": 31.2, + "p95": 34.4 + }, + "plifz": 28, + "plifz_note": null, + "pct_exceeding_plifz": 61.9, + "cost": null, + "observations": [ + { + "date": "2022-07-20", + "value": 23.0 + }, + { + "date": "2022-11-30", + "value": 28.7 + }, + { + "date": "2023-03-15", + "value": 18.0 + }, + { + "date": "2023-07-10", + "value": 34.4 + }, + { + "date": "2023-10-25", + "value": 24.6 + }, + { + "date": "2024-02-08", + "value": 45.1 + }, + { + "date": "2024-05-20", + "value": 20.5 + }, + { + "date": "2024-08-12", + "value": 31.2 + }, + { + "date": "2024-11-05", + "value": 12.3 + }, + { + "date": "2025-01-22", + "value": 26.2 + }, + { + "date": "2025-04-10", + "value": 23.0 + }, + { + "date": "2025-06-18", + "value": 36.9 + }, + { + "date": "2025-07-15", + "value": 24.6 + }, + { + "date": "2025-08-05", + "value": 18.0 + }, + { + "date": "2025-09-05", + "value": 29.5 + }, + { + "date": "2025-09-10", + "value": 31.2 + }, + { + "date": "2025-09-11", + "value": 32.0 + }, + { + "date": "2025-09-17", + "value": 21.3 + }, + { + "date": "2025-10-06", + "value": 29.5 + }, + { + "date": "2025-10-12", + "value": 18.9 + }, + { + "date": "2025-10-18", + "value": 21.3 + }, + { + "date": "2025-11-04", + "value": 22.1 + }, + { + "date": "2025-11-10", + "value": 25.4 + }, + { + "date": "2025-11-16", + "value": 27.1 + }, + { + "date": "2025-12-05", + "value": 22.1 + }, + { + "date": "2025-12-11", + "value": 23.8 + }, + { + "date": "2025-12-17", + "value": 26.2 + }, + { + "date": "2026-01-06", + "value": 21.3 + }, + { + "date": "2026-01-12", + "value": 23.8 + }, + { + "date": "2026-01-18", + "value": 25.4 + }, + { + "date": "2026-02-04", + "value": 27.1 + }, + { + "date": "2026-02-10", + "value": 29.5 + }, + { + "date": "2026-02-16", + "value": 32.0 + }, + { + "date": "2026-03-05", + "value": 27.1 + }, + { + "date": "2026-03-11", + "value": 29.5 + }, + { + "date": "2026-03-17", + "value": 18.9 + }, + { + "date": "2026-04-06", + "value": 32.8 + }, + { + "date": "2026-04-12", + "value": 22.1 + }, + { + "date": "2026-04-18", + "value": 25.4 + }, + { + "date": "2026-05-04", + "value": 19.7 + }, + { + "date": "2026-05-10", + "value": 22.1 + }, + { + "date": "2026-05-16", + "value": 23.8 + } + ], + "monthly": [ + { + "month": "2022-07", + "mean": 23.0, + "median": 23.0, + "p10": 23.0, + "p25": 23.0, + "p75": 23.0, + "p90": 23.0, + "n": 1 + }, + { + "month": "2022-11", + "mean": 28.7, + "median": 28.7, + "p10": 28.7, + "p25": 28.7, + "p75": 28.7, + "p90": 28.7, + "n": 1 + }, + { + "month": "2023-03", + "mean": 18.0, + "median": 18.0, + "p10": 18.0, + "p25": 18.0, + "p75": 18.0, + "p90": 18.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 34.4, + "median": 34.4, + "p10": 34.4, + "p25": 34.4, + "p75": 34.4, + "p90": 34.4, + "n": 1 + }, + { + "month": "2023-10", + "mean": 24.6, + "median": 24.6, + "p10": 24.6, + "p25": 24.6, + "p75": 24.6, + "p90": 24.6, + "n": 1 + }, + { + "month": "2024-02", + "mean": 45.1, + "median": 45.1, + "p10": 45.1, + "p25": 45.1, + "p75": 45.1, + "p90": 45.1, + "n": 1 + }, + { + "month": "2024-05", + "mean": 20.5, + "median": 20.5, + "p10": 20.5, + "p25": 20.5, + "p75": 20.5, + "p90": 20.5, + "n": 1 + }, + { + "month": "2024-08", + "mean": 31.2, + "median": 31.2, + "p10": 31.2, + "p25": 31.2, + "p75": 31.2, + "p90": 31.2, + "n": 1 + }, + { + "month": "2024-11", + "mean": 12.3, + "median": 12.3, + "p10": 12.3, + "p25": 12.3, + "p75": 12.3, + "p90": 12.3, + "n": 1 + }, + { + "month": "2025-01", + "mean": 26.2, + "median": 26.2, + "p10": 26.2, + "p25": 26.2, + "p75": 26.2, + "p90": 26.2, + "n": 1 + }, + { + "month": "2025-04", + "mean": 23.0, + "median": 23.0, + "p10": 23.0, + "p25": 23.0, + "p75": 23.0, + "p90": 23.0, + "n": 1 + }, + { + "month": "2025-06", + "mean": 36.9, + "median": 36.9, + "p10": 36.9, + "p25": 36.9, + "p75": 36.9, + "p90": 36.9, + "n": 1 + }, + { + "month": "2025-07", + "mean": 24.6, + "median": 24.6, + "p10": 24.6, + "p25": 24.6, + "p75": 24.6, + "p90": 24.6, + "n": 1 + }, + { + "month": "2025-08", + "mean": 18.0, + "median": 18.0, + "p10": 18.0, + "p25": 18.0, + "p75": 18.0, + "p90": 18.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 28.5, + "median": 30.3, + "p10": 23.8, + "p25": 27.5, + "p75": 31.4, + "p90": 31.7, + "n": 4 + }, + { + "month": "2025-10", + "mean": 23.2, + "median": 21.3, + "p10": 19.4, + "p25": 20.1, + "p75": 25.4, + "p90": 27.9, + "n": 3 + }, + { + "month": "2025-11", + "mean": 24.8, + "median": 25.4, + "p10": 22.8, + "p25": 23.8, + "p75": 26.2, + "p90": 26.7, + "n": 3 + }, + { + "month": "2025-12", + "mean": 24.0, + "median": 23.8, + "p10": 22.5, + "p25": 23.0, + "p75": 25.0, + "p90": 25.7, + "n": 3 + }, + { + "month": "2026-01", + "mean": 23.5, + "median": 23.8, + "p10": 21.8, + "p25": 22.5, + "p75": 24.6, + "p90": 25.1, + "n": 3 + }, + { + "month": "2026-02", + "mean": 29.5, + "median": 29.5, + "p10": 27.6, + "p25": 28.3, + "p75": 30.7, + "p90": 31.5, + "n": 3 + }, + { + "month": "2026-03", + "mean": 25.2, + "median": 27.1, + "p10": 20.5, + "p25": 23.0, + "p75": 28.3, + "p90": 29.0, + "n": 3 + }, + { + "month": "2026-04", + "mean": 26.8, + "median": 25.4, + "p10": 22.8, + "p25": 23.8, + "p75": 29.1, + "p90": 31.3, + "n": 3 + }, + { + "month": "2026-05", + "mean": 21.9, + "median": 22.1, + "p10": 20.2, + "p25": 20.9, + "p75": 23.0, + "p90": 23.5, + "n": 3 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "dest_dwell_hub1", + "label": "Destination Dwell (HUB-1)", + "type": "destination_dwell", + "material": "90000300001", + "plant": "HUB-1", + "stats": { + "n": 37, + "mean": 36.9, + "median": 36.1, + "std": 11.5, + "min": 8.2, + "max": 77.9, + "p25": 29.5, + "p75": 40.2, + "p85": 43.5, + "p95": 55.4 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "cost": { + "unit_price": 23.37, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2022-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "n_events": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "n_events": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "n_events": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "n_events": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "n_events": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "n_events": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "n_events": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "n_events": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "n_events": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "n_events": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "n_events": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "n_events": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "n_events": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "n_events": 3, + "total_kg_days": 585600.0 + } + ] + }, + "observations": [ + { + "date": "2022-09-15", + "value": 34.4 + }, + { + "date": "2023-05-05", + "value": 53.3 + }, + { + "date": "2023-05-20", + "value": 23.0 + }, + { + "date": "2024-01-10", + "value": 77.9 + }, + { + "date": "2024-01-25", + "value": 28.7 + }, + { + "date": "2024-08-15", + "value": 8.2 + }, + { + "date": "2025-02-05", + "value": 64.0 + }, + { + "date": "2025-02-18", + "value": 45.1 + }, + { + "date": "2025-08-10", + "value": 34.4 + }, + { + "date": "2025-08-20", + "value": 26.2 + }, + { + "date": "2025-09-06", + "value": 32.0 + }, + { + "date": "2025-09-12", + "value": 34.4 + }, + { + "date": "2025-09-18", + "value": 37.7 + }, + { + "date": "2025-10-04", + "value": 40.2 + }, + { + "date": "2025-10-10", + "value": 43.5 + }, + { + "date": "2025-10-16", + "value": 46.7 + }, + { + "date": "2025-11-05", + "value": 39.4 + }, + { + "date": "2025-11-11", + "value": 42.6 + }, + { + "date": "2025-11-17", + "value": 27.9 + }, + { + "date": "2025-12-06", + "value": 39.4 + }, + { + "date": "2025-12-12", + "value": 24.6 + }, + { + "date": "2025-12-18", + "value": 27.9 + }, + { + "date": "2026-01-04", + "value": 29.5 + }, + { + "date": "2026-01-10", + "value": 33.6 + }, + { + "date": "2026-01-16", + "value": 35.3 + }, + { + "date": "2026-02-05", + "value": 29.5 + }, + { + "date": "2026-02-11", + "value": 32.0 + }, + { + "date": "2026-02-17", + "value": 34.4 + }, + { + "date": "2026-03-06", + "value": 37.7 + }, + { + "date": "2026-03-12", + "value": 40.2 + }, + { + "date": "2026-03-18", + "value": 43.5 + }, + { + "date": "2026-04-04", + "value": 36.9 + }, + { + "date": "2026-04-10", + "value": 39.4 + }, + { + "date": "2026-04-16", + "value": 42.6 + }, + { + "date": "2026-05-05", + "value": 36.1 + }, + { + "date": "2026-05-11", + "value": 39.4 + }, + { + "date": "2026-05-17", + "value": 24.6 + } + ], + "monthly": [ + { + "month": "2022-09", + "mean": 34.4, + "median": 34.4, + "p10": 34.4, + "p25": 34.4, + "p75": 34.4, + "p90": 34.4, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "mean": 38.1, + "median": 38.1, + "p10": 26.0, + "p25": 30.6, + "p75": 45.8, + "p90": 50.3, + "n": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "mean": 53.3, + "median": 53.3, + "p10": 33.6, + "p25": 41.0, + "p75": 65.6, + "p90": 73.0, + "n": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "mean": 8.2, + "median": 8.2, + "p10": 8.2, + "p25": 8.2, + "p75": 8.2, + "p90": 8.2, + "n": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "mean": 54.5, + "median": 54.5, + "p10": 47.0, + "p25": 49.9, + "p75": 59.3, + "p90": 62.1, + "n": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "mean": 30.3, + "median": 30.3, + "p10": 27.1, + "p25": 28.3, + "p75": 32.4, + "p90": 33.6, + "n": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "mean": 34.7, + "median": 34.4, + "p10": 32.5, + "p25": 33.2, + "p75": 36.1, + "p90": 37.1, + "n": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "mean": 43.5, + "median": 43.5, + "p10": 40.8, + "p25": 41.8, + "p75": 45.1, + "p90": 46.1, + "n": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "mean": 36.7, + "median": 39.4, + "p10": 30.2, + "p25": 33.6, + "p75": 41.0, + "p90": 42.0, + "n": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "mean": 30.6, + "median": 27.9, + "p10": 25.3, + "p25": 26.2, + "p75": 33.6, + "p90": 37.1, + "n": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "mean": 32.8, + "median": 33.6, + "p10": 30.3, + "p25": 31.6, + "p75": 34.4, + "p90": 34.9, + "n": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "mean": 32.0, + "median": 32.0, + "p10": 30.0, + "p25": 30.7, + "p75": 33.2, + "p90": 33.9, + "n": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "mean": 40.4, + "median": 40.2, + "p10": 38.2, + "p25": 38.9, + "p75": 41.8, + "p90": 42.8, + "n": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "mean": 39.6, + "median": 39.4, + "p10": 37.4, + "p25": 38.1, + "p75": 41.0, + "p90": 42.0, + "n": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "mean": 33.4, + "median": 36.1, + "p10": 26.9, + "p25": 30.3, + "p75": 37.7, + "p90": 38.7, + "n": 3, + "total_kg_days": 585600.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 45.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 45.0, + "expected_marginal_per_day": 1.0 + } + } + } + ] + }, + { + "id": "meadow-espresso", + "name": "Meadow Espresso", + "nodes": [ + { + "id": "procurement_highland_arabica", + "label": "Procurement: Highland Arabica", + "type": "procurement", + "material": "90000100001", + "plant": "PL-A", + "stats": { + "n": 59, + "mean": 54.3, + "median": 54.0, + "std": 18.0, + "min": 10.8, + "max": 141.8, + "p25": 47.2, + "p75": 60.8, + "p85": 64.8, + "p95": 75.3 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 98.3, + "cost": null, + "observations": [ + { + "date": "2022-03-15", + "value": 74.2 + }, + { + "date": "2022-06-10", + "value": 56.7 + }, + { + "date": "2022-09-22", + "value": 10.8 + }, + { + "date": "2022-12-05", + "value": 85.1 + }, + { + "date": "2023-02-14", + "value": 51.3 + }, + { + "date": "2023-05-30", + "value": 29.7 + }, + { + "date": "2023-08-17", + "value": 95.9 + }, + { + "date": "2023-11-02", + "value": 40.5 + }, + { + "date": "2024-01-25", + "value": 60.8 + }, + { + "date": "2024-04-11", + "value": 24.3 + }, + { + "date": "2024-07-09", + "value": 141.8 + }, + { + "date": "2024-10-03", + "value": 47.2 + }, + { + "date": "2025-01-20", + "value": 16.2 + }, + { + "date": "2025-04-08", + "value": 64.8 + }, + { + "date": "2025-09-05", + "value": 52.7 + }, + { + "date": "2025-09-11", + "value": 55.4 + }, + { + "date": "2025-09-17", + "value": 59.4 + }, + { + "date": "2025-09-23", + "value": 64.8 + }, + { + "date": "2025-09-29", + "value": 68.9 + }, + { + "date": "2025-10-06", + "value": 50.0 + }, + { + "date": "2025-10-12", + "value": 54.0 + }, + { + "date": "2025-10-18", + "value": 59.4 + }, + { + "date": "2025-10-24", + "value": 63.5 + }, + { + "date": "2025-10-30", + "value": 41.9 + }, + { + "date": "2025-11-04", + "value": 48.6 + }, + { + "date": "2025-11-10", + "value": 54.0 + }, + { + "date": "2025-11-16", + "value": 58.1 + }, + { + "date": "2025-11-22", + "value": 36.5 + }, + { + "date": "2025-11-28", + "value": 41.9 + }, + { + "date": "2025-12-05", + "value": 62.1 + }, + { + "date": "2025-12-11", + "value": 66.2 + }, + { + "date": "2025-12-17", + "value": 44.6 + }, + { + "date": "2025-12-23", + "value": 50.0 + }, + { + "date": "2025-12-29", + "value": 52.7 + }, + { + "date": "2026-01-06", + "value": 60.8 + }, + { + "date": "2026-01-12", + "value": 39.2 + }, + { + "date": "2026-01-18", + "value": 44.6 + }, + { + "date": "2026-01-24", + "value": 47.2 + }, + { + "date": "2026-01-30", + "value": 51.3 + }, + { + "date": "2026-02-04", + "value": 47.2 + }, + { + "date": "2026-02-10", + "value": 52.7 + }, + { + "date": "2026-02-16", + "value": 55.4 + }, + { + "date": "2026-02-22", + "value": 59.4 + }, + { + "date": "2026-02-28", + "value": 64.8 + }, + { + "date": "2026-03-05", + "value": 47.2 + }, + { + "date": "2026-03-11", + "value": 50.0 + }, + { + "date": "2026-03-17", + "value": 54.0 + }, + { + "date": "2026-03-23", + "value": 59.4 + }, + { + "date": "2026-03-29", + "value": 63.5 + }, + { + "date": "2026-04-06", + "value": 44.6 + }, + { + "date": "2026-04-12", + "value": 48.6 + }, + { + "date": "2026-04-18", + "value": 54.0 + }, + { + "date": "2026-04-24", + "value": 58.1 + }, + { + "date": "2026-04-30", + "value": 36.5 + }, + { + "date": "2026-05-04", + "value": 56.7 + }, + { + "date": "2026-05-10", + "value": 62.1 + }, + { + "date": "2026-05-16", + "value": 66.2 + }, + { + "date": "2026-05-22", + "value": 44.6 + }, + { + "date": "2026-05-28", + "value": 50.0 + } + ], + "monthly": [ + { + "month": "2022-03", + "mean": 74.2, + "median": 74.2, + "p10": 74.2, + "p25": 74.2, + "p75": 74.2, + "p90": 74.2, + "n": 1 + }, + { + "month": "2022-06", + "mean": 56.7, + "median": 56.7, + "p10": 56.7, + "p25": 56.7, + "p75": 56.7, + "p90": 56.7, + "n": 1 + }, + { + "month": "2022-09", + "mean": 10.8, + "median": 10.8, + "p10": 10.8, + "p25": 10.8, + "p75": 10.8, + "p90": 10.8, + "n": 1 + }, + { + "month": "2022-12", + "mean": 85.1, + "median": 85.1, + "p10": 85.1, + "p25": 85.1, + "p75": 85.1, + "p90": 85.1, + "n": 1 + }, + { + "month": "2023-02", + "mean": 51.3, + "median": 51.3, + "p10": 51.3, + "p25": 51.3, + "p75": 51.3, + "p90": 51.3, + "n": 1 + }, + { + "month": "2023-05", + "mean": 29.7, + "median": 29.7, + "p10": 29.7, + "p25": 29.7, + "p75": 29.7, + "p90": 29.7, + "n": 1 + }, + { + "month": "2023-08", + "mean": 95.9, + "median": 95.9, + "p10": 95.9, + "p25": 95.9, + "p75": 95.9, + "p90": 95.9, + "n": 1 + }, + { + "month": "2023-11", + "mean": 40.5, + "median": 40.5, + "p10": 40.5, + "p25": 40.5, + "p75": 40.5, + "p90": 40.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 60.8, + "median": 60.8, + "p10": 60.8, + "p25": 60.8, + "p75": 60.8, + "p90": 60.8, + "n": 1 + }, + { + "month": "2024-04", + "mean": 24.3, + "median": 24.3, + "p10": 24.3, + "p25": 24.3, + "p75": 24.3, + "p90": 24.3, + "n": 1 + }, + { + "month": "2024-07", + "mean": 141.8, + "median": 141.8, + "p10": 141.8, + "p25": 141.8, + "p75": 141.8, + "p90": 141.8, + "n": 1 + }, + { + "month": "2024-10", + "mean": 47.2, + "median": 47.2, + "p10": 47.2, + "p25": 47.2, + "p75": 47.2, + "p90": 47.2, + "n": 1 + }, + { + "month": "2025-01", + "mean": 16.2, + "median": 16.2, + "p10": 16.2, + "p25": 16.2, + "p75": 16.2, + "p90": 16.2, + "n": 1 + }, + { + "month": "2025-04", + "mean": 64.8, + "median": 64.8, + "p10": 64.8, + "p25": 64.8, + "p75": 64.8, + "p90": 64.8, + "n": 1 + }, + { + "month": "2025-09", + "mean": 60.2, + "median": 59.4, + "p10": 53.7, + "p25": 55.4, + "p75": 64.8, + "p90": 67.2, + "n": 5 + }, + { + "month": "2025-10", + "mean": 53.7, + "median": 54.0, + "p10": 45.1, + "p25": 50.0, + "p75": 59.4, + "p90": 61.8, + "n": 5 + }, + { + "month": "2025-11", + "mean": 47.8, + "median": 48.6, + "p10": 38.6, + "p25": 41.9, + "p75": 54.0, + "p90": 56.4, + "n": 5 + }, + { + "month": "2025-12", + "mean": 55.1, + "median": 52.7, + "p10": 46.7, + "p25": 50.0, + "p75": 62.1, + "p90": 64.5, + "n": 5 + }, + { + "month": "2026-01", + "mean": 48.6, + "median": 47.2, + "p10": 41.3, + "p25": 44.6, + "p75": 51.3, + "p90": 57.0, + "n": 5 + }, + { + "month": "2026-02", + "mean": 55.9, + "median": 55.4, + "p10": 49.4, + "p25": 52.7, + "p75": 59.4, + "p90": 62.6, + "n": 5 + }, + { + "month": "2026-03", + "mean": 54.8, + "median": 54.0, + "p10": 48.3, + "p25": 50.0, + "p75": 59.4, + "p90": 61.8, + "n": 5 + }, + { + "month": "2026-04", + "mean": 48.3, + "median": 48.6, + "p10": 39.7, + "p25": 44.6, + "p75": 54.0, + "p90": 56.4, + "n": 5 + }, + { + "month": "2026-05", + "mean": 55.9, + "median": 56.7, + "p10": 46.7, + "p25": 50.0, + "p75": 62.1, + "p90": 64.5, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "procurement_lowland_robusta", + "label": "Procurement: Lowland Robusta", + "type": "procurement", + "material": "90000100002", + "plant": "PL-A", + "stats": { + "n": 63, + "mean": 45.1, + "median": 44.6, + "std": 15.4, + "min": 6.8, + "max": 110.7, + "p25": 37.8, + "p75": 51.3, + "p85": 54.9, + "p95": 69.7 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 96.8, + "cost": null, + "observations": [ + { + "date": "2022-02-08", + "value": 43.2 + }, + { + "date": "2022-04-19", + "value": 64.8 + }, + { + "date": "2022-07-11", + "value": 6.8 + }, + { + "date": "2022-09-28", + "value": 90.5 + }, + { + "date": "2022-12-15", + "value": 33.8 + }, + { + "date": "2023-03-07", + "value": 55.4 + }, + { + "date": "2023-05-22", + "value": 20.2 + }, + { + "date": "2023-08-09", + "value": 110.7 + }, + { + "date": "2023-10-30", + "value": 51.3 + }, + { + "date": "2024-01-16", + "value": 27.0 + }, + { + "date": "2024-03-25", + "value": 70.2 + }, + { + "date": "2024-06-12", + "value": 13.5 + }, + { + "date": "2024-08-28", + "value": 59.4 + }, + { + "date": "2024-11-14", + "value": 37.8 + }, + { + "date": "2025-01-06", + "value": 47.2 + }, + { + "date": "2025-03-18", + "value": 24.3 + }, + { + "date": "2025-05-29", + "value": 74.2 + }, + { + "date": "2025-08-12", + "value": 35.1 + }, + { + "date": "2025-09-04", + "value": 35.1 + }, + { + "date": "2025-09-10", + "value": 39.2 + }, + { + "date": "2025-09-16", + "value": 41.9 + }, + { + "date": "2025-09-22", + "value": 45.9 + }, + { + "date": "2025-09-28", + "value": 50.0 + }, + { + "date": "2025-10-05", + "value": 35.1 + }, + { + "date": "2025-10-11", + "value": 37.8 + }, + { + "date": "2025-10-17", + "value": 41.9 + }, + { + "date": "2025-10-23", + "value": 44.6 + }, + { + "date": "2025-10-29", + "value": 48.6 + }, + { + "date": "2025-11-06", + "value": 44.6 + }, + { + "date": "2025-11-12", + "value": 48.6 + }, + { + "date": "2025-11-18", + "value": 51.3 + }, + { + "date": "2025-11-24", + "value": 56.7 + }, + { + "date": "2025-11-30", + "value": 37.8 + }, + { + "date": "2025-12-04", + "value": 43.2 + }, + { + "date": "2025-12-10", + "value": 47.2 + }, + { + "date": "2025-12-16", + "value": 51.3 + }, + { + "date": "2025-12-22", + "value": 32.4 + }, + { + "date": "2025-12-28", + "value": 37.8 + }, + { + "date": "2026-01-05", + "value": 54.0 + }, + { + "date": "2026-01-11", + "value": 58.1 + }, + { + "date": "2026-01-17", + "value": 39.2 + }, + { + "date": "2026-01-23", + "value": 44.6 + }, + { + "date": "2026-01-29", + "value": 47.2 + }, + { + "date": "2026-02-06", + "value": 54.0 + }, + { + "date": "2026-02-12", + "value": 35.1 + }, + { + "date": "2026-02-18", + "value": 39.2 + }, + { + "date": "2026-02-24", + "value": 41.9 + }, + { + "date": "2026-02-30", + "value": 45.9 + }, + { + "date": "2026-03-04", + "value": 29.7 + }, + { + "date": "2026-03-10", + "value": 35.1 + }, + { + "date": "2026-03-16", + "value": 37.8 + }, + { + "date": "2026-03-22", + "value": 41.9 + }, + { + "date": "2026-03-28", + "value": 44.6 + }, + { + "date": "2026-04-05", + "value": 41.9 + }, + { + "date": "2026-04-11", + "value": 44.6 + }, + { + "date": "2026-04-17", + "value": 48.6 + }, + { + "date": "2026-04-23", + "value": 51.3 + }, + { + "date": "2026-04-29", + "value": 56.7 + }, + { + "date": "2026-05-06", + "value": 40.5 + }, + { + "date": "2026-05-12", + "value": 43.2 + }, + { + "date": "2026-05-18", + "value": 47.2 + }, + { + "date": "2026-05-24", + "value": 51.3 + }, + { + "date": "2026-05-30", + "value": 32.4 + } + ], + "monthly": [ + { + "month": "2022-02", + "mean": 43.2, + "median": 43.2, + "p10": 43.2, + "p25": 43.2, + "p75": 43.2, + "p90": 43.2, + "n": 1 + }, + { + "month": "2022-04", + "mean": 64.8, + "median": 64.8, + "p10": 64.8, + "p25": 64.8, + "p75": 64.8, + "p90": 64.8, + "n": 1 + }, + { + "month": "2022-07", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2022-09", + "mean": 90.5, + "median": 90.5, + "p10": 90.5, + "p25": 90.5, + "p75": 90.5, + "p90": 90.5, + "n": 1 + }, + { + "month": "2022-12", + "mean": 33.8, + "median": 33.8, + "p10": 33.8, + "p25": 33.8, + "p75": 33.8, + "p90": 33.8, + "n": 1 + }, + { + "month": "2023-03", + "mean": 55.4, + "median": 55.4, + "p10": 55.4, + "p25": 55.4, + "p75": 55.4, + "p90": 55.4, + "n": 1 + }, + { + "month": "2023-05", + "mean": 20.2, + "median": 20.2, + "p10": 20.2, + "p25": 20.2, + "p75": 20.2, + "p90": 20.2, + "n": 1 + }, + { + "month": "2023-08", + "mean": 110.7, + "median": 110.7, + "p10": 110.7, + "p25": 110.7, + "p75": 110.7, + "p90": 110.7, + "n": 1 + }, + { + "month": "2023-10", + "mean": 51.3, + "median": 51.3, + "p10": 51.3, + "p25": 51.3, + "p75": 51.3, + "p90": 51.3, + "n": 1 + }, + { + "month": "2024-01", + "mean": 27.0, + "median": 27.0, + "p10": 27.0, + "p25": 27.0, + "p75": 27.0, + "p90": 27.0, + "n": 1 + }, + { + "month": "2024-03", + "mean": 70.2, + "median": 70.2, + "p10": 70.2, + "p25": 70.2, + "p75": 70.2, + "p90": 70.2, + "n": 1 + }, + { + "month": "2024-06", + "mean": 13.5, + "median": 13.5, + "p10": 13.5, + "p25": 13.5, + "p75": 13.5, + "p90": 13.5, + "n": 1 + }, + { + "month": "2024-08", + "mean": 59.4, + "median": 59.4, + "p10": 59.4, + "p25": 59.4, + "p75": 59.4, + "p90": 59.4, + "n": 1 + }, + { + "month": "2024-11", + "mean": 37.8, + "median": 37.8, + "p10": 37.8, + "p25": 37.8, + "p75": 37.8, + "p90": 37.8, + "n": 1 + }, + { + "month": "2025-01", + "mean": 47.2, + "median": 47.2, + "p10": 47.2, + "p25": 47.2, + "p75": 47.2, + "p90": 47.2, + "n": 1 + }, + { + "month": "2025-03", + "mean": 24.3, + "median": 24.3, + "p10": 24.3, + "p25": 24.3, + "p75": 24.3, + "p90": 24.3, + "n": 1 + }, + { + "month": "2025-05", + "mean": 74.2, + "median": 74.2, + "p10": 74.2, + "p25": 74.2, + "p75": 74.2, + "p90": 74.2, + "n": 1 + }, + { + "month": "2025-08", + "mean": 35.1, + "median": 35.1, + "p10": 35.1, + "p25": 35.1, + "p75": 35.1, + "p90": 35.1, + "n": 1 + }, + { + "month": "2025-09", + "mean": 42.4, + "median": 41.9, + "p10": 36.7, + "p25": 39.2, + "p75": 45.9, + "p90": 48.3, + "n": 5 + }, + { + "month": "2025-10", + "mean": 41.6, + "median": 41.9, + "p10": 36.2, + "p25": 37.8, + "p75": 44.6, + "p90": 47.0, + "n": 5 + }, + { + "month": "2025-11", + "mean": 47.8, + "median": 48.6, + "p10": 40.5, + "p25": 44.6, + "p75": 51.3, + "p90": 54.5, + "n": 5 + }, + { + "month": "2025-12", + "mean": 42.4, + "median": 43.2, + "p10": 34.6, + "p25": 37.8, + "p75": 47.2, + "p90": 49.7, + "n": 5 + }, + { + "month": "2026-01", + "mean": 48.6, + "median": 47.2, + "p10": 41.3, + "p25": 44.6, + "p75": 54.0, + "p90": 56.4, + "n": 5 + }, + { + "month": "2026-02", + "mean": 43.2, + "median": 41.9, + "p10": 36.7, + "p25": 39.2, + "p75": 45.9, + "p90": 50.8, + "n": 5 + }, + { + "month": "2026-03", + "mean": 37.8, + "median": 37.8, + "p10": 31.9, + "p25": 35.1, + "p75": 41.9, + "p90": 43.5, + "n": 5 + }, + { + "month": "2026-04", + "mean": 48.6, + "median": 48.6, + "p10": 42.9, + "p25": 44.6, + "p75": 51.3, + "p90": 54.5, + "n": 5 + }, + { + "month": "2026-05", + "mean": 42.9, + "median": 43.2, + "p10": 35.6, + "p25": 40.5, + "p75": 47.2, + "p90": 49.7, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "procurement_washed_bourbon", + "label": "Procurement: Washed Bourbon", + "type": "procurement", + "material": "90000100003", + "plant": "PL-A", + "stats": { + "n": 55, + "mean": 35.2, + "median": 33.8, + "std": 10.8, + "min": 9.5, + "max": 83.7, + "p25": 30.4, + "p75": 39.2, + "p85": 40.5, + "p95": 49.3 + }, + "plifz": 7, + "plifz_note": null, + "pct_exceeding_plifz": 98.2, + "cost": null, + "observations": [ + { + "date": "2022-05-03", + "value": 47.2 + }, + { + "date": "2022-10-18", + "value": 21.6 + }, + { + "date": "2023-01-24", + "value": 83.7 + }, + { + "date": "2023-06-15", + "value": 9.5 + }, + { + "date": "2023-09-28", + "value": 54.0 + }, + { + "date": "2024-02-12", + "value": 33.8 + }, + { + "date": "2024-05-07", + "value": 64.8 + }, + { + "date": "2024-09-19", + "value": 16.2 + }, + { + "date": "2025-02-04", + "value": 40.5 + }, + { + "date": "2025-06-10", + "value": 18.9 + }, + { + "date": "2025-09-06", + "value": 40.5 + }, + { + "date": "2025-09-12", + "value": 25.7 + }, + { + "date": "2025-09-18", + "value": 29.7 + }, + { + "date": "2025-09-24", + "value": 31.1 + }, + { + "date": "2025-09-30", + "value": 33.8 + }, + { + "date": "2025-10-04", + "value": 31.1 + }, + { + "date": "2025-10-10", + "value": 33.8 + }, + { + "date": "2025-10-16", + "value": 36.5 + }, + { + "date": "2025-10-22", + "value": 39.2 + }, + { + "date": "2025-10-28", + "value": 41.9 + }, + { + "date": "2025-11-05", + "value": 31.1 + }, + { + "date": "2025-11-11", + "value": 33.8 + }, + { + "date": "2025-11-17", + "value": 36.5 + }, + { + "date": "2025-11-23", + "value": 39.2 + }, + { + "date": "2025-11-29", + "value": 41.9 + }, + { + "date": "2025-12-06", + "value": 29.7 + }, + { + "date": "2025-12-12", + "value": 32.4 + }, + { + "date": "2025-12-18", + "value": 35.1 + }, + { + "date": "2025-12-24", + "value": 37.8 + }, + { + "date": "2025-12-30", + "value": 24.3 + }, + { + "date": "2026-01-04", + "value": 37.8 + }, + { + "date": "2026-01-10", + "value": 40.5 + }, + { + "date": "2026-01-16", + "value": 43.2 + }, + { + "date": "2026-01-22", + "value": 29.7 + }, + { + "date": "2026-01-28", + "value": 32.4 + }, + { + "date": "2026-02-05", + "value": 36.5 + }, + { + "date": "2026-02-11", + "value": 40.5 + }, + { + "date": "2026-02-17", + "value": 25.7 + }, + { + "date": "2026-02-23", + "value": 29.7 + }, + { + "date": "2026-02-29", + "value": 31.1 + }, + { + "date": "2026-03-06", + "value": 45.9 + }, + { + "date": "2026-03-12", + "value": 31.1 + }, + { + "date": "2026-03-18", + "value": 33.8 + }, + { + "date": "2026-03-24", + "value": 36.5 + }, + { + "date": "2026-03-30", + "value": 39.2 + }, + { + "date": "2026-04-04", + "value": 27.0 + }, + { + "date": "2026-04-10", + "value": 31.1 + }, + { + "date": "2026-04-16", + "value": 33.8 + }, + { + "date": "2026-04-22", + "value": 36.5 + }, + { + "date": "2026-04-28", + "value": 39.2 + }, + { + "date": "2026-05-05", + "value": 27.0 + }, + { + "date": "2026-05-11", + "value": 29.7 + }, + { + "date": "2026-05-17", + "value": 32.4 + }, + { + "date": "2026-05-23", + "value": 35.1 + }, + { + "date": "2026-05-29", + "value": 37.8 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 47.2, + "median": 47.2, + "p10": 47.2, + "p25": 47.2, + "p75": 47.2, + "p90": 47.2, + "n": 1 + }, + { + "month": "2022-10", + "mean": 21.6, + "median": 21.6, + "p10": 21.6, + "p25": 21.6, + "p75": 21.6, + "p90": 21.6, + "n": 1 + }, + { + "month": "2023-01", + "mean": 83.7, + "median": 83.7, + "p10": 83.7, + "p25": 83.7, + "p75": 83.7, + "p90": 83.7, + "n": 1 + }, + { + "month": "2023-06", + "mean": 9.5, + "median": 9.5, + "p10": 9.5, + "p25": 9.5, + "p75": 9.5, + "p90": 9.5, + "n": 1 + }, + { + "month": "2023-09", + "mean": 54.0, + "median": 54.0, + "p10": 54.0, + "p25": 54.0, + "p75": 54.0, + "p90": 54.0, + "n": 1 + }, + { + "month": "2024-02", + "mean": 33.8, + "median": 33.8, + "p10": 33.8, + "p25": 33.8, + "p75": 33.8, + "p90": 33.8, + "n": 1 + }, + { + "month": "2024-05", + "mean": 64.8, + "median": 64.8, + "p10": 64.8, + "p25": 64.8, + "p75": 64.8, + "p90": 64.8, + "n": 1 + }, + { + "month": "2024-09", + "mean": 16.2, + "median": 16.2, + "p10": 16.2, + "p25": 16.2, + "p75": 16.2, + "p90": 16.2, + "n": 1 + }, + { + "month": "2025-02", + "mean": 40.5, + "median": 40.5, + "p10": 40.5, + "p25": 40.5, + "p75": 40.5, + "p90": 40.5, + "n": 1 + }, + { + "month": "2025-06", + "mean": 18.9, + "median": 18.9, + "p10": 18.9, + "p25": 18.9, + "p75": 18.9, + "p90": 18.9, + "n": 1 + }, + { + "month": "2025-09", + "mean": 32.1, + "median": 31.1, + "p10": 27.3, + "p25": 29.7, + "p75": 33.8, + "p90": 37.8, + "n": 5 + }, + { + "month": "2025-10", + "mean": 36.5, + "median": 36.5, + "p10": 32.1, + "p25": 33.8, + "p75": 39.2, + "p90": 40.8, + "n": 5 + }, + { + "month": "2025-11", + "mean": 36.5, + "median": 36.5, + "p10": 32.1, + "p25": 33.8, + "p75": 39.2, + "p90": 40.8, + "n": 5 + }, + { + "month": "2025-12", + "mean": 31.9, + "median": 32.4, + "p10": 26.5, + "p25": 29.7, + "p75": 35.1, + "p90": 36.7, + "n": 5 + }, + { + "month": "2026-01", + "mean": 36.7, + "median": 37.8, + "p10": 30.8, + "p25": 32.4, + "p75": 40.5, + "p90": 42.1, + "n": 5 + }, + { + "month": "2026-02", + "mean": 32.7, + "median": 31.1, + "p10": 27.3, + "p25": 29.7, + "p75": 36.5, + "p90": 38.9, + "n": 5 + }, + { + "month": "2026-03", + "mean": 37.3, + "median": 36.5, + "p10": 32.1, + "p25": 33.8, + "p75": 39.2, + "p90": 43.2, + "n": 5 + }, + { + "month": "2026-04", + "mean": 33.5, + "median": 33.8, + "p10": 28.6, + "p25": 31.1, + "p75": 36.5, + "p90": 38.1, + "n": 5 + }, + { + "month": "2026-05", + "mean": 32.4, + "median": 32.4, + "p10": 28.1, + "p25": 29.7, + "p75": 35.1, + "p90": 36.7, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_highland_arabica", + "label": "Raw Material Dwell: Highland Arabica", + "type": "raw_material_dwell", + "material": "90000100001", + "plant": "PL-A", + "stats": { + "n": 83, + "mean": 65.2, + "median": 62.1, + "std": 26.7, + "min": 6.8, + "max": 175.5, + "p25": 52.0, + "p75": 73.6, + "p85": 82.4, + "p95": 118.4 + }, + "plifz": 30, + "plifz_note": null, + "pct_exceeding_plifz": 89.2, + "cost": { + "unit_price": 4.32, + "currency": "CHF", + "mean_qty": 4200.0, + "monthly": [ + { + "month": "2022-04", + "n_events": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "n_events": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "n_events": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "n_events": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "n_events": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "n_events": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "n_events": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "n_events": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "n_events": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "n_events": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 827400.0 + } + ] + }, + "observations": [ + { + "date": "2022-04-02", + "value": 47.2 + }, + { + "date": "2022-04-15", + "value": 83.7 + }, + { + "date": "2022-04-28", + "value": 24.3 + }, + { + "date": "2022-08-05", + "value": 118.8 + }, + { + "date": "2022-08-12", + "value": 56.7 + }, + { + "date": "2022-08-20", + "value": 74.2 + }, + { + "date": "2022-08-28", + "value": 40.5 + }, + { + "date": "2023-01-10", + "value": 97.2 + }, + { + "date": "2023-01-22", + "value": 33.8 + }, + { + "date": "2023-01-30", + "value": 64.8 + }, + { + "date": "2023-06-05", + "value": 20.2 + }, + { + "date": "2023-06-18", + "value": 128.2 + }, + { + "date": "2023-10-03", + "value": 175.5 + }, + { + "date": "2023-10-10", + "value": 60.8 + }, + { + "date": "2023-10-18", + "value": 51.3 + }, + { + "date": "2023-10-25", + "value": 87.8 + }, + { + "date": "2023-10-30", + "value": 29.7 + }, + { + "date": "2024-03-05", + "value": 105.3 + }, + { + "date": "2024-03-12", + "value": 6.8 + }, + { + "date": "2024-03-20", + "value": 74.2 + }, + { + "date": "2024-03-28", + "value": 54.0 + }, + { + "date": "2024-07-08", + "value": 37.8 + }, + { + "date": "2024-07-15", + "value": 114.8 + }, + { + "date": "2024-07-22", + "value": 67.5 + }, + { + "date": "2024-11-04", + "value": 148.5 + }, + { + "date": "2024-11-11", + "value": 43.2 + }, + { + "date": "2024-11-18", + "value": 91.8 + }, + { + "date": "2024-11-25", + "value": 60.8 + }, + { + "date": "2024-11-30", + "value": 124.2 + }, + { + "date": "2025-03-03", + "value": 27.0 + }, + { + "date": "2025-03-10", + "value": 78.3 + }, + { + "date": "2025-03-17", + "value": 47.2 + }, + { + "date": "2025-03-24", + "value": 56.7 + }, + { + "date": "2025-07-02", + "value": 101.2 + }, + { + "date": "2025-07-09", + "value": 16.2 + }, + { + "date": "2025-07-16", + "value": 64.8 + }, + { + "date": "2025-07-23", + "value": 81.0 + }, + { + "date": "2025-07-30", + "value": 51.3 + }, + { + "date": "2025-09-05", + "value": 66.2 + }, + { + "date": "2025-09-11", + "value": 72.9 + }, + { + "date": "2025-09-17", + "value": 45.9 + }, + { + "date": "2025-09-23", + "value": 52.7 + }, + { + "date": "2025-09-29", + "value": 56.7 + }, + { + "date": "2025-10-06", + "value": 82.4 + }, + { + "date": "2025-10-12", + "value": 55.4 + }, + { + "date": "2025-10-18", + "value": 62.1 + }, + { + "date": "2025-10-24", + "value": 66.2 + }, + { + "date": "2025-10-30", + "value": 71.6 + }, + { + "date": "2025-11-04", + "value": 48.6 + }, + { + "date": "2025-11-10", + "value": 55.4 + }, + { + "date": "2025-11-16", + "value": 59.4 + }, + { + "date": "2025-11-22", + "value": 64.8 + }, + { + "date": "2025-11-28", + "value": 70.2 + }, + { + "date": "2025-12-05", + "value": 48.6 + }, + { + "date": "2025-12-11", + "value": 52.7 + }, + { + "date": "2025-12-17", + "value": 58.1 + }, + { + "date": "2025-12-23", + "value": 63.5 + }, + { + "date": "2025-12-29", + "value": 68.9 + }, + { + "date": "2026-01-06", + "value": 63.5 + }, + { + "date": "2026-01-12", + "value": 67.5 + }, + { + "date": "2026-01-18", + "value": 72.9 + }, + { + "date": "2026-01-24", + "value": 78.3 + }, + { + "date": "2026-01-30", + "value": 52.7 + }, + { + "date": "2026-02-04", + "value": 60.8 + }, + { + "date": "2026-02-10", + "value": 66.2 + }, + { + "date": "2026-02-16", + "value": 72.9 + }, + { + "date": "2026-02-22", + "value": 45.9 + }, + { + "date": "2026-02-28", + "value": 52.7 + }, + { + "date": "2026-03-05", + "value": 75.6 + }, + { + "date": "2026-03-11", + "value": 82.4 + }, + { + "date": "2026-03-17", + "value": 55.4 + }, + { + "date": "2026-03-23", + "value": 62.1 + }, + { + "date": "2026-03-29", + "value": 66.2 + }, + { + "date": "2026-04-06", + "value": 75.6 + }, + { + "date": "2026-04-12", + "value": 48.6 + }, + { + "date": "2026-04-18", + "value": 55.4 + }, + { + "date": "2026-04-24", + "value": 59.4 + }, + { + "date": "2026-04-30", + "value": 64.8 + }, + { + "date": "2026-05-04", + "value": 43.2 + }, + { + "date": "2026-05-10", + "value": 48.6 + }, + { + "date": "2026-05-16", + "value": 52.7 + }, + { + "date": "2026-05-22", + "value": 58.1 + }, + { + "date": "2026-05-28", + "value": 63.5 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 51.7, + "median": 47.2, + "p10": 28.9, + "p25": 35.8, + "p75": 65.5, + "p90": 76.4, + "n": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "mean": 72.6, + "median": 65.5, + "p10": 45.4, + "p25": 52.7, + "p75": 85.5, + "p90": 105.4, + "n": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "mean": 65.2, + "median": 64.8, + "p10": 40.0, + "p25": 49.3, + "p75": 81.0, + "p90": 90.7, + "n": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "mean": 74.2, + "median": 74.2, + "p10": 31.1, + "p25": 47.2, + "p75": 101.2, + "p90": 117.5, + "n": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "mean": 81.0, + "median": 60.8, + "p10": 38.3, + "p25": 51.3, + "p75": 87.8, + "p90": 140.4, + "n": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "mean": 60.1, + "median": 64.1, + "p10": 20.9, + "p25": 42.3, + "p75": 82.1, + "p90": 96.0, + "n": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "mean": 73.3, + "median": 67.5, + "p10": 43.7, + "p25": 52.7, + "p75": 91.1, + "p90": 105.3, + "n": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "mean": 93.7, + "median": 91.8, + "p10": 50.2, + "p25": 60.8, + "p75": 124.2, + "p90": 138.8, + "n": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "mean": 52.4, + "median": 52.0, + "p10": 33.1, + "p25": 42.3, + "p75": 62.1, + "p90": 71.8, + "n": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "mean": 62.9, + "median": 64.8, + "p10": 30.2, + "p25": 51.3, + "p75": 81.0, + "p90": 93.2, + "n": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "mean": 58.9, + "median": 56.7, + "p10": 48.6, + "p25": 52.7, + "p75": 66.2, + "p90": 70.2, + "n": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "mean": 67.5, + "median": 66.2, + "p10": 58.1, + "p25": 62.1, + "p75": 71.6, + "p90": 78.0, + "n": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "mean": 59.7, + "median": 59.4, + "p10": 51.3, + "p25": 55.4, + "p75": 64.8, + "p90": 68.0, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "mean": 58.3, + "median": 58.1, + "p10": 50.2, + "p25": 52.7, + "p75": 63.5, + "p90": 66.7, + "n": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "mean": 67.0, + "median": 67.5, + "p10": 57.0, + "p25": 63.5, + "p75": 72.9, + "p90": 76.1, + "n": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "mean": 59.7, + "median": 60.8, + "p10": 48.6, + "p25": 52.7, + "p75": 66.2, + "p90": 70.2, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "mean": 68.3, + "median": 66.2, + "p10": 58.1, + "p25": 62.1, + "p75": 75.6, + "p90": 79.7, + "n": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "mean": 60.8, + "median": 59.4, + "p10": 51.3, + "p25": 55.4, + "p75": 64.8, + "p90": 71.3, + "n": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "mean": 53.2, + "median": 52.7, + "p10": 45.4, + "p25": 48.6, + "p75": 58.1, + "p90": 61.3, + "n": 5, + "total_kg_days": 827400.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_lowland_robusta", + "label": "Raw Material Dwell: Lowland Robusta", + "type": "raw_material_dwell", + "material": "90000100002", + "plant": "PL-A", + "stats": { + "n": 69, + "mean": 49.4, + "median": 45.9, + "std": 21.3, + "min": 4.1, + "max": 132.3, + "p25": 37.8, + "p75": 55.4, + "p85": 60.8, + "p95": 93.4 + }, + "plifz": 21, + "plifz_note": null, + "pct_exceeding_plifz": 91.3, + "cost": { + "unit_price": 2.43, + "currency": "CHF", + "mean_qty": 6500.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "n_events": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "n_events": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "n_events": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "n_events": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "n_events": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 1131000.0 + } + ] + }, + "observations": [ + { + "date": "2022-05-02", + "value": 37.8 + }, + { + "date": "2022-05-10", + "value": 60.8 + }, + { + "date": "2022-05-18", + "value": 16.2 + }, + { + "date": "2022-05-25", + "value": 83.7 + }, + { + "date": "2023-02-06", + "value": 44.6 + }, + { + "date": "2023-02-14", + "value": 105.3 + }, + { + "date": "2023-02-22", + "value": 27.0 + }, + { + "date": "2023-02-28", + "value": 74.2 + }, + { + "date": "2023-09-05", + "value": 10.8 + }, + { + "date": "2023-09-15", + "value": 56.7 + }, + { + "date": "2023-09-25", + "value": 87.8 + }, + { + "date": "2024-04-03", + "value": 51.3 + }, + { + "date": "2024-04-10", + "value": 20.2 + }, + { + "date": "2024-04-17", + "value": 97.2 + }, + { + "date": "2024-04-24", + "value": 33.8 + }, + { + "date": "2024-10-02", + "value": 64.8 + }, + { + "date": "2024-10-09", + "value": 4.1 + }, + { + "date": "2024-10-16", + "value": 114.8 + }, + { + "date": "2024-10-23", + "value": 40.5 + }, + { + "date": "2024-10-30", + "value": 74.2 + }, + { + "date": "2025-04-07", + "value": 29.7 + }, + { + "date": "2025-04-14", + "value": 54.0 + }, + { + "date": "2025-04-21", + "value": 132.3 + }, + { + "date": "2025-04-28", + "value": 24.3 + }, + { + "date": "2025-09-04", + "value": 52.7 + }, + { + "date": "2025-09-10", + "value": 55.4 + }, + { + "date": "2025-09-16", + "value": 60.8 + }, + { + "date": "2025-09-22", + "value": 40.5 + }, + { + "date": "2025-09-28", + "value": 45.9 + }, + { + "date": "2025-10-05", + "value": 51.3 + }, + { + "date": "2025-10-11", + "value": 55.4 + }, + { + "date": "2025-10-17", + "value": 36.5 + }, + { + "date": "2025-10-23", + "value": 40.5 + }, + { + "date": "2025-10-29", + "value": 43.2 + }, + { + "date": "2025-11-06", + "value": 51.3 + }, + { + "date": "2025-11-12", + "value": 31.1 + }, + { + "date": "2025-11-18", + "value": 36.5 + }, + { + "date": "2025-11-24", + "value": 39.2 + }, + { + "date": "2025-11-30", + "value": 43.2 + }, + { + "date": "2025-12-04", + "value": 37.8 + }, + { + "date": "2025-12-10", + "value": 43.2 + }, + { + "date": "2025-12-16", + "value": 45.9 + }, + { + "date": "2025-12-22", + "value": 50.0 + }, + { + "date": "2025-12-28", + "value": 54.0 + }, + { + "date": "2026-01-05", + "value": 37.8 + }, + { + "date": "2026-01-11", + "value": 41.9 + }, + { + "date": "2026-01-17", + "value": 44.6 + }, + { + "date": "2026-01-23", + "value": 48.6 + }, + { + "date": "2026-01-29", + "value": 52.7 + }, + { + "date": "2026-02-06", + "value": 48.6 + }, + { + "date": "2026-02-12", + "value": 52.7 + }, + { + "date": "2026-02-18", + "value": 55.4 + }, + { + "date": "2026-02-24", + "value": 60.8 + }, + { + "date": "2026-02-30", + "value": 40.5 + }, + { + "date": "2026-03-04", + "value": 47.2 + }, + { + "date": "2026-03-10", + "value": 51.3 + }, + { + "date": "2026-03-16", + "value": 55.4 + }, + { + "date": "2026-03-22", + "value": 36.5 + }, + { + "date": "2026-03-28", + "value": 40.5 + }, + { + "date": "2026-04-05", + "value": 45.9 + }, + { + "date": "2026-04-11", + "value": 51.3 + }, + { + "date": "2026-04-17", + "value": 31.1 + }, + { + "date": "2026-04-23", + "value": 36.5 + }, + { + "date": "2026-04-29", + "value": 39.2 + }, + { + "date": "2026-05-06", + "value": 58.1 + }, + { + "date": "2026-05-12", + "value": 37.8 + }, + { + "date": "2026-05-18", + "value": 43.2 + }, + { + "date": "2026-05-24", + "value": 45.9 + }, + { + "date": "2026-05-30", + "value": 50.0 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 49.7, + "median": 49.3, + "p10": 22.7, + "p25": 32.4, + "p75": 66.6, + "p90": 76.8, + "n": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "mean": 62.8, + "median": 59.4, + "p10": 32.3, + "p25": 40.2, + "p75": 82.1, + "p90": 96.0, + "n": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "mean": 51.7, + "median": 56.7, + "p10": 20.0, + "p25": 33.8, + "p75": 72.2, + "p90": 81.5, + "n": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "mean": 50.6, + "median": 42.5, + "p10": 24.3, + "p25": 30.4, + "p75": 62.8, + "p90": 83.4, + "n": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "mean": 59.7, + "median": 64.8, + "p10": 18.6, + "p25": 40.5, + "p75": 74.2, + "p90": 98.6, + "n": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "mean": 60.1, + "median": 41.9, + "p10": 25.9, + "p25": 28.4, + "p75": 73.6, + "p90": 108.8, + "n": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "mean": 51.0, + "median": 52.7, + "p10": 42.7, + "p25": 45.9, + "p75": 55.4, + "p90": 58.6, + "n": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "mean": 45.4, + "median": 43.2, + "p10": 38.1, + "p25": 40.5, + "p75": 51.3, + "p90": 53.7, + "n": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "mean": 40.2, + "median": 39.2, + "p10": 33.2, + "p25": 36.5, + "p75": 43.2, + "p90": 48.1, + "n": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "mean": 46.2, + "median": 45.9, + "p10": 40.0, + "p25": 43.2, + "p75": 50.0, + "p90": 52.4, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "mean": 45.1, + "median": 44.6, + "p10": 39.4, + "p25": 41.9, + "p75": 48.6, + "p90": 51.0, + "n": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "mean": 51.6, + "median": 52.7, + "p10": 43.7, + "p25": 48.6, + "p75": 55.4, + "p90": 58.6, + "n": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "mean": 46.2, + "median": 47.2, + "p10": 38.1, + "p25": 40.5, + "p75": 51.3, + "p90": 53.7, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "mean": 40.8, + "median": 39.2, + "p10": 33.2, + "p25": 36.5, + "p75": 45.9, + "p90": 49.1, + "n": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "mean": 47.0, + "median": 45.9, + "p10": 40.0, + "p25": 43.2, + "p75": 50.0, + "p90": 54.8, + "n": 5, + "total_kg_days": 1131000.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_washed_bourbon", + "label": "Raw Material Dwell: Washed Bourbon", + "type": "raw_material_dwell", + "material": "90000100003", + "plant": "PL-A", + "stats": { + "n": 70, + "mean": 59.3, + "median": 55.4, + "std": 25.8, + "min": 5.4, + "max": 155.2, + "p25": 46.3, + "p75": 67.5, + "p85": 72.9, + "p95": 110.6 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 95.7, + "cost": { + "unit_price": 7.425, + "currency": "CHF", + "mean_qty": 2800.0, + "monthly": [ + { + "month": "2022-06", + "n_events": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "n_events": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "n_events": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "n_events": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "n_events": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "n_events": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 568400.0 + } + ] + }, + "observations": [ + { + "date": "2022-06-05", + "value": 54.0 + }, + { + "date": "2022-06-15", + "value": 29.7 + }, + { + "date": "2022-06-25", + "value": 91.8 + }, + { + "date": "2023-03-08", + "value": 5.4 + }, + { + "date": "2023-03-15", + "value": 74.2 + }, + { + "date": "2023-03-22", + "value": 155.2 + }, + { + "date": "2023-03-29", + "value": 40.5 + }, + { + "date": "2023-11-06", + "value": 83.7 + }, + { + "date": "2023-11-13", + "value": 24.3 + }, + { + "date": "2023-11-20", + "value": 114.8 + }, + { + "date": "2024-06-03", + "value": 47.2 + }, + { + "date": "2024-06-10", + "value": 97.2 + }, + { + "date": "2024-06-17", + "value": 13.5 + }, + { + "date": "2024-06-24", + "value": 64.8 + }, + { + "date": "2024-06-30", + "value": 128.2 + }, + { + "date": "2025-01-07", + "value": 37.8 + }, + { + "date": "2025-01-14", + "value": 70.2 + }, + { + "date": "2025-01-21", + "value": 20.2 + }, + { + "date": "2025-01-28", + "value": 105.3 + }, + { + "date": "2025-08-04", + "value": 56.7 + }, + { + "date": "2025-08-08", + "value": 10.8 + }, + { + "date": "2025-08-12", + "value": 87.8 + }, + { + "date": "2025-08-16", + "value": 44.6 + }, + { + "date": "2025-08-20", + "value": 135.0 + }, + { + "date": "2025-08-24", + "value": 27.0 + }, + { + "date": "2025-09-06", + "value": 55.4 + }, + { + "date": "2025-09-12", + "value": 60.8 + }, + { + "date": "2025-09-18", + "value": 64.8 + }, + { + "date": "2025-09-24", + "value": 70.2 + }, + { + "date": "2025-09-30", + "value": 45.9 + }, + { + "date": "2025-10-04", + "value": 54.0 + }, + { + "date": "2025-10-10", + "value": 59.4 + }, + { + "date": "2025-10-16", + "value": 64.8 + }, + { + "date": "2025-10-22", + "value": 40.5 + }, + { + "date": "2025-10-28", + "value": 45.9 + }, + { + "date": "2025-11-05", + "value": 67.5 + }, + { + "date": "2025-11-11", + "value": 72.9 + }, + { + "date": "2025-11-17", + "value": 48.6 + }, + { + "date": "2025-11-23", + "value": 55.4 + }, + { + "date": "2025-11-29", + "value": 59.4 + }, + { + "date": "2025-12-06", + "value": 67.5 + }, + { + "date": "2025-12-12", + "value": 43.2 + }, + { + "date": "2025-12-18", + "value": 48.6 + }, + { + "date": "2025-12-24", + "value": 52.7 + }, + { + "date": "2025-12-30", + "value": 58.1 + }, + { + "date": "2026-01-04", + "value": 37.8 + }, + { + "date": "2026-01-10", + "value": 43.2 + }, + { + "date": "2026-01-16", + "value": 47.2 + }, + { + "date": "2026-01-22", + "value": 51.3 + }, + { + "date": "2026-01-28", + "value": 56.7 + }, + { + "date": "2026-02-05", + "value": 52.7 + }, + { + "date": "2026-02-11", + "value": 55.4 + }, + { + "date": "2026-02-17", + "value": 60.8 + }, + { + "date": "2026-02-23", + "value": 64.8 + }, + { + "date": "2026-02-29", + "value": 70.2 + }, + { + "date": "2026-03-06", + "value": 50.0 + }, + { + "date": "2026-03-12", + "value": 54.0 + }, + { + "date": "2026-03-18", + "value": 59.4 + }, + { + "date": "2026-03-24", + "value": 64.8 + }, + { + "date": "2026-03-30", + "value": 40.5 + }, + { + "date": "2026-04-04", + "value": 63.5 + }, + { + "date": "2026-04-10", + "value": 67.5 + }, + { + "date": "2026-04-16", + "value": 72.9 + }, + { + "date": "2026-04-22", + "value": 48.6 + }, + { + "date": "2026-04-28", + "value": 55.4 + }, + { + "date": "2026-05-05", + "value": 62.1 + }, + { + "date": "2026-05-11", + "value": 67.5 + }, + { + "date": "2026-05-17", + "value": 43.2 + }, + { + "date": "2026-05-23", + "value": 48.6 + }, + { + "date": "2026-05-29", + "value": 52.7 + } + ], + "monthly": [ + { + "month": "2022-06", + "mean": 58.5, + "median": 54.0, + "p10": 34.6, + "p25": 41.9, + "p75": 72.9, + "p90": 84.2, + "n": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "mean": 68.9, + "median": 57.4, + "p10": 15.9, + "p25": 31.7, + "p75": 94.5, + "p90": 131.0, + "n": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "mean": 74.2, + "median": 83.7, + "p10": 36.2, + "p25": 54.0, + "p75": 99.2, + "p90": 108.5, + "n": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "mean": 70.2, + "median": 64.8, + "p10": 27.0, + "p25": 47.2, + "p75": 97.2, + "p90": 115.8, + "n": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "mean": 58.5, + "median": 54.0, + "p10": 25.5, + "p25": 33.5, + "p75": 79.0, + "p90": 94.8, + "n": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "mean": 60.3, + "median": 50.6, + "p10": 18.9, + "p25": 31.5, + "p75": 80.1, + "p90": 111.4, + "n": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "mean": 59.4, + "median": 60.8, + "p10": 49.7, + "p25": 55.4, + "p75": 64.8, + "p90": 68.0, + "n": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "mean": 52.9, + "median": 54.0, + "p10": 42.7, + "p25": 45.9, + "p75": 59.4, + "p90": 62.6, + "n": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "mean": 60.8, + "median": 59.4, + "p10": 51.3, + "p25": 55.4, + "p75": 67.5, + "p90": 70.7, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "mean": 54.0, + "median": 52.7, + "p10": 45.4, + "p25": 48.6, + "p75": 58.1, + "p90": 63.7, + "n": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "mean": 47.2, + "median": 47.2, + "p10": 40.0, + "p25": 43.2, + "p75": 51.3, + "p90": 54.5, + "n": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "mean": 60.8, + "median": 60.8, + "p10": 53.7, + "p25": 55.4, + "p75": 64.8, + "p90": 68.0, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "mean": 53.7, + "median": 54.0, + "p10": 44.3, + "p25": 50.0, + "p75": 59.4, + "p90": 62.6, + "n": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "mean": 61.6, + "median": 63.5, + "p10": 51.3, + "p25": 55.4, + "p75": 67.5, + "p90": 70.7, + "n": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "mean": 54.8, + "median": 52.7, + "p10": 45.4, + "p25": 48.6, + "p75": 62.1, + "p90": 65.3, + "n": 5, + "total_kg_days": 568400.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "prod_duration_green_blend", + "label": "Production: Green Blend", + "type": "production", + "material": "90000200001", + "plant": "PL-A", + "stats": { + "n": 50, + "mean": 5.9, + "median": 5.4, + "std": 2.4, + "min": 1.4, + "max": 18.9, + "p25": 4.5, + "p75": 6.8, + "p85": 6.8, + "p95": 8.9 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 10.0, + "cost": null, + "observations": [ + { + "date": "2022-04-18", + "value": 4.1 + }, + { + "date": "2022-07-05", + "value": 6.8 + }, + { + "date": "2022-10-12", + "value": 2.7 + }, + { + "date": "2023-01-20", + "value": 9.5 + }, + { + "date": "2023-04-15", + "value": 5.4 + }, + { + "date": "2023-07-28", + "value": 8.1 + }, + { + "date": "2023-10-05", + "value": 4.1 + }, + { + "date": "2024-01-12", + "value": 18.9 + }, + { + "date": "2024-04-22", + "value": 5.4 + }, + { + "date": "2024-07-10", + "value": 10.8 + }, + { + "date": "2024-10-18", + "value": 4.1 + }, + { + "date": "2025-01-25", + "value": 6.8 + }, + { + "date": "2025-05-08", + "value": 1.4 + }, + { + "date": "2025-08-15", + "value": 8.1 + }, + { + "date": "2025-09-04", + "value": 4.1 + }, + { + "date": "2025-09-10", + "value": 5.4 + }, + { + "date": "2025-09-16", + "value": 5.4 + }, + { + "date": "2025-09-22", + "value": 5.4 + }, + { + "date": "2025-10-05", + "value": 4.1 + }, + { + "date": "2025-10-11", + "value": 5.4 + }, + { + "date": "2025-10-17", + "value": 5.4 + }, + { + "date": "2025-10-23", + "value": 5.4 + }, + { + "date": "2025-11-06", + "value": 5.4 + }, + { + "date": "2025-11-12", + "value": 6.8 + }, + { + "date": "2025-11-18", + "value": 6.8 + }, + { + "date": "2025-11-24", + "value": 6.8 + }, + { + "date": "2025-12-04", + "value": 5.4 + }, + { + "date": "2025-12-10", + "value": 6.8 + }, + { + "date": "2025-12-16", + "value": 6.8 + }, + { + "date": "2025-12-22", + "value": 4.1 + }, + { + "date": "2026-01-05", + "value": 5.4 + }, + { + "date": "2026-01-11", + "value": 6.8 + }, + { + "date": "2026-01-17", + "value": 4.1 + }, + { + "date": "2026-01-23", + "value": 4.1 + }, + { + "date": "2026-02-06", + "value": 6.8 + }, + { + "date": "2026-02-12", + "value": 4.1 + }, + { + "date": "2026-02-18", + "value": 5.4 + }, + { + "date": "2026-02-24", + "value": 5.4 + }, + { + "date": "2026-03-04", + "value": 4.1 + }, + { + "date": "2026-03-10", + "value": 4.1 + }, + { + "date": "2026-03-16", + "value": 5.4 + }, + { + "date": "2026-03-22", + "value": 5.4 + }, + { + "date": "2026-04-05", + "value": 5.4 + }, + { + "date": "2026-04-11", + "value": 5.4 + }, + { + "date": "2026-04-17", + "value": 6.8 + }, + { + "date": "2026-04-23", + "value": 6.8 + }, + { + "date": "2026-05-06", + "value": 5.4 + }, + { + "date": "2026-05-12", + "value": 5.4 + }, + { + "date": "2026-05-18", + "value": 6.8 + }, + { + "date": "2026-05-24", + "value": 6.8 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-07", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2023-01", + "mean": 9.5, + "median": 9.5, + "p10": 9.5, + "p25": 9.5, + "p75": 9.5, + "p90": 9.5, + "n": 1 + }, + { + "month": "2023-04", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2023-07", + "mean": 8.1, + "median": 8.1, + "p10": 8.1, + "p25": 8.1, + "p75": 8.1, + "p90": 8.1, + "n": 1 + }, + { + "month": "2023-10", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-01", + "mean": 18.9, + "median": 18.9, + "p10": 18.9, + "p25": 18.9, + "p75": 18.9, + "p90": 18.9, + "n": 1 + }, + { + "month": "2024-04", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2024-07", + "mean": 10.8, + "median": 10.8, + "p10": 10.8, + "p25": 10.8, + "p75": 10.8, + "p90": 10.8, + "n": 1 + }, + { + "month": "2024-10", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-01", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2025-05", + "mean": 1.4, + "median": 1.4, + "p10": 1.4, + "p25": 1.4, + "p75": 1.4, + "p90": 1.4, + "n": 1 + }, + { + "month": "2025-08", + "mean": 8.1, + "median": 8.1, + "p10": 8.1, + "p25": 8.1, + "p75": 8.1, + "p90": 8.1, + "n": 1 + }, + { + "month": "2025-09", + "mean": 5.1, + "median": 5.4, + "p10": 4.5, + "p25": 5.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2025-10", + "mean": 5.1, + "median": 5.4, + "p10": 4.5, + "p25": 5.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2025-11", + "mean": 6.5, + "median": 6.8, + "p10": 5.8, + "p25": 6.5, + "p75": 6.8, + "p90": 6.8, + "n": 4 + }, + { + "month": "2025-12", + "mean": 5.8, + "median": 6.1, + "p10": 4.5, + "p25": 5.1, + "p75": 6.8, + "p90": 6.8, + "n": 4 + }, + { + "month": "2026-01", + "mean": 5.1, + "median": 4.7, + "p10": 4.1, + "p25": 4.1, + "p75": 5.8, + "p90": 6.3, + "n": 4 + }, + { + "month": "2026-02", + "mean": 5.4, + "median": 5.4, + "p10": 4.5, + "p25": 5.1, + "p75": 5.8, + "p90": 6.3, + "n": 4 + }, + { + "month": "2026-03", + "mean": 4.7, + "median": 4.7, + "p10": 4.1, + "p25": 4.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2026-04", + "mean": 6.1, + "median": 6.1, + "p10": 5.4, + "p25": 5.4, + "p75": 6.8, + "p90": 6.8, + "n": 4 + }, + { + "month": "2026-05", + "mean": 6.1, + "median": 6.1, + "p10": 5.4, + "p25": 5.4, + "p75": 6.8, + "p90": 6.8, + "n": 4 + } + ], + "n_batches": 50, + "n_movements": null, + "yield_summary": { + "median": 98.5, + "mean": 97.2, + "reference": 100.0, + "n": 50 + }, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 0.9, + "mean_slack": 5.1, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 0.9 + }, + "direct": { + "binding_share": 0.9, + "mean_slack": 7.2, + "next_bottleneck_days": 27.4, + "expected_marginal_per_day": 0.9 + }, + "hub-1": { + "binding_share": 0.9, + "mean_slack": 2.0, + "next_bottleneck_days": 31.3, + "expected_marginal_per_day": 0.9 + } + } + }, + { + "id": "intermed_dwell_green_blend", + "label": "Intermediate Dwell: Green Blend", + "type": "intermediate_dwell", + "material": "90000200001", + "plant": "PL-A", + "stats": { + "n": 73, + "mean": 23.5, + "median": 21.6, + "std": 12.2, + "min": 2.7, + "max": 74.2, + "p25": 17.6, + "p75": 25.7, + "p85": 27.5, + "p95": 50.0 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 87.7, + "cost": { + "unit_price": 16.875, + "currency": "CHF", + "mean_qty": 3200.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "n_events": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "n_events": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "n_events": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "n_events": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "n_events": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "n_events": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 249600.0 + } + ] + }, + "observations": [ + { + "date": "2022-05-05", + "value": 16.2 + }, + { + "date": "2022-05-15", + "value": 33.8 + }, + { + "date": "2022-05-22", + "value": 10.8 + }, + { + "date": "2022-11-03", + "value": 47.2 + }, + { + "date": "2022-11-10", + "value": 20.2 + }, + { + "date": "2022-11-18", + "value": 6.8 + }, + { + "date": "2022-11-25", + "value": 29.7 + }, + { + "date": "2023-05-08", + "value": 24.3 + }, + { + "date": "2023-05-15", + "value": 54.0 + }, + { + "date": "2023-05-22", + "value": 13.5 + }, + { + "date": "2023-11-06", + "value": 74.2 + }, + { + "date": "2023-11-13", + "value": 2.7 + }, + { + "date": "2023-11-20", + "value": 37.8 + }, + { + "date": "2023-11-27", + "value": 20.2 + }, + { + "date": "2023-11-30", + "value": 10.8 + }, + { + "date": "2024-05-06", + "value": 27.0 + }, + { + "date": "2024-05-13", + "value": 60.8 + }, + { + "date": "2024-05-20", + "value": 16.2 + }, + { + "date": "2024-05-27", + "value": 4.1 + }, + { + "date": "2024-11-04", + "value": 24.3 + }, + { + "date": "2024-11-11", + "value": 40.5 + }, + { + "date": "2024-11-18", + "value": 10.8 + }, + { + "date": "2025-05-05", + "value": 29.7 + }, + { + "date": "2025-05-09", + "value": 47.2 + }, + { + "date": "2025-05-13", + "value": 6.8 + }, + { + "date": "2025-05-17", + "value": 20.2 + }, + { + "date": "2025-05-21", + "value": 56.7 + }, + { + "date": "2025-05-25", + "value": 13.5 + }, + { + "date": "2025-09-05", + "value": 18.9 + }, + { + "date": "2025-09-11", + "value": 21.6 + }, + { + "date": "2025-09-17", + "value": 23.0 + }, + { + "date": "2025-09-23", + "value": 24.3 + }, + { + "date": "2025-09-29", + "value": 25.7 + }, + { + "date": "2025-10-06", + "value": 18.9 + }, + { + "date": "2025-10-12", + "value": 20.2 + }, + { + "date": "2025-10-18", + "value": 21.6 + }, + { + "date": "2025-10-24", + "value": 24.3 + }, + { + "date": "2025-10-30", + "value": 14.9 + }, + { + "date": "2025-11-04", + "value": 24.3 + }, + { + "date": "2025-11-10", + "value": 25.7 + }, + { + "date": "2025-11-16", + "value": 27.0 + }, + { + "date": "2025-11-22", + "value": 18.9 + }, + { + "date": "2025-11-28", + "value": 20.2 + }, + { + "date": "2025-12-05", + "value": 23.0 + }, + { + "date": "2025-12-11", + "value": 25.7 + }, + { + "date": "2025-12-17", + "value": 16.2 + }, + { + "date": "2025-12-23", + "value": 18.9 + }, + { + "date": "2025-12-29", + "value": 20.2 + }, + { + "date": "2026-01-06", + "value": 23.0 + }, + { + "date": "2026-01-12", + "value": 14.9 + }, + { + "date": "2026-01-18", + "value": 16.2 + }, + { + "date": "2026-01-24", + "value": 17.6 + }, + { + "date": "2026-01-30", + "value": 18.9 + }, + { + "date": "2026-02-04", + "value": 17.6 + }, + { + "date": "2026-02-10", + "value": 18.9 + }, + { + "date": "2026-02-16", + "value": 21.6 + }, + { + "date": "2026-02-22", + "value": 23.0 + }, + { + "date": "2026-02-28", + "value": 24.3 + }, + { + "date": "2026-03-05", + "value": 17.6 + }, + { + "date": "2026-03-11", + "value": 18.9 + }, + { + "date": "2026-03-17", + "value": 20.2 + }, + { + "date": "2026-03-23", + "value": 21.6 + }, + { + "date": "2026-03-29", + "value": 24.3 + }, + { + "date": "2026-04-06", + "value": 21.6 + }, + { + "date": "2026-04-12", + "value": 24.3 + }, + { + "date": "2026-04-18", + "value": 25.7 + }, + { + "date": "2026-04-24", + "value": 27.0 + }, + { + "date": "2026-04-30", + "value": 18.9 + }, + { + "date": "2026-05-04", + "value": 21.6 + }, + { + "date": "2026-05-10", + "value": 23.0 + }, + { + "date": "2026-05-16", + "value": 25.7 + }, + { + "date": "2026-05-22", + "value": 16.2 + }, + { + "date": "2026-05-28", + "value": 18.9 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 20.2, + "median": 16.2, + "p10": 11.9, + "p25": 13.5, + "p75": 25.0, + "p90": 30.2, + "n": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "mean": 26.1, + "median": 25.0, + "p10": 10.8, + "p25": 16.9, + "p75": 34.2, + "p90": 42.0, + "n": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "mean": 30.6, + "median": 24.3, + "p10": 15.7, + "p25": 18.9, + "p75": 39.2, + "p90": 48.1, + "n": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "mean": 29.2, + "median": 20.2, + "p10": 5.9, + "p25": 10.8, + "p75": 37.8, + "p90": 59.7, + "n": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "mean": 27.0, + "median": 21.6, + "p10": 7.7, + "p25": 13.2, + "p75": 35.5, + "p90": 50.6, + "n": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "mean": 25.2, + "median": 24.3, + "p10": 13.5, + "p25": 17.6, + "p75": 32.4, + "p90": 37.3, + "n": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "mean": 29.0, + "median": 25.0, + "p10": 10.1, + "p25": 15.3, + "p75": 42.9, + "p90": 52.0, + "n": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "mean": 22.7, + "median": 23.0, + "p10": 20.0, + "p25": 21.6, + "p75": 24.3, + "p90": 25.1, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "mean": 20.0, + "median": 20.2, + "p10": 16.5, + "p25": 18.9, + "p75": 21.6, + "p90": 23.2, + "n": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "mean": 23.2, + "median": 24.3, + "p10": 19.4, + "p25": 20.2, + "p75": 25.7, + "p90": 26.5, + "n": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "mean": 20.8, + "median": 20.2, + "p10": 17.3, + "p25": 18.9, + "p75": 23.0, + "p90": 24.6, + "n": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "mean": 18.1, + "median": 17.6, + "p10": 15.4, + "p25": 16.2, + "p75": 18.9, + "p90": 21.3, + "n": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "mean": 21.1, + "median": 21.6, + "p10": 18.1, + "p25": 18.9, + "p75": 23.0, + "p90": 23.8, + "n": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "mean": 20.5, + "median": 20.2, + "p10": 18.1, + "p25": 18.9, + "p75": 21.6, + "p90": 23.2, + "n": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "mean": 23.5, + "median": 24.3, + "p10": 20.0, + "p25": 21.6, + "p75": 25.7, + "p90": 26.5, + "n": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "mean": 21.1, + "median": 21.6, + "p10": 17.3, + "p25": 18.9, + "p75": 23.0, + "p90": 24.6, + "n": 5, + "total_kg_days": 249600.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 0.9, + "mean_slack": 5.1, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 0.9 + }, + "direct": { + "binding_share": 0.9, + "mean_slack": 7.2, + "next_bottleneck_days": 27.4, + "expected_marginal_per_day": 0.9 + }, + "hub-1": { + "binding_share": 0.9, + "mean_slack": 2.0, + "next_bottleneck_days": 31.3, + "expected_marginal_per_day": 0.9 + } + } + }, + { + "id": "prod_duration_harbor_dark_roast", + "label": "Production: Harbor Dark Roast", + "type": "production", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 58, + "mean": 4.3, + "median": 4.1, + "std": 1.9, + "min": 0.0, + "max": 13.5, + "p25": 4.1, + "p75": 5.4, + "p85": 5.4, + "p95": 7.0 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 5.2, + "cost": null, + "observations": [ + { + "date": "2022-05-20", + "value": 2.7 + }, + { + "date": "2022-06-10", + "value": 4.1 + }, + { + "date": "2022-07-15", + "value": 1.4 + }, + { + "date": "2022-08-22", + "value": 5.4 + }, + { + "date": "2022-10-05", + "value": 2.7 + }, + { + "date": "2022-11-18", + "value": 6.8 + }, + { + "date": "2023-01-10", + "value": 4.1 + }, + { + "date": "2023-03-25", + "value": 9.5 + }, + { + "date": "2023-05-12", + "value": 2.7 + }, + { + "date": "2023-07-08", + "value": 5.4 + }, + { + "date": "2023-09-15", + "value": 1.4 + }, + { + "date": "2023-11-22", + "value": 4.1 + }, + { + "date": "2024-01-18", + "value": 13.5 + }, + { + "date": "2024-03-08", + "value": 4.1 + }, + { + "date": "2024-05-15", + "value": 2.7 + }, + { + "date": "2024-07-22", + "value": 6.8 + }, + { + "date": "2024-09-10", + "value": 0.0 + }, + { + "date": "2024-11-05", + "value": 5.4 + }, + { + "date": "2025-01-15", + "value": 4.1 + }, + { + "date": "2025-03-20", + "value": 2.7 + }, + { + "date": "2025-05-28", + "value": 8.1 + }, + { + "date": "2025-08-05", + "value": 4.1 + }, + { + "date": "2025-09-05", + "value": 5.4 + }, + { + "date": "2025-09-11", + "value": 5.4 + }, + { + "date": "2025-09-17", + "value": 4.1 + }, + { + "date": "2025-09-23", + "value": 4.1 + }, + { + "date": "2025-10-06", + "value": 5.4 + }, + { + "date": "2025-10-12", + "value": 2.7 + }, + { + "date": "2025-10-18", + "value": 4.1 + }, + { + "date": "2025-10-24", + "value": 4.1 + }, + { + "date": "2025-11-04", + "value": 2.7 + }, + { + "date": "2025-11-10", + "value": 2.7 + }, + { + "date": "2025-11-16", + "value": 4.1 + }, + { + "date": "2025-11-22", + "value": 4.1 + }, + { + "date": "2025-12-05", + "value": 4.1 + }, + { + "date": "2025-12-11", + "value": 4.1 + }, + { + "date": "2025-12-17", + "value": 4.1 + }, + { + "date": "2025-12-23", + "value": 5.4 + }, + { + "date": "2026-01-06", + "value": 4.1 + }, + { + "date": "2026-01-12", + "value": 4.1 + }, + { + "date": "2026-01-18", + "value": 4.1 + }, + { + "date": "2026-01-24", + "value": 5.4 + }, + { + "date": "2026-02-04", + "value": 5.4 + }, + { + "date": "2026-02-10", + "value": 5.4 + }, + { + "date": "2026-02-16", + "value": 5.4 + }, + { + "date": "2026-02-22", + "value": 4.1 + }, + { + "date": "2026-03-05", + "value": 4.1 + }, + { + "date": "2026-03-11", + "value": 5.4 + }, + { + "date": "2026-03-17", + "value": 2.7 + }, + { + "date": "2026-03-23", + "value": 4.1 + }, + { + "date": "2026-04-06", + "value": 4.1 + }, + { + "date": "2026-04-12", + "value": 2.7 + }, + { + "date": "2026-04-18", + "value": 2.7 + }, + { + "date": "2026-04-24", + "value": 4.1 + }, + { + "date": "2026-05-04", + "value": 4.1 + }, + { + "date": "2026-05-10", + "value": 4.1 + }, + { + "date": "2026-05-16", + "value": 4.1 + }, + { + "date": "2026-05-22", + "value": 4.1 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2022-06", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-07", + "mean": 1.4, + "median": 1.4, + "p10": 1.4, + "p25": 1.4, + "p75": 1.4, + "p90": 1.4, + "n": 1 + }, + { + "month": "2022-08", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2022-11", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2023-01", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2023-03", + "mean": 9.5, + "median": 9.5, + "p10": 9.5, + "p25": 9.5, + "p75": 9.5, + "p90": 9.5, + "n": 1 + }, + { + "month": "2023-05", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2023-07", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2023-09", + "mean": 1.4, + "median": 1.4, + "p10": 1.4, + "p25": 1.4, + "p75": 1.4, + "p90": 1.4, + "n": 1 + }, + { + "month": "2023-11", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-01", + "mean": 13.5, + "median": 13.5, + "p10": 13.5, + "p25": 13.5, + "p75": 13.5, + "p90": 13.5, + "n": 1 + }, + { + "month": "2024-03", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-05", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2024-07", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2024-09", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2025-01", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-03", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2025-05", + "mean": 8.1, + "median": 8.1, + "p10": 8.1, + "p25": 8.1, + "p75": 8.1, + "p90": 8.1, + "n": 1 + }, + { + "month": "2025-08", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-09", + "mean": 4.7, + "median": 4.7, + "p10": 4.1, + "p25": 4.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2025-10", + "mean": 4.1, + "median": 4.1, + "p10": 3.1, + "p25": 3.8, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2025-11", + "mean": 3.4, + "median": 3.4, + "p10": 2.7, + "p25": 2.7, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2025-12", + "mean": 4.5, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-01", + "mean": 4.5, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-02", + "mean": 5.1, + "median": 5.4, + "p10": 4.5, + "p25": 5.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2026-03", + "mean": 4.1, + "median": 4.1, + "p10": 3.1, + "p25": 3.8, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-04", + "mean": 3.4, + "median": 3.4, + "p10": 2.7, + "p25": 2.7, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2026-05", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 4 + } + ], + "n_batches": 58, + "n_movements": null, + "yield_summary": { + "median": 99.2, + "mean": 98.5, + "reference": 100.0, + "n": 58 + }, + "consumption_summary": { + "median_variance": 2.1, + "mean_variance": 3.4, + "n_components": 3, + "n": 58 + }, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 4.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 3.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 4.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "prod_to_qa_pla", + "label": "Production \u2192 QA Release (PL-A)", + "type": "qa_hold", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 58, + "mean": 4.6, + "median": 4.1, + "std": 2.4, + "min": 0.0, + "max": 17.6, + "p25": 4.1, + "p75": 5.4, + "p85": 5.4, + "p95": 8.4 + }, + "plifz": 5, + "plifz_note": "WEBAZ (GR processing days)", + "pct_exceeding_plifz": 6.9, + "cost": null, + "observations": [ + { + "date": "2022-05-22", + "value": 2.7 + }, + { + "date": "2022-06-13", + "value": 1.4 + }, + { + "date": "2022-07-16", + "value": 4.1 + }, + { + "date": "2022-08-26", + "value": 2.7 + }, + { + "date": "2022-10-07", + "value": 6.8 + }, + { + "date": "2022-11-23", + "value": 2.7 + }, + { + "date": "2023-01-13", + "value": 5.4 + }, + { + "date": "2023-04-01", + "value": 4.1 + }, + { + "date": "2023-05-14", + "value": 8.1 + }, + { + "date": "2023-07-12", + "value": 2.7 + }, + { + "date": "2023-09-16", + "value": 17.6 + }, + { + "date": "2023-11-25", + "value": 4.1 + }, + { + "date": "2024-01-28", + "value": 9.5 + }, + { + "date": "2024-03-11", + "value": 1.4 + }, + { + "date": "2024-05-17", + "value": 5.4 + }, + { + "date": "2024-07-27", + "value": 6.8 + }, + { + "date": "2024-09-10", + "value": 2.7 + }, + { + "date": "2024-11-09", + "value": 0.0 + }, + { + "date": "2025-01-18", + "value": 4.1 + }, + { + "date": "2025-03-22", + "value": 10.8 + }, + { + "date": "2025-06-03", + "value": 2.7 + }, + { + "date": "2025-08-08", + "value": 6.8 + }, + { + "date": "2025-09-04", + "value": 2.7 + }, + { + "date": "2025-09-10", + "value": 4.1 + }, + { + "date": "2025-09-16", + "value": 4.1 + }, + { + "date": "2025-09-22", + "value": 4.1 + }, + { + "date": "2025-10-05", + "value": 4.1 + }, + { + "date": "2025-10-11", + "value": 4.1 + }, + { + "date": "2025-10-17", + "value": 5.4 + }, + { + "date": "2025-10-23", + "value": 5.4 + }, + { + "date": "2025-11-06", + "value": 4.1 + }, + { + "date": "2025-11-12", + "value": 4.1 + }, + { + "date": "2025-11-18", + "value": 4.1 + }, + { + "date": "2025-11-24", + "value": 5.4 + }, + { + "date": "2025-12-04", + "value": 4.1 + }, + { + "date": "2025-12-10", + "value": 4.1 + }, + { + "date": "2025-12-16", + "value": 4.1 + }, + { + "date": "2025-12-22", + "value": 2.7 + }, + { + "date": "2026-01-05", + "value": 5.4 + }, + { + "date": "2026-01-11", + "value": 5.4 + }, + { + "date": "2026-01-17", + "value": 4.1 + }, + { + "date": "2026-01-23", + "value": 4.1 + }, + { + "date": "2026-02-06", + "value": 5.4 + }, + { + "date": "2026-02-12", + "value": 2.7 + }, + { + "date": "2026-02-18", + "value": 4.1 + }, + { + "date": "2026-02-24", + "value": 4.1 + }, + { + "date": "2026-03-04", + "value": 4.1 + }, + { + "date": "2026-03-10", + "value": 4.1 + }, + { + "date": "2026-03-16", + "value": 4.1 + }, + { + "date": "2026-03-22", + "value": 5.4 + }, + { + "date": "2026-04-05", + "value": 4.1 + }, + { + "date": "2026-04-11", + "value": 4.1 + }, + { + "date": "2026-04-17", + "value": 4.1 + }, + { + "date": "2026-04-23", + "value": 4.1 + }, + { + "date": "2026-05-06", + "value": 4.1 + }, + { + "date": "2026-05-12", + "value": 4.1 + }, + { + "date": "2026-05-18", + "value": 4.1 + }, + { + "date": "2026-05-24", + "value": 4.1 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2022-06", + "mean": 1.4, + "median": 1.4, + "p10": 1.4, + "p25": 1.4, + "p75": 1.4, + "p90": 1.4, + "n": 1 + }, + { + "month": "2022-07", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-08", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2022-10", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2022-11", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2023-01", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2023-04", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2023-05", + "mean": 8.1, + "median": 8.1, + "p10": 8.1, + "p25": 8.1, + "p75": 8.1, + "p90": 8.1, + "n": 1 + }, + { + "month": "2023-07", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2023-09", + "mean": 17.6, + "median": 17.6, + "p10": 17.6, + "p25": 17.6, + "p75": 17.6, + "p90": 17.6, + "n": 1 + }, + { + "month": "2023-11", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-01", + "mean": 9.5, + "median": 9.5, + "p10": 9.5, + "p25": 9.5, + "p75": 9.5, + "p90": 9.5, + "n": 1 + }, + { + "month": "2024-03", + "mean": 1.4, + "median": 1.4, + "p10": 1.4, + "p25": 1.4, + "p75": 1.4, + "p90": 1.4, + "n": 1 + }, + { + "month": "2024-05", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2024-07", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2024-09", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2024-11", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-03", + "mean": 10.8, + "median": 10.8, + "p10": 10.8, + "p25": 10.8, + "p75": 10.8, + "p90": 10.8, + "n": 1 + }, + { + "month": "2025-06", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2025-08", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2025-09", + "mean": 3.8, + "median": 4.1, + "p10": 3.1, + "p25": 3.8, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2025-10", + "mean": 4.7, + "median": 4.7, + "p10": 4.1, + "p25": 4.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2025-11", + "mean": 4.5, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2025-12", + "mean": 3.8, + "median": 4.1, + "p10": 3.1, + "p25": 3.8, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2026-01", + "mean": 4.7, + "median": 4.7, + "p10": 4.1, + "p25": 4.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2026-02", + "mean": 4.1, + "median": 4.1, + "p10": 3.1, + "p25": 3.8, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-03", + "mean": 4.5, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-04", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2026-05", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 4 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": { + "median": 99.2, + "mean": 98.5, + "reference": 100.0, + "n": 58 + }, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 7.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 7.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 6.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "post_qa_ship_pla", + "label": "Post-QA Dwell (PL-A)", + "type": "post_qa_ship", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 57, + "mean": 17.1, + "median": 16.2, + "std": 7.6, + "min": 2.7, + "max": 56.7, + "p25": 13.5, + "p75": 18.9, + "p85": 20.2, + "p95": 27.5 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "cost": { + "unit_price": 38.475, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2023-03", + "n_events": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "n_events": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "n_events": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 264000.0 + } + ] + }, + "observations": [ + { + "date": "2023-03-10", + "value": 10.8 + }, + { + "date": "2023-03-25", + "value": 29.7 + }, + { + "date": "2023-09-20", + "value": 56.7 + }, + { + "date": "2024-03-15", + "value": 8.1 + }, + { + "date": "2024-03-28", + "value": 24.3 + }, + { + "date": "2024-09-05", + "value": 37.8 + }, + { + "date": "2024-09-15", + "value": 16.2 + }, + { + "date": "2024-09-25", + "value": 2.7 + }, + { + "date": "2025-03-10", + "value": 20.2 + }, + { + "date": "2025-03-22", + "value": 6.8 + }, + { + "date": "2025-07-08", + "value": 27.0 + }, + { + "date": "2025-07-22", + "value": 5.4 + }, + { + "date": "2025-09-05", + "value": 18.9 + }, + { + "date": "2025-09-11", + "value": 20.2 + }, + { + "date": "2025-09-17", + "value": 13.5 + }, + { + "date": "2025-09-23", + "value": 14.9 + }, + { + "date": "2025-09-29", + "value": 16.2 + }, + { + "date": "2025-10-06", + "value": 18.9 + }, + { + "date": "2025-10-12", + "value": 10.8 + }, + { + "date": "2025-10-18", + "value": 13.5 + }, + { + "date": "2025-10-24", + "value": 14.9 + }, + { + "date": "2025-10-30", + "value": 14.9 + }, + { + "date": "2025-11-04", + "value": 13.5 + }, + { + "date": "2025-11-10", + "value": 16.2 + }, + { + "date": "2025-11-16", + "value": 16.2 + }, + { + "date": "2025-11-22", + "value": 17.6 + }, + { + "date": "2025-11-28", + "value": 18.9 + }, + { + "date": "2025-12-05", + "value": 13.5 + }, + { + "date": "2025-12-11", + "value": 14.9 + }, + { + "date": "2025-12-17", + "value": 16.2 + }, + { + "date": "2025-12-23", + "value": 17.6 + }, + { + "date": "2025-12-29", + "value": 18.9 + }, + { + "date": "2026-01-06", + "value": 17.6 + }, + { + "date": "2026-01-12", + "value": 18.9 + }, + { + "date": "2026-01-18", + "value": 20.2 + }, + { + "date": "2026-01-24", + "value": 21.6 + }, + { + "date": "2026-01-30", + "value": 14.9 + }, + { + "date": "2026-02-04", + "value": 17.6 + }, + { + "date": "2026-02-10", + "value": 18.9 + }, + { + "date": "2026-02-16", + "value": 20.2 + }, + { + "date": "2026-02-22", + "value": 13.5 + }, + { + "date": "2026-02-28", + "value": 14.9 + }, + { + "date": "2026-03-05", + "value": 17.6 + }, + { + "date": "2026-03-11", + "value": 18.9 + }, + { + "date": "2026-03-17", + "value": 10.8 + }, + { + "date": "2026-03-23", + "value": 13.5 + }, + { + "date": "2026-03-29", + "value": 14.9 + }, + { + "date": "2026-04-06", + "value": 21.6 + }, + { + "date": "2026-04-12", + "value": 13.5 + }, + { + "date": "2026-04-18", + "value": 16.2 + }, + { + "date": "2026-04-24", + "value": 16.2 + }, + { + "date": "2026-04-30", + "value": 17.6 + }, + { + "date": "2026-05-04", + "value": 12.2 + }, + { + "date": "2026-05-10", + "value": 13.5 + }, + { + "date": "2026-05-16", + "value": 14.9 + }, + { + "date": "2026-05-22", + "value": 16.2 + }, + { + "date": "2026-05-28", + "value": 17.6 + } + ], + "monthly": [ + { + "month": "2023-03", + "mean": 20.2, + "median": 20.2, + "p10": 12.7, + "p25": 15.5, + "p75": 25.0, + "p90": 27.8, + "n": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "mean": 56.7, + "median": 56.7, + "p10": 56.7, + "p25": 56.7, + "p75": 56.7, + "p90": 56.7, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "mean": 16.2, + "median": 16.2, + "p10": 9.7, + "p25": 12.2, + "p75": 20.2, + "p90": 22.7, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "mean": 18.9, + "median": 16.2, + "p10": 5.4, + "p25": 9.5, + "p75": 27.0, + "p90": 33.5, + "n": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "mean": 13.5, + "median": 13.5, + "p10": 8.1, + "p25": 10.1, + "p75": 16.9, + "p90": 18.9, + "n": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "mean": 16.2, + "median": 16.2, + "p10": 7.6, + "p25": 10.8, + "p75": 21.6, + "p90": 24.8, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "mean": 16.7, + "median": 16.2, + "p10": 14.0, + "p25": 14.9, + "p75": 18.9, + "p90": 19.7, + "n": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "mean": 14.6, + "median": 14.9, + "p10": 11.9, + "p25": 13.5, + "p75": 14.9, + "p90": 17.3, + "n": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "mean": 16.5, + "median": 16.2, + "p10": 14.6, + "p25": 16.2, + "p75": 17.6, + "p90": 18.4, + "n": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "mean": 16.2, + "median": 16.2, + "p10": 14.0, + "p25": 14.9, + "p75": 17.6, + "p90": 18.4, + "n": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "mean": 18.6, + "median": 18.9, + "p10": 15.9, + "p25": 17.6, + "p75": 20.2, + "p90": 21.1, + "n": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "mean": 17.0, + "median": 17.6, + "p10": 14.0, + "p25": 14.9, + "p75": 18.9, + "p90": 19.7, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "mean": 15.1, + "median": 14.9, + "p10": 11.9, + "p25": 13.5, + "p75": 17.6, + "p90": 18.4, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "mean": 17.0, + "median": 16.2, + "p10": 14.6, + "p25": 16.2, + "p75": 17.6, + "p90": 20.0, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "mean": 14.9, + "median": 14.9, + "p10": 12.7, + "p25": 13.5, + "p75": 16.2, + "p90": 17.0, + "n": 5, + "total_kg_days": 264000.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "direct_ship_pla", + "label": "Direct-to-Customer Ship", + "type": "transit", + "material": "90000300001", + "plant": "PL-A\u2192Customer", + "stats": { + "n": 35, + "mean": 28.2, + "median": 28.4, + "std": 6.2, + "min": 16.2, + "max": 51.3, + "p25": 25.0, + "p75": 31.1, + "p85": 33.6, + "p95": 35.9 + }, + "plifz": null, + "plifz_note": "No planning parameter set", + "pct_exceeding_plifz": null, + "cost": null, + "observations": [ + { + "date": "2023-04-05", + "value": 24.3 + }, + { + "date": "2023-10-12", + "value": 33.8 + }, + { + "date": "2024-04-08", + "value": 16.2 + }, + { + "date": "2024-09-20", + "value": 51.3 + }, + { + "date": "2024-10-15", + "value": 27.0 + }, + { + "date": "2025-03-25", + "value": 20.2 + }, + { + "date": "2025-04-10", + "value": 37.8 + }, + { + "date": "2025-07-30", + "value": 32.4 + }, + { + "date": "2025-09-04", + "value": 23.0 + }, + { + "date": "2025-09-10", + "value": 25.7 + }, + { + "date": "2025-09-16", + "value": 28.4 + }, + { + "date": "2025-10-05", + "value": 23.0 + }, + { + "date": "2025-10-11", + "value": 25.7 + }, + { + "date": "2025-10-17", + "value": 27.0 + }, + { + "date": "2025-11-06", + "value": 29.7 + }, + { + "date": "2025-11-12", + "value": 31.1 + }, + { + "date": "2025-11-18", + "value": 33.8 + }, + { + "date": "2025-12-04", + "value": 28.4 + }, + { + "date": "2025-12-10", + "value": 31.1 + }, + { + "date": "2025-12-16", + "value": 33.8 + }, + { + "date": "2026-01-05", + "value": 28.4 + }, + { + "date": "2026-01-11", + "value": 31.1 + }, + { + "date": "2026-01-17", + "value": 18.9 + }, + { + "date": "2026-02-06", + "value": 35.1 + }, + { + "date": "2026-02-12", + "value": 23.0 + }, + { + "date": "2026-02-18", + "value": 25.7 + }, + { + "date": "2026-03-04", + "value": 20.2 + }, + { + "date": "2026-03-10", + "value": 23.0 + }, + { + "date": "2026-03-16", + "value": 25.7 + }, + { + "date": "2026-04-05", + "value": 27.0 + }, + { + "date": "2026-04-11", + "value": 29.7 + }, + { + "date": "2026-04-17", + "value": 31.1 + }, + { + "date": "2026-05-06", + "value": 27.0 + }, + { + "date": "2026-05-12", + "value": 28.4 + }, + { + "date": "2026-05-18", + "value": 31.1 + } + ], + "monthly": [ + { + "month": "2023-04", + "mean": 24.3, + "median": 24.3, + "p10": 24.3, + "p25": 24.3, + "p75": 24.3, + "p90": 24.3, + "n": 1 + }, + { + "month": "2023-10", + "mean": 33.8, + "median": 33.8, + "p10": 33.8, + "p25": 33.8, + "p75": 33.8, + "p90": 33.8, + "n": 1 + }, + { + "month": "2024-04", + "mean": 16.2, + "median": 16.2, + "p10": 16.2, + "p25": 16.2, + "p75": 16.2, + "p90": 16.2, + "n": 1 + }, + { + "month": "2024-09", + "mean": 51.3, + "median": 51.3, + "p10": 51.3, + "p25": 51.3, + "p75": 51.3, + "p90": 51.3, + "n": 1 + }, + { + "month": "2024-10", + "mean": 27.0, + "median": 27.0, + "p10": 27.0, + "p25": 27.0, + "p75": 27.0, + "p90": 27.0, + "n": 1 + }, + { + "month": "2025-03", + "mean": 20.2, + "median": 20.2, + "p10": 20.2, + "p25": 20.2, + "p75": 20.2, + "p90": 20.2, + "n": 1 + }, + { + "month": "2025-04", + "mean": 37.8, + "median": 37.8, + "p10": 37.8, + "p25": 37.8, + "p75": 37.8, + "p90": 37.8, + "n": 1 + }, + { + "month": "2025-07", + "mean": 32.4, + "median": 32.4, + "p10": 32.4, + "p25": 32.4, + "p75": 32.4, + "p90": 32.4, + "n": 1 + }, + { + "month": "2025-09", + "mean": 25.7, + "median": 25.7, + "p10": 23.5, + "p25": 24.3, + "p75": 27.0, + "p90": 27.8, + "n": 3 + }, + { + "month": "2025-10", + "mean": 25.2, + "median": 25.7, + "p10": 23.5, + "p25": 24.3, + "p75": 26.3, + "p90": 26.7, + "n": 3 + }, + { + "month": "2025-11", + "mean": 31.5, + "median": 31.1, + "p10": 30.0, + "p25": 30.4, + "p75": 32.4, + "p90": 33.2, + "n": 3 + }, + { + "month": "2025-12", + "mean": 31.1, + "median": 31.1, + "p10": 28.9, + "p25": 29.7, + "p75": 32.4, + "p90": 33.2, + "n": 3 + }, + { + "month": "2026-01", + "mean": 26.1, + "median": 28.4, + "p10": 20.8, + "p25": 23.6, + "p75": 29.7, + "p90": 30.5, + "n": 3 + }, + { + "month": "2026-02", + "mean": 27.9, + "median": 25.7, + "p10": 23.5, + "p25": 24.3, + "p75": 30.4, + "p90": 33.2, + "n": 3 + }, + { + "month": "2026-03", + "mean": 23.0, + "median": 23.0, + "p10": 20.8, + "p25": 21.6, + "p75": 24.3, + "p90": 25.1, + "n": 3 + }, + { + "month": "2026-04", + "mean": 29.3, + "median": 29.7, + "p10": 27.5, + "p25": 28.4, + "p75": 30.4, + "p90": 30.8, + "n": 3 + }, + { + "month": "2026-05", + "mean": 28.8, + "median": 28.4, + "p10": 27.3, + "p25": 27.7, + "p75": 29.7, + "p90": 30.5, + "n": 3 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 22.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 22.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "transit_pla_hub1", + "label": "Transit PL-A \u2192 HUB-1", + "type": "transit", + "material": "90000300001", + "plant": "PL-A\u2192HUB-1", + "stats": { + "n": 42, + "mean": 42.3, + "median": 41.2, + "std": 9.6, + "min": 20.2, + "max": 74.2, + "p25": 36.5, + "p75": 48.6, + "p85": 51.3, + "p95": 56.6 + }, + "plifz": 28, + "plifz_note": null, + "pct_exceeding_plifz": 61.9, + "cost": null, + "observations": [ + { + "date": "2022-07-20", + "value": 37.8 + }, + { + "date": "2022-11-30", + "value": 47.2 + }, + { + "date": "2023-03-15", + "value": 29.7 + }, + { + "date": "2023-07-10", + "value": 56.7 + }, + { + "date": "2023-10-25", + "value": 40.5 + }, + { + "date": "2024-02-08", + "value": 74.2 + }, + { + "date": "2024-05-20", + "value": 33.8 + }, + { + "date": "2024-08-12", + "value": 51.3 + }, + { + "date": "2024-11-05", + "value": 20.2 + }, + { + "date": "2025-01-22", + "value": 43.2 + }, + { + "date": "2025-04-10", + "value": 37.8 + }, + { + "date": "2025-06-18", + "value": 60.8 + }, + { + "date": "2025-07-15", + "value": 40.5 + }, + { + "date": "2025-08-05", + "value": 29.7 + }, + { + "date": "2025-09-05", + "value": 48.6 + }, + { + "date": "2025-09-10", + "value": 51.3 + }, + { + "date": "2025-09-11", + "value": 52.7 + }, + { + "date": "2025-09-17", + "value": 35.1 + }, + { + "date": "2025-10-06", + "value": 48.6 + }, + { + "date": "2025-10-12", + "value": 31.1 + }, + { + "date": "2025-10-18", + "value": 35.1 + }, + { + "date": "2025-11-04", + "value": 36.5 + }, + { + "date": "2025-11-10", + "value": 41.9 + }, + { + "date": "2025-11-16", + "value": 44.6 + }, + { + "date": "2025-12-05", + "value": 36.5 + }, + { + "date": "2025-12-11", + "value": 39.2 + }, + { + "date": "2025-12-17", + "value": 43.2 + }, + { + "date": "2026-01-06", + "value": 35.1 + }, + { + "date": "2026-01-12", + "value": 39.2 + }, + { + "date": "2026-01-18", + "value": 41.9 + }, + { + "date": "2026-02-04", + "value": 44.6 + }, + { + "date": "2026-02-10", + "value": 48.6 + }, + { + "date": "2026-02-16", + "value": 52.7 + }, + { + "date": "2026-03-05", + "value": 44.6 + }, + { + "date": "2026-03-11", + "value": 48.6 + }, + { + "date": "2026-03-17", + "value": 31.1 + }, + { + "date": "2026-04-06", + "value": 54.0 + }, + { + "date": "2026-04-12", + "value": 36.5 + }, + { + "date": "2026-04-18", + "value": 41.9 + }, + { + "date": "2026-05-04", + "value": 32.4 + }, + { + "date": "2026-05-10", + "value": 36.5 + }, + { + "date": "2026-05-16", + "value": 39.2 + } + ], + "monthly": [ + { + "month": "2022-07", + "mean": 37.8, + "median": 37.8, + "p10": 37.8, + "p25": 37.8, + "p75": 37.8, + "p90": 37.8, + "n": 1 + }, + { + "month": "2022-11", + "mean": 47.2, + "median": 47.2, + "p10": 47.2, + "p25": 47.2, + "p75": 47.2, + "p90": 47.2, + "n": 1 + }, + { + "month": "2023-03", + "mean": 29.7, + "median": 29.7, + "p10": 29.7, + "p25": 29.7, + "p75": 29.7, + "p90": 29.7, + "n": 1 + }, + { + "month": "2023-07", + "mean": 56.7, + "median": 56.7, + "p10": 56.7, + "p25": 56.7, + "p75": 56.7, + "p90": 56.7, + "n": 1 + }, + { + "month": "2023-10", + "mean": 40.5, + "median": 40.5, + "p10": 40.5, + "p25": 40.5, + "p75": 40.5, + "p90": 40.5, + "n": 1 + }, + { + "month": "2024-02", + "mean": 74.2, + "median": 74.2, + "p10": 74.2, + "p25": 74.2, + "p75": 74.2, + "p90": 74.2, + "n": 1 + }, + { + "month": "2024-05", + "mean": 33.8, + "median": 33.8, + "p10": 33.8, + "p25": 33.8, + "p75": 33.8, + "p90": 33.8, + "n": 1 + }, + { + "month": "2024-08", + "mean": 51.3, + "median": 51.3, + "p10": 51.3, + "p25": 51.3, + "p75": 51.3, + "p90": 51.3, + "n": 1 + }, + { + "month": "2024-11", + "mean": 20.2, + "median": 20.2, + "p10": 20.2, + "p25": 20.2, + "p75": 20.2, + "p90": 20.2, + "n": 1 + }, + { + "month": "2025-01", + "mean": 43.2, + "median": 43.2, + "p10": 43.2, + "p25": 43.2, + "p75": 43.2, + "p90": 43.2, + "n": 1 + }, + { + "month": "2025-04", + "mean": 37.8, + "median": 37.8, + "p10": 37.8, + "p25": 37.8, + "p75": 37.8, + "p90": 37.8, + "n": 1 + }, + { + "month": "2025-06", + "mean": 60.8, + "median": 60.8, + "p10": 60.8, + "p25": 60.8, + "p75": 60.8, + "p90": 60.8, + "n": 1 + }, + { + "month": "2025-07", + "mean": 40.5, + "median": 40.5, + "p10": 40.5, + "p25": 40.5, + "p75": 40.5, + "p90": 40.5, + "n": 1 + }, + { + "month": "2025-08", + "mean": 29.7, + "median": 29.7, + "p10": 29.7, + "p25": 29.7, + "p75": 29.7, + "p90": 29.7, + "n": 1 + }, + { + "month": "2025-09", + "mean": 47.0, + "median": 50.0, + "p10": 39.2, + "p25": 45.2, + "p75": 51.7, + "p90": 52.2, + "n": 4 + }, + { + "month": "2025-10", + "mean": 38.2, + "median": 35.1, + "p10": 31.9, + "p25": 33.1, + "p75": 41.9, + "p90": 45.9, + "n": 3 + }, + { + "month": "2025-11", + "mean": 40.9, + "median": 41.9, + "p10": 37.5, + "p25": 39.2, + "p75": 43.2, + "p90": 44.0, + "n": 3 + }, + { + "month": "2025-12", + "mean": 39.6, + "median": 39.2, + "p10": 37.0, + "p25": 37.8, + "p75": 41.2, + "p90": 42.4, + "n": 3 + }, + { + "month": "2026-01", + "mean": 38.7, + "median": 39.2, + "p10": 35.9, + "p25": 37.1, + "p75": 40.5, + "p90": 41.3, + "n": 3 + }, + { + "month": "2026-02", + "mean": 48.6, + "median": 48.6, + "p10": 45.4, + "p25": 46.6, + "p75": 50.6, + "p90": 51.8, + "n": 3 + }, + { + "month": "2026-03", + "mean": 41.4, + "median": 44.6, + "p10": 33.8, + "p25": 37.8, + "p75": 46.6, + "p90": 47.8, + "n": 3 + }, + { + "month": "2026-04", + "mean": 44.1, + "median": 41.9, + "p10": 37.5, + "p25": 39.2, + "p75": 47.9, + "p90": 51.6, + "n": 3 + }, + { + "month": "2026-05", + "mean": 36.0, + "median": 36.5, + "p10": 33.2, + "p25": 34.4, + "p75": 37.8, + "p90": 38.6, + "n": 3 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "dest_dwell_hub1", + "label": "Destination Dwell (HUB-1)", + "type": "destination_dwell", + "material": "90000300001", + "plant": "HUB-1", + "stats": { + "n": 37, + "mean": 60.8, + "median": 59.4, + "std": 18.9, + "min": 13.5, + "max": 128.2, + "p25": 48.6, + "p75": 66.2, + "p85": 71.6, + "p95": 91.3 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "cost": { + "unit_price": 38.475, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2022-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "n_events": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "n_events": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "n_events": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "n_events": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "n_events": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "n_events": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "n_events": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "n_events": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "n_events": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "n_events": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "n_events": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "n_events": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "n_events": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "n_events": 3, + "total_kg_days": 585600.0 + } + ] + }, + "observations": [ + { + "date": "2022-09-15", + "value": 56.7 + }, + { + "date": "2023-05-05", + "value": 87.8 + }, + { + "date": "2023-05-20", + "value": 37.8 + }, + { + "date": "2024-01-10", + "value": 128.2 + }, + { + "date": "2024-01-25", + "value": 47.2 + }, + { + "date": "2024-08-15", + "value": 13.5 + }, + { + "date": "2025-02-05", + "value": 105.3 + }, + { + "date": "2025-02-18", + "value": 74.2 + }, + { + "date": "2025-08-10", + "value": 56.7 + }, + { + "date": "2025-08-20", + "value": 43.2 + }, + { + "date": "2025-09-06", + "value": 52.7 + }, + { + "date": "2025-09-12", + "value": 56.7 + }, + { + "date": "2025-09-18", + "value": 62.1 + }, + { + "date": "2025-10-04", + "value": 66.2 + }, + { + "date": "2025-10-10", + "value": 71.6 + }, + { + "date": "2025-10-16", + "value": 77.0 + }, + { + "date": "2025-11-05", + "value": 64.8 + }, + { + "date": "2025-11-11", + "value": 70.2 + }, + { + "date": "2025-11-17", + "value": 45.9 + }, + { + "date": "2025-12-06", + "value": 64.8 + }, + { + "date": "2025-12-12", + "value": 40.5 + }, + { + "date": "2025-12-18", + "value": 45.9 + }, + { + "date": "2026-01-04", + "value": 48.6 + }, + { + "date": "2026-01-10", + "value": 55.4 + }, + { + "date": "2026-01-16", + "value": 58.1 + }, + { + "date": "2026-02-05", + "value": 48.6 + }, + { + "date": "2026-02-11", + "value": 52.7 + }, + { + "date": "2026-02-17", + "value": 56.7 + }, + { + "date": "2026-03-06", + "value": 62.1 + }, + { + "date": "2026-03-12", + "value": 66.2 + }, + { + "date": "2026-03-18", + "value": 71.6 + }, + { + "date": "2026-04-04", + "value": 60.8 + }, + { + "date": "2026-04-10", + "value": 64.8 + }, + { + "date": "2026-04-16", + "value": 70.2 + }, + { + "date": "2026-05-05", + "value": 59.4 + }, + { + "date": "2026-05-11", + "value": 64.8 + }, + { + "date": "2026-05-17", + "value": 40.5 + } + ], + "monthly": [ + { + "month": "2022-09", + "mean": 56.7, + "median": 56.7, + "p10": 56.7, + "p25": 56.7, + "p75": 56.7, + "p90": 56.7, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "mean": 62.8, + "median": 62.8, + "p10": 42.8, + "p25": 50.4, + "p75": 75.3, + "p90": 82.8, + "n": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "mean": 87.8, + "median": 87.8, + "p10": 55.4, + "p25": 67.5, + "p75": 108.0, + "p90": 120.2, + "n": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "mean": 13.5, + "median": 13.5, + "p10": 13.5, + "p25": 13.5, + "p75": 13.5, + "p90": 13.5, + "n": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "mean": 89.8, + "median": 89.8, + "p10": 77.4, + "p25": 82.1, + "p75": 97.6, + "p90": 102.2, + "n": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "mean": 50.0, + "median": 50.0, + "p10": 44.6, + "p25": 46.6, + "p75": 53.3, + "p90": 55.4, + "n": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "mean": 57.1, + "median": 56.7, + "p10": 53.5, + "p25": 54.7, + "p75": 59.4, + "p90": 61.0, + "n": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "mean": 71.6, + "median": 71.6, + "p10": 67.2, + "p25": 68.9, + "p75": 74.2, + "p90": 75.9, + "n": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "mean": 60.3, + "median": 64.8, + "p10": 49.7, + "p25": 55.4, + "p75": 67.5, + "p90": 69.1, + "n": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "mean": 50.4, + "median": 45.9, + "p10": 41.6, + "p25": 43.2, + "p75": 55.4, + "p90": 61.0, + "n": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "mean": 54.0, + "median": 55.4, + "p10": 50.0, + "p25": 52.0, + "p75": 56.7, + "p90": 57.5, + "n": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "mean": 52.7, + "median": 52.7, + "p10": 49.4, + "p25": 50.6, + "p75": 54.7, + "p90": 55.9, + "n": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "mean": 66.6, + "median": 66.2, + "p10": 62.9, + "p25": 64.1, + "p75": 68.9, + "p90": 70.5, + "n": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "mean": 65.2, + "median": 64.8, + "p10": 61.6, + "p25": 62.8, + "p75": 67.5, + "p90": 69.1, + "n": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "mean": 54.9, + "median": 59.4, + "p10": 44.3, + "p25": 50.0, + "p75": 62.1, + "p90": 63.7, + "n": 3, + "total_kg_days": 585600.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 45.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 45.0, + "expected_marginal_per_day": 1.0 + } + } + } + ] + } + ], + "rollups": { + "total_dwell_cost": 683368.2, + "top_dwell_costs": [ + { + "product_id": "meadow-espresso", + "node_id": "dest_dwell_hub1", + "label": "Destination Dwell (HUB-1)", + "period_cost": 86981.96 + }, + { + "product_id": "summit-medium-roast", + "node_id": "dest_dwell_hub1", + "label": "Destination Dwell (HUB-1)", + "period_cost": 76367.03 + }, + { + "product_id": "harbor-dark-roast", + "node_id": "dest_dwell_hub1", + "label": "Destination Dwell (HUB-1)", + "period_cost": 65127.69 + }, + { + "product_id": "riverside-decaf", + "node_id": "dest_dwell_hub1", + "label": "Destination Dwell (HUB-1)", + "period_cost": 53888.35 + }, + { + "product_id": "meadow-espresso", + "node_id": "post_qa_ship_pla", + "label": "Post-QA Dwell (PL-A)", + "period_cost": 37852.29 + } + ], + "top_planning_mismatches": [ + { + "product_id": "meadow-espresso", + "node_id": "procurement_highland_arabica", + "label": "Procurement: Highland Arabica", + "deviation_pct": 440.0 + }, + { + "product_id": "meadow-espresso", + "node_id": "procurement_washed_bourbon", + "label": "Procurement: Washed Bourbon", + "deviation_pct": 382.9 + }, + { + "product_id": "summit-medium-roast", + "node_id": "procurement_highland_arabica", + "label": "Procurement: Highland Arabica", + "deviation_pct": 372.0 + }, + { + "product_id": "summit-medium-roast", + "node_id": "procurement_washed_bourbon", + "label": "Procurement: Washed Bourbon", + "deviation_pct": 321.4 + }, + { + "product_id": "harbor-dark-roast", + "node_id": "procurement_highland_arabica", + "label": "Procurement: Highland Arabica", + "deviation_pct": 300.0 + } + ], + "bad_planning_param_count": 30 + } +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/sites.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/sites.json new file mode 100644 index 00000000000..6dc7a646026 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/sites.json @@ -0,0 +1,6 @@ +[ + { + "slug": "harbor-roastery", + "name": "Harbor Roastery" + } +] diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/graph.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/graph.json new file mode 100644 index 00000000000..6fb785a8900 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/graph.json @@ -0,0 +1,16588 @@ +{ + "product_id": "summit-medium-roast", + "product_name": "Summit Medium Roast", + "nodes": [ + { + "id": "procurement_highland_arabica", + "label": "Procurement: Highland Arabica", + "type": "procurement", + "material": "90000100001", + "plant": "PL-A", + "stats": { + "n": 59, + "mean": 47.4, + "median": 47.2, + "std": 15.7, + "min": 9.4, + "max": 123.9, + "p25": 41.3, + "p75": 53.1, + "p85": 56.6, + "p95": 65.8 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 98.3, + "cost": null, + "observations": [ + { + "date": "2022-03-15", + "value": 64.9 + }, + { + "date": "2022-06-10", + "value": 49.6 + }, + { + "date": "2022-09-22", + "value": 9.4 + }, + { + "date": "2022-12-05", + "value": 74.3 + }, + { + "date": "2023-02-14", + "value": 44.8 + }, + { + "date": "2023-05-30", + "value": 26.0 + }, + { + "date": "2023-08-17", + "value": 83.8 + }, + { + "date": "2023-11-02", + "value": 35.4 + }, + { + "date": "2024-01-25", + "value": 53.1 + }, + { + "date": "2024-04-11", + "value": 21.2 + }, + { + "date": "2024-07-09", + "value": 123.9 + }, + { + "date": "2024-10-03", + "value": 41.3 + }, + { + "date": "2025-01-20", + "value": 14.2 + }, + { + "date": "2025-04-08", + "value": 56.6 + }, + { + "date": "2025-09-05", + "value": 46.0 + }, + { + "date": "2025-09-11", + "value": 48.4 + }, + { + "date": "2025-09-17", + "value": 51.9 + }, + { + "date": "2025-09-23", + "value": 56.6 + }, + { + "date": "2025-09-29", + "value": 60.2 + }, + { + "date": "2025-10-06", + "value": 43.7 + }, + { + "date": "2025-10-12", + "value": 47.2 + }, + { + "date": "2025-10-18", + "value": 51.9 + }, + { + "date": "2025-10-24", + "value": 55.5 + }, + { + "date": "2025-10-30", + "value": 36.6 + }, + { + "date": "2025-11-04", + "value": 42.5 + }, + { + "date": "2025-11-10", + "value": 47.2 + }, + { + "date": "2025-11-16", + "value": 50.7 + }, + { + "date": "2025-11-22", + "value": 31.9 + }, + { + "date": "2025-11-28", + "value": 36.6 + }, + { + "date": "2025-12-05", + "value": 54.3 + }, + { + "date": "2025-12-11", + "value": 57.8 + }, + { + "date": "2025-12-17", + "value": 38.9 + }, + { + "date": "2025-12-23", + "value": 43.7 + }, + { + "date": "2025-12-29", + "value": 46.0 + }, + { + "date": "2026-01-06", + "value": 53.1 + }, + { + "date": "2026-01-12", + "value": 34.2 + }, + { + "date": "2026-01-18", + "value": 38.9 + }, + { + "date": "2026-01-24", + "value": 41.3 + }, + { + "date": "2026-01-30", + "value": 44.8 + }, + { + "date": "2026-02-04", + "value": 41.3 + }, + { + "date": "2026-02-10", + "value": 46.0 + }, + { + "date": "2026-02-16", + "value": 48.4 + }, + { + "date": "2026-02-22", + "value": 51.9 + }, + { + "date": "2026-02-28", + "value": 56.6 + }, + { + "date": "2026-03-05", + "value": 41.3 + }, + { + "date": "2026-03-11", + "value": 43.7 + }, + { + "date": "2026-03-17", + "value": 47.2 + }, + { + "date": "2026-03-23", + "value": 51.9 + }, + { + "date": "2026-03-29", + "value": 55.5 + }, + { + "date": "2026-04-06", + "value": 38.9 + }, + { + "date": "2026-04-12", + "value": 42.5 + }, + { + "date": "2026-04-18", + "value": 47.2 + }, + { + "date": "2026-04-24", + "value": 50.7 + }, + { + "date": "2026-04-30", + "value": 31.9 + }, + { + "date": "2026-05-04", + "value": 49.6 + }, + { + "date": "2026-05-10", + "value": 54.3 + }, + { + "date": "2026-05-16", + "value": 57.8 + }, + { + "date": "2026-05-22", + "value": 38.9 + }, + { + "date": "2026-05-28", + "value": 43.7 + } + ], + "monthly": [ + { + "month": "2022-03", + "mean": 64.9, + "median": 64.9, + "p10": 64.9, + "p25": 64.9, + "p75": 64.9, + "p90": 64.9, + "n": 1 + }, + { + "month": "2022-06", + "mean": 49.6, + "median": 49.6, + "p10": 49.6, + "p25": 49.6, + "p75": 49.6, + "p90": 49.6, + "n": 1 + }, + { + "month": "2022-09", + "mean": 9.4, + "median": 9.4, + "p10": 9.4, + "p25": 9.4, + "p75": 9.4, + "p90": 9.4, + "n": 1 + }, + { + "month": "2022-12", + "mean": 74.3, + "median": 74.3, + "p10": 74.3, + "p25": 74.3, + "p75": 74.3, + "p90": 74.3, + "n": 1 + }, + { + "month": "2023-02", + "mean": 44.8, + "median": 44.8, + "p10": 44.8, + "p25": 44.8, + "p75": 44.8, + "p90": 44.8, + "n": 1 + }, + { + "month": "2023-05", + "mean": 26.0, + "median": 26.0, + "p10": 26.0, + "p25": 26.0, + "p75": 26.0, + "p90": 26.0, + "n": 1 + }, + { + "month": "2023-08", + "mean": 83.8, + "median": 83.8, + "p10": 83.8, + "p25": 83.8, + "p75": 83.8, + "p90": 83.8, + "n": 1 + }, + { + "month": "2023-11", + "mean": 35.4, + "median": 35.4, + "p10": 35.4, + "p25": 35.4, + "p75": 35.4, + "p90": 35.4, + "n": 1 + }, + { + "month": "2024-01", + "mean": 53.1, + "median": 53.1, + "p10": 53.1, + "p25": 53.1, + "p75": 53.1, + "p90": 53.1, + "n": 1 + }, + { + "month": "2024-04", + "mean": 21.2, + "median": 21.2, + "p10": 21.2, + "p25": 21.2, + "p75": 21.2, + "p90": 21.2, + "n": 1 + }, + { + "month": "2024-07", + "mean": 123.9, + "median": 123.9, + "p10": 123.9, + "p25": 123.9, + "p75": 123.9, + "p90": 123.9, + "n": 1 + }, + { + "month": "2024-10", + "mean": 41.3, + "median": 41.3, + "p10": 41.3, + "p25": 41.3, + "p75": 41.3, + "p90": 41.3, + "n": 1 + }, + { + "month": "2025-01", + "mean": 14.2, + "median": 14.2, + "p10": 14.2, + "p25": 14.2, + "p75": 14.2, + "p90": 14.2, + "n": 1 + }, + { + "month": "2025-04", + "mean": 56.6, + "median": 56.6, + "p10": 56.6, + "p25": 56.6, + "p75": 56.6, + "p90": 56.6, + "n": 1 + }, + { + "month": "2025-09", + "mean": 52.6, + "median": 51.9, + "p10": 47.0, + "p25": 48.4, + "p75": 56.6, + "p90": 58.8, + "n": 5 + }, + { + "month": "2025-10", + "mean": 47.0, + "median": 47.2, + "p10": 39.4, + "p25": 43.7, + "p75": 51.9, + "p90": 54.0, + "n": 5 + }, + { + "month": "2025-11", + "mean": 41.8, + "median": 42.5, + "p10": 33.7, + "p25": 36.6, + "p75": 47.2, + "p90": 49.3, + "n": 5 + }, + { + "month": "2025-12", + "mean": 48.1, + "median": 46.0, + "p10": 40.8, + "p25": 43.7, + "p75": 54.3, + "p90": 56.4, + "n": 5 + }, + { + "month": "2026-01", + "mean": 42.5, + "median": 41.3, + "p10": 36.1, + "p25": 38.9, + "p75": 44.8, + "p90": 49.8, + "n": 5 + }, + { + "month": "2026-02", + "mean": 48.9, + "median": 48.4, + "p10": 43.2, + "p25": 46.0, + "p75": 51.9, + "p90": 54.8, + "n": 5 + }, + { + "month": "2026-03", + "mean": 47.9, + "median": 47.2, + "p10": 42.2, + "p25": 43.7, + "p75": 51.9, + "p90": 54.0, + "n": 5 + }, + { + "month": "2026-04", + "mean": 42.2, + "median": 42.5, + "p10": 34.7, + "p25": 38.9, + "p75": 47.2, + "p90": 49.3, + "n": 5 + }, + { + "month": "2026-05", + "mean": 48.9, + "median": 49.6, + "p10": 40.8, + "p25": 43.7, + "p75": 54.3, + "p90": 56.4, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "procurement_lowland_robusta", + "label": "Procurement: Lowland Robusta", + "type": "procurement", + "material": "90000100002", + "plant": "PL-A", + "stats": { + "n": 63, + "mean": 39.4, + "median": 38.9, + "std": 13.5, + "min": 5.9, + "max": 96.8, + "p25": 33.0, + "p75": 44.8, + "p85": 48.0, + "p95": 60.9 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 96.8, + "cost": null, + "observations": [ + { + "date": "2022-02-08", + "value": 37.8 + }, + { + "date": "2022-04-19", + "value": 56.6 + }, + { + "date": "2022-07-11", + "value": 5.9 + }, + { + "date": "2022-09-28", + "value": 79.1 + }, + { + "date": "2022-12-15", + "value": 29.5 + }, + { + "date": "2023-03-07", + "value": 48.4 + }, + { + "date": "2023-05-22", + "value": 17.7 + }, + { + "date": "2023-08-09", + "value": 96.8 + }, + { + "date": "2023-10-30", + "value": 44.8 + }, + { + "date": "2024-01-16", + "value": 23.6 + }, + { + "date": "2024-03-25", + "value": 61.4 + }, + { + "date": "2024-06-12", + "value": 11.8 + }, + { + "date": "2024-08-28", + "value": 51.9 + }, + { + "date": "2024-11-14", + "value": 33.0 + }, + { + "date": "2025-01-06", + "value": 41.3 + }, + { + "date": "2025-03-18", + "value": 21.2 + }, + { + "date": "2025-05-29", + "value": 64.9 + }, + { + "date": "2025-08-12", + "value": 30.7 + }, + { + "date": "2025-09-04", + "value": 30.7 + }, + { + "date": "2025-09-10", + "value": 34.2 + }, + { + "date": "2025-09-16", + "value": 36.6 + }, + { + "date": "2025-09-22", + "value": 40.1 + }, + { + "date": "2025-09-28", + "value": 43.7 + }, + { + "date": "2025-10-05", + "value": 30.7 + }, + { + "date": "2025-10-11", + "value": 33.0 + }, + { + "date": "2025-10-17", + "value": 36.6 + }, + { + "date": "2025-10-23", + "value": 38.9 + }, + { + "date": "2025-10-29", + "value": 42.5 + }, + { + "date": "2025-11-06", + "value": 38.9 + }, + { + "date": "2025-11-12", + "value": 42.5 + }, + { + "date": "2025-11-18", + "value": 44.8 + }, + { + "date": "2025-11-24", + "value": 49.6 + }, + { + "date": "2025-11-30", + "value": 33.0 + }, + { + "date": "2025-12-04", + "value": 37.8 + }, + { + "date": "2025-12-10", + "value": 41.3 + }, + { + "date": "2025-12-16", + "value": 44.8 + }, + { + "date": "2025-12-22", + "value": 28.3 + }, + { + "date": "2025-12-28", + "value": 33.0 + }, + { + "date": "2026-01-05", + "value": 47.2 + }, + { + "date": "2026-01-11", + "value": 50.7 + }, + { + "date": "2026-01-17", + "value": 34.2 + }, + { + "date": "2026-01-23", + "value": 38.9 + }, + { + "date": "2026-01-29", + "value": 41.3 + }, + { + "date": "2026-02-06", + "value": 47.2 + }, + { + "date": "2026-02-12", + "value": 30.7 + }, + { + "date": "2026-02-18", + "value": 34.2 + }, + { + "date": "2026-02-24", + "value": 36.6 + }, + { + "date": "2026-02-30", + "value": 40.1 + }, + { + "date": "2026-03-04", + "value": 26.0 + }, + { + "date": "2026-03-10", + "value": 30.7 + }, + { + "date": "2026-03-16", + "value": 33.0 + }, + { + "date": "2026-03-22", + "value": 36.6 + }, + { + "date": "2026-03-28", + "value": 38.9 + }, + { + "date": "2026-04-05", + "value": 36.6 + }, + { + "date": "2026-04-11", + "value": 38.9 + }, + { + "date": "2026-04-17", + "value": 42.5 + }, + { + "date": "2026-04-23", + "value": 44.8 + }, + { + "date": "2026-04-29", + "value": 49.6 + }, + { + "date": "2026-05-06", + "value": 35.4 + }, + { + "date": "2026-05-12", + "value": 37.8 + }, + { + "date": "2026-05-18", + "value": 41.3 + }, + { + "date": "2026-05-24", + "value": 44.8 + }, + { + "date": "2026-05-30", + "value": 28.3 + } + ], + "monthly": [ + { + "month": "2022-02", + "mean": 37.8, + "median": 37.8, + "p10": 37.8, + "p25": 37.8, + "p75": 37.8, + "p90": 37.8, + "n": 1 + }, + { + "month": "2022-04", + "mean": 56.6, + "median": 56.6, + "p10": 56.6, + "p25": 56.6, + "p75": 56.6, + "p90": 56.6, + "n": 1 + }, + { + "month": "2022-07", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2022-09", + "mean": 79.1, + "median": 79.1, + "p10": 79.1, + "p25": 79.1, + "p75": 79.1, + "p90": 79.1, + "n": 1 + }, + { + "month": "2022-12", + "mean": 29.5, + "median": 29.5, + "p10": 29.5, + "p25": 29.5, + "p75": 29.5, + "p90": 29.5, + "n": 1 + }, + { + "month": "2023-03", + "mean": 48.4, + "median": 48.4, + "p10": 48.4, + "p25": 48.4, + "p75": 48.4, + "p90": 48.4, + "n": 1 + }, + { + "month": "2023-05", + "mean": 17.7, + "median": 17.7, + "p10": 17.7, + "p25": 17.7, + "p75": 17.7, + "p90": 17.7, + "n": 1 + }, + { + "month": "2023-08", + "mean": 96.8, + "median": 96.8, + "p10": 96.8, + "p25": 96.8, + "p75": 96.8, + "p90": 96.8, + "n": 1 + }, + { + "month": "2023-10", + "mean": 44.8, + "median": 44.8, + "p10": 44.8, + "p25": 44.8, + "p75": 44.8, + "p90": 44.8, + "n": 1 + }, + { + "month": "2024-01", + "mean": 23.6, + "median": 23.6, + "p10": 23.6, + "p25": 23.6, + "p75": 23.6, + "p90": 23.6, + "n": 1 + }, + { + "month": "2024-03", + "mean": 61.4, + "median": 61.4, + "p10": 61.4, + "p25": 61.4, + "p75": 61.4, + "p90": 61.4, + "n": 1 + }, + { + "month": "2024-06", + "mean": 11.8, + "median": 11.8, + "p10": 11.8, + "p25": 11.8, + "p75": 11.8, + "p90": 11.8, + "n": 1 + }, + { + "month": "2024-08", + "mean": 51.9, + "median": 51.9, + "p10": 51.9, + "p25": 51.9, + "p75": 51.9, + "p90": 51.9, + "n": 1 + }, + { + "month": "2024-11", + "mean": 33.0, + "median": 33.0, + "p10": 33.0, + "p25": 33.0, + "p75": 33.0, + "p90": 33.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 41.3, + "median": 41.3, + "p10": 41.3, + "p25": 41.3, + "p75": 41.3, + "p90": 41.3, + "n": 1 + }, + { + "month": "2025-03", + "mean": 21.2, + "median": 21.2, + "p10": 21.2, + "p25": 21.2, + "p75": 21.2, + "p90": 21.2, + "n": 1 + }, + { + "month": "2025-05", + "mean": 64.9, + "median": 64.9, + "p10": 64.9, + "p25": 64.9, + "p75": 64.9, + "p90": 64.9, + "n": 1 + }, + { + "month": "2025-08", + "mean": 30.7, + "median": 30.7, + "p10": 30.7, + "p25": 30.7, + "p75": 30.7, + "p90": 30.7, + "n": 1 + }, + { + "month": "2025-09", + "mean": 37.1, + "median": 36.6, + "p10": 32.1, + "p25": 34.2, + "p75": 40.1, + "p90": 42.2, + "n": 5 + }, + { + "month": "2025-10", + "mean": 36.3, + "median": 36.6, + "p10": 31.6, + "p25": 33.0, + "p75": 38.9, + "p90": 41.1, + "n": 5 + }, + { + "month": "2025-11", + "mean": 41.8, + "median": 42.5, + "p10": 35.4, + "p25": 38.9, + "p75": 44.8, + "p90": 47.7, + "n": 5 + }, + { + "month": "2025-12", + "mean": 37.1, + "median": 37.8, + "p10": 30.2, + "p25": 33.0, + "p75": 41.3, + "p90": 43.4, + "n": 5 + }, + { + "month": "2026-01", + "mean": 42.5, + "median": 41.3, + "p10": 36.1, + "p25": 38.9, + "p75": 47.2, + "p90": 49.3, + "n": 5 + }, + { + "month": "2026-02", + "mean": 37.8, + "median": 36.6, + "p10": 32.1, + "p25": 34.2, + "p75": 40.1, + "p90": 44.4, + "n": 5 + }, + { + "month": "2026-03", + "mean": 33.0, + "median": 33.0, + "p10": 27.8, + "p25": 30.7, + "p75": 36.6, + "p90": 38.0, + "n": 5 + }, + { + "month": "2026-04", + "mean": 42.5, + "median": 42.5, + "p10": 37.5, + "p25": 38.9, + "p75": 44.8, + "p90": 47.7, + "n": 5 + }, + { + "month": "2026-05", + "mean": 37.5, + "median": 37.8, + "p10": 31.2, + "p25": 35.4, + "p75": 41.3, + "p90": 43.4, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "procurement_washed_bourbon", + "label": "Procurement: Washed Bourbon", + "type": "procurement", + "material": "90000100003", + "plant": "PL-A", + "stats": { + "n": 55, + "mean": 30.8, + "median": 29.5, + "std": 9.4, + "min": 8.3, + "max": 73.2, + "p25": 26.5, + "p75": 34.2, + "p85": 35.4, + "p95": 43.1 + }, + "plifz": 7, + "plifz_note": null, + "pct_exceeding_plifz": 98.2, + "cost": null, + "observations": [ + { + "date": "2022-05-03", + "value": 41.3 + }, + { + "date": "2022-10-18", + "value": 18.9 + }, + { + "date": "2023-01-24", + "value": 73.2 + }, + { + "date": "2023-06-15", + "value": 8.3 + }, + { + "date": "2023-09-28", + "value": 47.2 + }, + { + "date": "2024-02-12", + "value": 29.5 + }, + { + "date": "2024-05-07", + "value": 56.6 + }, + { + "date": "2024-09-19", + "value": 14.2 + }, + { + "date": "2025-02-04", + "value": 35.4 + }, + { + "date": "2025-06-10", + "value": 16.5 + }, + { + "date": "2025-09-06", + "value": 35.4 + }, + { + "date": "2025-09-12", + "value": 22.4 + }, + { + "date": "2025-09-18", + "value": 26.0 + }, + { + "date": "2025-09-24", + "value": 27.1 + }, + { + "date": "2025-09-30", + "value": 29.5 + }, + { + "date": "2025-10-04", + "value": 27.1 + }, + { + "date": "2025-10-10", + "value": 29.5 + }, + { + "date": "2025-10-16", + "value": 31.9 + }, + { + "date": "2025-10-22", + "value": 34.2 + }, + { + "date": "2025-10-28", + "value": 36.6 + }, + { + "date": "2025-11-05", + "value": 27.1 + }, + { + "date": "2025-11-11", + "value": 29.5 + }, + { + "date": "2025-11-17", + "value": 31.9 + }, + { + "date": "2025-11-23", + "value": 34.2 + }, + { + "date": "2025-11-29", + "value": 36.6 + }, + { + "date": "2025-12-06", + "value": 26.0 + }, + { + "date": "2025-12-12", + "value": 28.3 + }, + { + "date": "2025-12-18", + "value": 30.7 + }, + { + "date": "2025-12-24", + "value": 33.0 + }, + { + "date": "2025-12-30", + "value": 21.2 + }, + { + "date": "2026-01-04", + "value": 33.0 + }, + { + "date": "2026-01-10", + "value": 35.4 + }, + { + "date": "2026-01-16", + "value": 37.8 + }, + { + "date": "2026-01-22", + "value": 26.0 + }, + { + "date": "2026-01-28", + "value": 28.3 + }, + { + "date": "2026-02-05", + "value": 31.9 + }, + { + "date": "2026-02-11", + "value": 35.4 + }, + { + "date": "2026-02-17", + "value": 22.4 + }, + { + "date": "2026-02-23", + "value": 26.0 + }, + { + "date": "2026-02-29", + "value": 27.1 + }, + { + "date": "2026-03-06", + "value": 40.1 + }, + { + "date": "2026-03-12", + "value": 27.1 + }, + { + "date": "2026-03-18", + "value": 29.5 + }, + { + "date": "2026-03-24", + "value": 31.9 + }, + { + "date": "2026-03-30", + "value": 34.2 + }, + { + "date": "2026-04-04", + "value": 23.6 + }, + { + "date": "2026-04-10", + "value": 27.1 + }, + { + "date": "2026-04-16", + "value": 29.5 + }, + { + "date": "2026-04-22", + "value": 31.9 + }, + { + "date": "2026-04-28", + "value": 34.2 + }, + { + "date": "2026-05-05", + "value": 23.6 + }, + { + "date": "2026-05-11", + "value": 26.0 + }, + { + "date": "2026-05-17", + "value": 28.3 + }, + { + "date": "2026-05-23", + "value": 30.7 + }, + { + "date": "2026-05-29", + "value": 33.0 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 41.3, + "median": 41.3, + "p10": 41.3, + "p25": 41.3, + "p75": 41.3, + "p90": 41.3, + "n": 1 + }, + { + "month": "2022-10", + "mean": 18.9, + "median": 18.9, + "p10": 18.9, + "p25": 18.9, + "p75": 18.9, + "p90": 18.9, + "n": 1 + }, + { + "month": "2023-01", + "mean": 73.2, + "median": 73.2, + "p10": 73.2, + "p25": 73.2, + "p75": 73.2, + "p90": 73.2, + "n": 1 + }, + { + "month": "2023-06", + "mean": 8.3, + "median": 8.3, + "p10": 8.3, + "p25": 8.3, + "p75": 8.3, + "p90": 8.3, + "n": 1 + }, + { + "month": "2023-09", + "mean": 47.2, + "median": 47.2, + "p10": 47.2, + "p25": 47.2, + "p75": 47.2, + "p90": 47.2, + "n": 1 + }, + { + "month": "2024-02", + "mean": 29.5, + "median": 29.5, + "p10": 29.5, + "p25": 29.5, + "p75": 29.5, + "p90": 29.5, + "n": 1 + }, + { + "month": "2024-05", + "mean": 56.6, + "median": 56.6, + "p10": 56.6, + "p25": 56.6, + "p75": 56.6, + "p90": 56.6, + "n": 1 + }, + { + "month": "2024-09", + "mean": 14.2, + "median": 14.2, + "p10": 14.2, + "p25": 14.2, + "p75": 14.2, + "p90": 14.2, + "n": 1 + }, + { + "month": "2025-02", + "mean": 35.4, + "median": 35.4, + "p10": 35.4, + "p25": 35.4, + "p75": 35.4, + "p90": 35.4, + "n": 1 + }, + { + "month": "2025-06", + "mean": 16.5, + "median": 16.5, + "p10": 16.5, + "p25": 16.5, + "p75": 16.5, + "p90": 16.5, + "n": 1 + }, + { + "month": "2025-09", + "mean": 28.1, + "median": 27.1, + "p10": 23.8, + "p25": 26.0, + "p75": 29.5, + "p90": 33.0, + "n": 5 + }, + { + "month": "2025-10", + "mean": 31.9, + "median": 31.9, + "p10": 28.1, + "p25": 29.5, + "p75": 34.2, + "p90": 35.6, + "n": 5 + }, + { + "month": "2025-11", + "mean": 31.9, + "median": 31.9, + "p10": 28.1, + "p25": 29.5, + "p75": 34.2, + "p90": 35.6, + "n": 5 + }, + { + "month": "2025-12", + "mean": 27.8, + "median": 28.3, + "p10": 23.1, + "p25": 26.0, + "p75": 30.7, + "p90": 32.1, + "n": 5 + }, + { + "month": "2026-01", + "mean": 32.1, + "median": 33.0, + "p10": 26.9, + "p25": 28.3, + "p75": 35.4, + "p90": 36.8, + "n": 5 + }, + { + "month": "2026-02", + "mean": 28.6, + "median": 27.1, + "p10": 23.8, + "p25": 26.0, + "p75": 31.9, + "p90": 34.0, + "n": 5 + }, + { + "month": "2026-03", + "mean": 32.6, + "median": 31.9, + "p10": 28.1, + "p25": 29.5, + "p75": 34.2, + "p90": 37.8, + "n": 5 + }, + { + "month": "2026-04", + "mean": 29.3, + "median": 29.5, + "p10": 25.0, + "p25": 27.1, + "p75": 31.9, + "p90": 33.3, + "n": 5 + }, + { + "month": "2026-05", + "mean": 28.3, + "median": 28.3, + "p10": 24.5, + "p25": 26.0, + "p75": 30.7, + "p90": 32.1, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_highland_arabica", + "label": "Raw Material Dwell: Highland Arabica", + "type": "raw_material_dwell", + "material": "90000100001", + "plant": "PL-A", + "stats": { + "n": 83, + "mean": 57.0, + "median": 54.3, + "std": 23.4, + "min": 5.9, + "max": 153.4, + "p25": 45.4, + "p75": 64.3, + "p85": 72.0, + "p95": 103.5 + }, + "plifz": 30, + "plifz_note": null, + "pct_exceeding_plifz": 89.2, + "cost": { + "unit_price": 3.776, + "currency": "CHF", + "mean_qty": 4200.0, + "monthly": [ + { + "month": "2022-04", + "n_events": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "n_events": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "n_events": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "n_events": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "n_events": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "n_events": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "n_events": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "n_events": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "n_events": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "n_events": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 827400.0 + } + ] + }, + "observations": [ + { + "date": "2022-04-02", + "value": 41.3 + }, + { + "date": "2022-04-15", + "value": 73.2 + }, + { + "date": "2022-04-28", + "value": 21.2 + }, + { + "date": "2022-08-05", + "value": 103.8 + }, + { + "date": "2022-08-12", + "value": 49.6 + }, + { + "date": "2022-08-20", + "value": 64.9 + }, + { + "date": "2022-08-28", + "value": 35.4 + }, + { + "date": "2023-01-10", + "value": 85.0 + }, + { + "date": "2023-01-22", + "value": 29.5 + }, + { + "date": "2023-01-30", + "value": 56.6 + }, + { + "date": "2023-06-05", + "value": 17.7 + }, + { + "date": "2023-06-18", + "value": 112.1 + }, + { + "date": "2023-10-03", + "value": 153.4 + }, + { + "date": "2023-10-10", + "value": 53.1 + }, + { + "date": "2023-10-18", + "value": 44.8 + }, + { + "date": "2023-10-25", + "value": 76.7 + }, + { + "date": "2023-10-30", + "value": 26.0 + }, + { + "date": "2024-03-05", + "value": 92.0 + }, + { + "date": "2024-03-12", + "value": 5.9 + }, + { + "date": "2024-03-20", + "value": 64.9 + }, + { + "date": "2024-03-28", + "value": 47.2 + }, + { + "date": "2024-07-08", + "value": 33.0 + }, + { + "date": "2024-07-15", + "value": 100.3 + }, + { + "date": "2024-07-22", + "value": 59.0 + }, + { + "date": "2024-11-04", + "value": 129.8 + }, + { + "date": "2024-11-11", + "value": 37.8 + }, + { + "date": "2024-11-18", + "value": 80.2 + }, + { + "date": "2024-11-25", + "value": 53.1 + }, + { + "date": "2024-11-30", + "value": 108.6 + }, + { + "date": "2025-03-03", + "value": 23.6 + }, + { + "date": "2025-03-10", + "value": 68.4 + }, + { + "date": "2025-03-17", + "value": 41.3 + }, + { + "date": "2025-03-24", + "value": 49.6 + }, + { + "date": "2025-07-02", + "value": 88.5 + }, + { + "date": "2025-07-09", + "value": 14.2 + }, + { + "date": "2025-07-16", + "value": 56.6 + }, + { + "date": "2025-07-23", + "value": 70.8 + }, + { + "date": "2025-07-30", + "value": 44.8 + }, + { + "date": "2025-09-05", + "value": 57.8 + }, + { + "date": "2025-09-11", + "value": 63.7 + }, + { + "date": "2025-09-17", + "value": 40.1 + }, + { + "date": "2025-09-23", + "value": 46.0 + }, + { + "date": "2025-09-29", + "value": 49.6 + }, + { + "date": "2025-10-06", + "value": 72.0 + }, + { + "date": "2025-10-12", + "value": 48.4 + }, + { + "date": "2025-10-18", + "value": 54.3 + }, + { + "date": "2025-10-24", + "value": 57.8 + }, + { + "date": "2025-10-30", + "value": 62.5 + }, + { + "date": "2025-11-04", + "value": 42.5 + }, + { + "date": "2025-11-10", + "value": 48.4 + }, + { + "date": "2025-11-16", + "value": 51.9 + }, + { + "date": "2025-11-22", + "value": 56.6 + }, + { + "date": "2025-11-28", + "value": 61.4 + }, + { + "date": "2025-12-05", + "value": 42.5 + }, + { + "date": "2025-12-11", + "value": 46.0 + }, + { + "date": "2025-12-17", + "value": 50.7 + }, + { + "date": "2025-12-23", + "value": 55.5 + }, + { + "date": "2025-12-29", + "value": 60.2 + }, + { + "date": "2026-01-06", + "value": 55.5 + }, + { + "date": "2026-01-12", + "value": 59.0 + }, + { + "date": "2026-01-18", + "value": 63.7 + }, + { + "date": "2026-01-24", + "value": 68.4 + }, + { + "date": "2026-01-30", + "value": 46.0 + }, + { + "date": "2026-02-04", + "value": 53.1 + }, + { + "date": "2026-02-10", + "value": 57.8 + }, + { + "date": "2026-02-16", + "value": 63.7 + }, + { + "date": "2026-02-22", + "value": 40.1 + }, + { + "date": "2026-02-28", + "value": 46.0 + }, + { + "date": "2026-03-05", + "value": 66.1 + }, + { + "date": "2026-03-11", + "value": 72.0 + }, + { + "date": "2026-03-17", + "value": 48.4 + }, + { + "date": "2026-03-23", + "value": 54.3 + }, + { + "date": "2026-03-29", + "value": 57.8 + }, + { + "date": "2026-04-06", + "value": 66.1 + }, + { + "date": "2026-04-12", + "value": 42.5 + }, + { + "date": "2026-04-18", + "value": 48.4 + }, + { + "date": "2026-04-24", + "value": 51.9 + }, + { + "date": "2026-04-30", + "value": 56.6 + }, + { + "date": "2026-05-04", + "value": 37.8 + }, + { + "date": "2026-05-10", + "value": 42.5 + }, + { + "date": "2026-05-16", + "value": 46.0 + }, + { + "date": "2026-05-22", + "value": 50.7 + }, + { + "date": "2026-05-28", + "value": 55.5 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 45.2, + "median": 41.3, + "p10": 25.3, + "p25": 31.3, + "p75": 57.2, + "p90": 66.8, + "n": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "mean": 63.5, + "median": 57.2, + "p10": 39.6, + "p25": 46.0, + "p75": 74.7, + "p90": 92.2, + "n": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "mean": 57.0, + "median": 56.6, + "p10": 34.9, + "p25": 43.1, + "p75": 70.8, + "p90": 79.3, + "n": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "mean": 64.9, + "median": 64.9, + "p10": 27.1, + "p25": 41.3, + "p75": 88.5, + "p90": 102.7, + "n": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "mean": 70.8, + "median": 53.1, + "p10": 33.5, + "p25": 44.8, + "p75": 76.7, + "p90": 122.7, + "n": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "mean": 52.5, + "median": 56.0, + "p10": 18.3, + "p25": 36.9, + "p75": 71.7, + "p90": 83.9, + "n": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "mean": 64.1, + "median": 59.0, + "p10": 38.2, + "p25": 46.0, + "p75": 79.6, + "p90": 92.0, + "n": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "mean": 81.9, + "median": 80.2, + "p10": 43.9, + "p25": 53.1, + "p75": 108.6, + "p90": 121.3, + "n": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "mean": 45.8, + "median": 45.4, + "p10": 28.9, + "p25": 36.9, + "p75": 54.3, + "p90": 62.8, + "n": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "mean": 55.0, + "median": 56.6, + "p10": 26.4, + "p25": 44.8, + "p75": 70.8, + "p90": 81.4, + "n": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "mean": 51.4, + "median": 49.6, + "p10": 42.5, + "p25": 46.0, + "p75": 57.8, + "p90": 61.4, + "n": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "mean": 59.0, + "median": 57.8, + "p10": 50.7, + "p25": 54.3, + "p75": 62.5, + "p90": 68.2, + "n": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "mean": 52.2, + "median": 51.9, + "p10": 44.8, + "p25": 48.4, + "p75": 56.6, + "p90": 59.5, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "mean": 51.0, + "median": 50.7, + "p10": 43.9, + "p25": 46.0, + "p75": 55.5, + "p90": 58.3, + "n": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "mean": 58.5, + "median": 59.0, + "p10": 49.8, + "p25": 55.5, + "p75": 63.7, + "p90": 66.6, + "n": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "mean": 52.2, + "median": 53.1, + "p10": 42.5, + "p25": 46.0, + "p75": 57.8, + "p90": 61.4, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "mean": 59.7, + "median": 57.8, + "p10": 50.7, + "p25": 54.3, + "p75": 66.1, + "p90": 69.6, + "n": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "mean": 53.1, + "median": 51.9, + "p10": 44.8, + "p25": 48.4, + "p75": 56.6, + "p90": 62.3, + "n": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "mean": 46.5, + "median": 46.0, + "p10": 39.6, + "p25": 42.5, + "p75": 50.7, + "p90": 53.6, + "n": 5, + "total_kg_days": 827400.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_lowland_robusta", + "label": "Raw Material Dwell: Lowland Robusta", + "type": "raw_material_dwell", + "material": "90000100002", + "plant": "PL-A", + "stats": { + "n": 69, + "mean": 43.2, + "median": 40.1, + "std": 18.6, + "min": 3.5, + "max": 115.6, + "p25": 33.0, + "p75": 48.4, + "p85": 53.1, + "p95": 81.7 + }, + "plifz": 21, + "plifz_note": null, + "pct_exceeding_plifz": 91.3, + "cost": { + "unit_price": 2.124, + "currency": "CHF", + "mean_qty": 6500.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "n_events": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "n_events": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "n_events": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "n_events": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "n_events": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 1131000.0 + } + ] + }, + "observations": [ + { + "date": "2022-05-02", + "value": 33.0 + }, + { + "date": "2022-05-10", + "value": 53.1 + }, + { + "date": "2022-05-18", + "value": 14.2 + }, + { + "date": "2022-05-25", + "value": 73.2 + }, + { + "date": "2023-02-06", + "value": 38.9 + }, + { + "date": "2023-02-14", + "value": 92.0 + }, + { + "date": "2023-02-22", + "value": 23.6 + }, + { + "date": "2023-02-28", + "value": 64.9 + }, + { + "date": "2023-09-05", + "value": 9.4 + }, + { + "date": "2023-09-15", + "value": 49.6 + }, + { + "date": "2023-09-25", + "value": 76.7 + }, + { + "date": "2024-04-03", + "value": 44.8 + }, + { + "date": "2024-04-10", + "value": 17.7 + }, + { + "date": "2024-04-17", + "value": 85.0 + }, + { + "date": "2024-04-24", + "value": 29.5 + }, + { + "date": "2024-10-02", + "value": 56.6 + }, + { + "date": "2024-10-09", + "value": 3.5 + }, + { + "date": "2024-10-16", + "value": 100.3 + }, + { + "date": "2024-10-23", + "value": 35.4 + }, + { + "date": "2024-10-30", + "value": 64.9 + }, + { + "date": "2025-04-07", + "value": 26.0 + }, + { + "date": "2025-04-14", + "value": 47.2 + }, + { + "date": "2025-04-21", + "value": 115.6 + }, + { + "date": "2025-04-28", + "value": 21.2 + }, + { + "date": "2025-09-04", + "value": 46.0 + }, + { + "date": "2025-09-10", + "value": 48.4 + }, + { + "date": "2025-09-16", + "value": 53.1 + }, + { + "date": "2025-09-22", + "value": 35.4 + }, + { + "date": "2025-09-28", + "value": 40.1 + }, + { + "date": "2025-10-05", + "value": 44.8 + }, + { + "date": "2025-10-11", + "value": 48.4 + }, + { + "date": "2025-10-17", + "value": 31.9 + }, + { + "date": "2025-10-23", + "value": 35.4 + }, + { + "date": "2025-10-29", + "value": 37.8 + }, + { + "date": "2025-11-06", + "value": 44.8 + }, + { + "date": "2025-11-12", + "value": 27.1 + }, + { + "date": "2025-11-18", + "value": 31.9 + }, + { + "date": "2025-11-24", + "value": 34.2 + }, + { + "date": "2025-11-30", + "value": 37.8 + }, + { + "date": "2025-12-04", + "value": 33.0 + }, + { + "date": "2025-12-10", + "value": 37.8 + }, + { + "date": "2025-12-16", + "value": 40.1 + }, + { + "date": "2025-12-22", + "value": 43.7 + }, + { + "date": "2025-12-28", + "value": 47.2 + }, + { + "date": "2026-01-05", + "value": 33.0 + }, + { + "date": "2026-01-11", + "value": 36.6 + }, + { + "date": "2026-01-17", + "value": 38.9 + }, + { + "date": "2026-01-23", + "value": 42.5 + }, + { + "date": "2026-01-29", + "value": 46.0 + }, + { + "date": "2026-02-06", + "value": 42.5 + }, + { + "date": "2026-02-12", + "value": 46.0 + }, + { + "date": "2026-02-18", + "value": 48.4 + }, + { + "date": "2026-02-24", + "value": 53.1 + }, + { + "date": "2026-02-30", + "value": 35.4 + }, + { + "date": "2026-03-04", + "value": 41.3 + }, + { + "date": "2026-03-10", + "value": 44.8 + }, + { + "date": "2026-03-16", + "value": 48.4 + }, + { + "date": "2026-03-22", + "value": 31.9 + }, + { + "date": "2026-03-28", + "value": 35.4 + }, + { + "date": "2026-04-05", + "value": 40.1 + }, + { + "date": "2026-04-11", + "value": 44.8 + }, + { + "date": "2026-04-17", + "value": 27.1 + }, + { + "date": "2026-04-23", + "value": 31.9 + }, + { + "date": "2026-04-29", + "value": 34.2 + }, + { + "date": "2026-05-06", + "value": 50.7 + }, + { + "date": "2026-05-12", + "value": 33.0 + }, + { + "date": "2026-05-18", + "value": 37.8 + }, + { + "date": "2026-05-24", + "value": 40.1 + }, + { + "date": "2026-05-30", + "value": 43.7 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 43.4, + "median": 43.1, + "p10": 19.8, + "p25": 28.3, + "p75": 58.2, + "p90": 67.1, + "n": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "mean": 54.9, + "median": 51.9, + "p10": 28.2, + "p25": 35.2, + "p75": 71.7, + "p90": 83.9, + "n": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "mean": 45.2, + "median": 49.6, + "p10": 17.5, + "p25": 29.5, + "p75": 63.1, + "p90": 71.3, + "n": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "mean": 44.2, + "median": 37.2, + "p10": 21.2, + "p25": 26.5, + "p75": 54.9, + "p90": 72.9, + "n": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "mean": 52.2, + "median": 56.6, + "p10": 16.3, + "p25": 35.4, + "p75": 64.9, + "p90": 86.1, + "n": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "mean": 52.5, + "median": 36.6, + "p10": 22.7, + "p25": 24.8, + "p75": 64.3, + "p90": 95.1, + "n": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "mean": 44.6, + "median": 46.0, + "p10": 37.3, + "p25": 40.1, + "p75": 48.4, + "p90": 51.2, + "n": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "mean": 39.6, + "median": 37.8, + "p10": 33.3, + "p25": 35.4, + "p75": 44.8, + "p90": 47.0, + "n": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "mean": 35.2, + "median": 34.2, + "p10": 29.0, + "p25": 31.9, + "p75": 37.8, + "p90": 42.0, + "n": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "mean": 40.4, + "median": 40.1, + "p10": 34.9, + "p25": 37.8, + "p75": 43.7, + "p90": 45.8, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "mean": 39.4, + "median": 38.9, + "p10": 34.5, + "p25": 36.6, + "p75": 42.5, + "p90": 44.6, + "n": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "mean": 45.1, + "median": 46.0, + "p10": 38.2, + "p25": 42.5, + "p75": 48.4, + "p90": 51.2, + "n": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "mean": 40.4, + "median": 41.3, + "p10": 33.3, + "p25": 35.4, + "p75": 44.8, + "p90": 47.0, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "mean": 35.6, + "median": 34.2, + "p10": 29.0, + "p25": 31.9, + "p75": 40.1, + "p90": 43.0, + "n": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "mean": 41.1, + "median": 40.1, + "p10": 34.9, + "p25": 37.8, + "p75": 43.7, + "p90": 47.9, + "n": 5, + "total_kg_days": 1131000.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_washed_bourbon", + "label": "Raw Material Dwell: Washed Bourbon", + "type": "raw_material_dwell", + "material": "90000100003", + "plant": "PL-A", + "stats": { + "n": 70, + "mean": 51.8, + "median": 48.4, + "std": 22.5, + "min": 4.7, + "max": 135.7, + "p25": 40.5, + "p75": 59.0, + "p85": 63.7, + "p95": 96.6 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 95.7, + "cost": { + "unit_price": 6.49, + "currency": "CHF", + "mean_qty": 2800.0, + "monthly": [ + { + "month": "2022-06", + "n_events": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "n_events": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "n_events": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "n_events": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "n_events": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "n_events": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 568400.0 + } + ] + }, + "observations": [ + { + "date": "2022-06-05", + "value": 47.2 + }, + { + "date": "2022-06-15", + "value": 26.0 + }, + { + "date": "2022-06-25", + "value": 80.2 + }, + { + "date": "2023-03-08", + "value": 4.7 + }, + { + "date": "2023-03-15", + "value": 64.9 + }, + { + "date": "2023-03-22", + "value": 135.7 + }, + { + "date": "2023-03-29", + "value": 35.4 + }, + { + "date": "2023-11-06", + "value": 73.2 + }, + { + "date": "2023-11-13", + "value": 21.2 + }, + { + "date": "2023-11-20", + "value": 100.3 + }, + { + "date": "2024-06-03", + "value": 41.3 + }, + { + "date": "2024-06-10", + "value": 85.0 + }, + { + "date": "2024-06-17", + "value": 11.8 + }, + { + "date": "2024-06-24", + "value": 56.6 + }, + { + "date": "2024-06-30", + "value": 112.1 + }, + { + "date": "2025-01-07", + "value": 33.0 + }, + { + "date": "2025-01-14", + "value": 61.4 + }, + { + "date": "2025-01-21", + "value": 17.7 + }, + { + "date": "2025-01-28", + "value": 92.0 + }, + { + "date": "2025-08-04", + "value": 49.6 + }, + { + "date": "2025-08-08", + "value": 9.4 + }, + { + "date": "2025-08-12", + "value": 76.7 + }, + { + "date": "2025-08-16", + "value": 38.9 + }, + { + "date": "2025-08-20", + "value": 118.0 + }, + { + "date": "2025-08-24", + "value": 23.6 + }, + { + "date": "2025-09-06", + "value": 48.4 + }, + { + "date": "2025-09-12", + "value": 53.1 + }, + { + "date": "2025-09-18", + "value": 56.6 + }, + { + "date": "2025-09-24", + "value": 61.4 + }, + { + "date": "2025-09-30", + "value": 40.1 + }, + { + "date": "2025-10-04", + "value": 47.2 + }, + { + "date": "2025-10-10", + "value": 51.9 + }, + { + "date": "2025-10-16", + "value": 56.6 + }, + { + "date": "2025-10-22", + "value": 35.4 + }, + { + "date": "2025-10-28", + "value": 40.1 + }, + { + "date": "2025-11-05", + "value": 59.0 + }, + { + "date": "2025-11-11", + "value": 63.7 + }, + { + "date": "2025-11-17", + "value": 42.5 + }, + { + "date": "2025-11-23", + "value": 48.4 + }, + { + "date": "2025-11-29", + "value": 51.9 + }, + { + "date": "2025-12-06", + "value": 59.0 + }, + { + "date": "2025-12-12", + "value": 37.8 + }, + { + "date": "2025-12-18", + "value": 42.5 + }, + { + "date": "2025-12-24", + "value": 46.0 + }, + { + "date": "2025-12-30", + "value": 50.7 + }, + { + "date": "2026-01-04", + "value": 33.0 + }, + { + "date": "2026-01-10", + "value": 37.8 + }, + { + "date": "2026-01-16", + "value": 41.3 + }, + { + "date": "2026-01-22", + "value": 44.8 + }, + { + "date": "2026-01-28", + "value": 49.6 + }, + { + "date": "2026-02-05", + "value": 46.0 + }, + { + "date": "2026-02-11", + "value": 48.4 + }, + { + "date": "2026-02-17", + "value": 53.1 + }, + { + "date": "2026-02-23", + "value": 56.6 + }, + { + "date": "2026-02-29", + "value": 61.4 + }, + { + "date": "2026-03-06", + "value": 43.7 + }, + { + "date": "2026-03-12", + "value": 47.2 + }, + { + "date": "2026-03-18", + "value": 51.9 + }, + { + "date": "2026-03-24", + "value": 56.6 + }, + { + "date": "2026-03-30", + "value": 35.4 + }, + { + "date": "2026-04-04", + "value": 55.5 + }, + { + "date": "2026-04-10", + "value": 59.0 + }, + { + "date": "2026-04-16", + "value": 63.7 + }, + { + "date": "2026-04-22", + "value": 42.5 + }, + { + "date": "2026-04-28", + "value": 48.4 + }, + { + "date": "2026-05-05", + "value": 54.3 + }, + { + "date": "2026-05-11", + "value": 59.0 + }, + { + "date": "2026-05-17", + "value": 37.8 + }, + { + "date": "2026-05-23", + "value": 42.5 + }, + { + "date": "2026-05-29", + "value": 46.0 + } + ], + "monthly": [ + { + "month": "2022-06", + "mean": 51.1, + "median": 47.2, + "p10": 30.2, + "p25": 36.6, + "p75": 63.7, + "p90": 73.6, + "n": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "mean": 60.2, + "median": 50.1, + "p10": 13.9, + "p25": 27.7, + "p75": 82.6, + "p90": 114.5, + "n": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "mean": 64.9, + "median": 73.2, + "p10": 31.6, + "p25": 47.2, + "p75": 86.7, + "p90": 94.9, + "n": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "mean": 61.4, + "median": 56.6, + "p10": 23.6, + "p25": 41.3, + "p75": 85.0, + "p90": 101.2, + "n": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "mean": 51.1, + "median": 47.2, + "p10": 22.3, + "p25": 29.3, + "p75": 69.0, + "p90": 82.8, + "n": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "mean": 52.7, + "median": 44.2, + "p10": 16.5, + "p25": 27.5, + "p75": 70.0, + "p90": 97.3, + "n": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "mean": 51.9, + "median": 53.1, + "p10": 43.4, + "p25": 48.4, + "p75": 56.6, + "p90": 59.5, + "n": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "mean": 46.3, + "median": 47.2, + "p10": 37.3, + "p25": 40.1, + "p75": 51.9, + "p90": 54.8, + "n": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "mean": 53.1, + "median": 51.9, + "p10": 44.8, + "p25": 48.4, + "p75": 59.0, + "p90": 61.8, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "mean": 47.2, + "median": 46.0, + "p10": 39.6, + "p25": 42.5, + "p75": 50.7, + "p90": 55.7, + "n": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "mean": 41.3, + "median": 41.3, + "p10": 34.9, + "p25": 37.8, + "p75": 44.8, + "p90": 47.7, + "n": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "mean": 53.1, + "median": 53.1, + "p10": 47.0, + "p25": 48.4, + "p75": 56.6, + "p90": 59.5, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "mean": 47.0, + "median": 47.2, + "p10": 38.7, + "p25": 43.7, + "p75": 51.9, + "p90": 54.8, + "n": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "mean": 53.8, + "median": 55.5, + "p10": 44.8, + "p25": 48.4, + "p75": 59.0, + "p90": 61.8, + "n": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "mean": 47.9, + "median": 46.0, + "p10": 39.6, + "p25": 42.5, + "p75": 54.3, + "p90": 57.1, + "n": 5, + "total_kg_days": 568400.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "prod_duration_green_blend", + "label": "Production: Green Blend", + "type": "production", + "material": "90000200001", + "plant": "PL-A", + "stats": { + "n": 50, + "mean": 5.2, + "median": 4.7, + "std": 2.1, + "min": 1.2, + "max": 16.5, + "p25": 3.9, + "p75": 5.9, + "p85": 5.9, + "p95": 7.8 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 10.0, + "cost": null, + "observations": [ + { + "date": "2022-04-18", + "value": 3.5 + }, + { + "date": "2022-07-05", + "value": 5.9 + }, + { + "date": "2022-10-12", + "value": 2.4 + }, + { + "date": "2023-01-20", + "value": 8.3 + }, + { + "date": "2023-04-15", + "value": 4.7 + }, + { + "date": "2023-07-28", + "value": 7.1 + }, + { + "date": "2023-10-05", + "value": 3.5 + }, + { + "date": "2024-01-12", + "value": 16.5 + }, + { + "date": "2024-04-22", + "value": 4.7 + }, + { + "date": "2024-07-10", + "value": 9.4 + }, + { + "date": "2024-10-18", + "value": 3.5 + }, + { + "date": "2025-01-25", + "value": 5.9 + }, + { + "date": "2025-05-08", + "value": 1.2 + }, + { + "date": "2025-08-15", + "value": 7.1 + }, + { + "date": "2025-09-04", + "value": 3.5 + }, + { + "date": "2025-09-10", + "value": 4.7 + }, + { + "date": "2025-09-16", + "value": 4.7 + }, + { + "date": "2025-09-22", + "value": 4.7 + }, + { + "date": "2025-10-05", + "value": 3.5 + }, + { + "date": "2025-10-11", + "value": 4.7 + }, + { + "date": "2025-10-17", + "value": 4.7 + }, + { + "date": "2025-10-23", + "value": 4.7 + }, + { + "date": "2025-11-06", + "value": 4.7 + }, + { + "date": "2025-11-12", + "value": 5.9 + }, + { + "date": "2025-11-18", + "value": 5.9 + }, + { + "date": "2025-11-24", + "value": 5.9 + }, + { + "date": "2025-12-04", + "value": 4.7 + }, + { + "date": "2025-12-10", + "value": 5.9 + }, + { + "date": "2025-12-16", + "value": 5.9 + }, + { + "date": "2025-12-22", + "value": 3.5 + }, + { + "date": "2026-01-05", + "value": 4.7 + }, + { + "date": "2026-01-11", + "value": 5.9 + }, + { + "date": "2026-01-17", + "value": 3.5 + }, + { + "date": "2026-01-23", + "value": 3.5 + }, + { + "date": "2026-02-06", + "value": 5.9 + }, + { + "date": "2026-02-12", + "value": 3.5 + }, + { + "date": "2026-02-18", + "value": 4.7 + }, + { + "date": "2026-02-24", + "value": 4.7 + }, + { + "date": "2026-03-04", + "value": 3.5 + }, + { + "date": "2026-03-10", + "value": 3.5 + }, + { + "date": "2026-03-16", + "value": 4.7 + }, + { + "date": "2026-03-22", + "value": 4.7 + }, + { + "date": "2026-04-05", + "value": 4.7 + }, + { + "date": "2026-04-11", + "value": 4.7 + }, + { + "date": "2026-04-17", + "value": 5.9 + }, + { + "date": "2026-04-23", + "value": 5.9 + }, + { + "date": "2026-05-06", + "value": 4.7 + }, + { + "date": "2026-05-12", + "value": 4.7 + }, + { + "date": "2026-05-18", + "value": 5.9 + }, + { + "date": "2026-05-24", + "value": 5.9 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2022-07", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2023-01", + "mean": 8.3, + "median": 8.3, + "p10": 8.3, + "p25": 8.3, + "p75": 8.3, + "p90": 8.3, + "n": 1 + }, + { + "month": "2023-04", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2023-07", + "mean": 7.1, + "median": 7.1, + "p10": 7.1, + "p25": 7.1, + "p75": 7.1, + "p90": 7.1, + "n": 1 + }, + { + "month": "2023-10", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 16.5, + "median": 16.5, + "p10": 16.5, + "p25": 16.5, + "p75": 16.5, + "p90": 16.5, + "n": 1 + }, + { + "month": "2024-04", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2024-07", + "mean": 9.4, + "median": 9.4, + "p10": 9.4, + "p25": 9.4, + "p75": 9.4, + "p90": 9.4, + "n": 1 + }, + { + "month": "2024-10", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2025-01", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2025-05", + "mean": 1.2, + "median": 1.2, + "p10": 1.2, + "p25": 1.2, + "p75": 1.2, + "p90": 1.2, + "n": 1 + }, + { + "month": "2025-08", + "mean": 7.1, + "median": 7.1, + "p10": 7.1, + "p25": 7.1, + "p75": 7.1, + "p90": 7.1, + "n": 1 + }, + { + "month": "2025-09", + "mean": 4.5, + "median": 4.7, + "p10": 3.9, + "p25": 4.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2025-10", + "mean": 4.5, + "median": 4.7, + "p10": 3.9, + "p25": 4.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2025-11", + "mean": 5.7, + "median": 5.9, + "p10": 5.1, + "p25": 5.7, + "p75": 5.9, + "p90": 5.9, + "n": 4 + }, + { + "month": "2025-12", + "mean": 5.1, + "median": 5.3, + "p10": 3.9, + "p25": 4.5, + "p75": 5.9, + "p90": 5.9, + "n": 4 + }, + { + "month": "2026-01", + "mean": 4.5, + "median": 4.1, + "p10": 3.5, + "p25": 3.5, + "p75": 5.1, + "p90": 5.5, + "n": 4 + }, + { + "month": "2026-02", + "mean": 4.7, + "median": 4.7, + "p10": 3.9, + "p25": 4.5, + "p75": 5.1, + "p90": 5.5, + "n": 4 + }, + { + "month": "2026-03", + "mean": 4.1, + "median": 4.1, + "p10": 3.5, + "p25": 3.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2026-04", + "mean": 5.3, + "median": 5.3, + "p10": 4.7, + "p25": 4.7, + "p75": 5.9, + "p90": 5.9, + "n": 4 + }, + { + "month": "2026-05", + "mean": 5.3, + "median": 5.3, + "p10": 4.7, + "p25": 4.7, + "p75": 5.9, + "p90": 5.9, + "n": 4 + } + ], + "n_batches": 50, + "n_movements": null, + "yield_summary": { + "median": 98.5, + "mean": 97.2, + "reference": 100.0, + "n": 50 + }, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 0.9, + "mean_slack": 5.1, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 0.9 + }, + "direct": { + "binding_share": 0.9, + "mean_slack": 7.2, + "next_bottleneck_days": 27.4, + "expected_marginal_per_day": 0.9 + }, + "hub-1": { + "binding_share": 0.9, + "mean_slack": 2.0, + "next_bottleneck_days": 31.3, + "expected_marginal_per_day": 0.9 + } + } + }, + { + "id": "intermed_dwell_green_blend", + "label": "Intermediate Dwell: Green Blend", + "type": "intermediate_dwell", + "material": "90000200001", + "plant": "PL-A", + "stats": { + "n": 73, + "mean": 20.5, + "median": 18.9, + "std": 10.6, + "min": 2.4, + "max": 64.9, + "p25": 15.3, + "p75": 22.4, + "p85": 24.1, + "p95": 43.7 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 87.7, + "cost": { + "unit_price": 14.75, + "currency": "CHF", + "mean_qty": 3200.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "n_events": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "n_events": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "n_events": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "n_events": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "n_events": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "n_events": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 249600.0 + } + ] + }, + "observations": [ + { + "date": "2022-05-05", + "value": 14.2 + }, + { + "date": "2022-05-15", + "value": 29.5 + }, + { + "date": "2022-05-22", + "value": 9.4 + }, + { + "date": "2022-11-03", + "value": 41.3 + }, + { + "date": "2022-11-10", + "value": 17.7 + }, + { + "date": "2022-11-18", + "value": 5.9 + }, + { + "date": "2022-11-25", + "value": 26.0 + }, + { + "date": "2023-05-08", + "value": 21.2 + }, + { + "date": "2023-05-15", + "value": 47.2 + }, + { + "date": "2023-05-22", + "value": 11.8 + }, + { + "date": "2023-11-06", + "value": 64.9 + }, + { + "date": "2023-11-13", + "value": 2.4 + }, + { + "date": "2023-11-20", + "value": 33.0 + }, + { + "date": "2023-11-27", + "value": 17.7 + }, + { + "date": "2023-11-30", + "value": 9.4 + }, + { + "date": "2024-05-06", + "value": 23.6 + }, + { + "date": "2024-05-13", + "value": 53.1 + }, + { + "date": "2024-05-20", + "value": 14.2 + }, + { + "date": "2024-05-27", + "value": 3.5 + }, + { + "date": "2024-11-04", + "value": 21.2 + }, + { + "date": "2024-11-11", + "value": 35.4 + }, + { + "date": "2024-11-18", + "value": 9.4 + }, + { + "date": "2025-05-05", + "value": 26.0 + }, + { + "date": "2025-05-09", + "value": 41.3 + }, + { + "date": "2025-05-13", + "value": 5.9 + }, + { + "date": "2025-05-17", + "value": 17.7 + }, + { + "date": "2025-05-21", + "value": 49.6 + }, + { + "date": "2025-05-25", + "value": 11.8 + }, + { + "date": "2025-09-05", + "value": 16.5 + }, + { + "date": "2025-09-11", + "value": 18.9 + }, + { + "date": "2025-09-17", + "value": 20.1 + }, + { + "date": "2025-09-23", + "value": 21.2 + }, + { + "date": "2025-09-29", + "value": 22.4 + }, + { + "date": "2025-10-06", + "value": 16.5 + }, + { + "date": "2025-10-12", + "value": 17.7 + }, + { + "date": "2025-10-18", + "value": 18.9 + }, + { + "date": "2025-10-24", + "value": 21.2 + }, + { + "date": "2025-10-30", + "value": 13.0 + }, + { + "date": "2025-11-04", + "value": 21.2 + }, + { + "date": "2025-11-10", + "value": 22.4 + }, + { + "date": "2025-11-16", + "value": 23.6 + }, + { + "date": "2025-11-22", + "value": 16.5 + }, + { + "date": "2025-11-28", + "value": 17.7 + }, + { + "date": "2025-12-05", + "value": 20.1 + }, + { + "date": "2025-12-11", + "value": 22.4 + }, + { + "date": "2025-12-17", + "value": 14.2 + }, + { + "date": "2025-12-23", + "value": 16.5 + }, + { + "date": "2025-12-29", + "value": 17.7 + }, + { + "date": "2026-01-06", + "value": 20.1 + }, + { + "date": "2026-01-12", + "value": 13.0 + }, + { + "date": "2026-01-18", + "value": 14.2 + }, + { + "date": "2026-01-24", + "value": 15.3 + }, + { + "date": "2026-01-30", + "value": 16.5 + }, + { + "date": "2026-02-04", + "value": 15.3 + }, + { + "date": "2026-02-10", + "value": 16.5 + }, + { + "date": "2026-02-16", + "value": 18.9 + }, + { + "date": "2026-02-22", + "value": 20.1 + }, + { + "date": "2026-02-28", + "value": 21.2 + }, + { + "date": "2026-03-05", + "value": 15.3 + }, + { + "date": "2026-03-11", + "value": 16.5 + }, + { + "date": "2026-03-17", + "value": 17.7 + }, + { + "date": "2026-03-23", + "value": 18.9 + }, + { + "date": "2026-03-29", + "value": 21.2 + }, + { + "date": "2026-04-06", + "value": 18.9 + }, + { + "date": "2026-04-12", + "value": 21.2 + }, + { + "date": "2026-04-18", + "value": 22.4 + }, + { + "date": "2026-04-24", + "value": 23.6 + }, + { + "date": "2026-04-30", + "value": 16.5 + }, + { + "date": "2026-05-04", + "value": 18.9 + }, + { + "date": "2026-05-10", + "value": 20.1 + }, + { + "date": "2026-05-16", + "value": 22.4 + }, + { + "date": "2026-05-22", + "value": 14.2 + }, + { + "date": "2026-05-28", + "value": 16.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 17.7, + "median": 14.2, + "p10": 10.4, + "p25": 11.8, + "p75": 21.8, + "p90": 26.4, + "n": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "mean": 22.8, + "median": 21.8, + "p10": 9.4, + "p25": 14.8, + "p75": 29.9, + "p90": 36.7, + "n": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "mean": 26.8, + "median": 21.2, + "p10": 13.7, + "p25": 16.5, + "p75": 34.2, + "p90": 42.0, + "n": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "mean": 25.5, + "median": 17.7, + "p10": 5.2, + "p25": 9.4, + "p75": 33.0, + "p90": 52.2, + "n": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "mean": 23.6, + "median": 18.9, + "p10": 6.7, + "p25": 11.6, + "p75": 31.0, + "p90": 44.2, + "n": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "mean": 22.1, + "median": 21.2, + "p10": 11.8, + "p25": 15.3, + "p75": 28.3, + "p90": 32.6, + "n": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "mean": 25.4, + "median": 21.8, + "p10": 8.8, + "p25": 13.3, + "p75": 37.5, + "p90": 45.4, + "n": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "mean": 19.8, + "median": 20.1, + "p10": 17.5, + "p25": 18.9, + "p75": 21.2, + "p90": 21.9, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "mean": 17.5, + "median": 17.7, + "p10": 14.4, + "p25": 16.5, + "p75": 18.9, + "p90": 20.3, + "n": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "mean": 20.3, + "median": 21.2, + "p10": 17.0, + "p25": 17.7, + "p75": 22.4, + "p90": 23.1, + "n": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "mean": 18.2, + "median": 17.7, + "p10": 15.1, + "p25": 16.5, + "p75": 20.1, + "p90": 21.5, + "n": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "mean": 15.8, + "median": 15.3, + "p10": 13.5, + "p25": 14.2, + "p75": 16.5, + "p90": 18.6, + "n": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "mean": 18.4, + "median": 18.9, + "p10": 15.8, + "p25": 16.5, + "p75": 20.1, + "p90": 20.8, + "n": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "mean": 17.9, + "median": 17.7, + "p10": 15.8, + "p25": 16.5, + "p75": 18.9, + "p90": 20.3, + "n": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "mean": 20.5, + "median": 21.2, + "p10": 17.5, + "p25": 18.9, + "p75": 22.4, + "p90": 23.1, + "n": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "mean": 18.4, + "median": 18.9, + "p10": 15.1, + "p25": 16.5, + "p75": 20.1, + "p90": 21.5, + "n": 5, + "total_kg_days": 249600.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 0.9, + "mean_slack": 5.1, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 0.9 + }, + "direct": { + "binding_share": 0.9, + "mean_slack": 7.2, + "next_bottleneck_days": 27.4, + "expected_marginal_per_day": 0.9 + }, + "hub-1": { + "binding_share": 0.9, + "mean_slack": 2.0, + "next_bottleneck_days": 31.3, + "expected_marginal_per_day": 0.9 + } + } + }, + { + "id": "prod_duration_harbor_dark_roast", + "label": "Production: Harbor Dark Roast", + "type": "production", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 58, + "mean": 3.8, + "median": 3.5, + "std": 1.7, + "min": 0.0, + "max": 11.8, + "p25": 3.5, + "p75": 4.7, + "p85": 4.7, + "p95": 6.1 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 5.2, + "cost": null, + "observations": [ + { + "date": "2022-05-20", + "value": 2.4 + }, + { + "date": "2022-06-10", + "value": 3.5 + }, + { + "date": "2022-07-15", + "value": 1.2 + }, + { + "date": "2022-08-22", + "value": 4.7 + }, + { + "date": "2022-10-05", + "value": 2.4 + }, + { + "date": "2022-11-18", + "value": 5.9 + }, + { + "date": "2023-01-10", + "value": 3.5 + }, + { + "date": "2023-03-25", + "value": 8.3 + }, + { + "date": "2023-05-12", + "value": 2.4 + }, + { + "date": "2023-07-08", + "value": 4.7 + }, + { + "date": "2023-09-15", + "value": 1.2 + }, + { + "date": "2023-11-22", + "value": 3.5 + }, + { + "date": "2024-01-18", + "value": 11.8 + }, + { + "date": "2024-03-08", + "value": 3.5 + }, + { + "date": "2024-05-15", + "value": 2.4 + }, + { + "date": "2024-07-22", + "value": 5.9 + }, + { + "date": "2024-09-10", + "value": 0.0 + }, + { + "date": "2024-11-05", + "value": 4.7 + }, + { + "date": "2025-01-15", + "value": 3.5 + }, + { + "date": "2025-03-20", + "value": 2.4 + }, + { + "date": "2025-05-28", + "value": 7.1 + }, + { + "date": "2025-08-05", + "value": 3.5 + }, + { + "date": "2025-09-05", + "value": 4.7 + }, + { + "date": "2025-09-11", + "value": 4.7 + }, + { + "date": "2025-09-17", + "value": 3.5 + }, + { + "date": "2025-09-23", + "value": 3.5 + }, + { + "date": "2025-10-06", + "value": 4.7 + }, + { + "date": "2025-10-12", + "value": 2.4 + }, + { + "date": "2025-10-18", + "value": 3.5 + }, + { + "date": "2025-10-24", + "value": 3.5 + }, + { + "date": "2025-11-04", + "value": 2.4 + }, + { + "date": "2025-11-10", + "value": 2.4 + }, + { + "date": "2025-11-16", + "value": 3.5 + }, + { + "date": "2025-11-22", + "value": 3.5 + }, + { + "date": "2025-12-05", + "value": 3.5 + }, + { + "date": "2025-12-11", + "value": 3.5 + }, + { + "date": "2025-12-17", + "value": 3.5 + }, + { + "date": "2025-12-23", + "value": 4.7 + }, + { + "date": "2026-01-06", + "value": 3.5 + }, + { + "date": "2026-01-12", + "value": 3.5 + }, + { + "date": "2026-01-18", + "value": 3.5 + }, + { + "date": "2026-01-24", + "value": 4.7 + }, + { + "date": "2026-02-04", + "value": 4.7 + }, + { + "date": "2026-02-10", + "value": 4.7 + }, + { + "date": "2026-02-16", + "value": 4.7 + }, + { + "date": "2026-02-22", + "value": 3.5 + }, + { + "date": "2026-03-05", + "value": 3.5 + }, + { + "date": "2026-03-11", + "value": 4.7 + }, + { + "date": "2026-03-17", + "value": 2.4 + }, + { + "date": "2026-03-23", + "value": 3.5 + }, + { + "date": "2026-04-06", + "value": 3.5 + }, + { + "date": "2026-04-12", + "value": 2.4 + }, + { + "date": "2026-04-18", + "value": 2.4 + }, + { + "date": "2026-04-24", + "value": 3.5 + }, + { + "date": "2026-05-04", + "value": 3.5 + }, + { + "date": "2026-05-10", + "value": 3.5 + }, + { + "date": "2026-05-16", + "value": 3.5 + }, + { + "date": "2026-05-22", + "value": 3.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2022-06", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2022-07", + "mean": 1.2, + "median": 1.2, + "p10": 1.2, + "p25": 1.2, + "p75": 1.2, + "p90": 1.2, + "n": 1 + }, + { + "month": "2022-08", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2022-11", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2023-01", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2023-03", + "mean": 8.3, + "median": 8.3, + "p10": 8.3, + "p25": 8.3, + "p75": 8.3, + "p90": 8.3, + "n": 1 + }, + { + "month": "2023-05", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2023-07", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2023-09", + "mean": 1.2, + "median": 1.2, + "p10": 1.2, + "p25": 1.2, + "p75": 1.2, + "p90": 1.2, + "n": 1 + }, + { + "month": "2023-11", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 11.8, + "median": 11.8, + "p10": 11.8, + "p25": 11.8, + "p75": 11.8, + "p90": 11.8, + "n": 1 + }, + { + "month": "2024-03", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2024-05", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2024-07", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2024-09", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2025-01", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2025-03", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2025-05", + "mean": 7.1, + "median": 7.1, + "p10": 7.1, + "p25": 7.1, + "p75": 7.1, + "p90": 7.1, + "n": 1 + }, + { + "month": "2025-08", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2025-09", + "mean": 4.1, + "median": 4.1, + "p10": 3.5, + "p25": 3.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2025-10", + "mean": 3.5, + "median": 3.5, + "p10": 2.7, + "p25": 3.3, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2025-11", + "mean": 2.9, + "median": 2.9, + "p10": 2.4, + "p25": 2.4, + "p75": 3.5, + "p90": 3.5, + "n": 4 + }, + { + "month": "2025-12", + "mean": 3.9, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2026-01", + "mean": 3.9, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2026-02", + "mean": 4.5, + "median": 4.7, + "p10": 3.9, + "p25": 4.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2026-03", + "mean": 3.5, + "median": 3.5, + "p10": 2.7, + "p25": 3.3, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2026-04", + "mean": 2.9, + "median": 2.9, + "p10": 2.4, + "p25": 2.4, + "p75": 3.5, + "p90": 3.5, + "n": 4 + }, + { + "month": "2026-05", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 4 + } + ], + "n_batches": 58, + "n_movements": null, + "yield_summary": { + "median": 99.2, + "mean": 98.5, + "reference": 100.0, + "n": 58 + }, + "consumption_summary": { + "median_variance": 2.1, + "mean_variance": 3.4, + "n_components": 3, + "n": 58 + }, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 4.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 3.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 4.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "prod_to_qa_pla", + "label": "Production \u2192 QA Release (PL-A)", + "type": "qa_hold", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 58, + "mean": 4.0, + "median": 3.5, + "std": 2.1, + "min": 0.0, + "max": 15.3, + "p25": 3.5, + "p75": 4.7, + "p85": 4.7, + "p95": 7.3 + }, + "plifz": 5, + "plifz_note": "WEBAZ (GR processing days)", + "pct_exceeding_plifz": 6.9, + "cost": null, + "observations": [ + { + "date": "2022-05-22", + "value": 2.4 + }, + { + "date": "2022-06-13", + "value": 1.2 + }, + { + "date": "2022-07-16", + "value": 3.5 + }, + { + "date": "2022-08-26", + "value": 2.4 + }, + { + "date": "2022-10-07", + "value": 5.9 + }, + { + "date": "2022-11-23", + "value": 2.4 + }, + { + "date": "2023-01-13", + "value": 4.7 + }, + { + "date": "2023-04-01", + "value": 3.5 + }, + { + "date": "2023-05-14", + "value": 7.1 + }, + { + "date": "2023-07-12", + "value": 2.4 + }, + { + "date": "2023-09-16", + "value": 15.3 + }, + { + "date": "2023-11-25", + "value": 3.5 + }, + { + "date": "2024-01-28", + "value": 8.3 + }, + { + "date": "2024-03-11", + "value": 1.2 + }, + { + "date": "2024-05-17", + "value": 4.7 + }, + { + "date": "2024-07-27", + "value": 5.9 + }, + { + "date": "2024-09-10", + "value": 2.4 + }, + { + "date": "2024-11-09", + "value": 0.0 + }, + { + "date": "2025-01-18", + "value": 3.5 + }, + { + "date": "2025-03-22", + "value": 9.4 + }, + { + "date": "2025-06-03", + "value": 2.4 + }, + { + "date": "2025-08-08", + "value": 5.9 + }, + { + "date": "2025-09-04", + "value": 2.4 + }, + { + "date": "2025-09-10", + "value": 3.5 + }, + { + "date": "2025-09-16", + "value": 3.5 + }, + { + "date": "2025-09-22", + "value": 3.5 + }, + { + "date": "2025-10-05", + "value": 3.5 + }, + { + "date": "2025-10-11", + "value": 3.5 + }, + { + "date": "2025-10-17", + "value": 4.7 + }, + { + "date": "2025-10-23", + "value": 4.7 + }, + { + "date": "2025-11-06", + "value": 3.5 + }, + { + "date": "2025-11-12", + "value": 3.5 + }, + { + "date": "2025-11-18", + "value": 3.5 + }, + { + "date": "2025-11-24", + "value": 4.7 + }, + { + "date": "2025-12-04", + "value": 3.5 + }, + { + "date": "2025-12-10", + "value": 3.5 + }, + { + "date": "2025-12-16", + "value": 3.5 + }, + { + "date": "2025-12-22", + "value": 2.4 + }, + { + "date": "2026-01-05", + "value": 4.7 + }, + { + "date": "2026-01-11", + "value": 4.7 + }, + { + "date": "2026-01-17", + "value": 3.5 + }, + { + "date": "2026-01-23", + "value": 3.5 + }, + { + "date": "2026-02-06", + "value": 4.7 + }, + { + "date": "2026-02-12", + "value": 2.4 + }, + { + "date": "2026-02-18", + "value": 3.5 + }, + { + "date": "2026-02-24", + "value": 3.5 + }, + { + "date": "2026-03-04", + "value": 3.5 + }, + { + "date": "2026-03-10", + "value": 3.5 + }, + { + "date": "2026-03-16", + "value": 3.5 + }, + { + "date": "2026-03-22", + "value": 4.7 + }, + { + "date": "2026-04-05", + "value": 3.5 + }, + { + "date": "2026-04-11", + "value": 3.5 + }, + { + "date": "2026-04-17", + "value": 3.5 + }, + { + "date": "2026-04-23", + "value": 3.5 + }, + { + "date": "2026-05-06", + "value": 3.5 + }, + { + "date": "2026-05-12", + "value": 3.5 + }, + { + "date": "2026-05-18", + "value": 3.5 + }, + { + "date": "2026-05-24", + "value": 3.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2022-06", + "mean": 1.2, + "median": 1.2, + "p10": 1.2, + "p25": 1.2, + "p75": 1.2, + "p90": 1.2, + "n": 1 + }, + { + "month": "2022-07", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2022-08", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2022-10", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2022-11", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2023-01", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2023-04", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2023-05", + "mean": 7.1, + "median": 7.1, + "p10": 7.1, + "p25": 7.1, + "p75": 7.1, + "p90": 7.1, + "n": 1 + }, + { + "month": "2023-07", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2023-09", + "mean": 15.3, + "median": 15.3, + "p10": 15.3, + "p25": 15.3, + "p75": 15.3, + "p90": 15.3, + "n": 1 + }, + { + "month": "2023-11", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 8.3, + "median": 8.3, + "p10": 8.3, + "p25": 8.3, + "p75": 8.3, + "p90": 8.3, + "n": 1 + }, + { + "month": "2024-03", + "mean": 1.2, + "median": 1.2, + "p10": 1.2, + "p25": 1.2, + "p75": 1.2, + "p90": 1.2, + "n": 1 + }, + { + "month": "2024-05", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2024-07", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2024-09", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2024-11", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2025-03", + "mean": 9.4, + "median": 9.4, + "p10": 9.4, + "p25": 9.4, + "p75": 9.4, + "p90": 9.4, + "n": 1 + }, + { + "month": "2025-06", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2025-08", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2025-09", + "mean": 3.3, + "median": 3.5, + "p10": 2.7, + "p25": 3.3, + "p75": 3.5, + "p90": 3.5, + "n": 4 + }, + { + "month": "2025-10", + "mean": 4.1, + "median": 4.1, + "p10": 3.5, + "p25": 3.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2025-11", + "mean": 3.9, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2025-12", + "mean": 3.3, + "median": 3.5, + "p10": 2.7, + "p25": 3.3, + "p75": 3.5, + "p90": 3.5, + "n": 4 + }, + { + "month": "2026-01", + "mean": 4.1, + "median": 4.1, + "p10": 3.5, + "p25": 3.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2026-02", + "mean": 3.5, + "median": 3.5, + "p10": 2.7, + "p25": 3.3, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2026-03", + "mean": 3.9, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2026-04", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 4 + }, + { + "month": "2026-05", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 4 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": { + "median": 99.2, + "mean": 98.5, + "reference": 100.0, + "n": 58 + }, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 7.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 7.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 6.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "post_qa_ship_pla", + "label": "Post-QA Dwell (PL-A)", + "type": "post_qa_ship", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 57, + "mean": 15.0, + "median": 14.2, + "std": 6.6, + "min": 2.4, + "max": 49.6, + "p25": 11.8, + "p75": 16.5, + "p85": 17.7, + "p95": 24.1 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "cost": { + "unit_price": 33.63, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2023-03", + "n_events": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "n_events": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "n_events": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 264000.0 + } + ] + }, + "observations": [ + { + "date": "2023-03-10", + "value": 9.4 + }, + { + "date": "2023-03-25", + "value": 26.0 + }, + { + "date": "2023-09-20", + "value": 49.6 + }, + { + "date": "2024-03-15", + "value": 7.1 + }, + { + "date": "2024-03-28", + "value": 21.2 + }, + { + "date": "2024-09-05", + "value": 33.0 + }, + { + "date": "2024-09-15", + "value": 14.2 + }, + { + "date": "2024-09-25", + "value": 2.4 + }, + { + "date": "2025-03-10", + "value": 17.7 + }, + { + "date": "2025-03-22", + "value": 5.9 + }, + { + "date": "2025-07-08", + "value": 23.6 + }, + { + "date": "2025-07-22", + "value": 4.7 + }, + { + "date": "2025-09-05", + "value": 16.5 + }, + { + "date": "2025-09-11", + "value": 17.7 + }, + { + "date": "2025-09-17", + "value": 11.8 + }, + { + "date": "2025-09-23", + "value": 13.0 + }, + { + "date": "2025-09-29", + "value": 14.2 + }, + { + "date": "2025-10-06", + "value": 16.5 + }, + { + "date": "2025-10-12", + "value": 9.4 + }, + { + "date": "2025-10-18", + "value": 11.8 + }, + { + "date": "2025-10-24", + "value": 13.0 + }, + { + "date": "2025-10-30", + "value": 13.0 + }, + { + "date": "2025-11-04", + "value": 11.8 + }, + { + "date": "2025-11-10", + "value": 14.2 + }, + { + "date": "2025-11-16", + "value": 14.2 + }, + { + "date": "2025-11-22", + "value": 15.3 + }, + { + "date": "2025-11-28", + "value": 16.5 + }, + { + "date": "2025-12-05", + "value": 11.8 + }, + { + "date": "2025-12-11", + "value": 13.0 + }, + { + "date": "2025-12-17", + "value": 14.2 + }, + { + "date": "2025-12-23", + "value": 15.3 + }, + { + "date": "2025-12-29", + "value": 16.5 + }, + { + "date": "2026-01-06", + "value": 15.3 + }, + { + "date": "2026-01-12", + "value": 16.5 + }, + { + "date": "2026-01-18", + "value": 17.7 + }, + { + "date": "2026-01-24", + "value": 18.9 + }, + { + "date": "2026-01-30", + "value": 13.0 + }, + { + "date": "2026-02-04", + "value": 15.3 + }, + { + "date": "2026-02-10", + "value": 16.5 + }, + { + "date": "2026-02-16", + "value": 17.7 + }, + { + "date": "2026-02-22", + "value": 11.8 + }, + { + "date": "2026-02-28", + "value": 13.0 + }, + { + "date": "2026-03-05", + "value": 15.3 + }, + { + "date": "2026-03-11", + "value": 16.5 + }, + { + "date": "2026-03-17", + "value": 9.4 + }, + { + "date": "2026-03-23", + "value": 11.8 + }, + { + "date": "2026-03-29", + "value": 13.0 + }, + { + "date": "2026-04-06", + "value": 18.9 + }, + { + "date": "2026-04-12", + "value": 11.8 + }, + { + "date": "2026-04-18", + "value": 14.2 + }, + { + "date": "2026-04-24", + "value": 14.2 + }, + { + "date": "2026-04-30", + "value": 15.3 + }, + { + "date": "2026-05-04", + "value": 10.6 + }, + { + "date": "2026-05-10", + "value": 11.8 + }, + { + "date": "2026-05-16", + "value": 13.0 + }, + { + "date": "2026-05-22", + "value": 14.2 + }, + { + "date": "2026-05-28", + "value": 15.3 + } + ], + "monthly": [ + { + "month": "2023-03", + "mean": 17.7, + "median": 17.7, + "p10": 11.1, + "p25": 13.6, + "p75": 21.8, + "p90": 24.3, + "n": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "mean": 49.6, + "median": 49.6, + "p10": 49.6, + "p25": 49.6, + "p75": 49.6, + "p90": 49.6, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "mean": 14.2, + "median": 14.2, + "p10": 8.5, + "p25": 10.6, + "p75": 17.7, + "p90": 19.8, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "mean": 16.5, + "median": 14.2, + "p10": 4.7, + "p25": 8.3, + "p75": 23.6, + "p90": 29.3, + "n": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "mean": 11.8, + "median": 11.8, + "p10": 7.1, + "p25": 8.8, + "p75": 14.8, + "p90": 16.5, + "n": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "mean": 14.2, + "median": 14.2, + "p10": 6.6, + "p25": 9.4, + "p75": 18.9, + "p90": 21.7, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "mean": 14.6, + "median": 14.2, + "p10": 12.3, + "p25": 13.0, + "p75": 16.5, + "p90": 17.2, + "n": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "mean": 12.7, + "median": 13.0, + "p10": 10.4, + "p25": 11.8, + "p75": 13.0, + "p90": 15.1, + "n": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "mean": 14.4, + "median": 14.2, + "p10": 12.7, + "p25": 14.2, + "p75": 15.3, + "p90": 16.0, + "n": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "mean": 14.2, + "median": 14.2, + "p10": 12.3, + "p25": 13.0, + "p75": 15.3, + "p90": 16.0, + "n": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "mean": 16.3, + "median": 16.5, + "p10": 13.9, + "p25": 15.3, + "p75": 17.7, + "p90": 18.4, + "n": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "mean": 14.9, + "median": 15.3, + "p10": 12.3, + "p25": 13.0, + "p75": 16.5, + "p90": 17.2, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "mean": 13.2, + "median": 13.0, + "p10": 10.4, + "p25": 11.8, + "p75": 15.3, + "p90": 16.0, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "mean": 14.9, + "median": 14.2, + "p10": 12.7, + "p25": 14.2, + "p75": 15.3, + "p90": 17.5, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "mean": 13.0, + "median": 13.0, + "p10": 11.1, + "p25": 11.8, + "p75": 14.2, + "p90": 14.9, + "n": 5, + "total_kg_days": 264000.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "direct_ship_pla", + "label": "Direct-to-Customer Ship", + "type": "transit", + "material": "90000300001", + "plant": "PL-A\u2192Customer", + "stats": { + "n": 35, + "mean": 24.7, + "median": 24.8, + "std": 5.4, + "min": 14.2, + "max": 44.8, + "p25": 21.8, + "p75": 27.1, + "p85": 29.4, + "p95": 31.4 + }, + "plifz": null, + "plifz_note": "No planning parameter set", + "pct_exceeding_plifz": null, + "cost": null, + "observations": [ + { + "date": "2023-04-05", + "value": 21.2 + }, + { + "date": "2023-10-12", + "value": 29.5 + }, + { + "date": "2024-04-08", + "value": 14.2 + }, + { + "date": "2024-09-20", + "value": 44.8 + }, + { + "date": "2024-10-15", + "value": 23.6 + }, + { + "date": "2025-03-25", + "value": 17.7 + }, + { + "date": "2025-04-10", + "value": 33.0 + }, + { + "date": "2025-07-30", + "value": 28.3 + }, + { + "date": "2025-09-04", + "value": 20.1 + }, + { + "date": "2025-09-10", + "value": 22.4 + }, + { + "date": "2025-09-16", + "value": 24.8 + }, + { + "date": "2025-10-05", + "value": 20.1 + }, + { + "date": "2025-10-11", + "value": 22.4 + }, + { + "date": "2025-10-17", + "value": 23.6 + }, + { + "date": "2025-11-06", + "value": 26.0 + }, + { + "date": "2025-11-12", + "value": 27.1 + }, + { + "date": "2025-11-18", + "value": 29.5 + }, + { + "date": "2025-12-04", + "value": 24.8 + }, + { + "date": "2025-12-10", + "value": 27.1 + }, + { + "date": "2025-12-16", + "value": 29.5 + }, + { + "date": "2026-01-05", + "value": 24.8 + }, + { + "date": "2026-01-11", + "value": 27.1 + }, + { + "date": "2026-01-17", + "value": 16.5 + }, + { + "date": "2026-02-06", + "value": 30.7 + }, + { + "date": "2026-02-12", + "value": 20.1 + }, + { + "date": "2026-02-18", + "value": 22.4 + }, + { + "date": "2026-03-04", + "value": 17.7 + }, + { + "date": "2026-03-10", + "value": 20.1 + }, + { + "date": "2026-03-16", + "value": 22.4 + }, + { + "date": "2026-04-05", + "value": 23.6 + }, + { + "date": "2026-04-11", + "value": 26.0 + }, + { + "date": "2026-04-17", + "value": 27.1 + }, + { + "date": "2026-05-06", + "value": 23.6 + }, + { + "date": "2026-05-12", + "value": 24.8 + }, + { + "date": "2026-05-18", + "value": 27.1 + } + ], + "monthly": [ + { + "month": "2023-04", + "mean": 21.2, + "median": 21.2, + "p10": 21.2, + "p25": 21.2, + "p75": 21.2, + "p90": 21.2, + "n": 1 + }, + { + "month": "2023-10", + "mean": 29.5, + "median": 29.5, + "p10": 29.5, + "p25": 29.5, + "p75": 29.5, + "p90": 29.5, + "n": 1 + }, + { + "month": "2024-04", + "mean": 14.2, + "median": 14.2, + "p10": 14.2, + "p25": 14.2, + "p75": 14.2, + "p90": 14.2, + "n": 1 + }, + { + "month": "2024-09", + "mean": 44.8, + "median": 44.8, + "p10": 44.8, + "p25": 44.8, + "p75": 44.8, + "p90": 44.8, + "n": 1 + }, + { + "month": "2024-10", + "mean": 23.6, + "median": 23.6, + "p10": 23.6, + "p25": 23.6, + "p75": 23.6, + "p90": 23.6, + "n": 1 + }, + { + "month": "2025-03", + "mean": 17.7, + "median": 17.7, + "p10": 17.7, + "p25": 17.7, + "p75": 17.7, + "p90": 17.7, + "n": 1 + }, + { + "month": "2025-04", + "mean": 33.0, + "median": 33.0, + "p10": 33.0, + "p25": 33.0, + "p75": 33.0, + "p90": 33.0, + "n": 1 + }, + { + "month": "2025-07", + "mean": 28.3, + "median": 28.3, + "p10": 28.3, + "p25": 28.3, + "p75": 28.3, + "p90": 28.3, + "n": 1 + }, + { + "month": "2025-09", + "mean": 22.4, + "median": 22.4, + "p10": 20.5, + "p25": 21.2, + "p75": 23.6, + "p90": 24.3, + "n": 3 + }, + { + "month": "2025-10", + "mean": 22.1, + "median": 22.4, + "p10": 20.5, + "p25": 21.2, + "p75": 23.0, + "p90": 23.4, + "n": 3 + }, + { + "month": "2025-11", + "mean": 27.5, + "median": 27.1, + "p10": 26.2, + "p25": 26.5, + "p75": 28.3, + "p90": 29.0, + "n": 3 + }, + { + "month": "2025-12", + "mean": 27.1, + "median": 27.1, + "p10": 25.3, + "p25": 26.0, + "p75": 28.3, + "p90": 29.0, + "n": 3 + }, + { + "month": "2026-01", + "mean": 22.8, + "median": 24.8, + "p10": 18.2, + "p25": 20.6, + "p75": 26.0, + "p90": 26.7, + "n": 3 + }, + { + "month": "2026-02", + "mean": 24.4, + "median": 22.4, + "p10": 20.5, + "p25": 21.2, + "p75": 26.5, + "p90": 29.0, + "n": 3 + }, + { + "month": "2026-03", + "mean": 20.1, + "median": 20.1, + "p10": 18.2, + "p25": 18.9, + "p75": 21.2, + "p90": 21.9, + "n": 3 + }, + { + "month": "2026-04", + "mean": 25.6, + "median": 26.0, + "p10": 24.1, + "p25": 24.8, + "p75": 26.5, + "p90": 26.9, + "n": 3 + }, + { + "month": "2026-05", + "mean": 25.1, + "median": 24.8, + "p10": 23.8, + "p25": 24.2, + "p75": 26.0, + "p90": 26.7, + "n": 3 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 22.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 22.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "transit_pla_hub1", + "label": "Transit PL-A \u2192 HUB-1", + "type": "transit", + "material": "90000300001", + "plant": "PL-A\u2192HUB-1", + "stats": { + "n": 42, + "mean": 36.9, + "median": 36.0, + "std": 8.4, + "min": 17.7, + "max": 64.9, + "p25": 31.9, + "p75": 42.5, + "p85": 44.8, + "p95": 49.4 + }, + "plifz": 28, + "plifz_note": null, + "pct_exceeding_plifz": 61.9, + "cost": null, + "observations": [ + { + "date": "2022-07-20", + "value": 33.0 + }, + { + "date": "2022-11-30", + "value": 41.3 + }, + { + "date": "2023-03-15", + "value": 26.0 + }, + { + "date": "2023-07-10", + "value": 49.6 + }, + { + "date": "2023-10-25", + "value": 35.4 + }, + { + "date": "2024-02-08", + "value": 64.9 + }, + { + "date": "2024-05-20", + "value": 29.5 + }, + { + "date": "2024-08-12", + "value": 44.8 + }, + { + "date": "2024-11-05", + "value": 17.7 + }, + { + "date": "2025-01-22", + "value": 37.8 + }, + { + "date": "2025-04-10", + "value": 33.0 + }, + { + "date": "2025-06-18", + "value": 53.1 + }, + { + "date": "2025-07-15", + "value": 35.4 + }, + { + "date": "2025-08-05", + "value": 26.0 + }, + { + "date": "2025-09-05", + "value": 42.5 + }, + { + "date": "2025-09-10", + "value": 44.8 + }, + { + "date": "2025-09-11", + "value": 46.0 + }, + { + "date": "2025-09-17", + "value": 30.7 + }, + { + "date": "2025-10-06", + "value": 42.5 + }, + { + "date": "2025-10-12", + "value": 27.1 + }, + { + "date": "2025-10-18", + "value": 30.7 + }, + { + "date": "2025-11-04", + "value": 31.9 + }, + { + "date": "2025-11-10", + "value": 36.6 + }, + { + "date": "2025-11-16", + "value": 38.9 + }, + { + "date": "2025-12-05", + "value": 31.9 + }, + { + "date": "2025-12-11", + "value": 34.2 + }, + { + "date": "2025-12-17", + "value": 37.8 + }, + { + "date": "2026-01-06", + "value": 30.7 + }, + { + "date": "2026-01-12", + "value": 34.2 + }, + { + "date": "2026-01-18", + "value": 36.6 + }, + { + "date": "2026-02-04", + "value": 38.9 + }, + { + "date": "2026-02-10", + "value": 42.5 + }, + { + "date": "2026-02-16", + "value": 46.0 + }, + { + "date": "2026-03-05", + "value": 38.9 + }, + { + "date": "2026-03-11", + "value": 42.5 + }, + { + "date": "2026-03-17", + "value": 27.1 + }, + { + "date": "2026-04-06", + "value": 47.2 + }, + { + "date": "2026-04-12", + "value": 31.9 + }, + { + "date": "2026-04-18", + "value": 36.6 + }, + { + "date": "2026-05-04", + "value": 28.3 + }, + { + "date": "2026-05-10", + "value": 31.9 + }, + { + "date": "2026-05-16", + "value": 34.2 + } + ], + "monthly": [ + { + "month": "2022-07", + "mean": 33.0, + "median": 33.0, + "p10": 33.0, + "p25": 33.0, + "p75": 33.0, + "p90": 33.0, + "n": 1 + }, + { + "month": "2022-11", + "mean": 41.3, + "median": 41.3, + "p10": 41.3, + "p25": 41.3, + "p75": 41.3, + "p90": 41.3, + "n": 1 + }, + { + "month": "2023-03", + "mean": 26.0, + "median": 26.0, + "p10": 26.0, + "p25": 26.0, + "p75": 26.0, + "p90": 26.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 49.6, + "median": 49.6, + "p10": 49.6, + "p25": 49.6, + "p75": 49.6, + "p90": 49.6, + "n": 1 + }, + { + "month": "2023-10", + "mean": 35.4, + "median": 35.4, + "p10": 35.4, + "p25": 35.4, + "p75": 35.4, + "p90": 35.4, + "n": 1 + }, + { + "month": "2024-02", + "mean": 64.9, + "median": 64.9, + "p10": 64.9, + "p25": 64.9, + "p75": 64.9, + "p90": 64.9, + "n": 1 + }, + { + "month": "2024-05", + "mean": 29.5, + "median": 29.5, + "p10": 29.5, + "p25": 29.5, + "p75": 29.5, + "p90": 29.5, + "n": 1 + }, + { + "month": "2024-08", + "mean": 44.8, + "median": 44.8, + "p10": 44.8, + "p25": 44.8, + "p75": 44.8, + "p90": 44.8, + "n": 1 + }, + { + "month": "2024-11", + "mean": 17.7, + "median": 17.7, + "p10": 17.7, + "p25": 17.7, + "p75": 17.7, + "p90": 17.7, + "n": 1 + }, + { + "month": "2025-01", + "mean": 37.8, + "median": 37.8, + "p10": 37.8, + "p25": 37.8, + "p75": 37.8, + "p90": 37.8, + "n": 1 + }, + { + "month": "2025-04", + "mean": 33.0, + "median": 33.0, + "p10": 33.0, + "p25": 33.0, + "p75": 33.0, + "p90": 33.0, + "n": 1 + }, + { + "month": "2025-06", + "mean": 53.1, + "median": 53.1, + "p10": 53.1, + "p25": 53.1, + "p75": 53.1, + "p90": 53.1, + "n": 1 + }, + { + "month": "2025-07", + "mean": 35.4, + "median": 35.4, + "p10": 35.4, + "p25": 35.4, + "p75": 35.4, + "p90": 35.4, + "n": 1 + }, + { + "month": "2025-08", + "mean": 26.0, + "median": 26.0, + "p10": 26.0, + "p25": 26.0, + "p75": 26.0, + "p90": 26.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 41.1, + "median": 43.7, + "p10": 34.2, + "p25": 39.5, + "p75": 45.2, + "p90": 45.7, + "n": 4 + }, + { + "month": "2025-10", + "mean": 33.4, + "median": 30.7, + "p10": 27.8, + "p25": 28.9, + "p75": 36.6, + "p90": 40.1, + "n": 3 + }, + { + "month": "2025-11", + "mean": 35.8, + "median": 36.6, + "p10": 32.8, + "p25": 34.2, + "p75": 37.8, + "p90": 38.5, + "n": 3 + }, + { + "month": "2025-12", + "mean": 34.6, + "median": 34.2, + "p10": 32.3, + "p25": 33.0, + "p75": 36.0, + "p90": 37.1, + "n": 3 + }, + { + "month": "2026-01", + "mean": 33.9, + "median": 34.2, + "p10": 31.4, + "p25": 32.4, + "p75": 35.4, + "p90": 36.1, + "n": 3 + }, + { + "month": "2026-02", + "mean": 42.5, + "median": 42.5, + "p10": 39.6, + "p25": 40.7, + "p75": 44.2, + "p90": 45.3, + "n": 3 + }, + { + "month": "2026-03", + "mean": 36.2, + "median": 38.9, + "p10": 29.5, + "p25": 33.0, + "p75": 40.7, + "p90": 41.8, + "n": 3 + }, + { + "month": "2026-04", + "mean": 38.6, + "median": 36.6, + "p10": 32.8, + "p25": 34.2, + "p75": 41.9, + "p90": 45.1, + "n": 3 + }, + { + "month": "2026-05", + "mean": 31.5, + "median": 31.9, + "p10": 29.0, + "p25": 30.1, + "p75": 33.0, + "p90": 33.7, + "n": 3 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "dest_dwell_hub1", + "label": "Destination Dwell (HUB-1)", + "type": "destination_dwell", + "material": "90000300001", + "plant": "HUB-1", + "stats": { + "n": 37, + "mean": 53.1, + "median": 51.9, + "std": 16.5, + "min": 11.8, + "max": 112.1, + "p25": 42.5, + "p75": 57.8, + "p85": 62.5, + "p95": 79.8 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "cost": { + "unit_price": 33.63, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2022-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "n_events": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "n_events": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "n_events": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "n_events": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "n_events": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "n_events": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "n_events": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "n_events": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "n_events": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "n_events": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "n_events": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "n_events": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "n_events": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "n_events": 3, + "total_kg_days": 585600.0 + } + ] + }, + "observations": [ + { + "date": "2022-09-15", + "value": 49.6 + }, + { + "date": "2023-05-05", + "value": 76.7 + }, + { + "date": "2023-05-20", + "value": 33.0 + }, + { + "date": "2024-01-10", + "value": 112.1 + }, + { + "date": "2024-01-25", + "value": 41.3 + }, + { + "date": "2024-08-15", + "value": 11.8 + }, + { + "date": "2025-02-05", + "value": 92.0 + }, + { + "date": "2025-02-18", + "value": 64.9 + }, + { + "date": "2025-08-10", + "value": 49.6 + }, + { + "date": "2025-08-20", + "value": 37.8 + }, + { + "date": "2025-09-06", + "value": 46.0 + }, + { + "date": "2025-09-12", + "value": 49.6 + }, + { + "date": "2025-09-18", + "value": 54.3 + }, + { + "date": "2025-10-04", + "value": 57.8 + }, + { + "date": "2025-10-10", + "value": 62.5 + }, + { + "date": "2025-10-16", + "value": 67.3 + }, + { + "date": "2025-11-05", + "value": 56.6 + }, + { + "date": "2025-11-11", + "value": 61.4 + }, + { + "date": "2025-11-17", + "value": 40.1 + }, + { + "date": "2025-12-06", + "value": 56.6 + }, + { + "date": "2025-12-12", + "value": 35.4 + }, + { + "date": "2025-12-18", + "value": 40.1 + }, + { + "date": "2026-01-04", + "value": 42.5 + }, + { + "date": "2026-01-10", + "value": 48.4 + }, + { + "date": "2026-01-16", + "value": 50.7 + }, + { + "date": "2026-02-05", + "value": 42.5 + }, + { + "date": "2026-02-11", + "value": 46.0 + }, + { + "date": "2026-02-17", + "value": 49.6 + }, + { + "date": "2026-03-06", + "value": 54.3 + }, + { + "date": "2026-03-12", + "value": 57.8 + }, + { + "date": "2026-03-18", + "value": 62.5 + }, + { + "date": "2026-04-04", + "value": 53.1 + }, + { + "date": "2026-04-10", + "value": 56.6 + }, + { + "date": "2026-04-16", + "value": 61.4 + }, + { + "date": "2026-05-05", + "value": 51.9 + }, + { + "date": "2026-05-11", + "value": 56.6 + }, + { + "date": "2026-05-17", + "value": 35.4 + } + ], + "monthly": [ + { + "month": "2022-09", + "mean": 49.6, + "median": 49.6, + "p10": 49.6, + "p25": 49.6, + "p75": 49.6, + "p90": 49.6, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "mean": 54.9, + "median": 54.9, + "p10": 37.4, + "p25": 44.0, + "p75": 65.8, + "p90": 72.3, + "n": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "mean": 76.7, + "median": 76.7, + "p10": 48.4, + "p25": 59.0, + "p75": 94.4, + "p90": 105.0, + "n": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "mean": 11.8, + "median": 11.8, + "p10": 11.8, + "p25": 11.8, + "p75": 11.8, + "p90": 11.8, + "n": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "mean": 78.5, + "median": 78.5, + "p10": 67.6, + "p25": 71.7, + "p75": 85.3, + "p90": 89.3, + "n": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "mean": 43.7, + "median": 43.7, + "p10": 38.9, + "p25": 40.7, + "p75": 46.6, + "p90": 48.4, + "n": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "mean": 49.9, + "median": 49.6, + "p10": 46.7, + "p25": 47.8, + "p75": 51.9, + "p90": 53.3, + "n": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "mean": 62.5, + "median": 62.5, + "p10": 58.8, + "p25": 60.2, + "p75": 64.9, + "p90": 66.3, + "n": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "mean": 52.7, + "median": 56.6, + "p10": 43.4, + "p25": 48.4, + "p75": 59.0, + "p90": 60.4, + "n": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "mean": 44.0, + "median": 40.1, + "p10": 36.3, + "p25": 37.8, + "p75": 48.4, + "p90": 53.3, + "n": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "mean": 47.2, + "median": 48.4, + "p10": 43.7, + "p25": 45.4, + "p75": 49.6, + "p90": 50.3, + "n": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "mean": 46.0, + "median": 46.0, + "p10": 43.2, + "p25": 44.2, + "p75": 47.8, + "p90": 48.9, + "n": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "mean": 58.2, + "median": 57.8, + "p10": 55.0, + "p25": 56.0, + "p75": 60.2, + "p90": 61.6, + "n": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "mean": 57.0, + "median": 56.6, + "p10": 53.8, + "p25": 54.9, + "p75": 59.0, + "p90": 60.4, + "n": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "mean": 48.0, + "median": 51.9, + "p10": 38.7, + "p25": 43.7, + "p75": 54.3, + "p90": 55.7, + "n": 3, + "total_kg_days": 585600.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 45.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 45.0, + "expected_marginal_per_day": 1.0 + } + } + } + ], + "edges": [ + { + "source": "procurement_highland_arabica", + "target": "raw_dwell_highland_arabica", + "label": "101" + }, + { + "source": "procurement_lowland_robusta", + "target": "raw_dwell_lowland_robusta", + "label": "101" + }, + { + "source": "procurement_washed_bourbon", + "target": "raw_dwell_washed_bourbon", + "label": "101" + }, + { + "source": "raw_dwell_highland_arabica", + "target": "prod_duration_green_blend", + "label": "261" + }, + { + "source": "raw_dwell_lowland_robusta", + "target": "prod_duration_green_blend", + "label": "261" + }, + { + "source": "prod_duration_green_blend", + "target": "intermed_dwell_green_blend", + "label": "101" + }, + { + "source": "raw_dwell_washed_bourbon", + "target": "prod_duration_harbor_dark_roast", + "label": "261" + }, + { + "source": "intermed_dwell_green_blend", + "target": "prod_duration_harbor_dark_roast", + "label": "261" + }, + { + "source": "prod_duration_harbor_dark_roast", + "target": "prod_to_qa_pla", + "label": "101" + }, + { + "source": "post_qa_ship_pla", + "target": "direct_ship_pla", + "label": "601" + }, + { + "source": "post_qa_ship_pla", + "target": "transit_pla_hub1", + "label": "641" + }, + { + "source": "transit_pla_hub1", + "target": "dest_dwell_hub1" + }, + { + "source": "prod_to_qa_pla", + "target": "post_qa_ship_pla" + } + ], + "pipeline_summary": { + "direct": { + "label": "Direct to customer", + "stages": [ + { + "id": "seg_proc_to_prodstart", + "label": "Procurement \u2192 Production Start", + "type": "procurement", + "mean": 29.9, + "median": 30, + "pct_of_total": 17.6, + "n": 60 + }, + { + "id": "seg_prodstart_to_prodfinish", + "label": "Production Start \u2192 Production Finish", + "type": "production", + "mean": 99.8, + "median": 101, + "pct_of_total": 58.9, + "n": 60 + }, + { + "id": "seg_prodfinish_to_qa", + "label": "Production Finish \u2192 QA Release", + "type": "qa_hold", + "mean": 6.6, + "median": 7, + "pct_of_total": 3.9, + "n": 60 + }, + { + "id": "seg_qa_to_customer", + "label": "QA Release \u2192 Customer", + "type": "transit", + "mean": 33.2, + "median": 33, + "pct_of_total": 19.6, + "n": 60 + } + ], + "total_mean": 169.5, + "total_median": 171 + }, + "hub-1": { + "label": "HUB-1", + "stages": [ + { + "id": "seg_proc_to_prodstart", + "label": "Procurement \u2192 Production Start", + "type": "procurement", + "mean": 28.4, + "median": 29, + "pct_of_total": 12.8, + "n": 40 + }, + { + "id": "seg_prodstart_to_prodfinish", + "label": "Production Start \u2192 Production Finish", + "type": "production", + "mean": 102.1, + "median": 104, + "pct_of_total": 46.1, + "n": 40 + }, + { + "id": "seg_prodfinish_to_qa", + "label": "Production Finish \u2192 QA Release", + "type": "qa_hold", + "mean": 6.2, + "median": 6, + "pct_of_total": 2.8, + "n": 40 + }, + { + "id": "seg_qa_to_customer", + "label": "QA Release \u2192 Customer", + "type": "transit", + "mean": 84.8, + "median": 88, + "pct_of_total": 38.3, + "n": 40 + } + ], + "total_mean": 221.5, + "total_median": 227 + } + }, + "annotations": [ + { + "date": "2023-09-01", + "label": "Supplier change for Highland Arabica", + "step_ids": ["procurement_highland_arabica", "raw_dwell_highland_arabica"] + }, + { + "date": "2024-01-15", + "label": "QA process revision", + "step_ids": ["qa_hold_pla"] + } + ], + "batch_timelines": { + "batches": [ + { + "batch": "BATCH-007069", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-05-27", + "earliest_gr_date": "2024-05-29", + "earliest_production_start": "2024-07-03", + "fg_receipt_date": "2024-10-28", + "qa_release_date": "2024-11-03", + "ship_date": null, + "delivery_date": "2024-12-10", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 37, + "seg_prodstart_to_prodfinish": 117, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 37, + "total_days": 197, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 94, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 112, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 70, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 39, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 52, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 14, + "direct_ship_pla": 23 + } + }, + "total_from_po": 197 + }, + { + "batch": "BATCH-767678", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-13", + "earliest_gr_date": "2024-07-15", + "earliest_production_start": "2024-07-29", + "fg_receipt_date": "2024-11-05", + "qa_release_date": "2024-11-09", + "ship_date": null, + "delivery_date": "2024-12-15", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 16, + "seg_prodstart_to_prodfinish": 99, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 36, + "total_days": 155, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 14, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 83, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 97, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 55, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 14, + "direct_ship_pla": 22 + } + }, + "total_from_po": 155 + }, + { + "batch": "BATCH-872783", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-25", + "earliest_gr_date": "2024-07-27", + "earliest_production_start": "2024-08-19", + "fg_receipt_date": "2024-11-08", + "qa_release_date": "2024-11-15", + "ship_date": null, + "delivery_date": "2024-12-20", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 81, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 35, + "total_days": 148, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 58, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 78, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 34, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 45, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "direct_ship_pla": 25 + } + }, + "total_from_po": 148 + }, + { + "batch": "BATCH-868247", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-20", + "earliest_gr_date": "2024-07-22", + "earliest_production_start": "2024-08-24", + "fg_receipt_date": "2024-11-10", + "qa_release_date": "2024-11-19", + "ship_date": null, + "delivery_date": "2024-12-26", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 78, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 37, + "total_days": 159, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 14, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 61, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 75, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 17, + "direct_ship_pla": 20 + } + }, + "total_from_po": 159 + }, + { + "batch": "BATCH-775611", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-22", + "earliest_gr_date": "2024-07-24", + "earliest_production_start": "2024-08-19", + "fg_receipt_date": "2024-11-22", + "qa_release_date": "2024-11-30", + "ship_date": null, + "delivery_date": "2024-12-31", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 95, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 31, + "total_days": 162, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 8, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 82, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 90, + "production_days": 8, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 64, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 74, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 68, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 16, + "direct_ship_pla": 15 + } + }, + "total_from_po": 162 + }, + { + "batch": "BATCH-544789", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-08", + "earliest_gr_date": "2024-07-10", + "earliest_production_start": "2024-08-05", + "fg_receipt_date": "2024-12-05", + "qa_release_date": "2024-12-12", + "ship_date": null, + "delivery_date": "2025-01-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 122, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 25, + "total_days": 182, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 24, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 94, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 118, + "production_days": 24, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 7, + "direct_ship_pla": 18 + } + }, + "total_from_po": 182 + }, + { + "batch": "BATCH-447665", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-14", + "earliest_gr_date": "2024-07-16", + "earliest_production_start": "2024-08-19", + "fg_receipt_date": "2024-12-05", + "qa_release_date": "2024-12-11", + "ship_date": null, + "delivery_date": "2025-01-11", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 36, + "seg_prodstart_to_prodfinish": 108, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 31, + "total_days": 181, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 24, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 81, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 24, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 63, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 16, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 63, + "production_days": 16, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 13, + "direct_ship_pla": 18 + } + }, + "total_from_po": 181 + }, + { + "batch": "BATCH-963613", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-24", + "earliest_gr_date": "2024-07-26", + "earliest_production_start": "2024-08-26", + "fg_receipt_date": "2024-12-12", + "qa_release_date": "2024-12-19", + "ship_date": null, + "delivery_date": "2025-01-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 108, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 29, + "total_days": 177, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 83, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 104, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 71, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "direct_ship_pla": 19 + } + }, + "total_from_po": 177 + }, + { + "batch": "BATCH-863299", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-08-05", + "earliest_gr_date": "2024-08-07", + "earliest_production_start": "2024-08-30", + "fg_receipt_date": "2024-12-21", + "qa_release_date": "2024-12-27", + "ship_date": null, + "delivery_date": "2025-01-22", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 26, + "total_days": 170, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 26, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 84, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 110, + "production_days": 26, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 69, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 14 + } + }, + "total_from_po": 170 + }, + { + "batch": "BATCH-528145", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-08-22", + "earliest_gr_date": "2024-08-24", + "earliest_production_start": "2024-09-11", + "fg_receipt_date": "2024-12-24", + "qa_release_date": "2024-12-30", + "ship_date": null, + "delivery_date": "2025-01-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 20, + "seg_prodstart_to_prodfinish": 104, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 29, + "total_days": 159, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 12, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 90, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 102, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 58, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 17 + } + }, + "total_from_po": 159 + }, + { + "batch": "BATCH-242499", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-08-17", + "earliest_gr_date": "2024-08-19", + "earliest_production_start": "2024-09-16", + "fg_receipt_date": "2024-12-26", + "qa_release_date": "2024-12-31", + "ship_date": null, + "delivery_date": "2025-02-02", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 101, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 33, + "total_days": 169, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 77, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 11, + "direct_ship_pla": 22 + } + }, + "total_from_po": 169 + }, + { + "batch": "BATCH-576635", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-29", + "earliest_gr_date": "2024-10-01", + "earliest_production_start": "2024-10-26", + "fg_receipt_date": "2024-12-31", + "qa_release_date": "2025-01-07", + "ship_date": null, + "delivery_date": "2025-02-08", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 27, + "seg_prodstart_to_prodfinish": 66, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 32, + "total_days": 132, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 47, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 64, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 57, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 8, + "direct_ship_pla": 24 + } + }, + "total_from_po": 132 + }, + { + "batch": "BATCH-221460", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-24", + "earliest_gr_date": "2024-07-26", + "earliest_production_start": "2024-08-28", + "fg_receipt_date": "2025-01-01", + "qa_release_date": "2025-01-08", + "ship_date": null, + "delivery_date": "2025-02-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 126, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 36, + "total_days": 204, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 99, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 120, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 66, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 78, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 6, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 13, + "direct_ship_pla": 23 + } + }, + "total_from_po": 204 + }, + { + "batch": "BATCH-666578", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-10", + "earliest_gr_date": "2024-09-12", + "earliest_production_start": "2024-10-06", + "fg_receipt_date": "2025-01-10", + "qa_release_date": "2025-01-18", + "ship_date": null, + "delivery_date": "2025-02-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 96, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 31, + "total_days": 161, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 11, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 82, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 63, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 9, + "direct_ship_pla": 22 + } + }, + "total_from_po": 161 + }, + { + "batch": "BATCH-208118", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-05", + "earliest_gr_date": "2024-09-07", + "earliest_production_start": "2024-10-19", + "fg_receipt_date": "2025-01-11", + "qa_release_date": "2025-01-19", + "ship_date": null, + "delivery_date": "2025-02-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 44, + "seg_prodstart_to_prodfinish": 84, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 36, + "total_days": 172, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 51, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 67, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 69, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 82, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 7, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 31, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 38, + "production_days": 7, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 15, + "direct_ship_pla": 21 + } + }, + "total_from_po": 172 + }, + { + "batch": "BATCH-458243", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-05", + "earliest_gr_date": "2024-09-07", + "earliest_production_start": "2024-10-04", + "fg_receipt_date": "2025-01-22", + "qa_release_date": "2025-01-29", + "ship_date": null, + "delivery_date": "2025-03-01", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 31, + "total_days": 177, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 106, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 69, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 9, + "direct_ship_pla": 22 + } + }, + "total_from_po": 177 + }, + { + "batch": "BATCH-207730", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-16", + "earliest_gr_date": "2024-09-18", + "earliest_production_start": "2024-10-14", + "fg_receipt_date": "2025-01-18", + "qa_release_date": "2025-01-22", + "ship_date": null, + "delivery_date": "2025-03-07", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 96, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 44, + "total_days": 172, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 77, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 92, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 74, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 8, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 68, + "production_days": 8, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 16, + "direct_ship_pla": 28 + } + }, + "total_from_po": 172 + }, + { + "batch": "BATCH-033995", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-08-27", + "earliest_gr_date": "2024-08-29", + "earliest_production_start": "2024-09-30", + "fg_receipt_date": "2025-01-22", + "qa_release_date": "2025-01-30", + "ship_date": null, + "delivery_date": "2025-03-12", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 34, + "seg_prodstart_to_prodfinish": 114, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 41, + "total_days": 197, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 93, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 111, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 18, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 70, + "production_days": 18, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 17, + "direct_ship_pla": 24 + } + }, + "total_from_po": 197 + }, + { + "batch": "BATCH-559161", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-10", + "earliest_gr_date": "2024-09-12", + "earliest_production_start": "2024-10-16", + "fg_receipt_date": "2025-02-14", + "qa_release_date": "2025-02-19", + "ship_date": null, + "delivery_date": "2025-03-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 36, + "seg_prodstart_to_prodfinish": 121, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 27, + "total_days": 189, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 99, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 117, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 73, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 15, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 15, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 10, + "direct_ship_pla": 17 + } + }, + "total_from_po": 189 + }, + { + "batch": "BATCH-043249", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-28", + "earliest_gr_date": "2024-09-30", + "earliest_production_start": "2024-10-27", + "fg_receipt_date": "2025-02-12", + "qa_release_date": "2025-02-15", + "ship_date": null, + "delivery_date": "2025-03-23", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 108, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 36, + "total_days": 176, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 86, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 36, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 50, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 12, + "direct_ship_pla": 24 + } + }, + "total_from_po": 176 + }, + { + "batch": "BATCH-876661", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-10-05", + "earliest_gr_date": "2024-10-07", + "earliest_production_start": "2024-11-06", + "fg_receipt_date": "2025-02-04", + "qa_release_date": "2025-02-11", + "ship_date": null, + "delivery_date": "2025-03-29", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 32, + "seg_prodstart_to_prodfinish": 90, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 46, + "total_days": 175, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 13, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 73, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 86, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 15, + "direct_ship_pla": 31 + } + }, + "total_from_po": 175 + }, + { + "batch": "BATCH-758211", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-24", + "earliest_gr_date": "2024-09-26", + "earliest_production_start": "2024-10-24", + "fg_receipt_date": "2025-02-22", + "qa_release_date": "2025-03-01", + "ship_date": null, + "delivery_date": "2025-04-03", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 121, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 33, + "total_days": 191, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 100, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 117, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "direct_ship_pla": 23 + } + }, + "total_from_po": 191 + }, + { + "batch": "BATCH-198568", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-10-07", + "earliest_gr_date": "2024-10-09", + "earliest_production_start": "2024-10-29", + "fg_receipt_date": "2025-02-21", + "qa_release_date": "2025-03-02", + "ship_date": null, + "delivery_date": "2025-04-09", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 22, + "seg_prodstart_to_prodfinish": 115, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 38, + "total_days": 184, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 89, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 110, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 64, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 79, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 78, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 91, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 13, + "direct_ship_pla": 25 + } + }, + "total_from_po": 184 + }, + { + "batch": "BATCH-499114", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-20", + "earliest_gr_date": "2024-11-22", + "earliest_production_start": "2024-12-17", + "fg_receipt_date": "2025-03-05", + "qa_release_date": "2025-03-14", + "ship_date": null, + "delivery_date": "2025-04-14", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 27, + "seg_prodstart_to_prodfinish": 78, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 31, + "total_days": 145, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 52, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 70, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 33, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 44, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 16, + "direct_ship_pla": 15 + } + }, + "total_from_po": 145 + }, + { + "batch": "BATCH-947566", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-10-15", + "earliest_gr_date": "2024-10-17", + "earliest_production_start": "2024-11-17", + "fg_receipt_date": "2025-03-07", + "qa_release_date": "2025-03-10", + "ship_date": null, + "delivery_date": "2025-04-19", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 40, + "total_days": 186, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 86, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 104, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 62, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 6, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 14, + "direct_ship_pla": 26 + } + }, + "total_from_po": 186 + }, + { + "batch": "BATCH-154390", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-10-25", + "earliest_gr_date": "2024-10-27", + "earliest_production_start": "2024-11-27", + "fg_receipt_date": "2025-03-10", + "qa_release_date": "2025-03-16", + "ship_date": null, + "delivery_date": "2025-04-25", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 103, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 40, + "total_days": 182, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 22, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 77, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 99, + "production_days": 22, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 67, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 82, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 44, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 57, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 28 + } + }, + "total_from_po": 182 + }, + { + "batch": "BATCH-557064", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-01", + "earliest_gr_date": "2024-12-03", + "earliest_production_start": "2025-01-02", + "fg_receipt_date": "2025-03-29", + "qa_release_date": "2025-04-05", + "ship_date": null, + "delivery_date": "2025-04-30", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 32, + "seg_prodstart_to_prodfinish": 86, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 25, + "total_days": 150, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 64, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 82, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 60, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 8, + "direct_ship_pla": 17 + } + }, + "total_from_po": 150 + }, + { + "batch": "BATCH-307333", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-17", + "earliest_gr_date": "2024-11-19", + "earliest_production_start": "2024-12-15", + "fg_receipt_date": "2025-03-27", + "qa_release_date": "2025-04-04", + "ship_date": null, + "delivery_date": "2025-05-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 102, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 32, + "total_days": 170, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 81, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 73, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 88, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 36, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 49, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 16, + "direct_ship_pla": 16 + } + }, + "total_from_po": 170 + }, + { + "batch": "BATCH-891817", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-02", + "earliest_gr_date": "2024-12-04", + "earliest_production_start": "2024-12-16", + "fg_receipt_date": "2025-03-30", + "qa_release_date": "2025-04-07", + "ship_date": null, + "delivery_date": "2025-05-11", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 14, + "seg_prodstart_to_prodfinish": 104, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 34, + "total_days": 160, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 82, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 100, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 62, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 65, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 76, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 9, + "direct_ship_pla": 25 + } + }, + "total_from_po": 160 + }, + { + "batch": "BATCH-852390", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-24", + "earliest_gr_date": "2024-11-26", + "earliest_production_start": "2024-12-29", + "fg_receipt_date": "2025-03-29", + "qa_release_date": "2025-04-06", + "ship_date": null, + "delivery_date": "2025-05-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 90, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 41, + "total_days": 174, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 70, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 86, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 37, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 52, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 14, + "direct_ship_pla": 27 + } + }, + "total_from_po": 174 + }, + { + "batch": "BATCH-412722", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-31", + "earliest_gr_date": "2025-01-02", + "earliest_production_start": "2025-01-21", + "fg_receipt_date": "2025-04-15", + "qa_release_date": "2025-04-20", + "ship_date": null, + "delivery_date": "2025-05-22", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 21, + "seg_prodstart_to_prodfinish": 84, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 32, + "total_days": 142, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 49, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 70, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 64, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 81, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 56, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 9, + "direct_ship_pla": 23 + } + }, + "total_from_po": 142 + }, + { + "batch": "BATCH-357156", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-08", + "earliest_gr_date": "2024-11-10", + "earliest_production_start": "2024-12-13", + "fg_receipt_date": "2025-04-05", + "qa_release_date": "2025-04-13", + "ship_date": null, + "delivery_date": "2025-05-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 45, + "total_days": 201, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 89, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 110, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 72, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 83, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 60, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 14, + "direct_ship_pla": 31 + } + }, + "total_from_po": 201 + }, + { + "batch": "BATCH-851698", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-04", + "earliest_gr_date": "2025-01-06", + "earliest_production_start": "2025-02-06", + "fg_receipt_date": "2025-04-22", + "qa_release_date": "2025-04-30", + "ship_date": null, + "delivery_date": "2025-06-02", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 75, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 33, + "total_days": 149, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 52, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 71, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 41, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 54, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 72, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 7, + "direct_ship_pla": 26 + } + }, + "total_from_po": 149 + }, + { + "batch": "BATCH-440021", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-29", + "earliest_gr_date": "2024-12-31", + "earliest_production_start": "2025-01-31", + "fg_receipt_date": "2025-05-05", + "qa_release_date": "2025-05-13", + "ship_date": null, + "delivery_date": "2025-06-08", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 94, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 26, + "total_days": 161, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 12, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 81, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 78, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 91, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 40, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 52, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 12, + "direct_ship_pla": 14 + } + }, + "total_from_po": 161 + }, + { + "batch": "BATCH-546123", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-20", + "earliest_gr_date": "2024-12-22", + "earliest_production_start": "2025-01-18", + "fg_receipt_date": "2025-05-08", + "qa_release_date": "2025-05-15", + "ship_date": null, + "delivery_date": "2025-06-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 29, + "total_days": 175, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 89, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 106, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 63, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 78, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 15, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 64, + "production_days": 15, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 11, + "direct_ship_pla": 18 + } + }, + "total_from_po": 175 + }, + { + "batch": "BATCH-990560", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-29", + "earliest_gr_date": "2024-12-01", + "earliest_production_start": "2025-01-08", + "fg_receipt_date": "2025-05-16", + "qa_release_date": "2025-05-24", + "ship_date": null, + "delivery_date": "2025-06-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 40, + "seg_prodstart_to_prodfinish": 128, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 25, + "total_days": 201, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 109, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 125, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 62, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 38, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 49, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 8, + "direct_ship_pla": 17 + } + }, + "total_from_po": 201 + }, + { + "batch": "BATCH-386297", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-03", + "earliest_gr_date": "2025-01-05", + "earliest_production_start": "2025-01-29", + "fg_receipt_date": "2025-05-19", + "qa_release_date": "2025-05-26", + "ship_date": null, + "delivery_date": "2025-06-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 29, + "total_days": 172, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 88, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 39, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 50, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 70, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 14, + "direct_ship_pla": 15 + } + }, + "total_from_po": 172 + }, + { + "batch": "BATCH-947389", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-21", + "earliest_gr_date": "2025-01-23", + "earliest_production_start": "2025-02-19", + "fg_receipt_date": "2025-05-31", + "qa_release_date": "2025-06-06", + "ship_date": null, + "delivery_date": "2025-06-29", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 101, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 23, + "total_days": 159, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 81, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 16, + "direct_ship_pla": 7 + } + }, + "total_from_po": 159 + }, + { + "batch": "BATCH-627234", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-26", + "earliest_gr_date": "2025-01-28", + "earliest_production_start": "2025-02-21", + "fg_receipt_date": "2025-05-29", + "qa_release_date": "2025-06-01", + "ship_date": null, + "delivery_date": "2025-07-05", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 34, + "total_days": 160, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 76, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 95, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 67, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 53, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 11, + "direct_ship_pla": 23 + } + }, + "total_from_po": 160 + }, + { + "batch": "BATCH-829707", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-14", + "earliest_gr_date": "2025-01-16", + "earliest_production_start": "2025-02-21", + "fg_receipt_date": "2025-06-01", + "qa_release_date": "2025-06-09", + "ship_date": null, + "delivery_date": "2025-07-10", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 38, + "seg_prodstart_to_prodfinish": 100, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 31, + "total_days": 177, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 80, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 97, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 63, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 30, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 42, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 9, + "direct_ship_pla": 22 + } + }, + "total_from_po": 177 + }, + { + "batch": "BATCH-404324", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-22", + "earliest_gr_date": "2025-02-24", + "earliest_production_start": "2025-03-24", + "fg_receipt_date": "2025-06-18", + "qa_release_date": "2025-06-27", + "ship_date": null, + "delivery_date": "2025-07-16", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 86, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 19, + "total_days": 144, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 65, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 83, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 69, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 9, + "direct_ship_pla": 10 + } + }, + "total_from_po": 144 + }, + { + "batch": "BATCH-840018", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-10", + "earliest_gr_date": "2025-02-12", + "earliest_production_start": "2025-03-15", + "fg_receipt_date": "2025-06-17", + "qa_release_date": "2025-06-21", + "ship_date": null, + "delivery_date": "2025-07-21", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 94, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 30, + "total_days": 161, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 90, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 64, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 77, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 16, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 69, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 85, + "production_days": 16, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 12, + "direct_ship_pla": 18 + } + }, + "total_from_po": 161 + }, + { + "batch": "BATCH-243511", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-11", + "earliest_gr_date": "2025-01-13", + "earliest_production_start": "2025-02-13", + "fg_receipt_date": "2025-06-13", + "qa_release_date": "2025-06-22", + "ship_date": null, + "delivery_date": "2025-07-27", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 120, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 35, + "total_days": 197, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 100, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 116, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 40, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 53, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 69, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 11, + "direct_ship_pla": 24 + } + }, + "total_from_po": 197 + }, + { + "batch": "BATCH-394495", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-07", + "earliest_gr_date": "2025-02-09", + "earliest_production_start": "2025-03-14", + "fg_receipt_date": "2025-06-24", + "qa_release_date": "2025-07-02", + "ship_date": null, + "delivery_date": "2025-08-01", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 102, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 30, + "total_days": 175, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 12, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 99, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 69, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 9, + "direct_ship_pla": 21 + } + }, + "total_from_po": 175 + }, + { + "batch": "BATCH-043032", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-15", + "earliest_gr_date": "2025-02-17", + "earliest_production_start": "2025-03-11", + "fg_receipt_date": "2025-06-29", + "qa_release_date": "2025-07-05", + "ship_date": null, + "delivery_date": "2025-08-07", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 24, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 33, + "total_days": 173, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 8, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 97, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 8, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 19, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 63, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 82, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 30, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 41, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 10, + "direct_ship_pla": 23 + } + }, + "total_from_po": 173 + }, + { + "batch": "BATCH-582158", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-26", + "earliest_gr_date": "2025-02-28", + "earliest_production_start": "2025-03-23", + "fg_receipt_date": "2025-06-28", + "qa_release_date": "2025-07-05", + "ship_date": null, + "delivery_date": "2025-08-12", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 38, + "total_days": 167, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 76, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 95, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 70, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 53, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 15, + "direct_ship_pla": 23 + } + }, + "total_from_po": 167 + }, + { + "batch": "BATCH-302264", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-03-30", + "earliest_gr_date": "2025-04-01", + "earliest_production_start": "2025-04-24", + "fg_receipt_date": "2025-07-16", + "qa_release_date": "2025-07-24", + "ship_date": null, + "delivery_date": "2025-08-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 83, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 24, + "total_days": 140, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 59, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 77, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 9, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 59, + "production_days": 9, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 63, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 6, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 16, + "direct_ship_pla": 8 + } + }, + "total_from_po": 140 + }, + { + "batch": "BATCH-240076", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-03-25", + "earliest_gr_date": "2025-03-27", + "earliest_production_start": "2025-04-09", + "fg_receipt_date": "2025-07-14", + "qa_release_date": "2025-07-21", + "ship_date": null, + "delivery_date": "2025-08-23", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 15, + "seg_prodstart_to_prodfinish": 96, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 33, + "total_days": 151, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 76, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 94, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 11, + "direct_ship_pla": 22 + } + }, + "total_from_po": 151 + }, + { + "batch": "BATCH-804779", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-20", + "earliest_gr_date": "2025-02-22", + "earliest_production_start": "2025-03-22", + "fg_receipt_date": "2025-07-05", + "qa_release_date": "2025-07-12", + "ship_date": null, + "delivery_date": "2025-08-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 105, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 47, + "total_days": 189, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 84, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 100, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 9, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 69, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 78, + "production_days": 9, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 12, + "direct_ship_pla": 35 + } + }, + "total_from_po": 189 + }, + { + "batch": "BATCH-731192", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-03-15", + "earliest_gr_date": "2025-03-17", + "earliest_production_start": "2025-04-23", + "fg_receipt_date": "2025-07-22", + "qa_release_date": "2025-07-27", + "ship_date": null, + "delivery_date": "2025-09-03", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 39, + "seg_prodstart_to_prodfinish": 90, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 38, + "total_days": 172, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 73, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 88, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 65, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 11, + "direct_ship_pla": 27 + } + }, + "total_from_po": 172 + }, + { + "batch": "BATCH-482639", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-21", + "earliest_gr_date": "2025-02-23", + "earliest_production_start": "2025-03-30", + "fg_receipt_date": "2025-07-17", + "qa_release_date": "2025-07-24", + "ship_date": null, + "delivery_date": "2025-09-08", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 37, + "seg_prodstart_to_prodfinish": 109, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 46, + "total_days": 199, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 59, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 19, + "direct_ship_pla": 27 + } + }, + "total_from_po": 199 + }, + { + "batch": "BATCH-062870", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-01", + "earliest_gr_date": "2025-04-03", + "earliest_production_start": "2025-05-04", + "fg_receipt_date": "2025-08-01", + "qa_release_date": "2025-08-07", + "ship_date": null, + "delivery_date": "2025-09-14", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 89, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 38, + "total_days": 166, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 67, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 87, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 63, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 26 + } + }, + "total_from_po": 166 + }, + { + "batch": "BATCH-231165", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-05", + "earliest_gr_date": "2025-05-07", + "earliest_production_start": "2025-06-09", + "fg_receipt_date": "2025-08-16", + "qa_release_date": "2025-08-22", + "ship_date": null, + "delivery_date": "2025-09-19", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 68, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 28, + "total_days": 137, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 43, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 63, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 62, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 64, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 14, + "direct_ship_pla": 14 + } + }, + "total_from_po": 137 + }, + { + "batch": "BATCH-213839", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-14", + "earliest_gr_date": "2025-04-16", + "earliest_production_start": "2025-05-04", + "fg_receipt_date": "2025-08-23", + "qa_release_date": "2025-08-27", + "ship_date": null, + "delivery_date": "2025-09-25", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 20, + "seg_prodstart_to_prodfinish": 111, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 29, + "total_days": 164, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 107, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 37, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 47, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 32, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 45, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 11, + "direct_ship_pla": 18 + } + }, + "total_from_po": 164 + }, + { + "batch": "BATCH-750018", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-11", + "earliest_gr_date": "2025-05-13", + "earliest_production_start": "2025-06-05", + "fg_receipt_date": "2025-08-31", + "qa_release_date": "2025-09-06", + "ship_date": null, + "delivery_date": "2025-09-30", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 87, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 24, + "total_days": 142, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 85, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 6, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 66, + "production_days": 6, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 7, + "direct_ship_pla": 17 + } + }, + "total_from_po": 142 + }, + { + "batch": "BATCH-880539", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-20", + "earliest_gr_date": "2025-04-22", + "earliest_production_start": "2025-05-26", + "fg_receipt_date": "2025-08-19", + "qa_release_date": "2025-08-26", + "ship_date": null, + "delivery_date": "2025-10-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 36, + "seg_prodstart_to_prodfinish": 85, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 41, + "total_days": 169, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 14, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 68, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 82, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 63, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 8, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 36, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 44, + "production_days": 8, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 13, + "direct_ship_pla": 28 + } + }, + "total_from_po": 169 + }, + { + "batch": "BATCH-155177", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-02", + "earliest_gr_date": "2025-05-04", + "earliest_production_start": "2025-06-18", + "fg_receipt_date": "2025-09-10", + "qa_release_date": "2025-09-16", + "ship_date": null, + "delivery_date": "2025-10-11", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 47, + "seg_prodstart_to_prodfinish": 84, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 25, + "total_days": 162, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 13, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 66, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 79, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 72, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 10, + "direct_ship_pla": 15 + } + }, + "total_from_po": 162 + }, + { + "batch": "BATCH-993261", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-29", + "earliest_gr_date": "2025-05-01", + "earliest_production_start": "2025-05-24", + "fg_receipt_date": "2025-08-30", + "qa_release_date": "2025-09-04", + "ship_date": null, + "delivery_date": "2025-10-16", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 98, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 42, + "total_days": 170, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 79, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 95, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 72, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 65, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 77, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 11, + "direct_ship_pla": 31 + } + }, + "total_from_po": 170 + }, + { + "batch": "BATCH-753433", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-27", + "earliest_gr_date": "2025-05-29", + "earliest_production_start": "2025-06-13", + "fg_receipt_date": "2025-09-23", + "qa_release_date": "2025-09-29", + "ship_date": null, + "delivery_date": "2025-10-22", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 17, + "seg_prodstart_to_prodfinish": 102, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 23, + "total_days": 148, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 11, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 41, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 50, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 8, + "direct_ship_pla": 15 + } + }, + "total_from_po": 148 + }, + { + "batch": "BATCH-476897", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-21", + "earliest_gr_date": "2025-04-23", + "earliest_production_start": "2025-05-24", + "fg_receipt_date": "2025-09-14", + "qa_release_date": "2025-09-20", + "ship_date": null, + "delivery_date": "2025-10-27", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 37, + "total_days": 189, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 93, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 109, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 74, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 25 + } + }, + "total_from_po": 189 + }, + { + "batch": "BATCH-521582", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-03-25", + "earliest_gr_date": "2025-03-27", + "earliest_production_start": "2025-04-09", + "fg_receipt_date": "2025-07-18", + "qa_release_date": "2025-07-27", + "ship_date": null, + "delivery_date": "2025-11-02", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 15, + "seg_prodstart_to_prodfinish": 100, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 98, + "total_days": 222, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 79, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 97, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 70, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 80, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 59, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 14, + "transit_pla_hub1": 43, + "dest_dwell_hub1": 41 + } + }, + "total_from_po": 222 + }, + { + "batch": "BATCH-281803", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-14", + "earliest_gr_date": "2025-04-16", + "earliest_production_start": "2025-05-07", + "fg_receipt_date": "2025-07-28", + "qa_release_date": "2025-08-01", + "ship_date": null, + "delivery_date": "2025-11-07", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 23, + "seg_prodstart_to_prodfinish": 82, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 98, + "total_days": 207, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 64, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 79, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 32, + "dest_dwell_hub1": 56 + } + }, + "total_from_po": 207 + }, + { + "batch": "BATCH-276962", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-05", + "earliest_gr_date": "2025-04-07", + "earliest_production_start": "2025-05-05", + "fg_receipt_date": "2025-08-17", + "qa_release_date": "2025-08-26", + "ship_date": null, + "delivery_date": "2025-11-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 104, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 79, + "total_days": 222, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 80, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 101, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 9, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 9, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 16, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 69, + "production_days": 16, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 12, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 38 + } + }, + "total_from_po": 222 + }, + { + "batch": "BATCH-217426", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-15", + "earliest_gr_date": "2025-04-17", + "earliest_production_start": "2025-05-16", + "fg_receipt_date": "2025-08-24", + "qa_release_date": "2025-09-03", + "ship_date": null, + "delivery_date": "2025-11-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 31, + "seg_prodstart_to_prodfinish": 100, + "seg_prodfinish_to_qa": 10, + "seg_qa_to_customer": 76, + "total_days": 217, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 25, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 72, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 97, + "production_days": 25, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 15, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 15, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 10, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 18, + "dest_dwell_hub1": 45 + } + }, + "total_from_po": 217 + }, + { + "batch": "BATCH-679445", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-01", + "earliest_gr_date": "2025-05-03", + "earliest_production_start": "2025-06-03", + "fg_receipt_date": "2025-08-19", + "qa_release_date": "2025-08-27", + "ship_date": null, + "delivery_date": "2025-11-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 77, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 89, + "total_days": 207, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 13, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 62, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 75, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 40, + "dest_dwell_hub1": 36 + } + }, + "total_from_po": 207 + }, + { + "batch": "BATCH-584703", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-19", + "earliest_gr_date": "2025-04-21", + "earliest_production_start": "2025-05-16", + "fg_receipt_date": "2025-09-06", + "qa_release_date": "2025-09-13", + "ship_date": null, + "delivery_date": "2025-11-29", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 27, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 77, + "total_days": 224, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 92, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 60, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 57, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 19, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 29 + } + }, + "total_from_po": 224 + }, + { + "batch": "BATCH-320907", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-03", + "earliest_gr_date": "2025-05-05", + "earliest_production_start": "2025-06-01", + "fg_receipt_date": "2025-08-12", + "qa_release_date": "2025-08-21", + "ship_date": null, + "delivery_date": "2025-12-05", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 72, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 106, + "total_days": 216, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 54, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 69, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 9, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 65, + "production_days": 9, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 17, + "transit_pla_hub1": 42, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 216 + }, + { + "batch": "BATCH-469894", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-09", + "earliest_gr_date": "2025-04-11", + "earliest_production_start": "2025-05-12", + "fg_receipt_date": "2025-08-29", + "qa_release_date": "2025-09-05", + "ship_date": null, + "delivery_date": "2025-12-10", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 109, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 96, + "total_days": 245, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 89, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 45, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 56, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 38, + "dest_dwell_hub1": 48 + } + }, + "total_from_po": 245 + }, + { + "batch": "BATCH-119167", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-10", + "earliest_gr_date": "2025-05-12", + "earliest_production_start": "2025-05-30", + "fg_receipt_date": "2025-09-19", + "qa_release_date": "2025-09-26", + "ship_date": null, + "delivery_date": "2025-12-15", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 20, + "seg_prodstart_to_prodfinish": 112, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 80, + "total_days": 219, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 13, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 95, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 74, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 44 + } + }, + "total_from_po": 219 + }, + { + "batch": "BATCH-850977", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-17", + "earliest_gr_date": "2025-05-19", + "earliest_production_start": "2025-06-14", + "fg_receipt_date": "2025-09-25", + "qa_release_date": "2025-10-01", + "ship_date": null, + "delivery_date": "2025-12-21", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 103, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 81, + "total_days": 218, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 82, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 99, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 32, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 42, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 59, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 39 + } + }, + "total_from_po": 218 + }, + { + "batch": "BATCH-315004", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-21", + "earliest_gr_date": "2025-06-23", + "earliest_production_start": "2025-07-27", + "fg_receipt_date": "2025-10-06", + "qa_release_date": "2025-10-14", + "ship_date": null, + "delivery_date": "2025-12-26", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 36, + "seg_prodstart_to_prodfinish": 71, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 73, + "total_days": 188, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 14, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 49, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 63, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 67, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 40, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 22, + "dest_dwell_hub1": 38 + } + }, + "total_from_po": 188 + }, + { + "batch": "BATCH-753733", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-04", + "earliest_gr_date": "2025-06-06", + "earliest_production_start": "2025-07-04", + "fg_receipt_date": "2025-09-25", + "qa_release_date": "2025-09-28", + "ship_date": null, + "delivery_date": "2026-01-01", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 83, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 95, + "total_days": 211, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 64, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 80, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 67, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 81, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 15, + "transit_pla_hub1": 28, + "dest_dwell_hub1": 52 + } + }, + "total_from_po": 211 + }, + { + "batch": "BATCH-006984", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-29", + "earliest_gr_date": "2025-05-31", + "earliest_production_start": "2025-06-15", + "fg_receipt_date": "2025-09-20", + "qa_release_date": "2025-09-27", + "ship_date": null, + "delivery_date": "2026-01-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 17, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 101, + "total_days": 222, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 25, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 94, + "production_days": 25, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 31, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 45, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 62, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 75, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 42, + "dest_dwell_hub1": 49 + } + }, + "total_from_po": 222 + }, + { + "batch": "BATCH-962763", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-04", + "earliest_gr_date": "2025-06-06", + "earliest_production_start": "2025-07-06", + "fg_receipt_date": "2025-10-26", + "qa_release_date": "2025-11-02", + "ship_date": null, + "delivery_date": "2026-01-12", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 32, + "seg_prodstart_to_prodfinish": 112, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 71, + "total_days": 222, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 92, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 69, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 15, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 15, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 35 + } + }, + "total_from_po": 222 + }, + { + "batch": "BATCH-885445", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-04", + "earliest_gr_date": "2025-06-06", + "earliest_production_start": "2025-06-29", + "fg_receipt_date": "2025-10-03", + "qa_release_date": "2025-10-04", + "ship_date": null, + "delivery_date": "2026-01-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 96, + "seg_prodfinish_to_qa": 1, + "seg_qa_to_customer": 105, + "total_days": 227, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 78, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 71, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 1, + "post_qa_ship_pla": 17, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 63 + } + }, + "total_from_po": 227 + }, + { + "batch": "BATCH-622159", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-31", + "earliest_gr_date": "2025-06-02", + "earliest_production_start": "2025-06-26", + "fg_receipt_date": "2025-10-17", + "qa_release_date": "2025-10-23", + "ship_date": null, + "delivery_date": "2026-01-23", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 92, + "total_days": 237, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 91, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 111, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 62, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 78, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 70, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 17, + "transit_pla_hub1": 28, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 237 + }, + { + "batch": "BATCH-990714", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-03", + "earliest_gr_date": "2025-06-05", + "earliest_production_start": "2025-07-02", + "fg_receipt_date": "2025-10-14", + "qa_release_date": "2025-10-18", + "ship_date": null, + "delivery_date": "2026-01-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 104, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 102, + "total_days": 239, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 84, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 100, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 55, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 15, + "transit_pla_hub1": 39, + "dest_dwell_hub1": 48 + } + }, + "total_from_po": 239 + }, + { + "batch": "BATCH-479016", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-14", + "earliest_gr_date": "2025-06-16", + "earliest_production_start": "2025-07-18", + "fg_receipt_date": "2025-11-13", + "qa_release_date": "2025-11-19", + "ship_date": null, + "delivery_date": "2026-02-03", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 34, + "seg_prodstart_to_prodfinish": 118, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 76, + "total_days": 234, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 96, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 114, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 64, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "transit_pla_hub1": 30, + "dest_dwell_hub1": 34 + } + }, + "total_from_po": 234 + }, + { + "batch": "BATCH-080863", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-26", + "earliest_gr_date": "2025-06-28", + "earliest_production_start": "2025-07-18", + "fg_receipt_date": "2025-11-08", + "qa_release_date": "2025-11-12", + "ship_date": null, + "delivery_date": "2026-02-08", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 22, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 88, + "total_days": 227, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 86, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 107, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 66, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 80, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 8, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 51, + "production_days": 8, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 6, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 28, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 227 + }, + { + "batch": "BATCH-910231", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-07-05", + "earliest_gr_date": "2025-07-07", + "earliest_production_start": "2025-08-11", + "fg_receipt_date": "2025-11-08", + "qa_release_date": "2025-11-16", + "ship_date": null, + "delivery_date": "2026-02-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 37, + "seg_prodstart_to_prodfinish": 89, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 89, + "total_days": 223, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 84, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 75, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 86, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 66, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 80, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 223 + }, + { + "batch": "BATCH-997425", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-07", + "earliest_gr_date": "2025-08-09", + "earliest_production_start": "2025-09-06", + "fg_receipt_date": "2025-12-04", + "qa_release_date": "2025-12-12", + "ship_date": null, + "delivery_date": "2026-02-19", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 89, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 69, + "total_days": 196, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 70, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 86, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 70, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 24, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 37, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 8, + "transit_pla_hub1": 31, + "dest_dwell_hub1": 30 + } + }, + "total_from_po": 196 + }, + { + "batch": "BATCH-618940", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-19", + "earliest_gr_date": "2025-06-21", + "earliest_production_start": "2025-07-27", + "fg_receipt_date": "2025-11-29", + "qa_release_date": "2025-12-02", + "ship_date": null, + "delivery_date": "2026-02-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 38, + "seg_prodstart_to_prodfinish": 125, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 84, + "total_days": 250, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 104, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 121, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 34, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 43, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 32, + "dest_dwell_hub1": 42 + } + }, + "total_from_po": 250 + }, + { + "batch": "BATCH-029240", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-07-14", + "earliest_gr_date": "2025-07-16", + "earliest_production_start": "2025-08-02", + "fg_receipt_date": "2025-11-19", + "qa_release_date": "2025-11-25", + "ship_date": null, + "delivery_date": "2026-03-02", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 19, + "seg_prodstart_to_prodfinish": 109, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 97, + "total_days": 231, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 83, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 104, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 77, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 88, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 15, + "transit_pla_hub1": 44, + "dest_dwell_hub1": 38 + } + }, + "total_from_po": 231 + }, + { + "batch": "BATCH-013796", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-17", + "earliest_gr_date": "2025-08-19", + "earliest_production_start": "2025-09-24", + "fg_receipt_date": "2026-01-04", + "qa_release_date": "2026-01-13", + "ship_date": null, + "delivery_date": "2026-03-07", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 38, + "seg_prodstart_to_prodfinish": 102, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 53, + "total_days": 202, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 78, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 27, + "dest_dwell_hub1": 15 + } + }, + "total_from_po": 202 + }, + { + "batch": "BATCH-563928", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-17", + "earliest_gr_date": "2025-08-19", + "earliest_production_start": "2025-09-16", + "fg_receipt_date": "2025-12-08", + "qa_release_date": "2025-12-11", + "ship_date": null, + "delivery_date": "2026-03-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 83, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 92, + "total_days": 208, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 66, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 81, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 38, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 51, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 28, + "dest_dwell_hub1": 54 + } + }, + "total_from_po": 208 + }, + { + "batch": "BATCH-263609", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-15", + "earliest_gr_date": "2025-08-17", + "earliest_production_start": "2025-09-12", + "fg_receipt_date": "2026-01-03", + "qa_release_date": "2026-01-10", + "ship_date": null, + "delivery_date": "2026-03-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 67, + "total_days": 215, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 26, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 83, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 109, + "production_days": 26, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 20, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 74, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 57, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 15, + "dest_dwell_hub1": 42 + } + }, + "total_from_po": 215 + }, + { + "batch": "BATCH-786903", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-30", + "earliest_gr_date": "2025-09-01", + "earliest_production_start": "2025-09-23", + "fg_receipt_date": "2026-01-22", + "qa_release_date": "2026-01-28", + "ship_date": null, + "delivery_date": "2026-03-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 24, + "seg_prodstart_to_prodfinish": 121, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 55, + "total_days": 206, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 103, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 118, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 17, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 73, + "production_days": 17, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 9, + "transit_pla_hub1": 17, + "dest_dwell_hub1": 29 + } + }, + "total_from_po": 206 + }, + { + "batch": "BATCH-676932", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-15", + "earliest_gr_date": "2025-08-17", + "earliest_production_start": "2025-09-13", + "fg_receipt_date": "2025-12-19", + "qa_release_date": "2025-12-25", + "ship_date": null, + "delivery_date": "2026-03-29", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 94, + "total_days": 226, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 73, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 35, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 51, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 59, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 9, + "transit_pla_hub1": 38, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 226 + }, + { + "batch": "BATCH-341567", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-10", + "earliest_gr_date": "2025-08-12", + "earliest_production_start": "2025-09-05", + "fg_receipt_date": "2025-12-27", + "qa_release_date": "2026-01-01", + "ship_date": null, + "delivery_date": "2026-04-04", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 93, + "total_days": 237, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 88, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 109, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 62, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 53, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 14, + "transit_pla_hub1": 23, + "dest_dwell_hub1": 56 + } + }, + "total_from_po": 237 + }, + { + "batch": "BATCH-162748", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-25", + "earliest_gr_date": "2025-08-27", + "earliest_production_start": "2025-09-24", + "fg_receipt_date": "2026-01-03", + "qa_release_date": "2026-01-09", + "ship_date": null, + "delivery_date": "2026-04-09", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 101, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 90, + "total_days": 227, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 80, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 33, + "dest_dwell_hub1": 46 + } + }, + "total_from_po": 227 + }, + { + "batch": "BATCH-322485", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-08", + "earliest_gr_date": "2025-10-10", + "earliest_production_start": "2025-10-27", + "fg_receipt_date": "2026-02-01", + "qa_release_date": "2026-02-10", + "ship_date": null, + "delivery_date": "2026-04-14", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 19, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 63, + "total_days": 188, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 76, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 38, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 48, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 36, + "dest_dwell_hub1": 16 + } + }, + "total_from_po": 188 + }, + { + "batch": "BATCH-780123", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-02", + "earliest_gr_date": "2025-09-04", + "earliest_production_start": "2025-10-02", + "fg_receipt_date": "2026-01-31", + "qa_release_date": "2026-02-08", + "ship_date": null, + "delivery_date": "2026-04-20", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 121, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 71, + "total_days": 230, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 101, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 118, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 67, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 71, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 6, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 40 + } + }, + "total_from_po": 230 + }, + { + "batch": "BATCH-219665", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-06", + "earliest_gr_date": "2025-10-08", + "earliest_production_start": "2025-10-22", + "fg_receipt_date": "2026-02-09", + "qa_release_date": "2026-02-15", + "ship_date": null, + "delivery_date": "2026-04-25", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 16, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 69, + "total_days": 201, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 88, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 37, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 52, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 4, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 40 + } + }, + "total_from_po": 201 + }, + { + "batch": "BATCH-254225", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-08", + "earliest_gr_date": "2025-09-10", + "earliest_production_start": "2025-09-30", + "fg_receipt_date": "2026-01-28", + "qa_release_date": "2026-02-03", + "ship_date": null, + "delivery_date": "2026-05-01", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 22, + "seg_prodstart_to_prodfinish": 120, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 87, + "total_days": 235, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 97, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 115, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 73, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 45 + } + }, + "total_from_po": 235 + }, + { + "batch": "BATCH-311884", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-12", + "earliest_gr_date": "2025-09-14", + "earliest_production_start": "2025-10-10", + "fg_receipt_date": "2026-01-29", + "qa_release_date": "2026-02-04", + "ship_date": null, + "delivery_date": "2026-05-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 111, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 91, + "total_days": 236, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 86, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 107, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 73, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 66, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 6, + "transit_pla_hub1": 40, + "dest_dwell_hub1": 45 + } + }, + "total_from_po": 236 + }, + { + "batch": "BATCH-534136", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-26", + "earliest_gr_date": "2025-09-28", + "earliest_production_start": "2025-11-08", + "fg_receipt_date": "2026-02-10", + "qa_release_date": "2026-02-15", + "ship_date": null, + "delivery_date": "2026-05-12", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 43, + "seg_prodstart_to_prodfinish": 94, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 86, + "total_days": 228, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 74, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 90, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 31, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 40, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 12, + "transit_pla_hub1": 30, + "dest_dwell_hub1": 44 + } + }, + "total_from_po": 228 + }, + { + "batch": "BATCH-718060", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-29", + "earliest_gr_date": "2025-10-01", + "earliest_production_start": "2025-11-09", + "fg_receipt_date": "2026-02-24", + "qa_release_date": "2026-02-28", + "ship_date": null, + "delivery_date": "2026-05-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 41, + "seg_prodstart_to_prodfinish": 107, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 78, + "total_days": 230, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 88, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 103, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 19, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 67, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 41, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 53, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 14, + "dest_dwell_hub1": 54 + } + }, + "total_from_po": 230 + }, + { + "batch": "BATCH-802602", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-12", + "earliest_gr_date": "2025-10-14", + "earliest_production_start": "2025-11-04", + "fg_receipt_date": "2026-02-09", + "qa_release_date": "2026-02-15", + "ship_date": null, + "delivery_date": "2026-05-23", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 23, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 97, + "total_days": 223, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 74, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 59, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 34, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 48, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 7, + "transit_pla_hub1": 39, + "dest_dwell_hub1": 51 + } + }, + "total_from_po": 223 + }, + { + "batch": "BATCH-136204", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-05", + "earliest_gr_date": "2025-10-07", + "earliest_production_start": "2025-11-05", + "fg_receipt_date": "2026-02-25", + "qa_release_date": "2026-03-03", + "ship_date": null, + "delivery_date": "2026-05-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 31, + "seg_prodstart_to_prodfinish": 112, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 86, + "total_days": 235, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 91, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 58, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 14, + "transit_pla_hub1": 53, + "dest_dwell_hub1": 19 + } + }, + "total_from_po": 235 + }, + { + "batch": "BATCH-949254", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-14", + "earliest_gr_date": "2025-10-16", + "earliest_production_start": "2025-11-18", + "fg_receipt_date": "2026-02-19", + "qa_release_date": "2026-02-24", + "ship_date": null, + "delivery_date": "2026-06-03", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 93, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 99, + "total_days": 232, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 67, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 88, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 74, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 89, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 31, + "dest_dwell_hub1": 55 + } + }, + "total_from_po": 232 + } + ], + "segments": { + "seg_proc_to_prodstart": { + "label": "Procurement \u2192 Production Start", + "mean": 29.3, + "median": 30, + "p25": 25, + "p75": 34, + "n": 100 + }, + "seg_prodstart_to_prodfinish": { + "label": "Production Start \u2192 Production Finish", + "mean": 100.7, + "median": 102, + "p25": 90, + "p75": 112, + "n": 100 + }, + "seg_prodfinish_to_qa": { + "label": "Production Finish \u2192 QA Release", + "mean": 6.5, + "median": 7, + "p25": 6, + "p75": 8, + "n": 100 + }, + "seg_qa_to_customer": { + "label": "QA Release \u2192 Customer", + "mean": 53.8, + "median": 40, + "p25": 31, + "p75": 81, + "n": 100 + }, + "total_days": { + "label": "Total (GR to Delivery)", + "mean": 190.3, + "median": 188, + "p25": 167, + "p75": 222, + "n": 100 + } + }, + "per_route": { + "direct": { + "label": "Direct to customer", + "segments": { + "seg_proc_to_prodstart": { + "label": "Procurement \u2192 Production Start", + "mean": 29.9, + "median": 30, + "p25": 26, + "p75": 35, + "n": 60 + }, + "seg_prodstart_to_prodfinish": { + "label": "Production Start \u2192 Production Finish", + "mean": 99.8, + "median": 101, + "p25": 90, + "p75": 110, + "n": 60 + }, + "seg_prodfinish_to_qa": { + "label": "Production Finish \u2192 QA Release", + "mean": 6.6, + "median": 7, + "p25": 6, + "p75": 8, + "n": 60 + }, + "seg_qa_to_customer": { + "label": "QA Release \u2192 Customer", + "mean": 33.2, + "median": 33, + "p25": 29, + "p75": 38, + "n": 60 + }, + "total_days": { + "label": "Total (GR to Delivery)", + "mean": 169.5, + "median": 170, + "p25": 159, + "p75": 182, + "n": 60 + } + } + }, + "hub-1": { + "label": "HUB-1", + "segments": { + "seg_proc_to_prodstart": { + "label": "Procurement \u2192 Production Start", + "mean": 28.4, + "median": 29, + "p25": 24, + "p75": 33, + "n": 40 + }, + "seg_prodstart_to_prodfinish": { + "label": "Production Start \u2192 Production Finish", + "mean": 102.1, + "median": 104, + "p25": 96, + "p75": 113, + "n": 40 + }, + "seg_prodfinish_to_qa": { + "label": "Production Finish \u2192 QA Release", + "mean": 6.2, + "median": 6, + "p25": 5, + "p75": 8, + "n": 40 + }, + "seg_qa_to_customer": { + "label": "QA Release \u2192 Customer", + "mean": 84.8, + "median": 88, + "p25": 76, + "p75": 96, + "n": 40 + }, + "total_days": { + "label": "Total (GR to Delivery)", + "mean": 221.6, + "median": 223, + "p25": 215, + "p75": 232, + "n": 40 + } + } + } + }, + "coverage": { + "traced": 100, + "total": 100 + } + }, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/dest_dwell_hub1.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/dest_dwell_hub1.json new file mode 100644 index 00000000000..c307305feb2 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/dest_dwell_hub1.json @@ -0,0 +1,432 @@ +{ + "id": "dest_dwell_hub1", + "label": "Destination Dwell (HUB-1)", + "type": "destination_dwell", + "durations": [ + 49.6, 76.7, 33.0, 112.1, 41.3, 11.8, 92.0, 64.9, 49.6, 37.8, 46.0, 49.6, + 54.3, 57.8, 62.5, 67.3, 56.6, 61.4, 40.1, 56.6, 35.4, 40.1, 42.5, 48.4, + 50.7, 42.5, 46.0, 49.6, 54.3, 57.8, 62.5, 53.1, 56.6, 61.4, 51.9, 56.6, 35.4 + ], + "observations": [ + { + "date": "2022-09-15", + "value": 49.6 + }, + { + "date": "2023-05-05", + "value": 76.7 + }, + { + "date": "2023-05-20", + "value": 33.0 + }, + { + "date": "2024-01-10", + "value": 112.1 + }, + { + "date": "2024-01-25", + "value": 41.3 + }, + { + "date": "2024-08-15", + "value": 11.8 + }, + { + "date": "2025-02-05", + "value": 92.0 + }, + { + "date": "2025-02-18", + "value": 64.9 + }, + { + "date": "2025-08-10", + "value": 49.6 + }, + { + "date": "2025-08-20", + "value": 37.8 + }, + { + "date": "2025-09-06", + "value": 46.0 + }, + { + "date": "2025-09-12", + "value": 49.6 + }, + { + "date": "2025-09-18", + "value": 54.3 + }, + { + "date": "2025-10-04", + "value": 57.8 + }, + { + "date": "2025-10-10", + "value": 62.5 + }, + { + "date": "2025-10-16", + "value": 67.3 + }, + { + "date": "2025-11-05", + "value": 56.6 + }, + { + "date": "2025-11-11", + "value": 61.4 + }, + { + "date": "2025-11-17", + "value": 40.1 + }, + { + "date": "2025-12-06", + "value": 56.6 + }, + { + "date": "2025-12-12", + "value": 35.4 + }, + { + "date": "2025-12-18", + "value": 40.1 + }, + { + "date": "2026-01-04", + "value": 42.5 + }, + { + "date": "2026-01-10", + "value": 48.4 + }, + { + "date": "2026-01-16", + "value": 50.7 + }, + { + "date": "2026-02-05", + "value": 42.5 + }, + { + "date": "2026-02-11", + "value": 46.0 + }, + { + "date": "2026-02-17", + "value": 49.6 + }, + { + "date": "2026-03-06", + "value": 54.3 + }, + { + "date": "2026-03-12", + "value": 57.8 + }, + { + "date": "2026-03-18", + "value": 62.5 + }, + { + "date": "2026-04-04", + "value": 53.1 + }, + { + "date": "2026-04-10", + "value": 56.6 + }, + { + "date": "2026-04-16", + "value": 61.4 + }, + { + "date": "2026-05-05", + "value": 51.9 + }, + { + "date": "2026-05-11", + "value": 56.6 + }, + { + "date": "2026-05-17", + "value": 35.4 + } + ], + "monthly": [ + { + "month": "2022-09", + "mean": 49.6, + "median": 49.6, + "p10": 49.6, + "p25": 49.6, + "p75": 49.6, + "p90": 49.6, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "mean": 54.9, + "median": 54.9, + "p10": 37.4, + "p25": 44.0, + "p75": 65.8, + "p90": 72.3, + "n": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "mean": 76.7, + "median": 76.7, + "p10": 48.4, + "p25": 59.0, + "p75": 94.4, + "p90": 105.0, + "n": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "mean": 11.8, + "median": 11.8, + "p10": 11.8, + "p25": 11.8, + "p75": 11.8, + "p90": 11.8, + "n": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "mean": 78.5, + "median": 78.5, + "p10": 67.6, + "p25": 71.7, + "p75": 85.3, + "p90": 89.3, + "n": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "mean": 43.7, + "median": 43.7, + "p10": 38.9, + "p25": 40.7, + "p75": 46.6, + "p90": 48.4, + "n": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "mean": 49.9, + "median": 49.6, + "p10": 46.7, + "p25": 47.8, + "p75": 51.9, + "p90": 53.3, + "n": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "mean": 62.5, + "median": 62.5, + "p10": 58.8, + "p25": 60.2, + "p75": 64.9, + "p90": 66.3, + "n": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "mean": 52.7, + "median": 56.6, + "p10": 43.4, + "p25": 48.4, + "p75": 59.0, + "p90": 60.4, + "n": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "mean": 44.0, + "median": 40.1, + "p10": 36.3, + "p25": 37.8, + "p75": 48.4, + "p90": 53.3, + "n": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "mean": 47.2, + "median": 48.4, + "p10": 43.7, + "p25": 45.4, + "p75": 49.6, + "p90": 50.3, + "n": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "mean": 46.0, + "median": 46.0, + "p10": 43.2, + "p25": 44.2, + "p75": 47.8, + "p90": 48.9, + "n": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "mean": 58.2, + "median": 57.8, + "p10": 55.0, + "p25": 56.0, + "p75": 60.2, + "p90": 61.6, + "n": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "mean": 57.0, + "median": 56.6, + "p10": 53.8, + "p25": 54.9, + "p75": 59.0, + "p90": 60.4, + "n": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "mean": 48.0, + "median": 51.9, + "p10": 38.7, + "p25": 43.7, + "p75": 54.3, + "p90": 55.7, + "n": 3, + "total_kg_days": 585600.0 + } + ], + "stats": { + "n": 37, + "mean": 53.1, + "median": 51.9, + "std": 14.0, + "min": 11.8, + "max": 112.1, + "p25": 42.5, + "p75": 57.8, + "p85": 62.5, + "p95": 76.7 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "annotations": [], + "cost": { + "unit_price": 33.63, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2022-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "n_events": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "n_events": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "n_events": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "n_events": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "n_events": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "n_events": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "n_events": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "n_events": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "n_events": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "n_events": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "n_events": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "n_events": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "n_events": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "n_events": 3, + "total_kg_days": 585600.0 + } + ] + }, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": 10, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/intermed_dwell_green_blend.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/intermed_dwell_green_blend.json new file mode 100644 index 00000000000..e46845bf647 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/intermed_dwell_green_blend.json @@ -0,0 +1,595 @@ +{ + "id": "intermed_dwell_green_blend", + "label": "Intermediate Dwell: Green Blend", + "type": "intermediate_dwell", + "durations": [ + 14.2, 29.5, 9.4, 41.3, 17.7, 5.9, 26.0, 21.2, 47.2, 11.8, 64.9, 2.4, 33.0, + 17.7, 9.4, 23.6, 53.1, 14.2, 3.5, 21.2, 35.4, 9.4, 26.0, 41.3, 5.9, 17.7, + 49.6, 11.8, 16.5, 18.9, 20.1, 21.2, 22.4, 16.5, 17.7, 18.9, 21.2, 13.0, + 21.2, 22.4, 23.6, 16.5, 17.7, 20.1, 22.4, 14.2, 16.5, 17.7, 20.1, 13.0, + 14.2, 15.3, 16.5, 15.3, 16.5, 18.9, 20.1, 21.2, 15.3, 16.5, 17.7, 18.9, + 21.2, 18.9, 21.2, 22.4, 23.6, 16.5, 18.9, 20.1, 22.4, 14.2, 16.5 + ], + "observations": [ + { + "date": "2022-05-05", + "value": 14.2 + }, + { + "date": "2022-05-15", + "value": 29.5 + }, + { + "date": "2022-05-22", + "value": 9.4 + }, + { + "date": "2022-11-03", + "value": 41.3 + }, + { + "date": "2022-11-10", + "value": 17.7 + }, + { + "date": "2022-11-18", + "value": 5.9 + }, + { + "date": "2022-11-25", + "value": 26.0 + }, + { + "date": "2023-05-08", + "value": 21.2 + }, + { + "date": "2023-05-15", + "value": 47.2 + }, + { + "date": "2023-05-22", + "value": 11.8 + }, + { + "date": "2023-11-06", + "value": 64.9 + }, + { + "date": "2023-11-13", + "value": 2.4 + }, + { + "date": "2023-11-20", + "value": 33.0 + }, + { + "date": "2023-11-27", + "value": 17.7 + }, + { + "date": "2023-11-30", + "value": 9.4 + }, + { + "date": "2024-05-06", + "value": 23.6 + }, + { + "date": "2024-05-13", + "value": 53.1 + }, + { + "date": "2024-05-20", + "value": 14.2 + }, + { + "date": "2024-05-27", + "value": 3.5 + }, + { + "date": "2024-11-04", + "value": 21.2 + }, + { + "date": "2024-11-11", + "value": 35.4 + }, + { + "date": "2024-11-18", + "value": 9.4 + }, + { + "date": "2025-05-05", + "value": 26.0 + }, + { + "date": "2025-05-09", + "value": 41.3 + }, + { + "date": "2025-05-13", + "value": 5.9 + }, + { + "date": "2025-05-17", + "value": 17.7 + }, + { + "date": "2025-05-21", + "value": 49.6 + }, + { + "date": "2025-05-25", + "value": 11.8 + }, + { + "date": "2025-09-05", + "value": 16.5 + }, + { + "date": "2025-09-11", + "value": 18.9 + }, + { + "date": "2025-09-17", + "value": 20.1 + }, + { + "date": "2025-09-23", + "value": 21.2 + }, + { + "date": "2025-09-29", + "value": 22.4 + }, + { + "date": "2025-10-06", + "value": 16.5 + }, + { + "date": "2025-10-12", + "value": 17.7 + }, + { + "date": "2025-10-18", + "value": 18.9 + }, + { + "date": "2025-10-24", + "value": 21.2 + }, + { + "date": "2025-10-30", + "value": 13.0 + }, + { + "date": "2025-11-04", + "value": 21.2 + }, + { + "date": "2025-11-10", + "value": 22.4 + }, + { + "date": "2025-11-16", + "value": 23.6 + }, + { + "date": "2025-11-22", + "value": 16.5 + }, + { + "date": "2025-11-28", + "value": 17.7 + }, + { + "date": "2025-12-05", + "value": 20.1 + }, + { + "date": "2025-12-11", + "value": 22.4 + }, + { + "date": "2025-12-17", + "value": 14.2 + }, + { + "date": "2025-12-23", + "value": 16.5 + }, + { + "date": "2025-12-29", + "value": 17.7 + }, + { + "date": "2026-01-06", + "value": 20.1 + }, + { + "date": "2026-01-12", + "value": 13.0 + }, + { + "date": "2026-01-18", + "value": 14.2 + }, + { + "date": "2026-01-24", + "value": 15.3 + }, + { + "date": "2026-01-30", + "value": 16.5 + }, + { + "date": "2026-02-04", + "value": 15.3 + }, + { + "date": "2026-02-10", + "value": 16.5 + }, + { + "date": "2026-02-16", + "value": 18.9 + }, + { + "date": "2026-02-22", + "value": 20.1 + }, + { + "date": "2026-02-28", + "value": 21.2 + }, + { + "date": "2026-03-05", + "value": 15.3 + }, + { + "date": "2026-03-11", + "value": 16.5 + }, + { + "date": "2026-03-17", + "value": 17.7 + }, + { + "date": "2026-03-23", + "value": 18.9 + }, + { + "date": "2026-03-29", + "value": 21.2 + }, + { + "date": "2026-04-06", + "value": 18.9 + }, + { + "date": "2026-04-12", + "value": 21.2 + }, + { + "date": "2026-04-18", + "value": 22.4 + }, + { + "date": "2026-04-24", + "value": 23.6 + }, + { + "date": "2026-04-30", + "value": 16.5 + }, + { + "date": "2026-05-04", + "value": 18.9 + }, + { + "date": "2026-05-10", + "value": 20.1 + }, + { + "date": "2026-05-16", + "value": 22.4 + }, + { + "date": "2026-05-22", + "value": 14.2 + }, + { + "date": "2026-05-28", + "value": 16.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 17.7, + "median": 14.2, + "p10": 10.4, + "p25": 11.8, + "p75": 21.8, + "p90": 26.4, + "n": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "mean": 22.8, + "median": 21.8, + "p10": 9.4, + "p25": 14.8, + "p75": 29.9, + "p90": 36.7, + "n": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "mean": 26.8, + "median": 21.2, + "p10": 13.7, + "p25": 16.5, + "p75": 34.2, + "p90": 42.0, + "n": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "mean": 25.5, + "median": 17.7, + "p10": 5.2, + "p25": 9.4, + "p75": 33.0, + "p90": 52.2, + "n": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "mean": 23.6, + "median": 18.9, + "p10": 6.7, + "p25": 11.6, + "p75": 31.0, + "p90": 44.2, + "n": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "mean": 22.1, + "median": 21.2, + "p10": 11.8, + "p25": 15.3, + "p75": 28.3, + "p90": 32.6, + "n": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "mean": 25.4, + "median": 21.8, + "p10": 8.8, + "p25": 13.3, + "p75": 37.5, + "p90": 45.4, + "n": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "mean": 19.8, + "median": 20.1, + "p10": 17.5, + "p25": 18.9, + "p75": 21.2, + "p90": 21.9, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "mean": 17.5, + "median": 17.7, + "p10": 14.4, + "p25": 16.5, + "p75": 18.9, + "p90": 20.3, + "n": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "mean": 20.3, + "median": 21.2, + "p10": 17.0, + "p25": 17.7, + "p75": 22.4, + "p90": 23.1, + "n": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "mean": 18.2, + "median": 17.7, + "p10": 15.1, + "p25": 16.5, + "p75": 20.1, + "p90": 21.5, + "n": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "mean": 15.8, + "median": 15.3, + "p10": 13.5, + "p25": 14.2, + "p75": 16.5, + "p90": 18.6, + "n": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "mean": 18.4, + "median": 18.9, + "p10": 15.8, + "p25": 16.5, + "p75": 20.1, + "p90": 20.8, + "n": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "mean": 17.9, + "median": 17.7, + "p10": 15.8, + "p25": 16.5, + "p75": 18.9, + "p90": 20.3, + "n": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "mean": 20.5, + "median": 21.2, + "p10": 17.5, + "p25": 18.9, + "p75": 22.4, + "p90": 23.1, + "n": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "mean": 18.4, + "median": 18.9, + "p10": 15.1, + "p25": 16.5, + "p75": 20.1, + "p90": 21.5, + "n": 5, + "total_kg_days": 249600.0 + } + ], + "stats": { + "n": 73, + "mean": 20.5, + "median": 18.9, + "std": 9.0, + "min": 2.4, + "max": 64.9, + "p25": 15.3, + "p75": 22.4, + "p85": 23.6, + "p95": 41.3 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 87.7, + "annotations": [], + "cost": { + "unit_price": 14.75, + "currency": "CHF", + "mean_qty": 3200.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "n_events": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "n_events": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "n_events": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "n_events": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "n_events": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "n_events": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 249600.0 + } + ] + }, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": 28, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/post_qa_ship_pla.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/post_qa_ship_pla.json new file mode 100644 index 00000000000..c77257b10be --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/post_qa_ship_pla.json @@ -0,0 +1,514 @@ +{ + "id": "post_qa_ship_pla", + "label": "Post-QA Dwell (PL-A)", + "type": "post_qa_ship", + "durations": [ + 9.4, 26.0, 49.6, 7.1, 21.2, 33.0, 14.2, 2.4, 17.7, 5.9, 23.6, 4.7, 16.5, + 17.7, 11.8, 13.0, 14.2, 16.5, 9.4, 11.8, 13.0, 13.0, 11.8, 14.2, 14.2, 15.3, + 16.5, 11.8, 13.0, 14.2, 15.3, 16.5, 15.3, 16.5, 17.7, 18.9, 13.0, 15.3, + 16.5, 17.7, 11.8, 13.0, 15.3, 16.5, 9.4, 11.8, 13.0, 18.9, 11.8, 14.2, 14.2, + 15.3, 10.6, 11.8, 13.0, 14.2, 15.3 + ], + "observations": [ + { + "date": "2023-03-10", + "value": 9.4 + }, + { + "date": "2023-03-25", + "value": 26.0 + }, + { + "date": "2023-09-20", + "value": 49.6 + }, + { + "date": "2024-03-15", + "value": 7.1 + }, + { + "date": "2024-03-28", + "value": 21.2 + }, + { + "date": "2024-09-05", + "value": 33.0 + }, + { + "date": "2024-09-15", + "value": 14.2 + }, + { + "date": "2024-09-25", + "value": 2.4 + }, + { + "date": "2025-03-10", + "value": 17.7 + }, + { + "date": "2025-03-22", + "value": 5.9 + }, + { + "date": "2025-07-08", + "value": 23.6 + }, + { + "date": "2025-07-22", + "value": 4.7 + }, + { + "date": "2025-09-05", + "value": 16.5 + }, + { + "date": "2025-09-11", + "value": 17.7 + }, + { + "date": "2025-09-17", + "value": 11.8 + }, + { + "date": "2025-09-23", + "value": 13.0 + }, + { + "date": "2025-09-29", + "value": 14.2 + }, + { + "date": "2025-10-06", + "value": 16.5 + }, + { + "date": "2025-10-12", + "value": 9.4 + }, + { + "date": "2025-10-18", + "value": 11.8 + }, + { + "date": "2025-10-24", + "value": 13.0 + }, + { + "date": "2025-10-30", + "value": 13.0 + }, + { + "date": "2025-11-04", + "value": 11.8 + }, + { + "date": "2025-11-10", + "value": 14.2 + }, + { + "date": "2025-11-16", + "value": 14.2 + }, + { + "date": "2025-11-22", + "value": 15.3 + }, + { + "date": "2025-11-28", + "value": 16.5 + }, + { + "date": "2025-12-05", + "value": 11.8 + }, + { + "date": "2025-12-11", + "value": 13.0 + }, + { + "date": "2025-12-17", + "value": 14.2 + }, + { + "date": "2025-12-23", + "value": 15.3 + }, + { + "date": "2025-12-29", + "value": 16.5 + }, + { + "date": "2026-01-06", + "value": 15.3 + }, + { + "date": "2026-01-12", + "value": 16.5 + }, + { + "date": "2026-01-18", + "value": 17.7 + }, + { + "date": "2026-01-24", + "value": 18.9 + }, + { + "date": "2026-01-30", + "value": 13.0 + }, + { + "date": "2026-02-04", + "value": 15.3 + }, + { + "date": "2026-02-10", + "value": 16.5 + }, + { + "date": "2026-02-16", + "value": 17.7 + }, + { + "date": "2026-02-22", + "value": 11.8 + }, + { + "date": "2026-02-28", + "value": 13.0 + }, + { + "date": "2026-03-05", + "value": 15.3 + }, + { + "date": "2026-03-11", + "value": 16.5 + }, + { + "date": "2026-03-17", + "value": 9.4 + }, + { + "date": "2026-03-23", + "value": 11.8 + }, + { + "date": "2026-03-29", + "value": 13.0 + }, + { + "date": "2026-04-06", + "value": 18.9 + }, + { + "date": "2026-04-12", + "value": 11.8 + }, + { + "date": "2026-04-18", + "value": 14.2 + }, + { + "date": "2026-04-24", + "value": 14.2 + }, + { + "date": "2026-04-30", + "value": 15.3 + }, + { + "date": "2026-05-04", + "value": 10.6 + }, + { + "date": "2026-05-10", + "value": 11.8 + }, + { + "date": "2026-05-16", + "value": 13.0 + }, + { + "date": "2026-05-22", + "value": 14.2 + }, + { + "date": "2026-05-28", + "value": 15.3 + } + ], + "monthly": [ + { + "month": "2023-03", + "mean": 17.7, + "median": 17.7, + "p10": 11.1, + "p25": 13.6, + "p75": 21.8, + "p90": 24.3, + "n": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "mean": 49.6, + "median": 49.6, + "p10": 49.6, + "p25": 49.6, + "p75": 49.6, + "p90": 49.6, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "mean": 14.2, + "median": 14.2, + "p10": 8.5, + "p25": 10.6, + "p75": 17.7, + "p90": 19.8, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "mean": 16.5, + "median": 14.2, + "p10": 4.7, + "p25": 8.3, + "p75": 23.6, + "p90": 29.3, + "n": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "mean": 11.8, + "median": 11.8, + "p10": 7.1, + "p25": 8.8, + "p75": 14.8, + "p90": 16.5, + "n": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "mean": 14.2, + "median": 14.2, + "p10": 6.6, + "p25": 9.4, + "p75": 18.9, + "p90": 21.7, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "mean": 14.6, + "median": 14.2, + "p10": 12.3, + "p25": 13.0, + "p75": 16.5, + "p90": 17.2, + "n": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "mean": 12.7, + "median": 13.0, + "p10": 10.4, + "p25": 11.8, + "p75": 13.0, + "p90": 15.1, + "n": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "mean": 14.4, + "median": 14.2, + "p10": 12.7, + "p25": 14.2, + "p75": 15.3, + "p90": 16.0, + "n": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "mean": 14.2, + "median": 14.2, + "p10": 12.3, + "p25": 13.0, + "p75": 15.3, + "p90": 16.0, + "n": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "mean": 16.3, + "median": 16.5, + "p10": 13.9, + "p25": 15.3, + "p75": 17.7, + "p90": 18.4, + "n": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "mean": 14.9, + "median": 15.3, + "p10": 12.3, + "p25": 13.0, + "p75": 16.5, + "p90": 17.2, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "mean": 13.2, + "median": 13.0, + "p10": 10.4, + "p25": 11.8, + "p75": 15.3, + "p90": 16.0, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "mean": 14.9, + "median": 14.2, + "p10": 12.7, + "p25": 14.2, + "p75": 15.3, + "p90": 17.5, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "mean": 13.0, + "median": 13.0, + "p10": 11.1, + "p25": 11.8, + "p75": 14.2, + "p90": 14.9, + "n": 5, + "total_kg_days": 264000.0 + } + ], + "stats": { + "n": 57, + "mean": 15.0, + "median": 14.2, + "std": 5.6, + "min": 2.4, + "max": 49.6, + "p25": 11.8, + "p75": 16.5, + "p85": 17.7, + "p95": 23.6 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "annotations": [], + "cost": { + "unit_price": 33.63, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2023-03", + "n_events": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "n_events": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "n_events": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 264000.0 + } + ] + }, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": 12, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/procurement_highland_arabica.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/procurement_highland_arabica.json new file mode 100644 index 00000000000..740a22bac55 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/procurement_highland_arabica.json @@ -0,0 +1,3304 @@ +{ + "id": "procurement_highland_arabica", + "label": "Procurement: Highland Arabica", + "type": "procurement", + "durations": [ + 64.9, 49.6, 9.4, 74.3, 44.8, 26.0, 83.8, 35.4, 53.1, 21.2, 123.9, 41.3, + 14.2, 56.6, 46.0, 48.4, 51.9, 56.6, 60.2, 43.7, 47.2, 51.9, 55.5, 36.6, + 42.5, 47.2, 50.7, 31.9, 36.6, 54.3, 57.8, 38.9, 43.7, 46.0, 53.1, 34.2, + 38.9, 41.3, 44.8, 41.3, 46.0, 48.4, 51.9, 56.6, 41.3, 43.7, 47.2, 51.9, + 55.5, 38.9, 42.5, 47.2, 50.7, 31.9, 49.6, 54.3, 57.8, 38.9, 43.7 + ], + "observations": [ + { + "date": "2022-03-15", + "value": 64.9 + }, + { + "date": "2022-06-10", + "value": 49.6 + }, + { + "date": "2022-09-22", + "value": 9.4 + }, + { + "date": "2022-12-05", + "value": 74.3 + }, + { + "date": "2023-02-14", + "value": 44.8 + }, + { + "date": "2023-05-30", + "value": 26.0 + }, + { + "date": "2023-08-17", + "value": 83.8 + }, + { + "date": "2023-11-02", + "value": 35.4 + }, + { + "date": "2024-01-25", + "value": 53.1 + }, + { + "date": "2024-04-11", + "value": 21.2 + }, + { + "date": "2024-07-09", + "value": 123.9 + }, + { + "date": "2024-10-03", + "value": 41.3 + }, + { + "date": "2025-01-20", + "value": 14.2 + }, + { + "date": "2025-04-08", + "value": 56.6 + }, + { + "date": "2025-09-05", + "value": 46.0 + }, + { + "date": "2025-09-11", + "value": 48.4 + }, + { + "date": "2025-09-17", + "value": 51.9 + }, + { + "date": "2025-09-23", + "value": 56.6 + }, + { + "date": "2025-09-29", + "value": 60.2 + }, + { + "date": "2025-10-06", + "value": 43.7 + }, + { + "date": "2025-10-12", + "value": 47.2 + }, + { + "date": "2025-10-18", + "value": 51.9 + }, + { + "date": "2025-10-24", + "value": 55.5 + }, + { + "date": "2025-10-30", + "value": 36.6 + }, + { + "date": "2025-11-04", + "value": 42.5 + }, + { + "date": "2025-11-10", + "value": 47.2 + }, + { + "date": "2025-11-16", + "value": 50.7 + }, + { + "date": "2025-11-22", + "value": 31.9 + }, + { + "date": "2025-11-28", + "value": 36.6 + }, + { + "date": "2025-12-05", + "value": 54.3 + }, + { + "date": "2025-12-11", + "value": 57.8 + }, + { + "date": "2025-12-17", + "value": 38.9 + }, + { + "date": "2025-12-23", + "value": 43.7 + }, + { + "date": "2025-12-29", + "value": 46.0 + }, + { + "date": "2026-01-06", + "value": 53.1 + }, + { + "date": "2026-01-12", + "value": 34.2 + }, + { + "date": "2026-01-18", + "value": 38.9 + }, + { + "date": "2026-01-24", + "value": 41.3 + }, + { + "date": "2026-01-30", + "value": 44.8 + }, + { + "date": "2026-02-04", + "value": 41.3 + }, + { + "date": "2026-02-10", + "value": 46.0 + }, + { + "date": "2026-02-16", + "value": 48.4 + }, + { + "date": "2026-02-22", + "value": 51.9 + }, + { + "date": "2026-02-28", + "value": 56.6 + }, + { + "date": "2026-03-05", + "value": 41.3 + }, + { + "date": "2026-03-11", + "value": 43.7 + }, + { + "date": "2026-03-17", + "value": 47.2 + }, + { + "date": "2026-03-23", + "value": 51.9 + }, + { + "date": "2026-03-29", + "value": 55.5 + }, + { + "date": "2026-04-06", + "value": 38.9 + }, + { + "date": "2026-04-12", + "value": 42.5 + }, + { + "date": "2026-04-18", + "value": 47.2 + }, + { + "date": "2026-04-24", + "value": 50.7 + }, + { + "date": "2026-04-30", + "value": 31.9 + }, + { + "date": "2026-05-04", + "value": 49.6 + }, + { + "date": "2026-05-10", + "value": 54.3 + }, + { + "date": "2026-05-16", + "value": 57.8 + }, + { + "date": "2026-05-22", + "value": 38.9 + }, + { + "date": "2026-05-28", + "value": 43.7 + } + ], + "monthly": [ + { + "month": "2022-03", + "mean": 64.9, + "median": 64.9, + "p10": 64.9, + "p25": 64.9, + "p75": 64.9, + "p90": 64.9, + "n": 1 + }, + { + "month": "2022-06", + "mean": 49.6, + "median": 49.6, + "p10": 49.6, + "p25": 49.6, + "p75": 49.6, + "p90": 49.6, + "n": 1 + }, + { + "month": "2022-09", + "mean": 9.4, + "median": 9.4, + "p10": 9.4, + "p25": 9.4, + "p75": 9.4, + "p90": 9.4, + "n": 1 + }, + { + "month": "2022-12", + "mean": 74.3, + "median": 74.3, + "p10": 74.3, + "p25": 74.3, + "p75": 74.3, + "p90": 74.3, + "n": 1 + }, + { + "month": "2023-02", + "mean": 44.8, + "median": 44.8, + "p10": 44.8, + "p25": 44.8, + "p75": 44.8, + "p90": 44.8, + "n": 1 + }, + { + "month": "2023-05", + "mean": 26.0, + "median": 26.0, + "p10": 26.0, + "p25": 26.0, + "p75": 26.0, + "p90": 26.0, + "n": 1 + }, + { + "month": "2023-08", + "mean": 83.8, + "median": 83.8, + "p10": 83.8, + "p25": 83.8, + "p75": 83.8, + "p90": 83.8, + "n": 1 + }, + { + "month": "2023-11", + "mean": 35.4, + "median": 35.4, + "p10": 35.4, + "p25": 35.4, + "p75": 35.4, + "p90": 35.4, + "n": 1 + }, + { + "month": "2024-01", + "mean": 53.1, + "median": 53.1, + "p10": 53.1, + "p25": 53.1, + "p75": 53.1, + "p90": 53.1, + "n": 1 + }, + { + "month": "2024-04", + "mean": 21.2, + "median": 21.2, + "p10": 21.2, + "p25": 21.2, + "p75": 21.2, + "p90": 21.2, + "n": 1 + }, + { + "month": "2024-07", + "mean": 123.9, + "median": 123.9, + "p10": 123.9, + "p25": 123.9, + "p75": 123.9, + "p90": 123.9, + "n": 1 + }, + { + "month": "2024-10", + "mean": 41.3, + "median": 41.3, + "p10": 41.3, + "p25": 41.3, + "p75": 41.3, + "p90": 41.3, + "n": 1 + }, + { + "month": "2025-01", + "mean": 14.2, + "median": 14.2, + "p10": 14.2, + "p25": 14.2, + "p75": 14.2, + "p90": 14.2, + "n": 1 + }, + { + "month": "2025-04", + "mean": 56.6, + "median": 56.6, + "p10": 56.6, + "p25": 56.6, + "p75": 56.6, + "p90": 56.6, + "n": 1 + }, + { + "month": "2025-09", + "mean": 52.6, + "median": 51.9, + "p10": 47.0, + "p25": 48.4, + "p75": 56.6, + "p90": 58.8, + "n": 5 + }, + { + "month": "2025-10", + "mean": 47.0, + "median": 47.2, + "p10": 39.4, + "p25": 43.7, + "p75": 51.9, + "p90": 54.0, + "n": 5 + }, + { + "month": "2025-11", + "mean": 41.8, + "median": 42.5, + "p10": 33.7, + "p25": 36.6, + "p75": 47.2, + "p90": 49.3, + "n": 5 + }, + { + "month": "2025-12", + "mean": 48.1, + "median": 46.0, + "p10": 40.8, + "p25": 43.7, + "p75": 54.3, + "p90": 56.4, + "n": 5 + }, + { + "month": "2026-01", + "mean": 42.5, + "median": 41.3, + "p10": 36.1, + "p25": 38.9, + "p75": 44.8, + "p90": 49.8, + "n": 5 + }, + { + "month": "2026-02", + "mean": 48.9, + "median": 48.4, + "p10": 43.2, + "p25": 46.0, + "p75": 51.9, + "p90": 54.8, + "n": 5 + }, + { + "month": "2026-03", + "mean": 47.9, + "median": 47.2, + "p10": 42.2, + "p25": 43.7, + "p75": 51.9, + "p90": 54.0, + "n": 5 + }, + { + "month": "2026-04", + "mean": 42.2, + "median": 42.5, + "p10": 34.7, + "p25": 38.9, + "p75": 47.2, + "p90": 49.3, + "n": 5 + }, + { + "month": "2026-05", + "mean": 48.9, + "median": 49.6, + "p10": 40.8, + "p25": 43.7, + "p75": 54.3, + "p90": 56.4, + "n": 5 + } + ], + "stats": { + "n": 59, + "mean": 47.4, + "median": 47.2, + "std": 13.3, + "min": 9.4, + "max": 123.9, + "p25": 41.3, + "p75": 53.1, + "p85": 56.6, + "p95": 64.9 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 98.3, + "annotations": [ + { + "date": "2023-09-01", + "label": "Supplier change for Highland Arabica" + } + ], + "cost": null, + "detail_rows": { + "columns": [ + { + "key": "matnr", + "sap_field": "MATNR", + "sap_table": "EKPO", + "label": "Material", + "unit": null + }, + { + "key": "po_number", + "sap_field": "EBELN", + "sap_table": "EKKO", + "label": "PO Number", + "unit": null + }, + { + "key": "po_item", + "sap_field": "EBELP", + "sap_table": "EKPO", + "label": "PO Item", + "unit": null + }, + { + "key": "vendor_id", + "sap_field": "LIFNR", + "sap_table": "EKKO", + "label": "Vendor (LIFNR)", + "unit": null + }, + { + "key": "vendor_name", + "sap_field": "NAME1", + "sap_table": "LFA1", + "label": "Vendor Name", + "unit": null + }, + { + "key": "po_date", + "sap_field": "BEDAT", + "sap_table": "EKKO", + "label": "PO Date", + "unit": null + }, + { + "key": "promised_date", + "sap_field": "EINDT", + "sap_table": "EKET", + "label": "Promised Date", + "unit": null + }, + { + "key": "sched_qty", + "sap_field": "MENGE", + "sap_table": "EKET", + "label": "Scheduled Qty", + "unit": null + }, + { + "key": "gr_qty_to_date", + "sap_field": "WEMNG", + "sap_table": "EKET", + "label": "GR Qty (to date)", + "unit": null + }, + { + "key": "gr_mblnr", + "sap_field": "MBLNR", + "sap_table": "MSEG", + "label": "Goods Receipt Document", + "unit": null + }, + { + "key": "first_gr_date", + "sap_field": "BUDAT", + "sap_table": "MKPF", + "label": "Goods Receipt Date", + "unit": null + }, + { + "key": "days_vs_promised", + "sap_field": null, + "sap_table": null, + "label": "Days vs Promised", + "unit": "d" + }, + { + "key": "lead_time_days", + "sap_field": null, + "sap_table": null, + "label": "Lead Time (days)", + "unit": "d" + } + ], + "rows": [ + { + "matnr": "demo_highland_arabica", + "po_number": "4500000003", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-14", + "promised_date": "2025-06-05", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000003", + "first_gr_date": "2025-06-03", + "days_vs_promised": -2, + "lead_time_days": 20 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000000", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-04-23", + "promised_date": "2025-06-08", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000000", + "first_gr_date": "2025-06-06", + "days_vs_promised": -2, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000005", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-27", + "promised_date": "2025-06-16", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000005", + "first_gr_date": "2025-06-13", + "days_vs_promised": -3, + "lead_time_days": 17 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000001", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-01", + "promised_date": "2025-06-17", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000001", + "first_gr_date": "2025-06-15", + "days_vs_promised": -2, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000002", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-06", + "promised_date": "2025-06-20", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000002", + "first_gr_date": "2025-06-20", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000004", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-22", + "promised_date": "2025-06-24", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000004", + "first_gr_date": "2025-06-21", + "days_vs_promised": -3, + "lead_time_days": 30 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000006", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-02", + "promised_date": "2025-07-10", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000006", + "first_gr_date": "2025-07-09", + "days_vs_promised": -1, + "lead_time_days": 37 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000007", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-11", + "promised_date": "2025-07-06", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000007", + "first_gr_date": "2025-07-10", + "days_vs_promised": 4, + "lead_time_days": 29 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000009", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-25", + "promised_date": "2025-07-23", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000009", + "first_gr_date": "2025-07-21", + "days_vs_promised": -2, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000010", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-30", + "promised_date": "2025-07-26", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000010", + "first_gr_date": "2025-07-26", + "days_vs_promised": 0, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000008", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-19", + "promised_date": "2025-08-07", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000008", + "first_gr_date": "2025-08-07", + "days_vs_promised": 0, + "lead_time_days": 49 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000012", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-07-15", + "promised_date": "2025-08-07", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000012", + "first_gr_date": "2025-08-07", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000013", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-07-23", + "promised_date": "2025-08-20", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000013", + "first_gr_date": "2025-08-20", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000014", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-07-28", + "promised_date": "2025-08-23", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000014", + "first_gr_date": "2025-08-23", + "days_vs_promised": 0, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000011", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-07-07", + "promised_date": "2025-08-19", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000011", + "first_gr_date": "2025-08-25", + "days_vs_promised": 6, + "lead_time_days": 49 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000015", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-08-04", + "promised_date": "2025-08-27", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000015", + "first_gr_date": "2025-08-27", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000016", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-08-13", + "promised_date": "2025-09-25", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000016", + "first_gr_date": "2025-09-25", + "days_vs_promised": 0, + "lead_time_days": 43 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000019", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-09-04", + "promised_date": "2025-09-28", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000019", + "first_gr_date": "2025-09-27", + "days_vs_promised": -1, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000020", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-09-09", + "promised_date": "2025-10-03", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000020", + "first_gr_date": "2025-10-03", + "days_vs_promised": 0, + "lead_time_days": 24 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000017", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-08-21", + "promised_date": "2025-10-05", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000017", + "first_gr_date": "2025-10-05", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000018", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-08-26", + "promised_date": "2025-10-12", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000018", + "first_gr_date": "2025-10-10", + "days_vs_promised": -2, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000022", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-09-23", + "promised_date": "2025-10-17", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000022", + "first_gr_date": "2025-10-16", + "days_vs_promised": -1, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000021", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-09-17", + "promised_date": "2025-10-22", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000021", + "first_gr_date": "2025-10-19", + "days_vs_promised": -3, + "lead_time_days": 32 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000023", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-01", + "promised_date": "2025-10-29", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000023", + "first_gr_date": "2025-10-31", + "days_vs_promised": 2, + "lead_time_days": 30 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000024", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-08", + "promised_date": "2025-11-01", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000024", + "first_gr_date": "2025-11-01", + "days_vs_promised": 0, + "lead_time_days": 24 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000025", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-14", + "promised_date": "2025-11-19", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000025", + "first_gr_date": "2025-11-17", + "days_vs_promised": -2, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000027", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-29", + "promised_date": "2025-12-01", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000027", + "first_gr_date": "2025-11-29", + "days_vs_promised": -2, + "lead_time_days": 31 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000028", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-11-04", + "promised_date": "2025-12-03", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000028", + "first_gr_date": "2025-12-03", + "days_vs_promised": 0, + "lead_time_days": 29 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000026", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-21", + "promised_date": "2025-12-04", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000026", + "first_gr_date": "2025-12-04", + "days_vs_promised": 0, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000029", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-11-10", + "promised_date": "2025-12-19", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000029", + "first_gr_date": "2025-12-19", + "days_vs_promised": 0, + "lead_time_days": 39 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000030", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-11-20", + "promised_date": "2025-12-23", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000030", + "first_gr_date": "2025-12-24", + "days_vs_promised": 1, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000034", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000034", + "first_gr_date": "2026-01-11", + "days_vs_promised": -2, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000031", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-11-27", + "promised_date": "2026-01-13", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000031", + "first_gr_date": "2026-01-13", + "days_vs_promised": 0, + "lead_time_days": 47 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000033", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-10", + "promised_date": "2026-01-15", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000033", + "first_gr_date": "2026-01-13", + "days_vs_promised": -2, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000035", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-24", + "promised_date": "2026-01-13", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000035", + "first_gr_date": "2026-01-13", + "days_vs_promised": 0, + "lead_time_days": 20 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000032", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-04", + "promised_date": "2026-01-17", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000032", + "first_gr_date": "2026-01-17", + "days_vs_promised": 0, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000036", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-31", + "promised_date": "2026-02-01", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000036", + "first_gr_date": "2026-01-31", + "days_vs_promised": -1, + "lead_time_days": 31 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000037", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-01-08", + "promised_date": "2026-02-10", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000037", + "first_gr_date": "2026-02-08", + "days_vs_promised": -2, + "lead_time_days": 31 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000038", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-01-13", + "promised_date": "2026-02-13", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000038", + "first_gr_date": "2026-02-11", + "days_vs_promised": -2, + "lead_time_days": 29 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000040", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-01-29", + "promised_date": "2026-02-25", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000040", + "first_gr_date": "2026-02-25", + "days_vs_promised": 0, + "lead_time_days": 27 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000039", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-01-20", + "promised_date": "2026-03-01", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000039", + "first_gr_date": "2026-03-01", + "days_vs_promised": 0, + "lead_time_days": 40 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000041", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-02-03", + "promised_date": "2026-03-07", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000041", + "first_gr_date": "2026-03-07", + "days_vs_promised": 0, + "lead_time_days": 32 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000042", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-02-11", + "promised_date": "2026-03-18", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000042", + "first_gr_date": "2026-03-18", + "days_vs_promised": 0, + "lead_time_days": 35 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000043", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-02-16", + "promised_date": "2026-03-23", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000043", + "first_gr_date": "2026-03-22", + "days_vs_promised": -1, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000044", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-02-26", + "promised_date": "2026-03-24", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000044", + "first_gr_date": "2026-03-24", + "days_vs_promised": 0, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000045", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-04", + "promised_date": "2026-03-27", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000045", + "first_gr_date": "2026-03-27", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000057", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-02", + "promised_date": "2026-04-01", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000057", + "first_gr_date": "2026-04-01", + "days_vs_promised": 0, + "lead_time_days": 30 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000068", + "po_item": "00010", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-02-24", + "promised_date": "2026-04-03", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000068", + "first_gr_date": "2026-04-07", + "days_vs_promised": 4, + "lead_time_days": 42 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000069", + "po_item": "00020", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-04", + "promised_date": "2026-04-06", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000069", + "first_gr_date": "2026-04-09", + "days_vs_promised": 3, + "lead_time_days": 36 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000056", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-25", + "promised_date": "2026-04-09", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000056", + "first_gr_date": "2026-04-10", + "days_vs_promised": 1, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000058", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-11", + "promised_date": "2026-04-07", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000058", + "first_gr_date": "2026-04-12", + "days_vs_promised": 5, + "lead_time_days": 32 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000071", + "po_item": "00040", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-17", + "promised_date": "2026-04-16", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000071", + "first_gr_date": "2026-04-13", + "days_vs_promised": -3, + "lead_time_days": 27 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000060", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-24", + "promised_date": "2026-04-13", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000060", + "first_gr_date": "2026-04-14", + "days_vs_promised": 1, + "lead_time_days": 21 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000048", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-25", + "promised_date": "2026-04-22", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000048", + "first_gr_date": "2026-04-22", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000050", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-04-07", + "promised_date": "2026-04-30", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000050", + "first_gr_date": "2026-04-27", + "days_vs_promised": -3, + "lead_time_days": 20 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000046", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-10", + "promised_date": "2026-04-26", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000046", + "first_gr_date": "2026-04-29", + "days_vs_promised": 3, + "lead_time_days": 50 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000047", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-18", + "promised_date": "2026-05-03", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000047", + "first_gr_date": "2026-05-01", + "days_vs_promised": -2, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000059", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000059", + "first_gr_date": "2026-05-01", + "days_vs_promised": 0, + "lead_time_days": 46 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000049", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-31", + "promised_date": "2026-05-09", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000049", + "first_gr_date": "2026-05-06", + "days_vs_promised": -3, + "lead_time_days": 36 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000074", + "po_item": "00020", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-04-08", + "promised_date": "2026-05-06", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000074", + "first_gr_date": "2026-05-06", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000063", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-13", + "promised_date": "2026-05-07", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000063", + "first_gr_date": "2026-05-07", + "days_vs_promised": 0, + "lead_time_days": 24 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000051", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-04-15", + "promised_date": "2026-05-11", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000051", + "first_gr_date": "2026-05-11", + "days_vs_promised": 0, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000070", + "po_item": "00030", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-09", + "promised_date": "2026-04-22", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000070", + "first_gr_date": "2026-05-12", + "days_vs_promised": 20, + "lead_time_days": 64 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000075", + "po_item": "00030", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-04-13", + "promised_date": "2026-05-18", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000075", + "first_gr_date": "2026-05-15", + "days_vs_promised": -3, + "lead_time_days": 32 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000061", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-01", + "promised_date": "2026-05-21", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000061", + "first_gr_date": "2026-05-18", + "days_vs_promised": -3, + "lead_time_days": 47 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000065", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-27", + "promised_date": "2026-05-19", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000065", + "first_gr_date": "2026-05-19", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000072", + "po_item": "00050", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-24", + "promised_date": "2026-05-03", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000072", + "first_gr_date": "2026-05-21", + "days_vs_promised": 18, + "lead_time_days": 58 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000062", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000062", + "first_gr_date": "2026-05-27", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000053", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-04-28", + "promised_date": "2026-05-29", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000053", + "first_gr_date": "2026-05-29", + "days_vs_promised": 0, + "lead_time_days": 31 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000077", + "po_item": "00050", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-04-29", + "promised_date": "2026-06-02", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000077", + "first_gr_date": "2026-06-02", + "days_vs_promised": 0, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000078", + "po_item": "00010", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-05-06", + "promised_date": "2026-06-06", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000078", + "first_gr_date": "2026-06-03", + "days_vs_promised": -3, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000076", + "po_item": "00040", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-04-20", + "promised_date": "2026-06-04", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000076", + "first_gr_date": "2026-06-04", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000064", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-21", + "promised_date": "2026-06-06", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000064", + "first_gr_date": "2026-06-05", + "days_vs_promised": -1, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000052", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-04-22", + "promised_date": "2026-06-06", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000052", + "first_gr_date": "2026-06-06", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000073", + "po_item": "00010", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-31", + "promised_date": "2026-05-08", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000073", + "first_gr_date": "2026-06-07", + "days_vs_promised": 30, + "lead_time_days": 68 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000079", + "po_item": "00020", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-05-12", + "promised_date": "2026-06-09", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000079", + "first_gr_date": "2026-06-09", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000054", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-05-07", + "promised_date": "2026-06-13", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000054", + "first_gr_date": "2026-06-13", + "days_vs_promised": 0, + "lead_time_days": 37 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000055", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-05-11", + "promised_date": "2026-06-15", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000055", + "first_gr_date": "2026-06-13", + "days_vs_promised": -2, + "lead_time_days": 33 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000066", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-05-04", + "promised_date": "2026-06-16", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000066", + "first_gr_date": "2026-06-16", + "days_vs_promised": 0, + "lead_time_days": 43 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000067", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-05-14", + "promised_date": "2026-06-04", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000067", + "first_gr_date": "2026-06-22", + "days_vs_promised": 18, + "lead_time_days": 39 + } + ] + }, + "ref_date_col": "first_gr_date", + "n_batches": null, + "n_movements": 14, + "yield_data": null, + "consumption_data": null, + "supplier_otif": { + "primary_vendor": { + "id": "D0002", + "name": "Cascadia Coffee Traders" + }, + "vendors": [ + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "n_lines": 56, + "n_late": 5, + "on_time_pct": 91.1, + "in_full_pct": 100.0, + "otif_pct": 91.1, + "mean_days_late_all": 0.29, + "mean_days_late_when_late": 3.2, + "median_days_late_when_late": 3, + "max_days_late": 6, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 8.9, + "ge_3d_pct": 5.4, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + } + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "n_lines": 12, + "n_late": 4, + "on_time_pct": 66.7, + "in_full_pct": 100.0, + "otif_pct": 66.7, + "mean_days_late_all": 2.08, + "mean_days_late_when_late": 6.2, + "median_days_late_when_late": 3.0, + "max_days_late": 18, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 33.3, + "ge_3d_pct": 16.7, + "ge_7d_pct": 8.3, + "ge_14d_pct": 8.3 + } + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "n_lines": 12, + "n_late": 5, + "on_time_pct": 58.3, + "in_full_pct": 100.0, + "otif_pct": 58.3, + "mean_days_late_all": 6.25, + "mean_days_late_when_late": 15, + "median_days_late_when_late": 18, + "max_days_late": 30, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 41.7, + "ge_3d_pct": 41.7, + "ge_7d_pct": 25.0, + "ge_14d_pct": 25.0 + } + } + ], + "worst_events": [ + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000073", + "po_item": "00010", + "po_date": "2026-03-31", + "promised_date": "2026-05-08", + "first_gr_date": "2026-06-07", + "days_late": 30, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000070", + "po_item": "00030", + "po_date": "2026-03-09", + "promised_date": "2026-04-22", + "first_gr_date": "2026-05-12", + "days_late": 20, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000067", + "po_item": "00020", + "po_date": "2026-05-14", + "promised_date": "2026-06-04", + "first_gr_date": "2026-06-22", + "days_late": 18, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000072", + "po_item": "00050", + "po_date": "2026-03-24", + "promised_date": "2026-05-03", + "first_gr_date": "2026-05-21", + "days_late": 18, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000011", + "po_item": "00020", + "po_date": "2025-07-07", + "promised_date": "2025-08-19", + "first_gr_date": "2025-08-25", + "days_late": 6, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000058", + "po_item": "00030", + "po_date": "2026-03-11", + "promised_date": "2026-04-07", + "first_gr_date": "2026-04-12", + "days_late": 5, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0 + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000007", + "po_item": "00030", + "po_date": "2025-06-11", + "promised_date": "2025-07-06", + "first_gr_date": "2025-07-10", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000068", + "po_item": "00010", + "po_date": "2026-02-24", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-07", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000046", + "po_item": "00020", + "po_date": "2026-03-10", + "promised_date": "2026-04-26", + "first_gr_date": "2026-04-29", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000069", + "po_item": "00020", + "po_date": "2026-03-04", + "promised_date": "2026-04-06", + "first_gr_date": "2026-04-09", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + } + ], + "coverage_pct": 100.0, + "n_lines": 80, + "data_quality_note": "100% in-full across every line \u2014 likely WEMNG = MENGE is auto-stamped at goods receipt rather than measured. Treat the in-full metric as a data-entry artifact at this site.", + "tolerance_days": 0, + "under_tolerance_pct": 0.05, + "lines": [ + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000000", + "po_item": "00010", + "po_date": "2025-04-23", + "promised_date": "2025-06-08", + "first_gr_date": "2025-06-06", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000001", + "po_item": "00020", + "po_date": "2025-05-01", + "promised_date": "2025-06-17", + "first_gr_date": "2025-06-15", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000002", + "po_item": "00030", + "po_date": "2025-05-06", + "promised_date": "2025-06-20", + "first_gr_date": "2025-06-20", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000003", + "po_item": "00040", + "po_date": "2025-05-14", + "promised_date": "2025-06-05", + "first_gr_date": "2025-06-03", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000004", + "po_item": "00050", + "po_date": "2025-05-22", + "promised_date": "2025-06-24", + "first_gr_date": "2025-06-21", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000005", + "po_item": "00010", + "po_date": "2025-05-27", + "promised_date": "2025-06-16", + "first_gr_date": "2025-06-13", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000006", + "po_item": "00020", + "po_date": "2025-06-02", + "promised_date": "2025-07-10", + "first_gr_date": "2025-07-09", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000007", + "po_item": "00030", + "po_date": "2025-06-11", + "promised_date": "2025-07-06", + "first_gr_date": "2025-07-10", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000008", + "po_item": "00040", + "po_date": "2025-06-19", + "promised_date": "2025-08-07", + "first_gr_date": "2025-08-07", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000009", + "po_item": "00050", + "po_date": "2025-06-25", + "promised_date": "2025-07-23", + "first_gr_date": "2025-07-21", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000010", + "po_item": "00010", + "po_date": "2025-06-30", + "promised_date": "2025-07-26", + "first_gr_date": "2025-07-26", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000011", + "po_item": "00020", + "po_date": "2025-07-07", + "promised_date": "2025-08-19", + "first_gr_date": "2025-08-25", + "days_late": 6, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000012", + "po_item": "00030", + "po_date": "2025-07-15", + "promised_date": "2025-08-07", + "first_gr_date": "2025-08-07", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000013", + "po_item": "00040", + "po_date": "2025-07-23", + "promised_date": "2025-08-20", + "first_gr_date": "2025-08-20", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000014", + "po_item": "00050", + "po_date": "2025-07-28", + "promised_date": "2025-08-23", + "first_gr_date": "2025-08-23", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000015", + "po_item": "00010", + "po_date": "2025-08-04", + "promised_date": "2025-08-27", + "first_gr_date": "2025-08-27", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000016", + "po_item": "00020", + "po_date": "2025-08-13", + "promised_date": "2025-09-25", + "first_gr_date": "2025-09-25", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000017", + "po_item": "00030", + "po_date": "2025-08-21", + "promised_date": "2025-10-05", + "first_gr_date": "2025-10-05", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000018", + "po_item": "00040", + "po_date": "2025-08-26", + "promised_date": "2025-10-12", + "first_gr_date": "2025-10-10", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000019", + "po_item": "00050", + "po_date": "2025-09-04", + "promised_date": "2025-09-28", + "first_gr_date": "2025-09-27", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000020", + "po_item": "00010", + "po_date": "2025-09-09", + "promised_date": "2025-10-03", + "first_gr_date": "2025-10-03", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000021", + "po_item": "00020", + "po_date": "2025-09-17", + "promised_date": "2025-10-22", + "first_gr_date": "2025-10-19", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000022", + "po_item": "00030", + "po_date": "2025-09-23", + "promised_date": "2025-10-17", + "first_gr_date": "2025-10-16", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000023", + "po_item": "00040", + "po_date": "2025-10-01", + "promised_date": "2025-10-29", + "first_gr_date": "2025-10-31", + "days_late": 2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000024", + "po_item": "00050", + "po_date": "2025-10-08", + "promised_date": "2025-11-01", + "first_gr_date": "2025-11-01", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000025", + "po_item": "00010", + "po_date": "2025-10-14", + "promised_date": "2025-11-19", + "first_gr_date": "2025-11-17", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000026", + "po_item": "00020", + "po_date": "2025-10-21", + "promised_date": "2025-12-04", + "first_gr_date": "2025-12-04", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000027", + "po_item": "00030", + "po_date": "2025-10-29", + "promised_date": "2025-12-01", + "first_gr_date": "2025-11-29", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000028", + "po_item": "00040", + "po_date": "2025-11-04", + "promised_date": "2025-12-03", + "first_gr_date": "2025-12-03", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000029", + "po_item": "00050", + "po_date": "2025-11-10", + "promised_date": "2025-12-19", + "first_gr_date": "2025-12-19", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000030", + "po_item": "00010", + "po_date": "2025-11-20", + "promised_date": "2025-12-23", + "first_gr_date": "2025-12-24", + "days_late": 1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000031", + "po_item": "00020", + "po_date": "2025-11-27", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-13", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000032", + "po_item": "00030", + "po_date": "2025-12-04", + "promised_date": "2026-01-17", + "first_gr_date": "2026-01-17", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000033", + "po_item": "00040", + "po_date": "2025-12-10", + "promised_date": "2026-01-15", + "first_gr_date": "2026-01-13", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000034", + "po_item": "00050", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-11", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000035", + "po_item": "00010", + "po_date": "2025-12-24", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-13", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000036", + "po_item": "00020", + "po_date": "2025-12-31", + "promised_date": "2026-02-01", + "first_gr_date": "2026-01-31", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000037", + "po_item": "00030", + "po_date": "2026-01-08", + "promised_date": "2026-02-10", + "first_gr_date": "2026-02-08", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000038", + "po_item": "00040", + "po_date": "2026-01-13", + "promised_date": "2026-02-13", + "first_gr_date": "2026-02-11", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000039", + "po_item": "00050", + "po_date": "2026-01-20", + "promised_date": "2026-03-01", + "first_gr_date": "2026-03-01", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000040", + "po_item": "00010", + "po_date": "2026-01-29", + "promised_date": "2026-02-25", + "first_gr_date": "2026-02-25", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000041", + "po_item": "00020", + "po_date": "2026-02-03", + "promised_date": "2026-03-07", + "first_gr_date": "2026-03-07", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000042", + "po_item": "00030", + "po_date": "2026-02-11", + "promised_date": "2026-03-18", + "first_gr_date": "2026-03-18", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000043", + "po_item": "00040", + "po_date": "2026-02-16", + "promised_date": "2026-03-23", + "first_gr_date": "2026-03-22", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000044", + "po_item": "00050", + "po_date": "2026-02-26", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-24", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000045", + "po_item": "00010", + "po_date": "2026-03-04", + "promised_date": "2026-03-27", + "first_gr_date": "2026-03-27", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000046", + "po_item": "00020", + "po_date": "2026-03-10", + "promised_date": "2026-04-26", + "first_gr_date": "2026-04-29", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000047", + "po_item": "00030", + "po_date": "2026-03-18", + "promised_date": "2026-05-03", + "first_gr_date": "2026-05-01", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000048", + "po_item": "00040", + "po_date": "2026-03-25", + "promised_date": "2026-04-22", + "first_gr_date": "2026-04-22", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000049", + "po_item": "00050", + "po_date": "2026-03-31", + "promised_date": "2026-05-09", + "first_gr_date": "2026-05-06", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000050", + "po_item": "00010", + "po_date": "2026-04-07", + "promised_date": "2026-04-30", + "first_gr_date": "2026-04-27", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000051", + "po_item": "00020", + "po_date": "2026-04-15", + "promised_date": "2026-05-11", + "first_gr_date": "2026-05-11", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000052", + "po_item": "00030", + "po_date": "2026-04-22", + "promised_date": "2026-06-06", + "first_gr_date": "2026-06-06", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000053", + "po_item": "00040", + "po_date": "2026-04-28", + "promised_date": "2026-05-29", + "first_gr_date": "2026-05-29", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000054", + "po_item": "00050", + "po_date": "2026-05-07", + "promised_date": "2026-06-13", + "first_gr_date": "2026-06-13", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000055", + "po_item": "00010", + "po_date": "2026-05-11", + "promised_date": "2026-06-15", + "first_gr_date": "2026-06-13", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000056", + "po_item": "00010", + "po_date": "2026-02-25", + "promised_date": "2026-04-09", + "first_gr_date": "2026-04-10", + "days_late": 1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000057", + "po_item": "00020", + "po_date": "2026-03-02", + "promised_date": "2026-04-01", + "first_gr_date": "2026-04-01", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000058", + "po_item": "00030", + "po_date": "2026-03-11", + "promised_date": "2026-04-07", + "first_gr_date": "2026-04-12", + "days_late": 5, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000059", + "po_item": "00040", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "first_gr_date": "2026-05-01", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000060", + "po_item": "00050", + "po_date": "2026-03-24", + "promised_date": "2026-04-13", + "first_gr_date": "2026-04-14", + "days_late": 1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000061", + "po_item": "00010", + "po_date": "2026-04-01", + "promised_date": "2026-05-21", + "first_gr_date": "2026-05-18", + "days_late": -3, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000062", + "po_item": "00020", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "first_gr_date": "2026-05-27", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000063", + "po_item": "00030", + "po_date": "2026-04-13", + "promised_date": "2026-05-07", + "first_gr_date": "2026-05-07", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000064", + "po_item": "00040", + "po_date": "2026-04-21", + "promised_date": "2026-06-06", + "first_gr_date": "2026-06-05", + "days_late": -1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000065", + "po_item": "00050", + "po_date": "2026-04-27", + "promised_date": "2026-05-19", + "first_gr_date": "2026-05-19", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000066", + "po_item": "00010", + "po_date": "2026-05-04", + "promised_date": "2026-06-16", + "first_gr_date": "2026-06-16", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000067", + "po_item": "00020", + "po_date": "2026-05-14", + "promised_date": "2026-06-04", + "first_gr_date": "2026-06-22", + "days_late": 18, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000068", + "po_item": "00010", + "po_date": "2026-02-24", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-07", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000069", + "po_item": "00020", + "po_date": "2026-03-04", + "promised_date": "2026-04-06", + "first_gr_date": "2026-04-09", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000070", + "po_item": "00030", + "po_date": "2026-03-09", + "promised_date": "2026-04-22", + "first_gr_date": "2026-05-12", + "days_late": 20, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000071", + "po_item": "00040", + "po_date": "2026-03-17", + "promised_date": "2026-04-16", + "first_gr_date": "2026-04-13", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000072", + "po_item": "00050", + "po_date": "2026-03-24", + "promised_date": "2026-05-03", + "first_gr_date": "2026-05-21", + "days_late": 18, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000073", + "po_item": "00010", + "po_date": "2026-03-31", + "promised_date": "2026-05-08", + "first_gr_date": "2026-06-07", + "days_late": 30, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000074", + "po_item": "00020", + "po_date": "2026-04-08", + "promised_date": "2026-05-06", + "first_gr_date": "2026-05-06", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000075", + "po_item": "00030", + "po_date": "2026-04-13", + "promised_date": "2026-05-18", + "first_gr_date": "2026-05-15", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000076", + "po_item": "00040", + "po_date": "2026-04-20", + "promised_date": "2026-06-04", + "first_gr_date": "2026-06-04", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000077", + "po_item": "00050", + "po_date": "2026-04-29", + "promised_date": "2026-06-02", + "first_gr_date": "2026-06-02", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000078", + "po_item": "00010", + "po_date": "2026-05-06", + "promised_date": "2026-06-06", + "first_gr_date": "2026-06-03", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000079", + "po_item": "00020", + "po_date": "2026-05-12", + "promised_date": "2026-06-09", + "first_gr_date": "2026-06-09", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + } + ] + }, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/procurement_lowland_robusta.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/procurement_lowland_robusta.json new file mode 100644 index 00000000000..5dc3478c076 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/procurement_lowland_robusta.json @@ -0,0 +1,2575 @@ +{ + "id": "procurement_lowland_robusta", + "label": "Procurement: Lowland Robusta", + "type": "procurement", + "durations": [ + 37.8, 56.6, 5.9, 79.1, 29.5, 48.4, 17.7, 96.8, 44.8, 23.6, 61.4, 11.8, 51.9, + 33.0, 41.3, 21.2, 64.9, 30.7, 30.7, 34.2, 36.6, 40.1, 43.7, 30.7, 33.0, + 36.6, 38.9, 42.5, 38.9, 42.5, 44.8, 49.6, 33.0, 37.8, 41.3, 44.8, 28.3, + 33.0, 47.2, 50.7, 34.2, 38.9, 41.3, 47.2, 30.7, 34.2, 36.6, 40.1, 26.0, + 30.7, 33.0, 36.6, 38.9, 36.6, 38.9, 42.5, 44.8, 49.6, 35.4, 37.8, 41.3, + 44.8, 28.3 + ], + "observations": [ + { + "date": "2022-02-08", + "value": 37.8 + }, + { + "date": "2022-04-19", + "value": 56.6 + }, + { + "date": "2022-07-11", + "value": 5.9 + }, + { + "date": "2022-09-28", + "value": 79.1 + }, + { + "date": "2022-12-15", + "value": 29.5 + }, + { + "date": "2023-03-07", + "value": 48.4 + }, + { + "date": "2023-05-22", + "value": 17.7 + }, + { + "date": "2023-08-09", + "value": 96.8 + }, + { + "date": "2023-10-30", + "value": 44.8 + }, + { + "date": "2024-01-16", + "value": 23.6 + }, + { + "date": "2024-03-25", + "value": 61.4 + }, + { + "date": "2024-06-12", + "value": 11.8 + }, + { + "date": "2024-08-28", + "value": 51.9 + }, + { + "date": "2024-11-14", + "value": 33.0 + }, + { + "date": "2025-01-06", + "value": 41.3 + }, + { + "date": "2025-03-18", + "value": 21.2 + }, + { + "date": "2025-05-29", + "value": 64.9 + }, + { + "date": "2025-08-12", + "value": 30.7 + }, + { + "date": "2025-09-04", + "value": 30.7 + }, + { + "date": "2025-09-10", + "value": 34.2 + }, + { + "date": "2025-09-16", + "value": 36.6 + }, + { + "date": "2025-09-22", + "value": 40.1 + }, + { + "date": "2025-09-28", + "value": 43.7 + }, + { + "date": "2025-10-05", + "value": 30.7 + }, + { + "date": "2025-10-11", + "value": 33.0 + }, + { + "date": "2025-10-17", + "value": 36.6 + }, + { + "date": "2025-10-23", + "value": 38.9 + }, + { + "date": "2025-10-29", + "value": 42.5 + }, + { + "date": "2025-11-06", + "value": 38.9 + }, + { + "date": "2025-11-12", + "value": 42.5 + }, + { + "date": "2025-11-18", + "value": 44.8 + }, + { + "date": "2025-11-24", + "value": 49.6 + }, + { + "date": "2025-11-30", + "value": 33.0 + }, + { + "date": "2025-12-04", + "value": 37.8 + }, + { + "date": "2025-12-10", + "value": 41.3 + }, + { + "date": "2025-12-16", + "value": 44.8 + }, + { + "date": "2025-12-22", + "value": 28.3 + }, + { + "date": "2025-12-28", + "value": 33.0 + }, + { + "date": "2026-01-05", + "value": 47.2 + }, + { + "date": "2026-01-11", + "value": 50.7 + }, + { + "date": "2026-01-17", + "value": 34.2 + }, + { + "date": "2026-01-23", + "value": 38.9 + }, + { + "date": "2026-01-29", + "value": 41.3 + }, + { + "date": "2026-02-06", + "value": 47.2 + }, + { + "date": "2026-02-12", + "value": 30.7 + }, + { + "date": "2026-02-18", + "value": 34.2 + }, + { + "date": "2026-02-24", + "value": 36.6 + }, + { + "date": "2026-02-30", + "value": 40.1 + }, + { + "date": "2026-03-04", + "value": 26.0 + }, + { + "date": "2026-03-10", + "value": 30.7 + }, + { + "date": "2026-03-16", + "value": 33.0 + }, + { + "date": "2026-03-22", + "value": 36.6 + }, + { + "date": "2026-03-28", + "value": 38.9 + }, + { + "date": "2026-04-05", + "value": 36.6 + }, + { + "date": "2026-04-11", + "value": 38.9 + }, + { + "date": "2026-04-17", + "value": 42.5 + }, + { + "date": "2026-04-23", + "value": 44.8 + }, + { + "date": "2026-04-29", + "value": 49.6 + }, + { + "date": "2026-05-06", + "value": 35.4 + }, + { + "date": "2026-05-12", + "value": 37.8 + }, + { + "date": "2026-05-18", + "value": 41.3 + }, + { + "date": "2026-05-24", + "value": 44.8 + }, + { + "date": "2026-05-30", + "value": 28.3 + } + ], + "monthly": [ + { + "month": "2022-02", + "mean": 37.8, + "median": 37.8, + "p10": 37.8, + "p25": 37.8, + "p75": 37.8, + "p90": 37.8, + "n": 1 + }, + { + "month": "2022-04", + "mean": 56.6, + "median": 56.6, + "p10": 56.6, + "p25": 56.6, + "p75": 56.6, + "p90": 56.6, + "n": 1 + }, + { + "month": "2022-07", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2022-09", + "mean": 79.1, + "median": 79.1, + "p10": 79.1, + "p25": 79.1, + "p75": 79.1, + "p90": 79.1, + "n": 1 + }, + { + "month": "2022-12", + "mean": 29.5, + "median": 29.5, + "p10": 29.5, + "p25": 29.5, + "p75": 29.5, + "p90": 29.5, + "n": 1 + }, + { + "month": "2023-03", + "mean": 48.4, + "median": 48.4, + "p10": 48.4, + "p25": 48.4, + "p75": 48.4, + "p90": 48.4, + "n": 1 + }, + { + "month": "2023-05", + "mean": 17.7, + "median": 17.7, + "p10": 17.7, + "p25": 17.7, + "p75": 17.7, + "p90": 17.7, + "n": 1 + }, + { + "month": "2023-08", + "mean": 96.8, + "median": 96.8, + "p10": 96.8, + "p25": 96.8, + "p75": 96.8, + "p90": 96.8, + "n": 1 + }, + { + "month": "2023-10", + "mean": 44.8, + "median": 44.8, + "p10": 44.8, + "p25": 44.8, + "p75": 44.8, + "p90": 44.8, + "n": 1 + }, + { + "month": "2024-01", + "mean": 23.6, + "median": 23.6, + "p10": 23.6, + "p25": 23.6, + "p75": 23.6, + "p90": 23.6, + "n": 1 + }, + { + "month": "2024-03", + "mean": 61.4, + "median": 61.4, + "p10": 61.4, + "p25": 61.4, + "p75": 61.4, + "p90": 61.4, + "n": 1 + }, + { + "month": "2024-06", + "mean": 11.8, + "median": 11.8, + "p10": 11.8, + "p25": 11.8, + "p75": 11.8, + "p90": 11.8, + "n": 1 + }, + { + "month": "2024-08", + "mean": 51.9, + "median": 51.9, + "p10": 51.9, + "p25": 51.9, + "p75": 51.9, + "p90": 51.9, + "n": 1 + }, + { + "month": "2024-11", + "mean": 33.0, + "median": 33.0, + "p10": 33.0, + "p25": 33.0, + "p75": 33.0, + "p90": 33.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 41.3, + "median": 41.3, + "p10": 41.3, + "p25": 41.3, + "p75": 41.3, + "p90": 41.3, + "n": 1 + }, + { + "month": "2025-03", + "mean": 21.2, + "median": 21.2, + "p10": 21.2, + "p25": 21.2, + "p75": 21.2, + "p90": 21.2, + "n": 1 + }, + { + "month": "2025-05", + "mean": 64.9, + "median": 64.9, + "p10": 64.9, + "p25": 64.9, + "p75": 64.9, + "p90": 64.9, + "n": 1 + }, + { + "month": "2025-08", + "mean": 30.7, + "median": 30.7, + "p10": 30.7, + "p25": 30.7, + "p75": 30.7, + "p90": 30.7, + "n": 1 + }, + { + "month": "2025-09", + "mean": 37.1, + "median": 36.6, + "p10": 32.1, + "p25": 34.2, + "p75": 40.1, + "p90": 42.2, + "n": 5 + }, + { + "month": "2025-10", + "mean": 36.3, + "median": 36.6, + "p10": 31.6, + "p25": 33.0, + "p75": 38.9, + "p90": 41.1, + "n": 5 + }, + { + "month": "2025-11", + "mean": 41.8, + "median": 42.5, + "p10": 35.4, + "p25": 38.9, + "p75": 44.8, + "p90": 47.7, + "n": 5 + }, + { + "month": "2025-12", + "mean": 37.1, + "median": 37.8, + "p10": 30.2, + "p25": 33.0, + "p75": 41.3, + "p90": 43.4, + "n": 5 + }, + { + "month": "2026-01", + "mean": 42.5, + "median": 41.3, + "p10": 36.1, + "p25": 38.9, + "p75": 47.2, + "p90": 49.3, + "n": 5 + }, + { + "month": "2026-02", + "mean": 37.8, + "median": 36.6, + "p10": 32.1, + "p25": 34.2, + "p75": 40.1, + "p90": 44.4, + "n": 5 + }, + { + "month": "2026-03", + "mean": 33.0, + "median": 33.0, + "p10": 27.8, + "p25": 30.7, + "p75": 36.6, + "p90": 38.0, + "n": 5 + }, + { + "month": "2026-04", + "mean": 42.5, + "median": 42.5, + "p10": 37.5, + "p25": 38.9, + "p75": 44.8, + "p90": 47.7, + "n": 5 + }, + { + "month": "2026-05", + "mean": 37.5, + "median": 37.8, + "p10": 31.2, + "p25": 35.4, + "p75": 41.3, + "p90": 43.4, + "n": 5 + } + ], + "stats": { + "n": 63, + "mean": 39.4, + "median": 38.9, + "std": 11.4, + "min": 5.9, + "max": 96.8, + "p25": 33.0, + "p75": 44.8, + "p85": 47.2, + "p95": 56.6 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 96.8, + "annotations": [], + "cost": null, + "detail_rows": { + "columns": [ + { + "key": "matnr", + "sap_field": "MATNR", + "sap_table": "EKPO", + "label": "Material", + "unit": null + }, + { + "key": "po_number", + "sap_field": "EBELN", + "sap_table": "EKKO", + "label": "PO Number", + "unit": null + }, + { + "key": "po_item", + "sap_field": "EBELP", + "sap_table": "EKPO", + "label": "PO Item", + "unit": null + }, + { + "key": "vendor_id", + "sap_field": "LIFNR", + "sap_table": "EKKO", + "label": "Vendor (LIFNR)", + "unit": null + }, + { + "key": "vendor_name", + "sap_field": "NAME1", + "sap_table": "LFA1", + "label": "Vendor Name", + "unit": null + }, + { + "key": "po_date", + "sap_field": "BEDAT", + "sap_table": "EKKO", + "label": "PO Date", + "unit": null + }, + { + "key": "promised_date", + "sap_field": "EINDT", + "sap_table": "EKET", + "label": "Promised Date", + "unit": null + }, + { + "key": "sched_qty", + "sap_field": "MENGE", + "sap_table": "EKET", + "label": "Scheduled Qty", + "unit": null + }, + { + "key": "gr_qty_to_date", + "sap_field": "WEMNG", + "sap_table": "EKET", + "label": "GR Qty (to date)", + "unit": null + }, + { + "key": "gr_mblnr", + "sap_field": "MBLNR", + "sap_table": "MSEG", + "label": "Goods Receipt Document", + "unit": null + }, + { + "key": "first_gr_date", + "sap_field": "BUDAT", + "sap_table": "MKPF", + "label": "Goods Receipt Date", + "unit": null + }, + { + "key": "days_vs_promised", + "sap_field": null, + "sap_table": null, + "label": "Days vs Promised", + "unit": "d" + }, + { + "key": "lead_time_days", + "sap_field": null, + "sap_table": null, + "label": "Lead Time (days)", + "unit": "d" + } + ], + "rows": [ + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000081", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-08-07", + "promised_date": "2025-08-30", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000081", + "first_gr_date": "2025-08-29", + "days_vs_promised": -1, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000082", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-08-11", + "promised_date": "2025-09-05", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000082", + "first_gr_date": "2025-09-03", + "days_vs_promised": -2, + "lead_time_days": 23 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000080", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-07-29", + "promised_date": "2025-09-10", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000080", + "first_gr_date": "2025-09-08", + "days_vs_promised": -2, + "lead_time_days": 41 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000083", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-08-19", + "promised_date": "2025-09-16", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000083", + "first_gr_date": "2025-09-16", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000084", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-08-27", + "promised_date": "2025-10-02", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000084", + "first_gr_date": "2025-10-01", + "days_vs_promised": -1, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000086", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-10", + "promised_date": "2025-10-14", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000086", + "first_gr_date": "2025-10-14", + "days_vs_promised": 0, + "lead_time_days": 34 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000088", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-22", + "promised_date": "2025-10-14", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000088", + "first_gr_date": "2025-10-14", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000085", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-04", + "promised_date": "2025-10-21", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000085", + "first_gr_date": "2025-10-19", + "days_vs_promised": -2, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000087", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-15", + "promised_date": "2025-10-23", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000087", + "first_gr_date": "2025-10-22", + "days_vs_promised": -1, + "lead_time_days": 37 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000089", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-29", + "promised_date": "2025-11-02", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000089", + "first_gr_date": "2025-11-01", + "days_vs_promised": -1, + "lead_time_days": 33 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000090", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-10-08", + "promised_date": "2025-11-07", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000090", + "first_gr_date": "2025-11-06", + "days_vs_promised": -1, + "lead_time_days": 29 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000093", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-10-27", + "promised_date": "2025-11-23", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000093", + "first_gr_date": "2025-11-23", + "days_vs_promised": 0, + "lead_time_days": 27 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000094", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-11-04", + "promised_date": "2025-11-25", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000094", + "first_gr_date": "2025-11-25", + "days_vs_promised": 0, + "lead_time_days": 21 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000091", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-10-14", + "promised_date": "2025-12-02", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000091", + "first_gr_date": "2025-11-30", + "days_vs_promised": -2, + "lead_time_days": 47 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000092", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-10-20", + "promised_date": "2025-12-08", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000092", + "first_gr_date": "2025-12-07", + "days_vs_promised": -1, + "lead_time_days": 48 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000095", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-11-11", + "promised_date": "2025-12-23", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000095", + "first_gr_date": "2025-12-20", + "days_vs_promised": -3, + "lead_time_days": 39 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000099", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-09", + "promised_date": "2025-12-30", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000099", + "first_gr_date": "2025-12-27", + "days_vs_promised": -3, + "lead_time_days": 18 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000096", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-11-20", + "promised_date": "2025-12-28", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000096", + "first_gr_date": "2025-12-28", + "days_vs_promised": 0, + "lead_time_days": 38 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000098", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-03", + "promised_date": "2025-12-28", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000098", + "first_gr_date": "2025-12-28", + "days_vs_promised": 0, + "lead_time_days": 25 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000097", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-11-25", + "promised_date": "2025-12-31", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000097", + "first_gr_date": "2025-12-30", + "days_vs_promised": -1, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000101", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-23", + "promised_date": "2026-01-15", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000101", + "first_gr_date": "2026-01-15", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000102", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-31", + "promised_date": "2026-01-20", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000102", + "first_gr_date": "2026-01-20", + "days_vs_promised": 0, + "lead_time_days": 20 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000100", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-17", + "promised_date": "2026-02-04", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000100", + "first_gr_date": "2026-02-04", + "days_vs_promised": 0, + "lead_time_days": 49 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000122", + "po_item": "00010", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-01-12", + "promised_date": "2026-02-04", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000122", + "first_gr_date": "2026-02-04", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000104", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-01-14", + "promised_date": "2026-02-09", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000104", + "first_gr_date": "2026-02-08", + "days_vs_promised": -1, + "lead_time_days": 25 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000103", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-01-06", + "promised_date": "2026-02-13", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000103", + "first_gr_date": "2026-02-13", + "days_vs_promised": 0, + "lead_time_days": 38 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000105", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-01-19", + "promised_date": "2026-02-23", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000105", + "first_gr_date": "2026-02-23", + "days_vs_promised": 0, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000125", + "po_item": "00040", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-02-02", + "promised_date": "2026-02-24", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000125", + "first_gr_date": "2026-02-24", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000123", + "po_item": "00020", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-01-20", + "promised_date": "2026-02-27", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000123", + "first_gr_date": "2026-02-27", + "days_vs_promised": 0, + "lead_time_days": 38 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000107", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-02-05", + "promised_date": "2026-03-02", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000107", + "first_gr_date": "2026-03-02", + "days_vs_promised": 0, + "lead_time_days": 25 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000124", + "po_item": "00030", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-01-29", + "promised_date": "2026-03-10", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000124", + "first_gr_date": "2026-03-07", + "days_vs_promised": -3, + "lead_time_days": 37 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000106", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-01-27", + "promised_date": "2026-03-16", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000106", + "first_gr_date": "2026-03-13", + "days_vs_promised": -3, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000126", + "po_item": "00050", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-02-09", + "promised_date": "2026-03-14", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000126", + "first_gr_date": "2026-03-14", + "days_vs_promised": 0, + "lead_time_days": 33 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000127", + "po_item": "00010", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-02-17", + "promised_date": "2026-03-24", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000127", + "first_gr_date": "2026-03-23", + "days_vs_promised": -1, + "lead_time_days": 34 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000108", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-02-12", + "promised_date": "2026-03-24", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000108", + "first_gr_date": "2026-03-24", + "days_vs_promised": 0, + "lead_time_days": 40 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000128", + "po_item": "00020", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-02-23", + "promised_date": "2026-03-24", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000128", + "first_gr_date": "2026-03-24", + "days_vs_promised": 0, + "lead_time_days": 29 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000110", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-02-24", + "promised_date": "2026-03-27", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000110", + "first_gr_date": "2026-03-25", + "days_vs_promised": -2, + "lead_time_days": 29 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000109", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-02-17", + "promised_date": "2026-04-06", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000109", + "first_gr_date": "2026-04-06", + "days_vs_promised": 0, + "lead_time_days": 48 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000129", + "po_item": "00030", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-03-04", + "promised_date": "2026-04-11", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000129", + "first_gr_date": "2026-04-08", + "days_vs_promised": -3, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000114", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-03-23", + "promised_date": "2026-04-13", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000114", + "first_gr_date": "2026-04-11", + "days_vs_promised": -2, + "lead_time_days": 19 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000111", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-03-05", + "promised_date": "2026-04-15", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000111", + "first_gr_date": "2026-04-12", + "days_vs_promised": -3, + "lead_time_days": 38 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000112", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-03-09", + "promised_date": "2026-04-13", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000112", + "first_gr_date": "2026-04-13", + "days_vs_promised": 0, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000130", + "po_item": "00040", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-03-09", + "promised_date": "2026-04-17", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000130", + "first_gr_date": "2026-04-17", + "days_vs_promised": 0, + "lead_time_days": 39 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000115", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-01", + "promised_date": "2026-04-23", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000115", + "first_gr_date": "2026-04-23", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000134", + "po_item": "00030", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-06", + "promised_date": "2026-05-03", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000134", + "first_gr_date": "2026-04-30", + "days_vs_promised": -3, + "lead_time_days": 24 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000113", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-03-17", + "promised_date": "2026-05-04", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000113", + "first_gr_date": "2026-05-01", + "days_vs_promised": -3, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000131", + "po_item": "00050", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000131", + "first_gr_date": "2026-05-01", + "days_vs_promised": 0, + "lead_time_days": 46 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000117", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-15", + "promised_date": "2026-05-05", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000117", + "first_gr_date": "2026-05-05", + "days_vs_promised": 0, + "lead_time_days": 20 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000136", + "po_item": "00050", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-20", + "promised_date": "2026-05-10", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000136", + "first_gr_date": "2026-05-08", + "days_vs_promised": -2, + "lead_time_days": 18 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000132", + "po_item": "00010", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-03-25", + "promised_date": "2026-05-11", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000132", + "first_gr_date": "2026-05-09", + "days_vs_promised": -2, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000133", + "po_item": "00020", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-02", + "promised_date": "2026-05-13", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000133", + "first_gr_date": "2026-05-13", + "days_vs_promised": 0, + "lead_time_days": 41 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000135", + "po_item": "00040", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-15", + "promised_date": "2026-05-18", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000135", + "first_gr_date": "2026-05-18", + "days_vs_promised": 0, + "lead_time_days": 33 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000116", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-06", + "promised_date": "2026-05-21", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000116", + "first_gr_date": "2026-05-21", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000138", + "po_item": "00020", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-05-06", + "promised_date": "2026-05-28", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000138", + "first_gr_date": "2026-05-28", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000118", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-20", + "promised_date": "2026-06-01", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000118", + "first_gr_date": "2026-05-31", + "days_vs_promised": -1, + "lead_time_days": 41 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000139", + "po_item": "00030", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-05-14", + "promised_date": "2026-06-03", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000139", + "first_gr_date": "2026-05-31", + "days_vs_promised": -3, + "lead_time_days": 17 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000137", + "po_item": "00010", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-29", + "promised_date": "2026-06-01", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000137", + "first_gr_date": "2026-06-01", + "days_vs_promised": 0, + "lead_time_days": 33 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000120", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-05-06", + "promised_date": "2026-06-08", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000120", + "first_gr_date": "2026-06-05", + "days_vs_promised": -3, + "lead_time_days": 30 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000119", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-30", + "promised_date": "2026-06-17", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000119", + "first_gr_date": "2026-06-17", + "days_vs_promised": 0, + "lead_time_days": 48 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000121", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-05-13", + "promised_date": "2026-06-19", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000121", + "first_gr_date": "2026-06-19", + "days_vs_promised": 0, + "lead_time_days": 37 + } + ] + }, + "ref_date_col": "first_gr_date", + "n_batches": null, + "n_movements": 18, + "yield_data": null, + "consumption_data": null, + "supplier_otif": { + "primary_vendor": { + "id": "D0004", + "name": "Riverbend Reliable Supply" + }, + "vendors": [ + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "n_lines": 42, + "n_late": 0, + "on_time_pct": 100.0, + "in_full_pct": 100.0, + "otif_pct": 100.0, + "mean_days_late_all": 0, + "mean_days_late_when_late": null, + "median_days_late_when_late": null, + "max_days_late": 0, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 0.0, + "ge_3d_pct": 0.0, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + } + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "n_lines": 18, + "n_late": 0, + "on_time_pct": 100.0, + "in_full_pct": 100.0, + "otif_pct": 100.0, + "mean_days_late_all": 0, + "mean_days_late_when_late": null, + "median_days_late_when_late": null, + "max_days_late": 0, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 0.0, + "ge_3d_pct": 0.0, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + } + } + ], + "worst_events": [], + "coverage_pct": 100.0, + "n_lines": 60, + "data_quality_note": "100% in-full across every line \u2014 likely WEMNG = MENGE is auto-stamped at goods receipt rather than measured. Treat the in-full metric as a data-entry artifact at this site.", + "tolerance_days": 0, + "under_tolerance_pct": 0.05, + "lines": [ + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000080", + "po_item": "00010", + "po_date": "2025-07-29", + "promised_date": "2025-09-10", + "first_gr_date": "2025-09-08", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000081", + "po_item": "00020", + "po_date": "2025-08-07", + "promised_date": "2025-08-30", + "first_gr_date": "2025-08-29", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000082", + "po_item": "00030", + "po_date": "2025-08-11", + "promised_date": "2025-09-05", + "first_gr_date": "2025-09-03", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000083", + "po_item": "00040", + "po_date": "2025-08-19", + "promised_date": "2025-09-16", + "first_gr_date": "2025-09-16", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000084", + "po_item": "00050", + "po_date": "2025-08-27", + "promised_date": "2025-10-02", + "first_gr_date": "2025-10-01", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000085", + "po_item": "00010", + "po_date": "2025-09-04", + "promised_date": "2025-10-21", + "first_gr_date": "2025-10-19", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000086", + "po_item": "00020", + "po_date": "2025-09-10", + "promised_date": "2025-10-14", + "first_gr_date": "2025-10-14", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000087", + "po_item": "00030", + "po_date": "2025-09-15", + "promised_date": "2025-10-23", + "first_gr_date": "2025-10-22", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000088", + "po_item": "00040", + "po_date": "2025-09-22", + "promised_date": "2025-10-14", + "first_gr_date": "2025-10-14", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000089", + "po_item": "00050", + "po_date": "2025-09-29", + "promised_date": "2025-11-02", + "first_gr_date": "2025-11-01", + "days_late": -1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000090", + "po_item": "00010", + "po_date": "2025-10-08", + "promised_date": "2025-11-07", + "first_gr_date": "2025-11-06", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000091", + "po_item": "00020", + "po_date": "2025-10-14", + "promised_date": "2025-12-02", + "first_gr_date": "2025-11-30", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000092", + "po_item": "00030", + "po_date": "2025-10-20", + "promised_date": "2025-12-08", + "first_gr_date": "2025-12-07", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000093", + "po_item": "00040", + "po_date": "2025-10-27", + "promised_date": "2025-11-23", + "first_gr_date": "2025-11-23", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000094", + "po_item": "00050", + "po_date": "2025-11-04", + "promised_date": "2025-11-25", + "first_gr_date": "2025-11-25", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000095", + "po_item": "00010", + "po_date": "2025-11-11", + "promised_date": "2025-12-23", + "first_gr_date": "2025-12-20", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000096", + "po_item": "00020", + "po_date": "2025-11-20", + "promised_date": "2025-12-28", + "first_gr_date": "2025-12-28", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000097", + "po_item": "00030", + "po_date": "2025-11-25", + "promised_date": "2025-12-31", + "first_gr_date": "2025-12-30", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000098", + "po_item": "00040", + "po_date": "2025-12-03", + "promised_date": "2025-12-28", + "first_gr_date": "2025-12-28", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000099", + "po_item": "00050", + "po_date": "2025-12-09", + "promised_date": "2025-12-30", + "first_gr_date": "2025-12-27", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000100", + "po_item": "00010", + "po_date": "2025-12-17", + "promised_date": "2026-02-04", + "first_gr_date": "2026-02-04", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000101", + "po_item": "00020", + "po_date": "2025-12-23", + "promised_date": "2026-01-15", + "first_gr_date": "2026-01-15", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000102", + "po_item": "00030", + "po_date": "2025-12-31", + "promised_date": "2026-01-20", + "first_gr_date": "2026-01-20", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000103", + "po_item": "00040", + "po_date": "2026-01-06", + "promised_date": "2026-02-13", + "first_gr_date": "2026-02-13", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000104", + "po_item": "00050", + "po_date": "2026-01-14", + "promised_date": "2026-02-09", + "first_gr_date": "2026-02-08", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000105", + "po_item": "00010", + "po_date": "2026-01-19", + "promised_date": "2026-02-23", + "first_gr_date": "2026-02-23", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000106", + "po_item": "00020", + "po_date": "2026-01-27", + "promised_date": "2026-03-16", + "first_gr_date": "2026-03-13", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000107", + "po_item": "00030", + "po_date": "2026-02-05", + "promised_date": "2026-03-02", + "first_gr_date": "2026-03-02", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000108", + "po_item": "00040", + "po_date": "2026-02-12", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-24", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000109", + "po_item": "00050", + "po_date": "2026-02-17", + "promised_date": "2026-04-06", + "first_gr_date": "2026-04-06", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000110", + "po_item": "00010", + "po_date": "2026-02-24", + "promised_date": "2026-03-27", + "first_gr_date": "2026-03-25", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000111", + "po_item": "00020", + "po_date": "2026-03-05", + "promised_date": "2026-04-15", + "first_gr_date": "2026-04-12", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000112", + "po_item": "00030", + "po_date": "2026-03-09", + "promised_date": "2026-04-13", + "first_gr_date": "2026-04-13", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000113", + "po_item": "00040", + "po_date": "2026-03-17", + "promised_date": "2026-05-04", + "first_gr_date": "2026-05-01", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000114", + "po_item": "00050", + "po_date": "2026-03-23", + "promised_date": "2026-04-13", + "first_gr_date": "2026-04-11", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000115", + "po_item": "00010", + "po_date": "2026-04-01", + "promised_date": "2026-04-23", + "first_gr_date": "2026-04-23", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000116", + "po_item": "00020", + "po_date": "2026-04-06", + "promised_date": "2026-05-21", + "first_gr_date": "2026-05-21", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000117", + "po_item": "00030", + "po_date": "2026-04-15", + "promised_date": "2026-05-05", + "first_gr_date": "2026-05-05", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000118", + "po_item": "00040", + "po_date": "2026-04-20", + "promised_date": "2026-06-01", + "first_gr_date": "2026-05-31", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000119", + "po_item": "00050", + "po_date": "2026-04-30", + "promised_date": "2026-06-17", + "first_gr_date": "2026-06-17", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000120", + "po_item": "00010", + "po_date": "2026-05-06", + "promised_date": "2026-06-08", + "first_gr_date": "2026-06-05", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000121", + "po_item": "00020", + "po_date": "2026-05-13", + "promised_date": "2026-06-19", + "first_gr_date": "2026-06-19", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000122", + "po_item": "00010", + "po_date": "2026-01-12", + "promised_date": "2026-02-04", + "first_gr_date": "2026-02-04", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000123", + "po_item": "00020", + "po_date": "2026-01-20", + "promised_date": "2026-02-27", + "first_gr_date": "2026-02-27", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000124", + "po_item": "00030", + "po_date": "2026-01-29", + "promised_date": "2026-03-10", + "first_gr_date": "2026-03-07", + "days_late": -3, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000125", + "po_item": "00040", + "po_date": "2026-02-02", + "promised_date": "2026-02-24", + "first_gr_date": "2026-02-24", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000126", + "po_item": "00050", + "po_date": "2026-02-09", + "promised_date": "2026-03-14", + "first_gr_date": "2026-03-14", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000127", + "po_item": "00010", + "po_date": "2026-02-17", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-23", + "days_late": -1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000128", + "po_item": "00020", + "po_date": "2026-02-23", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-24", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000129", + "po_item": "00030", + "po_date": "2026-03-04", + "promised_date": "2026-04-11", + "first_gr_date": "2026-04-08", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000130", + "po_item": "00040", + "po_date": "2026-03-09", + "promised_date": "2026-04-17", + "first_gr_date": "2026-04-17", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000131", + "po_item": "00050", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "first_gr_date": "2026-05-01", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000132", + "po_item": "00010", + "po_date": "2026-03-25", + "promised_date": "2026-05-11", + "first_gr_date": "2026-05-09", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000133", + "po_item": "00020", + "po_date": "2026-04-02", + "promised_date": "2026-05-13", + "first_gr_date": "2026-05-13", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000134", + "po_item": "00030", + "po_date": "2026-04-06", + "promised_date": "2026-05-03", + "first_gr_date": "2026-04-30", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000135", + "po_item": "00040", + "po_date": "2026-04-15", + "promised_date": "2026-05-18", + "first_gr_date": "2026-05-18", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000136", + "po_item": "00050", + "po_date": "2026-04-20", + "promised_date": "2026-05-10", + "first_gr_date": "2026-05-08", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000137", + "po_item": "00010", + "po_date": "2026-04-29", + "promised_date": "2026-06-01", + "first_gr_date": "2026-06-01", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000138", + "po_item": "00020", + "po_date": "2026-05-06", + "promised_date": "2026-05-28", + "first_gr_date": "2026-05-28", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000139", + "po_item": "00030", + "po_date": "2026-05-14", + "promised_date": "2026-06-03", + "first_gr_date": "2026-05-31", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + } + ] + }, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/procurement_washed_bourbon.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/procurement_washed_bourbon.json new file mode 100644 index 00000000000..e7ce8b6acd7 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/procurement_washed_bourbon.json @@ -0,0 +1,2251 @@ +{ + "id": "procurement_washed_bourbon", + "label": "Procurement: Washed Bourbon", + "type": "procurement", + "durations": [ + 41.3, 18.9, 73.2, 8.3, 47.2, 29.5, 56.6, 14.2, 35.4, 16.5, 35.4, 22.4, 26.0, + 27.1, 29.5, 27.1, 29.5, 31.9, 34.2, 36.6, 27.1, 29.5, 31.9, 34.2, 36.6, + 26.0, 28.3, 30.7, 33.0, 21.2, 33.0, 35.4, 37.8, 26.0, 28.3, 31.9, 35.4, + 22.4, 26.0, 27.1, 40.1, 27.1, 29.5, 31.9, 34.2, 23.6, 27.1, 29.5, 31.9, + 34.2, 23.6, 26.0, 28.3, 30.7, 33.0 + ], + "observations": [ + { + "date": "2022-05-03", + "value": 41.3 + }, + { + "date": "2022-10-18", + "value": 18.9 + }, + { + "date": "2023-01-24", + "value": 73.2 + }, + { + "date": "2023-06-15", + "value": 8.3 + }, + { + "date": "2023-09-28", + "value": 47.2 + }, + { + "date": "2024-02-12", + "value": 29.5 + }, + { + "date": "2024-05-07", + "value": 56.6 + }, + { + "date": "2024-09-19", + "value": 14.2 + }, + { + "date": "2025-02-04", + "value": 35.4 + }, + { + "date": "2025-06-10", + "value": 16.5 + }, + { + "date": "2025-09-06", + "value": 35.4 + }, + { + "date": "2025-09-12", + "value": 22.4 + }, + { + "date": "2025-09-18", + "value": 26.0 + }, + { + "date": "2025-09-24", + "value": 27.1 + }, + { + "date": "2025-09-30", + "value": 29.5 + }, + { + "date": "2025-10-04", + "value": 27.1 + }, + { + "date": "2025-10-10", + "value": 29.5 + }, + { + "date": "2025-10-16", + "value": 31.9 + }, + { + "date": "2025-10-22", + "value": 34.2 + }, + { + "date": "2025-10-28", + "value": 36.6 + }, + { + "date": "2025-11-05", + "value": 27.1 + }, + { + "date": "2025-11-11", + "value": 29.5 + }, + { + "date": "2025-11-17", + "value": 31.9 + }, + { + "date": "2025-11-23", + "value": 34.2 + }, + { + "date": "2025-11-29", + "value": 36.6 + }, + { + "date": "2025-12-06", + "value": 26.0 + }, + { + "date": "2025-12-12", + "value": 28.3 + }, + { + "date": "2025-12-18", + "value": 30.7 + }, + { + "date": "2025-12-24", + "value": 33.0 + }, + { + "date": "2025-12-30", + "value": 21.2 + }, + { + "date": "2026-01-04", + "value": 33.0 + }, + { + "date": "2026-01-10", + "value": 35.4 + }, + { + "date": "2026-01-16", + "value": 37.8 + }, + { + "date": "2026-01-22", + "value": 26.0 + }, + { + "date": "2026-01-28", + "value": 28.3 + }, + { + "date": "2026-02-05", + "value": 31.9 + }, + { + "date": "2026-02-11", + "value": 35.4 + }, + { + "date": "2026-02-17", + "value": 22.4 + }, + { + "date": "2026-02-23", + "value": 26.0 + }, + { + "date": "2026-02-29", + "value": 27.1 + }, + { + "date": "2026-03-06", + "value": 40.1 + }, + { + "date": "2026-03-12", + "value": 27.1 + }, + { + "date": "2026-03-18", + "value": 29.5 + }, + { + "date": "2026-03-24", + "value": 31.9 + }, + { + "date": "2026-03-30", + "value": 34.2 + }, + { + "date": "2026-04-04", + "value": 23.6 + }, + { + "date": "2026-04-10", + "value": 27.1 + }, + { + "date": "2026-04-16", + "value": 29.5 + }, + { + "date": "2026-04-22", + "value": 31.9 + }, + { + "date": "2026-04-28", + "value": 34.2 + }, + { + "date": "2026-05-05", + "value": 23.6 + }, + { + "date": "2026-05-11", + "value": 26.0 + }, + { + "date": "2026-05-17", + "value": 28.3 + }, + { + "date": "2026-05-23", + "value": 30.7 + }, + { + "date": "2026-05-29", + "value": 33.0 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 41.3, + "median": 41.3, + "p10": 41.3, + "p25": 41.3, + "p75": 41.3, + "p90": 41.3, + "n": 1 + }, + { + "month": "2022-10", + "mean": 18.9, + "median": 18.9, + "p10": 18.9, + "p25": 18.9, + "p75": 18.9, + "p90": 18.9, + "n": 1 + }, + { + "month": "2023-01", + "mean": 73.2, + "median": 73.2, + "p10": 73.2, + "p25": 73.2, + "p75": 73.2, + "p90": 73.2, + "n": 1 + }, + { + "month": "2023-06", + "mean": 8.3, + "median": 8.3, + "p10": 8.3, + "p25": 8.3, + "p75": 8.3, + "p90": 8.3, + "n": 1 + }, + { + "month": "2023-09", + "mean": 47.2, + "median": 47.2, + "p10": 47.2, + "p25": 47.2, + "p75": 47.2, + "p90": 47.2, + "n": 1 + }, + { + "month": "2024-02", + "mean": 29.5, + "median": 29.5, + "p10": 29.5, + "p25": 29.5, + "p75": 29.5, + "p90": 29.5, + "n": 1 + }, + { + "month": "2024-05", + "mean": 56.6, + "median": 56.6, + "p10": 56.6, + "p25": 56.6, + "p75": 56.6, + "p90": 56.6, + "n": 1 + }, + { + "month": "2024-09", + "mean": 14.2, + "median": 14.2, + "p10": 14.2, + "p25": 14.2, + "p75": 14.2, + "p90": 14.2, + "n": 1 + }, + { + "month": "2025-02", + "mean": 35.4, + "median": 35.4, + "p10": 35.4, + "p25": 35.4, + "p75": 35.4, + "p90": 35.4, + "n": 1 + }, + { + "month": "2025-06", + "mean": 16.5, + "median": 16.5, + "p10": 16.5, + "p25": 16.5, + "p75": 16.5, + "p90": 16.5, + "n": 1 + }, + { + "month": "2025-09", + "mean": 28.1, + "median": 27.1, + "p10": 23.8, + "p25": 26.0, + "p75": 29.5, + "p90": 33.0, + "n": 5 + }, + { + "month": "2025-10", + "mean": 31.9, + "median": 31.9, + "p10": 28.1, + "p25": 29.5, + "p75": 34.2, + "p90": 35.6, + "n": 5 + }, + { + "month": "2025-11", + "mean": 31.9, + "median": 31.9, + "p10": 28.1, + "p25": 29.5, + "p75": 34.2, + "p90": 35.6, + "n": 5 + }, + { + "month": "2025-12", + "mean": 27.8, + "median": 28.3, + "p10": 23.1, + "p25": 26.0, + "p75": 30.7, + "p90": 32.1, + "n": 5 + }, + { + "month": "2026-01", + "mean": 32.1, + "median": 33.0, + "p10": 26.9, + "p25": 28.3, + "p75": 35.4, + "p90": 36.8, + "n": 5 + }, + { + "month": "2026-02", + "mean": 28.6, + "median": 27.1, + "p10": 23.8, + "p25": 26.0, + "p75": 31.9, + "p90": 34.0, + "n": 5 + }, + { + "month": "2026-03", + "mean": 32.6, + "median": 31.9, + "p10": 28.1, + "p25": 29.5, + "p75": 34.2, + "p90": 37.8, + "n": 5 + }, + { + "month": "2026-04", + "mean": 29.3, + "median": 29.5, + "p10": 25.0, + "p25": 27.1, + "p75": 31.9, + "p90": 33.3, + "n": 5 + }, + { + "month": "2026-05", + "mean": 28.3, + "median": 28.3, + "p10": 24.5, + "p25": 26.0, + "p75": 30.7, + "p90": 32.1, + "n": 5 + } + ], + "stats": { + "n": 55, + "mean": 30.8, + "median": 29.5, + "std": 8.0, + "min": 8.3, + "max": 73.2, + "p25": 26.0, + "p75": 34.2, + "p85": 35.4, + "p95": 41.3 + }, + "plifz": 7, + "plifz_note": null, + "pct_exceeding_plifz": 98.2, + "annotations": [], + "cost": null, + "detail_rows": { + "columns": [ + { + "key": "matnr", + "sap_field": "MATNR", + "sap_table": "EKPO", + "label": "Material", + "unit": null + }, + { + "key": "po_number", + "sap_field": "EBELN", + "sap_table": "EKKO", + "label": "PO Number", + "unit": null + }, + { + "key": "po_item", + "sap_field": "EBELP", + "sap_table": "EKPO", + "label": "PO Item", + "unit": null + }, + { + "key": "vendor_id", + "sap_field": "LIFNR", + "sap_table": "EKKO", + "label": "Vendor (LIFNR)", + "unit": null + }, + { + "key": "vendor_name", + "sap_field": "NAME1", + "sap_table": "LFA1", + "label": "Vendor Name", + "unit": null + }, + { + "key": "po_date", + "sap_field": "BEDAT", + "sap_table": "EKKO", + "label": "PO Date", + "unit": null + }, + { + "key": "promised_date", + "sap_field": "EINDT", + "sap_table": "EKET", + "label": "Promised Date", + "unit": null + }, + { + "key": "sched_qty", + "sap_field": "MENGE", + "sap_table": "EKET", + "label": "Scheduled Qty", + "unit": null + }, + { + "key": "gr_qty_to_date", + "sap_field": "WEMNG", + "sap_table": "EKET", + "label": "GR Qty (to date)", + "unit": null + }, + { + "key": "gr_mblnr", + "sap_field": "MBLNR", + "sap_table": "MSEG", + "label": "Goods Receipt Document", + "unit": null + }, + { + "key": "first_gr_date", + "sap_field": "BUDAT", + "sap_table": "MKPF", + "label": "Goods Receipt Date", + "unit": null + }, + { + "key": "days_vs_promised", + "sap_field": null, + "sap_table": null, + "label": "Days vs Promised", + "unit": "d" + }, + { + "key": "lead_time_days", + "sap_field": null, + "sap_table": null, + "label": "Lead Time (days)", + "unit": "d" + } + ], + "rows": [ + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000142", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-09-29", + "promised_date": "2025-10-29", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000142", + "first_gr_date": "2025-10-29", + "days_vs_promised": 0, + "lead_time_days": 30 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000141", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-09-23", + "promised_date": "2025-11-02", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000141", + "first_gr_date": "2025-11-02", + "days_vs_promised": 0, + "lead_time_days": 40 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000140", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-09-18", + "promised_date": "2025-10-14", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000140", + "first_gr_date": "2025-11-07", + "days_vs_promised": 24, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000143", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-10-09", + "promised_date": "2025-11-07", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000143", + "first_gr_date": "2025-11-07", + "days_vs_promised": 0, + "lead_time_days": 29 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000144", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-10-13", + "promised_date": "2025-11-10", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000144", + "first_gr_date": "2025-11-10", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000146", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-10-28", + "promised_date": "2025-12-05", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000146", + "first_gr_date": "2025-12-03", + "days_vs_promised": -2, + "lead_time_days": 36 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000145", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-10-22", + "promised_date": "2025-12-11", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000145", + "first_gr_date": "2025-12-11", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000148", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-11-10", + "promised_date": "2025-12-21", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000148", + "first_gr_date": "2025-12-21", + "days_vs_promised": 0, + "lead_time_days": 41 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000147", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-11-03", + "promised_date": "2025-12-23", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000147", + "first_gr_date": "2025-12-23", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000150", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-11-24", + "promised_date": "2026-01-09", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000150", + "first_gr_date": "2026-01-06", + "days_vs_promised": -3, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000149", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-11-18", + "promised_date": "2026-01-07", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000149", + "first_gr_date": "2026-01-07", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000151", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-01", + "promised_date": "2026-01-16", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000151", + "first_gr_date": "2026-01-13", + "days_vs_promised": -3, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000153", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000153", + "first_gr_date": "2026-01-13", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000155", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-29", + "promised_date": "2026-01-20", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000155", + "first_gr_date": "2026-01-20", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000152", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-08", + "promised_date": "2026-01-26", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000152", + "first_gr_date": "2026-01-26", + "days_vs_promised": 0, + "lead_time_days": 49 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000154", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-22", + "promised_date": "2026-02-02", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000154", + "first_gr_date": "2026-01-31", + "days_vs_promised": -2, + "lead_time_days": 40 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000156", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-01-07", + "promised_date": "2026-02-17", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000156", + "first_gr_date": "2026-02-14", + "days_vs_promised": -3, + "lead_time_days": 38 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000158", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-01-21", + "promised_date": "2026-02-15", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000158", + "first_gr_date": "2026-02-15", + "days_vs_promised": 0, + "lead_time_days": 25 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000157", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-01-15", + "promised_date": "2026-02-27", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000157", + "first_gr_date": "2026-02-27", + "days_vs_promised": 0, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000159", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-01-27", + "promised_date": "2026-03-06", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000159", + "first_gr_date": "2026-03-06", + "days_vs_promised": 0, + "lead_time_days": 38 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000176", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-12", + "promised_date": "2026-03-07", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000176", + "first_gr_date": "2026-03-07", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000160", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-02-02", + "promised_date": "2026-03-08", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000160", + "first_gr_date": "2026-03-08", + "days_vs_promised": 0, + "lead_time_days": 34 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000175", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-03", + "promised_date": "2026-03-10", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000175", + "first_gr_date": "2026-03-10", + "days_vs_promised": 0, + "lead_time_days": 35 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000178", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-25", + "promised_date": "2026-03-19", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000178", + "first_gr_date": "2026-03-19", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000161", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-02-12", + "promised_date": "2026-03-19", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000161", + "first_gr_date": "2026-03-20", + "days_vs_promised": 1, + "lead_time_days": 36 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000179", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-04", + "promised_date": "2026-03-30", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000179", + "first_gr_date": "2026-03-29", + "days_vs_promised": -1, + "lead_time_days": 25 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000162", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-02-17", + "promised_date": "2026-03-20", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000162", + "first_gr_date": "2026-04-01", + "days_vs_promised": 12, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000180", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-12", + "promised_date": "2026-04-02", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000180", + "first_gr_date": "2026-04-02", + "days_vs_promised": 0, + "lead_time_days": 21 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000177", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-17", + "promised_date": "2026-04-03", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000177", + "first_gr_date": "2026-04-05", + "days_vs_promised": 2, + "lead_time_days": 47 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000165", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-10", + "promised_date": "2026-04-07", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000165", + "first_gr_date": "2026-04-07", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000164", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-03", + "promised_date": "2026-04-10", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000164", + "first_gr_date": "2026-04-09", + "days_vs_promised": -1, + "lead_time_days": 37 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000163", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-02-23", + "promised_date": "2026-04-10", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000163", + "first_gr_date": "2026-04-10", + "days_vs_promised": 0, + "lead_time_days": 46 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000166", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-17", + "promised_date": "2026-04-11", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000166", + "first_gr_date": "2026-04-10", + "days_vs_promised": -1, + "lead_time_days": 24 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000167", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-26", + "promised_date": "2026-04-16", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000167", + "first_gr_date": "2026-04-16", + "days_vs_promised": 0, + "lead_time_days": 21 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000181", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-19", + "promised_date": "2026-04-24", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000181", + "first_gr_date": "2026-04-24", + "days_vs_promised": 0, + "lead_time_days": 36 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000182", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-24", + "promised_date": "2026-04-28", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000182", + "first_gr_date": "2026-04-25", + "days_vs_promised": -3, + "lead_time_days": 32 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000183", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-01", + "promised_date": "2026-04-26", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000183", + "first_gr_date": "2026-04-26", + "days_vs_promised": 0, + "lead_time_days": 25 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000168", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-30", + "promised_date": "2026-05-01", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000168", + "first_gr_date": "2026-04-30", + "days_vs_promised": -1, + "lead_time_days": 31 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000171", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-04-23", + "promised_date": "2026-05-14", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000171", + "first_gr_date": "2026-05-11", + "days_vs_promised": -3, + "lead_time_days": 18 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000185", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-14", + "promised_date": "2026-05-11", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000185", + "first_gr_date": "2026-05-11", + "days_vs_promised": 0, + "lead_time_days": 27 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000184", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-06", + "promised_date": "2026-05-16", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000184", + "first_gr_date": "2026-05-16", + "days_vs_promised": 0, + "lead_time_days": 40 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000169", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000169", + "first_gr_date": "2026-05-27", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000170", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-04-14", + "promised_date": "2026-05-29", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000170", + "first_gr_date": "2026-05-27", + "days_vs_promised": -2, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000174", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-05-13", + "promised_date": "2026-06-05", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000174", + "first_gr_date": "2026-06-03", + "days_vs_promised": -2, + "lead_time_days": 21 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000172", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-04-30", + "promised_date": "2026-06-11", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000172", + "first_gr_date": "2026-06-09", + "days_vs_promised": -2, + "lead_time_days": 40 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000186", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-21", + "promised_date": "2026-06-10", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000186", + "first_gr_date": "2026-06-15", + "days_vs_promised": 5, + "lead_time_days": 55 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000189", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-05-12", + "promised_date": "2026-06-16", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000189", + "first_gr_date": "2026-06-17", + "days_vs_promised": 1, + "lead_time_days": 36 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000187", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-30", + "promised_date": "2026-06-18", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000187", + "first_gr_date": "2026-06-18", + "days_vs_promised": 0, + "lead_time_days": 49 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000188", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-05-04", + "promised_date": "2026-06-21", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000188", + "first_gr_date": "2026-06-21", + "days_vs_promised": 0, + "lead_time_days": 48 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000173", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-05-05", + "promised_date": "2026-06-24", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000173", + "first_gr_date": "2026-07-02", + "days_vs_promised": 8, + "lead_time_days": 58 + } + ] + }, + "ref_date_col": "first_gr_date", + "n_batches": null, + "n_movements": 10, + "yield_data": null, + "consumption_data": null, + "supplier_otif": { + "primary_vendor": { + "id": "D0005", + "name": "Midland Mid-Tier Partners" + }, + "vendors": [ + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "n_lines": 35, + "n_late": 4, + "on_time_pct": 88.6, + "in_full_pct": 100.0, + "otif_pct": 88.6, + "mean_days_late_all": 1.29, + "mean_days_late_when_late": 11.2, + "median_days_late_when_late": 10.0, + "max_days_late": 24, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 11.4, + "ge_3d_pct": 8.6, + "ge_7d_pct": 8.6, + "ge_14d_pct": 2.9 + } + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "n_lines": 15, + "n_late": 3, + "on_time_pct": 80.0, + "in_full_pct": 100.0, + "otif_pct": 80.0, + "mean_days_late_all": 0.53, + "mean_days_late_when_late": 2.7, + "median_days_late_when_late": 2, + "max_days_late": 5, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 20.0, + "ge_3d_pct": 6.7, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + } + } + ], + "worst_events": [ + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000140", + "po_item": "00010", + "po_date": "2025-09-18", + "promised_date": "2025-10-14", + "first_gr_date": "2025-11-07", + "days_late": 24, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000162", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-03-20", + "first_gr_date": "2026-04-01", + "days_late": 12, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000173", + "po_item": "00040", + "po_date": "2026-05-05", + "promised_date": "2026-06-24", + "first_gr_date": "2026-07-02", + "days_late": 8, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000186", + "po_item": "00020", + "po_date": "2026-04-21", + "promised_date": "2026-06-10", + "first_gr_date": "2026-06-15", + "days_late": 5, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000177", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-05", + "days_late": 2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0 + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000161", + "po_item": "00020", + "po_date": "2026-02-12", + "promised_date": "2026-03-19", + "first_gr_date": "2026-03-20", + "days_late": 1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000189", + "po_item": "00050", + "po_date": "2026-05-12", + "promised_date": "2026-06-16", + "first_gr_date": "2026-06-17", + "days_late": 1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + } + ], + "coverage_pct": 100.0, + "n_lines": 50, + "data_quality_note": "100% in-full across every line \u2014 likely WEMNG = MENGE is auto-stamped at goods receipt rather than measured. Treat the in-full metric as a data-entry artifact at this site.", + "tolerance_days": 0, + "under_tolerance_pct": 0.05, + "lines": [ + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000140", + "po_item": "00010", + "po_date": "2025-09-18", + "promised_date": "2025-10-14", + "first_gr_date": "2025-11-07", + "days_late": 24, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000141", + "po_item": "00020", + "po_date": "2025-09-23", + "promised_date": "2025-11-02", + "first_gr_date": "2025-11-02", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000142", + "po_item": "00030", + "po_date": "2025-09-29", + "promised_date": "2025-10-29", + "first_gr_date": "2025-10-29", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000143", + "po_item": "00040", + "po_date": "2025-10-09", + "promised_date": "2025-11-07", + "first_gr_date": "2025-11-07", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000144", + "po_item": "00050", + "po_date": "2025-10-13", + "promised_date": "2025-11-10", + "first_gr_date": "2025-11-10", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000145", + "po_item": "00010", + "po_date": "2025-10-22", + "promised_date": "2025-12-11", + "first_gr_date": "2025-12-11", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000146", + "po_item": "00020", + "po_date": "2025-10-28", + "promised_date": "2025-12-05", + "first_gr_date": "2025-12-03", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000147", + "po_item": "00030", + "po_date": "2025-11-03", + "promised_date": "2025-12-23", + "first_gr_date": "2025-12-23", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000148", + "po_item": "00040", + "po_date": "2025-11-10", + "promised_date": "2025-12-21", + "first_gr_date": "2025-12-21", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000149", + "po_item": "00050", + "po_date": "2025-11-18", + "promised_date": "2026-01-07", + "first_gr_date": "2026-01-07", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000150", + "po_item": "00010", + "po_date": "2025-11-24", + "promised_date": "2026-01-09", + "first_gr_date": "2026-01-06", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000151", + "po_item": "00020", + "po_date": "2025-12-01", + "promised_date": "2026-01-16", + "first_gr_date": "2026-01-13", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000152", + "po_item": "00030", + "po_date": "2025-12-08", + "promised_date": "2026-01-26", + "first_gr_date": "2026-01-26", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000153", + "po_item": "00040", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-13", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000154", + "po_item": "00050", + "po_date": "2025-12-22", + "promised_date": "2026-02-02", + "first_gr_date": "2026-01-31", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000155", + "po_item": "00010", + "po_date": "2025-12-29", + "promised_date": "2026-01-20", + "first_gr_date": "2026-01-20", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000156", + "po_item": "00020", + "po_date": "2026-01-07", + "promised_date": "2026-02-17", + "first_gr_date": "2026-02-14", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000157", + "po_item": "00030", + "po_date": "2026-01-15", + "promised_date": "2026-02-27", + "first_gr_date": "2026-02-27", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000158", + "po_item": "00040", + "po_date": "2026-01-21", + "promised_date": "2026-02-15", + "first_gr_date": "2026-02-15", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000159", + "po_item": "00050", + "po_date": "2026-01-27", + "promised_date": "2026-03-06", + "first_gr_date": "2026-03-06", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000160", + "po_item": "00010", + "po_date": "2026-02-02", + "promised_date": "2026-03-08", + "first_gr_date": "2026-03-08", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000161", + "po_item": "00020", + "po_date": "2026-02-12", + "promised_date": "2026-03-19", + "first_gr_date": "2026-03-20", + "days_late": 1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000162", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-03-20", + "first_gr_date": "2026-04-01", + "days_late": 12, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000163", + "po_item": "00040", + "po_date": "2026-02-23", + "promised_date": "2026-04-10", + "first_gr_date": "2026-04-10", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000164", + "po_item": "00050", + "po_date": "2026-03-03", + "promised_date": "2026-04-10", + "first_gr_date": "2026-04-09", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000165", + "po_item": "00010", + "po_date": "2026-03-10", + "promised_date": "2026-04-07", + "first_gr_date": "2026-04-07", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000166", + "po_item": "00020", + "po_date": "2026-03-17", + "promised_date": "2026-04-11", + "first_gr_date": "2026-04-10", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000167", + "po_item": "00030", + "po_date": "2026-03-26", + "promised_date": "2026-04-16", + "first_gr_date": "2026-04-16", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000168", + "po_item": "00040", + "po_date": "2026-03-30", + "promised_date": "2026-05-01", + "first_gr_date": "2026-04-30", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000169", + "po_item": "00050", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "first_gr_date": "2026-05-27", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000170", + "po_item": "00010", + "po_date": "2026-04-14", + "promised_date": "2026-05-29", + "first_gr_date": "2026-05-27", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000171", + "po_item": "00020", + "po_date": "2026-04-23", + "promised_date": "2026-05-14", + "first_gr_date": "2026-05-11", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000172", + "po_item": "00030", + "po_date": "2026-04-30", + "promised_date": "2026-06-11", + "first_gr_date": "2026-06-09", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000173", + "po_item": "00040", + "po_date": "2026-05-05", + "promised_date": "2026-06-24", + "first_gr_date": "2026-07-02", + "days_late": 8, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000174", + "po_item": "00050", + "po_date": "2026-05-13", + "promised_date": "2026-06-05", + "first_gr_date": "2026-06-03", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000175", + "po_item": "00010", + "po_date": "2026-02-03", + "promised_date": "2026-03-10", + "first_gr_date": "2026-03-10", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000176", + "po_item": "00020", + "po_date": "2026-02-12", + "promised_date": "2026-03-07", + "first_gr_date": "2026-03-07", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000177", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-05", + "days_late": 2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000178", + "po_item": "00040", + "po_date": "2026-02-25", + "promised_date": "2026-03-19", + "first_gr_date": "2026-03-19", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000179", + "po_item": "00050", + "po_date": "2026-03-04", + "promised_date": "2026-03-30", + "first_gr_date": "2026-03-29", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000180", + "po_item": "00010", + "po_date": "2026-03-12", + "promised_date": "2026-04-02", + "first_gr_date": "2026-04-02", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000181", + "po_item": "00020", + "po_date": "2026-03-19", + "promised_date": "2026-04-24", + "first_gr_date": "2026-04-24", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000182", + "po_item": "00030", + "po_date": "2026-03-24", + "promised_date": "2026-04-28", + "first_gr_date": "2026-04-25", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000183", + "po_item": "00040", + "po_date": "2026-04-01", + "promised_date": "2026-04-26", + "first_gr_date": "2026-04-26", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000184", + "po_item": "00050", + "po_date": "2026-04-06", + "promised_date": "2026-05-16", + "first_gr_date": "2026-05-16", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000185", + "po_item": "00010", + "po_date": "2026-04-14", + "promised_date": "2026-05-11", + "first_gr_date": "2026-05-11", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000186", + "po_item": "00020", + "po_date": "2026-04-21", + "promised_date": "2026-06-10", + "first_gr_date": "2026-06-15", + "days_late": 5, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000187", + "po_item": "00030", + "po_date": "2026-04-30", + "promised_date": "2026-06-18", + "first_gr_date": "2026-06-18", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000188", + "po_item": "00040", + "po_date": "2026-05-04", + "promised_date": "2026-06-21", + "first_gr_date": "2026-06-21", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000189", + "po_item": "00050", + "po_date": "2026-05-12", + "promised_date": "2026-06-16", + "first_gr_date": "2026-06-17", + "days_late": 1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + } + ] + }, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/prod_duration_green_blend.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/prod_duration_green_blend.json new file mode 100644 index 00000000000..38dc72177a2 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/prod_duration_green_blend.json @@ -0,0 +1,924 @@ +{ + "id": "prod_duration_green_blend", + "label": "Production: Green Blend", + "type": "production", + "durations": [ + 3.5, 5.9, 2.4, 8.3, 4.7, 7.1, 3.5, 16.5, 4.7, 9.4, 3.5, 5.9, 1.2, 7.1, 3.5, + 4.7, 4.7, 4.7, 3.5, 4.7, 4.7, 4.7, 4.7, 5.9, 5.9, 5.9, 4.7, 5.9, 5.9, 3.5, + 4.7, 5.9, 3.5, 3.5, 5.9, 3.5, 4.7, 4.7, 3.5, 3.5, 4.7, 4.7, 4.7, 4.7, 5.9, + 5.9, 4.7, 4.7, 5.9, 5.9 + ], + "observations": [ + { + "date": "2022-04-18", + "value": 3.5 + }, + { + "date": "2022-07-05", + "value": 5.9 + }, + { + "date": "2022-10-12", + "value": 2.4 + }, + { + "date": "2023-01-20", + "value": 8.3 + }, + { + "date": "2023-04-15", + "value": 4.7 + }, + { + "date": "2023-07-28", + "value": 7.1 + }, + { + "date": "2023-10-05", + "value": 3.5 + }, + { + "date": "2024-01-12", + "value": 16.5 + }, + { + "date": "2024-04-22", + "value": 4.7 + }, + { + "date": "2024-07-10", + "value": 9.4 + }, + { + "date": "2024-10-18", + "value": 3.5 + }, + { + "date": "2025-01-25", + "value": 5.9 + }, + { + "date": "2025-05-08", + "value": 1.2 + }, + { + "date": "2025-08-15", + "value": 7.1 + }, + { + "date": "2025-09-04", + "value": 3.5 + }, + { + "date": "2025-09-10", + "value": 4.7 + }, + { + "date": "2025-09-16", + "value": 4.7 + }, + { + "date": "2025-09-22", + "value": 4.7 + }, + { + "date": "2025-10-05", + "value": 3.5 + }, + { + "date": "2025-10-11", + "value": 4.7 + }, + { + "date": "2025-10-17", + "value": 4.7 + }, + { + "date": "2025-10-23", + "value": 4.7 + }, + { + "date": "2025-11-06", + "value": 4.7 + }, + { + "date": "2025-11-12", + "value": 5.9 + }, + { + "date": "2025-11-18", + "value": 5.9 + }, + { + "date": "2025-11-24", + "value": 5.9 + }, + { + "date": "2025-12-04", + "value": 4.7 + }, + { + "date": "2025-12-10", + "value": 5.9 + }, + { + "date": "2025-12-16", + "value": 5.9 + }, + { + "date": "2025-12-22", + "value": 3.5 + }, + { + "date": "2026-01-05", + "value": 4.7 + }, + { + "date": "2026-01-11", + "value": 5.9 + }, + { + "date": "2026-01-17", + "value": 3.5 + }, + { + "date": "2026-01-23", + "value": 3.5 + }, + { + "date": "2026-02-06", + "value": 5.9 + }, + { + "date": "2026-02-12", + "value": 3.5 + }, + { + "date": "2026-02-18", + "value": 4.7 + }, + { + "date": "2026-02-24", + "value": 4.7 + }, + { + "date": "2026-03-04", + "value": 3.5 + }, + { + "date": "2026-03-10", + "value": 3.5 + }, + { + "date": "2026-03-16", + "value": 4.7 + }, + { + "date": "2026-03-22", + "value": 4.7 + }, + { + "date": "2026-04-05", + "value": 4.7 + }, + { + "date": "2026-04-11", + "value": 4.7 + }, + { + "date": "2026-04-17", + "value": 5.9 + }, + { + "date": "2026-04-23", + "value": 5.9 + }, + { + "date": "2026-05-06", + "value": 4.7 + }, + { + "date": "2026-05-12", + "value": 4.7 + }, + { + "date": "2026-05-18", + "value": 5.9 + }, + { + "date": "2026-05-24", + "value": 5.9 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2022-07", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2023-01", + "mean": 8.3, + "median": 8.3, + "p10": 8.3, + "p25": 8.3, + "p75": 8.3, + "p90": 8.3, + "n": 1 + }, + { + "month": "2023-04", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2023-07", + "mean": 7.1, + "median": 7.1, + "p10": 7.1, + "p25": 7.1, + "p75": 7.1, + "p90": 7.1, + "n": 1 + }, + { + "month": "2023-10", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 16.5, + "median": 16.5, + "p10": 16.5, + "p25": 16.5, + "p75": 16.5, + "p90": 16.5, + "n": 1 + }, + { + "month": "2024-04", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2024-07", + "mean": 9.4, + "median": 9.4, + "p10": 9.4, + "p25": 9.4, + "p75": 9.4, + "p90": 9.4, + "n": 1 + }, + { + "month": "2024-10", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2025-01", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2025-05", + "mean": 1.2, + "median": 1.2, + "p10": 1.2, + "p25": 1.2, + "p75": 1.2, + "p90": 1.2, + "n": 1 + }, + { + "month": "2025-08", + "mean": 7.1, + "median": 7.1, + "p10": 7.1, + "p25": 7.1, + "p75": 7.1, + "p90": 7.1, + "n": 1 + }, + { + "month": "2025-09", + "mean": 4.5, + "median": 4.7, + "p10": 3.9, + "p25": 4.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2025-10", + "mean": 4.5, + "median": 4.7, + "p10": 3.9, + "p25": 4.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2025-11", + "mean": 5.7, + "median": 5.9, + "p10": 5.1, + "p25": 5.7, + "p75": 5.9, + "p90": 5.9, + "n": 4 + }, + { + "month": "2025-12", + "mean": 5.1, + "median": 5.3, + "p10": 3.9, + "p25": 4.5, + "p75": 5.9, + "p90": 5.9, + "n": 4 + }, + { + "month": "2026-01", + "mean": 4.5, + "median": 4.1, + "p10": 3.5, + "p25": 3.5, + "p75": 5.1, + "p90": 5.5, + "n": 4 + }, + { + "month": "2026-02", + "mean": 4.7, + "median": 4.7, + "p10": 3.9, + "p25": 4.5, + "p75": 5.1, + "p90": 5.5, + "n": 4 + }, + { + "month": "2026-03", + "mean": 4.1, + "median": 4.1, + "p10": 3.5, + "p25": 3.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2026-04", + "mean": 5.3, + "median": 5.3, + "p10": 4.7, + "p25": 4.7, + "p75": 5.9, + "p90": 5.9, + "n": 4 + }, + { + "month": "2026-05", + "mean": 5.3, + "median": 5.3, + "p10": 4.7, + "p25": 4.7, + "p75": 5.9, + "p90": 5.9, + "n": 4 + } + ], + "stats": { + "n": 50, + "mean": 5.1, + "median": 4.7, + "std": 1.8, + "min": 1.2, + "max": 16.5, + "p25": 3.5, + "p75": 5.9, + "p85": 5.9, + "p95": 7.1 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 10.0, + "annotations": [], + "cost": null, + "detail_rows": null, + "ref_date_col": null, + "n_batches": 50, + "n_movements": null, + "yield_data": { + "values": [ + 98.2, 99.5, 97.8, 100.2, 96.5, 99.0, 98.8, 97.2, 99.5, 100.8, 98.0, 97.5, + 99.2, 98.5, 98.4, 98.6, 98.9, 99.1, 98.3, 98.5, 98.8, 99.1, 99.0, 99.3, + 99.6, 98.2, 99.0, 99.3, 97.9, 98.2, 98.9, 97.6, 97.9, 98.1, 98.1, 98.4, + 98.6, 98.9, 98.1, 98.3, 98.5, 98.8, 98.8, 99.0, 99.3, 99.6, 98.7, 99.0, + 99.3, 97.9 + ], + "observations": [ + { + "date": "2022-04-21", + "value": 98.2 + }, + { + "date": "2022-07-10", + "value": 99.5 + }, + { + "date": "2022-10-14", + "value": 97.8 + }, + { + "date": "2023-01-27", + "value": 100.2 + }, + { + "date": "2023-04-19", + "value": 96.5 + }, + { + "date": "2023-08-03", + "value": 99.0 + }, + { + "date": "2023-10-08", + "value": 98.8 + }, + { + "date": "2024-01-26", + "value": 97.2 + }, + { + "date": "2024-04-26", + "value": 99.5 + }, + { + "date": "2024-07-18", + "value": 100.8 + }, + { + "date": "2024-10-21", + "value": 98.0 + }, + { + "date": "2025-01-30", + "value": 97.5 + }, + { + "date": "2025-05-09", + "value": 99.2 + }, + { + "date": "2025-08-21", + "value": 98.5 + }, + { + "date": "2025-09-05", + "value": 98.4 + }, + { + "date": "2025-09-11", + "value": 98.6 + }, + { + "date": "2025-09-17", + "value": 98.9 + }, + { + "date": "2025-09-23", + "value": 99.1 + }, + { + "date": "2025-10-06", + "value": 98.3 + }, + { + "date": "2025-10-12", + "value": 98.5 + }, + { + "date": "2025-10-18", + "value": 98.8 + }, + { + "date": "2025-10-24", + "value": 99.1 + }, + { + "date": "2025-11-04", + "value": 99.0 + }, + { + "date": "2025-11-10", + "value": 99.3 + }, + { + "date": "2025-11-16", + "value": 99.6 + }, + { + "date": "2025-11-22", + "value": 98.2 + }, + { + "date": "2025-12-05", + "value": 99.0 + }, + { + "date": "2025-12-11", + "value": 99.3 + }, + { + "date": "2025-12-17", + "value": 97.9 + }, + { + "date": "2025-12-23", + "value": 98.2 + }, + { + "date": "2026-01-06", + "value": 98.9 + }, + { + "date": "2026-01-12", + "value": 97.6 + }, + { + "date": "2026-01-18", + "value": 97.9 + }, + { + "date": "2026-01-24", + "value": 98.1 + }, + { + "date": "2026-02-04", + "value": 98.1 + }, + { + "date": "2026-02-10", + "value": 98.4 + }, + { + "date": "2026-02-16", + "value": 98.6 + }, + { + "date": "2026-02-22", + "value": 98.9 + }, + { + "date": "2026-03-05", + "value": 98.1 + }, + { + "date": "2026-03-11", + "value": 98.3 + }, + { + "date": "2026-03-17", + "value": 98.5 + }, + { + "date": "2026-03-23", + "value": 98.8 + }, + { + "date": "2026-04-06", + "value": 98.8 + }, + { + "date": "2026-04-12", + "value": 99.0 + }, + { + "date": "2026-04-18", + "value": 99.3 + }, + { + "date": "2026-04-24", + "value": 99.6 + }, + { + "date": "2026-05-04", + "value": 98.7 + }, + { + "date": "2026-05-10", + "value": 99.0 + }, + { + "date": "2026-05-16", + "value": 99.3 + }, + { + "date": "2026-05-22", + "value": 97.9 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 98.2, + "median": 98.2, + "p10": 98.2, + "p25": 98.2, + "p75": 98.2, + "p90": 98.2, + "n": 1 + }, + { + "month": "2022-07", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2022-10", + "mean": 97.8, + "median": 97.8, + "p10": 97.8, + "p25": 97.8, + "p75": 97.8, + "p90": 97.8, + "n": 1 + }, + { + "month": "2023-01", + "mean": 100.2, + "median": 100.2, + "p10": 100.2, + "p25": 100.2, + "p75": 100.2, + "p90": 100.2, + "n": 1 + }, + { + "month": "2023-04", + "mean": 96.5, + "median": 96.5, + "p10": 96.5, + "p25": 96.5, + "p75": 96.5, + "p90": 96.5, + "n": 1 + }, + { + "month": "2023-08", + "mean": 99.0, + "median": 99.0, + "p10": 99.0, + "p25": 99.0, + "p75": 99.0, + "p90": 99.0, + "n": 1 + }, + { + "month": "2023-10", + "mean": 98.8, + "median": 98.8, + "p10": 98.8, + "p25": 98.8, + "p75": 98.8, + "p90": 98.8, + "n": 1 + }, + { + "month": "2024-01", + "mean": 97.2, + "median": 97.2, + "p10": 97.2, + "p25": 97.2, + "p75": 97.2, + "p90": 97.2, + "n": 1 + }, + { + "month": "2024-04", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2024-07", + "mean": 100.8, + "median": 100.8, + "p10": 100.8, + "p25": 100.8, + "p75": 100.8, + "p90": 100.8, + "n": 1 + }, + { + "month": "2024-10", + "mean": 98.0, + "median": 98.0, + "p10": 98.0, + "p25": 98.0, + "p75": 98.0, + "p90": 98.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 97.5, + "median": 97.5, + "p10": 97.5, + "p25": 97.5, + "p75": 97.5, + "p90": 97.5, + "n": 1 + }, + { + "month": "2025-05", + "mean": 99.2, + "median": 99.2, + "p10": 99.2, + "p25": 99.2, + "p75": 99.2, + "p90": 99.2, + "n": 1 + }, + { + "month": "2025-08", + "mean": 98.5, + "median": 98.5, + "p10": 98.5, + "p25": 98.5, + "p75": 98.5, + "p90": 98.5, + "n": 1 + }, + { + "month": "2025-09", + "mean": 98.8, + "median": 98.8, + "p10": 98.5, + "p25": 98.6, + "p75": 99.0, + "p90": 99.0, + "n": 4 + }, + { + "month": "2025-10", + "mean": 98.7, + "median": 98.7, + "p10": 98.4, + "p25": 98.5, + "p75": 98.9, + "p90": 99.0, + "n": 4 + }, + { + "month": "2025-11", + "mean": 99.0, + "median": 99.2, + "p10": 98.4, + "p25": 98.8, + "p75": 99.4, + "p90": 99.5, + "n": 4 + }, + { + "month": "2025-12", + "mean": 98.6, + "median": 98.6, + "p10": 98.0, + "p25": 98.1, + "p75": 99.1, + "p90": 99.2, + "n": 4 + }, + { + "month": "2026-01", + "mean": 98.1, + "median": 98.0, + "p10": 97.7, + "p25": 97.8, + "p75": 98.3, + "p90": 98.7, + "n": 4 + }, + { + "month": "2026-02", + "mean": 98.5, + "median": 98.5, + "p10": 98.2, + "p25": 98.3, + "p75": 98.7, + "p90": 98.8, + "n": 4 + }, + { + "month": "2026-03", + "mean": 98.4, + "median": 98.4, + "p10": 98.2, + "p25": 98.3, + "p75": 98.6, + "p90": 98.7, + "n": 4 + }, + { + "month": "2026-04", + "mean": 99.2, + "median": 99.2, + "p10": 98.9, + "p25": 99.0, + "p75": 99.4, + "p90": 99.5, + "n": 4 + }, + { + "month": "2026-05", + "mean": 98.7, + "median": 98.9, + "p10": 98.1, + "p25": 98.5, + "p75": 99.1, + "p90": 99.2, + "n": 4 + } + ], + "stats": { + "n": 50, + "mean": 98.7, + "median": 98.8, + "std": 0.7, + "min": 96.5, + "max": 100.8, + "p25": 98.2, + "p75": 99.1, + "p85": 99.3, + "p95": 99.6 + }, + "reference": 100.0 + }, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/prod_duration_harbor_dark_roast.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/prod_duration_harbor_dark_roast.json new file mode 100644 index 00000000000..a30a8d3b432 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/prod_duration_harbor_dark_roast.json @@ -0,0 +1,1148 @@ +{ + "id": "prod_duration_harbor_dark_roast", + "label": "Production: Harbor Dark Roast", + "type": "production", + "durations": [ + 2.4, 3.5, 1.2, 4.7, 2.4, 5.9, 3.5, 8.3, 2.4, 4.7, 1.2, 3.5, 11.8, 3.5, 2.4, + 5.9, 0.0, 4.7, 3.5, 2.4, 7.1, 3.5, 4.7, 4.7, 3.5, 3.5, 4.7, 2.4, 3.5, 3.5, + 2.4, 2.4, 3.5, 3.5, 3.5, 3.5, 3.5, 4.7, 3.5, 3.5, 3.5, 4.7, 4.7, 4.7, 4.7, + 3.5, 3.5, 4.7, 2.4, 3.5, 3.5, 2.4, 2.4, 3.5, 3.5, 3.5, 3.5, 3.5 + ], + "observations": [ + { + "date": "2022-05-20", + "value": 2.4 + }, + { + "date": "2022-06-10", + "value": 3.5 + }, + { + "date": "2022-07-15", + "value": 1.2 + }, + { + "date": "2022-08-22", + "value": 4.7 + }, + { + "date": "2022-10-05", + "value": 2.4 + }, + { + "date": "2022-11-18", + "value": 5.9 + }, + { + "date": "2023-01-10", + "value": 3.5 + }, + { + "date": "2023-03-25", + "value": 8.3 + }, + { + "date": "2023-05-12", + "value": 2.4 + }, + { + "date": "2023-07-08", + "value": 4.7 + }, + { + "date": "2023-09-15", + "value": 1.2 + }, + { + "date": "2023-11-22", + "value": 3.5 + }, + { + "date": "2024-01-18", + "value": 11.8 + }, + { + "date": "2024-03-08", + "value": 3.5 + }, + { + "date": "2024-05-15", + "value": 2.4 + }, + { + "date": "2024-07-22", + "value": 5.9 + }, + { + "date": "2024-09-10", + "value": 0.0 + }, + { + "date": "2024-11-05", + "value": 4.7 + }, + { + "date": "2025-01-15", + "value": 3.5 + }, + { + "date": "2025-03-20", + "value": 2.4 + }, + { + "date": "2025-05-28", + "value": 7.1 + }, + { + "date": "2025-08-05", + "value": 3.5 + }, + { + "date": "2025-09-05", + "value": 4.7 + }, + { + "date": "2025-09-11", + "value": 4.7 + }, + { + "date": "2025-09-17", + "value": 3.5 + }, + { + "date": "2025-09-23", + "value": 3.5 + }, + { + "date": "2025-10-06", + "value": 4.7 + }, + { + "date": "2025-10-12", + "value": 2.4 + }, + { + "date": "2025-10-18", + "value": 3.5 + }, + { + "date": "2025-10-24", + "value": 3.5 + }, + { + "date": "2025-11-04", + "value": 2.4 + }, + { + "date": "2025-11-10", + "value": 2.4 + }, + { + "date": "2025-11-16", + "value": 3.5 + }, + { + "date": "2025-11-22", + "value": 3.5 + }, + { + "date": "2025-12-05", + "value": 3.5 + }, + { + "date": "2025-12-11", + "value": 3.5 + }, + { + "date": "2025-12-17", + "value": 3.5 + }, + { + "date": "2025-12-23", + "value": 4.7 + }, + { + "date": "2026-01-06", + "value": 3.5 + }, + { + "date": "2026-01-12", + "value": 3.5 + }, + { + "date": "2026-01-18", + "value": 3.5 + }, + { + "date": "2026-01-24", + "value": 4.7 + }, + { + "date": "2026-02-04", + "value": 4.7 + }, + { + "date": "2026-02-10", + "value": 4.7 + }, + { + "date": "2026-02-16", + "value": 4.7 + }, + { + "date": "2026-02-22", + "value": 3.5 + }, + { + "date": "2026-03-05", + "value": 3.5 + }, + { + "date": "2026-03-11", + "value": 4.7 + }, + { + "date": "2026-03-17", + "value": 2.4 + }, + { + "date": "2026-03-23", + "value": 3.5 + }, + { + "date": "2026-04-06", + "value": 3.5 + }, + { + "date": "2026-04-12", + "value": 2.4 + }, + { + "date": "2026-04-18", + "value": 2.4 + }, + { + "date": "2026-04-24", + "value": 3.5 + }, + { + "date": "2026-05-04", + "value": 3.5 + }, + { + "date": "2026-05-10", + "value": 3.5 + }, + { + "date": "2026-05-16", + "value": 3.5 + }, + { + "date": "2026-05-22", + "value": 3.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2022-06", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2022-07", + "mean": 1.2, + "median": 1.2, + "p10": 1.2, + "p25": 1.2, + "p75": 1.2, + "p90": 1.2, + "n": 1 + }, + { + "month": "2022-08", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2022-11", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2023-01", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2023-03", + "mean": 8.3, + "median": 8.3, + "p10": 8.3, + "p25": 8.3, + "p75": 8.3, + "p90": 8.3, + "n": 1 + }, + { + "month": "2023-05", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2023-07", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2023-09", + "mean": 1.2, + "median": 1.2, + "p10": 1.2, + "p25": 1.2, + "p75": 1.2, + "p90": 1.2, + "n": 1 + }, + { + "month": "2023-11", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 11.8, + "median": 11.8, + "p10": 11.8, + "p25": 11.8, + "p75": 11.8, + "p90": 11.8, + "n": 1 + }, + { + "month": "2024-03", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2024-05", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2024-07", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2024-09", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2025-01", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2025-03", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2025-05", + "mean": 7.1, + "median": 7.1, + "p10": 7.1, + "p25": 7.1, + "p75": 7.1, + "p90": 7.1, + "n": 1 + }, + { + "month": "2025-08", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2025-09", + "mean": 4.1, + "median": 4.1, + "p10": 3.5, + "p25": 3.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2025-10", + "mean": 3.5, + "median": 3.5, + "p10": 2.7, + "p25": 3.3, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2025-11", + "mean": 2.9, + "median": 2.9, + "p10": 2.4, + "p25": 2.4, + "p75": 3.5, + "p90": 3.5, + "n": 4 + }, + { + "month": "2025-12", + "mean": 3.9, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2026-01", + "mean": 3.9, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2026-02", + "mean": 4.5, + "median": 4.7, + "p10": 3.9, + "p25": 4.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2026-03", + "mean": 3.5, + "median": 3.5, + "p10": 2.7, + "p25": 3.3, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2026-04", + "mean": 2.9, + "median": 2.9, + "p10": 2.4, + "p25": 2.4, + "p75": 3.5, + "p90": 3.5, + "n": 4 + }, + { + "month": "2026-05", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 4 + } + ], + "stats": { + "n": 58, + "mean": 3.8, + "median": 3.5, + "std": 1.4, + "min": 0.0, + "max": 11.8, + "p25": 3.5, + "p75": 4.7, + "p85": 4.7, + "p95": 5.9 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 5.2, + "annotations": [], + "cost": null, + "detail_rows": null, + "ref_date_col": null, + "n_batches": 58, + "n_movements": null, + "yield_data": { + "values": [ + 99.0, 98.5, 99.8, 97.2, 99.5, 98.0, 100.2, 98.8, 99.2, 97.5, 99.0, 98.5, + 100.5, 99.2, 98.0, 97.8, 99.5, 98.2, 99.0, 98.8, 99.5, 97.0, 98.9, 99.1, + 99.4, 99.6, 98.8, 99.0, 99.3, 99.6, 99.5, 99.8, 100.1, 98.7, 99.5, 99.8, + 98.4, 98.7, 99.4, 98.1, 98.4, 98.6, 98.6, 98.9, 99.1, 99.4, 98.6, 98.8, + 99.0, 99.3, 99.3, 99.5, 99.8, 100.1, 99.2, 99.5, 99.8, 98.4 + ], + "observations": [ + { + "date": "2022-05-22", + "value": 99.0 + }, + { + "date": "2022-06-13", + "value": 98.5 + }, + { + "date": "2022-07-16", + "value": 99.8 + }, + { + "date": "2022-08-26", + "value": 97.2 + }, + { + "date": "2022-10-07", + "value": 99.5 + }, + { + "date": "2022-11-23", + "value": 98.0 + }, + { + "date": "2023-01-13", + "value": 100.2 + }, + { + "date": "2023-04-01", + "value": 98.8 + }, + { + "date": "2023-05-14", + "value": 99.2 + }, + { + "date": "2023-07-12", + "value": 97.5 + }, + { + "date": "2023-09-16", + "value": 99.0 + }, + { + "date": "2023-11-25", + "value": 98.5 + }, + { + "date": "2024-01-28", + "value": 100.5 + }, + { + "date": "2024-03-11", + "value": 99.2 + }, + { + "date": "2024-05-17", + "value": 98.0 + }, + { + "date": "2024-07-27", + "value": 97.8 + }, + { + "date": "2024-09-10", + "value": 99.5 + }, + { + "date": "2024-11-09", + "value": 98.2 + }, + { + "date": "2025-01-18", + "value": 99.0 + }, + { + "date": "2025-03-22", + "value": 98.8 + }, + { + "date": "2025-06-03", + "value": 99.5 + }, + { + "date": "2025-08-08", + "value": 97.0 + }, + { + "date": "2025-09-05", + "value": 98.9 + }, + { + "date": "2025-09-11", + "value": 99.1 + }, + { + "date": "2025-09-17", + "value": 99.4 + }, + { + "date": "2025-09-23", + "value": 99.6 + }, + { + "date": "2025-10-06", + "value": 98.8 + }, + { + "date": "2025-10-12", + "value": 99.0 + }, + { + "date": "2025-10-18", + "value": 99.3 + }, + { + "date": "2025-10-24", + "value": 99.6 + }, + { + "date": "2025-11-04", + "value": 99.5 + }, + { + "date": "2025-11-10", + "value": 99.8 + }, + { + "date": "2025-11-16", + "value": 100.1 + }, + { + "date": "2025-11-22", + "value": 98.7 + }, + { + "date": "2025-12-05", + "value": 99.5 + }, + { + "date": "2025-12-11", + "value": 99.8 + }, + { + "date": "2025-12-17", + "value": 98.4 + }, + { + "date": "2025-12-23", + "value": 98.7 + }, + { + "date": "2026-01-06", + "value": 99.4 + }, + { + "date": "2026-01-12", + "value": 98.1 + }, + { + "date": "2026-01-18", + "value": 98.4 + }, + { + "date": "2026-01-24", + "value": 98.6 + }, + { + "date": "2026-02-04", + "value": 98.6 + }, + { + "date": "2026-02-10", + "value": 98.9 + }, + { + "date": "2026-02-16", + "value": 99.1 + }, + { + "date": "2026-02-22", + "value": 99.4 + }, + { + "date": "2026-03-05", + "value": 98.6 + }, + { + "date": "2026-03-11", + "value": 98.8 + }, + { + "date": "2026-03-17", + "value": 99.0 + }, + { + "date": "2026-03-23", + "value": 99.3 + }, + { + "date": "2026-04-06", + "value": 99.3 + }, + { + "date": "2026-04-12", + "value": 99.5 + }, + { + "date": "2026-04-18", + "value": 99.8 + }, + { + "date": "2026-04-24", + "value": 100.1 + }, + { + "date": "2026-05-04", + "value": 99.2 + }, + { + "date": "2026-05-10", + "value": 99.5 + }, + { + "date": "2026-05-16", + "value": 99.8 + }, + { + "date": "2026-05-22", + "value": 98.4 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 99.0, + "median": 99.0, + "p10": 99.0, + "p25": 99.0, + "p75": 99.0, + "p90": 99.0, + "n": 1 + }, + { + "month": "2022-06", + "mean": 98.5, + "median": 98.5, + "p10": 98.5, + "p25": 98.5, + "p75": 98.5, + "p90": 98.5, + "n": 1 + }, + { + "month": "2022-07", + "mean": 99.8, + "median": 99.8, + "p10": 99.8, + "p25": 99.8, + "p75": 99.8, + "p90": 99.8, + "n": 1 + }, + { + "month": "2022-08", + "mean": 97.2, + "median": 97.2, + "p10": 97.2, + "p25": 97.2, + "p75": 97.2, + "p90": 97.2, + "n": 1 + }, + { + "month": "2022-10", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2022-11", + "mean": 98.0, + "median": 98.0, + "p10": 98.0, + "p25": 98.0, + "p75": 98.0, + "p90": 98.0, + "n": 1 + }, + { + "month": "2023-01", + "mean": 100.2, + "median": 100.2, + "p10": 100.2, + "p25": 100.2, + "p75": 100.2, + "p90": 100.2, + "n": 1 + }, + { + "month": "2023-04", + "mean": 98.8, + "median": 98.8, + "p10": 98.8, + "p25": 98.8, + "p75": 98.8, + "p90": 98.8, + "n": 1 + }, + { + "month": "2023-05", + "mean": 99.2, + "median": 99.2, + "p10": 99.2, + "p25": 99.2, + "p75": 99.2, + "p90": 99.2, + "n": 1 + }, + { + "month": "2023-07", + "mean": 97.5, + "median": 97.5, + "p10": 97.5, + "p25": 97.5, + "p75": 97.5, + "p90": 97.5, + "n": 1 + }, + { + "month": "2023-09", + "mean": 99.0, + "median": 99.0, + "p10": 99.0, + "p25": 99.0, + "p75": 99.0, + "p90": 99.0, + "n": 1 + }, + { + "month": "2023-11", + "mean": 98.5, + "median": 98.5, + "p10": 98.5, + "p25": 98.5, + "p75": 98.5, + "p90": 98.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 100.5, + "median": 100.5, + "p10": 100.5, + "p25": 100.5, + "p75": 100.5, + "p90": 100.5, + "n": 1 + }, + { + "month": "2024-03", + "mean": 99.2, + "median": 99.2, + "p10": 99.2, + "p25": 99.2, + "p75": 99.2, + "p90": 99.2, + "n": 1 + }, + { + "month": "2024-05", + "mean": 98.0, + "median": 98.0, + "p10": 98.0, + "p25": 98.0, + "p75": 98.0, + "p90": 98.0, + "n": 1 + }, + { + "month": "2024-07", + "mean": 97.8, + "median": 97.8, + "p10": 97.8, + "p25": 97.8, + "p75": 97.8, + "p90": 97.8, + "n": 1 + }, + { + "month": "2024-09", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2024-11", + "mean": 98.2, + "median": 98.2, + "p10": 98.2, + "p25": 98.2, + "p75": 98.2, + "p90": 98.2, + "n": 1 + }, + { + "month": "2025-01", + "mean": 99.0, + "median": 99.0, + "p10": 99.0, + "p25": 99.0, + "p75": 99.0, + "p90": 99.0, + "n": 1 + }, + { + "month": "2025-03", + "mean": 98.8, + "median": 98.8, + "p10": 98.8, + "p25": 98.8, + "p75": 98.8, + "p90": 98.8, + "n": 1 + }, + { + "month": "2025-06", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2025-08", + "mean": 97.0, + "median": 97.0, + "p10": 97.0, + "p25": 97.0, + "p75": 97.0, + "p90": 97.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 99.3, + "median": 99.3, + "p10": 99.0, + "p25": 99.1, + "p75": 99.5, + "p90": 99.5, + "n": 4 + }, + { + "month": "2025-10", + "mean": 99.2, + "median": 99.2, + "p10": 98.9, + "p25": 99.0, + "p75": 99.4, + "p90": 99.5, + "n": 4 + }, + { + "month": "2025-11", + "mean": 99.5, + "median": 99.7, + "p10": 98.9, + "p25": 99.3, + "p75": 99.9, + "p90": 100.0, + "n": 4 + }, + { + "month": "2025-12", + "mean": 99.1, + "median": 99.1, + "p10": 98.5, + "p25": 98.6, + "p75": 99.6, + "p90": 99.7, + "n": 4 + }, + { + "month": "2026-01", + "mean": 98.6, + "median": 98.5, + "p10": 98.2, + "p25": 98.3, + "p75": 98.8, + "p90": 99.2, + "n": 4 + }, + { + "month": "2026-02", + "mean": 99.0, + "median": 99.0, + "p10": 98.7, + "p25": 98.8, + "p75": 99.2, + "p90": 99.3, + "n": 4 + }, + { + "month": "2026-03", + "mean": 98.9, + "median": 98.9, + "p10": 98.7, + "p25": 98.8, + "p75": 99.1, + "p90": 99.2, + "n": 4 + }, + { + "month": "2026-04", + "mean": 99.7, + "median": 99.7, + "p10": 99.4, + "p25": 99.5, + "p75": 99.9, + "p90": 100.0, + "n": 4 + }, + { + "month": "2026-05", + "mean": 99.2, + "median": 99.4, + "p10": 98.6, + "p25": 99.0, + "p75": 99.6, + "p90": 99.7, + "n": 4 + } + ], + "stats": { + "n": 58, + "mean": 99.0, + "median": 99.1, + "std": 0.7, + "min": 97.0, + "max": 100.5, + "p25": 98.6, + "p75": 99.5, + "p85": 99.7, + "p95": 100.1 + }, + "reference": 100.0 + }, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/prod_to_qa_pla.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/prod_to_qa_pla.json new file mode 100644 index 00000000000..bb5ec91a6e8 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/prod_to_qa_pla.json @@ -0,0 +1,581 @@ +{ + "id": "prod_to_qa_pla", + "label": "Production \u2192 QA Release (PL-A)", + "type": "qa_hold", + "durations": [ + 2.4, 1.2, 3.5, 2.4, 5.9, 2.4, 4.7, 3.5, 7.1, 2.4, 15.3, 3.5, 8.3, 1.2, 4.7, + 5.9, 2.4, 0.0, 3.5, 9.4, 2.4, 5.9, 2.4, 3.5, 3.5, 3.5, 3.5, 3.5, 4.7, 4.7, + 3.5, 3.5, 3.5, 4.7, 3.5, 3.5, 3.5, 2.4, 4.7, 4.7, 3.5, 3.5, 4.7, 2.4, 3.5, + 3.5, 3.5, 3.5, 3.5, 4.7, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5 + ], + "observations": [ + { + "date": "2022-05-22", + "value": 2.4 + }, + { + "date": "2022-06-13", + "value": 1.2 + }, + { + "date": "2022-07-16", + "value": 3.5 + }, + { + "date": "2022-08-26", + "value": 2.4 + }, + { + "date": "2022-10-07", + "value": 5.9 + }, + { + "date": "2022-11-23", + "value": 2.4 + }, + { + "date": "2023-01-13", + "value": 4.7 + }, + { + "date": "2023-04-01", + "value": 3.5 + }, + { + "date": "2023-05-14", + "value": 7.1 + }, + { + "date": "2023-07-12", + "value": 2.4 + }, + { + "date": "2023-09-16", + "value": 15.3 + }, + { + "date": "2023-11-25", + "value": 3.5 + }, + { + "date": "2024-01-28", + "value": 8.3 + }, + { + "date": "2024-03-11", + "value": 1.2 + }, + { + "date": "2024-05-17", + "value": 4.7 + }, + { + "date": "2024-07-27", + "value": 5.9 + }, + { + "date": "2024-09-10", + "value": 2.4 + }, + { + "date": "2024-11-09", + "value": 0.0 + }, + { + "date": "2025-01-18", + "value": 3.5 + }, + { + "date": "2025-03-22", + "value": 9.4 + }, + { + "date": "2025-06-03", + "value": 2.4 + }, + { + "date": "2025-08-08", + "value": 5.9 + }, + { + "date": "2025-09-04", + "value": 2.4 + }, + { + "date": "2025-09-10", + "value": 3.5 + }, + { + "date": "2025-09-16", + "value": 3.5 + }, + { + "date": "2025-09-22", + "value": 3.5 + }, + { + "date": "2025-10-05", + "value": 3.5 + }, + { + "date": "2025-10-11", + "value": 3.5 + }, + { + "date": "2025-10-17", + "value": 4.7 + }, + { + "date": "2025-10-23", + "value": 4.7 + }, + { + "date": "2025-11-06", + "value": 3.5 + }, + { + "date": "2025-11-12", + "value": 3.5 + }, + { + "date": "2025-11-18", + "value": 3.5 + }, + { + "date": "2025-11-24", + "value": 4.7 + }, + { + "date": "2025-12-04", + "value": 3.5 + }, + { + "date": "2025-12-10", + "value": 3.5 + }, + { + "date": "2025-12-16", + "value": 3.5 + }, + { + "date": "2025-12-22", + "value": 2.4 + }, + { + "date": "2026-01-05", + "value": 4.7 + }, + { + "date": "2026-01-11", + "value": 4.7 + }, + { + "date": "2026-01-17", + "value": 3.5 + }, + { + "date": "2026-01-23", + "value": 3.5 + }, + { + "date": "2026-02-06", + "value": 4.7 + }, + { + "date": "2026-02-12", + "value": 2.4 + }, + { + "date": "2026-02-18", + "value": 3.5 + }, + { + "date": "2026-02-24", + "value": 3.5 + }, + { + "date": "2026-03-04", + "value": 3.5 + }, + { + "date": "2026-03-10", + "value": 3.5 + }, + { + "date": "2026-03-16", + "value": 3.5 + }, + { + "date": "2026-03-22", + "value": 4.7 + }, + { + "date": "2026-04-05", + "value": 3.5 + }, + { + "date": "2026-04-11", + "value": 3.5 + }, + { + "date": "2026-04-17", + "value": 3.5 + }, + { + "date": "2026-04-23", + "value": 3.5 + }, + { + "date": "2026-05-06", + "value": 3.5 + }, + { + "date": "2026-05-12", + "value": 3.5 + }, + { + "date": "2026-05-18", + "value": 3.5 + }, + { + "date": "2026-05-24", + "value": 3.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2022-06", + "mean": 1.2, + "median": 1.2, + "p10": 1.2, + "p25": 1.2, + "p75": 1.2, + "p90": 1.2, + "n": 1 + }, + { + "month": "2022-07", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2022-08", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2022-10", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2022-11", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2023-01", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2023-04", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2023-05", + "mean": 7.1, + "median": 7.1, + "p10": 7.1, + "p25": 7.1, + "p75": 7.1, + "p90": 7.1, + "n": 1 + }, + { + "month": "2023-07", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2023-09", + "mean": 15.3, + "median": 15.3, + "p10": 15.3, + "p25": 15.3, + "p75": 15.3, + "p90": 15.3, + "n": 1 + }, + { + "month": "2023-11", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 8.3, + "median": 8.3, + "p10": 8.3, + "p25": 8.3, + "p75": 8.3, + "p90": 8.3, + "n": 1 + }, + { + "month": "2024-03", + "mean": 1.2, + "median": 1.2, + "p10": 1.2, + "p25": 1.2, + "p75": 1.2, + "p90": 1.2, + "n": 1 + }, + { + "month": "2024-05", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2024-07", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2024-09", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2024-11", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2025-03", + "mean": 9.4, + "median": 9.4, + "p10": 9.4, + "p25": 9.4, + "p75": 9.4, + "p90": 9.4, + "n": 1 + }, + { + "month": "2025-06", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2025-08", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2025-09", + "mean": 3.3, + "median": 3.5, + "p10": 2.7, + "p25": 3.3, + "p75": 3.5, + "p90": 3.5, + "n": 4 + }, + { + "month": "2025-10", + "mean": 4.1, + "median": 4.1, + "p10": 3.5, + "p25": 3.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2025-11", + "mean": 3.9, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2025-12", + "mean": 3.3, + "median": 3.5, + "p10": 2.7, + "p25": 3.3, + "p75": 3.5, + "p90": 3.5, + "n": 4 + }, + { + "month": "2026-01", + "mean": 4.1, + "median": 4.1, + "p10": 3.5, + "p25": 3.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2026-02", + "mean": 3.5, + "median": 3.5, + "p10": 2.7, + "p25": 3.3, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2026-03", + "mean": 3.9, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2026-04", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 4 + }, + { + "month": "2026-05", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 4 + } + ], + "stats": { + "n": 58, + "mean": 3.9, + "median": 3.5, + "std": 1.8, + "min": 0.0, + "max": 15.3, + "p25": 3.5, + "p75": 4.7, + "p85": 4.7, + "p95": 7.1 + }, + "plifz": 5, + "plifz_note": "WEBAZ (GR processing days)", + "pct_exceeding_plifz": 6.9, + "annotations": [], + "cost": null, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": null, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/raw_dwell_highland_arabica.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/raw_dwell_highland_arabica.json new file mode 100644 index 00000000000..af15d77ef91 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/raw_dwell_highland_arabica.json @@ -0,0 +1,689 @@ +{ + "id": "raw_dwell_highland_arabica", + "label": "Raw Material Dwell: Highland Arabica", + "type": "raw_material_dwell", + "durations": [ + 41.3, 73.2, 21.2, 103.8, 49.6, 64.9, 35.4, 85.0, 29.5, 56.6, 17.7, 112.1, + 153.4, 53.1, 44.8, 76.7, 26.0, 92.0, 5.9, 64.9, 47.2, 33.0, 100.3, 59.0, + 129.8, 37.8, 80.2, 53.1, 108.6, 23.6, 68.4, 41.3, 49.6, 88.5, 14.2, 56.6, + 70.8, 44.8, 57.8, 63.7, 40.1, 46.0, 49.6, 72.0, 48.4, 54.3, 57.8, 62.5, + 42.5, 48.4, 51.9, 56.6, 61.4, 42.5, 46.0, 50.7, 55.5, 60.2, 55.5, 59.0, + 63.7, 68.4, 46.0, 53.1, 57.8, 63.7, 40.1, 46.0, 66.1, 72.0, 48.4, 54.3, + 57.8, 66.1, 42.5, 48.4, 51.9, 56.6, 37.8, 42.5, 46.0, 50.7, 55.5 + ], + "observations": [ + { + "date": "2022-04-02", + "value": 41.3 + }, + { + "date": "2022-04-15", + "value": 73.2 + }, + { + "date": "2022-04-28", + "value": 21.2 + }, + { + "date": "2022-08-05", + "value": 103.8 + }, + { + "date": "2022-08-12", + "value": 49.6 + }, + { + "date": "2022-08-20", + "value": 64.9 + }, + { + "date": "2022-08-28", + "value": 35.4 + }, + { + "date": "2023-01-10", + "value": 85.0 + }, + { + "date": "2023-01-22", + "value": 29.5 + }, + { + "date": "2023-01-30", + "value": 56.6 + }, + { + "date": "2023-06-05", + "value": 17.7 + }, + { + "date": "2023-06-18", + "value": 112.1 + }, + { + "date": "2023-10-03", + "value": 153.4 + }, + { + "date": "2023-10-10", + "value": 53.1 + }, + { + "date": "2023-10-18", + "value": 44.8 + }, + { + "date": "2023-10-25", + "value": 76.7 + }, + { + "date": "2023-10-30", + "value": 26.0 + }, + { + "date": "2024-03-05", + "value": 92.0 + }, + { + "date": "2024-03-12", + "value": 5.9 + }, + { + "date": "2024-03-20", + "value": 64.9 + }, + { + "date": "2024-03-28", + "value": 47.2 + }, + { + "date": "2024-07-08", + "value": 33.0 + }, + { + "date": "2024-07-15", + "value": 100.3 + }, + { + "date": "2024-07-22", + "value": 59.0 + }, + { + "date": "2024-11-04", + "value": 129.8 + }, + { + "date": "2024-11-11", + "value": 37.8 + }, + { + "date": "2024-11-18", + "value": 80.2 + }, + { + "date": "2024-11-25", + "value": 53.1 + }, + { + "date": "2024-11-30", + "value": 108.6 + }, + { + "date": "2025-03-03", + "value": 23.6 + }, + { + "date": "2025-03-10", + "value": 68.4 + }, + { + "date": "2025-03-17", + "value": 41.3 + }, + { + "date": "2025-03-24", + "value": 49.6 + }, + { + "date": "2025-07-02", + "value": 88.5 + }, + { + "date": "2025-07-09", + "value": 14.2 + }, + { + "date": "2025-07-16", + "value": 56.6 + }, + { + "date": "2025-07-23", + "value": 70.8 + }, + { + "date": "2025-07-30", + "value": 44.8 + }, + { + "date": "2025-09-05", + "value": 57.8 + }, + { + "date": "2025-09-11", + "value": 63.7 + }, + { + "date": "2025-09-17", + "value": 40.1 + }, + { + "date": "2025-09-23", + "value": 46.0 + }, + { + "date": "2025-09-29", + "value": 49.6 + }, + { + "date": "2025-10-06", + "value": 72.0 + }, + { + "date": "2025-10-12", + "value": 48.4 + }, + { + "date": "2025-10-18", + "value": 54.3 + }, + { + "date": "2025-10-24", + "value": 57.8 + }, + { + "date": "2025-10-30", + "value": 62.5 + }, + { + "date": "2025-11-04", + "value": 42.5 + }, + { + "date": "2025-11-10", + "value": 48.4 + }, + { + "date": "2025-11-16", + "value": 51.9 + }, + { + "date": "2025-11-22", + "value": 56.6 + }, + { + "date": "2025-11-28", + "value": 61.4 + }, + { + "date": "2025-12-05", + "value": 42.5 + }, + { + "date": "2025-12-11", + "value": 46.0 + }, + { + "date": "2025-12-17", + "value": 50.7 + }, + { + "date": "2025-12-23", + "value": 55.5 + }, + { + "date": "2025-12-29", + "value": 60.2 + }, + { + "date": "2026-01-06", + "value": 55.5 + }, + { + "date": "2026-01-12", + "value": 59.0 + }, + { + "date": "2026-01-18", + "value": 63.7 + }, + { + "date": "2026-01-24", + "value": 68.4 + }, + { + "date": "2026-01-30", + "value": 46.0 + }, + { + "date": "2026-02-04", + "value": 53.1 + }, + { + "date": "2026-02-10", + "value": 57.8 + }, + { + "date": "2026-02-16", + "value": 63.7 + }, + { + "date": "2026-02-22", + "value": 40.1 + }, + { + "date": "2026-02-28", + "value": 46.0 + }, + { + "date": "2026-03-05", + "value": 66.1 + }, + { + "date": "2026-03-11", + "value": 72.0 + }, + { + "date": "2026-03-17", + "value": 48.4 + }, + { + "date": "2026-03-23", + "value": 54.3 + }, + { + "date": "2026-03-29", + "value": 57.8 + }, + { + "date": "2026-04-06", + "value": 66.1 + }, + { + "date": "2026-04-12", + "value": 42.5 + }, + { + "date": "2026-04-18", + "value": 48.4 + }, + { + "date": "2026-04-24", + "value": 51.9 + }, + { + "date": "2026-04-30", + "value": 56.6 + }, + { + "date": "2026-05-04", + "value": 37.8 + }, + { + "date": "2026-05-10", + "value": 42.5 + }, + { + "date": "2026-05-16", + "value": 46.0 + }, + { + "date": "2026-05-22", + "value": 50.7 + }, + { + "date": "2026-05-28", + "value": 55.5 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 45.2, + "median": 41.3, + "p10": 25.3, + "p25": 31.3, + "p75": 57.2, + "p90": 66.8, + "n": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "mean": 63.5, + "median": 57.2, + "p10": 39.6, + "p25": 46.0, + "p75": 74.7, + "p90": 92.2, + "n": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "mean": 57.0, + "median": 56.6, + "p10": 34.9, + "p25": 43.1, + "p75": 70.8, + "p90": 79.3, + "n": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "mean": 64.9, + "median": 64.9, + "p10": 27.1, + "p25": 41.3, + "p75": 88.5, + "p90": 102.7, + "n": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "mean": 70.8, + "median": 53.1, + "p10": 33.5, + "p25": 44.8, + "p75": 76.7, + "p90": 122.7, + "n": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "mean": 52.5, + "median": 56.0, + "p10": 18.3, + "p25": 36.9, + "p75": 71.7, + "p90": 83.9, + "n": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "mean": 64.1, + "median": 59.0, + "p10": 38.2, + "p25": 46.0, + "p75": 79.6, + "p90": 92.0, + "n": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "mean": 81.9, + "median": 80.2, + "p10": 43.9, + "p25": 53.1, + "p75": 108.6, + "p90": 121.3, + "n": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "mean": 45.8, + "median": 45.4, + "p10": 28.9, + "p25": 36.9, + "p75": 54.3, + "p90": 62.8, + "n": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "mean": 55.0, + "median": 56.6, + "p10": 26.4, + "p25": 44.8, + "p75": 70.8, + "p90": 81.4, + "n": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "mean": 51.4, + "median": 49.6, + "p10": 42.5, + "p25": 46.0, + "p75": 57.8, + "p90": 61.4, + "n": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "mean": 59.0, + "median": 57.8, + "p10": 50.7, + "p25": 54.3, + "p75": 62.5, + "p90": 68.2, + "n": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "mean": 52.2, + "median": 51.9, + "p10": 44.8, + "p25": 48.4, + "p75": 56.6, + "p90": 59.5, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "mean": 51.0, + "median": 50.7, + "p10": 43.9, + "p25": 46.0, + "p75": 55.5, + "p90": 58.3, + "n": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "mean": 58.5, + "median": 59.0, + "p10": 49.8, + "p25": 55.5, + "p75": 63.7, + "p90": 66.6, + "n": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "mean": 52.2, + "median": 53.1, + "p10": 42.5, + "p25": 46.0, + "p75": 57.8, + "p90": 61.4, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "mean": 59.7, + "median": 57.8, + "p10": 50.7, + "p25": 54.3, + "p75": 66.1, + "p90": 69.6, + "n": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "mean": 53.1, + "median": 51.9, + "p10": 44.8, + "p25": 48.4, + "p75": 56.6, + "p90": 62.3, + "n": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "mean": 46.5, + "median": 46.0, + "p10": 39.6, + "p25": 42.5, + "p75": 50.7, + "p90": 53.6, + "n": 5, + "total_kg_days": 827400.0 + } + ], + "stats": { + "n": 83, + "mean": 57.0, + "median": 54.3, + "std": 19.8, + "min": 5.9, + "max": 153.4, + "p25": 44.8, + "p75": 63.7, + "p85": 72.0, + "p95": 100.3 + }, + "plifz": 30, + "plifz_note": null, + "pct_exceeding_plifz": 89.2, + "annotations": [ + { + "date": "2023-09-01", + "label": "Supplier change for Highland Arabica" + } + ], + "cost": { + "unit_price": 3.776, + "currency": "CHF", + "mean_qty": 4200.0, + "monthly": [ + { + "month": "2022-04", + "n_events": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "n_events": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "n_events": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "n_events": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "n_events": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "n_events": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "n_events": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "n_events": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "n_events": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "n_events": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 827400.0 + } + ] + }, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": 38, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/raw_dwell_lowland_robusta.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/raw_dwell_lowland_robusta.json new file mode 100644 index 00000000000..8e6796c4923 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/raw_dwell_lowland_robusta.json @@ -0,0 +1,563 @@ +{ + "id": "raw_dwell_lowland_robusta", + "label": "Raw Material Dwell: Lowland Robusta", + "type": "raw_material_dwell", + "durations": [ + 33.0, 53.1, 14.2, 73.2, 38.9, 92.0, 23.6, 64.9, 9.4, 49.6, 76.7, 44.8, 17.7, + 85.0, 29.5, 56.6, 3.5, 100.3, 35.4, 64.9, 26.0, 47.2, 115.6, 21.2, 46.0, + 48.4, 53.1, 35.4, 40.1, 44.8, 48.4, 31.9, 35.4, 37.8, 44.8, 27.1, 31.9, + 34.2, 37.8, 33.0, 37.8, 40.1, 43.7, 47.2, 33.0, 36.6, 38.9, 42.5, 46.0, + 42.5, 46.0, 48.4, 53.1, 35.4, 41.3, 44.8, 48.4, 31.9, 35.4, 40.1, 44.8, + 27.1, 31.9, 34.2, 50.7, 33.0, 37.8, 40.1, 43.7 + ], + "observations": [ + { + "date": "2022-05-02", + "value": 33.0 + }, + { + "date": "2022-05-10", + "value": 53.1 + }, + { + "date": "2022-05-18", + "value": 14.2 + }, + { + "date": "2022-05-25", + "value": 73.2 + }, + { + "date": "2023-02-06", + "value": 38.9 + }, + { + "date": "2023-02-14", + "value": 92.0 + }, + { + "date": "2023-02-22", + "value": 23.6 + }, + { + "date": "2023-02-28", + "value": 64.9 + }, + { + "date": "2023-09-05", + "value": 9.4 + }, + { + "date": "2023-09-15", + "value": 49.6 + }, + { + "date": "2023-09-25", + "value": 76.7 + }, + { + "date": "2024-04-03", + "value": 44.8 + }, + { + "date": "2024-04-10", + "value": 17.7 + }, + { + "date": "2024-04-17", + "value": 85.0 + }, + { + "date": "2024-04-24", + "value": 29.5 + }, + { + "date": "2024-10-02", + "value": 56.6 + }, + { + "date": "2024-10-09", + "value": 3.5 + }, + { + "date": "2024-10-16", + "value": 100.3 + }, + { + "date": "2024-10-23", + "value": 35.4 + }, + { + "date": "2024-10-30", + "value": 64.9 + }, + { + "date": "2025-04-07", + "value": 26.0 + }, + { + "date": "2025-04-14", + "value": 47.2 + }, + { + "date": "2025-04-21", + "value": 115.6 + }, + { + "date": "2025-04-28", + "value": 21.2 + }, + { + "date": "2025-09-04", + "value": 46.0 + }, + { + "date": "2025-09-10", + "value": 48.4 + }, + { + "date": "2025-09-16", + "value": 53.1 + }, + { + "date": "2025-09-22", + "value": 35.4 + }, + { + "date": "2025-09-28", + "value": 40.1 + }, + { + "date": "2025-10-05", + "value": 44.8 + }, + { + "date": "2025-10-11", + "value": 48.4 + }, + { + "date": "2025-10-17", + "value": 31.9 + }, + { + "date": "2025-10-23", + "value": 35.4 + }, + { + "date": "2025-10-29", + "value": 37.8 + }, + { + "date": "2025-11-06", + "value": 44.8 + }, + { + "date": "2025-11-12", + "value": 27.1 + }, + { + "date": "2025-11-18", + "value": 31.9 + }, + { + "date": "2025-11-24", + "value": 34.2 + }, + { + "date": "2025-11-30", + "value": 37.8 + }, + { + "date": "2025-12-04", + "value": 33.0 + }, + { + "date": "2025-12-10", + "value": 37.8 + }, + { + "date": "2025-12-16", + "value": 40.1 + }, + { + "date": "2025-12-22", + "value": 43.7 + }, + { + "date": "2025-12-28", + "value": 47.2 + }, + { + "date": "2026-01-05", + "value": 33.0 + }, + { + "date": "2026-01-11", + "value": 36.6 + }, + { + "date": "2026-01-17", + "value": 38.9 + }, + { + "date": "2026-01-23", + "value": 42.5 + }, + { + "date": "2026-01-29", + "value": 46.0 + }, + { + "date": "2026-02-06", + "value": 42.5 + }, + { + "date": "2026-02-12", + "value": 46.0 + }, + { + "date": "2026-02-18", + "value": 48.4 + }, + { + "date": "2026-02-24", + "value": 53.1 + }, + { + "date": "2026-02-30", + "value": 35.4 + }, + { + "date": "2026-03-04", + "value": 41.3 + }, + { + "date": "2026-03-10", + "value": 44.8 + }, + { + "date": "2026-03-16", + "value": 48.4 + }, + { + "date": "2026-03-22", + "value": 31.9 + }, + { + "date": "2026-03-28", + "value": 35.4 + }, + { + "date": "2026-04-05", + "value": 40.1 + }, + { + "date": "2026-04-11", + "value": 44.8 + }, + { + "date": "2026-04-17", + "value": 27.1 + }, + { + "date": "2026-04-23", + "value": 31.9 + }, + { + "date": "2026-04-29", + "value": 34.2 + }, + { + "date": "2026-05-06", + "value": 50.7 + }, + { + "date": "2026-05-12", + "value": 33.0 + }, + { + "date": "2026-05-18", + "value": 37.8 + }, + { + "date": "2026-05-24", + "value": 40.1 + }, + { + "date": "2026-05-30", + "value": 43.7 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 43.4, + "median": 43.1, + "p10": 19.8, + "p25": 28.3, + "p75": 58.2, + "p90": 67.1, + "n": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "mean": 54.9, + "median": 51.9, + "p10": 28.2, + "p25": 35.2, + "p75": 71.7, + "p90": 83.9, + "n": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "mean": 45.2, + "median": 49.6, + "p10": 17.5, + "p25": 29.5, + "p75": 63.1, + "p90": 71.3, + "n": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "mean": 44.2, + "median": 37.2, + "p10": 21.2, + "p25": 26.5, + "p75": 54.9, + "p90": 72.9, + "n": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "mean": 52.2, + "median": 56.6, + "p10": 16.3, + "p25": 35.4, + "p75": 64.9, + "p90": 86.1, + "n": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "mean": 52.5, + "median": 36.6, + "p10": 22.7, + "p25": 24.8, + "p75": 64.3, + "p90": 95.1, + "n": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "mean": 44.6, + "median": 46.0, + "p10": 37.3, + "p25": 40.1, + "p75": 48.4, + "p90": 51.2, + "n": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "mean": 39.6, + "median": 37.8, + "p10": 33.3, + "p25": 35.4, + "p75": 44.8, + "p90": 47.0, + "n": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "mean": 35.2, + "median": 34.2, + "p10": 29.0, + "p25": 31.9, + "p75": 37.8, + "p90": 42.0, + "n": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "mean": 40.4, + "median": 40.1, + "p10": 34.9, + "p25": 37.8, + "p75": 43.7, + "p90": 45.8, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "mean": 39.4, + "median": 38.9, + "p10": 34.5, + "p25": 36.6, + "p75": 42.5, + "p90": 44.6, + "n": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "mean": 45.1, + "median": 46.0, + "p10": 38.2, + "p25": 42.5, + "p75": 48.4, + "p90": 51.2, + "n": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "mean": 40.4, + "median": 41.3, + "p10": 33.3, + "p25": 35.4, + "p75": 44.8, + "p90": 47.0, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "mean": 35.6, + "median": 34.2, + "p10": 29.0, + "p25": 31.9, + "p75": 40.1, + "p90": 43.0, + "n": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "mean": 41.1, + "median": 40.1, + "p10": 34.9, + "p25": 37.8, + "p75": 43.7, + "p90": 47.9, + "n": 5, + "total_kg_days": 1131000.0 + } + ], + "stats": { + "n": 69, + "mean": 43.2, + "median": 40.1, + "std": 15.8, + "min": 3.5, + "max": 115.6, + "p25": 33.0, + "p75": 48.4, + "p85": 53.1, + "p95": 76.7 + }, + "plifz": 21, + "plifz_note": null, + "pct_exceeding_plifz": 91.3, + "annotations": [], + "cost": { + "unit_price": 2.124, + "currency": "CHF", + "mean_qty": 6500.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "n_events": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "n_events": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "n_events": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "n_events": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "n_events": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 1131000.0 + } + ] + }, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": 42, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/raw_dwell_washed_bourbon.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/raw_dwell_washed_bourbon.json new file mode 100644 index 00000000000..e41d6beff8c --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/raw_dwell_washed_bourbon.json @@ -0,0 +1,567 @@ +{ + "id": "raw_dwell_washed_bourbon", + "label": "Raw Material Dwell: Washed Bourbon", + "type": "raw_material_dwell", + "durations": [ + 47.2, 26.0, 80.2, 4.7, 64.9, 135.7, 35.4, 73.2, 21.2, 100.3, 41.3, 85.0, + 11.8, 56.6, 112.1, 33.0, 61.4, 17.7, 92.0, 49.6, 9.4, 76.7, 38.9, 118.0, + 23.6, 48.4, 53.1, 56.6, 61.4, 40.1, 47.2, 51.9, 56.6, 35.4, 40.1, 59.0, + 63.7, 42.5, 48.4, 51.9, 59.0, 37.8, 42.5, 46.0, 50.7, 33.0, 37.8, 41.3, + 44.8, 49.6, 46.0, 48.4, 53.1, 56.6, 61.4, 43.7, 47.2, 51.9, 56.6, 35.4, + 55.5, 59.0, 63.7, 42.5, 48.4, 54.3, 59.0, 37.8, 42.5, 46.0 + ], + "observations": [ + { + "date": "2022-06-05", + "value": 47.2 + }, + { + "date": "2022-06-15", + "value": 26.0 + }, + { + "date": "2022-06-25", + "value": 80.2 + }, + { + "date": "2023-03-08", + "value": 4.7 + }, + { + "date": "2023-03-15", + "value": 64.9 + }, + { + "date": "2023-03-22", + "value": 135.7 + }, + { + "date": "2023-03-29", + "value": 35.4 + }, + { + "date": "2023-11-06", + "value": 73.2 + }, + { + "date": "2023-11-13", + "value": 21.2 + }, + { + "date": "2023-11-20", + "value": 100.3 + }, + { + "date": "2024-06-03", + "value": 41.3 + }, + { + "date": "2024-06-10", + "value": 85.0 + }, + { + "date": "2024-06-17", + "value": 11.8 + }, + { + "date": "2024-06-24", + "value": 56.6 + }, + { + "date": "2024-06-30", + "value": 112.1 + }, + { + "date": "2025-01-07", + "value": 33.0 + }, + { + "date": "2025-01-14", + "value": 61.4 + }, + { + "date": "2025-01-21", + "value": 17.7 + }, + { + "date": "2025-01-28", + "value": 92.0 + }, + { + "date": "2025-08-04", + "value": 49.6 + }, + { + "date": "2025-08-08", + "value": 9.4 + }, + { + "date": "2025-08-12", + "value": 76.7 + }, + { + "date": "2025-08-16", + "value": 38.9 + }, + { + "date": "2025-08-20", + "value": 118.0 + }, + { + "date": "2025-08-24", + "value": 23.6 + }, + { + "date": "2025-09-06", + "value": 48.4 + }, + { + "date": "2025-09-12", + "value": 53.1 + }, + { + "date": "2025-09-18", + "value": 56.6 + }, + { + "date": "2025-09-24", + "value": 61.4 + }, + { + "date": "2025-09-30", + "value": 40.1 + }, + { + "date": "2025-10-04", + "value": 47.2 + }, + { + "date": "2025-10-10", + "value": 51.9 + }, + { + "date": "2025-10-16", + "value": 56.6 + }, + { + "date": "2025-10-22", + "value": 35.4 + }, + { + "date": "2025-10-28", + "value": 40.1 + }, + { + "date": "2025-11-05", + "value": 59.0 + }, + { + "date": "2025-11-11", + "value": 63.7 + }, + { + "date": "2025-11-17", + "value": 42.5 + }, + { + "date": "2025-11-23", + "value": 48.4 + }, + { + "date": "2025-11-29", + "value": 51.9 + }, + { + "date": "2025-12-06", + "value": 59.0 + }, + { + "date": "2025-12-12", + "value": 37.8 + }, + { + "date": "2025-12-18", + "value": 42.5 + }, + { + "date": "2025-12-24", + "value": 46.0 + }, + { + "date": "2025-12-30", + "value": 50.7 + }, + { + "date": "2026-01-04", + "value": 33.0 + }, + { + "date": "2026-01-10", + "value": 37.8 + }, + { + "date": "2026-01-16", + "value": 41.3 + }, + { + "date": "2026-01-22", + "value": 44.8 + }, + { + "date": "2026-01-28", + "value": 49.6 + }, + { + "date": "2026-02-05", + "value": 46.0 + }, + { + "date": "2026-02-11", + "value": 48.4 + }, + { + "date": "2026-02-17", + "value": 53.1 + }, + { + "date": "2026-02-23", + "value": 56.6 + }, + { + "date": "2026-02-29", + "value": 61.4 + }, + { + "date": "2026-03-06", + "value": 43.7 + }, + { + "date": "2026-03-12", + "value": 47.2 + }, + { + "date": "2026-03-18", + "value": 51.9 + }, + { + "date": "2026-03-24", + "value": 56.6 + }, + { + "date": "2026-03-30", + "value": 35.4 + }, + { + "date": "2026-04-04", + "value": 55.5 + }, + { + "date": "2026-04-10", + "value": 59.0 + }, + { + "date": "2026-04-16", + "value": 63.7 + }, + { + "date": "2026-04-22", + "value": 42.5 + }, + { + "date": "2026-04-28", + "value": 48.4 + }, + { + "date": "2026-05-05", + "value": 54.3 + }, + { + "date": "2026-05-11", + "value": 59.0 + }, + { + "date": "2026-05-17", + "value": 37.8 + }, + { + "date": "2026-05-23", + "value": 42.5 + }, + { + "date": "2026-05-29", + "value": 46.0 + } + ], + "monthly": [ + { + "month": "2022-06", + "mean": 51.1, + "median": 47.2, + "p10": 30.2, + "p25": 36.6, + "p75": 63.7, + "p90": 73.6, + "n": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "mean": 60.2, + "median": 50.1, + "p10": 13.9, + "p25": 27.7, + "p75": 82.6, + "p90": 114.5, + "n": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "mean": 64.9, + "median": 73.2, + "p10": 31.6, + "p25": 47.2, + "p75": 86.7, + "p90": 94.9, + "n": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "mean": 61.4, + "median": 56.6, + "p10": 23.6, + "p25": 41.3, + "p75": 85.0, + "p90": 101.2, + "n": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "mean": 51.1, + "median": 47.2, + "p10": 22.3, + "p25": 29.3, + "p75": 69.0, + "p90": 82.8, + "n": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "mean": 52.7, + "median": 44.2, + "p10": 16.5, + "p25": 27.5, + "p75": 70.0, + "p90": 97.3, + "n": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "mean": 51.9, + "median": 53.1, + "p10": 43.4, + "p25": 48.4, + "p75": 56.6, + "p90": 59.5, + "n": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "mean": 46.3, + "median": 47.2, + "p10": 37.3, + "p25": 40.1, + "p75": 51.9, + "p90": 54.8, + "n": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "mean": 53.1, + "median": 51.9, + "p10": 44.8, + "p25": 48.4, + "p75": 59.0, + "p90": 61.8, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "mean": 47.2, + "median": 46.0, + "p10": 39.6, + "p25": 42.5, + "p75": 50.7, + "p90": 55.7, + "n": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "mean": 41.3, + "median": 41.3, + "p10": 34.9, + "p25": 37.8, + "p75": 44.8, + "p90": 47.7, + "n": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "mean": 53.1, + "median": 53.1, + "p10": 47.0, + "p25": 48.4, + "p75": 56.6, + "p90": 59.5, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "mean": 47.0, + "median": 47.2, + "p10": 38.7, + "p25": 43.7, + "p75": 51.9, + "p90": 54.8, + "n": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "mean": 53.8, + "median": 55.5, + "p10": 44.8, + "p25": 48.4, + "p75": 59.0, + "p90": 61.8, + "n": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "mean": 47.9, + "median": 46.0, + "p10": 39.6, + "p25": 42.5, + "p75": 54.3, + "p90": 57.1, + "n": 5, + "total_kg_days": 568400.0 + } + ], + "stats": { + "n": 70, + "mean": 51.8, + "median": 48.4, + "std": 19.1, + "min": 4.7, + "max": 135.7, + "p25": 40.1, + "p75": 59.0, + "p85": 63.7, + "p95": 92.0 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 95.7, + "annotations": [], + "cost": { + "unit_price": 6.49, + "currency": "CHF", + "mean_qty": 2800.0, + "monthly": [ + { + "month": "2022-06", + "n_events": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "n_events": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "n_events": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "n_events": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "n_events": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "n_events": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 568400.0 + } + ] + }, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": 25, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/transit_pla_hub1.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/transit_pla_hub1.json new file mode 100644 index 00000000000..1d263f283b1 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.1/summit-medium-roast/steps/transit_pla_hub1.json @@ -0,0 +1,437 @@ +{ + "id": "transit_pla_hub1", + "label": "Transit PL-A \u2192 HUB-1", + "type": "transit", + "durations": [ + 33.0, 41.3, 26.0, 49.6, 35.4, 64.9, 29.5, 44.8, 17.7, 37.8, 33.0, 53.1, + 35.4, 26.0, 42.5, 44.8, 46.0, 30.7, 42.5, 27.1, 30.7, 31.9, 36.6, 38.9, + 31.9, 34.2, 37.8, 30.7, 34.2, 36.6, 38.9, 42.5, 46.0, 38.9, 42.5, 27.1, + 47.2, 31.9, 36.6, 28.3, 31.9, 34.2 + ], + "observations": [ + { + "date": "2022-07-20", + "value": 33.0 + }, + { + "date": "2022-11-30", + "value": 41.3 + }, + { + "date": "2023-03-15", + "value": 26.0 + }, + { + "date": "2023-07-10", + "value": 49.6 + }, + { + "date": "2023-10-25", + "value": 35.4 + }, + { + "date": "2024-02-08", + "value": 64.9 + }, + { + "date": "2024-05-20", + "value": 29.5 + }, + { + "date": "2024-08-12", + "value": 44.8 + }, + { + "date": "2024-11-05", + "value": 17.7 + }, + { + "date": "2025-01-22", + "value": 37.8 + }, + { + "date": "2025-04-10", + "value": 33.0 + }, + { + "date": "2025-06-18", + "value": 53.1 + }, + { + "date": "2025-07-15", + "value": 35.4 + }, + { + "date": "2025-08-05", + "value": 26.0 + }, + { + "date": "2025-09-05", + "value": 42.5 + }, + { + "date": "2025-09-10", + "value": 44.8 + }, + { + "date": "2025-09-11", + "value": 46.0 + }, + { + "date": "2025-09-17", + "value": 30.7 + }, + { + "date": "2025-10-06", + "value": 42.5 + }, + { + "date": "2025-10-12", + "value": 27.1 + }, + { + "date": "2025-10-18", + "value": 30.7 + }, + { + "date": "2025-11-04", + "value": 31.9 + }, + { + "date": "2025-11-10", + "value": 36.6 + }, + { + "date": "2025-11-16", + "value": 38.9 + }, + { + "date": "2025-12-05", + "value": 31.9 + }, + { + "date": "2025-12-11", + "value": 34.2 + }, + { + "date": "2025-12-17", + "value": 37.8 + }, + { + "date": "2026-01-06", + "value": 30.7 + }, + { + "date": "2026-01-12", + "value": 34.2 + }, + { + "date": "2026-01-18", + "value": 36.6 + }, + { + "date": "2026-02-04", + "value": 38.9 + }, + { + "date": "2026-02-10", + "value": 42.5 + }, + { + "date": "2026-02-16", + "value": 46.0 + }, + { + "date": "2026-03-05", + "value": 38.9 + }, + { + "date": "2026-03-11", + "value": 42.5 + }, + { + "date": "2026-03-17", + "value": 27.1 + }, + { + "date": "2026-04-06", + "value": 47.2 + }, + { + "date": "2026-04-12", + "value": 31.9 + }, + { + "date": "2026-04-18", + "value": 36.6 + }, + { + "date": "2026-05-04", + "value": 28.3 + }, + { + "date": "2026-05-10", + "value": 31.9 + }, + { + "date": "2026-05-16", + "value": 34.2 + } + ], + "monthly": [ + { + "month": "2022-07", + "mean": 33.0, + "median": 33.0, + "p10": 33.0, + "p25": 33.0, + "p75": 33.0, + "p90": 33.0, + "n": 1 + }, + { + "month": "2022-11", + "mean": 41.3, + "median": 41.3, + "p10": 41.3, + "p25": 41.3, + "p75": 41.3, + "p90": 41.3, + "n": 1 + }, + { + "month": "2023-03", + "mean": 26.0, + "median": 26.0, + "p10": 26.0, + "p25": 26.0, + "p75": 26.0, + "p90": 26.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 49.6, + "median": 49.6, + "p10": 49.6, + "p25": 49.6, + "p75": 49.6, + "p90": 49.6, + "n": 1 + }, + { + "month": "2023-10", + "mean": 35.4, + "median": 35.4, + "p10": 35.4, + "p25": 35.4, + "p75": 35.4, + "p90": 35.4, + "n": 1 + }, + { + "month": "2024-02", + "mean": 64.9, + "median": 64.9, + "p10": 64.9, + "p25": 64.9, + "p75": 64.9, + "p90": 64.9, + "n": 1 + }, + { + "month": "2024-05", + "mean": 29.5, + "median": 29.5, + "p10": 29.5, + "p25": 29.5, + "p75": 29.5, + "p90": 29.5, + "n": 1 + }, + { + "month": "2024-08", + "mean": 44.8, + "median": 44.8, + "p10": 44.8, + "p25": 44.8, + "p75": 44.8, + "p90": 44.8, + "n": 1 + }, + { + "month": "2024-11", + "mean": 17.7, + "median": 17.7, + "p10": 17.7, + "p25": 17.7, + "p75": 17.7, + "p90": 17.7, + "n": 1 + }, + { + "month": "2025-01", + "mean": 37.8, + "median": 37.8, + "p10": 37.8, + "p25": 37.8, + "p75": 37.8, + "p90": 37.8, + "n": 1 + }, + { + "month": "2025-04", + "mean": 33.0, + "median": 33.0, + "p10": 33.0, + "p25": 33.0, + "p75": 33.0, + "p90": 33.0, + "n": 1 + }, + { + "month": "2025-06", + "mean": 53.1, + "median": 53.1, + "p10": 53.1, + "p25": 53.1, + "p75": 53.1, + "p90": 53.1, + "n": 1 + }, + { + "month": "2025-07", + "mean": 35.4, + "median": 35.4, + "p10": 35.4, + "p25": 35.4, + "p75": 35.4, + "p90": 35.4, + "n": 1 + }, + { + "month": "2025-08", + "mean": 26.0, + "median": 26.0, + "p10": 26.0, + "p25": 26.0, + "p75": 26.0, + "p90": 26.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 41.1, + "median": 43.7, + "p10": 34.2, + "p25": 39.5, + "p75": 45.2, + "p90": 45.7, + "n": 4 + }, + { + "month": "2025-10", + "mean": 33.4, + "median": 30.7, + "p10": 27.8, + "p25": 28.9, + "p75": 36.6, + "p90": 40.1, + "n": 3 + }, + { + "month": "2025-11", + "mean": 35.8, + "median": 36.6, + "p10": 32.8, + "p25": 34.2, + "p75": 37.8, + "p90": 38.5, + "n": 3 + }, + { + "month": "2025-12", + "mean": 34.6, + "median": 34.2, + "p10": 32.3, + "p25": 33.0, + "p75": 36.0, + "p90": 37.1, + "n": 3 + }, + { + "month": "2026-01", + "mean": 33.9, + "median": 34.2, + "p10": 31.4, + "p25": 32.4, + "p75": 35.4, + "p90": 36.1, + "n": 3 + }, + { + "month": "2026-02", + "mean": 42.5, + "median": 42.5, + "p10": 39.6, + "p25": 40.7, + "p75": 44.2, + "p90": 45.3, + "n": 3 + }, + { + "month": "2026-03", + "mean": 36.2, + "median": 38.9, + "p10": 29.5, + "p25": 33.0, + "p75": 40.7, + "p90": 41.8, + "n": 3 + }, + { + "month": "2026-04", + "mean": 38.6, + "median": 36.6, + "p10": 32.8, + "p25": 34.2, + "p75": 41.9, + "p90": 45.1, + "n": 3 + }, + { + "month": "2026-05", + "mean": 31.5, + "median": 31.9, + "p10": 29.0, + "p25": 30.1, + "p75": 33.0, + "p90": 33.7, + "n": 3 + } + ], + "stats": { + "n": 42, + "mean": 36.9, + "median": 35.4, + "std": 7.1, + "min": 17.7, + "max": 64.9, + "p25": 31.9, + "p75": 42.5, + "p85": 44.8, + "p95": 47.2 + }, + "plifz": 28, + "plifz_note": null, + "pct_exceeding_plifz": 61.9, + "annotations": [], + "cost": null, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": 15, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/_global/supplier-lines.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/_global/supplier-lines.json new file mode 100644 index 00000000000..11aa305b6c3 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/_global/supplier-lines.json @@ -0,0 +1,3046 @@ +{ + "schema_version": "1.0", + "generated_at": "2026-06-17T16:36:56Z", + "lines": [ + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000000", + "po_item": "00010", + "po_date": "2025-04-23", + "promised_date": "2025-06-08", + "first_gr_date": "2025-06-06", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000001", + "po_item": "00020", + "po_date": "2025-05-01", + "promised_date": "2025-06-17", + "first_gr_date": "2025-06-15", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000002", + "po_item": "00030", + "po_date": "2025-05-06", + "promised_date": "2025-06-20", + "first_gr_date": "2025-06-20", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000003", + "po_item": "00040", + "po_date": "2025-05-14", + "promised_date": "2025-06-05", + "first_gr_date": "2025-06-03", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000004", + "po_item": "00050", + "po_date": "2025-05-22", + "promised_date": "2025-06-24", + "first_gr_date": "2025-06-21", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000005", + "po_item": "00010", + "po_date": "2025-05-27", + "promised_date": "2025-06-16", + "first_gr_date": "2025-06-13", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000006", + "po_item": "00020", + "po_date": "2025-06-02", + "promised_date": "2025-07-10", + "first_gr_date": "2025-07-09", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000007", + "po_item": "00030", + "po_date": "2025-06-11", + "promised_date": "2025-07-06", + "first_gr_date": "2025-07-10", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000008", + "po_item": "00040", + "po_date": "2025-06-19", + "promised_date": "2025-08-07", + "first_gr_date": "2025-08-07", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000009", + "po_item": "00050", + "po_date": "2025-06-25", + "promised_date": "2025-07-23", + "first_gr_date": "2025-07-21", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000010", + "po_item": "00010", + "po_date": "2025-06-30", + "promised_date": "2025-07-26", + "first_gr_date": "2025-07-26", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000011", + "po_item": "00020", + "po_date": "2025-07-07", + "promised_date": "2025-08-19", + "first_gr_date": "2025-08-25", + "days_late": 6, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000012", + "po_item": "00030", + "po_date": "2025-07-15", + "promised_date": "2025-08-07", + "first_gr_date": "2025-08-07", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000013", + "po_item": "00040", + "po_date": "2025-07-23", + "promised_date": "2025-08-20", + "first_gr_date": "2025-08-20", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000014", + "po_item": "00050", + "po_date": "2025-07-28", + "promised_date": "2025-08-23", + "first_gr_date": "2025-08-23", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000015", + "po_item": "00010", + "po_date": "2025-08-04", + "promised_date": "2025-08-27", + "first_gr_date": "2025-08-27", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000016", + "po_item": "00020", + "po_date": "2025-08-13", + "promised_date": "2025-09-25", + "first_gr_date": "2025-09-25", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000017", + "po_item": "00030", + "po_date": "2025-08-21", + "promised_date": "2025-10-05", + "first_gr_date": "2025-10-05", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000018", + "po_item": "00040", + "po_date": "2025-08-26", + "promised_date": "2025-10-12", + "first_gr_date": "2025-10-10", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000019", + "po_item": "00050", + "po_date": "2025-09-04", + "promised_date": "2025-09-28", + "first_gr_date": "2025-09-27", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000020", + "po_item": "00010", + "po_date": "2025-09-09", + "promised_date": "2025-10-03", + "first_gr_date": "2025-10-03", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000021", + "po_item": "00020", + "po_date": "2025-09-17", + "promised_date": "2025-10-22", + "first_gr_date": "2025-10-19", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000022", + "po_item": "00030", + "po_date": "2025-09-23", + "promised_date": "2025-10-17", + "first_gr_date": "2025-10-16", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000023", + "po_item": "00040", + "po_date": "2025-10-01", + "promised_date": "2025-10-29", + "first_gr_date": "2025-10-31", + "days_late": 2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000024", + "po_item": "00050", + "po_date": "2025-10-08", + "promised_date": "2025-11-01", + "first_gr_date": "2025-11-01", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000025", + "po_item": "00010", + "po_date": "2025-10-14", + "promised_date": "2025-11-19", + "first_gr_date": "2025-11-17", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000026", + "po_item": "00020", + "po_date": "2025-10-21", + "promised_date": "2025-12-04", + "first_gr_date": "2025-12-04", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000027", + "po_item": "00030", + "po_date": "2025-10-29", + "promised_date": "2025-12-01", + "first_gr_date": "2025-11-29", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000028", + "po_item": "00040", + "po_date": "2025-11-04", + "promised_date": "2025-12-03", + "first_gr_date": "2025-12-03", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000029", + "po_item": "00050", + "po_date": "2025-11-10", + "promised_date": "2025-12-19", + "first_gr_date": "2025-12-19", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000030", + "po_item": "00010", + "po_date": "2025-11-20", + "promised_date": "2025-12-23", + "first_gr_date": "2025-12-24", + "days_late": 1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000031", + "po_item": "00020", + "po_date": "2025-11-27", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-13", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000032", + "po_item": "00030", + "po_date": "2025-12-04", + "promised_date": "2026-01-17", + "first_gr_date": "2026-01-17", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000033", + "po_item": "00040", + "po_date": "2025-12-10", + "promised_date": "2026-01-15", + "first_gr_date": "2026-01-13", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000034", + "po_item": "00050", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-11", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000035", + "po_item": "00010", + "po_date": "2025-12-24", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-13", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000036", + "po_item": "00020", + "po_date": "2025-12-31", + "promised_date": "2026-02-01", + "first_gr_date": "2026-01-31", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000037", + "po_item": "00030", + "po_date": "2026-01-08", + "promised_date": "2026-02-10", + "first_gr_date": "2026-02-08", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000038", + "po_item": "00040", + "po_date": "2026-01-13", + "promised_date": "2026-02-13", + "first_gr_date": "2026-02-11", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000039", + "po_item": "00050", + "po_date": "2026-01-20", + "promised_date": "2026-03-01", + "first_gr_date": "2026-03-01", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000040", + "po_item": "00010", + "po_date": "2026-01-29", + "promised_date": "2026-02-25", + "first_gr_date": "2026-02-25", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000041", + "po_item": "00020", + "po_date": "2026-02-03", + "promised_date": "2026-03-07", + "first_gr_date": "2026-03-07", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000042", + "po_item": "00030", + "po_date": "2026-02-11", + "promised_date": "2026-03-18", + "first_gr_date": "2026-03-18", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000043", + "po_item": "00040", + "po_date": "2026-02-16", + "promised_date": "2026-03-23", + "first_gr_date": "2026-03-22", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000044", + "po_item": "00050", + "po_date": "2026-02-26", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-24", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000045", + "po_item": "00010", + "po_date": "2026-03-04", + "promised_date": "2026-03-27", + "first_gr_date": "2026-03-27", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000046", + "po_item": "00020", + "po_date": "2026-03-10", + "promised_date": "2026-04-26", + "first_gr_date": "2026-04-29", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000047", + "po_item": "00030", + "po_date": "2026-03-18", + "promised_date": "2026-05-03", + "first_gr_date": "2026-05-01", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000048", + "po_item": "00040", + "po_date": "2026-03-25", + "promised_date": "2026-04-22", + "first_gr_date": "2026-04-22", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000049", + "po_item": "00050", + "po_date": "2026-03-31", + "promised_date": "2026-05-09", + "first_gr_date": "2026-05-06", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000050", + "po_item": "00010", + "po_date": "2026-04-07", + "promised_date": "2026-04-30", + "first_gr_date": "2026-04-27", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000051", + "po_item": "00020", + "po_date": "2026-04-15", + "promised_date": "2026-05-11", + "first_gr_date": "2026-05-11", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000052", + "po_item": "00030", + "po_date": "2026-04-22", + "promised_date": "2026-06-06", + "first_gr_date": "2026-06-06", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000053", + "po_item": "00040", + "po_date": "2026-04-28", + "promised_date": "2026-05-29", + "first_gr_date": "2026-05-29", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000054", + "po_item": "00050", + "po_date": "2026-05-07", + "promised_date": "2026-06-13", + "first_gr_date": "2026-06-13", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000055", + "po_item": "00010", + "po_date": "2026-05-11", + "promised_date": "2026-06-15", + "first_gr_date": "2026-06-13", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000056", + "po_item": "00010", + "po_date": "2026-02-25", + "promised_date": "2026-04-09", + "first_gr_date": "2026-04-10", + "days_late": 1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000057", + "po_item": "00020", + "po_date": "2026-03-02", + "promised_date": "2026-04-01", + "first_gr_date": "2026-04-01", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000058", + "po_item": "00030", + "po_date": "2026-03-11", + "promised_date": "2026-04-07", + "first_gr_date": "2026-04-12", + "days_late": 5, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000059", + "po_item": "00040", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "first_gr_date": "2026-05-01", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000060", + "po_item": "00050", + "po_date": "2026-03-24", + "promised_date": "2026-04-13", + "first_gr_date": "2026-04-14", + "days_late": 1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000061", + "po_item": "00010", + "po_date": "2026-04-01", + "promised_date": "2026-05-21", + "first_gr_date": "2026-05-18", + "days_late": -3, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000062", + "po_item": "00020", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "first_gr_date": "2026-05-27", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000063", + "po_item": "00030", + "po_date": "2026-04-13", + "promised_date": "2026-05-07", + "first_gr_date": "2026-05-07", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000064", + "po_item": "00040", + "po_date": "2026-04-21", + "promised_date": "2026-06-06", + "first_gr_date": "2026-06-05", + "days_late": -1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000065", + "po_item": "00050", + "po_date": "2026-04-27", + "promised_date": "2026-05-19", + "first_gr_date": "2026-05-19", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000066", + "po_item": "00010", + "po_date": "2026-05-04", + "promised_date": "2026-06-16", + "first_gr_date": "2026-06-16", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000067", + "po_item": "00020", + "po_date": "2026-05-14", + "promised_date": "2026-06-04", + "first_gr_date": "2026-06-22", + "days_late": 18, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000068", + "po_item": "00010", + "po_date": "2026-02-24", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-07", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000069", + "po_item": "00020", + "po_date": "2026-03-04", + "promised_date": "2026-04-06", + "first_gr_date": "2026-04-09", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000070", + "po_item": "00030", + "po_date": "2026-03-09", + "promised_date": "2026-04-22", + "first_gr_date": "2026-05-12", + "days_late": 20, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000071", + "po_item": "00040", + "po_date": "2026-03-17", + "promised_date": "2026-04-16", + "first_gr_date": "2026-04-13", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000072", + "po_item": "00050", + "po_date": "2026-03-24", + "promised_date": "2026-05-03", + "first_gr_date": "2026-05-21", + "days_late": 18, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000073", + "po_item": "00010", + "po_date": "2026-03-31", + "promised_date": "2026-05-08", + "first_gr_date": "2026-06-07", + "days_late": 30, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000074", + "po_item": "00020", + "po_date": "2026-04-08", + "promised_date": "2026-05-06", + "first_gr_date": "2026-05-06", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000075", + "po_item": "00030", + "po_date": "2026-04-13", + "promised_date": "2026-05-18", + "first_gr_date": "2026-05-15", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000076", + "po_item": "00040", + "po_date": "2026-04-20", + "promised_date": "2026-06-04", + "first_gr_date": "2026-06-04", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000077", + "po_item": "00050", + "po_date": "2026-04-29", + "promised_date": "2026-06-02", + "first_gr_date": "2026-06-02", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000078", + "po_item": "00010", + "po_date": "2026-05-06", + "promised_date": "2026-06-06", + "first_gr_date": "2026-06-03", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000079", + "po_item": "00020", + "po_date": "2026-05-12", + "promised_date": "2026-06-09", + "first_gr_date": "2026-06-09", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000080", + "po_item": "00010", + "po_date": "2025-07-29", + "promised_date": "2025-09-10", + "first_gr_date": "2025-09-08", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000081", + "po_item": "00020", + "po_date": "2025-08-07", + "promised_date": "2025-08-30", + "first_gr_date": "2025-08-29", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000082", + "po_item": "00030", + "po_date": "2025-08-11", + "promised_date": "2025-09-05", + "first_gr_date": "2025-09-03", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000083", + "po_item": "00040", + "po_date": "2025-08-19", + "promised_date": "2025-09-16", + "first_gr_date": "2025-09-16", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000084", + "po_item": "00050", + "po_date": "2025-08-27", + "promised_date": "2025-10-02", + "first_gr_date": "2025-10-01", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000085", + "po_item": "00010", + "po_date": "2025-09-04", + "promised_date": "2025-10-21", + "first_gr_date": "2025-10-19", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000086", + "po_item": "00020", + "po_date": "2025-09-10", + "promised_date": "2025-10-14", + "first_gr_date": "2025-10-14", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000087", + "po_item": "00030", + "po_date": "2025-09-15", + "promised_date": "2025-10-23", + "first_gr_date": "2025-10-22", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000088", + "po_item": "00040", + "po_date": "2025-09-22", + "promised_date": "2025-10-14", + "first_gr_date": "2025-10-14", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000089", + "po_item": "00050", + "po_date": "2025-09-29", + "promised_date": "2025-11-02", + "first_gr_date": "2025-11-01", + "days_late": -1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000090", + "po_item": "00010", + "po_date": "2025-10-08", + "promised_date": "2025-11-07", + "first_gr_date": "2025-11-06", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000091", + "po_item": "00020", + "po_date": "2025-10-14", + "promised_date": "2025-12-02", + "first_gr_date": "2025-11-30", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000092", + "po_item": "00030", + "po_date": "2025-10-20", + "promised_date": "2025-12-08", + "first_gr_date": "2025-12-07", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000093", + "po_item": "00040", + "po_date": "2025-10-27", + "promised_date": "2025-11-23", + "first_gr_date": "2025-11-23", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000094", + "po_item": "00050", + "po_date": "2025-11-04", + "promised_date": "2025-11-25", + "first_gr_date": "2025-11-25", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000095", + "po_item": "00010", + "po_date": "2025-11-11", + "promised_date": "2025-12-23", + "first_gr_date": "2025-12-20", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000096", + "po_item": "00020", + "po_date": "2025-11-20", + "promised_date": "2025-12-28", + "first_gr_date": "2025-12-28", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000097", + "po_item": "00030", + "po_date": "2025-11-25", + "promised_date": "2025-12-31", + "first_gr_date": "2025-12-30", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000098", + "po_item": "00040", + "po_date": "2025-12-03", + "promised_date": "2025-12-28", + "first_gr_date": "2025-12-28", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000099", + "po_item": "00050", + "po_date": "2025-12-09", + "promised_date": "2025-12-30", + "first_gr_date": "2025-12-27", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000100", + "po_item": "00010", + "po_date": "2025-12-17", + "promised_date": "2026-02-04", + "first_gr_date": "2026-02-04", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000101", + "po_item": "00020", + "po_date": "2025-12-23", + "promised_date": "2026-01-15", + "first_gr_date": "2026-01-15", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000102", + "po_item": "00030", + "po_date": "2025-12-31", + "promised_date": "2026-01-20", + "first_gr_date": "2026-01-20", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000103", + "po_item": "00040", + "po_date": "2026-01-06", + "promised_date": "2026-02-13", + "first_gr_date": "2026-02-13", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000104", + "po_item": "00050", + "po_date": "2026-01-14", + "promised_date": "2026-02-09", + "first_gr_date": "2026-02-08", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000105", + "po_item": "00010", + "po_date": "2026-01-19", + "promised_date": "2026-02-23", + "first_gr_date": "2026-02-23", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000106", + "po_item": "00020", + "po_date": "2026-01-27", + "promised_date": "2026-03-16", + "first_gr_date": "2026-03-13", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000107", + "po_item": "00030", + "po_date": "2026-02-05", + "promised_date": "2026-03-02", + "first_gr_date": "2026-03-02", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000108", + "po_item": "00040", + "po_date": "2026-02-12", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-24", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000109", + "po_item": "00050", + "po_date": "2026-02-17", + "promised_date": "2026-04-06", + "first_gr_date": "2026-04-06", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000110", + "po_item": "00010", + "po_date": "2026-02-24", + "promised_date": "2026-03-27", + "first_gr_date": "2026-03-25", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000111", + "po_item": "00020", + "po_date": "2026-03-05", + "promised_date": "2026-04-15", + "first_gr_date": "2026-04-12", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000112", + "po_item": "00030", + "po_date": "2026-03-09", + "promised_date": "2026-04-13", + "first_gr_date": "2026-04-13", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000113", + "po_item": "00040", + "po_date": "2026-03-17", + "promised_date": "2026-05-04", + "first_gr_date": "2026-05-01", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000114", + "po_item": "00050", + "po_date": "2026-03-23", + "promised_date": "2026-04-13", + "first_gr_date": "2026-04-11", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000115", + "po_item": "00010", + "po_date": "2026-04-01", + "promised_date": "2026-04-23", + "first_gr_date": "2026-04-23", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000116", + "po_item": "00020", + "po_date": "2026-04-06", + "promised_date": "2026-05-21", + "first_gr_date": "2026-05-21", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000117", + "po_item": "00030", + "po_date": "2026-04-15", + "promised_date": "2026-05-05", + "first_gr_date": "2026-05-05", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000118", + "po_item": "00040", + "po_date": "2026-04-20", + "promised_date": "2026-06-01", + "first_gr_date": "2026-05-31", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000119", + "po_item": "00050", + "po_date": "2026-04-30", + "promised_date": "2026-06-17", + "first_gr_date": "2026-06-17", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000120", + "po_item": "00010", + "po_date": "2026-05-06", + "promised_date": "2026-06-08", + "first_gr_date": "2026-06-05", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000121", + "po_item": "00020", + "po_date": "2026-05-13", + "promised_date": "2026-06-19", + "first_gr_date": "2026-06-19", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000122", + "po_item": "00010", + "po_date": "2026-01-12", + "promised_date": "2026-02-04", + "first_gr_date": "2026-02-04", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000123", + "po_item": "00020", + "po_date": "2026-01-20", + "promised_date": "2026-02-27", + "first_gr_date": "2026-02-27", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000124", + "po_item": "00030", + "po_date": "2026-01-29", + "promised_date": "2026-03-10", + "first_gr_date": "2026-03-07", + "days_late": -3, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000125", + "po_item": "00040", + "po_date": "2026-02-02", + "promised_date": "2026-02-24", + "first_gr_date": "2026-02-24", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000126", + "po_item": "00050", + "po_date": "2026-02-09", + "promised_date": "2026-03-14", + "first_gr_date": "2026-03-14", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000127", + "po_item": "00010", + "po_date": "2026-02-17", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-23", + "days_late": -1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000128", + "po_item": "00020", + "po_date": "2026-02-23", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-24", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000129", + "po_item": "00030", + "po_date": "2026-03-04", + "promised_date": "2026-04-11", + "first_gr_date": "2026-04-08", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000130", + "po_item": "00040", + "po_date": "2026-03-09", + "promised_date": "2026-04-17", + "first_gr_date": "2026-04-17", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000131", + "po_item": "00050", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "first_gr_date": "2026-05-01", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000132", + "po_item": "00010", + "po_date": "2026-03-25", + "promised_date": "2026-05-11", + "first_gr_date": "2026-05-09", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000133", + "po_item": "00020", + "po_date": "2026-04-02", + "promised_date": "2026-05-13", + "first_gr_date": "2026-05-13", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000134", + "po_item": "00030", + "po_date": "2026-04-06", + "promised_date": "2026-05-03", + "first_gr_date": "2026-04-30", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000135", + "po_item": "00040", + "po_date": "2026-04-15", + "promised_date": "2026-05-18", + "first_gr_date": "2026-05-18", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000136", + "po_item": "00050", + "po_date": "2026-04-20", + "promised_date": "2026-05-10", + "first_gr_date": "2026-05-08", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000137", + "po_item": "00010", + "po_date": "2026-04-29", + "promised_date": "2026-06-01", + "first_gr_date": "2026-06-01", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000138", + "po_item": "00020", + "po_date": "2026-05-06", + "promised_date": "2026-05-28", + "first_gr_date": "2026-05-28", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000139", + "po_item": "00030", + "po_date": "2026-05-14", + "promised_date": "2026-06-03", + "first_gr_date": "2026-05-31", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000140", + "po_item": "00010", + "po_date": "2025-09-18", + "promised_date": "2025-10-14", + "first_gr_date": "2025-11-07", + "days_late": 24, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000141", + "po_item": "00020", + "po_date": "2025-09-23", + "promised_date": "2025-11-02", + "first_gr_date": "2025-11-02", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000142", + "po_item": "00030", + "po_date": "2025-09-29", + "promised_date": "2025-10-29", + "first_gr_date": "2025-10-29", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000143", + "po_item": "00040", + "po_date": "2025-10-09", + "promised_date": "2025-11-07", + "first_gr_date": "2025-11-07", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000144", + "po_item": "00050", + "po_date": "2025-10-13", + "promised_date": "2025-11-10", + "first_gr_date": "2025-11-10", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000145", + "po_item": "00010", + "po_date": "2025-10-22", + "promised_date": "2025-12-11", + "first_gr_date": "2025-12-11", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000146", + "po_item": "00020", + "po_date": "2025-10-28", + "promised_date": "2025-12-05", + "first_gr_date": "2025-12-03", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000147", + "po_item": "00030", + "po_date": "2025-11-03", + "promised_date": "2025-12-23", + "first_gr_date": "2025-12-23", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000148", + "po_item": "00040", + "po_date": "2025-11-10", + "promised_date": "2025-12-21", + "first_gr_date": "2025-12-21", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000149", + "po_item": "00050", + "po_date": "2025-11-18", + "promised_date": "2026-01-07", + "first_gr_date": "2026-01-07", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000150", + "po_item": "00010", + "po_date": "2025-11-24", + "promised_date": "2026-01-09", + "first_gr_date": "2026-01-06", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000151", + "po_item": "00020", + "po_date": "2025-12-01", + "promised_date": "2026-01-16", + "first_gr_date": "2026-01-13", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000152", + "po_item": "00030", + "po_date": "2025-12-08", + "promised_date": "2026-01-26", + "first_gr_date": "2026-01-26", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000153", + "po_item": "00040", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-13", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000154", + "po_item": "00050", + "po_date": "2025-12-22", + "promised_date": "2026-02-02", + "first_gr_date": "2026-01-31", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000155", + "po_item": "00010", + "po_date": "2025-12-29", + "promised_date": "2026-01-20", + "first_gr_date": "2026-01-20", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000156", + "po_item": "00020", + "po_date": "2026-01-07", + "promised_date": "2026-02-17", + "first_gr_date": "2026-02-14", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000157", + "po_item": "00030", + "po_date": "2026-01-15", + "promised_date": "2026-02-27", + "first_gr_date": "2026-02-27", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000158", + "po_item": "00040", + "po_date": "2026-01-21", + "promised_date": "2026-02-15", + "first_gr_date": "2026-02-15", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000159", + "po_item": "00050", + "po_date": "2026-01-27", + "promised_date": "2026-03-06", + "first_gr_date": "2026-03-06", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000160", + "po_item": "00010", + "po_date": "2026-02-02", + "promised_date": "2026-03-08", + "first_gr_date": "2026-03-08", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000161", + "po_item": "00020", + "po_date": "2026-02-12", + "promised_date": "2026-03-19", + "first_gr_date": "2026-03-20", + "days_late": 1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000162", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-03-20", + "first_gr_date": "2026-04-01", + "days_late": 12, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000163", + "po_item": "00040", + "po_date": "2026-02-23", + "promised_date": "2026-04-10", + "first_gr_date": "2026-04-10", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000164", + "po_item": "00050", + "po_date": "2026-03-03", + "promised_date": "2026-04-10", + "first_gr_date": "2026-04-09", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000165", + "po_item": "00010", + "po_date": "2026-03-10", + "promised_date": "2026-04-07", + "first_gr_date": "2026-04-07", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000166", + "po_item": "00020", + "po_date": "2026-03-17", + "promised_date": "2026-04-11", + "first_gr_date": "2026-04-10", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000167", + "po_item": "00030", + "po_date": "2026-03-26", + "promised_date": "2026-04-16", + "first_gr_date": "2026-04-16", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000168", + "po_item": "00040", + "po_date": "2026-03-30", + "promised_date": "2026-05-01", + "first_gr_date": "2026-04-30", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000169", + "po_item": "00050", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "first_gr_date": "2026-05-27", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000170", + "po_item": "00010", + "po_date": "2026-04-14", + "promised_date": "2026-05-29", + "first_gr_date": "2026-05-27", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000171", + "po_item": "00020", + "po_date": "2026-04-23", + "promised_date": "2026-05-14", + "first_gr_date": "2026-05-11", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000172", + "po_item": "00030", + "po_date": "2026-04-30", + "promised_date": "2026-06-11", + "first_gr_date": "2026-06-09", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000173", + "po_item": "00040", + "po_date": "2026-05-05", + "promised_date": "2026-06-24", + "first_gr_date": "2026-07-02", + "days_late": 8, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000174", + "po_item": "00050", + "po_date": "2026-05-13", + "promised_date": "2026-06-05", + "first_gr_date": "2026-06-03", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000175", + "po_item": "00010", + "po_date": "2026-02-03", + "promised_date": "2026-03-10", + "first_gr_date": "2026-03-10", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000176", + "po_item": "00020", + "po_date": "2026-02-12", + "promised_date": "2026-03-07", + "first_gr_date": "2026-03-07", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000177", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-05", + "days_late": 2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000178", + "po_item": "00040", + "po_date": "2026-02-25", + "promised_date": "2026-03-19", + "first_gr_date": "2026-03-19", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000179", + "po_item": "00050", + "po_date": "2026-03-04", + "promised_date": "2026-03-30", + "first_gr_date": "2026-03-29", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000180", + "po_item": "00010", + "po_date": "2026-03-12", + "promised_date": "2026-04-02", + "first_gr_date": "2026-04-02", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000181", + "po_item": "00020", + "po_date": "2026-03-19", + "promised_date": "2026-04-24", + "first_gr_date": "2026-04-24", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000182", + "po_item": "00030", + "po_date": "2026-03-24", + "promised_date": "2026-04-28", + "first_gr_date": "2026-04-25", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000183", + "po_item": "00040", + "po_date": "2026-04-01", + "promised_date": "2026-04-26", + "first_gr_date": "2026-04-26", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000184", + "po_item": "00050", + "po_date": "2026-04-06", + "promised_date": "2026-05-16", + "first_gr_date": "2026-05-16", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000185", + "po_item": "00010", + "po_date": "2026-04-14", + "promised_date": "2026-05-11", + "first_gr_date": "2026-05-11", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000186", + "po_item": "00020", + "po_date": "2026-04-21", + "promised_date": "2026-06-10", + "first_gr_date": "2026-06-15", + "days_late": 5, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000187", + "po_item": "00030", + "po_date": "2026-04-30", + "promised_date": "2026-06-18", + "first_gr_date": "2026-06-18", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000188", + "po_item": "00040", + "po_date": "2026-05-04", + "promised_date": "2026-06-21", + "first_gr_date": "2026-06-21", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000189", + "po_item": "00050", + "po_date": "2026-05-12", + "promised_date": "2026-06-16", + "first_gr_date": "2026-06-17", + "days_late": 1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + } + ] +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/_global/supplier_performance.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/_global/supplier_performance.json new file mode 100644 index 00000000000..f3dc980820f --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/_global/supplier_performance.json @@ -0,0 +1,716 @@ +{ + "generated_at": "2026-06-17T16:36:56Z", + "overall": { + "n_lines": 190, + "n_vendors": 6, + "on_time_pct": 88.9, + "in_full_pct": 100.0, + "otif_pct": 88.9, + "coverage_pct": 100.0, + "tolerance_days": 0, + "under_tolerance_pct": 0.05, + "min_lines_for_leaderboard": 3 + }, + "vendors": [ + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "n_lines": 56, + "n_late": 5, + "on_time_pct": 91.1, + "in_full_pct": 100.0, + "otif_pct": 91.1, + "mean_days_late_all": 0.29, + "mean_days_late_when_late": 3.2, + "median_days_late_when_late": 3, + "max_days_late": 6, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 8.9, + "ge_3d_pct": 5.4, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + }, + "monthly": [ + { + "month": "2025-06", + "n": 6, + "on_time_pct": 100.0 + }, + { + "month": "2025-07", + "n": 4, + "on_time_pct": 75.0 + }, + { + "month": "2025-08", + "n": 6, + "on_time_pct": 83.3 + }, + { + "month": "2025-09", + "n": 2, + "on_time_pct": 100.0 + }, + { + "month": "2025-10", + "n": 6, + "on_time_pct": 83.3 + }, + { + "month": "2025-11", + "n": 3, + "on_time_pct": 100.0 + }, + { + "month": "2025-12", + "n": 4, + "on_time_pct": 75.0 + }, + { + "month": "2026-01", + "n": 6, + "on_time_pct": 100.0 + }, + { + "month": "2026-02", + "n": 3, + "on_time_pct": 100.0 + }, + { + "month": "2026-03", + "n": 6, + "on_time_pct": 100.0 + }, + { + "month": "2026-04", + "n": 3, + "on_time_pct": 66.7 + }, + { + "month": "2026-05", + "n": 4, + "on_time_pct": 100.0 + }, + { + "month": "2026-06", + "n": 3, + "on_time_pct": 100.0 + } + ], + "materials": [ + { + "matnr": "demo_highland_arabica", + "name": "Highland Arabica", + "n_lines": 56, + "on_time_pct": 91.1, + "otif_pct": 91.1 + } + ], + "worst_events": [ + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000011", + "po_item": "00020", + "po_date": "2025-07-07", + "promised_date": "2025-08-19", + "first_gr_date": "2025-08-25", + "days_late": 6, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000007", + "po_item": "00030", + "po_date": "2025-06-11", + "promised_date": "2025-07-06", + "first_gr_date": "2025-07-10", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000046", + "po_item": "00020", + "po_date": "2026-03-10", + "promised_date": "2026-04-26", + "first_gr_date": "2026-04-29", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000023", + "po_item": "00040", + "po_date": "2025-10-01", + "promised_date": "2025-10-29", + "first_gr_date": "2025-10-31", + "days_late": 2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000030", + "po_item": "00010", + "po_date": "2025-11-20", + "promised_date": "2025-12-23", + "first_gr_date": "2025-12-24", + "days_late": 1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0 + } + ] + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "n_lines": 42, + "n_late": 0, + "on_time_pct": 100.0, + "in_full_pct": 100.0, + "otif_pct": 100.0, + "mean_days_late_all": 0, + "mean_days_late_when_late": null, + "median_days_late_when_late": null, + "max_days_late": 0, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 0.0, + "ge_3d_pct": 0.0, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + }, + "monthly": [ + { + "month": "2025-08", + "n": 1, + "on_time_pct": 100.0 + }, + { + "month": "2025-09", + "n": 3, + "on_time_pct": 100.0 + }, + { + "month": "2025-10", + "n": 5, + "on_time_pct": 100.0 + }, + { + "month": "2025-11", + "n": 5, + "on_time_pct": 100.0 + }, + { + "month": "2025-12", + "n": 6, + "on_time_pct": 100.0 + }, + { + "month": "2026-01", + "n": 2, + "on_time_pct": 100.0 + }, + { + "month": "2026-02", + "n": 4, + "on_time_pct": 100.0 + }, + { + "month": "2026-03", + "n": 4, + "on_time_pct": 100.0 + }, + { + "month": "2026-04", + "n": 5, + "on_time_pct": 100.0 + }, + { + "month": "2026-05", + "n": 4, + "on_time_pct": 100.0 + }, + { + "month": "2026-06", + "n": 3, + "on_time_pct": 100.0 + } + ], + "materials": [ + { + "matnr": "demo_lowland_robusta", + "name": "Lowland Robusta", + "n_lines": 42, + "on_time_pct": 100.0, + "otif_pct": 100.0 + } + ], + "worst_events": [] + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "n_lines": 35, + "n_late": 4, + "on_time_pct": 88.6, + "in_full_pct": 100.0, + "otif_pct": 88.6, + "mean_days_late_all": 1.29, + "mean_days_late_when_late": 11.2, + "median_days_late_when_late": 10.0, + "max_days_late": 24, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 11.4, + "ge_3d_pct": 8.6, + "ge_7d_pct": 8.6, + "ge_14d_pct": 2.9 + }, + "monthly": [ + { + "month": "2025-10", + "n": 1, + "on_time_pct": 100.0 + }, + { + "month": "2025-11", + "n": 4, + "on_time_pct": 75.0 + }, + { + "month": "2025-12", + "n": 4, + "on_time_pct": 100.0 + }, + { + "month": "2026-01", + "n": 7, + "on_time_pct": 100.0 + }, + { + "month": "2026-02", + "n": 3, + "on_time_pct": 100.0 + }, + { + "month": "2026-03", + "n": 3, + "on_time_pct": 66.7 + }, + { + "month": "2026-04", + "n": 7, + "on_time_pct": 85.7 + }, + { + "month": "2026-05", + "n": 3, + "on_time_pct": 100.0 + }, + { + "month": "2026-06", + "n": 2, + "on_time_pct": 100.0 + }, + { + "month": "2026-07", + "n": 1, + "on_time_pct": 0.0 + } + ], + "materials": [ + { + "matnr": "demo_washed_bourbon", + "name": "Washed Bourbon", + "n_lines": 35, + "on_time_pct": 88.6, + "otif_pct": 88.6 + } + ], + "worst_events": [ + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000140", + "po_item": "00010", + "po_date": "2025-09-18", + "promised_date": "2025-10-14", + "first_gr_date": "2025-11-07", + "days_late": 24, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000162", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-03-20", + "first_gr_date": "2026-04-01", + "days_late": 12, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000173", + "po_item": "00040", + "po_date": "2026-05-05", + "promised_date": "2026-06-24", + "first_gr_date": "2026-07-02", + "days_late": 8, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000161", + "po_item": "00020", + "po_date": "2026-02-12", + "promised_date": "2026-03-19", + "first_gr_date": "2026-03-20", + "days_late": 1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + } + ] + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "n_lines": 27, + "n_late": 7, + "on_time_pct": 74.1, + "in_full_pct": 100.0, + "otif_pct": 74.1, + "mean_days_late_all": 1.22, + "mean_days_late_when_late": 4.7, + "median_days_late_when_late": 2, + "max_days_late": 18, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 25.9, + "ge_3d_pct": 11.1, + "ge_7d_pct": 3.7, + "ge_14d_pct": 3.7 + }, + "monthly": [ + { + "month": "2026-03", + "n": 4, + "on_time_pct": 100.0 + }, + { + "month": "2026-04", + "n": 9, + "on_time_pct": 55.6 + }, + { + "month": "2026-05", + "n": 7, + "on_time_pct": 100.0 + }, + { + "month": "2026-06", + "n": 7, + "on_time_pct": 57.1 + } + ], + "materials": [ + { + "matnr": "demo_washed_bourbon", + "name": "Washed Bourbon", + "n_lines": 15, + "on_time_pct": 80.0, + "otif_pct": 80.0 + }, + { + "matnr": "demo_highland_arabica", + "name": "Highland Arabica", + "n_lines": 12, + "on_time_pct": 66.7, + "otif_pct": 66.7 + } + ], + "worst_events": [ + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000067", + "po_item": "00020", + "po_date": "2026-05-14", + "promised_date": "2026-06-04", + "first_gr_date": "2026-06-22", + "days_late": 18, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000058", + "po_item": "00030", + "po_date": "2026-03-11", + "promised_date": "2026-04-07", + "first_gr_date": "2026-04-12", + "days_late": 5, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000186", + "po_item": "00020", + "po_date": "2026-04-21", + "promised_date": "2026-06-10", + "first_gr_date": "2026-06-15", + "days_late": 5, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000177", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-05", + "days_late": 2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000056", + "po_item": "00010", + "po_date": "2026-02-25", + "promised_date": "2026-04-09", + "first_gr_date": "2026-04-10", + "days_late": 1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + } + ] + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "n_lines": 18, + "n_late": 0, + "on_time_pct": 100.0, + "in_full_pct": 100.0, + "otif_pct": 100.0, + "mean_days_late_all": 0, + "mean_days_late_when_late": null, + "median_days_late_when_late": null, + "max_days_late": 0, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 0.0, + "ge_3d_pct": 0.0, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + }, + "monthly": [ + { + "month": "2026-02", + "n": 3, + "on_time_pct": 100.0 + }, + { + "month": "2026-03", + "n": 4, + "on_time_pct": 100.0 + }, + { + "month": "2026-04", + "n": 3, + "on_time_pct": 100.0 + }, + { + "month": "2026-05", + "n": 7, + "on_time_pct": 100.0 + }, + { + "month": "2026-06", + "n": 1, + "on_time_pct": 100.0 + } + ], + "materials": [ + { + "matnr": "demo_lowland_robusta", + "name": "Lowland Robusta", + "n_lines": 18, + "on_time_pct": 100.0, + "otif_pct": 100.0 + } + ], + "worst_events": [] + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "n_lines": 12, + "n_late": 5, + "on_time_pct": 58.3, + "in_full_pct": 100.0, + "otif_pct": 58.3, + "mean_days_late_all": 6.25, + "mean_days_late_when_late": 15, + "median_days_late_when_late": 18, + "max_days_late": 30, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 41.7, + "ge_3d_pct": 41.7, + "ge_7d_pct": 25.0, + "ge_14d_pct": 25.0 + }, + "monthly": [ + { + "month": "2026-04", + "n": 3, + "on_time_pct": 33.3 + }, + { + "month": "2026-05", + "n": 4, + "on_time_pct": 50.0 + }, + { + "month": "2026-06", + "n": 5, + "on_time_pct": 80.0 + } + ], + "materials": [ + { + "matnr": "demo_highland_arabica", + "name": "Highland Arabica", + "n_lines": 12, + "on_time_pct": 58.3, + "otif_pct": 58.3 + } + ], + "worst_events": [ + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000073", + "po_item": "00010", + "po_date": "2026-03-31", + "promised_date": "2026-05-08", + "first_gr_date": "2026-06-07", + "days_late": 30, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000070", + "po_item": "00030", + "po_date": "2026-03-09", + "promised_date": "2026-04-22", + "first_gr_date": "2026-05-12", + "days_late": 20, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000072", + "po_item": "00050", + "po_date": "2026-03-24", + "promised_date": "2026-05-03", + "first_gr_date": "2026-05-21", + "days_late": 18, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000068", + "po_item": "00010", + "po_date": "2026-02-24", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-07", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000069", + "po_item": "00020", + "po_date": "2026-03-04", + "promised_date": "2026-04-06", + "first_gr_date": "2026-04-09", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + } + ] + } + ], + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/graph.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/graph.json new file mode 100644 index 00000000000..4fe2b74569c --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/graph.json @@ -0,0 +1,16588 @@ +{ + "product_id": "harbor-dark-roast", + "product_name": "Harbor Dark Roast", + "nodes": [ + { + "id": "procurement_highland_arabica", + "label": "Procurement: Highland Arabica", + "type": "procurement", + "material": "90000100001", + "plant": "PL-A", + "stats": { + "n": 59, + "mean": 40.2, + "median": 40.0, + "std": 13.3, + "min": 8, + "max": 105, + "p25": 35.0, + "p75": 45.0, + "p85": 48.0, + "p95": 55.8 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 98.3, + "cost": null, + "observations": [ + { + "date": "2022-03-15", + "value": 55 + }, + { + "date": "2022-06-10", + "value": 42 + }, + { + "date": "2022-09-22", + "value": 8 + }, + { + "date": "2022-12-05", + "value": 63 + }, + { + "date": "2023-02-14", + "value": 38 + }, + { + "date": "2023-05-30", + "value": 22 + }, + { + "date": "2023-08-17", + "value": 71 + }, + { + "date": "2023-11-02", + "value": 30 + }, + { + "date": "2024-01-25", + "value": 45 + }, + { + "date": "2024-04-11", + "value": 18 + }, + { + "date": "2024-07-09", + "value": 105 + }, + { + "date": "2024-10-03", + "value": 35 + }, + { + "date": "2025-01-20", + "value": 12 + }, + { + "date": "2025-04-08", + "value": 48 + }, + { + "date": "2025-09-05", + "value": 39 + }, + { + "date": "2025-09-11", + "value": 41 + }, + { + "date": "2025-09-17", + "value": 44 + }, + { + "date": "2025-09-23", + "value": 48 + }, + { + "date": "2025-09-29", + "value": 51 + }, + { + "date": "2025-10-06", + "value": 37 + }, + { + "date": "2025-10-12", + "value": 40 + }, + { + "date": "2025-10-18", + "value": 44 + }, + { + "date": "2025-10-24", + "value": 47 + }, + { + "date": "2025-10-30", + "value": 31 + }, + { + "date": "2025-11-04", + "value": 36 + }, + { + "date": "2025-11-10", + "value": 40 + }, + { + "date": "2025-11-16", + "value": 43 + }, + { + "date": "2025-11-22", + "value": 27 + }, + { + "date": "2025-11-28", + "value": 31 + }, + { + "date": "2025-12-05", + "value": 46 + }, + { + "date": "2025-12-11", + "value": 49 + }, + { + "date": "2025-12-17", + "value": 33 + }, + { + "date": "2025-12-23", + "value": 37 + }, + { + "date": "2025-12-29", + "value": 39 + }, + { + "date": "2026-01-06", + "value": 45 + }, + { + "date": "2026-01-12", + "value": 29 + }, + { + "date": "2026-01-18", + "value": 33 + }, + { + "date": "2026-01-24", + "value": 35 + }, + { + "date": "2026-01-30", + "value": 38 + }, + { + "date": "2026-02-04", + "value": 35 + }, + { + "date": "2026-02-10", + "value": 39 + }, + { + "date": "2026-02-16", + "value": 41 + }, + { + "date": "2026-02-22", + "value": 44 + }, + { + "date": "2026-02-28", + "value": 48 + }, + { + "date": "2026-03-05", + "value": 35 + }, + { + "date": "2026-03-11", + "value": 37 + }, + { + "date": "2026-03-17", + "value": 40 + }, + { + "date": "2026-03-23", + "value": 44 + }, + { + "date": "2026-03-29", + "value": 47 + }, + { + "date": "2026-04-06", + "value": 33 + }, + { + "date": "2026-04-12", + "value": 36 + }, + { + "date": "2026-04-18", + "value": 40 + }, + { + "date": "2026-04-24", + "value": 43 + }, + { + "date": "2026-04-30", + "value": 27 + }, + { + "date": "2026-05-04", + "value": 42 + }, + { + "date": "2026-05-10", + "value": 46 + }, + { + "date": "2026-05-16", + "value": 49 + }, + { + "date": "2026-05-22", + "value": 33 + }, + { + "date": "2026-05-28", + "value": 37 + } + ], + "monthly": [ + { + "month": "2022-03", + "mean": 55.0, + "median": 55.0, + "p10": 55.0, + "p25": 55.0, + "p75": 55.0, + "p90": 55.0, + "n": 1 + }, + { + "month": "2022-06", + "mean": 42.0, + "median": 42.0, + "p10": 42.0, + "p25": 42.0, + "p75": 42.0, + "p90": 42.0, + "n": 1 + }, + { + "month": "2022-09", + "mean": 8.0, + "median": 8.0, + "p10": 8.0, + "p25": 8.0, + "p75": 8.0, + "p90": 8.0, + "n": 1 + }, + { + "month": "2022-12", + "mean": 63.0, + "median": 63.0, + "p10": 63.0, + "p25": 63.0, + "p75": 63.0, + "p90": 63.0, + "n": 1 + }, + { + "month": "2023-02", + "mean": 38.0, + "median": 38.0, + "p10": 38.0, + "p25": 38.0, + "p75": 38.0, + "p90": 38.0, + "n": 1 + }, + { + "month": "2023-05", + "mean": 22.0, + "median": 22.0, + "p10": 22.0, + "p25": 22.0, + "p75": 22.0, + "p90": 22.0, + "n": 1 + }, + { + "month": "2023-08", + "mean": 71.0, + "median": 71.0, + "p10": 71.0, + "p25": 71.0, + "p75": 71.0, + "p90": 71.0, + "n": 1 + }, + { + "month": "2023-11", + "mean": 30.0, + "median": 30.0, + "p10": 30.0, + "p25": 30.0, + "p75": 30.0, + "p90": 30.0, + "n": 1 + }, + { + "month": "2024-01", + "mean": 45.0, + "median": 45.0, + "p10": 45.0, + "p25": 45.0, + "p75": 45.0, + "p90": 45.0, + "n": 1 + }, + { + "month": "2024-04", + "mean": 18.0, + "median": 18.0, + "p10": 18.0, + "p25": 18.0, + "p75": 18.0, + "p90": 18.0, + "n": 1 + }, + { + "month": "2024-07", + "mean": 105.0, + "median": 105.0, + "p10": 105.0, + "p25": 105.0, + "p75": 105.0, + "p90": 105.0, + "n": 1 + }, + { + "month": "2024-10", + "mean": 35.0, + "median": 35.0, + "p10": 35.0, + "p25": 35.0, + "p75": 35.0, + "p90": 35.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 12.0, + "median": 12.0, + "p10": 12.0, + "p25": 12.0, + "p75": 12.0, + "p90": 12.0, + "n": 1 + }, + { + "month": "2025-04", + "mean": 48.0, + "median": 48.0, + "p10": 48.0, + "p25": 48.0, + "p75": 48.0, + "p90": 48.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 44.6, + "median": 44.0, + "p10": 39.8, + "p25": 41.0, + "p75": 48.0, + "p90": 49.8, + "n": 5 + }, + { + "month": "2025-10", + "mean": 39.8, + "median": 40.0, + "p10": 33.4, + "p25": 37.0, + "p75": 44.0, + "p90": 45.8, + "n": 5 + }, + { + "month": "2025-11", + "mean": 35.4, + "median": 36.0, + "p10": 28.6, + "p25": 31.0, + "p75": 40.0, + "p90": 41.8, + "n": 5 + }, + { + "month": "2025-12", + "mean": 40.8, + "median": 39.0, + "p10": 34.6, + "p25": 37.0, + "p75": 46.0, + "p90": 47.8, + "n": 5 + }, + { + "month": "2026-01", + "mean": 36.0, + "median": 35.0, + "p10": 30.6, + "p25": 33.0, + "p75": 38.0, + "p90": 42.2, + "n": 5 + }, + { + "month": "2026-02", + "mean": 41.4, + "median": 41.0, + "p10": 36.6, + "p25": 39.0, + "p75": 44.0, + "p90": 46.4, + "n": 5 + }, + { + "month": "2026-03", + "mean": 40.6, + "median": 40.0, + "p10": 35.8, + "p25": 37.0, + "p75": 44.0, + "p90": 45.8, + "n": 5 + }, + { + "month": "2026-04", + "mean": 35.8, + "median": 36.0, + "p10": 29.4, + "p25": 33.0, + "p75": 40.0, + "p90": 41.8, + "n": 5 + }, + { + "month": "2026-05", + "mean": 41.4, + "median": 42.0, + "p10": 34.6, + "p25": 37.0, + "p75": 46.0, + "p90": 47.8, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "procurement_lowland_robusta", + "label": "Procurement: Lowland Robusta", + "type": "procurement", + "material": "90000100002", + "plant": "PL-A", + "stats": { + "n": 63, + "mean": 33.4, + "median": 33.0, + "std": 11.4, + "min": 5, + "max": 82, + "p25": 28.0, + "p75": 38.0, + "p85": 40.7, + "p95": 51.6 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 96.8, + "cost": null, + "observations": [ + { + "date": "2022-02-08", + "value": 32 + }, + { + "date": "2022-04-19", + "value": 48 + }, + { + "date": "2022-07-11", + "value": 5 + }, + { + "date": "2022-09-28", + "value": 67 + }, + { + "date": "2022-12-15", + "value": 25 + }, + { + "date": "2023-03-07", + "value": 41 + }, + { + "date": "2023-05-22", + "value": 15 + }, + { + "date": "2023-08-09", + "value": 82 + }, + { + "date": "2023-10-30", + "value": 38 + }, + { + "date": "2024-01-16", + "value": 20 + }, + { + "date": "2024-03-25", + "value": 52 + }, + { + "date": "2024-06-12", + "value": 10 + }, + { + "date": "2024-08-28", + "value": 44 + }, + { + "date": "2024-11-14", + "value": 28 + }, + { + "date": "2025-01-06", + "value": 35 + }, + { + "date": "2025-03-18", + "value": 18 + }, + { + "date": "2025-05-29", + "value": 55 + }, + { + "date": "2025-08-12", + "value": 26 + }, + { + "date": "2025-09-04", + "value": 26 + }, + { + "date": "2025-09-10", + "value": 29 + }, + { + "date": "2025-09-16", + "value": 31 + }, + { + "date": "2025-09-22", + "value": 34 + }, + { + "date": "2025-09-28", + "value": 37 + }, + { + "date": "2025-10-05", + "value": 26 + }, + { + "date": "2025-10-11", + "value": 28 + }, + { + "date": "2025-10-17", + "value": 31 + }, + { + "date": "2025-10-23", + "value": 33 + }, + { + "date": "2025-10-29", + "value": 36 + }, + { + "date": "2025-11-06", + "value": 33 + }, + { + "date": "2025-11-12", + "value": 36 + }, + { + "date": "2025-11-18", + "value": 38 + }, + { + "date": "2025-11-24", + "value": 42 + }, + { + "date": "2025-11-30", + "value": 28 + }, + { + "date": "2025-12-04", + "value": 32 + }, + { + "date": "2025-12-10", + "value": 35 + }, + { + "date": "2025-12-16", + "value": 38 + }, + { + "date": "2025-12-22", + "value": 24 + }, + { + "date": "2025-12-28", + "value": 28 + }, + { + "date": "2026-01-05", + "value": 40 + }, + { + "date": "2026-01-11", + "value": 43 + }, + { + "date": "2026-01-17", + "value": 29 + }, + { + "date": "2026-01-23", + "value": 33 + }, + { + "date": "2026-01-29", + "value": 35 + }, + { + "date": "2026-02-06", + "value": 40 + }, + { + "date": "2026-02-12", + "value": 26 + }, + { + "date": "2026-02-18", + "value": 29 + }, + { + "date": "2026-02-24", + "value": 31 + }, + { + "date": "2026-02-30", + "value": 34 + }, + { + "date": "2026-03-04", + "value": 22 + }, + { + "date": "2026-03-10", + "value": 26 + }, + { + "date": "2026-03-16", + "value": 28 + }, + { + "date": "2026-03-22", + "value": 31 + }, + { + "date": "2026-03-28", + "value": 33 + }, + { + "date": "2026-04-05", + "value": 31 + }, + { + "date": "2026-04-11", + "value": 33 + }, + { + "date": "2026-04-17", + "value": 36 + }, + { + "date": "2026-04-23", + "value": 38 + }, + { + "date": "2026-04-29", + "value": 42 + }, + { + "date": "2026-05-06", + "value": 30 + }, + { + "date": "2026-05-12", + "value": 32 + }, + { + "date": "2026-05-18", + "value": 35 + }, + { + "date": "2026-05-24", + "value": 38 + }, + { + "date": "2026-05-30", + "value": 24 + } + ], + "monthly": [ + { + "month": "2022-02", + "mean": 32.0, + "median": 32.0, + "p10": 32.0, + "p25": 32.0, + "p75": 32.0, + "p90": 32.0, + "n": 1 + }, + { + "month": "2022-04", + "mean": 48.0, + "median": 48.0, + "p10": 48.0, + "p25": 48.0, + "p75": 48.0, + "p90": 48.0, + "n": 1 + }, + { + "month": "2022-07", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2022-09", + "mean": 67.0, + "median": 67.0, + "p10": 67.0, + "p25": 67.0, + "p75": 67.0, + "p90": 67.0, + "n": 1 + }, + { + "month": "2022-12", + "mean": 25.0, + "median": 25.0, + "p10": 25.0, + "p25": 25.0, + "p75": 25.0, + "p90": 25.0, + "n": 1 + }, + { + "month": "2023-03", + "mean": 41.0, + "median": 41.0, + "p10": 41.0, + "p25": 41.0, + "p75": 41.0, + "p90": 41.0, + "n": 1 + }, + { + "month": "2023-05", + "mean": 15.0, + "median": 15.0, + "p10": 15.0, + "p25": 15.0, + "p75": 15.0, + "p90": 15.0, + "n": 1 + }, + { + "month": "2023-08", + "mean": 82.0, + "median": 82.0, + "p10": 82.0, + "p25": 82.0, + "p75": 82.0, + "p90": 82.0, + "n": 1 + }, + { + "month": "2023-10", + "mean": 38.0, + "median": 38.0, + "p10": 38.0, + "p25": 38.0, + "p75": 38.0, + "p90": 38.0, + "n": 1 + }, + { + "month": "2024-01", + "mean": 20.0, + "median": 20.0, + "p10": 20.0, + "p25": 20.0, + "p75": 20.0, + "p90": 20.0, + "n": 1 + }, + { + "month": "2024-03", + "mean": 52.0, + "median": 52.0, + "p10": 52.0, + "p25": 52.0, + "p75": 52.0, + "p90": 52.0, + "n": 1 + }, + { + "month": "2024-06", + "mean": 10.0, + "median": 10.0, + "p10": 10.0, + "p25": 10.0, + "p75": 10.0, + "p90": 10.0, + "n": 1 + }, + { + "month": "2024-08", + "mean": 44.0, + "median": 44.0, + "p10": 44.0, + "p25": 44.0, + "p75": 44.0, + "p90": 44.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 28.0, + "median": 28.0, + "p10": 28.0, + "p25": 28.0, + "p75": 28.0, + "p90": 28.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 35.0, + "median": 35.0, + "p10": 35.0, + "p25": 35.0, + "p75": 35.0, + "p90": 35.0, + "n": 1 + }, + { + "month": "2025-03", + "mean": 18.0, + "median": 18.0, + "p10": 18.0, + "p25": 18.0, + "p75": 18.0, + "p90": 18.0, + "n": 1 + }, + { + "month": "2025-05", + "mean": 55.0, + "median": 55.0, + "p10": 55.0, + "p25": 55.0, + "p75": 55.0, + "p90": 55.0, + "n": 1 + }, + { + "month": "2025-08", + "mean": 26.0, + "median": 26.0, + "p10": 26.0, + "p25": 26.0, + "p75": 26.0, + "p90": 26.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 31.4, + "median": 31.0, + "p10": 27.2, + "p25": 29.0, + "p75": 34.0, + "p90": 35.8, + "n": 5 + }, + { + "month": "2025-10", + "mean": 30.8, + "median": 31.0, + "p10": 26.8, + "p25": 28.0, + "p75": 33.0, + "p90": 34.8, + "n": 5 + }, + { + "month": "2025-11", + "mean": 35.4, + "median": 36.0, + "p10": 30.0, + "p25": 33.0, + "p75": 38.0, + "p90": 40.4, + "n": 5 + }, + { + "month": "2025-12", + "mean": 31.4, + "median": 32.0, + "p10": 25.6, + "p25": 28.0, + "p75": 35.0, + "p90": 36.8, + "n": 5 + }, + { + "month": "2026-01", + "mean": 36.0, + "median": 35.0, + "p10": 30.6, + "p25": 33.0, + "p75": 40.0, + "p90": 41.8, + "n": 5 + }, + { + "month": "2026-02", + "mean": 32.0, + "median": 31.0, + "p10": 27.2, + "p25": 29.0, + "p75": 34.0, + "p90": 37.6, + "n": 5 + }, + { + "month": "2026-03", + "mean": 28.0, + "median": 28.0, + "p10": 23.6, + "p25": 26.0, + "p75": 31.0, + "p90": 32.2, + "n": 5 + }, + { + "month": "2026-04", + "mean": 36.0, + "median": 36.0, + "p10": 31.8, + "p25": 33.0, + "p75": 38.0, + "p90": 40.4, + "n": 5 + }, + { + "month": "2026-05", + "mean": 31.8, + "median": 32.0, + "p10": 26.4, + "p25": 30.0, + "p75": 35.0, + "p90": 36.8, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "procurement_washed_bourbon", + "label": "Procurement: Washed Bourbon", + "type": "procurement", + "material": "90000100003", + "plant": "PL-A", + "stats": { + "n": 55, + "mean": 26.1, + "median": 25.0, + "std": 8.0, + "min": 7, + "max": 62, + "p25": 22.5, + "p75": 29.0, + "p85": 30.0, + "p95": 36.5 + }, + "plifz": 7, + "plifz_note": null, + "pct_exceeding_plifz": 98.2, + "cost": null, + "observations": [ + { + "date": "2022-05-03", + "value": 35 + }, + { + "date": "2022-10-18", + "value": 16 + }, + { + "date": "2023-01-24", + "value": 62 + }, + { + "date": "2023-06-15", + "value": 7 + }, + { + "date": "2023-09-28", + "value": 40 + }, + { + "date": "2024-02-12", + "value": 25 + }, + { + "date": "2024-05-07", + "value": 48 + }, + { + "date": "2024-09-19", + "value": 12 + }, + { + "date": "2025-02-04", + "value": 30 + }, + { + "date": "2025-06-10", + "value": 14 + }, + { + "date": "2025-09-06", + "value": 30 + }, + { + "date": "2025-09-12", + "value": 19 + }, + { + "date": "2025-09-18", + "value": 22 + }, + { + "date": "2025-09-24", + "value": 23 + }, + { + "date": "2025-09-30", + "value": 25 + }, + { + "date": "2025-10-04", + "value": 23 + }, + { + "date": "2025-10-10", + "value": 25 + }, + { + "date": "2025-10-16", + "value": 27 + }, + { + "date": "2025-10-22", + "value": 29 + }, + { + "date": "2025-10-28", + "value": 31 + }, + { + "date": "2025-11-05", + "value": 23 + }, + { + "date": "2025-11-11", + "value": 25 + }, + { + "date": "2025-11-17", + "value": 27 + }, + { + "date": "2025-11-23", + "value": 29 + }, + { + "date": "2025-11-29", + "value": 31 + }, + { + "date": "2025-12-06", + "value": 22 + }, + { + "date": "2025-12-12", + "value": 24 + }, + { + "date": "2025-12-18", + "value": 26 + }, + { + "date": "2025-12-24", + "value": 28 + }, + { + "date": "2025-12-30", + "value": 18 + }, + { + "date": "2026-01-04", + "value": 28 + }, + { + "date": "2026-01-10", + "value": 30 + }, + { + "date": "2026-01-16", + "value": 32 + }, + { + "date": "2026-01-22", + "value": 22 + }, + { + "date": "2026-01-28", + "value": 24 + }, + { + "date": "2026-02-05", + "value": 27 + }, + { + "date": "2026-02-11", + "value": 30 + }, + { + "date": "2026-02-17", + "value": 19 + }, + { + "date": "2026-02-23", + "value": 22 + }, + { + "date": "2026-02-29", + "value": 23 + }, + { + "date": "2026-03-06", + "value": 34 + }, + { + "date": "2026-03-12", + "value": 23 + }, + { + "date": "2026-03-18", + "value": 25 + }, + { + "date": "2026-03-24", + "value": 27 + }, + { + "date": "2026-03-30", + "value": 29 + }, + { + "date": "2026-04-04", + "value": 20 + }, + { + "date": "2026-04-10", + "value": 23 + }, + { + "date": "2026-04-16", + "value": 25 + }, + { + "date": "2026-04-22", + "value": 27 + }, + { + "date": "2026-04-28", + "value": 29 + }, + { + "date": "2026-05-05", + "value": 20 + }, + { + "date": "2026-05-11", + "value": 22 + }, + { + "date": "2026-05-17", + "value": 24 + }, + { + "date": "2026-05-23", + "value": 26 + }, + { + "date": "2026-05-29", + "value": 28 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 35.0, + "median": 35.0, + "p10": 35.0, + "p25": 35.0, + "p75": 35.0, + "p90": 35.0, + "n": 1 + }, + { + "month": "2022-10", + "mean": 16.0, + "median": 16.0, + "p10": 16.0, + "p25": 16.0, + "p75": 16.0, + "p90": 16.0, + "n": 1 + }, + { + "month": "2023-01", + "mean": 62.0, + "median": 62.0, + "p10": 62.0, + "p25": 62.0, + "p75": 62.0, + "p90": 62.0, + "n": 1 + }, + { + "month": "2023-06", + "mean": 7.0, + "median": 7.0, + "p10": 7.0, + "p25": 7.0, + "p75": 7.0, + "p90": 7.0, + "n": 1 + }, + { + "month": "2023-09", + "mean": 40.0, + "median": 40.0, + "p10": 40.0, + "p25": 40.0, + "p75": 40.0, + "p90": 40.0, + "n": 1 + }, + { + "month": "2024-02", + "mean": 25.0, + "median": 25.0, + "p10": 25.0, + "p25": 25.0, + "p75": 25.0, + "p90": 25.0, + "n": 1 + }, + { + "month": "2024-05", + "mean": 48.0, + "median": 48.0, + "p10": 48.0, + "p25": 48.0, + "p75": 48.0, + "p90": 48.0, + "n": 1 + }, + { + "month": "2024-09", + "mean": 12.0, + "median": 12.0, + "p10": 12.0, + "p25": 12.0, + "p75": 12.0, + "p90": 12.0, + "n": 1 + }, + { + "month": "2025-02", + "mean": 30.0, + "median": 30.0, + "p10": 30.0, + "p25": 30.0, + "p75": 30.0, + "p90": 30.0, + "n": 1 + }, + { + "month": "2025-06", + "mean": 14.0, + "median": 14.0, + "p10": 14.0, + "p25": 14.0, + "p75": 14.0, + "p90": 14.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 23.8, + "median": 23.0, + "p10": 20.2, + "p25": 22.0, + "p75": 25.0, + "p90": 28.0, + "n": 5 + }, + { + "month": "2025-10", + "mean": 27.0, + "median": 27.0, + "p10": 23.8, + "p25": 25.0, + "p75": 29.0, + "p90": 30.2, + "n": 5 + }, + { + "month": "2025-11", + "mean": 27.0, + "median": 27.0, + "p10": 23.8, + "p25": 25.0, + "p75": 29.0, + "p90": 30.2, + "n": 5 + }, + { + "month": "2025-12", + "mean": 23.6, + "median": 24.0, + "p10": 19.6, + "p25": 22.0, + "p75": 26.0, + "p90": 27.2, + "n": 5 + }, + { + "month": "2026-01", + "mean": 27.2, + "median": 28.0, + "p10": 22.8, + "p25": 24.0, + "p75": 30.0, + "p90": 31.2, + "n": 5 + }, + { + "month": "2026-02", + "mean": 24.2, + "median": 23.0, + "p10": 20.2, + "p25": 22.0, + "p75": 27.0, + "p90": 28.8, + "n": 5 + }, + { + "month": "2026-03", + "mean": 27.6, + "median": 27.0, + "p10": 23.8, + "p25": 25.0, + "p75": 29.0, + "p90": 32.0, + "n": 5 + }, + { + "month": "2026-04", + "mean": 24.8, + "median": 25.0, + "p10": 21.2, + "p25": 23.0, + "p75": 27.0, + "p90": 28.2, + "n": 5 + }, + { + "month": "2026-05", + "mean": 24.0, + "median": 24.0, + "p10": 20.8, + "p25": 22.0, + "p75": 26.0, + "p90": 27.2, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_highland_arabica", + "label": "Raw Material Dwell: Highland Arabica", + "type": "raw_material_dwell", + "material": "90000100001", + "plant": "PL-A", + "stats": { + "n": 83, + "mean": 48.3, + "median": 46.0, + "std": 19.8, + "min": 5, + "max": 130, + "p25": 38.5, + "p75": 54.5, + "p85": 61.0, + "p95": 87.7 + }, + "plifz": 30, + "plifz_note": null, + "pct_exceeding_plifz": 89.2, + "cost": { + "unit_price": 3.2, + "currency": "CHF", + "mean_qty": 4200.0, + "monthly": [ + { + "month": "2022-04", + "n_events": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "n_events": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "n_events": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "n_events": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "n_events": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "n_events": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "n_events": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "n_events": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "n_events": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "n_events": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 827400.0 + } + ] + }, + "observations": [ + { + "date": "2022-04-02", + "value": 35 + }, + { + "date": "2022-04-15", + "value": 62 + }, + { + "date": "2022-04-28", + "value": 18 + }, + { + "date": "2022-08-05", + "value": 88 + }, + { + "date": "2022-08-12", + "value": 42 + }, + { + "date": "2022-08-20", + "value": 55 + }, + { + "date": "2022-08-28", + "value": 30 + }, + { + "date": "2023-01-10", + "value": 72 + }, + { + "date": "2023-01-22", + "value": 25 + }, + { + "date": "2023-01-30", + "value": 48 + }, + { + "date": "2023-06-05", + "value": 15 + }, + { + "date": "2023-06-18", + "value": 95 + }, + { + "date": "2023-10-03", + "value": 130 + }, + { + "date": "2023-10-10", + "value": 45 + }, + { + "date": "2023-10-18", + "value": 38 + }, + { + "date": "2023-10-25", + "value": 65 + }, + { + "date": "2023-10-30", + "value": 22 + }, + { + "date": "2024-03-05", + "value": 78 + }, + { + "date": "2024-03-12", + "value": 5 + }, + { + "date": "2024-03-20", + "value": 55 + }, + { + "date": "2024-03-28", + "value": 40 + }, + { + "date": "2024-07-08", + "value": 28 + }, + { + "date": "2024-07-15", + "value": 85 + }, + { + "date": "2024-07-22", + "value": 50 + }, + { + "date": "2024-11-04", + "value": 110 + }, + { + "date": "2024-11-11", + "value": 32 + }, + { + "date": "2024-11-18", + "value": 68 + }, + { + "date": "2024-11-25", + "value": 45 + }, + { + "date": "2024-11-30", + "value": 92 + }, + { + "date": "2025-03-03", + "value": 20 + }, + { + "date": "2025-03-10", + "value": 58 + }, + { + "date": "2025-03-17", + "value": 35 + }, + { + "date": "2025-03-24", + "value": 42 + }, + { + "date": "2025-07-02", + "value": 75 + }, + { + "date": "2025-07-09", + "value": 12 + }, + { + "date": "2025-07-16", + "value": 48 + }, + { + "date": "2025-07-23", + "value": 60 + }, + { + "date": "2025-07-30", + "value": 38 + }, + { + "date": "2025-09-05", + "value": 49 + }, + { + "date": "2025-09-11", + "value": 54 + }, + { + "date": "2025-09-17", + "value": 34 + }, + { + "date": "2025-09-23", + "value": 39 + }, + { + "date": "2025-09-29", + "value": 42 + }, + { + "date": "2025-10-06", + "value": 61 + }, + { + "date": "2025-10-12", + "value": 41 + }, + { + "date": "2025-10-18", + "value": 46 + }, + { + "date": "2025-10-24", + "value": 49 + }, + { + "date": "2025-10-30", + "value": 53 + }, + { + "date": "2025-11-04", + "value": 36 + }, + { + "date": "2025-11-10", + "value": 41 + }, + { + "date": "2025-11-16", + "value": 44 + }, + { + "date": "2025-11-22", + "value": 48 + }, + { + "date": "2025-11-28", + "value": 52 + }, + { + "date": "2025-12-05", + "value": 36 + }, + { + "date": "2025-12-11", + "value": 39 + }, + { + "date": "2025-12-17", + "value": 43 + }, + { + "date": "2025-12-23", + "value": 47 + }, + { + "date": "2025-12-29", + "value": 51 + }, + { + "date": "2026-01-06", + "value": 47 + }, + { + "date": "2026-01-12", + "value": 50 + }, + { + "date": "2026-01-18", + "value": 54 + }, + { + "date": "2026-01-24", + "value": 58 + }, + { + "date": "2026-01-30", + "value": 39 + }, + { + "date": "2026-02-04", + "value": 45 + }, + { + "date": "2026-02-10", + "value": 49 + }, + { + "date": "2026-02-16", + "value": 54 + }, + { + "date": "2026-02-22", + "value": 34 + }, + { + "date": "2026-02-28", + "value": 39 + }, + { + "date": "2026-03-05", + "value": 56 + }, + { + "date": "2026-03-11", + "value": 61 + }, + { + "date": "2026-03-17", + "value": 41 + }, + { + "date": "2026-03-23", + "value": 46 + }, + { + "date": "2026-03-29", + "value": 49 + }, + { + "date": "2026-04-06", + "value": 56 + }, + { + "date": "2026-04-12", + "value": 36 + }, + { + "date": "2026-04-18", + "value": 41 + }, + { + "date": "2026-04-24", + "value": 44 + }, + { + "date": "2026-04-30", + "value": 48 + }, + { + "date": "2026-05-04", + "value": 32 + }, + { + "date": "2026-05-10", + "value": 36 + }, + { + "date": "2026-05-16", + "value": 39 + }, + { + "date": "2026-05-22", + "value": 43 + }, + { + "date": "2026-05-28", + "value": 47 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 38.3, + "median": 35.0, + "p10": 21.4, + "p25": 26.5, + "p75": 48.5, + "p90": 56.6, + "n": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "mean": 53.8, + "median": 48.5, + "p10": 33.6, + "p25": 39.0, + "p75": 63.3, + "p90": 78.1, + "n": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "mean": 48.3, + "median": 48.0, + "p10": 29.6, + "p25": 36.5, + "p75": 60.0, + "p90": 67.2, + "n": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "mean": 55.0, + "median": 55.0, + "p10": 23.0, + "p25": 35.0, + "p75": 75.0, + "p90": 87.0, + "n": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "mean": 60.0, + "median": 45.0, + "p10": 28.4, + "p25": 38.0, + "p75": 65.0, + "p90": 104.0, + "n": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "mean": 44.5, + "median": 47.5, + "p10": 15.5, + "p25": 31.3, + "p75": 60.8, + "p90": 71.1, + "n": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "mean": 54.3, + "median": 50.0, + "p10": 32.4, + "p25": 39.0, + "p75": 67.5, + "p90": 78.0, + "n": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "mean": 69.4, + "median": 68.0, + "p10": 37.2, + "p25": 45.0, + "p75": 92.0, + "p90": 102.8, + "n": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "mean": 38.8, + "median": 38.5, + "p10": 24.5, + "p25": 31.3, + "p75": 46.0, + "p90": 53.2, + "n": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "mean": 46.6, + "median": 48.0, + "p10": 22.4, + "p25": 38.0, + "p75": 60.0, + "p90": 69.0, + "n": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "mean": 43.6, + "median": 42.0, + "p10": 36.0, + "p25": 39.0, + "p75": 49.0, + "p90": 52.0, + "n": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "mean": 50.0, + "median": 49.0, + "p10": 43.0, + "p25": 46.0, + "p75": 53.0, + "p90": 57.8, + "n": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "mean": 44.2, + "median": 44.0, + "p10": 38.0, + "p25": 41.0, + "p75": 48.0, + "p90": 50.4, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "mean": 43.2, + "median": 43.0, + "p10": 37.2, + "p25": 39.0, + "p75": 47.0, + "p90": 49.4, + "n": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "mean": 49.6, + "median": 50.0, + "p10": 42.2, + "p25": 47.0, + "p75": 54.0, + "p90": 56.4, + "n": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "mean": 44.2, + "median": 45.0, + "p10": 36.0, + "p25": 39.0, + "p75": 49.0, + "p90": 52.0, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "mean": 50.6, + "median": 49.0, + "p10": 43.0, + "p25": 46.0, + "p75": 56.0, + "p90": 59.0, + "n": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "mean": 45.0, + "median": 44.0, + "p10": 38.0, + "p25": 41.0, + "p75": 48.0, + "p90": 52.8, + "n": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "mean": 39.4, + "median": 39.0, + "p10": 33.6, + "p25": 36.0, + "p75": 43.0, + "p90": 45.4, + "n": 5, + "total_kg_days": 827400.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_lowland_robusta", + "label": "Raw Material Dwell: Lowland Robusta", + "type": "raw_material_dwell", + "material": "90000100002", + "plant": "PL-A", + "stats": { + "n": 69, + "mean": 36.6, + "median": 34.0, + "std": 15.8, + "min": 3, + "max": 98, + "p25": 28.0, + "p75": 41.0, + "p85": 45.0, + "p95": 69.2 + }, + "plifz": 21, + "plifz_note": null, + "pct_exceeding_plifz": 91.3, + "cost": { + "unit_price": 1.8, + "currency": "CHF", + "mean_qty": 6500.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "n_events": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "n_events": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "n_events": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "n_events": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "n_events": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 1131000.0 + } + ] + }, + "observations": [ + { + "date": "2022-05-02", + "value": 28 + }, + { + "date": "2022-05-10", + "value": 45 + }, + { + "date": "2022-05-18", + "value": 12 + }, + { + "date": "2022-05-25", + "value": 62 + }, + { + "date": "2023-02-06", + "value": 33 + }, + { + "date": "2023-02-14", + "value": 78 + }, + { + "date": "2023-02-22", + "value": 20 + }, + { + "date": "2023-02-28", + "value": 55 + }, + { + "date": "2023-09-05", + "value": 8 + }, + { + "date": "2023-09-15", + "value": 42 + }, + { + "date": "2023-09-25", + "value": 65 + }, + { + "date": "2024-04-03", + "value": 38 + }, + { + "date": "2024-04-10", + "value": 15 + }, + { + "date": "2024-04-17", + "value": 72 + }, + { + "date": "2024-04-24", + "value": 25 + }, + { + "date": "2024-10-02", + "value": 48 + }, + { + "date": "2024-10-09", + "value": 3 + }, + { + "date": "2024-10-16", + "value": 85 + }, + { + "date": "2024-10-23", + "value": 30 + }, + { + "date": "2024-10-30", + "value": 55 + }, + { + "date": "2025-04-07", + "value": 22 + }, + { + "date": "2025-04-14", + "value": 40 + }, + { + "date": "2025-04-21", + "value": 98 + }, + { + "date": "2025-04-28", + "value": 18 + }, + { + "date": "2025-09-04", + "value": 39 + }, + { + "date": "2025-09-10", + "value": 41 + }, + { + "date": "2025-09-16", + "value": 45 + }, + { + "date": "2025-09-22", + "value": 30 + }, + { + "date": "2025-09-28", + "value": 34 + }, + { + "date": "2025-10-05", + "value": 38 + }, + { + "date": "2025-10-11", + "value": 41 + }, + { + "date": "2025-10-17", + "value": 27 + }, + { + "date": "2025-10-23", + "value": 30 + }, + { + "date": "2025-10-29", + "value": 32 + }, + { + "date": "2025-11-06", + "value": 38 + }, + { + "date": "2025-11-12", + "value": 23 + }, + { + "date": "2025-11-18", + "value": 27 + }, + { + "date": "2025-11-24", + "value": 29 + }, + { + "date": "2025-11-30", + "value": 32 + }, + { + "date": "2025-12-04", + "value": 28 + }, + { + "date": "2025-12-10", + "value": 32 + }, + { + "date": "2025-12-16", + "value": 34 + }, + { + "date": "2025-12-22", + "value": 37 + }, + { + "date": "2025-12-28", + "value": 40 + }, + { + "date": "2026-01-05", + "value": 28 + }, + { + "date": "2026-01-11", + "value": 31 + }, + { + "date": "2026-01-17", + "value": 33 + }, + { + "date": "2026-01-23", + "value": 36 + }, + { + "date": "2026-01-29", + "value": 39 + }, + { + "date": "2026-02-06", + "value": 36 + }, + { + "date": "2026-02-12", + "value": 39 + }, + { + "date": "2026-02-18", + "value": 41 + }, + { + "date": "2026-02-24", + "value": 45 + }, + { + "date": "2026-02-30", + "value": 30 + }, + { + "date": "2026-03-04", + "value": 35 + }, + { + "date": "2026-03-10", + "value": 38 + }, + { + "date": "2026-03-16", + "value": 41 + }, + { + "date": "2026-03-22", + "value": 27 + }, + { + "date": "2026-03-28", + "value": 30 + }, + { + "date": "2026-04-05", + "value": 34 + }, + { + "date": "2026-04-11", + "value": 38 + }, + { + "date": "2026-04-17", + "value": 23 + }, + { + "date": "2026-04-23", + "value": 27 + }, + { + "date": "2026-04-29", + "value": 29 + }, + { + "date": "2026-05-06", + "value": 43 + }, + { + "date": "2026-05-12", + "value": 28 + }, + { + "date": "2026-05-18", + "value": 32 + }, + { + "date": "2026-05-24", + "value": 34 + }, + { + "date": "2026-05-30", + "value": 37 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 36.8, + "median": 36.5, + "p10": 16.8, + "p25": 24.0, + "p75": 49.3, + "p90": 56.9, + "n": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "mean": 46.5, + "median": 44.0, + "p10": 23.9, + "p25": 29.8, + "p75": 60.8, + "p90": 71.1, + "n": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "mean": 38.3, + "median": 42.0, + "p10": 14.8, + "p25": 25.0, + "p75": 53.5, + "p90": 60.4, + "n": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "mean": 37.5, + "median": 31.5, + "p10": 18.0, + "p25": 22.5, + "p75": 46.5, + "p90": 61.8, + "n": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "mean": 44.2, + "median": 48.0, + "p10": 13.8, + "p25": 30.0, + "p75": 55.0, + "p90": 73.0, + "n": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "mean": 44.5, + "median": 31.0, + "p10": 19.2, + "p25": 21.0, + "p75": 54.5, + "p90": 80.6, + "n": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "mean": 37.8, + "median": 39.0, + "p10": 31.6, + "p25": 34.0, + "p75": 41.0, + "p90": 43.4, + "n": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "mean": 33.6, + "median": 32.0, + "p10": 28.2, + "p25": 30.0, + "p75": 38.0, + "p90": 39.8, + "n": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "mean": 29.8, + "median": 29.0, + "p10": 24.6, + "p25": 27.0, + "p75": 32.0, + "p90": 35.6, + "n": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "mean": 34.2, + "median": 34.0, + "p10": 29.6, + "p25": 32.0, + "p75": 37.0, + "p90": 38.8, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "mean": 33.4, + "median": 33.0, + "p10": 29.2, + "p25": 31.0, + "p75": 36.0, + "p90": 37.8, + "n": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "mean": 38.2, + "median": 39.0, + "p10": 32.4, + "p25": 36.0, + "p75": 41.0, + "p90": 43.4, + "n": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "mean": 34.2, + "median": 35.0, + "p10": 28.2, + "p25": 30.0, + "p75": 38.0, + "p90": 39.8, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "mean": 30.2, + "median": 29.0, + "p10": 24.6, + "p25": 27.0, + "p75": 34.0, + "p90": 36.4, + "n": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "mean": 34.8, + "median": 34.0, + "p10": 29.6, + "p25": 32.0, + "p75": 37.0, + "p90": 40.6, + "n": 5, + "total_kg_days": 1131000.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_washed_bourbon", + "label": "Raw Material Dwell: Washed Bourbon", + "type": "raw_material_dwell", + "material": "90000100003", + "plant": "PL-A", + "stats": { + "n": 70, + "mean": 43.9, + "median": 41.0, + "std": 19.1, + "min": 4, + "max": 115, + "p25": 34.3, + "p75": 50.0, + "p85": 54.0, + "p95": 81.9 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 95.7, + "cost": { + "unit_price": 5.5, + "currency": "CHF", + "mean_qty": 2800.0, + "monthly": [ + { + "month": "2022-06", + "n_events": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "n_events": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "n_events": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "n_events": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "n_events": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "n_events": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 568400.0 + } + ] + }, + "observations": [ + { + "date": "2022-06-05", + "value": 40 + }, + { + "date": "2022-06-15", + "value": 22 + }, + { + "date": "2022-06-25", + "value": 68 + }, + { + "date": "2023-03-08", + "value": 4 + }, + { + "date": "2023-03-15", + "value": 55 + }, + { + "date": "2023-03-22", + "value": 115 + }, + { + "date": "2023-03-29", + "value": 30 + }, + { + "date": "2023-11-06", + "value": 62 + }, + { + "date": "2023-11-13", + "value": 18 + }, + { + "date": "2023-11-20", + "value": 85 + }, + { + "date": "2024-06-03", + "value": 35 + }, + { + "date": "2024-06-10", + "value": 72 + }, + { + "date": "2024-06-17", + "value": 10 + }, + { + "date": "2024-06-24", + "value": 48 + }, + { + "date": "2024-06-30", + "value": 95 + }, + { + "date": "2025-01-07", + "value": 28 + }, + { + "date": "2025-01-14", + "value": 52 + }, + { + "date": "2025-01-21", + "value": 15 + }, + { + "date": "2025-01-28", + "value": 78 + }, + { + "date": "2025-08-04", + "value": 42 + }, + { + "date": "2025-08-08", + "value": 8 + }, + { + "date": "2025-08-12", + "value": 65 + }, + { + "date": "2025-08-16", + "value": 33 + }, + { + "date": "2025-08-20", + "value": 100 + }, + { + "date": "2025-08-24", + "value": 20 + }, + { + "date": "2025-09-06", + "value": 41 + }, + { + "date": "2025-09-12", + "value": 45 + }, + { + "date": "2025-09-18", + "value": 48 + }, + { + "date": "2025-09-24", + "value": 52 + }, + { + "date": "2025-09-30", + "value": 34 + }, + { + "date": "2025-10-04", + "value": 40 + }, + { + "date": "2025-10-10", + "value": 44 + }, + { + "date": "2025-10-16", + "value": 48 + }, + { + "date": "2025-10-22", + "value": 30 + }, + { + "date": "2025-10-28", + "value": 34 + }, + { + "date": "2025-11-05", + "value": 50 + }, + { + "date": "2025-11-11", + "value": 54 + }, + { + "date": "2025-11-17", + "value": 36 + }, + { + "date": "2025-11-23", + "value": 41 + }, + { + "date": "2025-11-29", + "value": 44 + }, + { + "date": "2025-12-06", + "value": 50 + }, + { + "date": "2025-12-12", + "value": 32 + }, + { + "date": "2025-12-18", + "value": 36 + }, + { + "date": "2025-12-24", + "value": 39 + }, + { + "date": "2025-12-30", + "value": 43 + }, + { + "date": "2026-01-04", + "value": 28 + }, + { + "date": "2026-01-10", + "value": 32 + }, + { + "date": "2026-01-16", + "value": 35 + }, + { + "date": "2026-01-22", + "value": 38 + }, + { + "date": "2026-01-28", + "value": 42 + }, + { + "date": "2026-02-05", + "value": 39 + }, + { + "date": "2026-02-11", + "value": 41 + }, + { + "date": "2026-02-17", + "value": 45 + }, + { + "date": "2026-02-23", + "value": 48 + }, + { + "date": "2026-02-29", + "value": 52 + }, + { + "date": "2026-03-06", + "value": 37 + }, + { + "date": "2026-03-12", + "value": 40 + }, + { + "date": "2026-03-18", + "value": 44 + }, + { + "date": "2026-03-24", + "value": 48 + }, + { + "date": "2026-03-30", + "value": 30 + }, + { + "date": "2026-04-04", + "value": 47 + }, + { + "date": "2026-04-10", + "value": 50 + }, + { + "date": "2026-04-16", + "value": 54 + }, + { + "date": "2026-04-22", + "value": 36 + }, + { + "date": "2026-04-28", + "value": 41 + }, + { + "date": "2026-05-05", + "value": 46 + }, + { + "date": "2026-05-11", + "value": 50 + }, + { + "date": "2026-05-17", + "value": 32 + }, + { + "date": "2026-05-23", + "value": 36 + }, + { + "date": "2026-05-29", + "value": 39 + } + ], + "monthly": [ + { + "month": "2022-06", + "mean": 43.3, + "median": 40.0, + "p10": 25.6, + "p25": 31.0, + "p75": 54.0, + "p90": 62.4, + "n": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "mean": 51.0, + "median": 42.5, + "p10": 11.8, + "p25": 23.5, + "p75": 70.0, + "p90": 97.0, + "n": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "mean": 55.0, + "median": 62.0, + "p10": 26.8, + "p25": 40.0, + "p75": 73.5, + "p90": 80.4, + "n": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "mean": 52.0, + "median": 48.0, + "p10": 20.0, + "p25": 35.0, + "p75": 72.0, + "p90": 85.8, + "n": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "mean": 43.3, + "median": 40.0, + "p10": 18.9, + "p25": 24.8, + "p75": 58.5, + "p90": 70.2, + "n": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "mean": 44.7, + "median": 37.5, + "p10": 14.0, + "p25": 23.3, + "p75": 59.3, + "p90": 82.5, + "n": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "mean": 44.0, + "median": 45.0, + "p10": 36.8, + "p25": 41.0, + "p75": 48.0, + "p90": 50.4, + "n": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "mean": 39.2, + "median": 40.0, + "p10": 31.6, + "p25": 34.0, + "p75": 44.0, + "p90": 46.4, + "n": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "mean": 45.0, + "median": 44.0, + "p10": 38.0, + "p25": 41.0, + "p75": 50.0, + "p90": 52.4, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "mean": 40.0, + "median": 39.0, + "p10": 33.6, + "p25": 36.0, + "p75": 43.0, + "p90": 47.2, + "n": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "mean": 35.0, + "median": 35.0, + "p10": 29.6, + "p25": 32.0, + "p75": 38.0, + "p90": 40.4, + "n": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "mean": 45.0, + "median": 45.0, + "p10": 39.8, + "p25": 41.0, + "p75": 48.0, + "p90": 50.4, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "mean": 39.8, + "median": 40.0, + "p10": 32.8, + "p25": 37.0, + "p75": 44.0, + "p90": 46.4, + "n": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "mean": 45.6, + "median": 47.0, + "p10": 38.0, + "p25": 41.0, + "p75": 50.0, + "p90": 52.4, + "n": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "mean": 40.6, + "median": 39.0, + "p10": 33.6, + "p25": 36.0, + "p75": 46.0, + "p90": 48.4, + "n": 5, + "total_kg_days": 568400.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "prod_duration_green_blend", + "label": "Production: Green Blend", + "type": "production", + "material": "90000200001", + "plant": "PL-A", + "stats": { + "n": 50, + "mean": 4.4, + "median": 4.0, + "std": 1.8, + "min": 1, + "max": 14, + "p25": 3.3, + "p75": 5.0, + "p85": 5.0, + "p95": 6.6 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 10.0, + "cost": null, + "observations": [ + { + "date": "2022-04-18", + "value": 3 + }, + { + "date": "2022-07-05", + "value": 5 + }, + { + "date": "2022-10-12", + "value": 2 + }, + { + "date": "2023-01-20", + "value": 7 + }, + { + "date": "2023-04-15", + "value": 4 + }, + { + "date": "2023-07-28", + "value": 6 + }, + { + "date": "2023-10-05", + "value": 3 + }, + { + "date": "2024-01-12", + "value": 14 + }, + { + "date": "2024-04-22", + "value": 4 + }, + { + "date": "2024-07-10", + "value": 8 + }, + { + "date": "2024-10-18", + "value": 3 + }, + { + "date": "2025-01-25", + "value": 5 + }, + { + "date": "2025-05-08", + "value": 1 + }, + { + "date": "2025-08-15", + "value": 6 + }, + { + "date": "2025-09-04", + "value": 3 + }, + { + "date": "2025-09-10", + "value": 4 + }, + { + "date": "2025-09-16", + "value": 4 + }, + { + "date": "2025-09-22", + "value": 4 + }, + { + "date": "2025-10-05", + "value": 3 + }, + { + "date": "2025-10-11", + "value": 4 + }, + { + "date": "2025-10-17", + "value": 4 + }, + { + "date": "2025-10-23", + "value": 4 + }, + { + "date": "2025-11-06", + "value": 4 + }, + { + "date": "2025-11-12", + "value": 5 + }, + { + "date": "2025-11-18", + "value": 5 + }, + { + "date": "2025-11-24", + "value": 5 + }, + { + "date": "2025-12-04", + "value": 4 + }, + { + "date": "2025-12-10", + "value": 5 + }, + { + "date": "2025-12-16", + "value": 5 + }, + { + "date": "2025-12-22", + "value": 3 + }, + { + "date": "2026-01-05", + "value": 4 + }, + { + "date": "2026-01-11", + "value": 5 + }, + { + "date": "2026-01-17", + "value": 3 + }, + { + "date": "2026-01-23", + "value": 3 + }, + { + "date": "2026-02-06", + "value": 5 + }, + { + "date": "2026-02-12", + "value": 3 + }, + { + "date": "2026-02-18", + "value": 4 + }, + { + "date": "2026-02-24", + "value": 4 + }, + { + "date": "2026-03-04", + "value": 3 + }, + { + "date": "2026-03-10", + "value": 3 + }, + { + "date": "2026-03-16", + "value": 4 + }, + { + "date": "2026-03-22", + "value": 4 + }, + { + "date": "2026-04-05", + "value": 4 + }, + { + "date": "2026-04-11", + "value": 4 + }, + { + "date": "2026-04-17", + "value": 5 + }, + { + "date": "2026-04-23", + "value": 5 + }, + { + "date": "2026-05-06", + "value": 4 + }, + { + "date": "2026-05-12", + "value": 4 + }, + { + "date": "2026-05-18", + "value": 5 + }, + { + "date": "2026-05-24", + "value": 5 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2022-07", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2023-01", + "mean": 7.0, + "median": 7.0, + "p10": 7.0, + "p25": 7.0, + "p75": 7.0, + "p90": 7.0, + "n": 1 + }, + { + "month": "2023-04", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 6.0, + "median": 6.0, + "p10": 6.0, + "p25": 6.0, + "p75": 6.0, + "p90": 6.0, + "n": 1 + }, + { + "month": "2023-10", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2024-01", + "mean": 14.0, + "median": 14.0, + "p10": 14.0, + "p25": 14.0, + "p75": 14.0, + "p90": 14.0, + "n": 1 + }, + { + "month": "2024-04", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2024-07", + "mean": 8.0, + "median": 8.0, + "p10": 8.0, + "p25": 8.0, + "p75": 8.0, + "p90": 8.0, + "n": 1 + }, + { + "month": "2024-10", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2025-05", + "mean": 1.0, + "median": 1.0, + "p10": 1.0, + "p25": 1.0, + "p75": 1.0, + "p90": 1.0, + "n": 1 + }, + { + "month": "2025-08", + "mean": 6.0, + "median": 6.0, + "p10": 6.0, + "p25": 6.0, + "p75": 6.0, + "p90": 6.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 3.8, + "median": 4.0, + "p10": 3.3, + "p25": 3.8, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2025-10", + "mean": 3.8, + "median": 4.0, + "p10": 3.3, + "p25": 3.8, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2025-11", + "mean": 4.8, + "median": 5.0, + "p10": 4.3, + "p25": 4.8, + "p75": 5.0, + "p90": 5.0, + "n": 4 + }, + { + "month": "2025-12", + "mean": 4.3, + "median": 4.5, + "p10": 3.3, + "p25": 3.8, + "p75": 5.0, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-01", + "mean": 3.8, + "median": 3.5, + "p10": 3.0, + "p25": 3.0, + "p75": 4.3, + "p90": 4.7, + "n": 4 + }, + { + "month": "2026-02", + "mean": 4.0, + "median": 4.0, + "p10": 3.3, + "p25": 3.8, + "p75": 4.3, + "p90": 4.7, + "n": 4 + }, + { + "month": "2026-03", + "mean": 3.5, + "median": 3.5, + "p10": 3.0, + "p25": 3.0, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2026-04", + "mean": 4.5, + "median": 4.5, + "p10": 4.0, + "p25": 4.0, + "p75": 5.0, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-05", + "mean": 4.5, + "median": 4.5, + "p10": 4.0, + "p25": 4.0, + "p75": 5.0, + "p90": 5.0, + "n": 4 + } + ], + "n_batches": 50, + "n_movements": null, + "yield_summary": { + "median": 98.5, + "mean": 97.2, + "reference": 100.0, + "n": 50 + }, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 0.9, + "mean_slack": 5.1, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 0.9 + }, + "direct": { + "binding_share": 0.9, + "mean_slack": 7.2, + "next_bottleneck_days": 27.4, + "expected_marginal_per_day": 0.9 + }, + "hub-1": { + "binding_share": 0.9, + "mean_slack": 2.0, + "next_bottleneck_days": 31.3, + "expected_marginal_per_day": 0.9 + } + } + }, + { + "id": "intermed_dwell_green_blend", + "label": "Intermediate Dwell: Green Blend", + "type": "intermediate_dwell", + "material": "90000200001", + "plant": "PL-A", + "stats": { + "n": 73, + "mean": 17.4, + "median": 16.0, + "std": 9.0, + "min": 2, + "max": 55, + "p25": 13.0, + "p75": 19.0, + "p85": 20.4, + "p95": 37.0 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 87.7, + "cost": { + "unit_price": 12.5, + "currency": "CHF", + "mean_qty": 3200.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "n_events": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "n_events": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "n_events": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "n_events": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "n_events": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "n_events": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 249600.0 + } + ] + }, + "observations": [ + { + "date": "2022-05-05", + "value": 12 + }, + { + "date": "2022-05-15", + "value": 25 + }, + { + "date": "2022-05-22", + "value": 8 + }, + { + "date": "2022-11-03", + "value": 35 + }, + { + "date": "2022-11-10", + "value": 15 + }, + { + "date": "2022-11-18", + "value": 5 + }, + { + "date": "2022-11-25", + "value": 22 + }, + { + "date": "2023-05-08", + "value": 18 + }, + { + "date": "2023-05-15", + "value": 40 + }, + { + "date": "2023-05-22", + "value": 10 + }, + { + "date": "2023-11-06", + "value": 55 + }, + { + "date": "2023-11-13", + "value": 2 + }, + { + "date": "2023-11-20", + "value": 28 + }, + { + "date": "2023-11-27", + "value": 15 + }, + { + "date": "2023-11-30", + "value": 8 + }, + { + "date": "2024-05-06", + "value": 20 + }, + { + "date": "2024-05-13", + "value": 45 + }, + { + "date": "2024-05-20", + "value": 12 + }, + { + "date": "2024-05-27", + "value": 3 + }, + { + "date": "2024-11-04", + "value": 18 + }, + { + "date": "2024-11-11", + "value": 30 + }, + { + "date": "2024-11-18", + "value": 8 + }, + { + "date": "2025-05-05", + "value": 22 + }, + { + "date": "2025-05-09", + "value": 35 + }, + { + "date": "2025-05-13", + "value": 5 + }, + { + "date": "2025-05-17", + "value": 15 + }, + { + "date": "2025-05-21", + "value": 42 + }, + { + "date": "2025-05-25", + "value": 10 + }, + { + "date": "2025-09-05", + "value": 14 + }, + { + "date": "2025-09-11", + "value": 16 + }, + { + "date": "2025-09-17", + "value": 17 + }, + { + "date": "2025-09-23", + "value": 18 + }, + { + "date": "2025-09-29", + "value": 19 + }, + { + "date": "2025-10-06", + "value": 14 + }, + { + "date": "2025-10-12", + "value": 15 + }, + { + "date": "2025-10-18", + "value": 16 + }, + { + "date": "2025-10-24", + "value": 18 + }, + { + "date": "2025-10-30", + "value": 11 + }, + { + "date": "2025-11-04", + "value": 18 + }, + { + "date": "2025-11-10", + "value": 19 + }, + { + "date": "2025-11-16", + "value": 20 + }, + { + "date": "2025-11-22", + "value": 14 + }, + { + "date": "2025-11-28", + "value": 15 + }, + { + "date": "2025-12-05", + "value": 17 + }, + { + "date": "2025-12-11", + "value": 19 + }, + { + "date": "2025-12-17", + "value": 12 + }, + { + "date": "2025-12-23", + "value": 14 + }, + { + "date": "2025-12-29", + "value": 15 + }, + { + "date": "2026-01-06", + "value": 17 + }, + { + "date": "2026-01-12", + "value": 11 + }, + { + "date": "2026-01-18", + "value": 12 + }, + { + "date": "2026-01-24", + "value": 13 + }, + { + "date": "2026-01-30", + "value": 14 + }, + { + "date": "2026-02-04", + "value": 13 + }, + { + "date": "2026-02-10", + "value": 14 + }, + { + "date": "2026-02-16", + "value": 16 + }, + { + "date": "2026-02-22", + "value": 17 + }, + { + "date": "2026-02-28", + "value": 18 + }, + { + "date": "2026-03-05", + "value": 13 + }, + { + "date": "2026-03-11", + "value": 14 + }, + { + "date": "2026-03-17", + "value": 15 + }, + { + "date": "2026-03-23", + "value": 16 + }, + { + "date": "2026-03-29", + "value": 18 + }, + { + "date": "2026-04-06", + "value": 16 + }, + { + "date": "2026-04-12", + "value": 18 + }, + { + "date": "2026-04-18", + "value": 19 + }, + { + "date": "2026-04-24", + "value": 20 + }, + { + "date": "2026-04-30", + "value": 14 + }, + { + "date": "2026-05-04", + "value": 16 + }, + { + "date": "2026-05-10", + "value": 17 + }, + { + "date": "2026-05-16", + "value": 19 + }, + { + "date": "2026-05-22", + "value": 12 + }, + { + "date": "2026-05-28", + "value": 14 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 15.0, + "median": 12.0, + "p10": 8.8, + "p25": 10.0, + "p75": 18.5, + "p90": 22.4, + "n": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "mean": 19.3, + "median": 18.5, + "p10": 8.0, + "p25": 12.5, + "p75": 25.3, + "p90": 31.1, + "n": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "mean": 22.7, + "median": 18.0, + "p10": 11.6, + "p25": 14.0, + "p75": 29.0, + "p90": 35.6, + "n": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "mean": 21.6, + "median": 15.0, + "p10": 4.4, + "p25": 8.0, + "p75": 28.0, + "p90": 44.2, + "n": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "mean": 20.0, + "median": 16.0, + "p10": 5.7, + "p25": 9.8, + "p75": 26.3, + "p90": 37.5, + "n": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "mean": 18.7, + "median": 18.0, + "p10": 10.0, + "p25": 13.0, + "p75": 24.0, + "p90": 27.6, + "n": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "mean": 21.5, + "median": 18.5, + "p10": 7.5, + "p25": 11.3, + "p75": 31.8, + "p90": 38.5, + "n": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "mean": 16.8, + "median": 17.0, + "p10": 14.8, + "p25": 16.0, + "p75": 18.0, + "p90": 18.6, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "mean": 14.8, + "median": 15.0, + "p10": 12.2, + "p25": 14.0, + "p75": 16.0, + "p90": 17.2, + "n": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "mean": 17.2, + "median": 18.0, + "p10": 14.4, + "p25": 15.0, + "p75": 19.0, + "p90": 19.6, + "n": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "mean": 15.4, + "median": 15.0, + "p10": 12.8, + "p25": 14.0, + "p75": 17.0, + "p90": 18.2, + "n": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "mean": 13.4, + "median": 13.0, + "p10": 11.4, + "p25": 12.0, + "p75": 14.0, + "p90": 15.8, + "n": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "mean": 15.6, + "median": 16.0, + "p10": 13.4, + "p25": 14.0, + "p75": 17.0, + "p90": 17.6, + "n": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "mean": 15.2, + "median": 15.0, + "p10": 13.4, + "p25": 14.0, + "p75": 16.0, + "p90": 17.2, + "n": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "mean": 17.4, + "median": 18.0, + "p10": 14.8, + "p25": 16.0, + "p75": 19.0, + "p90": 19.6, + "n": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "mean": 15.6, + "median": 16.0, + "p10": 12.8, + "p25": 14.0, + "p75": 17.0, + "p90": 18.2, + "n": 5, + "total_kg_days": 249600.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 0.9, + "mean_slack": 5.1, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 0.9 + }, + "direct": { + "binding_share": 0.9, + "mean_slack": 7.2, + "next_bottleneck_days": 27.4, + "expected_marginal_per_day": 0.9 + }, + "hub-1": { + "binding_share": 0.9, + "mean_slack": 2.0, + "next_bottleneck_days": 31.3, + "expected_marginal_per_day": 0.9 + } + } + }, + { + "id": "prod_duration_harbor_dark_roast", + "label": "Production: Harbor Dark Roast", + "type": "production", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 58, + "mean": 3.2, + "median": 3.0, + "std": 1.4, + "min": 0, + "max": 10, + "p25": 3.0, + "p75": 4.0, + "p85": 4.0, + "p95": 5.2 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 5.2, + "cost": null, + "observations": [ + { + "date": "2022-05-20", + "value": 2 + }, + { + "date": "2022-06-10", + "value": 3 + }, + { + "date": "2022-07-15", + "value": 1 + }, + { + "date": "2022-08-22", + "value": 4 + }, + { + "date": "2022-10-05", + "value": 2 + }, + { + "date": "2022-11-18", + "value": 5 + }, + { + "date": "2023-01-10", + "value": 3 + }, + { + "date": "2023-03-25", + "value": 7 + }, + { + "date": "2023-05-12", + "value": 2 + }, + { + "date": "2023-07-08", + "value": 4 + }, + { + "date": "2023-09-15", + "value": 1 + }, + { + "date": "2023-11-22", + "value": 3 + }, + { + "date": "2024-01-18", + "value": 10 + }, + { + "date": "2024-03-08", + "value": 3 + }, + { + "date": "2024-05-15", + "value": 2 + }, + { + "date": "2024-07-22", + "value": 5 + }, + { + "date": "2024-09-10", + "value": 0 + }, + { + "date": "2024-11-05", + "value": 4 + }, + { + "date": "2025-01-15", + "value": 3 + }, + { + "date": "2025-03-20", + "value": 2 + }, + { + "date": "2025-05-28", + "value": 6 + }, + { + "date": "2025-08-05", + "value": 3 + }, + { + "date": "2025-09-05", + "value": 4 + }, + { + "date": "2025-09-11", + "value": 4 + }, + { + "date": "2025-09-17", + "value": 3 + }, + { + "date": "2025-09-23", + "value": 3 + }, + { + "date": "2025-10-06", + "value": 4 + }, + { + "date": "2025-10-12", + "value": 2 + }, + { + "date": "2025-10-18", + "value": 3 + }, + { + "date": "2025-10-24", + "value": 3 + }, + { + "date": "2025-11-04", + "value": 2 + }, + { + "date": "2025-11-10", + "value": 2 + }, + { + "date": "2025-11-16", + "value": 3 + }, + { + "date": "2025-11-22", + "value": 3 + }, + { + "date": "2025-12-05", + "value": 3 + }, + { + "date": "2025-12-11", + "value": 3 + }, + { + "date": "2025-12-17", + "value": 3 + }, + { + "date": "2025-12-23", + "value": 4 + }, + { + "date": "2026-01-06", + "value": 3 + }, + { + "date": "2026-01-12", + "value": 3 + }, + { + "date": "2026-01-18", + "value": 3 + }, + { + "date": "2026-01-24", + "value": 4 + }, + { + "date": "2026-02-04", + "value": 4 + }, + { + "date": "2026-02-10", + "value": 4 + }, + { + "date": "2026-02-16", + "value": 4 + }, + { + "date": "2026-02-22", + "value": 3 + }, + { + "date": "2026-03-05", + "value": 3 + }, + { + "date": "2026-03-11", + "value": 4 + }, + { + "date": "2026-03-17", + "value": 2 + }, + { + "date": "2026-03-23", + "value": 3 + }, + { + "date": "2026-04-06", + "value": 3 + }, + { + "date": "2026-04-12", + "value": 2 + }, + { + "date": "2026-04-18", + "value": 2 + }, + { + "date": "2026-04-24", + "value": 3 + }, + { + "date": "2026-05-04", + "value": 3 + }, + { + "date": "2026-05-10", + "value": 3 + }, + { + "date": "2026-05-16", + "value": 3 + }, + { + "date": "2026-05-22", + "value": 3 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2022-06", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2022-07", + "mean": 1.0, + "median": 1.0, + "p10": 1.0, + "p25": 1.0, + "p75": 1.0, + "p90": 1.0, + "n": 1 + }, + { + "month": "2022-08", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2022-11", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2023-01", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2023-03", + "mean": 7.0, + "median": 7.0, + "p10": 7.0, + "p25": 7.0, + "p75": 7.0, + "p90": 7.0, + "n": 1 + }, + { + "month": "2023-05", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2023-09", + "mean": 1.0, + "median": 1.0, + "p10": 1.0, + "p25": 1.0, + "p75": 1.0, + "p90": 1.0, + "n": 1 + }, + { + "month": "2023-11", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2024-01", + "mean": 10.0, + "median": 10.0, + "p10": 10.0, + "p25": 10.0, + "p75": 10.0, + "p90": 10.0, + "n": 1 + }, + { + "month": "2024-03", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2024-05", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2024-07", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2024-09", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2025-03", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2025-05", + "mean": 6.0, + "median": 6.0, + "p10": 6.0, + "p25": 6.0, + "p75": 6.0, + "p90": 6.0, + "n": 1 + }, + { + "month": "2025-08", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 3.5, + "median": 3.5, + "p10": 3.0, + "p25": 3.0, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2025-10", + "mean": 3.0, + "median": 3.0, + "p10": 2.3, + "p25": 2.8, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2025-11", + "mean": 2.5, + "median": 2.5, + "p10": 2.0, + "p25": 2.0, + "p75": 3.0, + "p90": 3.0, + "n": 4 + }, + { + "month": "2025-12", + "mean": 3.3, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2026-01", + "mean": 3.3, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2026-02", + "mean": 3.8, + "median": 4.0, + "p10": 3.3, + "p25": 3.8, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2026-03", + "mean": 3.0, + "median": 3.0, + "p10": 2.3, + "p25": 2.8, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2026-04", + "mean": 2.5, + "median": 2.5, + "p10": 2.0, + "p25": 2.0, + "p75": 3.0, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-05", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 4 + } + ], + "n_batches": 58, + "n_movements": null, + "yield_summary": { + "median": 99.2, + "mean": 98.5, + "reference": 100.0, + "n": 58 + }, + "consumption_summary": { + "median_variance": 2.1, + "mean_variance": 3.4, + "n_components": 3, + "n": 58 + }, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 4.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 3.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 4.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "prod_to_qa_pla", + "label": "Production \u2192 QA Release (PL-A)", + "type": "qa_hold", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 58, + "mean": 3.4, + "median": 3.0, + "std": 1.8, + "min": 0, + "max": 13, + "p25": 3.0, + "p75": 4.0, + "p85": 4.0, + "p95": 6.2 + }, + "plifz": 5, + "plifz_note": "WEBAZ (GR processing days)", + "pct_exceeding_plifz": 6.9, + "cost": null, + "observations": [ + { + "date": "2022-05-22", + "value": 2 + }, + { + "date": "2022-06-13", + "value": 1 + }, + { + "date": "2022-07-16", + "value": 3 + }, + { + "date": "2022-08-26", + "value": 2 + }, + { + "date": "2022-10-07", + "value": 5 + }, + { + "date": "2022-11-23", + "value": 2 + }, + { + "date": "2023-01-13", + "value": 4 + }, + { + "date": "2023-04-01", + "value": 3 + }, + { + "date": "2023-05-14", + "value": 6 + }, + { + "date": "2023-07-12", + "value": 2 + }, + { + "date": "2023-09-16", + "value": 13 + }, + { + "date": "2023-11-25", + "value": 3 + }, + { + "date": "2024-01-28", + "value": 7 + }, + { + "date": "2024-03-11", + "value": 1 + }, + { + "date": "2024-05-17", + "value": 4 + }, + { + "date": "2024-07-27", + "value": 5 + }, + { + "date": "2024-09-10", + "value": 2 + }, + { + "date": "2024-11-09", + "value": 0 + }, + { + "date": "2025-01-18", + "value": 3 + }, + { + "date": "2025-03-22", + "value": 8 + }, + { + "date": "2025-06-03", + "value": 2 + }, + { + "date": "2025-08-08", + "value": 5 + }, + { + "date": "2025-09-04", + "value": 2 + }, + { + "date": "2025-09-10", + "value": 3 + }, + { + "date": "2025-09-16", + "value": 3 + }, + { + "date": "2025-09-22", + "value": 3 + }, + { + "date": "2025-10-05", + "value": 3 + }, + { + "date": "2025-10-11", + "value": 3 + }, + { + "date": "2025-10-17", + "value": 4 + }, + { + "date": "2025-10-23", + "value": 4 + }, + { + "date": "2025-11-06", + "value": 3 + }, + { + "date": "2025-11-12", + "value": 3 + }, + { + "date": "2025-11-18", + "value": 3 + }, + { + "date": "2025-11-24", + "value": 4 + }, + { + "date": "2025-12-04", + "value": 3 + }, + { + "date": "2025-12-10", + "value": 3 + }, + { + "date": "2025-12-16", + "value": 3 + }, + { + "date": "2025-12-22", + "value": 2 + }, + { + "date": "2026-01-05", + "value": 4 + }, + { + "date": "2026-01-11", + "value": 4 + }, + { + "date": "2026-01-17", + "value": 3 + }, + { + "date": "2026-01-23", + "value": 3 + }, + { + "date": "2026-02-06", + "value": 4 + }, + { + "date": "2026-02-12", + "value": 2 + }, + { + "date": "2026-02-18", + "value": 3 + }, + { + "date": "2026-02-24", + "value": 3 + }, + { + "date": "2026-03-04", + "value": 3 + }, + { + "date": "2026-03-10", + "value": 3 + }, + { + "date": "2026-03-16", + "value": 3 + }, + { + "date": "2026-03-22", + "value": 4 + }, + { + "date": "2026-04-05", + "value": 3 + }, + { + "date": "2026-04-11", + "value": 3 + }, + { + "date": "2026-04-17", + "value": 3 + }, + { + "date": "2026-04-23", + "value": 3 + }, + { + "date": "2026-05-06", + "value": 3 + }, + { + "date": "2026-05-12", + "value": 3 + }, + { + "date": "2026-05-18", + "value": 3 + }, + { + "date": "2026-05-24", + "value": 3 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2022-06", + "mean": 1.0, + "median": 1.0, + "p10": 1.0, + "p25": 1.0, + "p75": 1.0, + "p90": 1.0, + "n": 1 + }, + { + "month": "2022-07", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2022-08", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2022-10", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2022-11", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2023-01", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2023-04", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2023-05", + "mean": 6.0, + "median": 6.0, + "p10": 6.0, + "p25": 6.0, + "p75": 6.0, + "p90": 6.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2023-09", + "mean": 13.0, + "median": 13.0, + "p10": 13.0, + "p25": 13.0, + "p75": 13.0, + "p90": 13.0, + "n": 1 + }, + { + "month": "2023-11", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2024-01", + "mean": 7.0, + "median": 7.0, + "p10": 7.0, + "p25": 7.0, + "p75": 7.0, + "p90": 7.0, + "n": 1 + }, + { + "month": "2024-03", + "mean": 1.0, + "median": 1.0, + "p10": 1.0, + "p25": 1.0, + "p75": 1.0, + "p90": 1.0, + "n": 1 + }, + { + "month": "2024-05", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2024-07", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2024-09", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2025-03", + "mean": 8.0, + "median": 8.0, + "p10": 8.0, + "p25": 8.0, + "p75": 8.0, + "p90": 8.0, + "n": 1 + }, + { + "month": "2025-06", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2025-08", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 2.8, + "median": 3.0, + "p10": 2.3, + "p25": 2.8, + "p75": 3.0, + "p90": 3.0, + "n": 4 + }, + { + "month": "2025-10", + "mean": 3.5, + "median": 3.5, + "p10": 3.0, + "p25": 3.0, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2025-11", + "mean": 3.3, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2025-12", + "mean": 2.8, + "median": 3.0, + "p10": 2.3, + "p25": 2.8, + "p75": 3.0, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-01", + "mean": 3.5, + "median": 3.5, + "p10": 3.0, + "p25": 3.0, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2026-02", + "mean": 3.0, + "median": 3.0, + "p10": 2.3, + "p25": 2.8, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2026-03", + "mean": 3.3, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2026-04", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-05", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 4 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": { + "median": 99.2, + "mean": 98.5, + "reference": 100.0, + "n": 58 + }, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 7.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 7.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 6.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "post_qa_ship_pla", + "label": "Post-QA Dwell (PL-A)", + "type": "post_qa_ship", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 57, + "mean": 12.7, + "median": 12.0, + "std": 5.6, + "min": 2, + "max": 42, + "p25": 10.0, + "p75": 14.0, + "p85": 15.0, + "p95": 20.4 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "cost": { + "unit_price": 28.5, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2023-03", + "n_events": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "n_events": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "n_events": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 264000.0 + } + ] + }, + "observations": [ + { + "date": "2023-03-10", + "value": 8 + }, + { + "date": "2023-03-25", + "value": 22 + }, + { + "date": "2023-09-20", + "value": 42 + }, + { + "date": "2024-03-15", + "value": 6 + }, + { + "date": "2024-03-28", + "value": 18 + }, + { + "date": "2024-09-05", + "value": 28 + }, + { + "date": "2024-09-15", + "value": 12 + }, + { + "date": "2024-09-25", + "value": 2 + }, + { + "date": "2025-03-10", + "value": 15 + }, + { + "date": "2025-03-22", + "value": 5 + }, + { + "date": "2025-07-08", + "value": 20 + }, + { + "date": "2025-07-22", + "value": 4 + }, + { + "date": "2025-09-05", + "value": 14 + }, + { + "date": "2025-09-11", + "value": 15 + }, + { + "date": "2025-09-17", + "value": 10 + }, + { + "date": "2025-09-23", + "value": 11 + }, + { + "date": "2025-09-29", + "value": 12 + }, + { + "date": "2025-10-06", + "value": 14 + }, + { + "date": "2025-10-12", + "value": 8 + }, + { + "date": "2025-10-18", + "value": 10 + }, + { + "date": "2025-10-24", + "value": 11 + }, + { + "date": "2025-10-30", + "value": 11 + }, + { + "date": "2025-11-04", + "value": 10 + }, + { + "date": "2025-11-10", + "value": 12 + }, + { + "date": "2025-11-16", + "value": 12 + }, + { + "date": "2025-11-22", + "value": 13 + }, + { + "date": "2025-11-28", + "value": 14 + }, + { + "date": "2025-12-05", + "value": 10 + }, + { + "date": "2025-12-11", + "value": 11 + }, + { + "date": "2025-12-17", + "value": 12 + }, + { + "date": "2025-12-23", + "value": 13 + }, + { + "date": "2025-12-29", + "value": 14 + }, + { + "date": "2026-01-06", + "value": 13 + }, + { + "date": "2026-01-12", + "value": 14 + }, + { + "date": "2026-01-18", + "value": 15 + }, + { + "date": "2026-01-24", + "value": 16 + }, + { + "date": "2026-01-30", + "value": 11 + }, + { + "date": "2026-02-04", + "value": 13 + }, + { + "date": "2026-02-10", + "value": 14 + }, + { + "date": "2026-02-16", + "value": 15 + }, + { + "date": "2026-02-22", + "value": 10 + }, + { + "date": "2026-02-28", + "value": 11 + }, + { + "date": "2026-03-05", + "value": 13 + }, + { + "date": "2026-03-11", + "value": 14 + }, + { + "date": "2026-03-17", + "value": 8 + }, + { + "date": "2026-03-23", + "value": 10 + }, + { + "date": "2026-03-29", + "value": 11 + }, + { + "date": "2026-04-06", + "value": 16 + }, + { + "date": "2026-04-12", + "value": 10 + }, + { + "date": "2026-04-18", + "value": 12 + }, + { + "date": "2026-04-24", + "value": 12 + }, + { + "date": "2026-04-30", + "value": 13 + }, + { + "date": "2026-05-04", + "value": 9 + }, + { + "date": "2026-05-10", + "value": 10 + }, + { + "date": "2026-05-16", + "value": 11 + }, + { + "date": "2026-05-22", + "value": 12 + }, + { + "date": "2026-05-28", + "value": 13 + } + ], + "monthly": [ + { + "month": "2023-03", + "mean": 15.0, + "median": 15.0, + "p10": 9.4, + "p25": 11.5, + "p75": 18.5, + "p90": 20.6, + "n": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "mean": 42.0, + "median": 42.0, + "p10": 42.0, + "p25": 42.0, + "p75": 42.0, + "p90": 42.0, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "mean": 12.0, + "median": 12.0, + "p10": 7.2, + "p25": 9.0, + "p75": 15.0, + "p90": 16.8, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "mean": 14.0, + "median": 12.0, + "p10": 4.0, + "p25": 7.0, + "p75": 20.0, + "p90": 24.8, + "n": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "mean": 10.0, + "median": 10.0, + "p10": 6.0, + "p25": 7.5, + "p75": 12.5, + "p90": 14.0, + "n": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "mean": 12.0, + "median": 12.0, + "p10": 5.6, + "p25": 8.0, + "p75": 16.0, + "p90": 18.4, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "mean": 12.4, + "median": 12.0, + "p10": 10.4, + "p25": 11.0, + "p75": 14.0, + "p90": 14.6, + "n": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "mean": 10.8, + "median": 11.0, + "p10": 8.8, + "p25": 10.0, + "p75": 11.0, + "p90": 12.8, + "n": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "mean": 12.2, + "median": 12.0, + "p10": 10.8, + "p25": 12.0, + "p75": 13.0, + "p90": 13.6, + "n": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "mean": 12.0, + "median": 12.0, + "p10": 10.4, + "p25": 11.0, + "p75": 13.0, + "p90": 13.6, + "n": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "mean": 13.8, + "median": 14.0, + "p10": 11.8, + "p25": 13.0, + "p75": 15.0, + "p90": 15.6, + "n": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "mean": 12.6, + "median": 13.0, + "p10": 10.4, + "p25": 11.0, + "p75": 14.0, + "p90": 14.6, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "mean": 11.2, + "median": 11.0, + "p10": 8.8, + "p25": 10.0, + "p75": 13.0, + "p90": 13.6, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "mean": 12.6, + "median": 12.0, + "p10": 10.8, + "p25": 12.0, + "p75": 13.0, + "p90": 14.8, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "mean": 11.0, + "median": 11.0, + "p10": 9.4, + "p25": 10.0, + "p75": 12.0, + "p90": 12.6, + "n": 5, + "total_kg_days": 264000.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "direct_ship_pla", + "label": "Direct-to-Customer Ship", + "type": "transit", + "material": "90000300001", + "plant": "PL-A\u2192Customer", + "stats": { + "n": 35, + "mean": 20.9, + "median": 21.0, + "std": 4.6, + "min": 12, + "max": 38, + "p25": 18.5, + "p75": 23.0, + "p85": 24.9, + "p95": 26.6 + }, + "plifz": null, + "plifz_note": "No planning parameter set", + "pct_exceeding_plifz": null, + "cost": null, + "observations": [ + { + "date": "2023-04-05", + "value": 18 + }, + { + "date": "2023-10-12", + "value": 25 + }, + { + "date": "2024-04-08", + "value": 12 + }, + { + "date": "2024-09-20", + "value": 38 + }, + { + "date": "2024-10-15", + "value": 20 + }, + { + "date": "2025-03-25", + "value": 15 + }, + { + "date": "2025-04-10", + "value": 28 + }, + { + "date": "2025-07-30", + "value": 24 + }, + { + "date": "2025-09-04", + "value": 17 + }, + { + "date": "2025-09-10", + "value": 19 + }, + { + "date": "2025-09-16", + "value": 21 + }, + { + "date": "2025-10-05", + "value": 17 + }, + { + "date": "2025-10-11", + "value": 19 + }, + { + "date": "2025-10-17", + "value": 20 + }, + { + "date": "2025-11-06", + "value": 22 + }, + { + "date": "2025-11-12", + "value": 23 + }, + { + "date": "2025-11-18", + "value": 25 + }, + { + "date": "2025-12-04", + "value": 21 + }, + { + "date": "2025-12-10", + "value": 23 + }, + { + "date": "2025-12-16", + "value": 25 + }, + { + "date": "2026-01-05", + "value": 21 + }, + { + "date": "2026-01-11", + "value": 23 + }, + { + "date": "2026-01-17", + "value": 14 + }, + { + "date": "2026-02-06", + "value": 26 + }, + { + "date": "2026-02-12", + "value": 17 + }, + { + "date": "2026-02-18", + "value": 19 + }, + { + "date": "2026-03-04", + "value": 15 + }, + { + "date": "2026-03-10", + "value": 17 + }, + { + "date": "2026-03-16", + "value": 19 + }, + { + "date": "2026-04-05", + "value": 20 + }, + { + "date": "2026-04-11", + "value": 22 + }, + { + "date": "2026-04-17", + "value": 23 + }, + { + "date": "2026-05-06", + "value": 20 + }, + { + "date": "2026-05-12", + "value": 21 + }, + { + "date": "2026-05-18", + "value": 23 + } + ], + "monthly": [ + { + "month": "2023-04", + "mean": 18.0, + "median": 18.0, + "p10": 18.0, + "p25": 18.0, + "p75": 18.0, + "p90": 18.0, + "n": 1 + }, + { + "month": "2023-10", + "mean": 25.0, + "median": 25.0, + "p10": 25.0, + "p25": 25.0, + "p75": 25.0, + "p90": 25.0, + "n": 1 + }, + { + "month": "2024-04", + "mean": 12.0, + "median": 12.0, + "p10": 12.0, + "p25": 12.0, + "p75": 12.0, + "p90": 12.0, + "n": 1 + }, + { + "month": "2024-09", + "mean": 38.0, + "median": 38.0, + "p10": 38.0, + "p25": 38.0, + "p75": 38.0, + "p90": 38.0, + "n": 1 + }, + { + "month": "2024-10", + "mean": 20.0, + "median": 20.0, + "p10": 20.0, + "p25": 20.0, + "p75": 20.0, + "p90": 20.0, + "n": 1 + }, + { + "month": "2025-03", + "mean": 15.0, + "median": 15.0, + "p10": 15.0, + "p25": 15.0, + "p75": 15.0, + "p90": 15.0, + "n": 1 + }, + { + "month": "2025-04", + "mean": 28.0, + "median": 28.0, + "p10": 28.0, + "p25": 28.0, + "p75": 28.0, + "p90": 28.0, + "n": 1 + }, + { + "month": "2025-07", + "mean": 24.0, + "median": 24.0, + "p10": 24.0, + "p25": 24.0, + "p75": 24.0, + "p90": 24.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 19.0, + "median": 19.0, + "p10": 17.4, + "p25": 18.0, + "p75": 20.0, + "p90": 20.6, + "n": 3 + }, + { + "month": "2025-10", + "mean": 18.7, + "median": 19.0, + "p10": 17.4, + "p25": 18.0, + "p75": 19.5, + "p90": 19.8, + "n": 3 + }, + { + "month": "2025-11", + "mean": 23.3, + "median": 23.0, + "p10": 22.2, + "p25": 22.5, + "p75": 24.0, + "p90": 24.6, + "n": 3 + }, + { + "month": "2025-12", + "mean": 23.0, + "median": 23.0, + "p10": 21.4, + "p25": 22.0, + "p75": 24.0, + "p90": 24.6, + "n": 3 + }, + { + "month": "2026-01", + "mean": 19.3, + "median": 21.0, + "p10": 15.4, + "p25": 17.5, + "p75": 22.0, + "p90": 22.6, + "n": 3 + }, + { + "month": "2026-02", + "mean": 20.7, + "median": 19.0, + "p10": 17.4, + "p25": 18.0, + "p75": 22.5, + "p90": 24.6, + "n": 3 + }, + { + "month": "2026-03", + "mean": 17.0, + "median": 17.0, + "p10": 15.4, + "p25": 16.0, + "p75": 18.0, + "p90": 18.6, + "n": 3 + }, + { + "month": "2026-04", + "mean": 21.7, + "median": 22.0, + "p10": 20.4, + "p25": 21.0, + "p75": 22.5, + "p90": 22.8, + "n": 3 + }, + { + "month": "2026-05", + "mean": 21.3, + "median": 21.0, + "p10": 20.2, + "p25": 20.5, + "p75": 22.0, + "p90": 22.6, + "n": 3 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 22.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 22.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "transit_pla_hub1", + "label": "Transit PL-A \u2192 HUB-1", + "type": "transit", + "material": "90000300001", + "plant": "PL-A\u2192HUB-1", + "stats": { + "n": 42, + "mean": 31.3, + "median": 30.5, + "std": 7.1, + "min": 15, + "max": 55, + "p25": 27.0, + "p75": 36.0, + "p85": 38.0, + "p95": 41.9 + }, + "plifz": 28, + "plifz_note": null, + "pct_exceeding_plifz": 61.9, + "cost": null, + "observations": [ + { + "date": "2022-07-20", + "value": 28 + }, + { + "date": "2022-11-30", + "value": 35 + }, + { + "date": "2023-03-15", + "value": 22 + }, + { + "date": "2023-07-10", + "value": 42 + }, + { + "date": "2023-10-25", + "value": 30 + }, + { + "date": "2024-02-08", + "value": 55 + }, + { + "date": "2024-05-20", + "value": 25 + }, + { + "date": "2024-08-12", + "value": 38 + }, + { + "date": "2024-11-05", + "value": 15 + }, + { + "date": "2025-01-22", + "value": 32 + }, + { + "date": "2025-04-10", + "value": 28 + }, + { + "date": "2025-06-18", + "value": 45 + }, + { + "date": "2025-07-15", + "value": 30 + }, + { + "date": "2025-08-05", + "value": 22 + }, + { + "date": "2025-09-05", + "value": 36 + }, + { + "date": "2025-09-10", + "value": 38 + }, + { + "date": "2025-09-11", + "value": 39 + }, + { + "date": "2025-09-17", + "value": 26 + }, + { + "date": "2025-10-06", + "value": 36 + }, + { + "date": "2025-10-12", + "value": 23 + }, + { + "date": "2025-10-18", + "value": 26 + }, + { + "date": "2025-11-04", + "value": 27 + }, + { + "date": "2025-11-10", + "value": 31 + }, + { + "date": "2025-11-16", + "value": 33 + }, + { + "date": "2025-12-05", + "value": 27 + }, + { + "date": "2025-12-11", + "value": 29 + }, + { + "date": "2025-12-17", + "value": 32 + }, + { + "date": "2026-01-06", + "value": 26 + }, + { + "date": "2026-01-12", + "value": 29 + }, + { + "date": "2026-01-18", + "value": 31 + }, + { + "date": "2026-02-04", + "value": 33 + }, + { + "date": "2026-02-10", + "value": 36 + }, + { + "date": "2026-02-16", + "value": 39 + }, + { + "date": "2026-03-05", + "value": 33 + }, + { + "date": "2026-03-11", + "value": 36 + }, + { + "date": "2026-03-17", + "value": 23 + }, + { + "date": "2026-04-06", + "value": 40 + }, + { + "date": "2026-04-12", + "value": 27 + }, + { + "date": "2026-04-18", + "value": 31 + }, + { + "date": "2026-05-04", + "value": 24 + }, + { + "date": "2026-05-10", + "value": 27 + }, + { + "date": "2026-05-16", + "value": 29 + } + ], + "monthly": [ + { + "month": "2022-07", + "mean": 28.0, + "median": 28.0, + "p10": 28.0, + "p25": 28.0, + "p75": 28.0, + "p90": 28.0, + "n": 1 + }, + { + "month": "2022-11", + "mean": 35.0, + "median": 35.0, + "p10": 35.0, + "p25": 35.0, + "p75": 35.0, + "p90": 35.0, + "n": 1 + }, + { + "month": "2023-03", + "mean": 22.0, + "median": 22.0, + "p10": 22.0, + "p25": 22.0, + "p75": 22.0, + "p90": 22.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 42.0, + "median": 42.0, + "p10": 42.0, + "p25": 42.0, + "p75": 42.0, + "p90": 42.0, + "n": 1 + }, + { + "month": "2023-10", + "mean": 30.0, + "median": 30.0, + "p10": 30.0, + "p25": 30.0, + "p75": 30.0, + "p90": 30.0, + "n": 1 + }, + { + "month": "2024-02", + "mean": 55.0, + "median": 55.0, + "p10": 55.0, + "p25": 55.0, + "p75": 55.0, + "p90": 55.0, + "n": 1 + }, + { + "month": "2024-05", + "mean": 25.0, + "median": 25.0, + "p10": 25.0, + "p25": 25.0, + "p75": 25.0, + "p90": 25.0, + "n": 1 + }, + { + "month": "2024-08", + "mean": 38.0, + "median": 38.0, + "p10": 38.0, + "p25": 38.0, + "p75": 38.0, + "p90": 38.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 15.0, + "median": 15.0, + "p10": 15.0, + "p25": 15.0, + "p75": 15.0, + "p90": 15.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 32.0, + "median": 32.0, + "p10": 32.0, + "p25": 32.0, + "p75": 32.0, + "p90": 32.0, + "n": 1 + }, + { + "month": "2025-04", + "mean": 28.0, + "median": 28.0, + "p10": 28.0, + "p25": 28.0, + "p75": 28.0, + "p90": 28.0, + "n": 1 + }, + { + "month": "2025-06", + "mean": 45.0, + "median": 45.0, + "p10": 45.0, + "p25": 45.0, + "p75": 45.0, + "p90": 45.0, + "n": 1 + }, + { + "month": "2025-07", + "mean": 30.0, + "median": 30.0, + "p10": 30.0, + "p25": 30.0, + "p75": 30.0, + "p90": 30.0, + "n": 1 + }, + { + "month": "2025-08", + "mean": 22.0, + "median": 22.0, + "p10": 22.0, + "p25": 22.0, + "p75": 22.0, + "p90": 22.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 34.8, + "median": 37.0, + "p10": 29.0, + "p25": 33.5, + "p75": 38.3, + "p90": 38.7, + "n": 4 + }, + { + "month": "2025-10", + "mean": 28.3, + "median": 26.0, + "p10": 23.6, + "p25": 24.5, + "p75": 31.0, + "p90": 34.0, + "n": 3 + }, + { + "month": "2025-11", + "mean": 30.3, + "median": 31.0, + "p10": 27.8, + "p25": 29.0, + "p75": 32.0, + "p90": 32.6, + "n": 3 + }, + { + "month": "2025-12", + "mean": 29.3, + "median": 29.0, + "p10": 27.4, + "p25": 28.0, + "p75": 30.5, + "p90": 31.4, + "n": 3 + }, + { + "month": "2026-01", + "mean": 28.7, + "median": 29.0, + "p10": 26.6, + "p25": 27.5, + "p75": 30.0, + "p90": 30.6, + "n": 3 + }, + { + "month": "2026-02", + "mean": 36.0, + "median": 36.0, + "p10": 33.6, + "p25": 34.5, + "p75": 37.5, + "p90": 38.4, + "n": 3 + }, + { + "month": "2026-03", + "mean": 30.7, + "median": 33.0, + "p10": 25.0, + "p25": 28.0, + "p75": 34.5, + "p90": 35.4, + "n": 3 + }, + { + "month": "2026-04", + "mean": 32.7, + "median": 31.0, + "p10": 27.8, + "p25": 29.0, + "p75": 35.5, + "p90": 38.2, + "n": 3 + }, + { + "month": "2026-05", + "mean": 26.7, + "median": 27.0, + "p10": 24.6, + "p25": 25.5, + "p75": 28.0, + "p90": 28.6, + "n": 3 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "dest_dwell_hub1", + "label": "Destination Dwell (HUB-1)", + "type": "destination_dwell", + "material": "90000300001", + "plant": "HUB-1", + "stats": { + "n": 37, + "mean": 45.0, + "median": 44.0, + "std": 14.0, + "min": 10, + "max": 95, + "p25": 36.0, + "p75": 49.0, + "p85": 53.0, + "p95": 67.6 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "cost": { + "unit_price": 28.5, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2022-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "n_events": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "n_events": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "n_events": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "n_events": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "n_events": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "n_events": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "n_events": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "n_events": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "n_events": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "n_events": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "n_events": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "n_events": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "n_events": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "n_events": 3, + "total_kg_days": 585600.0 + } + ] + }, + "observations": [ + { + "date": "2022-09-15", + "value": 42 + }, + { + "date": "2023-05-05", + "value": 65 + }, + { + "date": "2023-05-20", + "value": 28 + }, + { + "date": "2024-01-10", + "value": 95 + }, + { + "date": "2024-01-25", + "value": 35 + }, + { + "date": "2024-08-15", + "value": 10 + }, + { + "date": "2025-02-05", + "value": 78 + }, + { + "date": "2025-02-18", + "value": 55 + }, + { + "date": "2025-08-10", + "value": 42 + }, + { + "date": "2025-08-20", + "value": 32 + }, + { + "date": "2025-09-06", + "value": 39 + }, + { + "date": "2025-09-12", + "value": 42 + }, + { + "date": "2025-09-18", + "value": 46 + }, + { + "date": "2025-10-04", + "value": 49 + }, + { + "date": "2025-10-10", + "value": 53 + }, + { + "date": "2025-10-16", + "value": 57 + }, + { + "date": "2025-11-05", + "value": 48 + }, + { + "date": "2025-11-11", + "value": 52 + }, + { + "date": "2025-11-17", + "value": 34 + }, + { + "date": "2025-12-06", + "value": 48 + }, + { + "date": "2025-12-12", + "value": 30 + }, + { + "date": "2025-12-18", + "value": 34 + }, + { + "date": "2026-01-04", + "value": 36 + }, + { + "date": "2026-01-10", + "value": 41 + }, + { + "date": "2026-01-16", + "value": 43 + }, + { + "date": "2026-02-05", + "value": 36 + }, + { + "date": "2026-02-11", + "value": 39 + }, + { + "date": "2026-02-17", + "value": 42 + }, + { + "date": "2026-03-06", + "value": 46 + }, + { + "date": "2026-03-12", + "value": 49 + }, + { + "date": "2026-03-18", + "value": 53 + }, + { + "date": "2026-04-04", + "value": 45 + }, + { + "date": "2026-04-10", + "value": 48 + }, + { + "date": "2026-04-16", + "value": 52 + }, + { + "date": "2026-05-05", + "value": 44 + }, + { + "date": "2026-05-11", + "value": 48 + }, + { + "date": "2026-05-17", + "value": 30 + } + ], + "monthly": [ + { + "month": "2022-09", + "mean": 42.0, + "median": 42.0, + "p10": 42.0, + "p25": 42.0, + "p75": 42.0, + "p90": 42.0, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "mean": 46.5, + "median": 46.5, + "p10": 31.7, + "p25": 37.3, + "p75": 55.8, + "p90": 61.3, + "n": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "mean": 65.0, + "median": 65.0, + "p10": 41.0, + "p25": 50.0, + "p75": 80.0, + "p90": 89.0, + "n": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "mean": 10.0, + "median": 10.0, + "p10": 10.0, + "p25": 10.0, + "p75": 10.0, + "p90": 10.0, + "n": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "mean": 66.5, + "median": 66.5, + "p10": 57.3, + "p25": 60.8, + "p75": 72.3, + "p90": 75.7, + "n": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "mean": 37.0, + "median": 37.0, + "p10": 33.0, + "p25": 34.5, + "p75": 39.5, + "p90": 41.0, + "n": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "mean": 42.3, + "median": 42.0, + "p10": 39.6, + "p25": 40.5, + "p75": 44.0, + "p90": 45.2, + "n": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "mean": 53.0, + "median": 53.0, + "p10": 49.8, + "p25": 51.0, + "p75": 55.0, + "p90": 56.2, + "n": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "mean": 44.7, + "median": 48.0, + "p10": 36.8, + "p25": 41.0, + "p75": 50.0, + "p90": 51.2, + "n": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "mean": 37.3, + "median": 34.0, + "p10": 30.8, + "p25": 32.0, + "p75": 41.0, + "p90": 45.2, + "n": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "mean": 40.0, + "median": 41.0, + "p10": 37.0, + "p25": 38.5, + "p75": 42.0, + "p90": 42.6, + "n": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "mean": 39.0, + "median": 39.0, + "p10": 36.6, + "p25": 37.5, + "p75": 40.5, + "p90": 41.4, + "n": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "mean": 49.3, + "median": 49.0, + "p10": 46.6, + "p25": 47.5, + "p75": 51.0, + "p90": 52.2, + "n": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "mean": 48.3, + "median": 48.0, + "p10": 45.6, + "p25": 46.5, + "p75": 50.0, + "p90": 51.2, + "n": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "mean": 40.7, + "median": 44.0, + "p10": 32.8, + "p25": 37.0, + "p75": 46.0, + "p90": 47.2, + "n": 3, + "total_kg_days": 585600.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 45.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 45.0, + "expected_marginal_per_day": 1.0 + } + } + } + ], + "edges": [ + { + "source": "procurement_highland_arabica", + "target": "raw_dwell_highland_arabica", + "label": "101" + }, + { + "source": "procurement_lowland_robusta", + "target": "raw_dwell_lowland_robusta", + "label": "101" + }, + { + "source": "procurement_washed_bourbon", + "target": "raw_dwell_washed_bourbon", + "label": "101" + }, + { + "source": "raw_dwell_highland_arabica", + "target": "prod_duration_green_blend", + "label": "261" + }, + { + "source": "raw_dwell_lowland_robusta", + "target": "prod_duration_green_blend", + "label": "261" + }, + { + "source": "prod_duration_green_blend", + "target": "intermed_dwell_green_blend", + "label": "101" + }, + { + "source": "raw_dwell_washed_bourbon", + "target": "prod_duration_harbor_dark_roast", + "label": "261" + }, + { + "source": "intermed_dwell_green_blend", + "target": "prod_duration_harbor_dark_roast", + "label": "261" + }, + { + "source": "prod_duration_harbor_dark_roast", + "target": "prod_to_qa_pla", + "label": "101" + }, + { + "source": "post_qa_ship_pla", + "target": "direct_ship_pla", + "label": "601" + }, + { + "source": "post_qa_ship_pla", + "target": "transit_pla_hub1", + "label": "641" + }, + { + "source": "transit_pla_hub1", + "target": "dest_dwell_hub1" + }, + { + "source": "prod_to_qa_pla", + "target": "post_qa_ship_pla" + } + ], + "pipeline_summary": { + "direct": { + "label": "Direct to customer", + "stages": [ + { + "id": "seg_proc_to_prodstart", + "label": "Procurement \u2192 Production Start", + "type": "procurement", + "mean": 29.9, + "median": 30, + "pct_of_total": 17.6, + "n": 60 + }, + { + "id": "seg_prodstart_to_prodfinish", + "label": "Production Start \u2192 Production Finish", + "type": "production", + "mean": 99.8, + "median": 101, + "pct_of_total": 58.9, + "n": 60 + }, + { + "id": "seg_prodfinish_to_qa", + "label": "Production Finish \u2192 QA Release", + "type": "qa_hold", + "mean": 6.6, + "median": 7, + "pct_of_total": 3.9, + "n": 60 + }, + { + "id": "seg_qa_to_customer", + "label": "QA Release \u2192 Customer", + "type": "transit", + "mean": 33.2, + "median": 33, + "pct_of_total": 19.6, + "n": 60 + } + ], + "total_mean": 169.5, + "total_median": 171 + }, + "hub-1": { + "label": "HUB-1", + "stages": [ + { + "id": "seg_proc_to_prodstart", + "label": "Procurement \u2192 Production Start", + "type": "procurement", + "mean": 28.4, + "median": 29, + "pct_of_total": 12.8, + "n": 40 + }, + { + "id": "seg_prodstart_to_prodfinish", + "label": "Production Start \u2192 Production Finish", + "type": "production", + "mean": 102.1, + "median": 104, + "pct_of_total": 46.1, + "n": 40 + }, + { + "id": "seg_prodfinish_to_qa", + "label": "Production Finish \u2192 QA Release", + "type": "qa_hold", + "mean": 6.2, + "median": 6, + "pct_of_total": 2.8, + "n": 40 + }, + { + "id": "seg_qa_to_customer", + "label": "QA Release \u2192 Customer", + "type": "transit", + "mean": 84.8, + "median": 88, + "pct_of_total": 38.3, + "n": 40 + } + ], + "total_mean": 221.5, + "total_median": 227 + } + }, + "annotations": [ + { + "date": "2023-09-01", + "label": "Supplier change for Highland Arabica", + "step_ids": ["procurement_highland_arabica", "raw_dwell_highland_arabica"] + }, + { + "date": "2024-01-15", + "label": "QA process revision", + "step_ids": ["qa_hold_pla"] + } + ], + "batch_timelines": { + "batches": [ + { + "batch": "BATCH-007069", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-05-27", + "earliest_gr_date": "2024-05-29", + "earliest_production_start": "2024-07-03", + "fg_receipt_date": "2024-10-28", + "qa_release_date": "2024-11-03", + "ship_date": null, + "delivery_date": "2024-12-10", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 37, + "seg_prodstart_to_prodfinish": 117, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 37, + "total_days": 197, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 94, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 112, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 70, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 39, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 52, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 14, + "direct_ship_pla": 23 + } + }, + "total_from_po": 197 + }, + { + "batch": "BATCH-767678", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-13", + "earliest_gr_date": "2024-07-15", + "earliest_production_start": "2024-07-29", + "fg_receipt_date": "2024-11-05", + "qa_release_date": "2024-11-09", + "ship_date": null, + "delivery_date": "2024-12-15", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 16, + "seg_prodstart_to_prodfinish": 99, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 36, + "total_days": 155, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 14, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 83, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 97, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 55, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 14, + "direct_ship_pla": 22 + } + }, + "total_from_po": 155 + }, + { + "batch": "BATCH-872783", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-25", + "earliest_gr_date": "2024-07-27", + "earliest_production_start": "2024-08-19", + "fg_receipt_date": "2024-11-08", + "qa_release_date": "2024-11-15", + "ship_date": null, + "delivery_date": "2024-12-20", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 81, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 35, + "total_days": 148, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 58, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 78, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 34, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 45, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "direct_ship_pla": 25 + } + }, + "total_from_po": 148 + }, + { + "batch": "BATCH-868247", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-20", + "earliest_gr_date": "2024-07-22", + "earliest_production_start": "2024-08-24", + "fg_receipt_date": "2024-11-10", + "qa_release_date": "2024-11-19", + "ship_date": null, + "delivery_date": "2024-12-26", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 78, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 37, + "total_days": 159, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 14, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 61, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 75, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 17, + "direct_ship_pla": 20 + } + }, + "total_from_po": 159 + }, + { + "batch": "BATCH-775611", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-22", + "earliest_gr_date": "2024-07-24", + "earliest_production_start": "2024-08-19", + "fg_receipt_date": "2024-11-22", + "qa_release_date": "2024-11-30", + "ship_date": null, + "delivery_date": "2024-12-31", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 95, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 31, + "total_days": 162, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 8, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 82, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 90, + "production_days": 8, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 64, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 74, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 68, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 16, + "direct_ship_pla": 15 + } + }, + "total_from_po": 162 + }, + { + "batch": "BATCH-544789", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-08", + "earliest_gr_date": "2024-07-10", + "earliest_production_start": "2024-08-05", + "fg_receipt_date": "2024-12-05", + "qa_release_date": "2024-12-12", + "ship_date": null, + "delivery_date": "2025-01-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 122, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 25, + "total_days": 182, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 24, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 94, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 118, + "production_days": 24, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 7, + "direct_ship_pla": 18 + } + }, + "total_from_po": 182 + }, + { + "batch": "BATCH-447665", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-14", + "earliest_gr_date": "2024-07-16", + "earliest_production_start": "2024-08-19", + "fg_receipt_date": "2024-12-05", + "qa_release_date": "2024-12-11", + "ship_date": null, + "delivery_date": "2025-01-11", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 36, + "seg_prodstart_to_prodfinish": 108, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 31, + "total_days": 181, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 24, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 81, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 24, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 63, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 16, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 63, + "production_days": 16, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 13, + "direct_ship_pla": 18 + } + }, + "total_from_po": 181 + }, + { + "batch": "BATCH-963613", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-24", + "earliest_gr_date": "2024-07-26", + "earliest_production_start": "2024-08-26", + "fg_receipt_date": "2024-12-12", + "qa_release_date": "2024-12-19", + "ship_date": null, + "delivery_date": "2025-01-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 108, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 29, + "total_days": 177, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 83, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 104, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 71, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "direct_ship_pla": 19 + } + }, + "total_from_po": 177 + }, + { + "batch": "BATCH-863299", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-08-05", + "earliest_gr_date": "2024-08-07", + "earliest_production_start": "2024-08-30", + "fg_receipt_date": "2024-12-21", + "qa_release_date": "2024-12-27", + "ship_date": null, + "delivery_date": "2025-01-22", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 26, + "total_days": 170, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 26, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 84, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 110, + "production_days": 26, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 69, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 14 + } + }, + "total_from_po": 170 + }, + { + "batch": "BATCH-528145", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-08-22", + "earliest_gr_date": "2024-08-24", + "earliest_production_start": "2024-09-11", + "fg_receipt_date": "2024-12-24", + "qa_release_date": "2024-12-30", + "ship_date": null, + "delivery_date": "2025-01-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 20, + "seg_prodstart_to_prodfinish": 104, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 29, + "total_days": 159, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 12, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 90, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 102, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 58, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 17 + } + }, + "total_from_po": 159 + }, + { + "batch": "BATCH-242499", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-08-17", + "earliest_gr_date": "2024-08-19", + "earliest_production_start": "2024-09-16", + "fg_receipt_date": "2024-12-26", + "qa_release_date": "2024-12-31", + "ship_date": null, + "delivery_date": "2025-02-02", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 101, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 33, + "total_days": 169, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 77, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 11, + "direct_ship_pla": 22 + } + }, + "total_from_po": 169 + }, + { + "batch": "BATCH-576635", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-29", + "earliest_gr_date": "2024-10-01", + "earliest_production_start": "2024-10-26", + "fg_receipt_date": "2024-12-31", + "qa_release_date": "2025-01-07", + "ship_date": null, + "delivery_date": "2025-02-08", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 27, + "seg_prodstart_to_prodfinish": 66, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 32, + "total_days": 132, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 47, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 64, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 57, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 8, + "direct_ship_pla": 24 + } + }, + "total_from_po": 132 + }, + { + "batch": "BATCH-221460", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-24", + "earliest_gr_date": "2024-07-26", + "earliest_production_start": "2024-08-28", + "fg_receipt_date": "2025-01-01", + "qa_release_date": "2025-01-08", + "ship_date": null, + "delivery_date": "2025-02-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 126, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 36, + "total_days": 204, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 99, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 120, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 66, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 78, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 6, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 13, + "direct_ship_pla": 23 + } + }, + "total_from_po": 204 + }, + { + "batch": "BATCH-666578", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-10", + "earliest_gr_date": "2024-09-12", + "earliest_production_start": "2024-10-06", + "fg_receipt_date": "2025-01-10", + "qa_release_date": "2025-01-18", + "ship_date": null, + "delivery_date": "2025-02-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 96, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 31, + "total_days": 161, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 11, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 82, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 63, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 9, + "direct_ship_pla": 22 + } + }, + "total_from_po": 161 + }, + { + "batch": "BATCH-208118", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-05", + "earliest_gr_date": "2024-09-07", + "earliest_production_start": "2024-10-19", + "fg_receipt_date": "2025-01-11", + "qa_release_date": "2025-01-19", + "ship_date": null, + "delivery_date": "2025-02-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 44, + "seg_prodstart_to_prodfinish": 84, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 36, + "total_days": 172, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 51, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 67, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 69, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 82, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 7, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 31, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 38, + "production_days": 7, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 15, + "direct_ship_pla": 21 + } + }, + "total_from_po": 172 + }, + { + "batch": "BATCH-458243", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-05", + "earliest_gr_date": "2024-09-07", + "earliest_production_start": "2024-10-04", + "fg_receipt_date": "2025-01-22", + "qa_release_date": "2025-01-29", + "ship_date": null, + "delivery_date": "2025-03-01", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 31, + "total_days": 177, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 106, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 69, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 9, + "direct_ship_pla": 22 + } + }, + "total_from_po": 177 + }, + { + "batch": "BATCH-207730", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-16", + "earliest_gr_date": "2024-09-18", + "earliest_production_start": "2024-10-14", + "fg_receipt_date": "2025-01-18", + "qa_release_date": "2025-01-22", + "ship_date": null, + "delivery_date": "2025-03-07", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 96, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 44, + "total_days": 172, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 77, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 92, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 74, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 8, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 68, + "production_days": 8, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 16, + "direct_ship_pla": 28 + } + }, + "total_from_po": 172 + }, + { + "batch": "BATCH-033995", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-08-27", + "earliest_gr_date": "2024-08-29", + "earliest_production_start": "2024-09-30", + "fg_receipt_date": "2025-01-22", + "qa_release_date": "2025-01-30", + "ship_date": null, + "delivery_date": "2025-03-12", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 34, + "seg_prodstart_to_prodfinish": 114, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 41, + "total_days": 197, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 93, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 111, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 18, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 70, + "production_days": 18, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 17, + "direct_ship_pla": 24 + } + }, + "total_from_po": 197 + }, + { + "batch": "BATCH-559161", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-10", + "earliest_gr_date": "2024-09-12", + "earliest_production_start": "2024-10-16", + "fg_receipt_date": "2025-02-14", + "qa_release_date": "2025-02-19", + "ship_date": null, + "delivery_date": "2025-03-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 36, + "seg_prodstart_to_prodfinish": 121, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 27, + "total_days": 189, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 99, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 117, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 73, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 15, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 15, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 10, + "direct_ship_pla": 17 + } + }, + "total_from_po": 189 + }, + { + "batch": "BATCH-043249", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-28", + "earliest_gr_date": "2024-09-30", + "earliest_production_start": "2024-10-27", + "fg_receipt_date": "2025-02-12", + "qa_release_date": "2025-02-15", + "ship_date": null, + "delivery_date": "2025-03-23", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 108, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 36, + "total_days": 176, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 86, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 36, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 50, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 12, + "direct_ship_pla": 24 + } + }, + "total_from_po": 176 + }, + { + "batch": "BATCH-876661", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-10-05", + "earliest_gr_date": "2024-10-07", + "earliest_production_start": "2024-11-06", + "fg_receipt_date": "2025-02-04", + "qa_release_date": "2025-02-11", + "ship_date": null, + "delivery_date": "2025-03-29", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 32, + "seg_prodstart_to_prodfinish": 90, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 46, + "total_days": 175, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 13, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 73, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 86, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 15, + "direct_ship_pla": 31 + } + }, + "total_from_po": 175 + }, + { + "batch": "BATCH-758211", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-24", + "earliest_gr_date": "2024-09-26", + "earliest_production_start": "2024-10-24", + "fg_receipt_date": "2025-02-22", + "qa_release_date": "2025-03-01", + "ship_date": null, + "delivery_date": "2025-04-03", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 121, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 33, + "total_days": 191, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 100, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 117, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "direct_ship_pla": 23 + } + }, + "total_from_po": 191 + }, + { + "batch": "BATCH-198568", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-10-07", + "earliest_gr_date": "2024-10-09", + "earliest_production_start": "2024-10-29", + "fg_receipt_date": "2025-02-21", + "qa_release_date": "2025-03-02", + "ship_date": null, + "delivery_date": "2025-04-09", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 22, + "seg_prodstart_to_prodfinish": 115, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 38, + "total_days": 184, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 89, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 110, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 64, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 79, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 78, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 91, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 13, + "direct_ship_pla": 25 + } + }, + "total_from_po": 184 + }, + { + "batch": "BATCH-499114", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-20", + "earliest_gr_date": "2024-11-22", + "earliest_production_start": "2024-12-17", + "fg_receipt_date": "2025-03-05", + "qa_release_date": "2025-03-14", + "ship_date": null, + "delivery_date": "2025-04-14", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 27, + "seg_prodstart_to_prodfinish": 78, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 31, + "total_days": 145, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 52, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 70, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 33, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 44, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 16, + "direct_ship_pla": 15 + } + }, + "total_from_po": 145 + }, + { + "batch": "BATCH-947566", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-10-15", + "earliest_gr_date": "2024-10-17", + "earliest_production_start": "2024-11-17", + "fg_receipt_date": "2025-03-07", + "qa_release_date": "2025-03-10", + "ship_date": null, + "delivery_date": "2025-04-19", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 40, + "total_days": 186, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 86, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 104, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 62, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 6, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 14, + "direct_ship_pla": 26 + } + }, + "total_from_po": 186 + }, + { + "batch": "BATCH-154390", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-10-25", + "earliest_gr_date": "2024-10-27", + "earliest_production_start": "2024-11-27", + "fg_receipt_date": "2025-03-10", + "qa_release_date": "2025-03-16", + "ship_date": null, + "delivery_date": "2025-04-25", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 103, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 40, + "total_days": 182, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 22, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 77, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 99, + "production_days": 22, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 67, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 82, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 44, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 57, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 28 + } + }, + "total_from_po": 182 + }, + { + "batch": "BATCH-557064", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-01", + "earliest_gr_date": "2024-12-03", + "earliest_production_start": "2025-01-02", + "fg_receipt_date": "2025-03-29", + "qa_release_date": "2025-04-05", + "ship_date": null, + "delivery_date": "2025-04-30", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 32, + "seg_prodstart_to_prodfinish": 86, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 25, + "total_days": 150, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 64, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 82, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 60, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 8, + "direct_ship_pla": 17 + } + }, + "total_from_po": 150 + }, + { + "batch": "BATCH-307333", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-17", + "earliest_gr_date": "2024-11-19", + "earliest_production_start": "2024-12-15", + "fg_receipt_date": "2025-03-27", + "qa_release_date": "2025-04-04", + "ship_date": null, + "delivery_date": "2025-05-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 102, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 32, + "total_days": 170, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 81, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 73, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 88, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 36, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 49, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 16, + "direct_ship_pla": 16 + } + }, + "total_from_po": 170 + }, + { + "batch": "BATCH-891817", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-02", + "earliest_gr_date": "2024-12-04", + "earliest_production_start": "2024-12-16", + "fg_receipt_date": "2025-03-30", + "qa_release_date": "2025-04-07", + "ship_date": null, + "delivery_date": "2025-05-11", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 14, + "seg_prodstart_to_prodfinish": 104, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 34, + "total_days": 160, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 82, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 100, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 62, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 65, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 76, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 9, + "direct_ship_pla": 25 + } + }, + "total_from_po": 160 + }, + { + "batch": "BATCH-852390", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-24", + "earliest_gr_date": "2024-11-26", + "earliest_production_start": "2024-12-29", + "fg_receipt_date": "2025-03-29", + "qa_release_date": "2025-04-06", + "ship_date": null, + "delivery_date": "2025-05-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 90, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 41, + "total_days": 174, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 70, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 86, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 37, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 52, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 14, + "direct_ship_pla": 27 + } + }, + "total_from_po": 174 + }, + { + "batch": "BATCH-412722", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-31", + "earliest_gr_date": "2025-01-02", + "earliest_production_start": "2025-01-21", + "fg_receipt_date": "2025-04-15", + "qa_release_date": "2025-04-20", + "ship_date": null, + "delivery_date": "2025-05-22", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 21, + "seg_prodstart_to_prodfinish": 84, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 32, + "total_days": 142, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 49, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 70, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 64, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 81, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 56, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 9, + "direct_ship_pla": 23 + } + }, + "total_from_po": 142 + }, + { + "batch": "BATCH-357156", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-08", + "earliest_gr_date": "2024-11-10", + "earliest_production_start": "2024-12-13", + "fg_receipt_date": "2025-04-05", + "qa_release_date": "2025-04-13", + "ship_date": null, + "delivery_date": "2025-05-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 45, + "total_days": 201, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 89, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 110, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 72, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 83, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 60, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 14, + "direct_ship_pla": 31 + } + }, + "total_from_po": 201 + }, + { + "batch": "BATCH-851698", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-04", + "earliest_gr_date": "2025-01-06", + "earliest_production_start": "2025-02-06", + "fg_receipt_date": "2025-04-22", + "qa_release_date": "2025-04-30", + "ship_date": null, + "delivery_date": "2025-06-02", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 75, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 33, + "total_days": 149, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 52, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 71, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 41, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 54, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 72, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 7, + "direct_ship_pla": 26 + } + }, + "total_from_po": 149 + }, + { + "batch": "BATCH-440021", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-29", + "earliest_gr_date": "2024-12-31", + "earliest_production_start": "2025-01-31", + "fg_receipt_date": "2025-05-05", + "qa_release_date": "2025-05-13", + "ship_date": null, + "delivery_date": "2025-06-08", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 94, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 26, + "total_days": 161, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 12, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 81, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 78, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 91, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 40, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 52, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 12, + "direct_ship_pla": 14 + } + }, + "total_from_po": 161 + }, + { + "batch": "BATCH-546123", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-20", + "earliest_gr_date": "2024-12-22", + "earliest_production_start": "2025-01-18", + "fg_receipt_date": "2025-05-08", + "qa_release_date": "2025-05-15", + "ship_date": null, + "delivery_date": "2025-06-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 29, + "total_days": 175, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 89, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 106, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 63, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 78, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 15, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 64, + "production_days": 15, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 11, + "direct_ship_pla": 18 + } + }, + "total_from_po": 175 + }, + { + "batch": "BATCH-990560", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-29", + "earliest_gr_date": "2024-12-01", + "earliest_production_start": "2025-01-08", + "fg_receipt_date": "2025-05-16", + "qa_release_date": "2025-05-24", + "ship_date": null, + "delivery_date": "2025-06-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 40, + "seg_prodstart_to_prodfinish": 128, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 25, + "total_days": 201, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 109, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 125, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 62, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 38, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 49, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 8, + "direct_ship_pla": 17 + } + }, + "total_from_po": 201 + }, + { + "batch": "BATCH-386297", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-03", + "earliest_gr_date": "2025-01-05", + "earliest_production_start": "2025-01-29", + "fg_receipt_date": "2025-05-19", + "qa_release_date": "2025-05-26", + "ship_date": null, + "delivery_date": "2025-06-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 29, + "total_days": 172, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 88, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 39, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 50, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 70, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 14, + "direct_ship_pla": 15 + } + }, + "total_from_po": 172 + }, + { + "batch": "BATCH-947389", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-21", + "earliest_gr_date": "2025-01-23", + "earliest_production_start": "2025-02-19", + "fg_receipt_date": "2025-05-31", + "qa_release_date": "2025-06-06", + "ship_date": null, + "delivery_date": "2025-06-29", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 101, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 23, + "total_days": 159, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 81, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 16, + "direct_ship_pla": 7 + } + }, + "total_from_po": 159 + }, + { + "batch": "BATCH-627234", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-26", + "earliest_gr_date": "2025-01-28", + "earliest_production_start": "2025-02-21", + "fg_receipt_date": "2025-05-29", + "qa_release_date": "2025-06-01", + "ship_date": null, + "delivery_date": "2025-07-05", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 34, + "total_days": 160, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 76, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 95, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 67, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 53, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 11, + "direct_ship_pla": 23 + } + }, + "total_from_po": 160 + }, + { + "batch": "BATCH-829707", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-14", + "earliest_gr_date": "2025-01-16", + "earliest_production_start": "2025-02-21", + "fg_receipt_date": "2025-06-01", + "qa_release_date": "2025-06-09", + "ship_date": null, + "delivery_date": "2025-07-10", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 38, + "seg_prodstart_to_prodfinish": 100, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 31, + "total_days": 177, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 80, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 97, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 63, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 30, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 42, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 9, + "direct_ship_pla": 22 + } + }, + "total_from_po": 177 + }, + { + "batch": "BATCH-404324", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-22", + "earliest_gr_date": "2025-02-24", + "earliest_production_start": "2025-03-24", + "fg_receipt_date": "2025-06-18", + "qa_release_date": "2025-06-27", + "ship_date": null, + "delivery_date": "2025-07-16", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 86, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 19, + "total_days": 144, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 65, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 83, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 69, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 9, + "direct_ship_pla": 10 + } + }, + "total_from_po": 144 + }, + { + "batch": "BATCH-840018", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-10", + "earliest_gr_date": "2025-02-12", + "earliest_production_start": "2025-03-15", + "fg_receipt_date": "2025-06-17", + "qa_release_date": "2025-06-21", + "ship_date": null, + "delivery_date": "2025-07-21", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 94, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 30, + "total_days": 161, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 90, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 64, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 77, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 16, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 69, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 85, + "production_days": 16, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 12, + "direct_ship_pla": 18 + } + }, + "total_from_po": 161 + }, + { + "batch": "BATCH-243511", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-11", + "earliest_gr_date": "2025-01-13", + "earliest_production_start": "2025-02-13", + "fg_receipt_date": "2025-06-13", + "qa_release_date": "2025-06-22", + "ship_date": null, + "delivery_date": "2025-07-27", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 120, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 35, + "total_days": 197, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 100, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 116, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 40, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 53, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 69, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 11, + "direct_ship_pla": 24 + } + }, + "total_from_po": 197 + }, + { + "batch": "BATCH-394495", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-07", + "earliest_gr_date": "2025-02-09", + "earliest_production_start": "2025-03-14", + "fg_receipt_date": "2025-06-24", + "qa_release_date": "2025-07-02", + "ship_date": null, + "delivery_date": "2025-08-01", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 102, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 30, + "total_days": 175, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 12, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 99, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 69, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 9, + "direct_ship_pla": 21 + } + }, + "total_from_po": 175 + }, + { + "batch": "BATCH-043032", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-15", + "earliest_gr_date": "2025-02-17", + "earliest_production_start": "2025-03-11", + "fg_receipt_date": "2025-06-29", + "qa_release_date": "2025-07-05", + "ship_date": null, + "delivery_date": "2025-08-07", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 24, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 33, + "total_days": 173, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 8, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 97, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 8, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 19, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 63, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 82, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 30, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 41, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 10, + "direct_ship_pla": 23 + } + }, + "total_from_po": 173 + }, + { + "batch": "BATCH-582158", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-26", + "earliest_gr_date": "2025-02-28", + "earliest_production_start": "2025-03-23", + "fg_receipt_date": "2025-06-28", + "qa_release_date": "2025-07-05", + "ship_date": null, + "delivery_date": "2025-08-12", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 38, + "total_days": 167, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 76, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 95, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 70, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 53, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 15, + "direct_ship_pla": 23 + } + }, + "total_from_po": 167 + }, + { + "batch": "BATCH-302264", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-03-30", + "earliest_gr_date": "2025-04-01", + "earliest_production_start": "2025-04-24", + "fg_receipt_date": "2025-07-16", + "qa_release_date": "2025-07-24", + "ship_date": null, + "delivery_date": "2025-08-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 83, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 24, + "total_days": 140, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 59, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 77, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 9, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 59, + "production_days": 9, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 63, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 6, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 16, + "direct_ship_pla": 8 + } + }, + "total_from_po": 140 + }, + { + "batch": "BATCH-240076", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-03-25", + "earliest_gr_date": "2025-03-27", + "earliest_production_start": "2025-04-09", + "fg_receipt_date": "2025-07-14", + "qa_release_date": "2025-07-21", + "ship_date": null, + "delivery_date": "2025-08-23", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 15, + "seg_prodstart_to_prodfinish": 96, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 33, + "total_days": 151, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 76, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 94, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 11, + "direct_ship_pla": 22 + } + }, + "total_from_po": 151 + }, + { + "batch": "BATCH-804779", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-20", + "earliest_gr_date": "2025-02-22", + "earliest_production_start": "2025-03-22", + "fg_receipt_date": "2025-07-05", + "qa_release_date": "2025-07-12", + "ship_date": null, + "delivery_date": "2025-08-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 105, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 47, + "total_days": 189, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 84, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 100, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 9, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 69, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 78, + "production_days": 9, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 12, + "direct_ship_pla": 35 + } + }, + "total_from_po": 189 + }, + { + "batch": "BATCH-731192", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-03-15", + "earliest_gr_date": "2025-03-17", + "earliest_production_start": "2025-04-23", + "fg_receipt_date": "2025-07-22", + "qa_release_date": "2025-07-27", + "ship_date": null, + "delivery_date": "2025-09-03", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 39, + "seg_prodstart_to_prodfinish": 90, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 38, + "total_days": 172, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 73, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 88, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 65, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 11, + "direct_ship_pla": 27 + } + }, + "total_from_po": 172 + }, + { + "batch": "BATCH-482639", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-21", + "earliest_gr_date": "2025-02-23", + "earliest_production_start": "2025-03-30", + "fg_receipt_date": "2025-07-17", + "qa_release_date": "2025-07-24", + "ship_date": null, + "delivery_date": "2025-09-08", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 37, + "seg_prodstart_to_prodfinish": 109, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 46, + "total_days": 199, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 59, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 19, + "direct_ship_pla": 27 + } + }, + "total_from_po": 199 + }, + { + "batch": "BATCH-062870", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-01", + "earliest_gr_date": "2025-04-03", + "earliest_production_start": "2025-05-04", + "fg_receipt_date": "2025-08-01", + "qa_release_date": "2025-08-07", + "ship_date": null, + "delivery_date": "2025-09-14", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 89, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 38, + "total_days": 166, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 67, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 87, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 63, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 26 + } + }, + "total_from_po": 166 + }, + { + "batch": "BATCH-231165", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-05", + "earliest_gr_date": "2025-05-07", + "earliest_production_start": "2025-06-09", + "fg_receipt_date": "2025-08-16", + "qa_release_date": "2025-08-22", + "ship_date": null, + "delivery_date": "2025-09-19", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 68, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 28, + "total_days": 137, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 43, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 63, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 62, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 64, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 14, + "direct_ship_pla": 14 + } + }, + "total_from_po": 137 + }, + { + "batch": "BATCH-213839", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-14", + "earliest_gr_date": "2025-04-16", + "earliest_production_start": "2025-05-04", + "fg_receipt_date": "2025-08-23", + "qa_release_date": "2025-08-27", + "ship_date": null, + "delivery_date": "2025-09-25", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 20, + "seg_prodstart_to_prodfinish": 111, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 29, + "total_days": 164, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 107, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 37, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 47, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 32, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 45, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 11, + "direct_ship_pla": 18 + } + }, + "total_from_po": 164 + }, + { + "batch": "BATCH-750018", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-11", + "earliest_gr_date": "2025-05-13", + "earliest_production_start": "2025-06-05", + "fg_receipt_date": "2025-08-31", + "qa_release_date": "2025-09-06", + "ship_date": null, + "delivery_date": "2025-09-30", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 87, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 24, + "total_days": 142, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 85, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 6, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 66, + "production_days": 6, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 7, + "direct_ship_pla": 17 + } + }, + "total_from_po": 142 + }, + { + "batch": "BATCH-880539", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-20", + "earliest_gr_date": "2025-04-22", + "earliest_production_start": "2025-05-26", + "fg_receipt_date": "2025-08-19", + "qa_release_date": "2025-08-26", + "ship_date": null, + "delivery_date": "2025-10-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 36, + "seg_prodstart_to_prodfinish": 85, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 41, + "total_days": 169, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 14, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 68, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 82, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 63, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 8, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 36, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 44, + "production_days": 8, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 13, + "direct_ship_pla": 28 + } + }, + "total_from_po": 169 + }, + { + "batch": "BATCH-155177", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-02", + "earliest_gr_date": "2025-05-04", + "earliest_production_start": "2025-06-18", + "fg_receipt_date": "2025-09-10", + "qa_release_date": "2025-09-16", + "ship_date": null, + "delivery_date": "2025-10-11", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 47, + "seg_prodstart_to_prodfinish": 84, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 25, + "total_days": 162, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 13, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 66, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 79, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 72, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 10, + "direct_ship_pla": 15 + } + }, + "total_from_po": 162 + }, + { + "batch": "BATCH-993261", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-29", + "earliest_gr_date": "2025-05-01", + "earliest_production_start": "2025-05-24", + "fg_receipt_date": "2025-08-30", + "qa_release_date": "2025-09-04", + "ship_date": null, + "delivery_date": "2025-10-16", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 98, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 42, + "total_days": 170, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 79, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 95, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 72, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 65, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 77, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 11, + "direct_ship_pla": 31 + } + }, + "total_from_po": 170 + }, + { + "batch": "BATCH-753433", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-27", + "earliest_gr_date": "2025-05-29", + "earliest_production_start": "2025-06-13", + "fg_receipt_date": "2025-09-23", + "qa_release_date": "2025-09-29", + "ship_date": null, + "delivery_date": "2025-10-22", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 17, + "seg_prodstart_to_prodfinish": 102, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 23, + "total_days": 148, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 11, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 41, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 50, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 8, + "direct_ship_pla": 15 + } + }, + "total_from_po": 148 + }, + { + "batch": "BATCH-476897", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-21", + "earliest_gr_date": "2025-04-23", + "earliest_production_start": "2025-05-24", + "fg_receipt_date": "2025-09-14", + "qa_release_date": "2025-09-20", + "ship_date": null, + "delivery_date": "2025-10-27", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 37, + "total_days": 189, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 93, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 109, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 74, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 25 + } + }, + "total_from_po": 189 + }, + { + "batch": "BATCH-521582", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-03-25", + "earliest_gr_date": "2025-03-27", + "earliest_production_start": "2025-04-09", + "fg_receipt_date": "2025-07-18", + "qa_release_date": "2025-07-27", + "ship_date": null, + "delivery_date": "2025-11-02", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 15, + "seg_prodstart_to_prodfinish": 100, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 98, + "total_days": 222, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 79, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 97, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 70, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 80, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 59, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 14, + "transit_pla_hub1": 43, + "dest_dwell_hub1": 41 + } + }, + "total_from_po": 222 + }, + { + "batch": "BATCH-281803", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-14", + "earliest_gr_date": "2025-04-16", + "earliest_production_start": "2025-05-07", + "fg_receipt_date": "2025-07-28", + "qa_release_date": "2025-08-01", + "ship_date": null, + "delivery_date": "2025-11-07", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 23, + "seg_prodstart_to_prodfinish": 82, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 98, + "total_days": 207, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 64, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 79, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 32, + "dest_dwell_hub1": 56 + } + }, + "total_from_po": 207 + }, + { + "batch": "BATCH-276962", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-05", + "earliest_gr_date": "2025-04-07", + "earliest_production_start": "2025-05-05", + "fg_receipt_date": "2025-08-17", + "qa_release_date": "2025-08-26", + "ship_date": null, + "delivery_date": "2025-11-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 104, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 79, + "total_days": 222, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 80, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 101, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 9, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 9, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 16, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 69, + "production_days": 16, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 12, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 38 + } + }, + "total_from_po": 222 + }, + { + "batch": "BATCH-217426", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-15", + "earliest_gr_date": "2025-04-17", + "earliest_production_start": "2025-05-16", + "fg_receipt_date": "2025-08-24", + "qa_release_date": "2025-09-03", + "ship_date": null, + "delivery_date": "2025-11-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 31, + "seg_prodstart_to_prodfinish": 100, + "seg_prodfinish_to_qa": 10, + "seg_qa_to_customer": 76, + "total_days": 217, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 25, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 72, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 97, + "production_days": 25, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 15, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 15, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 10, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 18, + "dest_dwell_hub1": 45 + } + }, + "total_from_po": 217 + }, + { + "batch": "BATCH-679445", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-01", + "earliest_gr_date": "2025-05-03", + "earliest_production_start": "2025-06-03", + "fg_receipt_date": "2025-08-19", + "qa_release_date": "2025-08-27", + "ship_date": null, + "delivery_date": "2025-11-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 77, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 89, + "total_days": 207, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 13, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 62, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 75, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 40, + "dest_dwell_hub1": 36 + } + }, + "total_from_po": 207 + }, + { + "batch": "BATCH-584703", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-19", + "earliest_gr_date": "2025-04-21", + "earliest_production_start": "2025-05-16", + "fg_receipt_date": "2025-09-06", + "qa_release_date": "2025-09-13", + "ship_date": null, + "delivery_date": "2025-11-29", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 27, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 77, + "total_days": 224, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 92, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 60, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 57, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 19, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 29 + } + }, + "total_from_po": 224 + }, + { + "batch": "BATCH-320907", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-03", + "earliest_gr_date": "2025-05-05", + "earliest_production_start": "2025-06-01", + "fg_receipt_date": "2025-08-12", + "qa_release_date": "2025-08-21", + "ship_date": null, + "delivery_date": "2025-12-05", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 72, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 106, + "total_days": 216, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 54, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 69, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 9, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 65, + "production_days": 9, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 17, + "transit_pla_hub1": 42, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 216 + }, + { + "batch": "BATCH-469894", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-09", + "earliest_gr_date": "2025-04-11", + "earliest_production_start": "2025-05-12", + "fg_receipt_date": "2025-08-29", + "qa_release_date": "2025-09-05", + "ship_date": null, + "delivery_date": "2025-12-10", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 109, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 96, + "total_days": 245, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 89, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 45, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 56, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 38, + "dest_dwell_hub1": 48 + } + }, + "total_from_po": 245 + }, + { + "batch": "BATCH-119167", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-10", + "earliest_gr_date": "2025-05-12", + "earliest_production_start": "2025-05-30", + "fg_receipt_date": "2025-09-19", + "qa_release_date": "2025-09-26", + "ship_date": null, + "delivery_date": "2025-12-15", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 20, + "seg_prodstart_to_prodfinish": 112, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 80, + "total_days": 219, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 13, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 95, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 74, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 44 + } + }, + "total_from_po": 219 + }, + { + "batch": "BATCH-850977", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-17", + "earliest_gr_date": "2025-05-19", + "earliest_production_start": "2025-06-14", + "fg_receipt_date": "2025-09-25", + "qa_release_date": "2025-10-01", + "ship_date": null, + "delivery_date": "2025-12-21", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 103, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 81, + "total_days": 218, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 82, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 99, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 32, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 42, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 59, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 39 + } + }, + "total_from_po": 218 + }, + { + "batch": "BATCH-315004", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-21", + "earliest_gr_date": "2025-06-23", + "earliest_production_start": "2025-07-27", + "fg_receipt_date": "2025-10-06", + "qa_release_date": "2025-10-14", + "ship_date": null, + "delivery_date": "2025-12-26", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 36, + "seg_prodstart_to_prodfinish": 71, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 73, + "total_days": 188, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 14, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 49, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 63, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 67, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 40, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 22, + "dest_dwell_hub1": 38 + } + }, + "total_from_po": 188 + }, + { + "batch": "BATCH-753733", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-04", + "earliest_gr_date": "2025-06-06", + "earliest_production_start": "2025-07-04", + "fg_receipt_date": "2025-09-25", + "qa_release_date": "2025-09-28", + "ship_date": null, + "delivery_date": "2026-01-01", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 83, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 95, + "total_days": 211, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 64, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 80, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 67, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 81, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 15, + "transit_pla_hub1": 28, + "dest_dwell_hub1": 52 + } + }, + "total_from_po": 211 + }, + { + "batch": "BATCH-006984", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-29", + "earliest_gr_date": "2025-05-31", + "earliest_production_start": "2025-06-15", + "fg_receipt_date": "2025-09-20", + "qa_release_date": "2025-09-27", + "ship_date": null, + "delivery_date": "2026-01-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 17, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 101, + "total_days": 222, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 25, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 94, + "production_days": 25, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 31, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 45, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 62, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 75, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 42, + "dest_dwell_hub1": 49 + } + }, + "total_from_po": 222 + }, + { + "batch": "BATCH-962763", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-04", + "earliest_gr_date": "2025-06-06", + "earliest_production_start": "2025-07-06", + "fg_receipt_date": "2025-10-26", + "qa_release_date": "2025-11-02", + "ship_date": null, + "delivery_date": "2026-01-12", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 32, + "seg_prodstart_to_prodfinish": 112, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 71, + "total_days": 222, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 92, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 69, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 15, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 15, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 35 + } + }, + "total_from_po": 222 + }, + { + "batch": "BATCH-885445", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-04", + "earliest_gr_date": "2025-06-06", + "earliest_production_start": "2025-06-29", + "fg_receipt_date": "2025-10-03", + "qa_release_date": "2025-10-04", + "ship_date": null, + "delivery_date": "2026-01-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 96, + "seg_prodfinish_to_qa": 1, + "seg_qa_to_customer": 105, + "total_days": 227, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 78, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 71, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 1, + "post_qa_ship_pla": 17, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 63 + } + }, + "total_from_po": 227 + }, + { + "batch": "BATCH-622159", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-31", + "earliest_gr_date": "2025-06-02", + "earliest_production_start": "2025-06-26", + "fg_receipt_date": "2025-10-17", + "qa_release_date": "2025-10-23", + "ship_date": null, + "delivery_date": "2026-01-23", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 92, + "total_days": 237, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 91, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 111, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 62, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 78, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 70, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 17, + "transit_pla_hub1": 28, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 237 + }, + { + "batch": "BATCH-990714", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-03", + "earliest_gr_date": "2025-06-05", + "earliest_production_start": "2025-07-02", + "fg_receipt_date": "2025-10-14", + "qa_release_date": "2025-10-18", + "ship_date": null, + "delivery_date": "2026-01-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 104, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 102, + "total_days": 239, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 84, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 100, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 55, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 15, + "transit_pla_hub1": 39, + "dest_dwell_hub1": 48 + } + }, + "total_from_po": 239 + }, + { + "batch": "BATCH-479016", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-14", + "earliest_gr_date": "2025-06-16", + "earliest_production_start": "2025-07-18", + "fg_receipt_date": "2025-11-13", + "qa_release_date": "2025-11-19", + "ship_date": null, + "delivery_date": "2026-02-03", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 34, + "seg_prodstart_to_prodfinish": 118, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 76, + "total_days": 234, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 96, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 114, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 64, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "transit_pla_hub1": 30, + "dest_dwell_hub1": 34 + } + }, + "total_from_po": 234 + }, + { + "batch": "BATCH-080863", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-26", + "earliest_gr_date": "2025-06-28", + "earliest_production_start": "2025-07-18", + "fg_receipt_date": "2025-11-08", + "qa_release_date": "2025-11-12", + "ship_date": null, + "delivery_date": "2026-02-08", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 22, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 88, + "total_days": 227, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 86, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 107, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 66, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 80, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 8, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 51, + "production_days": 8, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 6, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 28, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 227 + }, + { + "batch": "BATCH-910231", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-07-05", + "earliest_gr_date": "2025-07-07", + "earliest_production_start": "2025-08-11", + "fg_receipt_date": "2025-11-08", + "qa_release_date": "2025-11-16", + "ship_date": null, + "delivery_date": "2026-02-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 37, + "seg_prodstart_to_prodfinish": 89, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 89, + "total_days": 223, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 84, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 75, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 86, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 66, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 80, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 223 + }, + { + "batch": "BATCH-997425", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-07", + "earliest_gr_date": "2025-08-09", + "earliest_production_start": "2025-09-06", + "fg_receipt_date": "2025-12-04", + "qa_release_date": "2025-12-12", + "ship_date": null, + "delivery_date": "2026-02-19", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 89, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 69, + "total_days": 196, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 70, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 86, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 70, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 24, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 37, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 8, + "transit_pla_hub1": 31, + "dest_dwell_hub1": 30 + } + }, + "total_from_po": 196 + }, + { + "batch": "BATCH-618940", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-19", + "earliest_gr_date": "2025-06-21", + "earliest_production_start": "2025-07-27", + "fg_receipt_date": "2025-11-29", + "qa_release_date": "2025-12-02", + "ship_date": null, + "delivery_date": "2026-02-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 38, + "seg_prodstart_to_prodfinish": 125, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 84, + "total_days": 250, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 104, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 121, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 34, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 43, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 32, + "dest_dwell_hub1": 42 + } + }, + "total_from_po": 250 + }, + { + "batch": "BATCH-029240", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-07-14", + "earliest_gr_date": "2025-07-16", + "earliest_production_start": "2025-08-02", + "fg_receipt_date": "2025-11-19", + "qa_release_date": "2025-11-25", + "ship_date": null, + "delivery_date": "2026-03-02", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 19, + "seg_prodstart_to_prodfinish": 109, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 97, + "total_days": 231, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 83, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 104, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 77, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 88, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 15, + "transit_pla_hub1": 44, + "dest_dwell_hub1": 38 + } + }, + "total_from_po": 231 + }, + { + "batch": "BATCH-013796", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-17", + "earliest_gr_date": "2025-08-19", + "earliest_production_start": "2025-09-24", + "fg_receipt_date": "2026-01-04", + "qa_release_date": "2026-01-13", + "ship_date": null, + "delivery_date": "2026-03-07", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 38, + "seg_prodstart_to_prodfinish": 102, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 53, + "total_days": 202, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 78, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 27, + "dest_dwell_hub1": 15 + } + }, + "total_from_po": 202 + }, + { + "batch": "BATCH-563928", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-17", + "earliest_gr_date": "2025-08-19", + "earliest_production_start": "2025-09-16", + "fg_receipt_date": "2025-12-08", + "qa_release_date": "2025-12-11", + "ship_date": null, + "delivery_date": "2026-03-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 83, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 92, + "total_days": 208, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 66, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 81, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 38, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 51, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 28, + "dest_dwell_hub1": 54 + } + }, + "total_from_po": 208 + }, + { + "batch": "BATCH-263609", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-15", + "earliest_gr_date": "2025-08-17", + "earliest_production_start": "2025-09-12", + "fg_receipt_date": "2026-01-03", + "qa_release_date": "2026-01-10", + "ship_date": null, + "delivery_date": "2026-03-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 67, + "total_days": 215, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 26, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 83, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 109, + "production_days": 26, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 20, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 74, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 57, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 15, + "dest_dwell_hub1": 42 + } + }, + "total_from_po": 215 + }, + { + "batch": "BATCH-786903", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-30", + "earliest_gr_date": "2025-09-01", + "earliest_production_start": "2025-09-23", + "fg_receipt_date": "2026-01-22", + "qa_release_date": "2026-01-28", + "ship_date": null, + "delivery_date": "2026-03-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 24, + "seg_prodstart_to_prodfinish": 121, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 55, + "total_days": 206, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 103, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 118, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 17, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 73, + "production_days": 17, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 9, + "transit_pla_hub1": 17, + "dest_dwell_hub1": 29 + } + }, + "total_from_po": 206 + }, + { + "batch": "BATCH-676932", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-15", + "earliest_gr_date": "2025-08-17", + "earliest_production_start": "2025-09-13", + "fg_receipt_date": "2025-12-19", + "qa_release_date": "2025-12-25", + "ship_date": null, + "delivery_date": "2026-03-29", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 94, + "total_days": 226, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 73, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 35, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 51, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 59, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 9, + "transit_pla_hub1": 38, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 226 + }, + { + "batch": "BATCH-341567", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-10", + "earliest_gr_date": "2025-08-12", + "earliest_production_start": "2025-09-05", + "fg_receipt_date": "2025-12-27", + "qa_release_date": "2026-01-01", + "ship_date": null, + "delivery_date": "2026-04-04", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 93, + "total_days": 237, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 88, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 109, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 62, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 53, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 14, + "transit_pla_hub1": 23, + "dest_dwell_hub1": 56 + } + }, + "total_from_po": 237 + }, + { + "batch": "BATCH-162748", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-25", + "earliest_gr_date": "2025-08-27", + "earliest_production_start": "2025-09-24", + "fg_receipt_date": "2026-01-03", + "qa_release_date": "2026-01-09", + "ship_date": null, + "delivery_date": "2026-04-09", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 101, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 90, + "total_days": 227, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 80, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 33, + "dest_dwell_hub1": 46 + } + }, + "total_from_po": 227 + }, + { + "batch": "BATCH-322485", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-08", + "earliest_gr_date": "2025-10-10", + "earliest_production_start": "2025-10-27", + "fg_receipt_date": "2026-02-01", + "qa_release_date": "2026-02-10", + "ship_date": null, + "delivery_date": "2026-04-14", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 19, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 63, + "total_days": 188, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 76, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 38, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 48, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 36, + "dest_dwell_hub1": 16 + } + }, + "total_from_po": 188 + }, + { + "batch": "BATCH-780123", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-02", + "earliest_gr_date": "2025-09-04", + "earliest_production_start": "2025-10-02", + "fg_receipt_date": "2026-01-31", + "qa_release_date": "2026-02-08", + "ship_date": null, + "delivery_date": "2026-04-20", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 121, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 71, + "total_days": 230, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 101, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 118, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 67, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 71, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 6, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 40 + } + }, + "total_from_po": 230 + }, + { + "batch": "BATCH-219665", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-06", + "earliest_gr_date": "2025-10-08", + "earliest_production_start": "2025-10-22", + "fg_receipt_date": "2026-02-09", + "qa_release_date": "2026-02-15", + "ship_date": null, + "delivery_date": "2026-04-25", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 16, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 69, + "total_days": 201, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 88, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 37, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 52, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 4, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 40 + } + }, + "total_from_po": 201 + }, + { + "batch": "BATCH-254225", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-08", + "earliest_gr_date": "2025-09-10", + "earliest_production_start": "2025-09-30", + "fg_receipt_date": "2026-01-28", + "qa_release_date": "2026-02-03", + "ship_date": null, + "delivery_date": "2026-05-01", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 22, + "seg_prodstart_to_prodfinish": 120, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 87, + "total_days": 235, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 97, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 115, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 73, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 45 + } + }, + "total_from_po": 235 + }, + { + "batch": "BATCH-311884", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-12", + "earliest_gr_date": "2025-09-14", + "earliest_production_start": "2025-10-10", + "fg_receipt_date": "2026-01-29", + "qa_release_date": "2026-02-04", + "ship_date": null, + "delivery_date": "2026-05-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 111, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 91, + "total_days": 236, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 86, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 107, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 73, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 66, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 6, + "transit_pla_hub1": 40, + "dest_dwell_hub1": 45 + } + }, + "total_from_po": 236 + }, + { + "batch": "BATCH-534136", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-26", + "earliest_gr_date": "2025-09-28", + "earliest_production_start": "2025-11-08", + "fg_receipt_date": "2026-02-10", + "qa_release_date": "2026-02-15", + "ship_date": null, + "delivery_date": "2026-05-12", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 43, + "seg_prodstart_to_prodfinish": 94, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 86, + "total_days": 228, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 74, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 90, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 31, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 40, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 12, + "transit_pla_hub1": 30, + "dest_dwell_hub1": 44 + } + }, + "total_from_po": 228 + }, + { + "batch": "BATCH-718060", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-29", + "earliest_gr_date": "2025-10-01", + "earliest_production_start": "2025-11-09", + "fg_receipt_date": "2026-02-24", + "qa_release_date": "2026-02-28", + "ship_date": null, + "delivery_date": "2026-05-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 41, + "seg_prodstart_to_prodfinish": 107, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 78, + "total_days": 230, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 88, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 103, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 19, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 67, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 41, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 53, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 14, + "dest_dwell_hub1": 54 + } + }, + "total_from_po": 230 + }, + { + "batch": "BATCH-802602", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-12", + "earliest_gr_date": "2025-10-14", + "earliest_production_start": "2025-11-04", + "fg_receipt_date": "2026-02-09", + "qa_release_date": "2026-02-15", + "ship_date": null, + "delivery_date": "2026-05-23", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 23, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 97, + "total_days": 223, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 74, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 59, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 34, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 48, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 7, + "transit_pla_hub1": 39, + "dest_dwell_hub1": 51 + } + }, + "total_from_po": 223 + }, + { + "batch": "BATCH-136204", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-05", + "earliest_gr_date": "2025-10-07", + "earliest_production_start": "2025-11-05", + "fg_receipt_date": "2026-02-25", + "qa_release_date": "2026-03-03", + "ship_date": null, + "delivery_date": "2026-05-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 31, + "seg_prodstart_to_prodfinish": 112, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 86, + "total_days": 235, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 91, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 58, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 14, + "transit_pla_hub1": 53, + "dest_dwell_hub1": 19 + } + }, + "total_from_po": 235 + }, + { + "batch": "BATCH-949254", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-14", + "earliest_gr_date": "2025-10-16", + "earliest_production_start": "2025-11-18", + "fg_receipt_date": "2026-02-19", + "qa_release_date": "2026-02-24", + "ship_date": null, + "delivery_date": "2026-06-03", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 93, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 99, + "total_days": 232, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 67, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 88, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 74, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 89, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 31, + "dest_dwell_hub1": 55 + } + }, + "total_from_po": 232 + } + ], + "segments": { + "seg_proc_to_prodstart": { + "label": "Procurement \u2192 Production Start", + "mean": 29.3, + "median": 30, + "p25": 25, + "p75": 34, + "n": 100 + }, + "seg_prodstart_to_prodfinish": { + "label": "Production Start \u2192 Production Finish", + "mean": 100.7, + "median": 102, + "p25": 90, + "p75": 112, + "n": 100 + }, + "seg_prodfinish_to_qa": { + "label": "Production Finish \u2192 QA Release", + "mean": 6.5, + "median": 7, + "p25": 6, + "p75": 8, + "n": 100 + }, + "seg_qa_to_customer": { + "label": "QA Release \u2192 Customer", + "mean": 53.8, + "median": 40, + "p25": 31, + "p75": 81, + "n": 100 + }, + "total_days": { + "label": "Total (GR to Delivery)", + "mean": 190.3, + "median": 188, + "p25": 167, + "p75": 222, + "n": 100 + } + }, + "per_route": { + "direct": { + "label": "Direct to customer", + "segments": { + "seg_proc_to_prodstart": { + "label": "Procurement \u2192 Production Start", + "mean": 29.9, + "median": 30, + "p25": 26, + "p75": 35, + "n": 60 + }, + "seg_prodstart_to_prodfinish": { + "label": "Production Start \u2192 Production Finish", + "mean": 99.8, + "median": 101, + "p25": 90, + "p75": 110, + "n": 60 + }, + "seg_prodfinish_to_qa": { + "label": "Production Finish \u2192 QA Release", + "mean": 6.6, + "median": 7, + "p25": 6, + "p75": 8, + "n": 60 + }, + "seg_qa_to_customer": { + "label": "QA Release \u2192 Customer", + "mean": 33.2, + "median": 33, + "p25": 29, + "p75": 38, + "n": 60 + }, + "total_days": { + "label": "Total (GR to Delivery)", + "mean": 169.5, + "median": 170, + "p25": 159, + "p75": 182, + "n": 60 + } + } + }, + "hub-1": { + "label": "HUB-1", + "segments": { + "seg_proc_to_prodstart": { + "label": "Procurement \u2192 Production Start", + "mean": 28.4, + "median": 29, + "p25": 24, + "p75": 33, + "n": 40 + }, + "seg_prodstart_to_prodfinish": { + "label": "Production Start \u2192 Production Finish", + "mean": 102.1, + "median": 104, + "p25": 96, + "p75": 113, + "n": 40 + }, + "seg_prodfinish_to_qa": { + "label": "Production Finish \u2192 QA Release", + "mean": 6.2, + "median": 6, + "p25": 5, + "p75": 8, + "n": 40 + }, + "seg_qa_to_customer": { + "label": "QA Release \u2192 Customer", + "mean": 84.8, + "median": 88, + "p25": 76, + "p75": 96, + "n": 40 + }, + "total_days": { + "label": "Total (GR to Delivery)", + "mean": 221.6, + "median": 223, + "p25": 215, + "p75": 232, + "n": 40 + } + } + } + }, + "coverage": { + "traced": 100, + "total": 100 + } + }, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/dest_dwell_hub1.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/dest_dwell_hub1.json new file mode 100644 index 00000000000..7b6065f3cae --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/dest_dwell_hub1.json @@ -0,0 +1,814 @@ +{ + "id": "dest_dwell_hub1", + "label": "Destination Dwell (HUB-1)", + "type": "destination_dwell", + "durations": [ + 42, 65, 28, 95, 35, 10, 78, 55, 42, 32, 39, 42, 46, 49, 53, 57, 48, 52, 34, + 48, 30, 34, 36, 41, 43, 36, 39, 42, 46, 49, 53, 45, 48, 52, 44, 48, 30 + ], + "observations": [ + { + "date": "2022-09-15", + "value": 42 + }, + { + "date": "2023-05-05", + "value": 65 + }, + { + "date": "2023-05-20", + "value": 28 + }, + { + "date": "2024-01-10", + "value": 95 + }, + { + "date": "2024-01-25", + "value": 35 + }, + { + "date": "2024-08-15", + "value": 10 + }, + { + "date": "2025-02-05", + "value": 78 + }, + { + "date": "2025-02-18", + "value": 55 + }, + { + "date": "2025-08-10", + "value": 42 + }, + { + "date": "2025-08-20", + "value": 32 + }, + { + "date": "2025-09-06", + "value": 39 + }, + { + "date": "2025-09-12", + "value": 42 + }, + { + "date": "2025-09-18", + "value": 46 + }, + { + "date": "2025-10-04", + "value": 49 + }, + { + "date": "2025-10-10", + "value": 53 + }, + { + "date": "2025-10-16", + "value": 57 + }, + { + "date": "2025-11-05", + "value": 48 + }, + { + "date": "2025-11-11", + "value": 52 + }, + { + "date": "2025-11-17", + "value": 34 + }, + { + "date": "2025-12-06", + "value": 48 + }, + { + "date": "2025-12-12", + "value": 30 + }, + { + "date": "2025-12-18", + "value": 34 + }, + { + "date": "2026-01-04", + "value": 36 + }, + { + "date": "2026-01-10", + "value": 41 + }, + { + "date": "2026-01-16", + "value": 43 + }, + { + "date": "2026-02-05", + "value": 36 + }, + { + "date": "2026-02-11", + "value": 39 + }, + { + "date": "2026-02-17", + "value": 42 + }, + { + "date": "2026-03-06", + "value": 46 + }, + { + "date": "2026-03-12", + "value": 49 + }, + { + "date": "2026-03-18", + "value": 53 + }, + { + "date": "2026-04-04", + "value": 45 + }, + { + "date": "2026-04-10", + "value": 48 + }, + { + "date": "2026-04-16", + "value": 52 + }, + { + "date": "2026-05-05", + "value": 44 + }, + { + "date": "2026-05-11", + "value": 48 + }, + { + "date": "2026-05-17", + "value": 30 + } + ], + "monthly": [ + { + "month": "2022-09", + "mean": 42, + "median": 42, + "p10": 42, + "p25": 42, + "p75": 42, + "p90": 42, + "n": 1, + "total_kg_days": 201600 + }, + { + "month": "2023-05", + "mean": 46.5, + "median": 46.5, + "p10": 31.7, + "p25": 37.3, + "p75": 55.8, + "p90": 61.3, + "n": 2, + "total_kg_days": 446400 + }, + { + "month": "2024-01", + "mean": 65, + "median": 65, + "p10": 41, + "p25": 50, + "p75": 80, + "p90": 89, + "n": 2, + "total_kg_days": 624000 + }, + { + "month": "2024-08", + "mean": 10, + "median": 10, + "p10": 10, + "p25": 10, + "p75": 10, + "p90": 10, + "n": 1, + "total_kg_days": 48000 + }, + { + "month": "2025-02", + "mean": 66.5, + "median": 66.5, + "p10": 57.3, + "p25": 60.8, + "p75": 72.3, + "p90": 75.7, + "n": 2, + "total_kg_days": 638400 + }, + { + "month": "2025-08", + "mean": 37, + "median": 37, + "p10": 33, + "p25": 34.5, + "p75": 39.5, + "p90": 41, + "n": 2, + "total_kg_days": 355200 + }, + { + "month": "2025-09", + "mean": 42.3, + "median": 42, + "p10": 39.6, + "p25": 40.5, + "p75": 44, + "p90": 45.2, + "n": 3, + "total_kg_days": 609600 + }, + { + "month": "2025-10", + "mean": 53, + "median": 53, + "p10": 49.8, + "p25": 51, + "p75": 55, + "p90": 56.2, + "n": 3, + "total_kg_days": 763200 + }, + { + "month": "2025-11", + "mean": 44.7, + "median": 48, + "p10": 36.8, + "p25": 41, + "p75": 50, + "p90": 51.2, + "n": 3, + "total_kg_days": 643200 + }, + { + "month": "2025-12", + "mean": 37.3, + "median": 34, + "p10": 30.8, + "p25": 32, + "p75": 41, + "p90": 45.2, + "n": 3, + "total_kg_days": 537600 + }, + { + "month": "2026-01", + "mean": 40, + "median": 41, + "p10": 37, + "p25": 38.5, + "p75": 42, + "p90": 42.6, + "n": 3, + "total_kg_days": 576000 + }, + { + "month": "2026-02", + "mean": 39, + "median": 39, + "p10": 36.6, + "p25": 37.5, + "p75": 40.5, + "p90": 41.4, + "n": 3, + "total_kg_days": 561600 + }, + { + "month": "2026-03", + "mean": 49.3, + "median": 49, + "p10": 46.6, + "p25": 47.5, + "p75": 51, + "p90": 52.2, + "n": 3, + "total_kg_days": 710400 + }, + { + "month": "2026-04", + "mean": 48.3, + "median": 48, + "p10": 45.6, + "p25": 46.5, + "p75": 50, + "p90": 51.2, + "n": 3, + "total_kg_days": 696000 + }, + { + "month": "2026-05", + "mean": 40.7, + "median": 44, + "p10": 32.8, + "p25": 37, + "p75": 46, + "p90": 47.2, + "n": 3, + "total_kg_days": 585600 + } + ], + "stats": { + "n": 37, + "mean": 45, + "median": 44, + "std": 14, + "min": 10, + "max": 95, + "p25": 36, + "p75": 49, + "p85": 53, + "p95": 67.6 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "annotations": [], + "cost": { + "unit_price": 28.5, + "currency": "CHF", + "mean_qty": 4800, + "monthly": [ + { + "month": "2022-09", + "n_events": 1, + "total_kg_days": 201600 + }, + { + "month": "2023-05", + "n_events": 2, + "total_kg_days": 446400 + }, + { + "month": "2024-01", + "n_events": 2, + "total_kg_days": 624000 + }, + { + "month": "2024-08", + "n_events": 1, + "total_kg_days": 48000 + }, + { + "month": "2025-02", + "n_events": 2, + "total_kg_days": 638400 + }, + { + "month": "2025-08", + "n_events": 2, + "total_kg_days": 355200 + }, + { + "month": "2025-09", + "n_events": 3, + "total_kg_days": 609600 + }, + { + "month": "2025-10", + "n_events": 3, + "total_kg_days": 763200 + }, + { + "month": "2025-11", + "n_events": 3, + "total_kg_days": 643200 + }, + { + "month": "2025-12", + "n_events": 3, + "total_kg_days": 537600 + }, + { + "month": "2026-01", + "n_events": 3, + "total_kg_days": 576000 + }, + { + "month": "2026-02", + "n_events": 3, + "total_kg_days": 561600 + }, + { + "month": "2026-03", + "n_events": 3, + "total_kg_days": 710400 + }, + { + "month": "2026-04", + "n_events": 3, + "total_kg_days": 696000 + }, + { + "month": "2026-05", + "n_events": 3, + "total_kg_days": 585600 + } + ] + }, + "detail_rows": { + "columns": [ + { + "key": "batch", + "source_field": "CHARG", + "source_table": "MSEG", + "label": "Batch" + }, + { + "key": "consumption_date", + "source_field": "BUDAT", + "source_table": "MKPF", + "label": "Consumption Date" + }, + { + "key": "dwell_days", + "source_field": null, + "source_table": null, + "label": "Dwell Days", + "unit": "d" + }, + { + "key": "kg_days", + "source_field": null, + "source_table": null, + "label": "Inventory kg-days", + "unit": "kg·d" + }, + { + "key": "cons_matnr", + "source_field": "MATNR", + "source_table": "MSEG", + "label": "Consuming Material" + }, + { + "key": "cons_material_name", + "source_field": "MAKTX", + "source_table": "MAKT", + "label": "Consuming Material Name" + }, + { + "key": "cons_in_current_recipe", + "source_field": null, + "source_table": null, + "label": "In Current Recipe" + } + ], + "rows": [ + { + "batch": "DEST_DWELL_HUB1-001", + "consumption_date": "2022-09-15", + "dwell_days": 42, + "kg_days": 201600, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-002", + "consumption_date": "2023-05-05", + "dwell_days": 65, + "kg_days": 223200, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-003", + "consumption_date": "2023-05-20", + "dwell_days": 28, + "kg_days": 223200, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-004", + "consumption_date": "2024-01-10", + "dwell_days": 95, + "kg_days": 312000, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-005", + "consumption_date": "2024-01-25", + "dwell_days": 35, + "kg_days": 312000, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-006", + "consumption_date": "2024-08-15", + "dwell_days": 10, + "kg_days": 48000, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-007", + "consumption_date": "2025-02-05", + "dwell_days": 78, + "kg_days": 319200, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-008", + "consumption_date": "2025-02-18", + "dwell_days": 55, + "kg_days": 319200, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-009", + "consumption_date": "2025-08-10", + "dwell_days": 42, + "kg_days": 177600, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-010", + "consumption_date": "2025-08-20", + "dwell_days": 32, + "kg_days": 177600, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-011", + "consumption_date": "2025-09-06", + "dwell_days": 39, + "kg_days": 203200, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-012", + "consumption_date": "2025-09-12", + "dwell_days": 42, + "kg_days": 203200, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-013", + "consumption_date": "2025-09-18", + "dwell_days": 46, + "kg_days": 203200, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-014", + "consumption_date": "2025-10-04", + "dwell_days": 49, + "kg_days": 254400, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-015", + "consumption_date": "2025-10-10", + "dwell_days": 53, + "kg_days": 254400, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-016", + "consumption_date": "2025-10-16", + "dwell_days": 57, + "kg_days": 254400, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-017", + "consumption_date": "2025-11-05", + "dwell_days": 48, + "kg_days": 214400, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-018", + "consumption_date": "2025-11-11", + "dwell_days": 52, + "kg_days": 214400, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-019", + "consumption_date": "2025-11-17", + "dwell_days": 34, + "kg_days": 214400, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-020", + "consumption_date": "2025-12-06", + "dwell_days": 48, + "kg_days": 179200, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-021", + "consumption_date": "2025-12-12", + "dwell_days": 30, + "kg_days": 179200, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-022", + "consumption_date": "2025-12-18", + "dwell_days": 34, + "kg_days": 179200, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-023", + "consumption_date": "2026-01-04", + "dwell_days": 36, + "kg_days": 192000, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-024", + "consumption_date": "2026-01-10", + "dwell_days": 41, + "kg_days": 192000, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-025", + "consumption_date": "2026-01-16", + "dwell_days": 43, + "kg_days": 192000, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-026", + "consumption_date": "2026-02-05", + "dwell_days": 36, + "kg_days": 187200, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-027", + "consumption_date": "2026-02-11", + "dwell_days": 39, + "kg_days": 187200, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-028", + "consumption_date": "2026-02-17", + "dwell_days": 42, + "kg_days": 187200, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-029", + "consumption_date": "2026-03-06", + "dwell_days": 46, + "kg_days": 236800, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-030", + "consumption_date": "2026-03-12", + "dwell_days": 49, + "kg_days": 236800, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-031", + "consumption_date": "2026-03-18", + "dwell_days": 53, + "kg_days": 236800, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-032", + "consumption_date": "2026-04-04", + "dwell_days": 45, + "kg_days": 232000, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-033", + "consumption_date": "2026-04-10", + "dwell_days": 48, + "kg_days": 232000, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-034", + "consumption_date": "2026-04-16", + "dwell_days": 52, + "kg_days": 232000, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-035", + "consumption_date": "2026-05-05", + "dwell_days": 44, + "kg_days": 195200, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-036", + "consumption_date": "2026-05-11", + "dwell_days": 48, + "kg_days": 195200, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-037", + "consumption_date": "2026-05-17", + "dwell_days": 30, + "kg_days": 195200, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + } + ] + }, + "ref_date_col": "consumption_date", + "n_batches": null, + "n_movements": 10, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0", + "value_col": "dwell_days" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/intermed_dwell_green_blend.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/intermed_dwell_green_blend.json new file mode 100644 index 00000000000..304ea836fd0 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/intermed_dwell_green_blend.json @@ -0,0 +1,1300 @@ +{ + "id": "intermed_dwell_green_blend", + "label": "Intermediate Dwell: Green Blend", + "type": "intermediate_dwell", + "durations": [ + 12, 25, 8, 35, 15, 5, 22, 18, 40, 10, 55, 2, 28, 15, 8, 20, 45, 12, 3, 18, + 30, 8, 22, 35, 5, 15, 42, 10, 14, 16, 17, 18, 19, 14, 15, 16, 18, 11, 18, + 19, 20, 14, 15, 17, 19, 12, 14, 15, 17, 11, 12, 13, 14, 13, 14, 16, 17, 18, + 13, 14, 15, 16, 18, 16, 18, 19, 20, 14, 16, 17, 19, 12, 14 + ], + "observations": [ + { + "date": "2022-05-05", + "value": 12 + }, + { + "date": "2022-05-15", + "value": 25 + }, + { + "date": "2022-05-22", + "value": 8 + }, + { + "date": "2022-11-03", + "value": 35 + }, + { + "date": "2022-11-10", + "value": 15 + }, + { + "date": "2022-11-18", + "value": 5 + }, + { + "date": "2022-11-25", + "value": 22 + }, + { + "date": "2023-05-08", + "value": 18 + }, + { + "date": "2023-05-15", + "value": 40 + }, + { + "date": "2023-05-22", + "value": 10 + }, + { + "date": "2023-11-06", + "value": 55 + }, + { + "date": "2023-11-13", + "value": 2 + }, + { + "date": "2023-11-20", + "value": 28 + }, + { + "date": "2023-11-27", + "value": 15 + }, + { + "date": "2023-11-30", + "value": 8 + }, + { + "date": "2024-05-06", + "value": 20 + }, + { + "date": "2024-05-13", + "value": 45 + }, + { + "date": "2024-05-20", + "value": 12 + }, + { + "date": "2024-05-27", + "value": 3 + }, + { + "date": "2024-11-04", + "value": 18 + }, + { + "date": "2024-11-11", + "value": 30 + }, + { + "date": "2024-11-18", + "value": 8 + }, + { + "date": "2025-05-05", + "value": 22 + }, + { + "date": "2025-05-09", + "value": 35 + }, + { + "date": "2025-05-13", + "value": 5 + }, + { + "date": "2025-05-17", + "value": 15 + }, + { + "date": "2025-05-21", + "value": 42 + }, + { + "date": "2025-05-25", + "value": 10 + }, + { + "date": "2025-09-05", + "value": 14 + }, + { + "date": "2025-09-11", + "value": 16 + }, + { + "date": "2025-09-17", + "value": 17 + }, + { + "date": "2025-09-23", + "value": 18 + }, + { + "date": "2025-09-29", + "value": 19 + }, + { + "date": "2025-10-06", + "value": 14 + }, + { + "date": "2025-10-12", + "value": 15 + }, + { + "date": "2025-10-18", + "value": 16 + }, + { + "date": "2025-10-24", + "value": 18 + }, + { + "date": "2025-10-30", + "value": 11 + }, + { + "date": "2025-11-04", + "value": 18 + }, + { + "date": "2025-11-10", + "value": 19 + }, + { + "date": "2025-11-16", + "value": 20 + }, + { + "date": "2025-11-22", + "value": 14 + }, + { + "date": "2025-11-28", + "value": 15 + }, + { + "date": "2025-12-05", + "value": 17 + }, + { + "date": "2025-12-11", + "value": 19 + }, + { + "date": "2025-12-17", + "value": 12 + }, + { + "date": "2025-12-23", + "value": 14 + }, + { + "date": "2025-12-29", + "value": 15 + }, + { + "date": "2026-01-06", + "value": 17 + }, + { + "date": "2026-01-12", + "value": 11 + }, + { + "date": "2026-01-18", + "value": 12 + }, + { + "date": "2026-01-24", + "value": 13 + }, + { + "date": "2026-01-30", + "value": 14 + }, + { + "date": "2026-02-04", + "value": 13 + }, + { + "date": "2026-02-10", + "value": 14 + }, + { + "date": "2026-02-16", + "value": 16 + }, + { + "date": "2026-02-22", + "value": 17 + }, + { + "date": "2026-02-28", + "value": 18 + }, + { + "date": "2026-03-05", + "value": 13 + }, + { + "date": "2026-03-11", + "value": 14 + }, + { + "date": "2026-03-17", + "value": 15 + }, + { + "date": "2026-03-23", + "value": 16 + }, + { + "date": "2026-03-29", + "value": 18 + }, + { + "date": "2026-04-06", + "value": 16 + }, + { + "date": "2026-04-12", + "value": 18 + }, + { + "date": "2026-04-18", + "value": 19 + }, + { + "date": "2026-04-24", + "value": 20 + }, + { + "date": "2026-04-30", + "value": 14 + }, + { + "date": "2026-05-04", + "value": 16 + }, + { + "date": "2026-05-10", + "value": 17 + }, + { + "date": "2026-05-16", + "value": 19 + }, + { + "date": "2026-05-22", + "value": 12 + }, + { + "date": "2026-05-28", + "value": 14 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 15, + "median": 12, + "p10": 8.8, + "p25": 10, + "p75": 18.5, + "p90": 22.4, + "n": 3, + "total_kg_days": 144000 + }, + { + "month": "2022-11", + "mean": 19.3, + "median": 18.5, + "p10": 8, + "p25": 12.5, + "p75": 25.3, + "p90": 31.1, + "n": 4, + "total_kg_days": 246400 + }, + { + "month": "2023-05", + "mean": 22.7, + "median": 18, + "p10": 11.6, + "p25": 14, + "p75": 29, + "p90": 35.6, + "n": 3, + "total_kg_days": 217600 + }, + { + "month": "2023-11", + "mean": 21.6, + "median": 15, + "p10": 4.4, + "p25": 8, + "p75": 28, + "p90": 44.2, + "n": 5, + "total_kg_days": 345600 + }, + { + "month": "2024-05", + "mean": 20, + "median": 16, + "p10": 5.7, + "p25": 9.8, + "p75": 26.3, + "p90": 37.5, + "n": 4, + "total_kg_days": 256000 + }, + { + "month": "2024-11", + "mean": 18.7, + "median": 18, + "p10": 10, + "p25": 13, + "p75": 24, + "p90": 27.6, + "n": 3, + "total_kg_days": 179200 + }, + { + "month": "2025-05", + "mean": 21.5, + "median": 18.5, + "p10": 7.5, + "p25": 11.3, + "p75": 31.8, + "p90": 38.5, + "n": 6, + "total_kg_days": 412800 + }, + { + "month": "2025-09", + "mean": 16.8, + "median": 17, + "p10": 14.8, + "p25": 16, + "p75": 18, + "p90": 18.6, + "n": 5, + "total_kg_days": 268800 + }, + { + "month": "2025-10", + "mean": 14.8, + "median": 15, + "p10": 12.2, + "p25": 14, + "p75": 16, + "p90": 17.2, + "n": 5, + "total_kg_days": 236800 + }, + { + "month": "2025-11", + "mean": 17.2, + "median": 18, + "p10": 14.4, + "p25": 15, + "p75": 19, + "p90": 19.6, + "n": 5, + "total_kg_days": 275200 + }, + { + "month": "2025-12", + "mean": 15.4, + "median": 15, + "p10": 12.8, + "p25": 14, + "p75": 17, + "p90": 18.2, + "n": 5, + "total_kg_days": 246400 + }, + { + "month": "2026-01", + "mean": 13.4, + "median": 13, + "p10": 11.4, + "p25": 12, + "p75": 14, + "p90": 15.8, + "n": 5, + "total_kg_days": 214400 + }, + { + "month": "2026-02", + "mean": 15.6, + "median": 16, + "p10": 13.4, + "p25": 14, + "p75": 17, + "p90": 17.6, + "n": 5, + "total_kg_days": 249600 + }, + { + "month": "2026-03", + "mean": 15.2, + "median": 15, + "p10": 13.4, + "p25": 14, + "p75": 16, + "p90": 17.2, + "n": 5, + "total_kg_days": 243200 + }, + { + "month": "2026-04", + "mean": 17.4, + "median": 18, + "p10": 14.8, + "p25": 16, + "p75": 19, + "p90": 19.6, + "n": 5, + "total_kg_days": 278400 + }, + { + "month": "2026-05", + "mean": 15.6, + "median": 16, + "p10": 12.8, + "p25": 14, + "p75": 17, + "p90": 18.2, + "n": 5, + "total_kg_days": 249600 + } + ], + "stats": { + "n": 73, + "mean": 17.4, + "median": 16, + "std": 9, + "min": 2, + "max": 55, + "p25": 13, + "p75": 19, + "p85": 20.4, + "p95": 37 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 87.7, + "annotations": [], + "cost": { + "unit_price": 12.5, + "currency": "CHF", + "mean_qty": 3200, + "monthly": [ + { + "month": "2022-05", + "n_events": 3, + "total_kg_days": 144000 + }, + { + "month": "2022-11", + "n_events": 4, + "total_kg_days": 246400 + }, + { + "month": "2023-05", + "n_events": 3, + "total_kg_days": 217600 + }, + { + "month": "2023-11", + "n_events": 5, + "total_kg_days": 345600 + }, + { + "month": "2024-05", + "n_events": 4, + "total_kg_days": 256000 + }, + { + "month": "2024-11", + "n_events": 3, + "total_kg_days": 179200 + }, + { + "month": "2025-05", + "n_events": 6, + "total_kg_days": 412800 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 268800 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 236800 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 275200 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 246400 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 214400 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 249600 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 243200 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 278400 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 249600 + } + ] + }, + "detail_rows": { + "columns": [ + { + "key": "batch", + "source_field": "CHARG", + "source_table": "MSEG", + "label": "Batch" + }, + { + "key": "consumption_date", + "source_field": "BUDAT", + "source_table": "MKPF", + "label": "Consumption Date" + }, + { + "key": "dwell_days", + "source_field": null, + "source_table": null, + "label": "Dwell Days", + "unit": "d" + }, + { + "key": "kg_days", + "source_field": null, + "source_table": null, + "label": "Inventory kg-days", + "unit": "kg·d" + }, + { + "key": "cons_matnr", + "source_field": "MATNR", + "source_table": "MSEG", + "label": "Consuming Material" + }, + { + "key": "cons_material_name", + "source_field": "MAKTX", + "source_table": "MAKT", + "label": "Consuming Material Name" + }, + { + "key": "cons_in_current_recipe", + "source_field": null, + "source_table": null, + "label": "In Current Recipe" + } + ], + "rows": [ + { + "batch": "INTERMED_DWELL_GREEN_BLEND-001", + "consumption_date": "2022-05-05", + "dwell_days": 12, + "kg_days": 48000, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-002", + "consumption_date": "2022-05-15", + "dwell_days": 25, + "kg_days": 48000, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-003", + "consumption_date": "2022-05-22", + "dwell_days": 8, + "kg_days": 48000, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-004", + "consumption_date": "2022-11-03", + "dwell_days": 35, + "kg_days": 61600, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-005", + "consumption_date": "2022-11-10", + "dwell_days": 15, + "kg_days": 61600, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-006", + "consumption_date": "2022-11-18", + "dwell_days": 5, + "kg_days": 61600, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-007", + "consumption_date": "2022-11-25", + "dwell_days": 22, + "kg_days": 61600, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-008", + "consumption_date": "2023-05-08", + "dwell_days": 18, + "kg_days": 72533.3, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-009", + "consumption_date": "2023-05-15", + "dwell_days": 40, + "kg_days": 72533.3, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-010", + "consumption_date": "2023-05-22", + "dwell_days": 10, + "kg_days": 72533.3, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-011", + "consumption_date": "2023-11-06", + "dwell_days": 55, + "kg_days": 69120, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-012", + "consumption_date": "2023-11-13", + "dwell_days": 2, + "kg_days": 69120, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-013", + "consumption_date": "2023-11-20", + "dwell_days": 28, + "kg_days": 69120, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-014", + "consumption_date": "2023-11-27", + "dwell_days": 15, + "kg_days": 69120, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-015", + "consumption_date": "2023-11-30", + "dwell_days": 8, + "kg_days": 69120, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-016", + "consumption_date": "2024-05-06", + "dwell_days": 20, + "kg_days": 64000, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-017", + "consumption_date": "2024-05-13", + "dwell_days": 45, + "kg_days": 64000, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-018", + "consumption_date": "2024-05-20", + "dwell_days": 12, + "kg_days": 64000, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-019", + "consumption_date": "2024-05-27", + "dwell_days": 3, + "kg_days": 64000, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-020", + "consumption_date": "2024-11-04", + "dwell_days": 18, + "kg_days": 59733.3, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-021", + "consumption_date": "2024-11-11", + "dwell_days": 30, + "kg_days": 59733.3, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-022", + "consumption_date": "2024-11-18", + "dwell_days": 8, + "kg_days": 59733.3, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-023", + "consumption_date": "2025-05-05", + "dwell_days": 22, + "kg_days": 68800, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-024", + "consumption_date": "2025-05-09", + "dwell_days": 35, + "kg_days": 68800, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-025", + "consumption_date": "2025-05-13", + "dwell_days": 5, + "kg_days": 68800, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-026", + "consumption_date": "2025-05-17", + "dwell_days": 15, + "kg_days": 68800, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-027", + "consumption_date": "2025-05-21", + "dwell_days": 42, + "kg_days": 68800, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-028", + "consumption_date": "2025-05-25", + "dwell_days": 10, + "kg_days": 68800, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-029", + "consumption_date": "2025-09-05", + "dwell_days": 14, + "kg_days": 53760, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-030", + "consumption_date": "2025-09-11", + "dwell_days": 16, + "kg_days": 53760, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-031", + "consumption_date": "2025-09-17", + "dwell_days": 17, + "kg_days": 53760, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-032", + "consumption_date": "2025-09-23", + "dwell_days": 18, + "kg_days": 53760, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-033", + "consumption_date": "2025-09-29", + "dwell_days": 19, + "kg_days": 53760, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-034", + "consumption_date": "2025-10-06", + "dwell_days": 14, + "kg_days": 47360, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-035", + "consumption_date": "2025-10-12", + "dwell_days": 15, + "kg_days": 47360, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-036", + "consumption_date": "2025-10-18", + "dwell_days": 16, + "kg_days": 47360, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-037", + "consumption_date": "2025-10-24", + "dwell_days": 18, + "kg_days": 47360, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-038", + "consumption_date": "2025-10-30", + "dwell_days": 11, + "kg_days": 47360, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-039", + "consumption_date": "2025-11-04", + "dwell_days": 18, + "kg_days": 55040, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-040", + "consumption_date": "2025-11-10", + "dwell_days": 19, + "kg_days": 55040, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-041", + "consumption_date": "2025-11-16", + "dwell_days": 20, + "kg_days": 55040, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-042", + "consumption_date": "2025-11-22", + "dwell_days": 14, + "kg_days": 55040, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-043", + "consumption_date": "2025-11-28", + "dwell_days": 15, + "kg_days": 55040, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-044", + "consumption_date": "2025-12-05", + "dwell_days": 17, + "kg_days": 49280, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-045", + "consumption_date": "2025-12-11", + "dwell_days": 19, + "kg_days": 49280, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-046", + "consumption_date": "2025-12-17", + "dwell_days": 12, + "kg_days": 49280, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-047", + "consumption_date": "2025-12-23", + "dwell_days": 14, + "kg_days": 49280, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-048", + "consumption_date": "2025-12-29", + "dwell_days": 15, + "kg_days": 49280, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-049", + "consumption_date": "2026-01-06", + "dwell_days": 17, + "kg_days": 42880, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-050", + "consumption_date": "2026-01-12", + "dwell_days": 11, + "kg_days": 42880, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-051", + "consumption_date": "2026-01-18", + "dwell_days": 12, + "kg_days": 42880, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-052", + "consumption_date": "2026-01-24", + "dwell_days": 13, + "kg_days": 42880, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-053", + "consumption_date": "2026-01-30", + "dwell_days": 14, + "kg_days": 42880, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-054", + "consumption_date": "2026-02-04", + "dwell_days": 13, + "kg_days": 49920, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-055", + "consumption_date": "2026-02-10", + "dwell_days": 14, + "kg_days": 49920, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-056", + "consumption_date": "2026-02-16", + "dwell_days": 16, + "kg_days": 49920, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-057", + "consumption_date": "2026-02-22", + "dwell_days": 17, + "kg_days": 49920, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-058", + "consumption_date": "2026-02-28", + "dwell_days": 18, + "kg_days": 49920, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-059", + "consumption_date": "2026-03-05", + "dwell_days": 13, + "kg_days": 48640, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-060", + "consumption_date": "2026-03-11", + "dwell_days": 14, + "kg_days": 48640, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-061", + "consumption_date": "2026-03-17", + "dwell_days": 15, + "kg_days": 48640, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-062", + "consumption_date": "2026-03-23", + "dwell_days": 16, + "kg_days": 48640, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-063", + "consumption_date": "2026-03-29", + "dwell_days": 18, + "kg_days": 48640, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-064", + "consumption_date": "2026-04-06", + "dwell_days": 16, + "kg_days": 55680, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-065", + "consumption_date": "2026-04-12", + "dwell_days": 18, + "kg_days": 55680, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-066", + "consumption_date": "2026-04-18", + "dwell_days": 19, + "kg_days": 55680, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-067", + "consumption_date": "2026-04-24", + "dwell_days": 20, + "kg_days": 55680, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-068", + "consumption_date": "2026-04-30", + "dwell_days": 14, + "kg_days": 55680, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-069", + "consumption_date": "2026-05-04", + "dwell_days": 16, + "kg_days": 49920, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-070", + "consumption_date": "2026-05-10", + "dwell_days": 17, + "kg_days": 49920, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-071", + "consumption_date": "2026-05-16", + "dwell_days": 19, + "kg_days": 49920, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-072", + "consumption_date": "2026-05-22", + "dwell_days": 12, + "kg_days": 49920, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-073", + "consumption_date": "2026-05-28", + "dwell_days": 14, + "kg_days": 49920, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + } + ] + }, + "ref_date_col": "consumption_date", + "n_batches": null, + "n_movements": 28, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0", + "value_col": "dwell_days" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/post_qa_ship_pla.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/post_qa_ship_pla.json new file mode 100644 index 00000000000..3941471a5c7 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/post_qa_ship_pla.json @@ -0,0 +1,1075 @@ +{ + "id": "post_qa_ship_pla", + "label": "Post-QA Dwell (PL-A)", + "type": "post_qa_ship", + "durations": [ + 8, 22, 42, 6, 18, 28, 12, 2, 15, 5, 20, 4, 14, 15, 10, 11, 12, 14, 8, 10, + 11, 11, 10, 12, 12, 13, 14, 10, 11, 12, 13, 14, 13, 14, 15, 16, 11, 13, 14, + 15, 10, 11, 13, 14, 8, 10, 11, 16, 10, 12, 12, 13, 9, 10, 11, 12, 13 + ], + "observations": [ + { + "date": "2023-03-10", + "value": 8 + }, + { + "date": "2023-03-25", + "value": 22 + }, + { + "date": "2023-09-20", + "value": 42 + }, + { + "date": "2024-03-15", + "value": 6 + }, + { + "date": "2024-03-28", + "value": 18 + }, + { + "date": "2024-09-05", + "value": 28 + }, + { + "date": "2024-09-15", + "value": 12 + }, + { + "date": "2024-09-25", + "value": 2 + }, + { + "date": "2025-03-10", + "value": 15 + }, + { + "date": "2025-03-22", + "value": 5 + }, + { + "date": "2025-07-08", + "value": 20 + }, + { + "date": "2025-07-22", + "value": 4 + }, + { + "date": "2025-09-05", + "value": 14 + }, + { + "date": "2025-09-11", + "value": 15 + }, + { + "date": "2025-09-17", + "value": 10 + }, + { + "date": "2025-09-23", + "value": 11 + }, + { + "date": "2025-09-29", + "value": 12 + }, + { + "date": "2025-10-06", + "value": 14 + }, + { + "date": "2025-10-12", + "value": 8 + }, + { + "date": "2025-10-18", + "value": 10 + }, + { + "date": "2025-10-24", + "value": 11 + }, + { + "date": "2025-10-30", + "value": 11 + }, + { + "date": "2025-11-04", + "value": 10 + }, + { + "date": "2025-11-10", + "value": 12 + }, + { + "date": "2025-11-16", + "value": 12 + }, + { + "date": "2025-11-22", + "value": 13 + }, + { + "date": "2025-11-28", + "value": 14 + }, + { + "date": "2025-12-05", + "value": 10 + }, + { + "date": "2025-12-11", + "value": 11 + }, + { + "date": "2025-12-17", + "value": 12 + }, + { + "date": "2025-12-23", + "value": 13 + }, + { + "date": "2025-12-29", + "value": 14 + }, + { + "date": "2026-01-06", + "value": 13 + }, + { + "date": "2026-01-12", + "value": 14 + }, + { + "date": "2026-01-18", + "value": 15 + }, + { + "date": "2026-01-24", + "value": 16 + }, + { + "date": "2026-01-30", + "value": 11 + }, + { + "date": "2026-02-04", + "value": 13 + }, + { + "date": "2026-02-10", + "value": 14 + }, + { + "date": "2026-02-16", + "value": 15 + }, + { + "date": "2026-02-22", + "value": 10 + }, + { + "date": "2026-02-28", + "value": 11 + }, + { + "date": "2026-03-05", + "value": 13 + }, + { + "date": "2026-03-11", + "value": 14 + }, + { + "date": "2026-03-17", + "value": 8 + }, + { + "date": "2026-03-23", + "value": 10 + }, + { + "date": "2026-03-29", + "value": 11 + }, + { + "date": "2026-04-06", + "value": 16 + }, + { + "date": "2026-04-12", + "value": 10 + }, + { + "date": "2026-04-18", + "value": 12 + }, + { + "date": "2026-04-24", + "value": 12 + }, + { + "date": "2026-04-30", + "value": 13 + }, + { + "date": "2026-05-04", + "value": 9 + }, + { + "date": "2026-05-10", + "value": 10 + }, + { + "date": "2026-05-16", + "value": 11 + }, + { + "date": "2026-05-22", + "value": 12 + }, + { + "date": "2026-05-28", + "value": 13 + } + ], + "monthly": [ + { + "month": "2023-03", + "mean": 15, + "median": 15, + "p10": 9.4, + "p25": 11.5, + "p75": 18.5, + "p90": 20.6, + "n": 2, + "total_kg_days": 144000 + }, + { + "month": "2023-09", + "mean": 42, + "median": 42, + "p10": 42, + "p25": 42, + "p75": 42, + "p90": 42, + "n": 1, + "total_kg_days": 201600 + }, + { + "month": "2024-03", + "mean": 12, + "median": 12, + "p10": 7.2, + "p25": 9, + "p75": 15, + "p90": 16.8, + "n": 2, + "total_kg_days": 115200 + }, + { + "month": "2024-09", + "mean": 14, + "median": 12, + "p10": 4, + "p25": 7, + "p75": 20, + "p90": 24.8, + "n": 3, + "total_kg_days": 201600 + }, + { + "month": "2025-03", + "mean": 10, + "median": 10, + "p10": 6, + "p25": 7.5, + "p75": 12.5, + "p90": 14, + "n": 2, + "total_kg_days": 96000 + }, + { + "month": "2025-07", + "mean": 12, + "median": 12, + "p10": 5.6, + "p25": 8, + "p75": 16, + "p90": 18.4, + "n": 2, + "total_kg_days": 115200 + }, + { + "month": "2025-09", + "mean": 12.4, + "median": 12, + "p10": 10.4, + "p25": 11, + "p75": 14, + "p90": 14.6, + "n": 5, + "total_kg_days": 297600 + }, + { + "month": "2025-10", + "mean": 10.8, + "median": 11, + "p10": 8.8, + "p25": 10, + "p75": 11, + "p90": 12.8, + "n": 5, + "total_kg_days": 259200 + }, + { + "month": "2025-11", + "mean": 12.2, + "median": 12, + "p10": 10.8, + "p25": 12, + "p75": 13, + "p90": 13.6, + "n": 5, + "total_kg_days": 292800 + }, + { + "month": "2025-12", + "mean": 12, + "median": 12, + "p10": 10.4, + "p25": 11, + "p75": 13, + "p90": 13.6, + "n": 5, + "total_kg_days": 288000 + }, + { + "month": "2026-01", + "mean": 13.8, + "median": 14, + "p10": 11.8, + "p25": 13, + "p75": 15, + "p90": 15.6, + "n": 5, + "total_kg_days": 331200 + }, + { + "month": "2026-02", + "mean": 12.6, + "median": 13, + "p10": 10.4, + "p25": 11, + "p75": 14, + "p90": 14.6, + "n": 5, + "total_kg_days": 302400 + }, + { + "month": "2026-03", + "mean": 11.2, + "median": 11, + "p10": 8.8, + "p25": 10, + "p75": 13, + "p90": 13.6, + "n": 5, + "total_kg_days": 268800 + }, + { + "month": "2026-04", + "mean": 12.6, + "median": 12, + "p10": 10.8, + "p25": 12, + "p75": 13, + "p90": 14.8, + "n": 5, + "total_kg_days": 302400 + }, + { + "month": "2026-05", + "mean": 11, + "median": 11, + "p10": 9.4, + "p25": 10, + "p75": 12, + "p90": 12.6, + "n": 5, + "total_kg_days": 264000 + } + ], + "stats": { + "n": 57, + "mean": 12.7, + "median": 12, + "std": 5.6, + "min": 2, + "max": 42, + "p25": 10, + "p75": 14, + "p85": 15, + "p95": 20.4 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "annotations": [], + "cost": { + "unit_price": 28.5, + "currency": "CHF", + "mean_qty": 4800, + "monthly": [ + { + "month": "2023-03", + "n_events": 2, + "total_kg_days": 144000 + }, + { + "month": "2023-09", + "n_events": 1, + "total_kg_days": 201600 + }, + { + "month": "2024-03", + "n_events": 2, + "total_kg_days": 115200 + }, + { + "month": "2024-09", + "n_events": 3, + "total_kg_days": 201600 + }, + { + "month": "2025-03", + "n_events": 2, + "total_kg_days": 96000 + }, + { + "month": "2025-07", + "n_events": 2, + "total_kg_days": 115200 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 297600 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 259200 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 292800 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 288000 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 331200 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 302400 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 268800 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 302400 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 264000 + } + ] + }, + "detail_rows": { + "columns": [ + { + "key": "batch", + "source_field": "CHARG", + "source_table": "MSEG", + "label": "Batch" + }, + { + "key": "consumption_date", + "source_field": "BUDAT", + "source_table": "MKPF", + "label": "Consumption Date" + }, + { + "key": "dwell_days", + "source_field": null, + "source_table": null, + "label": "Dwell Days", + "unit": "d" + }, + { + "key": "kg_days", + "source_field": null, + "source_table": null, + "label": "Inventory kg-days", + "unit": "kg·d" + }, + { + "key": "cons_matnr", + "source_field": "MATNR", + "source_table": "MSEG", + "label": "Consuming Material" + }, + { + "key": "cons_material_name", + "source_field": "MAKTX", + "source_table": "MAKT", + "label": "Consuming Material Name" + }, + { + "key": "cons_in_current_recipe", + "source_field": null, + "source_table": null, + "label": "In Current Recipe" + } + ], + "rows": [ + { + "batch": "POST_QA_SHIP_PLA-001", + "consumption_date": "2023-03-10", + "dwell_days": 8, + "kg_days": 72000, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-002", + "consumption_date": "2023-03-25", + "dwell_days": 22, + "kg_days": 72000, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-003", + "consumption_date": "2023-09-20", + "dwell_days": 42, + "kg_days": 201600, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-004", + "consumption_date": "2024-03-15", + "dwell_days": 6, + "kg_days": 57600, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-005", + "consumption_date": "2024-03-28", + "dwell_days": 18, + "kg_days": 57600, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-006", + "consumption_date": "2024-09-05", + "dwell_days": 28, + "kg_days": 67200, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-007", + "consumption_date": "2024-09-15", + "dwell_days": 12, + "kg_days": 67200, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-008", + "consumption_date": "2024-09-25", + "dwell_days": 2, + "kg_days": 67200, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-009", + "consumption_date": "2025-03-10", + "dwell_days": 15, + "kg_days": 48000, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-010", + "consumption_date": "2025-03-22", + "dwell_days": 5, + "kg_days": 48000, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-011", + "consumption_date": "2025-07-08", + "dwell_days": 20, + "kg_days": 57600, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-012", + "consumption_date": "2025-07-22", + "dwell_days": 4, + "kg_days": 57600, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-013", + "consumption_date": "2025-09-05", + "dwell_days": 14, + "kg_days": 59520, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-014", + "consumption_date": "2025-09-11", + "dwell_days": 15, + "kg_days": 59520, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-015", + "consumption_date": "2025-09-17", + "dwell_days": 10, + "kg_days": 59520, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-016", + "consumption_date": "2025-09-23", + "dwell_days": 11, + "kg_days": 59520, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-017", + "consumption_date": "2025-09-29", + "dwell_days": 12, + "kg_days": 59520, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-018", + "consumption_date": "2025-10-06", + "dwell_days": 14, + "kg_days": 51840, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-019", + "consumption_date": "2025-10-12", + "dwell_days": 8, + "kg_days": 51840, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-020", + "consumption_date": "2025-10-18", + "dwell_days": 10, + "kg_days": 51840, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-021", + "consumption_date": "2025-10-24", + "dwell_days": 11, + "kg_days": 51840, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-022", + "consumption_date": "2025-10-30", + "dwell_days": 11, + "kg_days": 51840, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-023", + "consumption_date": "2025-11-04", + "dwell_days": 10, + "kg_days": 58560, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-024", + "consumption_date": "2025-11-10", + "dwell_days": 12, + "kg_days": 58560, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-025", + "consumption_date": "2025-11-16", + "dwell_days": 12, + "kg_days": 58560, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-026", + "consumption_date": "2025-11-22", + "dwell_days": 13, + "kg_days": 58560, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-027", + "consumption_date": "2025-11-28", + "dwell_days": 14, + "kg_days": 58560, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-028", + "consumption_date": "2025-12-05", + "dwell_days": 10, + "kg_days": 57600, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-029", + "consumption_date": "2025-12-11", + "dwell_days": 11, + "kg_days": 57600, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-030", + "consumption_date": "2025-12-17", + "dwell_days": 12, + "kg_days": 57600, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-031", + "consumption_date": "2025-12-23", + "dwell_days": 13, + "kg_days": 57600, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-032", + "consumption_date": "2025-12-29", + "dwell_days": 14, + "kg_days": 57600, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-033", + "consumption_date": "2026-01-06", + "dwell_days": 13, + "kg_days": 66240, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-034", + "consumption_date": "2026-01-12", + "dwell_days": 14, + "kg_days": 66240, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-035", + "consumption_date": "2026-01-18", + "dwell_days": 15, + "kg_days": 66240, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-036", + "consumption_date": "2026-01-24", + "dwell_days": 16, + "kg_days": 66240, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-037", + "consumption_date": "2026-01-30", + "dwell_days": 11, + "kg_days": 66240, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-038", + "consumption_date": "2026-02-04", + "dwell_days": 13, + "kg_days": 60480, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-039", + "consumption_date": "2026-02-10", + "dwell_days": 14, + "kg_days": 60480, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-040", + "consumption_date": "2026-02-16", + "dwell_days": 15, + "kg_days": 60480, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-041", + "consumption_date": "2026-02-22", + "dwell_days": 10, + "kg_days": 60480, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-042", + "consumption_date": "2026-02-28", + "dwell_days": 11, + "kg_days": 60480, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-043", + "consumption_date": "2026-03-05", + "dwell_days": 13, + "kg_days": 53760, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-044", + "consumption_date": "2026-03-11", + "dwell_days": 14, + "kg_days": 53760, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-045", + "consumption_date": "2026-03-17", + "dwell_days": 8, + "kg_days": 53760, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-046", + "consumption_date": "2026-03-23", + "dwell_days": 10, + "kg_days": 53760, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-047", + "consumption_date": "2026-03-29", + "dwell_days": 11, + "kg_days": 53760, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-048", + "consumption_date": "2026-04-06", + "dwell_days": 16, + "kg_days": 60480, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-049", + "consumption_date": "2026-04-12", + "dwell_days": 10, + "kg_days": 60480, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-050", + "consumption_date": "2026-04-18", + "dwell_days": 12, + "kg_days": 60480, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-051", + "consumption_date": "2026-04-24", + "dwell_days": 12, + "kg_days": 60480, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-052", + "consumption_date": "2026-04-30", + "dwell_days": 13, + "kg_days": 60480, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-053", + "consumption_date": "2026-05-04", + "dwell_days": 9, + "kg_days": 52800, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-054", + "consumption_date": "2026-05-10", + "dwell_days": 10, + "kg_days": 52800, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-055", + "consumption_date": "2026-05-16", + "dwell_days": 11, + "kg_days": 52800, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-056", + "consumption_date": "2026-05-22", + "dwell_days": 12, + "kg_days": 52800, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-057", + "consumption_date": "2026-05-28", + "dwell_days": 13, + "kg_days": 52800, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 1 + } + ] + }, + "ref_date_col": "consumption_date", + "n_batches": null, + "n_movements": 12, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0", + "value_col": "dwell_days" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/procurement_highland_arabica.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/procurement_highland_arabica.json new file mode 100644 index 00000000000..015f7c06cb1 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/procurement_highland_arabica.json @@ -0,0 +1,3303 @@ +{ + "id": "procurement_highland_arabica", + "label": "Procurement: Highland Arabica", + "type": "procurement", + "durations": [ + 55, 42, 8, 63, 38, 22, 71, 30, 45, 18, 105, 35, 12, 48, 39, 41, 44, 48, 51, + 37, 40, 44, 47, 31, 36, 40, 43, 27, 31, 46, 49, 33, 37, 39, 45, 29, 33, 35, + 38, 35, 39, 41, 44, 48, 35, 37, 40, 44, 47, 33, 36, 40, 43, 27, 42, 46, 49, + 33, 37 + ], + "observations": [ + { + "date": "2022-03-15", + "value": 55 + }, + { + "date": "2022-06-10", + "value": 42 + }, + { + "date": "2022-09-22", + "value": 8 + }, + { + "date": "2022-12-05", + "value": 63 + }, + { + "date": "2023-02-14", + "value": 38 + }, + { + "date": "2023-05-30", + "value": 22 + }, + { + "date": "2023-08-17", + "value": 71 + }, + { + "date": "2023-11-02", + "value": 30 + }, + { + "date": "2024-01-25", + "value": 45 + }, + { + "date": "2024-04-11", + "value": 18 + }, + { + "date": "2024-07-09", + "value": 105 + }, + { + "date": "2024-10-03", + "value": 35 + }, + { + "date": "2025-01-20", + "value": 12 + }, + { + "date": "2025-04-08", + "value": 48 + }, + { + "date": "2025-09-05", + "value": 39 + }, + { + "date": "2025-09-11", + "value": 41 + }, + { + "date": "2025-09-17", + "value": 44 + }, + { + "date": "2025-09-23", + "value": 48 + }, + { + "date": "2025-09-29", + "value": 51 + }, + { + "date": "2025-10-06", + "value": 37 + }, + { + "date": "2025-10-12", + "value": 40 + }, + { + "date": "2025-10-18", + "value": 44 + }, + { + "date": "2025-10-24", + "value": 47 + }, + { + "date": "2025-10-30", + "value": 31 + }, + { + "date": "2025-11-04", + "value": 36 + }, + { + "date": "2025-11-10", + "value": 40 + }, + { + "date": "2025-11-16", + "value": 43 + }, + { + "date": "2025-11-22", + "value": 27 + }, + { + "date": "2025-11-28", + "value": 31 + }, + { + "date": "2025-12-05", + "value": 46 + }, + { + "date": "2025-12-11", + "value": 49 + }, + { + "date": "2025-12-17", + "value": 33 + }, + { + "date": "2025-12-23", + "value": 37 + }, + { + "date": "2025-12-29", + "value": 39 + }, + { + "date": "2026-01-06", + "value": 45 + }, + { + "date": "2026-01-12", + "value": 29 + }, + { + "date": "2026-01-18", + "value": 33 + }, + { + "date": "2026-01-24", + "value": 35 + }, + { + "date": "2026-01-30", + "value": 38 + }, + { + "date": "2026-02-04", + "value": 35 + }, + { + "date": "2026-02-10", + "value": 39 + }, + { + "date": "2026-02-16", + "value": 41 + }, + { + "date": "2026-02-22", + "value": 44 + }, + { + "date": "2026-02-28", + "value": 48 + }, + { + "date": "2026-03-05", + "value": 35 + }, + { + "date": "2026-03-11", + "value": 37 + }, + { + "date": "2026-03-17", + "value": 40 + }, + { + "date": "2026-03-23", + "value": 44 + }, + { + "date": "2026-03-29", + "value": 47 + }, + { + "date": "2026-04-06", + "value": 33 + }, + { + "date": "2026-04-12", + "value": 36 + }, + { + "date": "2026-04-18", + "value": 40 + }, + { + "date": "2026-04-24", + "value": 43 + }, + { + "date": "2026-04-30", + "value": 27 + }, + { + "date": "2026-05-04", + "value": 42 + }, + { + "date": "2026-05-10", + "value": 46 + }, + { + "date": "2026-05-16", + "value": 49 + }, + { + "date": "2026-05-22", + "value": 33 + }, + { + "date": "2026-05-28", + "value": 37 + } + ], + "monthly": [ + { + "month": "2022-03", + "mean": 55.0, + "median": 55.0, + "p10": 55.0, + "p25": 55.0, + "p75": 55.0, + "p90": 55.0, + "n": 1 + }, + { + "month": "2022-06", + "mean": 42.0, + "median": 42.0, + "p10": 42.0, + "p25": 42.0, + "p75": 42.0, + "p90": 42.0, + "n": 1 + }, + { + "month": "2022-09", + "mean": 8.0, + "median": 8.0, + "p10": 8.0, + "p25": 8.0, + "p75": 8.0, + "p90": 8.0, + "n": 1 + }, + { + "month": "2022-12", + "mean": 63.0, + "median": 63.0, + "p10": 63.0, + "p25": 63.0, + "p75": 63.0, + "p90": 63.0, + "n": 1 + }, + { + "month": "2023-02", + "mean": 38.0, + "median": 38.0, + "p10": 38.0, + "p25": 38.0, + "p75": 38.0, + "p90": 38.0, + "n": 1 + }, + { + "month": "2023-05", + "mean": 22.0, + "median": 22.0, + "p10": 22.0, + "p25": 22.0, + "p75": 22.0, + "p90": 22.0, + "n": 1 + }, + { + "month": "2023-08", + "mean": 71.0, + "median": 71.0, + "p10": 71.0, + "p25": 71.0, + "p75": 71.0, + "p90": 71.0, + "n": 1 + }, + { + "month": "2023-11", + "mean": 30.0, + "median": 30.0, + "p10": 30.0, + "p25": 30.0, + "p75": 30.0, + "p90": 30.0, + "n": 1 + }, + { + "month": "2024-01", + "mean": 45.0, + "median": 45.0, + "p10": 45.0, + "p25": 45.0, + "p75": 45.0, + "p90": 45.0, + "n": 1 + }, + { + "month": "2024-04", + "mean": 18.0, + "median": 18.0, + "p10": 18.0, + "p25": 18.0, + "p75": 18.0, + "p90": 18.0, + "n": 1 + }, + { + "month": "2024-07", + "mean": 105.0, + "median": 105.0, + "p10": 105.0, + "p25": 105.0, + "p75": 105.0, + "p90": 105.0, + "n": 1 + }, + { + "month": "2024-10", + "mean": 35.0, + "median": 35.0, + "p10": 35.0, + "p25": 35.0, + "p75": 35.0, + "p90": 35.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 12.0, + "median": 12.0, + "p10": 12.0, + "p25": 12.0, + "p75": 12.0, + "p90": 12.0, + "n": 1 + }, + { + "month": "2025-04", + "mean": 48.0, + "median": 48.0, + "p10": 48.0, + "p25": 48.0, + "p75": 48.0, + "p90": 48.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 44.6, + "median": 44.0, + "p10": 39.8, + "p25": 41.0, + "p75": 48.0, + "p90": 49.8, + "n": 5 + }, + { + "month": "2025-10", + "mean": 39.8, + "median": 40.0, + "p10": 33.4, + "p25": 37.0, + "p75": 44.0, + "p90": 45.8, + "n": 5 + }, + { + "month": "2025-11", + "mean": 35.4, + "median": 36.0, + "p10": 28.6, + "p25": 31.0, + "p75": 40.0, + "p90": 41.8, + "n": 5 + }, + { + "month": "2025-12", + "mean": 40.8, + "median": 39.0, + "p10": 34.6, + "p25": 37.0, + "p75": 46.0, + "p90": 47.8, + "n": 5 + }, + { + "month": "2026-01", + "mean": 36.0, + "median": 35.0, + "p10": 30.6, + "p25": 33.0, + "p75": 38.0, + "p90": 42.2, + "n": 5 + }, + { + "month": "2026-02", + "mean": 41.4, + "median": 41.0, + "p10": 36.6, + "p25": 39.0, + "p75": 44.0, + "p90": 46.4, + "n": 5 + }, + { + "month": "2026-03", + "mean": 40.6, + "median": 40.0, + "p10": 35.8, + "p25": 37.0, + "p75": 44.0, + "p90": 45.8, + "n": 5 + }, + { + "month": "2026-04", + "mean": 35.8, + "median": 36.0, + "p10": 29.4, + "p25": 33.0, + "p75": 40.0, + "p90": 41.8, + "n": 5 + }, + { + "month": "2026-05", + "mean": 41.4, + "median": 42.0, + "p10": 34.6, + "p25": 37.0, + "p75": 46.0, + "p90": 47.8, + "n": 5 + } + ], + "stats": { + "n": 59, + "mean": 40.2, + "median": 40.0, + "std": 13.3, + "min": 8, + "max": 105, + "p25": 35.0, + "p75": 45.0, + "p85": 48.0, + "p95": 55.8 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 98.3, + "annotations": [ + { + "date": "2023-09-01", + "label": "Supplier change for Highland Arabica" + } + ], + "cost": null, + "detail_rows": { + "columns": [ + { + "key": "matnr", + "sap_field": "MATNR", + "sap_table": "EKPO", + "label": "Material", + "unit": null + }, + { + "key": "po_number", + "sap_field": "EBELN", + "sap_table": "EKKO", + "label": "PO Number", + "unit": null + }, + { + "key": "po_item", + "sap_field": "EBELP", + "sap_table": "EKPO", + "label": "PO Item", + "unit": null + }, + { + "key": "vendor_id", + "sap_field": "LIFNR", + "sap_table": "EKKO", + "label": "Vendor (LIFNR)", + "unit": null + }, + { + "key": "vendor_name", + "sap_field": "NAME1", + "sap_table": "LFA1", + "label": "Vendor Name", + "unit": null + }, + { + "key": "po_date", + "sap_field": "BEDAT", + "sap_table": "EKKO", + "label": "PO Date", + "unit": null + }, + { + "key": "promised_date", + "sap_field": "EINDT", + "sap_table": "EKET", + "label": "Promised Date", + "unit": null + }, + { + "key": "sched_qty", + "sap_field": "MENGE", + "sap_table": "EKET", + "label": "Scheduled Qty", + "unit": null + }, + { + "key": "gr_qty_to_date", + "sap_field": "WEMNG", + "sap_table": "EKET", + "label": "GR Qty (to date)", + "unit": null + }, + { + "key": "gr_mblnr", + "sap_field": "MBLNR", + "sap_table": "MSEG", + "label": "Goods Receipt Document", + "unit": null + }, + { + "key": "first_gr_date", + "sap_field": "BUDAT", + "sap_table": "MKPF", + "label": "Goods Receipt Date", + "unit": null + }, + { + "key": "days_vs_promised", + "sap_field": null, + "sap_table": null, + "label": "Days vs Promised", + "unit": "d" + }, + { + "key": "lead_time_days", + "sap_field": null, + "sap_table": null, + "label": "Lead Time (days)", + "unit": "d" + } + ], + "rows": [ + { + "matnr": "demo_highland_arabica", + "po_number": "4500000003", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-14", + "promised_date": "2025-06-05", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000003", + "first_gr_date": "2025-06-03", + "days_vs_promised": -2, + "lead_time_days": 20 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000000", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-04-23", + "promised_date": "2025-06-08", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000000", + "first_gr_date": "2025-06-06", + "days_vs_promised": -2, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000005", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-27", + "promised_date": "2025-06-16", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000005", + "first_gr_date": "2025-06-13", + "days_vs_promised": -3, + "lead_time_days": 17 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000001", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-01", + "promised_date": "2025-06-17", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000001", + "first_gr_date": "2025-06-15", + "days_vs_promised": -2, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000002", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-06", + "promised_date": "2025-06-20", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000002", + "first_gr_date": "2025-06-20", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000004", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-22", + "promised_date": "2025-06-24", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000004", + "first_gr_date": "2025-06-21", + "days_vs_promised": -3, + "lead_time_days": 30 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000006", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-02", + "promised_date": "2025-07-10", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000006", + "first_gr_date": "2025-07-09", + "days_vs_promised": -1, + "lead_time_days": 37 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000007", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-11", + "promised_date": "2025-07-06", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000007", + "first_gr_date": "2025-07-10", + "days_vs_promised": 4, + "lead_time_days": 29 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000009", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-25", + "promised_date": "2025-07-23", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000009", + "first_gr_date": "2025-07-21", + "days_vs_promised": -2, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000010", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-30", + "promised_date": "2025-07-26", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000010", + "first_gr_date": "2025-07-26", + "days_vs_promised": 0, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000008", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-19", + "promised_date": "2025-08-07", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000008", + "first_gr_date": "2025-08-07", + "days_vs_promised": 0, + "lead_time_days": 49 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000012", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-07-15", + "promised_date": "2025-08-07", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000012", + "first_gr_date": "2025-08-07", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000013", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-07-23", + "promised_date": "2025-08-20", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000013", + "first_gr_date": "2025-08-20", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000014", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-07-28", + "promised_date": "2025-08-23", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000014", + "first_gr_date": "2025-08-23", + "days_vs_promised": 0, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000011", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-07-07", + "promised_date": "2025-08-19", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000011", + "first_gr_date": "2025-08-25", + "days_vs_promised": 6, + "lead_time_days": 49 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000015", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-08-04", + "promised_date": "2025-08-27", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000015", + "first_gr_date": "2025-08-27", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000016", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-08-13", + "promised_date": "2025-09-25", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000016", + "first_gr_date": "2025-09-25", + "days_vs_promised": 0, + "lead_time_days": 43 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000019", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-09-04", + "promised_date": "2025-09-28", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000019", + "first_gr_date": "2025-09-27", + "days_vs_promised": -1, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000020", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-09-09", + "promised_date": "2025-10-03", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000020", + "first_gr_date": "2025-10-03", + "days_vs_promised": 0, + "lead_time_days": 24 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000017", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-08-21", + "promised_date": "2025-10-05", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000017", + "first_gr_date": "2025-10-05", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000018", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-08-26", + "promised_date": "2025-10-12", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000018", + "first_gr_date": "2025-10-10", + "days_vs_promised": -2, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000022", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-09-23", + "promised_date": "2025-10-17", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000022", + "first_gr_date": "2025-10-16", + "days_vs_promised": -1, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000021", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-09-17", + "promised_date": "2025-10-22", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000021", + "first_gr_date": "2025-10-19", + "days_vs_promised": -3, + "lead_time_days": 32 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000023", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-01", + "promised_date": "2025-10-29", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000023", + "first_gr_date": "2025-10-31", + "days_vs_promised": 2, + "lead_time_days": 30 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000024", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-08", + "promised_date": "2025-11-01", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000024", + "first_gr_date": "2025-11-01", + "days_vs_promised": 0, + "lead_time_days": 24 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000025", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-14", + "promised_date": "2025-11-19", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000025", + "first_gr_date": "2025-11-17", + "days_vs_promised": -2, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000027", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-29", + "promised_date": "2025-12-01", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000027", + "first_gr_date": "2025-11-29", + "days_vs_promised": -2, + "lead_time_days": 31 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000028", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-11-04", + "promised_date": "2025-12-03", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000028", + "first_gr_date": "2025-12-03", + "days_vs_promised": 0, + "lead_time_days": 29 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000026", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-21", + "promised_date": "2025-12-04", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000026", + "first_gr_date": "2025-12-04", + "days_vs_promised": 0, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000029", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-11-10", + "promised_date": "2025-12-19", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000029", + "first_gr_date": "2025-12-19", + "days_vs_promised": 0, + "lead_time_days": 39 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000030", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-11-20", + "promised_date": "2025-12-23", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000030", + "first_gr_date": "2025-12-24", + "days_vs_promised": 1, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000034", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000034", + "first_gr_date": "2026-01-11", + "days_vs_promised": -2, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000031", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-11-27", + "promised_date": "2026-01-13", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000031", + "first_gr_date": "2026-01-13", + "days_vs_promised": 0, + "lead_time_days": 47 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000033", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-10", + "promised_date": "2026-01-15", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000033", + "first_gr_date": "2026-01-13", + "days_vs_promised": -2, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000035", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-24", + "promised_date": "2026-01-13", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000035", + "first_gr_date": "2026-01-13", + "days_vs_promised": 0, + "lead_time_days": 20 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000032", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-04", + "promised_date": "2026-01-17", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000032", + "first_gr_date": "2026-01-17", + "days_vs_promised": 0, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000036", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-31", + "promised_date": "2026-02-01", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000036", + "first_gr_date": "2026-01-31", + "days_vs_promised": -1, + "lead_time_days": 31 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000037", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-01-08", + "promised_date": "2026-02-10", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000037", + "first_gr_date": "2026-02-08", + "days_vs_promised": -2, + "lead_time_days": 31 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000038", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-01-13", + "promised_date": "2026-02-13", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000038", + "first_gr_date": "2026-02-11", + "days_vs_promised": -2, + "lead_time_days": 29 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000040", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-01-29", + "promised_date": "2026-02-25", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000040", + "first_gr_date": "2026-02-25", + "days_vs_promised": 0, + "lead_time_days": 27 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000039", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-01-20", + "promised_date": "2026-03-01", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000039", + "first_gr_date": "2026-03-01", + "days_vs_promised": 0, + "lead_time_days": 40 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000041", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-02-03", + "promised_date": "2026-03-07", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000041", + "first_gr_date": "2026-03-07", + "days_vs_promised": 0, + "lead_time_days": 32 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000042", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-02-11", + "promised_date": "2026-03-18", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000042", + "first_gr_date": "2026-03-18", + "days_vs_promised": 0, + "lead_time_days": 35 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000043", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-02-16", + "promised_date": "2026-03-23", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000043", + "first_gr_date": "2026-03-22", + "days_vs_promised": -1, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000044", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-02-26", + "promised_date": "2026-03-24", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000044", + "first_gr_date": "2026-03-24", + "days_vs_promised": 0, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000045", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-04", + "promised_date": "2026-03-27", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000045", + "first_gr_date": "2026-03-27", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000057", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-02", + "promised_date": "2026-04-01", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000057", + "first_gr_date": "2026-04-01", + "days_vs_promised": 0, + "lead_time_days": 30 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000068", + "po_item": "00010", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-02-24", + "promised_date": "2026-04-03", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000068", + "first_gr_date": "2026-04-07", + "days_vs_promised": 4, + "lead_time_days": 42 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000069", + "po_item": "00020", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-04", + "promised_date": "2026-04-06", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000069", + "first_gr_date": "2026-04-09", + "days_vs_promised": 3, + "lead_time_days": 36 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000056", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-25", + "promised_date": "2026-04-09", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000056", + "first_gr_date": "2026-04-10", + "days_vs_promised": 1, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000058", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-11", + "promised_date": "2026-04-07", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000058", + "first_gr_date": "2026-04-12", + "days_vs_promised": 5, + "lead_time_days": 32 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000071", + "po_item": "00040", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-17", + "promised_date": "2026-04-16", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000071", + "first_gr_date": "2026-04-13", + "days_vs_promised": -3, + "lead_time_days": 27 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000060", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-24", + "promised_date": "2026-04-13", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000060", + "first_gr_date": "2026-04-14", + "days_vs_promised": 1, + "lead_time_days": 21 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000048", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-25", + "promised_date": "2026-04-22", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000048", + "first_gr_date": "2026-04-22", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000050", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-04-07", + "promised_date": "2026-04-30", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000050", + "first_gr_date": "2026-04-27", + "days_vs_promised": -3, + "lead_time_days": 20 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000046", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-10", + "promised_date": "2026-04-26", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000046", + "first_gr_date": "2026-04-29", + "days_vs_promised": 3, + "lead_time_days": 50 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000047", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-18", + "promised_date": "2026-05-03", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000047", + "first_gr_date": "2026-05-01", + "days_vs_promised": -2, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000059", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000059", + "first_gr_date": "2026-05-01", + "days_vs_promised": 0, + "lead_time_days": 46 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000049", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-31", + "promised_date": "2026-05-09", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000049", + "first_gr_date": "2026-05-06", + "days_vs_promised": -3, + "lead_time_days": 36 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000074", + "po_item": "00020", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-04-08", + "promised_date": "2026-05-06", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000074", + "first_gr_date": "2026-05-06", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000063", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-13", + "promised_date": "2026-05-07", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000063", + "first_gr_date": "2026-05-07", + "days_vs_promised": 0, + "lead_time_days": 24 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000051", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-04-15", + "promised_date": "2026-05-11", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000051", + "first_gr_date": "2026-05-11", + "days_vs_promised": 0, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000070", + "po_item": "00030", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-09", + "promised_date": "2026-04-22", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000070", + "first_gr_date": "2026-05-12", + "days_vs_promised": 20, + "lead_time_days": 64 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000075", + "po_item": "00030", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-04-13", + "promised_date": "2026-05-18", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000075", + "first_gr_date": "2026-05-15", + "days_vs_promised": -3, + "lead_time_days": 32 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000061", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-01", + "promised_date": "2026-05-21", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000061", + "first_gr_date": "2026-05-18", + "days_vs_promised": -3, + "lead_time_days": 47 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000065", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-27", + "promised_date": "2026-05-19", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000065", + "first_gr_date": "2026-05-19", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000072", + "po_item": "00050", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-24", + "promised_date": "2026-05-03", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000072", + "first_gr_date": "2026-05-21", + "days_vs_promised": 18, + "lead_time_days": 58 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000062", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000062", + "first_gr_date": "2026-05-27", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000053", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-04-28", + "promised_date": "2026-05-29", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000053", + "first_gr_date": "2026-05-29", + "days_vs_promised": 0, + "lead_time_days": 31 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000077", + "po_item": "00050", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-04-29", + "promised_date": "2026-06-02", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000077", + "first_gr_date": "2026-06-02", + "days_vs_promised": 0, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000078", + "po_item": "00010", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-05-06", + "promised_date": "2026-06-06", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000078", + "first_gr_date": "2026-06-03", + "days_vs_promised": -3, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000076", + "po_item": "00040", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-04-20", + "promised_date": "2026-06-04", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000076", + "first_gr_date": "2026-06-04", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000064", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-21", + "promised_date": "2026-06-06", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000064", + "first_gr_date": "2026-06-05", + "days_vs_promised": -1, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000052", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-04-22", + "promised_date": "2026-06-06", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000052", + "first_gr_date": "2026-06-06", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000073", + "po_item": "00010", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-31", + "promised_date": "2026-05-08", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000073", + "first_gr_date": "2026-06-07", + "days_vs_promised": 30, + "lead_time_days": 68 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000079", + "po_item": "00020", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-05-12", + "promised_date": "2026-06-09", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000079", + "first_gr_date": "2026-06-09", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000054", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-05-07", + "promised_date": "2026-06-13", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000054", + "first_gr_date": "2026-06-13", + "days_vs_promised": 0, + "lead_time_days": 37 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000055", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-05-11", + "promised_date": "2026-06-15", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000055", + "first_gr_date": "2026-06-13", + "days_vs_promised": -2, + "lead_time_days": 33 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000066", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-05-04", + "promised_date": "2026-06-16", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000066", + "first_gr_date": "2026-06-16", + "days_vs_promised": 0, + "lead_time_days": 43 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000067", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-05-14", + "promised_date": "2026-06-04", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000067", + "first_gr_date": "2026-06-22", + "days_vs_promised": 18, + "lead_time_days": 39 + } + ] + }, + "ref_date_col": "first_gr_date", + "n_batches": null, + "n_movements": 14, + "yield_data": null, + "consumption_data": null, + "supplier_otif": { + "primary_vendor": { + "id": "D0002", + "name": "Cascadia Coffee Traders" + }, + "vendors": [ + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "n_lines": 56, + "n_late": 5, + "on_time_pct": 91.1, + "in_full_pct": 100.0, + "otif_pct": 91.1, + "mean_days_late_all": 0.29, + "mean_days_late_when_late": 3.2, + "median_days_late_when_late": 3, + "max_days_late": 6, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 8.9, + "ge_3d_pct": 5.4, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + } + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "n_lines": 12, + "n_late": 4, + "on_time_pct": 66.7, + "in_full_pct": 100.0, + "otif_pct": 66.7, + "mean_days_late_all": 2.08, + "mean_days_late_when_late": 6.2, + "median_days_late_when_late": 3.0, + "max_days_late": 18, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 33.3, + "ge_3d_pct": 16.7, + "ge_7d_pct": 8.3, + "ge_14d_pct": 8.3 + } + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "n_lines": 12, + "n_late": 5, + "on_time_pct": 58.3, + "in_full_pct": 100.0, + "otif_pct": 58.3, + "mean_days_late_all": 6.25, + "mean_days_late_when_late": 15, + "median_days_late_when_late": 18, + "max_days_late": 30, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 41.7, + "ge_3d_pct": 41.7, + "ge_7d_pct": 25.0, + "ge_14d_pct": 25.0 + } + } + ], + "worst_events": [ + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000073", + "po_item": "00010", + "po_date": "2026-03-31", + "promised_date": "2026-05-08", + "first_gr_date": "2026-06-07", + "days_late": 30, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000070", + "po_item": "00030", + "po_date": "2026-03-09", + "promised_date": "2026-04-22", + "first_gr_date": "2026-05-12", + "days_late": 20, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000067", + "po_item": "00020", + "po_date": "2026-05-14", + "promised_date": "2026-06-04", + "first_gr_date": "2026-06-22", + "days_late": 18, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000072", + "po_item": "00050", + "po_date": "2026-03-24", + "promised_date": "2026-05-03", + "first_gr_date": "2026-05-21", + "days_late": 18, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000011", + "po_item": "00020", + "po_date": "2025-07-07", + "promised_date": "2025-08-19", + "first_gr_date": "2025-08-25", + "days_late": 6, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000058", + "po_item": "00030", + "po_date": "2026-03-11", + "promised_date": "2026-04-07", + "first_gr_date": "2026-04-12", + "days_late": 5, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0 + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000007", + "po_item": "00030", + "po_date": "2025-06-11", + "promised_date": "2025-07-06", + "first_gr_date": "2025-07-10", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000068", + "po_item": "00010", + "po_date": "2026-02-24", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-07", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000046", + "po_item": "00020", + "po_date": "2026-03-10", + "promised_date": "2026-04-26", + "first_gr_date": "2026-04-29", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000069", + "po_item": "00020", + "po_date": "2026-03-04", + "promised_date": "2026-04-06", + "first_gr_date": "2026-04-09", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + } + ], + "coverage_pct": 100.0, + "n_lines": 80, + "data_quality_note": "100% in-full across every line \u2014 likely WEMNG = MENGE is auto-stamped at goods receipt rather than measured. Treat the in-full metric as a data-entry artifact at this site.", + "tolerance_days": 0, + "under_tolerance_pct": 0.05, + "lines": [ + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000000", + "po_item": "00010", + "po_date": "2025-04-23", + "promised_date": "2025-06-08", + "first_gr_date": "2025-06-06", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000001", + "po_item": "00020", + "po_date": "2025-05-01", + "promised_date": "2025-06-17", + "first_gr_date": "2025-06-15", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000002", + "po_item": "00030", + "po_date": "2025-05-06", + "promised_date": "2025-06-20", + "first_gr_date": "2025-06-20", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000003", + "po_item": "00040", + "po_date": "2025-05-14", + "promised_date": "2025-06-05", + "first_gr_date": "2025-06-03", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000004", + "po_item": "00050", + "po_date": "2025-05-22", + "promised_date": "2025-06-24", + "first_gr_date": "2025-06-21", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000005", + "po_item": "00010", + "po_date": "2025-05-27", + "promised_date": "2025-06-16", + "first_gr_date": "2025-06-13", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000006", + "po_item": "00020", + "po_date": "2025-06-02", + "promised_date": "2025-07-10", + "first_gr_date": "2025-07-09", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000007", + "po_item": "00030", + "po_date": "2025-06-11", + "promised_date": "2025-07-06", + "first_gr_date": "2025-07-10", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000008", + "po_item": "00040", + "po_date": "2025-06-19", + "promised_date": "2025-08-07", + "first_gr_date": "2025-08-07", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000009", + "po_item": "00050", + "po_date": "2025-06-25", + "promised_date": "2025-07-23", + "first_gr_date": "2025-07-21", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000010", + "po_item": "00010", + "po_date": "2025-06-30", + "promised_date": "2025-07-26", + "first_gr_date": "2025-07-26", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000011", + "po_item": "00020", + "po_date": "2025-07-07", + "promised_date": "2025-08-19", + "first_gr_date": "2025-08-25", + "days_late": 6, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000012", + "po_item": "00030", + "po_date": "2025-07-15", + "promised_date": "2025-08-07", + "first_gr_date": "2025-08-07", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000013", + "po_item": "00040", + "po_date": "2025-07-23", + "promised_date": "2025-08-20", + "first_gr_date": "2025-08-20", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000014", + "po_item": "00050", + "po_date": "2025-07-28", + "promised_date": "2025-08-23", + "first_gr_date": "2025-08-23", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000015", + "po_item": "00010", + "po_date": "2025-08-04", + "promised_date": "2025-08-27", + "first_gr_date": "2025-08-27", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000016", + "po_item": "00020", + "po_date": "2025-08-13", + "promised_date": "2025-09-25", + "first_gr_date": "2025-09-25", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000017", + "po_item": "00030", + "po_date": "2025-08-21", + "promised_date": "2025-10-05", + "first_gr_date": "2025-10-05", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000018", + "po_item": "00040", + "po_date": "2025-08-26", + "promised_date": "2025-10-12", + "first_gr_date": "2025-10-10", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000019", + "po_item": "00050", + "po_date": "2025-09-04", + "promised_date": "2025-09-28", + "first_gr_date": "2025-09-27", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000020", + "po_item": "00010", + "po_date": "2025-09-09", + "promised_date": "2025-10-03", + "first_gr_date": "2025-10-03", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000021", + "po_item": "00020", + "po_date": "2025-09-17", + "promised_date": "2025-10-22", + "first_gr_date": "2025-10-19", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000022", + "po_item": "00030", + "po_date": "2025-09-23", + "promised_date": "2025-10-17", + "first_gr_date": "2025-10-16", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000023", + "po_item": "00040", + "po_date": "2025-10-01", + "promised_date": "2025-10-29", + "first_gr_date": "2025-10-31", + "days_late": 2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000024", + "po_item": "00050", + "po_date": "2025-10-08", + "promised_date": "2025-11-01", + "first_gr_date": "2025-11-01", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000025", + "po_item": "00010", + "po_date": "2025-10-14", + "promised_date": "2025-11-19", + "first_gr_date": "2025-11-17", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000026", + "po_item": "00020", + "po_date": "2025-10-21", + "promised_date": "2025-12-04", + "first_gr_date": "2025-12-04", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000027", + "po_item": "00030", + "po_date": "2025-10-29", + "promised_date": "2025-12-01", + "first_gr_date": "2025-11-29", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000028", + "po_item": "00040", + "po_date": "2025-11-04", + "promised_date": "2025-12-03", + "first_gr_date": "2025-12-03", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000029", + "po_item": "00050", + "po_date": "2025-11-10", + "promised_date": "2025-12-19", + "first_gr_date": "2025-12-19", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000030", + "po_item": "00010", + "po_date": "2025-11-20", + "promised_date": "2025-12-23", + "first_gr_date": "2025-12-24", + "days_late": 1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000031", + "po_item": "00020", + "po_date": "2025-11-27", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-13", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000032", + "po_item": "00030", + "po_date": "2025-12-04", + "promised_date": "2026-01-17", + "first_gr_date": "2026-01-17", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000033", + "po_item": "00040", + "po_date": "2025-12-10", + "promised_date": "2026-01-15", + "first_gr_date": "2026-01-13", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000034", + "po_item": "00050", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-11", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000035", + "po_item": "00010", + "po_date": "2025-12-24", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-13", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000036", + "po_item": "00020", + "po_date": "2025-12-31", + "promised_date": "2026-02-01", + "first_gr_date": "2026-01-31", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000037", + "po_item": "00030", + "po_date": "2026-01-08", + "promised_date": "2026-02-10", + "first_gr_date": "2026-02-08", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000038", + "po_item": "00040", + "po_date": "2026-01-13", + "promised_date": "2026-02-13", + "first_gr_date": "2026-02-11", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000039", + "po_item": "00050", + "po_date": "2026-01-20", + "promised_date": "2026-03-01", + "first_gr_date": "2026-03-01", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000040", + "po_item": "00010", + "po_date": "2026-01-29", + "promised_date": "2026-02-25", + "first_gr_date": "2026-02-25", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000041", + "po_item": "00020", + "po_date": "2026-02-03", + "promised_date": "2026-03-07", + "first_gr_date": "2026-03-07", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000042", + "po_item": "00030", + "po_date": "2026-02-11", + "promised_date": "2026-03-18", + "first_gr_date": "2026-03-18", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000043", + "po_item": "00040", + "po_date": "2026-02-16", + "promised_date": "2026-03-23", + "first_gr_date": "2026-03-22", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000044", + "po_item": "00050", + "po_date": "2026-02-26", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-24", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000045", + "po_item": "00010", + "po_date": "2026-03-04", + "promised_date": "2026-03-27", + "first_gr_date": "2026-03-27", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000046", + "po_item": "00020", + "po_date": "2026-03-10", + "promised_date": "2026-04-26", + "first_gr_date": "2026-04-29", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000047", + "po_item": "00030", + "po_date": "2026-03-18", + "promised_date": "2026-05-03", + "first_gr_date": "2026-05-01", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000048", + "po_item": "00040", + "po_date": "2026-03-25", + "promised_date": "2026-04-22", + "first_gr_date": "2026-04-22", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000049", + "po_item": "00050", + "po_date": "2026-03-31", + "promised_date": "2026-05-09", + "first_gr_date": "2026-05-06", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000050", + "po_item": "00010", + "po_date": "2026-04-07", + "promised_date": "2026-04-30", + "first_gr_date": "2026-04-27", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000051", + "po_item": "00020", + "po_date": "2026-04-15", + "promised_date": "2026-05-11", + "first_gr_date": "2026-05-11", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000052", + "po_item": "00030", + "po_date": "2026-04-22", + "promised_date": "2026-06-06", + "first_gr_date": "2026-06-06", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000053", + "po_item": "00040", + "po_date": "2026-04-28", + "promised_date": "2026-05-29", + "first_gr_date": "2026-05-29", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000054", + "po_item": "00050", + "po_date": "2026-05-07", + "promised_date": "2026-06-13", + "first_gr_date": "2026-06-13", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000055", + "po_item": "00010", + "po_date": "2026-05-11", + "promised_date": "2026-06-15", + "first_gr_date": "2026-06-13", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000056", + "po_item": "00010", + "po_date": "2026-02-25", + "promised_date": "2026-04-09", + "first_gr_date": "2026-04-10", + "days_late": 1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000057", + "po_item": "00020", + "po_date": "2026-03-02", + "promised_date": "2026-04-01", + "first_gr_date": "2026-04-01", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000058", + "po_item": "00030", + "po_date": "2026-03-11", + "promised_date": "2026-04-07", + "first_gr_date": "2026-04-12", + "days_late": 5, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000059", + "po_item": "00040", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "first_gr_date": "2026-05-01", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000060", + "po_item": "00050", + "po_date": "2026-03-24", + "promised_date": "2026-04-13", + "first_gr_date": "2026-04-14", + "days_late": 1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000061", + "po_item": "00010", + "po_date": "2026-04-01", + "promised_date": "2026-05-21", + "first_gr_date": "2026-05-18", + "days_late": -3, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000062", + "po_item": "00020", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "first_gr_date": "2026-05-27", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000063", + "po_item": "00030", + "po_date": "2026-04-13", + "promised_date": "2026-05-07", + "first_gr_date": "2026-05-07", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000064", + "po_item": "00040", + "po_date": "2026-04-21", + "promised_date": "2026-06-06", + "first_gr_date": "2026-06-05", + "days_late": -1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000065", + "po_item": "00050", + "po_date": "2026-04-27", + "promised_date": "2026-05-19", + "first_gr_date": "2026-05-19", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000066", + "po_item": "00010", + "po_date": "2026-05-04", + "promised_date": "2026-06-16", + "first_gr_date": "2026-06-16", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000067", + "po_item": "00020", + "po_date": "2026-05-14", + "promised_date": "2026-06-04", + "first_gr_date": "2026-06-22", + "days_late": 18, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000068", + "po_item": "00010", + "po_date": "2026-02-24", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-07", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000069", + "po_item": "00020", + "po_date": "2026-03-04", + "promised_date": "2026-04-06", + "first_gr_date": "2026-04-09", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000070", + "po_item": "00030", + "po_date": "2026-03-09", + "promised_date": "2026-04-22", + "first_gr_date": "2026-05-12", + "days_late": 20, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000071", + "po_item": "00040", + "po_date": "2026-03-17", + "promised_date": "2026-04-16", + "first_gr_date": "2026-04-13", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000072", + "po_item": "00050", + "po_date": "2026-03-24", + "promised_date": "2026-05-03", + "first_gr_date": "2026-05-21", + "days_late": 18, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000073", + "po_item": "00010", + "po_date": "2026-03-31", + "promised_date": "2026-05-08", + "first_gr_date": "2026-06-07", + "days_late": 30, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000074", + "po_item": "00020", + "po_date": "2026-04-08", + "promised_date": "2026-05-06", + "first_gr_date": "2026-05-06", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000075", + "po_item": "00030", + "po_date": "2026-04-13", + "promised_date": "2026-05-18", + "first_gr_date": "2026-05-15", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000076", + "po_item": "00040", + "po_date": "2026-04-20", + "promised_date": "2026-06-04", + "first_gr_date": "2026-06-04", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000077", + "po_item": "00050", + "po_date": "2026-04-29", + "promised_date": "2026-06-02", + "first_gr_date": "2026-06-02", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000078", + "po_item": "00010", + "po_date": "2026-05-06", + "promised_date": "2026-06-06", + "first_gr_date": "2026-06-03", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000079", + "po_item": "00020", + "po_date": "2026-05-12", + "promised_date": "2026-06-09", + "first_gr_date": "2026-06-09", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + } + ] + }, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/procurement_lowland_robusta.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/procurement_lowland_robusta.json new file mode 100644 index 00000000000..0d9aa5a31d6 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/procurement_lowland_robusta.json @@ -0,0 +1,2573 @@ +{ + "id": "procurement_lowland_robusta", + "label": "Procurement: Lowland Robusta", + "type": "procurement", + "durations": [ + 32, 48, 5, 67, 25, 41, 15, 82, 38, 20, 52, 10, 44, 28, 35, 18, 55, 26, 26, + 29, 31, 34, 37, 26, 28, 31, 33, 36, 33, 36, 38, 42, 28, 32, 35, 38, 24, 28, + 40, 43, 29, 33, 35, 40, 26, 29, 31, 34, 22, 26, 28, 31, 33, 31, 33, 36, 38, + 42, 30, 32, 35, 38, 24 + ], + "observations": [ + { + "date": "2022-02-08", + "value": 32 + }, + { + "date": "2022-04-19", + "value": 48 + }, + { + "date": "2022-07-11", + "value": 5 + }, + { + "date": "2022-09-28", + "value": 67 + }, + { + "date": "2022-12-15", + "value": 25 + }, + { + "date": "2023-03-07", + "value": 41 + }, + { + "date": "2023-05-22", + "value": 15 + }, + { + "date": "2023-08-09", + "value": 82 + }, + { + "date": "2023-10-30", + "value": 38 + }, + { + "date": "2024-01-16", + "value": 20 + }, + { + "date": "2024-03-25", + "value": 52 + }, + { + "date": "2024-06-12", + "value": 10 + }, + { + "date": "2024-08-28", + "value": 44 + }, + { + "date": "2024-11-14", + "value": 28 + }, + { + "date": "2025-01-06", + "value": 35 + }, + { + "date": "2025-03-18", + "value": 18 + }, + { + "date": "2025-05-29", + "value": 55 + }, + { + "date": "2025-08-12", + "value": 26 + }, + { + "date": "2025-09-04", + "value": 26 + }, + { + "date": "2025-09-10", + "value": 29 + }, + { + "date": "2025-09-16", + "value": 31 + }, + { + "date": "2025-09-22", + "value": 34 + }, + { + "date": "2025-09-28", + "value": 37 + }, + { + "date": "2025-10-05", + "value": 26 + }, + { + "date": "2025-10-11", + "value": 28 + }, + { + "date": "2025-10-17", + "value": 31 + }, + { + "date": "2025-10-23", + "value": 33 + }, + { + "date": "2025-10-29", + "value": 36 + }, + { + "date": "2025-11-06", + "value": 33 + }, + { + "date": "2025-11-12", + "value": 36 + }, + { + "date": "2025-11-18", + "value": 38 + }, + { + "date": "2025-11-24", + "value": 42 + }, + { + "date": "2025-11-30", + "value": 28 + }, + { + "date": "2025-12-04", + "value": 32 + }, + { + "date": "2025-12-10", + "value": 35 + }, + { + "date": "2025-12-16", + "value": 38 + }, + { + "date": "2025-12-22", + "value": 24 + }, + { + "date": "2025-12-28", + "value": 28 + }, + { + "date": "2026-01-05", + "value": 40 + }, + { + "date": "2026-01-11", + "value": 43 + }, + { + "date": "2026-01-17", + "value": 29 + }, + { + "date": "2026-01-23", + "value": 33 + }, + { + "date": "2026-01-29", + "value": 35 + }, + { + "date": "2026-02-06", + "value": 40 + }, + { + "date": "2026-02-12", + "value": 26 + }, + { + "date": "2026-02-18", + "value": 29 + }, + { + "date": "2026-02-24", + "value": 31 + }, + { + "date": "2026-02-30", + "value": 34 + }, + { + "date": "2026-03-04", + "value": 22 + }, + { + "date": "2026-03-10", + "value": 26 + }, + { + "date": "2026-03-16", + "value": 28 + }, + { + "date": "2026-03-22", + "value": 31 + }, + { + "date": "2026-03-28", + "value": 33 + }, + { + "date": "2026-04-05", + "value": 31 + }, + { + "date": "2026-04-11", + "value": 33 + }, + { + "date": "2026-04-17", + "value": 36 + }, + { + "date": "2026-04-23", + "value": 38 + }, + { + "date": "2026-04-29", + "value": 42 + }, + { + "date": "2026-05-06", + "value": 30 + }, + { + "date": "2026-05-12", + "value": 32 + }, + { + "date": "2026-05-18", + "value": 35 + }, + { + "date": "2026-05-24", + "value": 38 + }, + { + "date": "2026-05-30", + "value": 24 + } + ], + "monthly": [ + { + "month": "2022-02", + "mean": 32.0, + "median": 32.0, + "p10": 32.0, + "p25": 32.0, + "p75": 32.0, + "p90": 32.0, + "n": 1 + }, + { + "month": "2022-04", + "mean": 48.0, + "median": 48.0, + "p10": 48.0, + "p25": 48.0, + "p75": 48.0, + "p90": 48.0, + "n": 1 + }, + { + "month": "2022-07", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2022-09", + "mean": 67.0, + "median": 67.0, + "p10": 67.0, + "p25": 67.0, + "p75": 67.0, + "p90": 67.0, + "n": 1 + }, + { + "month": "2022-12", + "mean": 25.0, + "median": 25.0, + "p10": 25.0, + "p25": 25.0, + "p75": 25.0, + "p90": 25.0, + "n": 1 + }, + { + "month": "2023-03", + "mean": 41.0, + "median": 41.0, + "p10": 41.0, + "p25": 41.0, + "p75": 41.0, + "p90": 41.0, + "n": 1 + }, + { + "month": "2023-05", + "mean": 15.0, + "median": 15.0, + "p10": 15.0, + "p25": 15.0, + "p75": 15.0, + "p90": 15.0, + "n": 1 + }, + { + "month": "2023-08", + "mean": 82.0, + "median": 82.0, + "p10": 82.0, + "p25": 82.0, + "p75": 82.0, + "p90": 82.0, + "n": 1 + }, + { + "month": "2023-10", + "mean": 38.0, + "median": 38.0, + "p10": 38.0, + "p25": 38.0, + "p75": 38.0, + "p90": 38.0, + "n": 1 + }, + { + "month": "2024-01", + "mean": 20.0, + "median": 20.0, + "p10": 20.0, + "p25": 20.0, + "p75": 20.0, + "p90": 20.0, + "n": 1 + }, + { + "month": "2024-03", + "mean": 52.0, + "median": 52.0, + "p10": 52.0, + "p25": 52.0, + "p75": 52.0, + "p90": 52.0, + "n": 1 + }, + { + "month": "2024-06", + "mean": 10.0, + "median": 10.0, + "p10": 10.0, + "p25": 10.0, + "p75": 10.0, + "p90": 10.0, + "n": 1 + }, + { + "month": "2024-08", + "mean": 44.0, + "median": 44.0, + "p10": 44.0, + "p25": 44.0, + "p75": 44.0, + "p90": 44.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 28.0, + "median": 28.0, + "p10": 28.0, + "p25": 28.0, + "p75": 28.0, + "p90": 28.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 35.0, + "median": 35.0, + "p10": 35.0, + "p25": 35.0, + "p75": 35.0, + "p90": 35.0, + "n": 1 + }, + { + "month": "2025-03", + "mean": 18.0, + "median": 18.0, + "p10": 18.0, + "p25": 18.0, + "p75": 18.0, + "p90": 18.0, + "n": 1 + }, + { + "month": "2025-05", + "mean": 55.0, + "median": 55.0, + "p10": 55.0, + "p25": 55.0, + "p75": 55.0, + "p90": 55.0, + "n": 1 + }, + { + "month": "2025-08", + "mean": 26.0, + "median": 26.0, + "p10": 26.0, + "p25": 26.0, + "p75": 26.0, + "p90": 26.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 31.4, + "median": 31.0, + "p10": 27.2, + "p25": 29.0, + "p75": 34.0, + "p90": 35.8, + "n": 5 + }, + { + "month": "2025-10", + "mean": 30.8, + "median": 31.0, + "p10": 26.8, + "p25": 28.0, + "p75": 33.0, + "p90": 34.8, + "n": 5 + }, + { + "month": "2025-11", + "mean": 35.4, + "median": 36.0, + "p10": 30.0, + "p25": 33.0, + "p75": 38.0, + "p90": 40.4, + "n": 5 + }, + { + "month": "2025-12", + "mean": 31.4, + "median": 32.0, + "p10": 25.6, + "p25": 28.0, + "p75": 35.0, + "p90": 36.8, + "n": 5 + }, + { + "month": "2026-01", + "mean": 36.0, + "median": 35.0, + "p10": 30.6, + "p25": 33.0, + "p75": 40.0, + "p90": 41.8, + "n": 5 + }, + { + "month": "2026-02", + "mean": 32.0, + "median": 31.0, + "p10": 27.2, + "p25": 29.0, + "p75": 34.0, + "p90": 37.6, + "n": 5 + }, + { + "month": "2026-03", + "mean": 28.0, + "median": 28.0, + "p10": 23.6, + "p25": 26.0, + "p75": 31.0, + "p90": 32.2, + "n": 5 + }, + { + "month": "2026-04", + "mean": 36.0, + "median": 36.0, + "p10": 31.8, + "p25": 33.0, + "p75": 38.0, + "p90": 40.4, + "n": 5 + }, + { + "month": "2026-05", + "mean": 31.8, + "median": 32.0, + "p10": 26.4, + "p25": 30.0, + "p75": 35.0, + "p90": 36.8, + "n": 5 + } + ], + "stats": { + "n": 63, + "mean": 33.4, + "median": 33.0, + "std": 11.4, + "min": 5, + "max": 82, + "p25": 28.0, + "p75": 38.0, + "p85": 40.7, + "p95": 51.6 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 96.8, + "annotations": [], + "cost": null, + "detail_rows": { + "columns": [ + { + "key": "matnr", + "sap_field": "MATNR", + "sap_table": "EKPO", + "label": "Material", + "unit": null + }, + { + "key": "po_number", + "sap_field": "EBELN", + "sap_table": "EKKO", + "label": "PO Number", + "unit": null + }, + { + "key": "po_item", + "sap_field": "EBELP", + "sap_table": "EKPO", + "label": "PO Item", + "unit": null + }, + { + "key": "vendor_id", + "sap_field": "LIFNR", + "sap_table": "EKKO", + "label": "Vendor (LIFNR)", + "unit": null + }, + { + "key": "vendor_name", + "sap_field": "NAME1", + "sap_table": "LFA1", + "label": "Vendor Name", + "unit": null + }, + { + "key": "po_date", + "sap_field": "BEDAT", + "sap_table": "EKKO", + "label": "PO Date", + "unit": null + }, + { + "key": "promised_date", + "sap_field": "EINDT", + "sap_table": "EKET", + "label": "Promised Date", + "unit": null + }, + { + "key": "sched_qty", + "sap_field": "MENGE", + "sap_table": "EKET", + "label": "Scheduled Qty", + "unit": null + }, + { + "key": "gr_qty_to_date", + "sap_field": "WEMNG", + "sap_table": "EKET", + "label": "GR Qty (to date)", + "unit": null + }, + { + "key": "gr_mblnr", + "sap_field": "MBLNR", + "sap_table": "MSEG", + "label": "Goods Receipt Document", + "unit": null + }, + { + "key": "first_gr_date", + "sap_field": "BUDAT", + "sap_table": "MKPF", + "label": "Goods Receipt Date", + "unit": null + }, + { + "key": "days_vs_promised", + "sap_field": null, + "sap_table": null, + "label": "Days vs Promised", + "unit": "d" + }, + { + "key": "lead_time_days", + "sap_field": null, + "sap_table": null, + "label": "Lead Time (days)", + "unit": "d" + } + ], + "rows": [ + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000081", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-08-07", + "promised_date": "2025-08-30", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000081", + "first_gr_date": "2025-08-29", + "days_vs_promised": -1, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000082", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-08-11", + "promised_date": "2025-09-05", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000082", + "first_gr_date": "2025-09-03", + "days_vs_promised": -2, + "lead_time_days": 23 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000080", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-07-29", + "promised_date": "2025-09-10", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000080", + "first_gr_date": "2025-09-08", + "days_vs_promised": -2, + "lead_time_days": 41 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000083", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-08-19", + "promised_date": "2025-09-16", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000083", + "first_gr_date": "2025-09-16", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000084", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-08-27", + "promised_date": "2025-10-02", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000084", + "first_gr_date": "2025-10-01", + "days_vs_promised": -1, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000086", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-10", + "promised_date": "2025-10-14", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000086", + "first_gr_date": "2025-10-14", + "days_vs_promised": 0, + "lead_time_days": 34 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000088", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-22", + "promised_date": "2025-10-14", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000088", + "first_gr_date": "2025-10-14", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000085", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-04", + "promised_date": "2025-10-21", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000085", + "first_gr_date": "2025-10-19", + "days_vs_promised": -2, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000087", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-15", + "promised_date": "2025-10-23", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000087", + "first_gr_date": "2025-10-22", + "days_vs_promised": -1, + "lead_time_days": 37 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000089", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-29", + "promised_date": "2025-11-02", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000089", + "first_gr_date": "2025-11-01", + "days_vs_promised": -1, + "lead_time_days": 33 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000090", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-10-08", + "promised_date": "2025-11-07", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000090", + "first_gr_date": "2025-11-06", + "days_vs_promised": -1, + "lead_time_days": 29 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000093", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-10-27", + "promised_date": "2025-11-23", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000093", + "first_gr_date": "2025-11-23", + "days_vs_promised": 0, + "lead_time_days": 27 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000094", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-11-04", + "promised_date": "2025-11-25", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000094", + "first_gr_date": "2025-11-25", + "days_vs_promised": 0, + "lead_time_days": 21 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000091", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-10-14", + "promised_date": "2025-12-02", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000091", + "first_gr_date": "2025-11-30", + "days_vs_promised": -2, + "lead_time_days": 47 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000092", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-10-20", + "promised_date": "2025-12-08", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000092", + "first_gr_date": "2025-12-07", + "days_vs_promised": -1, + "lead_time_days": 48 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000095", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-11-11", + "promised_date": "2025-12-23", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000095", + "first_gr_date": "2025-12-20", + "days_vs_promised": -3, + "lead_time_days": 39 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000099", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-09", + "promised_date": "2025-12-30", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000099", + "first_gr_date": "2025-12-27", + "days_vs_promised": -3, + "lead_time_days": 18 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000096", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-11-20", + "promised_date": "2025-12-28", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000096", + "first_gr_date": "2025-12-28", + "days_vs_promised": 0, + "lead_time_days": 38 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000098", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-03", + "promised_date": "2025-12-28", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000098", + "first_gr_date": "2025-12-28", + "days_vs_promised": 0, + "lead_time_days": 25 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000097", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-11-25", + "promised_date": "2025-12-31", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000097", + "first_gr_date": "2025-12-30", + "days_vs_promised": -1, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000101", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-23", + "promised_date": "2026-01-15", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000101", + "first_gr_date": "2026-01-15", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000102", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-31", + "promised_date": "2026-01-20", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000102", + "first_gr_date": "2026-01-20", + "days_vs_promised": 0, + "lead_time_days": 20 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000100", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-17", + "promised_date": "2026-02-04", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000100", + "first_gr_date": "2026-02-04", + "days_vs_promised": 0, + "lead_time_days": 49 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000122", + "po_item": "00010", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-01-12", + "promised_date": "2026-02-04", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000122", + "first_gr_date": "2026-02-04", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000104", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-01-14", + "promised_date": "2026-02-09", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000104", + "first_gr_date": "2026-02-08", + "days_vs_promised": -1, + "lead_time_days": 25 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000103", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-01-06", + "promised_date": "2026-02-13", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000103", + "first_gr_date": "2026-02-13", + "days_vs_promised": 0, + "lead_time_days": 38 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000105", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-01-19", + "promised_date": "2026-02-23", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000105", + "first_gr_date": "2026-02-23", + "days_vs_promised": 0, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000125", + "po_item": "00040", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-02-02", + "promised_date": "2026-02-24", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000125", + "first_gr_date": "2026-02-24", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000123", + "po_item": "00020", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-01-20", + "promised_date": "2026-02-27", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000123", + "first_gr_date": "2026-02-27", + "days_vs_promised": 0, + "lead_time_days": 38 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000107", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-02-05", + "promised_date": "2026-03-02", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000107", + "first_gr_date": "2026-03-02", + "days_vs_promised": 0, + "lead_time_days": 25 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000124", + "po_item": "00030", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-01-29", + "promised_date": "2026-03-10", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000124", + "first_gr_date": "2026-03-07", + "days_vs_promised": -3, + "lead_time_days": 37 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000106", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-01-27", + "promised_date": "2026-03-16", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000106", + "first_gr_date": "2026-03-13", + "days_vs_promised": -3, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000126", + "po_item": "00050", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-02-09", + "promised_date": "2026-03-14", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000126", + "first_gr_date": "2026-03-14", + "days_vs_promised": 0, + "lead_time_days": 33 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000127", + "po_item": "00010", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-02-17", + "promised_date": "2026-03-24", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000127", + "first_gr_date": "2026-03-23", + "days_vs_promised": -1, + "lead_time_days": 34 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000108", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-02-12", + "promised_date": "2026-03-24", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000108", + "first_gr_date": "2026-03-24", + "days_vs_promised": 0, + "lead_time_days": 40 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000128", + "po_item": "00020", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-02-23", + "promised_date": "2026-03-24", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000128", + "first_gr_date": "2026-03-24", + "days_vs_promised": 0, + "lead_time_days": 29 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000110", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-02-24", + "promised_date": "2026-03-27", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000110", + "first_gr_date": "2026-03-25", + "days_vs_promised": -2, + "lead_time_days": 29 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000109", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-02-17", + "promised_date": "2026-04-06", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000109", + "first_gr_date": "2026-04-06", + "days_vs_promised": 0, + "lead_time_days": 48 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000129", + "po_item": "00030", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-03-04", + "promised_date": "2026-04-11", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000129", + "first_gr_date": "2026-04-08", + "days_vs_promised": -3, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000114", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-03-23", + "promised_date": "2026-04-13", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000114", + "first_gr_date": "2026-04-11", + "days_vs_promised": -2, + "lead_time_days": 19 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000111", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-03-05", + "promised_date": "2026-04-15", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000111", + "first_gr_date": "2026-04-12", + "days_vs_promised": -3, + "lead_time_days": 38 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000112", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-03-09", + "promised_date": "2026-04-13", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000112", + "first_gr_date": "2026-04-13", + "days_vs_promised": 0, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000130", + "po_item": "00040", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-03-09", + "promised_date": "2026-04-17", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000130", + "first_gr_date": "2026-04-17", + "days_vs_promised": 0, + "lead_time_days": 39 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000115", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-01", + "promised_date": "2026-04-23", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000115", + "first_gr_date": "2026-04-23", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000134", + "po_item": "00030", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-06", + "promised_date": "2026-05-03", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000134", + "first_gr_date": "2026-04-30", + "days_vs_promised": -3, + "lead_time_days": 24 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000113", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-03-17", + "promised_date": "2026-05-04", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000113", + "first_gr_date": "2026-05-01", + "days_vs_promised": -3, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000131", + "po_item": "00050", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000131", + "first_gr_date": "2026-05-01", + "days_vs_promised": 0, + "lead_time_days": 46 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000117", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-15", + "promised_date": "2026-05-05", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000117", + "first_gr_date": "2026-05-05", + "days_vs_promised": 0, + "lead_time_days": 20 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000136", + "po_item": "00050", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-20", + "promised_date": "2026-05-10", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000136", + "first_gr_date": "2026-05-08", + "days_vs_promised": -2, + "lead_time_days": 18 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000132", + "po_item": "00010", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-03-25", + "promised_date": "2026-05-11", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000132", + "first_gr_date": "2026-05-09", + "days_vs_promised": -2, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000133", + "po_item": "00020", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-02", + "promised_date": "2026-05-13", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000133", + "first_gr_date": "2026-05-13", + "days_vs_promised": 0, + "lead_time_days": 41 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000135", + "po_item": "00040", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-15", + "promised_date": "2026-05-18", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000135", + "first_gr_date": "2026-05-18", + "days_vs_promised": 0, + "lead_time_days": 33 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000116", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-06", + "promised_date": "2026-05-21", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000116", + "first_gr_date": "2026-05-21", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000138", + "po_item": "00020", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-05-06", + "promised_date": "2026-05-28", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000138", + "first_gr_date": "2026-05-28", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000118", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-20", + "promised_date": "2026-06-01", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000118", + "first_gr_date": "2026-05-31", + "days_vs_promised": -1, + "lead_time_days": 41 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000139", + "po_item": "00030", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-05-14", + "promised_date": "2026-06-03", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000139", + "first_gr_date": "2026-05-31", + "days_vs_promised": -3, + "lead_time_days": 17 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000137", + "po_item": "00010", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-29", + "promised_date": "2026-06-01", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000137", + "first_gr_date": "2026-06-01", + "days_vs_promised": 0, + "lead_time_days": 33 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000120", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-05-06", + "promised_date": "2026-06-08", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000120", + "first_gr_date": "2026-06-05", + "days_vs_promised": -3, + "lead_time_days": 30 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000119", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-30", + "promised_date": "2026-06-17", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000119", + "first_gr_date": "2026-06-17", + "days_vs_promised": 0, + "lead_time_days": 48 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000121", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-05-13", + "promised_date": "2026-06-19", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000121", + "first_gr_date": "2026-06-19", + "days_vs_promised": 0, + "lead_time_days": 37 + } + ] + }, + "ref_date_col": "first_gr_date", + "n_batches": null, + "n_movements": 18, + "yield_data": null, + "consumption_data": null, + "supplier_otif": { + "primary_vendor": { + "id": "D0004", + "name": "Riverbend Reliable Supply" + }, + "vendors": [ + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "n_lines": 42, + "n_late": 0, + "on_time_pct": 100.0, + "in_full_pct": 100.0, + "otif_pct": 100.0, + "mean_days_late_all": 0, + "mean_days_late_when_late": null, + "median_days_late_when_late": null, + "max_days_late": 0, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 0.0, + "ge_3d_pct": 0.0, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + } + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "n_lines": 18, + "n_late": 0, + "on_time_pct": 100.0, + "in_full_pct": 100.0, + "otif_pct": 100.0, + "mean_days_late_all": 0, + "mean_days_late_when_late": null, + "median_days_late_when_late": null, + "max_days_late": 0, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 0.0, + "ge_3d_pct": 0.0, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + } + } + ], + "worst_events": [], + "coverage_pct": 100.0, + "n_lines": 60, + "data_quality_note": "100% in-full across every line \u2014 likely WEMNG = MENGE is auto-stamped at goods receipt rather than measured. Treat the in-full metric as a data-entry artifact at this site.", + "tolerance_days": 0, + "under_tolerance_pct": 0.05, + "lines": [ + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000080", + "po_item": "00010", + "po_date": "2025-07-29", + "promised_date": "2025-09-10", + "first_gr_date": "2025-09-08", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000081", + "po_item": "00020", + "po_date": "2025-08-07", + "promised_date": "2025-08-30", + "first_gr_date": "2025-08-29", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000082", + "po_item": "00030", + "po_date": "2025-08-11", + "promised_date": "2025-09-05", + "first_gr_date": "2025-09-03", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000083", + "po_item": "00040", + "po_date": "2025-08-19", + "promised_date": "2025-09-16", + "first_gr_date": "2025-09-16", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000084", + "po_item": "00050", + "po_date": "2025-08-27", + "promised_date": "2025-10-02", + "first_gr_date": "2025-10-01", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000085", + "po_item": "00010", + "po_date": "2025-09-04", + "promised_date": "2025-10-21", + "first_gr_date": "2025-10-19", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000086", + "po_item": "00020", + "po_date": "2025-09-10", + "promised_date": "2025-10-14", + "first_gr_date": "2025-10-14", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000087", + "po_item": "00030", + "po_date": "2025-09-15", + "promised_date": "2025-10-23", + "first_gr_date": "2025-10-22", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000088", + "po_item": "00040", + "po_date": "2025-09-22", + "promised_date": "2025-10-14", + "first_gr_date": "2025-10-14", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000089", + "po_item": "00050", + "po_date": "2025-09-29", + "promised_date": "2025-11-02", + "first_gr_date": "2025-11-01", + "days_late": -1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000090", + "po_item": "00010", + "po_date": "2025-10-08", + "promised_date": "2025-11-07", + "first_gr_date": "2025-11-06", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000091", + "po_item": "00020", + "po_date": "2025-10-14", + "promised_date": "2025-12-02", + "first_gr_date": "2025-11-30", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000092", + "po_item": "00030", + "po_date": "2025-10-20", + "promised_date": "2025-12-08", + "first_gr_date": "2025-12-07", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000093", + "po_item": "00040", + "po_date": "2025-10-27", + "promised_date": "2025-11-23", + "first_gr_date": "2025-11-23", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000094", + "po_item": "00050", + "po_date": "2025-11-04", + "promised_date": "2025-11-25", + "first_gr_date": "2025-11-25", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000095", + "po_item": "00010", + "po_date": "2025-11-11", + "promised_date": "2025-12-23", + "first_gr_date": "2025-12-20", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000096", + "po_item": "00020", + "po_date": "2025-11-20", + "promised_date": "2025-12-28", + "first_gr_date": "2025-12-28", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000097", + "po_item": "00030", + "po_date": "2025-11-25", + "promised_date": "2025-12-31", + "first_gr_date": "2025-12-30", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000098", + "po_item": "00040", + "po_date": "2025-12-03", + "promised_date": "2025-12-28", + "first_gr_date": "2025-12-28", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000099", + "po_item": "00050", + "po_date": "2025-12-09", + "promised_date": "2025-12-30", + "first_gr_date": "2025-12-27", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000100", + "po_item": "00010", + "po_date": "2025-12-17", + "promised_date": "2026-02-04", + "first_gr_date": "2026-02-04", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000101", + "po_item": "00020", + "po_date": "2025-12-23", + "promised_date": "2026-01-15", + "first_gr_date": "2026-01-15", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000102", + "po_item": "00030", + "po_date": "2025-12-31", + "promised_date": "2026-01-20", + "first_gr_date": "2026-01-20", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000103", + "po_item": "00040", + "po_date": "2026-01-06", + "promised_date": "2026-02-13", + "first_gr_date": "2026-02-13", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000104", + "po_item": "00050", + "po_date": "2026-01-14", + "promised_date": "2026-02-09", + "first_gr_date": "2026-02-08", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000105", + "po_item": "00010", + "po_date": "2026-01-19", + "promised_date": "2026-02-23", + "first_gr_date": "2026-02-23", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000106", + "po_item": "00020", + "po_date": "2026-01-27", + "promised_date": "2026-03-16", + "first_gr_date": "2026-03-13", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000107", + "po_item": "00030", + "po_date": "2026-02-05", + "promised_date": "2026-03-02", + "first_gr_date": "2026-03-02", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000108", + "po_item": "00040", + "po_date": "2026-02-12", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-24", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000109", + "po_item": "00050", + "po_date": "2026-02-17", + "promised_date": "2026-04-06", + "first_gr_date": "2026-04-06", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000110", + "po_item": "00010", + "po_date": "2026-02-24", + "promised_date": "2026-03-27", + "first_gr_date": "2026-03-25", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000111", + "po_item": "00020", + "po_date": "2026-03-05", + "promised_date": "2026-04-15", + "first_gr_date": "2026-04-12", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000112", + "po_item": "00030", + "po_date": "2026-03-09", + "promised_date": "2026-04-13", + "first_gr_date": "2026-04-13", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000113", + "po_item": "00040", + "po_date": "2026-03-17", + "promised_date": "2026-05-04", + "first_gr_date": "2026-05-01", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000114", + "po_item": "00050", + "po_date": "2026-03-23", + "promised_date": "2026-04-13", + "first_gr_date": "2026-04-11", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000115", + "po_item": "00010", + "po_date": "2026-04-01", + "promised_date": "2026-04-23", + "first_gr_date": "2026-04-23", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000116", + "po_item": "00020", + "po_date": "2026-04-06", + "promised_date": "2026-05-21", + "first_gr_date": "2026-05-21", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000117", + "po_item": "00030", + "po_date": "2026-04-15", + "promised_date": "2026-05-05", + "first_gr_date": "2026-05-05", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000118", + "po_item": "00040", + "po_date": "2026-04-20", + "promised_date": "2026-06-01", + "first_gr_date": "2026-05-31", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000119", + "po_item": "00050", + "po_date": "2026-04-30", + "promised_date": "2026-06-17", + "first_gr_date": "2026-06-17", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000120", + "po_item": "00010", + "po_date": "2026-05-06", + "promised_date": "2026-06-08", + "first_gr_date": "2026-06-05", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000121", + "po_item": "00020", + "po_date": "2026-05-13", + "promised_date": "2026-06-19", + "first_gr_date": "2026-06-19", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000122", + "po_item": "00010", + "po_date": "2026-01-12", + "promised_date": "2026-02-04", + "first_gr_date": "2026-02-04", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000123", + "po_item": "00020", + "po_date": "2026-01-20", + "promised_date": "2026-02-27", + "first_gr_date": "2026-02-27", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000124", + "po_item": "00030", + "po_date": "2026-01-29", + "promised_date": "2026-03-10", + "first_gr_date": "2026-03-07", + "days_late": -3, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000125", + "po_item": "00040", + "po_date": "2026-02-02", + "promised_date": "2026-02-24", + "first_gr_date": "2026-02-24", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000126", + "po_item": "00050", + "po_date": "2026-02-09", + "promised_date": "2026-03-14", + "first_gr_date": "2026-03-14", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000127", + "po_item": "00010", + "po_date": "2026-02-17", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-23", + "days_late": -1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000128", + "po_item": "00020", + "po_date": "2026-02-23", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-24", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000129", + "po_item": "00030", + "po_date": "2026-03-04", + "promised_date": "2026-04-11", + "first_gr_date": "2026-04-08", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000130", + "po_item": "00040", + "po_date": "2026-03-09", + "promised_date": "2026-04-17", + "first_gr_date": "2026-04-17", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000131", + "po_item": "00050", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "first_gr_date": "2026-05-01", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000132", + "po_item": "00010", + "po_date": "2026-03-25", + "promised_date": "2026-05-11", + "first_gr_date": "2026-05-09", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000133", + "po_item": "00020", + "po_date": "2026-04-02", + "promised_date": "2026-05-13", + "first_gr_date": "2026-05-13", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000134", + "po_item": "00030", + "po_date": "2026-04-06", + "promised_date": "2026-05-03", + "first_gr_date": "2026-04-30", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000135", + "po_item": "00040", + "po_date": "2026-04-15", + "promised_date": "2026-05-18", + "first_gr_date": "2026-05-18", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000136", + "po_item": "00050", + "po_date": "2026-04-20", + "promised_date": "2026-05-10", + "first_gr_date": "2026-05-08", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000137", + "po_item": "00010", + "po_date": "2026-04-29", + "promised_date": "2026-06-01", + "first_gr_date": "2026-06-01", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000138", + "po_item": "00020", + "po_date": "2026-05-06", + "promised_date": "2026-05-28", + "first_gr_date": "2026-05-28", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000139", + "po_item": "00030", + "po_date": "2026-05-14", + "promised_date": "2026-06-03", + "first_gr_date": "2026-05-31", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + } + ] + }, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/procurement_washed_bourbon.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/procurement_washed_bourbon.json new file mode 100644 index 00000000000..88afa209359 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/procurement_washed_bourbon.json @@ -0,0 +1,2249 @@ +{ + "id": "procurement_washed_bourbon", + "label": "Procurement: Washed Bourbon", + "type": "procurement", + "durations": [ + 35, 16, 62, 7, 40, 25, 48, 12, 30, 14, 30, 19, 22, 23, 25, 23, 25, 27, 29, + 31, 23, 25, 27, 29, 31, 22, 24, 26, 28, 18, 28, 30, 32, 22, 24, 27, 30, 19, + 22, 23, 34, 23, 25, 27, 29, 20, 23, 25, 27, 29, 20, 22, 24, 26, 28 + ], + "observations": [ + { + "date": "2022-05-03", + "value": 35 + }, + { + "date": "2022-10-18", + "value": 16 + }, + { + "date": "2023-01-24", + "value": 62 + }, + { + "date": "2023-06-15", + "value": 7 + }, + { + "date": "2023-09-28", + "value": 40 + }, + { + "date": "2024-02-12", + "value": 25 + }, + { + "date": "2024-05-07", + "value": 48 + }, + { + "date": "2024-09-19", + "value": 12 + }, + { + "date": "2025-02-04", + "value": 30 + }, + { + "date": "2025-06-10", + "value": 14 + }, + { + "date": "2025-09-06", + "value": 30 + }, + { + "date": "2025-09-12", + "value": 19 + }, + { + "date": "2025-09-18", + "value": 22 + }, + { + "date": "2025-09-24", + "value": 23 + }, + { + "date": "2025-09-30", + "value": 25 + }, + { + "date": "2025-10-04", + "value": 23 + }, + { + "date": "2025-10-10", + "value": 25 + }, + { + "date": "2025-10-16", + "value": 27 + }, + { + "date": "2025-10-22", + "value": 29 + }, + { + "date": "2025-10-28", + "value": 31 + }, + { + "date": "2025-11-05", + "value": 23 + }, + { + "date": "2025-11-11", + "value": 25 + }, + { + "date": "2025-11-17", + "value": 27 + }, + { + "date": "2025-11-23", + "value": 29 + }, + { + "date": "2025-11-29", + "value": 31 + }, + { + "date": "2025-12-06", + "value": 22 + }, + { + "date": "2025-12-12", + "value": 24 + }, + { + "date": "2025-12-18", + "value": 26 + }, + { + "date": "2025-12-24", + "value": 28 + }, + { + "date": "2025-12-30", + "value": 18 + }, + { + "date": "2026-01-04", + "value": 28 + }, + { + "date": "2026-01-10", + "value": 30 + }, + { + "date": "2026-01-16", + "value": 32 + }, + { + "date": "2026-01-22", + "value": 22 + }, + { + "date": "2026-01-28", + "value": 24 + }, + { + "date": "2026-02-05", + "value": 27 + }, + { + "date": "2026-02-11", + "value": 30 + }, + { + "date": "2026-02-17", + "value": 19 + }, + { + "date": "2026-02-23", + "value": 22 + }, + { + "date": "2026-02-29", + "value": 23 + }, + { + "date": "2026-03-06", + "value": 34 + }, + { + "date": "2026-03-12", + "value": 23 + }, + { + "date": "2026-03-18", + "value": 25 + }, + { + "date": "2026-03-24", + "value": 27 + }, + { + "date": "2026-03-30", + "value": 29 + }, + { + "date": "2026-04-04", + "value": 20 + }, + { + "date": "2026-04-10", + "value": 23 + }, + { + "date": "2026-04-16", + "value": 25 + }, + { + "date": "2026-04-22", + "value": 27 + }, + { + "date": "2026-04-28", + "value": 29 + }, + { + "date": "2026-05-05", + "value": 20 + }, + { + "date": "2026-05-11", + "value": 22 + }, + { + "date": "2026-05-17", + "value": 24 + }, + { + "date": "2026-05-23", + "value": 26 + }, + { + "date": "2026-05-29", + "value": 28 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 35.0, + "median": 35.0, + "p10": 35.0, + "p25": 35.0, + "p75": 35.0, + "p90": 35.0, + "n": 1 + }, + { + "month": "2022-10", + "mean": 16.0, + "median": 16.0, + "p10": 16.0, + "p25": 16.0, + "p75": 16.0, + "p90": 16.0, + "n": 1 + }, + { + "month": "2023-01", + "mean": 62.0, + "median": 62.0, + "p10": 62.0, + "p25": 62.0, + "p75": 62.0, + "p90": 62.0, + "n": 1 + }, + { + "month": "2023-06", + "mean": 7.0, + "median": 7.0, + "p10": 7.0, + "p25": 7.0, + "p75": 7.0, + "p90": 7.0, + "n": 1 + }, + { + "month": "2023-09", + "mean": 40.0, + "median": 40.0, + "p10": 40.0, + "p25": 40.0, + "p75": 40.0, + "p90": 40.0, + "n": 1 + }, + { + "month": "2024-02", + "mean": 25.0, + "median": 25.0, + "p10": 25.0, + "p25": 25.0, + "p75": 25.0, + "p90": 25.0, + "n": 1 + }, + { + "month": "2024-05", + "mean": 48.0, + "median": 48.0, + "p10": 48.0, + "p25": 48.0, + "p75": 48.0, + "p90": 48.0, + "n": 1 + }, + { + "month": "2024-09", + "mean": 12.0, + "median": 12.0, + "p10": 12.0, + "p25": 12.0, + "p75": 12.0, + "p90": 12.0, + "n": 1 + }, + { + "month": "2025-02", + "mean": 30.0, + "median": 30.0, + "p10": 30.0, + "p25": 30.0, + "p75": 30.0, + "p90": 30.0, + "n": 1 + }, + { + "month": "2025-06", + "mean": 14.0, + "median": 14.0, + "p10": 14.0, + "p25": 14.0, + "p75": 14.0, + "p90": 14.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 23.8, + "median": 23.0, + "p10": 20.2, + "p25": 22.0, + "p75": 25.0, + "p90": 28.0, + "n": 5 + }, + { + "month": "2025-10", + "mean": 27.0, + "median": 27.0, + "p10": 23.8, + "p25": 25.0, + "p75": 29.0, + "p90": 30.2, + "n": 5 + }, + { + "month": "2025-11", + "mean": 27.0, + "median": 27.0, + "p10": 23.8, + "p25": 25.0, + "p75": 29.0, + "p90": 30.2, + "n": 5 + }, + { + "month": "2025-12", + "mean": 23.6, + "median": 24.0, + "p10": 19.6, + "p25": 22.0, + "p75": 26.0, + "p90": 27.2, + "n": 5 + }, + { + "month": "2026-01", + "mean": 27.2, + "median": 28.0, + "p10": 22.8, + "p25": 24.0, + "p75": 30.0, + "p90": 31.2, + "n": 5 + }, + { + "month": "2026-02", + "mean": 24.2, + "median": 23.0, + "p10": 20.2, + "p25": 22.0, + "p75": 27.0, + "p90": 28.8, + "n": 5 + }, + { + "month": "2026-03", + "mean": 27.6, + "median": 27.0, + "p10": 23.8, + "p25": 25.0, + "p75": 29.0, + "p90": 32.0, + "n": 5 + }, + { + "month": "2026-04", + "mean": 24.8, + "median": 25.0, + "p10": 21.2, + "p25": 23.0, + "p75": 27.0, + "p90": 28.2, + "n": 5 + }, + { + "month": "2026-05", + "mean": 24.0, + "median": 24.0, + "p10": 20.8, + "p25": 22.0, + "p75": 26.0, + "p90": 27.2, + "n": 5 + } + ], + "stats": { + "n": 55, + "mean": 26.1, + "median": 25.0, + "std": 8.0, + "min": 7, + "max": 62, + "p25": 22.5, + "p75": 29.0, + "p85": 30.0, + "p95": 36.5 + }, + "plifz": 7, + "plifz_note": null, + "pct_exceeding_plifz": 98.2, + "annotations": [], + "cost": null, + "detail_rows": { + "columns": [ + { + "key": "matnr", + "sap_field": "MATNR", + "sap_table": "EKPO", + "label": "Material", + "unit": null + }, + { + "key": "po_number", + "sap_field": "EBELN", + "sap_table": "EKKO", + "label": "PO Number", + "unit": null + }, + { + "key": "po_item", + "sap_field": "EBELP", + "sap_table": "EKPO", + "label": "PO Item", + "unit": null + }, + { + "key": "vendor_id", + "sap_field": "LIFNR", + "sap_table": "EKKO", + "label": "Vendor (LIFNR)", + "unit": null + }, + { + "key": "vendor_name", + "sap_field": "NAME1", + "sap_table": "LFA1", + "label": "Vendor Name", + "unit": null + }, + { + "key": "po_date", + "sap_field": "BEDAT", + "sap_table": "EKKO", + "label": "PO Date", + "unit": null + }, + { + "key": "promised_date", + "sap_field": "EINDT", + "sap_table": "EKET", + "label": "Promised Date", + "unit": null + }, + { + "key": "sched_qty", + "sap_field": "MENGE", + "sap_table": "EKET", + "label": "Scheduled Qty", + "unit": null + }, + { + "key": "gr_qty_to_date", + "sap_field": "WEMNG", + "sap_table": "EKET", + "label": "GR Qty (to date)", + "unit": null + }, + { + "key": "gr_mblnr", + "sap_field": "MBLNR", + "sap_table": "MSEG", + "label": "Goods Receipt Document", + "unit": null + }, + { + "key": "first_gr_date", + "sap_field": "BUDAT", + "sap_table": "MKPF", + "label": "Goods Receipt Date", + "unit": null + }, + { + "key": "days_vs_promised", + "sap_field": null, + "sap_table": null, + "label": "Days vs Promised", + "unit": "d" + }, + { + "key": "lead_time_days", + "sap_field": null, + "sap_table": null, + "label": "Lead Time (days)", + "unit": "d" + } + ], + "rows": [ + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000142", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-09-29", + "promised_date": "2025-10-29", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000142", + "first_gr_date": "2025-10-29", + "days_vs_promised": 0, + "lead_time_days": 30 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000141", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-09-23", + "promised_date": "2025-11-02", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000141", + "first_gr_date": "2025-11-02", + "days_vs_promised": 0, + "lead_time_days": 40 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000140", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-09-18", + "promised_date": "2025-10-14", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000140", + "first_gr_date": "2025-11-07", + "days_vs_promised": 24, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000143", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-10-09", + "promised_date": "2025-11-07", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000143", + "first_gr_date": "2025-11-07", + "days_vs_promised": 0, + "lead_time_days": 29 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000144", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-10-13", + "promised_date": "2025-11-10", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000144", + "first_gr_date": "2025-11-10", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000146", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-10-28", + "promised_date": "2025-12-05", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000146", + "first_gr_date": "2025-12-03", + "days_vs_promised": -2, + "lead_time_days": 36 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000145", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-10-22", + "promised_date": "2025-12-11", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000145", + "first_gr_date": "2025-12-11", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000148", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-11-10", + "promised_date": "2025-12-21", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000148", + "first_gr_date": "2025-12-21", + "days_vs_promised": 0, + "lead_time_days": 41 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000147", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-11-03", + "promised_date": "2025-12-23", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000147", + "first_gr_date": "2025-12-23", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000150", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-11-24", + "promised_date": "2026-01-09", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000150", + "first_gr_date": "2026-01-06", + "days_vs_promised": -3, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000149", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-11-18", + "promised_date": "2026-01-07", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000149", + "first_gr_date": "2026-01-07", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000151", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-01", + "promised_date": "2026-01-16", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000151", + "first_gr_date": "2026-01-13", + "days_vs_promised": -3, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000153", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000153", + "first_gr_date": "2026-01-13", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000155", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-29", + "promised_date": "2026-01-20", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000155", + "first_gr_date": "2026-01-20", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000152", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-08", + "promised_date": "2026-01-26", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000152", + "first_gr_date": "2026-01-26", + "days_vs_promised": 0, + "lead_time_days": 49 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000154", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-22", + "promised_date": "2026-02-02", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000154", + "first_gr_date": "2026-01-31", + "days_vs_promised": -2, + "lead_time_days": 40 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000156", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-01-07", + "promised_date": "2026-02-17", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000156", + "first_gr_date": "2026-02-14", + "days_vs_promised": -3, + "lead_time_days": 38 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000158", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-01-21", + "promised_date": "2026-02-15", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000158", + "first_gr_date": "2026-02-15", + "days_vs_promised": 0, + "lead_time_days": 25 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000157", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-01-15", + "promised_date": "2026-02-27", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000157", + "first_gr_date": "2026-02-27", + "days_vs_promised": 0, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000159", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-01-27", + "promised_date": "2026-03-06", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000159", + "first_gr_date": "2026-03-06", + "days_vs_promised": 0, + "lead_time_days": 38 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000176", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-12", + "promised_date": "2026-03-07", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000176", + "first_gr_date": "2026-03-07", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000160", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-02-02", + "promised_date": "2026-03-08", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000160", + "first_gr_date": "2026-03-08", + "days_vs_promised": 0, + "lead_time_days": 34 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000175", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-03", + "promised_date": "2026-03-10", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000175", + "first_gr_date": "2026-03-10", + "days_vs_promised": 0, + "lead_time_days": 35 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000178", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-25", + "promised_date": "2026-03-19", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000178", + "first_gr_date": "2026-03-19", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000161", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-02-12", + "promised_date": "2026-03-19", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000161", + "first_gr_date": "2026-03-20", + "days_vs_promised": 1, + "lead_time_days": 36 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000179", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-04", + "promised_date": "2026-03-30", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000179", + "first_gr_date": "2026-03-29", + "days_vs_promised": -1, + "lead_time_days": 25 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000162", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-02-17", + "promised_date": "2026-03-20", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000162", + "first_gr_date": "2026-04-01", + "days_vs_promised": 12, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000180", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-12", + "promised_date": "2026-04-02", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000180", + "first_gr_date": "2026-04-02", + "days_vs_promised": 0, + "lead_time_days": 21 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000177", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-17", + "promised_date": "2026-04-03", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000177", + "first_gr_date": "2026-04-05", + "days_vs_promised": 2, + "lead_time_days": 47 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000165", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-10", + "promised_date": "2026-04-07", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000165", + "first_gr_date": "2026-04-07", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000164", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-03", + "promised_date": "2026-04-10", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000164", + "first_gr_date": "2026-04-09", + "days_vs_promised": -1, + "lead_time_days": 37 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000163", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-02-23", + "promised_date": "2026-04-10", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000163", + "first_gr_date": "2026-04-10", + "days_vs_promised": 0, + "lead_time_days": 46 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000166", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-17", + "promised_date": "2026-04-11", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000166", + "first_gr_date": "2026-04-10", + "days_vs_promised": -1, + "lead_time_days": 24 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000167", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-26", + "promised_date": "2026-04-16", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000167", + "first_gr_date": "2026-04-16", + "days_vs_promised": 0, + "lead_time_days": 21 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000181", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-19", + "promised_date": "2026-04-24", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000181", + "first_gr_date": "2026-04-24", + "days_vs_promised": 0, + "lead_time_days": 36 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000182", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-24", + "promised_date": "2026-04-28", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000182", + "first_gr_date": "2026-04-25", + "days_vs_promised": -3, + "lead_time_days": 32 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000183", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-01", + "promised_date": "2026-04-26", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000183", + "first_gr_date": "2026-04-26", + "days_vs_promised": 0, + "lead_time_days": 25 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000168", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-30", + "promised_date": "2026-05-01", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000168", + "first_gr_date": "2026-04-30", + "days_vs_promised": -1, + "lead_time_days": 31 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000171", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-04-23", + "promised_date": "2026-05-14", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000171", + "first_gr_date": "2026-05-11", + "days_vs_promised": -3, + "lead_time_days": 18 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000185", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-14", + "promised_date": "2026-05-11", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000185", + "first_gr_date": "2026-05-11", + "days_vs_promised": 0, + "lead_time_days": 27 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000184", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-06", + "promised_date": "2026-05-16", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000184", + "first_gr_date": "2026-05-16", + "days_vs_promised": 0, + "lead_time_days": 40 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000169", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000169", + "first_gr_date": "2026-05-27", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000170", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-04-14", + "promised_date": "2026-05-29", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000170", + "first_gr_date": "2026-05-27", + "days_vs_promised": -2, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000174", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-05-13", + "promised_date": "2026-06-05", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000174", + "first_gr_date": "2026-06-03", + "days_vs_promised": -2, + "lead_time_days": 21 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000172", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-04-30", + "promised_date": "2026-06-11", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000172", + "first_gr_date": "2026-06-09", + "days_vs_promised": -2, + "lead_time_days": 40 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000186", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-21", + "promised_date": "2026-06-10", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000186", + "first_gr_date": "2026-06-15", + "days_vs_promised": 5, + "lead_time_days": 55 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000189", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-05-12", + "promised_date": "2026-06-16", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000189", + "first_gr_date": "2026-06-17", + "days_vs_promised": 1, + "lead_time_days": 36 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000187", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-30", + "promised_date": "2026-06-18", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000187", + "first_gr_date": "2026-06-18", + "days_vs_promised": 0, + "lead_time_days": 49 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000188", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-05-04", + "promised_date": "2026-06-21", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000188", + "first_gr_date": "2026-06-21", + "days_vs_promised": 0, + "lead_time_days": 48 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000173", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-05-05", + "promised_date": "2026-06-24", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000173", + "first_gr_date": "2026-07-02", + "days_vs_promised": 8, + "lead_time_days": 58 + } + ] + }, + "ref_date_col": "first_gr_date", + "n_batches": null, + "n_movements": 10, + "yield_data": null, + "consumption_data": null, + "supplier_otif": { + "primary_vendor": { + "id": "D0005", + "name": "Midland Mid-Tier Partners" + }, + "vendors": [ + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "n_lines": 35, + "n_late": 4, + "on_time_pct": 88.6, + "in_full_pct": 100.0, + "otif_pct": 88.6, + "mean_days_late_all": 1.29, + "mean_days_late_when_late": 11.2, + "median_days_late_when_late": 10.0, + "max_days_late": 24, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 11.4, + "ge_3d_pct": 8.6, + "ge_7d_pct": 8.6, + "ge_14d_pct": 2.9 + } + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "n_lines": 15, + "n_late": 3, + "on_time_pct": 80.0, + "in_full_pct": 100.0, + "otif_pct": 80.0, + "mean_days_late_all": 0.53, + "mean_days_late_when_late": 2.7, + "median_days_late_when_late": 2, + "max_days_late": 5, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 20.0, + "ge_3d_pct": 6.7, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + } + } + ], + "worst_events": [ + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000140", + "po_item": "00010", + "po_date": "2025-09-18", + "promised_date": "2025-10-14", + "first_gr_date": "2025-11-07", + "days_late": 24, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000162", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-03-20", + "first_gr_date": "2026-04-01", + "days_late": 12, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000173", + "po_item": "00040", + "po_date": "2026-05-05", + "promised_date": "2026-06-24", + "first_gr_date": "2026-07-02", + "days_late": 8, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000186", + "po_item": "00020", + "po_date": "2026-04-21", + "promised_date": "2026-06-10", + "first_gr_date": "2026-06-15", + "days_late": 5, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000177", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-05", + "days_late": 2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0 + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000161", + "po_item": "00020", + "po_date": "2026-02-12", + "promised_date": "2026-03-19", + "first_gr_date": "2026-03-20", + "days_late": 1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000189", + "po_item": "00050", + "po_date": "2026-05-12", + "promised_date": "2026-06-16", + "first_gr_date": "2026-06-17", + "days_late": 1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + } + ], + "coverage_pct": 100.0, + "n_lines": 50, + "data_quality_note": "100% in-full across every line \u2014 likely WEMNG = MENGE is auto-stamped at goods receipt rather than measured. Treat the in-full metric as a data-entry artifact at this site.", + "tolerance_days": 0, + "under_tolerance_pct": 0.05, + "lines": [ + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000140", + "po_item": "00010", + "po_date": "2025-09-18", + "promised_date": "2025-10-14", + "first_gr_date": "2025-11-07", + "days_late": 24, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000141", + "po_item": "00020", + "po_date": "2025-09-23", + "promised_date": "2025-11-02", + "first_gr_date": "2025-11-02", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000142", + "po_item": "00030", + "po_date": "2025-09-29", + "promised_date": "2025-10-29", + "first_gr_date": "2025-10-29", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000143", + "po_item": "00040", + "po_date": "2025-10-09", + "promised_date": "2025-11-07", + "first_gr_date": "2025-11-07", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000144", + "po_item": "00050", + "po_date": "2025-10-13", + "promised_date": "2025-11-10", + "first_gr_date": "2025-11-10", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000145", + "po_item": "00010", + "po_date": "2025-10-22", + "promised_date": "2025-12-11", + "first_gr_date": "2025-12-11", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000146", + "po_item": "00020", + "po_date": "2025-10-28", + "promised_date": "2025-12-05", + "first_gr_date": "2025-12-03", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000147", + "po_item": "00030", + "po_date": "2025-11-03", + "promised_date": "2025-12-23", + "first_gr_date": "2025-12-23", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000148", + "po_item": "00040", + "po_date": "2025-11-10", + "promised_date": "2025-12-21", + "first_gr_date": "2025-12-21", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000149", + "po_item": "00050", + "po_date": "2025-11-18", + "promised_date": "2026-01-07", + "first_gr_date": "2026-01-07", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000150", + "po_item": "00010", + "po_date": "2025-11-24", + "promised_date": "2026-01-09", + "first_gr_date": "2026-01-06", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000151", + "po_item": "00020", + "po_date": "2025-12-01", + "promised_date": "2026-01-16", + "first_gr_date": "2026-01-13", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000152", + "po_item": "00030", + "po_date": "2025-12-08", + "promised_date": "2026-01-26", + "first_gr_date": "2026-01-26", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000153", + "po_item": "00040", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-13", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000154", + "po_item": "00050", + "po_date": "2025-12-22", + "promised_date": "2026-02-02", + "first_gr_date": "2026-01-31", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000155", + "po_item": "00010", + "po_date": "2025-12-29", + "promised_date": "2026-01-20", + "first_gr_date": "2026-01-20", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000156", + "po_item": "00020", + "po_date": "2026-01-07", + "promised_date": "2026-02-17", + "first_gr_date": "2026-02-14", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000157", + "po_item": "00030", + "po_date": "2026-01-15", + "promised_date": "2026-02-27", + "first_gr_date": "2026-02-27", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000158", + "po_item": "00040", + "po_date": "2026-01-21", + "promised_date": "2026-02-15", + "first_gr_date": "2026-02-15", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000159", + "po_item": "00050", + "po_date": "2026-01-27", + "promised_date": "2026-03-06", + "first_gr_date": "2026-03-06", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000160", + "po_item": "00010", + "po_date": "2026-02-02", + "promised_date": "2026-03-08", + "first_gr_date": "2026-03-08", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000161", + "po_item": "00020", + "po_date": "2026-02-12", + "promised_date": "2026-03-19", + "first_gr_date": "2026-03-20", + "days_late": 1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000162", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-03-20", + "first_gr_date": "2026-04-01", + "days_late": 12, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000163", + "po_item": "00040", + "po_date": "2026-02-23", + "promised_date": "2026-04-10", + "first_gr_date": "2026-04-10", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000164", + "po_item": "00050", + "po_date": "2026-03-03", + "promised_date": "2026-04-10", + "first_gr_date": "2026-04-09", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000165", + "po_item": "00010", + "po_date": "2026-03-10", + "promised_date": "2026-04-07", + "first_gr_date": "2026-04-07", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000166", + "po_item": "00020", + "po_date": "2026-03-17", + "promised_date": "2026-04-11", + "first_gr_date": "2026-04-10", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000167", + "po_item": "00030", + "po_date": "2026-03-26", + "promised_date": "2026-04-16", + "first_gr_date": "2026-04-16", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000168", + "po_item": "00040", + "po_date": "2026-03-30", + "promised_date": "2026-05-01", + "first_gr_date": "2026-04-30", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000169", + "po_item": "00050", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "first_gr_date": "2026-05-27", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000170", + "po_item": "00010", + "po_date": "2026-04-14", + "promised_date": "2026-05-29", + "first_gr_date": "2026-05-27", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000171", + "po_item": "00020", + "po_date": "2026-04-23", + "promised_date": "2026-05-14", + "first_gr_date": "2026-05-11", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000172", + "po_item": "00030", + "po_date": "2026-04-30", + "promised_date": "2026-06-11", + "first_gr_date": "2026-06-09", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000173", + "po_item": "00040", + "po_date": "2026-05-05", + "promised_date": "2026-06-24", + "first_gr_date": "2026-07-02", + "days_late": 8, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000174", + "po_item": "00050", + "po_date": "2026-05-13", + "promised_date": "2026-06-05", + "first_gr_date": "2026-06-03", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000175", + "po_item": "00010", + "po_date": "2026-02-03", + "promised_date": "2026-03-10", + "first_gr_date": "2026-03-10", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000176", + "po_item": "00020", + "po_date": "2026-02-12", + "promised_date": "2026-03-07", + "first_gr_date": "2026-03-07", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000177", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-05", + "days_late": 2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000178", + "po_item": "00040", + "po_date": "2026-02-25", + "promised_date": "2026-03-19", + "first_gr_date": "2026-03-19", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000179", + "po_item": "00050", + "po_date": "2026-03-04", + "promised_date": "2026-03-30", + "first_gr_date": "2026-03-29", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000180", + "po_item": "00010", + "po_date": "2026-03-12", + "promised_date": "2026-04-02", + "first_gr_date": "2026-04-02", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000181", + "po_item": "00020", + "po_date": "2026-03-19", + "promised_date": "2026-04-24", + "first_gr_date": "2026-04-24", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000182", + "po_item": "00030", + "po_date": "2026-03-24", + "promised_date": "2026-04-28", + "first_gr_date": "2026-04-25", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000183", + "po_item": "00040", + "po_date": "2026-04-01", + "promised_date": "2026-04-26", + "first_gr_date": "2026-04-26", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000184", + "po_item": "00050", + "po_date": "2026-04-06", + "promised_date": "2026-05-16", + "first_gr_date": "2026-05-16", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000185", + "po_item": "00010", + "po_date": "2026-04-14", + "promised_date": "2026-05-11", + "first_gr_date": "2026-05-11", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000186", + "po_item": "00020", + "po_date": "2026-04-21", + "promised_date": "2026-06-10", + "first_gr_date": "2026-06-15", + "days_late": 5, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000187", + "po_item": "00030", + "po_date": "2026-04-30", + "promised_date": "2026-06-18", + "first_gr_date": "2026-06-18", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000188", + "po_item": "00040", + "po_date": "2026-05-04", + "promised_date": "2026-06-21", + "first_gr_date": "2026-06-21", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000189", + "po_item": "00050", + "po_date": "2026-05-12", + "promised_date": "2026-06-16", + "first_gr_date": "2026-06-17", + "days_late": 1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + } + ] + }, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/prod_duration_green_blend.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/prod_duration_green_blend.json new file mode 100644 index 00000000000..0356d40c2c4 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/prod_duration_green_blend.json @@ -0,0 +1,922 @@ +{ + "id": "prod_duration_green_blend", + "label": "Production: Green Blend", + "type": "production", + "durations": [ + 3, 5, 2, 7, 4, 6, 3, 14, 4, 8, 3, 5, 1, 6, 3, 4, 4, 4, 3, 4, 4, 4, 4, 5, 5, + 5, 4, 5, 5, 3, 4, 5, 3, 3, 5, 3, 4, 4, 3, 3, 4, 4, 4, 4, 5, 5, 4, 4, 5, 5 + ], + "observations": [ + { + "date": "2022-04-18", + "value": 3 + }, + { + "date": "2022-07-05", + "value": 5 + }, + { + "date": "2022-10-12", + "value": 2 + }, + { + "date": "2023-01-20", + "value": 7 + }, + { + "date": "2023-04-15", + "value": 4 + }, + { + "date": "2023-07-28", + "value": 6 + }, + { + "date": "2023-10-05", + "value": 3 + }, + { + "date": "2024-01-12", + "value": 14 + }, + { + "date": "2024-04-22", + "value": 4 + }, + { + "date": "2024-07-10", + "value": 8 + }, + { + "date": "2024-10-18", + "value": 3 + }, + { + "date": "2025-01-25", + "value": 5 + }, + { + "date": "2025-05-08", + "value": 1 + }, + { + "date": "2025-08-15", + "value": 6 + }, + { + "date": "2025-09-04", + "value": 3 + }, + { + "date": "2025-09-10", + "value": 4 + }, + { + "date": "2025-09-16", + "value": 4 + }, + { + "date": "2025-09-22", + "value": 4 + }, + { + "date": "2025-10-05", + "value": 3 + }, + { + "date": "2025-10-11", + "value": 4 + }, + { + "date": "2025-10-17", + "value": 4 + }, + { + "date": "2025-10-23", + "value": 4 + }, + { + "date": "2025-11-06", + "value": 4 + }, + { + "date": "2025-11-12", + "value": 5 + }, + { + "date": "2025-11-18", + "value": 5 + }, + { + "date": "2025-11-24", + "value": 5 + }, + { + "date": "2025-12-04", + "value": 4 + }, + { + "date": "2025-12-10", + "value": 5 + }, + { + "date": "2025-12-16", + "value": 5 + }, + { + "date": "2025-12-22", + "value": 3 + }, + { + "date": "2026-01-05", + "value": 4 + }, + { + "date": "2026-01-11", + "value": 5 + }, + { + "date": "2026-01-17", + "value": 3 + }, + { + "date": "2026-01-23", + "value": 3 + }, + { + "date": "2026-02-06", + "value": 5 + }, + { + "date": "2026-02-12", + "value": 3 + }, + { + "date": "2026-02-18", + "value": 4 + }, + { + "date": "2026-02-24", + "value": 4 + }, + { + "date": "2026-03-04", + "value": 3 + }, + { + "date": "2026-03-10", + "value": 3 + }, + { + "date": "2026-03-16", + "value": 4 + }, + { + "date": "2026-03-22", + "value": 4 + }, + { + "date": "2026-04-05", + "value": 4 + }, + { + "date": "2026-04-11", + "value": 4 + }, + { + "date": "2026-04-17", + "value": 5 + }, + { + "date": "2026-04-23", + "value": 5 + }, + { + "date": "2026-05-06", + "value": 4 + }, + { + "date": "2026-05-12", + "value": 4 + }, + { + "date": "2026-05-18", + "value": 5 + }, + { + "date": "2026-05-24", + "value": 5 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2022-07", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2023-01", + "mean": 7.0, + "median": 7.0, + "p10": 7.0, + "p25": 7.0, + "p75": 7.0, + "p90": 7.0, + "n": 1 + }, + { + "month": "2023-04", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 6.0, + "median": 6.0, + "p10": 6.0, + "p25": 6.0, + "p75": 6.0, + "p90": 6.0, + "n": 1 + }, + { + "month": "2023-10", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2024-01", + "mean": 14.0, + "median": 14.0, + "p10": 14.0, + "p25": 14.0, + "p75": 14.0, + "p90": 14.0, + "n": 1 + }, + { + "month": "2024-04", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2024-07", + "mean": 8.0, + "median": 8.0, + "p10": 8.0, + "p25": 8.0, + "p75": 8.0, + "p90": 8.0, + "n": 1 + }, + { + "month": "2024-10", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2025-05", + "mean": 1.0, + "median": 1.0, + "p10": 1.0, + "p25": 1.0, + "p75": 1.0, + "p90": 1.0, + "n": 1 + }, + { + "month": "2025-08", + "mean": 6.0, + "median": 6.0, + "p10": 6.0, + "p25": 6.0, + "p75": 6.0, + "p90": 6.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 3.8, + "median": 4.0, + "p10": 3.3, + "p25": 3.8, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2025-10", + "mean": 3.8, + "median": 4.0, + "p10": 3.3, + "p25": 3.8, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2025-11", + "mean": 4.8, + "median": 5.0, + "p10": 4.3, + "p25": 4.8, + "p75": 5.0, + "p90": 5.0, + "n": 4 + }, + { + "month": "2025-12", + "mean": 4.3, + "median": 4.5, + "p10": 3.3, + "p25": 3.8, + "p75": 5.0, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-01", + "mean": 3.8, + "median": 3.5, + "p10": 3.0, + "p25": 3.0, + "p75": 4.3, + "p90": 4.7, + "n": 4 + }, + { + "month": "2026-02", + "mean": 4.0, + "median": 4.0, + "p10": 3.3, + "p25": 3.8, + "p75": 4.3, + "p90": 4.7, + "n": 4 + }, + { + "month": "2026-03", + "mean": 3.5, + "median": 3.5, + "p10": 3.0, + "p25": 3.0, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2026-04", + "mean": 4.5, + "median": 4.5, + "p10": 4.0, + "p25": 4.0, + "p75": 5.0, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-05", + "mean": 4.5, + "median": 4.5, + "p10": 4.0, + "p25": 4.0, + "p75": 5.0, + "p90": 5.0, + "n": 4 + } + ], + "stats": { + "n": 50, + "mean": 4.4, + "median": 4.0, + "std": 1.8, + "min": 1, + "max": 14, + "p25": 3.3, + "p75": 5.0, + "p85": 5.0, + "p95": 6.6 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 10.0, + "annotations": [], + "cost": null, + "detail_rows": null, + "ref_date_col": null, + "n_batches": 50, + "n_movements": null, + "yield_data": { + "values": [ + 98.2, 99.5, 97.8, 100.2, 96.5, 99.0, 98.8, 97.2, 99.5, 100.8, 98.0, 97.5, + 99.2, 98.5, 98.4, 98.6, 98.9, 99.1, 98.3, 98.5, 98.8, 99.1, 99.0, 99.3, + 99.6, 98.2, 99.0, 99.3, 97.9, 98.2, 98.9, 97.6, 97.9, 98.1, 98.1, 98.4, + 98.6, 98.9, 98.1, 98.3, 98.5, 98.8, 98.8, 99.0, 99.3, 99.6, 98.7, 99.0, + 99.3, 97.9 + ], + "observations": [ + { + "date": "2022-04-21", + "value": 98.2 + }, + { + "date": "2022-07-10", + "value": 99.5 + }, + { + "date": "2022-10-14", + "value": 97.8 + }, + { + "date": "2023-01-27", + "value": 100.2 + }, + { + "date": "2023-04-19", + "value": 96.5 + }, + { + "date": "2023-08-03", + "value": 99.0 + }, + { + "date": "2023-10-08", + "value": 98.8 + }, + { + "date": "2024-01-26", + "value": 97.2 + }, + { + "date": "2024-04-26", + "value": 99.5 + }, + { + "date": "2024-07-18", + "value": 100.8 + }, + { + "date": "2024-10-21", + "value": 98.0 + }, + { + "date": "2025-01-30", + "value": 97.5 + }, + { + "date": "2025-05-09", + "value": 99.2 + }, + { + "date": "2025-08-21", + "value": 98.5 + }, + { + "date": "2025-09-05", + "value": 98.4 + }, + { + "date": "2025-09-11", + "value": 98.6 + }, + { + "date": "2025-09-17", + "value": 98.9 + }, + { + "date": "2025-09-23", + "value": 99.1 + }, + { + "date": "2025-10-06", + "value": 98.3 + }, + { + "date": "2025-10-12", + "value": 98.5 + }, + { + "date": "2025-10-18", + "value": 98.8 + }, + { + "date": "2025-10-24", + "value": 99.1 + }, + { + "date": "2025-11-04", + "value": 99.0 + }, + { + "date": "2025-11-10", + "value": 99.3 + }, + { + "date": "2025-11-16", + "value": 99.6 + }, + { + "date": "2025-11-22", + "value": 98.2 + }, + { + "date": "2025-12-05", + "value": 99.0 + }, + { + "date": "2025-12-11", + "value": 99.3 + }, + { + "date": "2025-12-17", + "value": 97.9 + }, + { + "date": "2025-12-23", + "value": 98.2 + }, + { + "date": "2026-01-06", + "value": 98.9 + }, + { + "date": "2026-01-12", + "value": 97.6 + }, + { + "date": "2026-01-18", + "value": 97.9 + }, + { + "date": "2026-01-24", + "value": 98.1 + }, + { + "date": "2026-02-04", + "value": 98.1 + }, + { + "date": "2026-02-10", + "value": 98.4 + }, + { + "date": "2026-02-16", + "value": 98.6 + }, + { + "date": "2026-02-22", + "value": 98.9 + }, + { + "date": "2026-03-05", + "value": 98.1 + }, + { + "date": "2026-03-11", + "value": 98.3 + }, + { + "date": "2026-03-17", + "value": 98.5 + }, + { + "date": "2026-03-23", + "value": 98.8 + }, + { + "date": "2026-04-06", + "value": 98.8 + }, + { + "date": "2026-04-12", + "value": 99.0 + }, + { + "date": "2026-04-18", + "value": 99.3 + }, + { + "date": "2026-04-24", + "value": 99.6 + }, + { + "date": "2026-05-04", + "value": 98.7 + }, + { + "date": "2026-05-10", + "value": 99.0 + }, + { + "date": "2026-05-16", + "value": 99.3 + }, + { + "date": "2026-05-22", + "value": 97.9 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 98.2, + "median": 98.2, + "p10": 98.2, + "p25": 98.2, + "p75": 98.2, + "p90": 98.2, + "n": 1 + }, + { + "month": "2022-07", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2022-10", + "mean": 97.8, + "median": 97.8, + "p10": 97.8, + "p25": 97.8, + "p75": 97.8, + "p90": 97.8, + "n": 1 + }, + { + "month": "2023-01", + "mean": 100.2, + "median": 100.2, + "p10": 100.2, + "p25": 100.2, + "p75": 100.2, + "p90": 100.2, + "n": 1 + }, + { + "month": "2023-04", + "mean": 96.5, + "median": 96.5, + "p10": 96.5, + "p25": 96.5, + "p75": 96.5, + "p90": 96.5, + "n": 1 + }, + { + "month": "2023-08", + "mean": 99.0, + "median": 99.0, + "p10": 99.0, + "p25": 99.0, + "p75": 99.0, + "p90": 99.0, + "n": 1 + }, + { + "month": "2023-10", + "mean": 98.8, + "median": 98.8, + "p10": 98.8, + "p25": 98.8, + "p75": 98.8, + "p90": 98.8, + "n": 1 + }, + { + "month": "2024-01", + "mean": 97.2, + "median": 97.2, + "p10": 97.2, + "p25": 97.2, + "p75": 97.2, + "p90": 97.2, + "n": 1 + }, + { + "month": "2024-04", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2024-07", + "mean": 100.8, + "median": 100.8, + "p10": 100.8, + "p25": 100.8, + "p75": 100.8, + "p90": 100.8, + "n": 1 + }, + { + "month": "2024-10", + "mean": 98.0, + "median": 98.0, + "p10": 98.0, + "p25": 98.0, + "p75": 98.0, + "p90": 98.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 97.5, + "median": 97.5, + "p10": 97.5, + "p25": 97.5, + "p75": 97.5, + "p90": 97.5, + "n": 1 + }, + { + "month": "2025-05", + "mean": 99.2, + "median": 99.2, + "p10": 99.2, + "p25": 99.2, + "p75": 99.2, + "p90": 99.2, + "n": 1 + }, + { + "month": "2025-08", + "mean": 98.5, + "median": 98.5, + "p10": 98.5, + "p25": 98.5, + "p75": 98.5, + "p90": 98.5, + "n": 1 + }, + { + "month": "2025-09", + "mean": 98.8, + "median": 98.8, + "p10": 98.5, + "p25": 98.6, + "p75": 99.0, + "p90": 99.0, + "n": 4 + }, + { + "month": "2025-10", + "mean": 98.7, + "median": 98.7, + "p10": 98.4, + "p25": 98.5, + "p75": 98.9, + "p90": 99.0, + "n": 4 + }, + { + "month": "2025-11", + "mean": 99.0, + "median": 99.2, + "p10": 98.4, + "p25": 98.8, + "p75": 99.4, + "p90": 99.5, + "n": 4 + }, + { + "month": "2025-12", + "mean": 98.6, + "median": 98.6, + "p10": 98.0, + "p25": 98.1, + "p75": 99.1, + "p90": 99.2, + "n": 4 + }, + { + "month": "2026-01", + "mean": 98.1, + "median": 98.0, + "p10": 97.7, + "p25": 97.8, + "p75": 98.3, + "p90": 98.7, + "n": 4 + }, + { + "month": "2026-02", + "mean": 98.5, + "median": 98.5, + "p10": 98.2, + "p25": 98.3, + "p75": 98.7, + "p90": 98.8, + "n": 4 + }, + { + "month": "2026-03", + "mean": 98.4, + "median": 98.4, + "p10": 98.2, + "p25": 98.3, + "p75": 98.6, + "p90": 98.7, + "n": 4 + }, + { + "month": "2026-04", + "mean": 99.2, + "median": 99.2, + "p10": 98.9, + "p25": 99.0, + "p75": 99.4, + "p90": 99.5, + "n": 4 + }, + { + "month": "2026-05", + "mean": 98.7, + "median": 98.9, + "p10": 98.1, + "p25": 98.5, + "p75": 99.1, + "p90": 99.2, + "n": 4 + } + ], + "stats": { + "n": 50, + "mean": 98.7, + "median": 98.8, + "std": 0.7, + "min": 96.5, + "max": 100.8, + "p25": 98.2, + "p75": 99.1, + "p85": 99.3, + "p95": 99.6 + }, + "reference": 100.0 + }, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/prod_duration_harbor_dark_roast.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/prod_duration_harbor_dark_roast.json new file mode 100644 index 00000000000..722ca8a9b3d --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/prod_duration_harbor_dark_roast.json @@ -0,0 +1,1147 @@ +{ + "id": "prod_duration_harbor_dark_roast", + "label": "Production: Harbor Dark Roast", + "type": "production", + "durations": [ + 2, 3, 1, 4, 2, 5, 3, 7, 2, 4, 1, 3, 10, 3, 2, 5, 0, 4, 3, 2, 6, 3, 4, 4, 3, + 3, 4, 2, 3, 3, 2, 2, 3, 3, 3, 3, 3, 4, 3, 3, 3, 4, 4, 4, 4, 3, 3, 4, 2, 3, + 3, 2, 2, 3, 3, 3, 3, 3 + ], + "observations": [ + { + "date": "2022-05-20", + "value": 2 + }, + { + "date": "2022-06-10", + "value": 3 + }, + { + "date": "2022-07-15", + "value": 1 + }, + { + "date": "2022-08-22", + "value": 4 + }, + { + "date": "2022-10-05", + "value": 2 + }, + { + "date": "2022-11-18", + "value": 5 + }, + { + "date": "2023-01-10", + "value": 3 + }, + { + "date": "2023-03-25", + "value": 7 + }, + { + "date": "2023-05-12", + "value": 2 + }, + { + "date": "2023-07-08", + "value": 4 + }, + { + "date": "2023-09-15", + "value": 1 + }, + { + "date": "2023-11-22", + "value": 3 + }, + { + "date": "2024-01-18", + "value": 10 + }, + { + "date": "2024-03-08", + "value": 3 + }, + { + "date": "2024-05-15", + "value": 2 + }, + { + "date": "2024-07-22", + "value": 5 + }, + { + "date": "2024-09-10", + "value": 0 + }, + { + "date": "2024-11-05", + "value": 4 + }, + { + "date": "2025-01-15", + "value": 3 + }, + { + "date": "2025-03-20", + "value": 2 + }, + { + "date": "2025-05-28", + "value": 6 + }, + { + "date": "2025-08-05", + "value": 3 + }, + { + "date": "2025-09-05", + "value": 4 + }, + { + "date": "2025-09-11", + "value": 4 + }, + { + "date": "2025-09-17", + "value": 3 + }, + { + "date": "2025-09-23", + "value": 3 + }, + { + "date": "2025-10-06", + "value": 4 + }, + { + "date": "2025-10-12", + "value": 2 + }, + { + "date": "2025-10-18", + "value": 3 + }, + { + "date": "2025-10-24", + "value": 3 + }, + { + "date": "2025-11-04", + "value": 2 + }, + { + "date": "2025-11-10", + "value": 2 + }, + { + "date": "2025-11-16", + "value": 3 + }, + { + "date": "2025-11-22", + "value": 3 + }, + { + "date": "2025-12-05", + "value": 3 + }, + { + "date": "2025-12-11", + "value": 3 + }, + { + "date": "2025-12-17", + "value": 3 + }, + { + "date": "2025-12-23", + "value": 4 + }, + { + "date": "2026-01-06", + "value": 3 + }, + { + "date": "2026-01-12", + "value": 3 + }, + { + "date": "2026-01-18", + "value": 3 + }, + { + "date": "2026-01-24", + "value": 4 + }, + { + "date": "2026-02-04", + "value": 4 + }, + { + "date": "2026-02-10", + "value": 4 + }, + { + "date": "2026-02-16", + "value": 4 + }, + { + "date": "2026-02-22", + "value": 3 + }, + { + "date": "2026-03-05", + "value": 3 + }, + { + "date": "2026-03-11", + "value": 4 + }, + { + "date": "2026-03-17", + "value": 2 + }, + { + "date": "2026-03-23", + "value": 3 + }, + { + "date": "2026-04-06", + "value": 3 + }, + { + "date": "2026-04-12", + "value": 2 + }, + { + "date": "2026-04-18", + "value": 2 + }, + { + "date": "2026-04-24", + "value": 3 + }, + { + "date": "2026-05-04", + "value": 3 + }, + { + "date": "2026-05-10", + "value": 3 + }, + { + "date": "2026-05-16", + "value": 3 + }, + { + "date": "2026-05-22", + "value": 3 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2022-06", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2022-07", + "mean": 1.0, + "median": 1.0, + "p10": 1.0, + "p25": 1.0, + "p75": 1.0, + "p90": 1.0, + "n": 1 + }, + { + "month": "2022-08", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2022-11", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2023-01", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2023-03", + "mean": 7.0, + "median": 7.0, + "p10": 7.0, + "p25": 7.0, + "p75": 7.0, + "p90": 7.0, + "n": 1 + }, + { + "month": "2023-05", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2023-09", + "mean": 1.0, + "median": 1.0, + "p10": 1.0, + "p25": 1.0, + "p75": 1.0, + "p90": 1.0, + "n": 1 + }, + { + "month": "2023-11", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2024-01", + "mean": 10.0, + "median": 10.0, + "p10": 10.0, + "p25": 10.0, + "p75": 10.0, + "p90": 10.0, + "n": 1 + }, + { + "month": "2024-03", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2024-05", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2024-07", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2024-09", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2025-03", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2025-05", + "mean": 6.0, + "median": 6.0, + "p10": 6.0, + "p25": 6.0, + "p75": 6.0, + "p90": 6.0, + "n": 1 + }, + { + "month": "2025-08", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 3.5, + "median": 3.5, + "p10": 3.0, + "p25": 3.0, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2025-10", + "mean": 3.0, + "median": 3.0, + "p10": 2.3, + "p25": 2.8, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2025-11", + "mean": 2.5, + "median": 2.5, + "p10": 2.0, + "p25": 2.0, + "p75": 3.0, + "p90": 3.0, + "n": 4 + }, + { + "month": "2025-12", + "mean": 3.3, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2026-01", + "mean": 3.3, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2026-02", + "mean": 3.8, + "median": 4.0, + "p10": 3.3, + "p25": 3.8, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2026-03", + "mean": 3.0, + "median": 3.0, + "p10": 2.3, + "p25": 2.8, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2026-04", + "mean": 2.5, + "median": 2.5, + "p10": 2.0, + "p25": 2.0, + "p75": 3.0, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-05", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 4 + } + ], + "stats": { + "n": 58, + "mean": 3.2, + "median": 3.0, + "std": 1.4, + "min": 0, + "max": 10, + "p25": 3.0, + "p75": 4.0, + "p85": 4.0, + "p95": 5.2 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 5.2, + "annotations": [], + "cost": null, + "detail_rows": null, + "ref_date_col": null, + "n_batches": 58, + "n_movements": null, + "yield_data": { + "values": [ + 99.0, 98.5, 99.8, 97.2, 99.5, 98.0, 100.2, 98.8, 99.2, 97.5, 99.0, 98.5, + 100.5, 99.2, 98.0, 97.8, 99.5, 98.2, 99.0, 98.8, 99.5, 97.0, 98.9, 99.1, + 99.4, 99.6, 98.8, 99.0, 99.3, 99.6, 99.5, 99.8, 100.1, 98.7, 99.5, 99.8, + 98.4, 98.7, 99.4, 98.1, 98.4, 98.6, 98.6, 98.9, 99.1, 99.4, 98.6, 98.8, + 99.0, 99.3, 99.3, 99.5, 99.8, 100.1, 99.2, 99.5, 99.8, 98.4 + ], + "observations": [ + { + "date": "2022-05-22", + "value": 99.0 + }, + { + "date": "2022-06-13", + "value": 98.5 + }, + { + "date": "2022-07-16", + "value": 99.8 + }, + { + "date": "2022-08-26", + "value": 97.2 + }, + { + "date": "2022-10-07", + "value": 99.5 + }, + { + "date": "2022-11-23", + "value": 98.0 + }, + { + "date": "2023-01-13", + "value": 100.2 + }, + { + "date": "2023-04-01", + "value": 98.8 + }, + { + "date": "2023-05-14", + "value": 99.2 + }, + { + "date": "2023-07-12", + "value": 97.5 + }, + { + "date": "2023-09-16", + "value": 99.0 + }, + { + "date": "2023-11-25", + "value": 98.5 + }, + { + "date": "2024-01-28", + "value": 100.5 + }, + { + "date": "2024-03-11", + "value": 99.2 + }, + { + "date": "2024-05-17", + "value": 98.0 + }, + { + "date": "2024-07-27", + "value": 97.8 + }, + { + "date": "2024-09-10", + "value": 99.5 + }, + { + "date": "2024-11-09", + "value": 98.2 + }, + { + "date": "2025-01-18", + "value": 99.0 + }, + { + "date": "2025-03-22", + "value": 98.8 + }, + { + "date": "2025-06-03", + "value": 99.5 + }, + { + "date": "2025-08-08", + "value": 97.0 + }, + { + "date": "2025-09-05", + "value": 98.9 + }, + { + "date": "2025-09-11", + "value": 99.1 + }, + { + "date": "2025-09-17", + "value": 99.4 + }, + { + "date": "2025-09-23", + "value": 99.6 + }, + { + "date": "2025-10-06", + "value": 98.8 + }, + { + "date": "2025-10-12", + "value": 99.0 + }, + { + "date": "2025-10-18", + "value": 99.3 + }, + { + "date": "2025-10-24", + "value": 99.6 + }, + { + "date": "2025-11-04", + "value": 99.5 + }, + { + "date": "2025-11-10", + "value": 99.8 + }, + { + "date": "2025-11-16", + "value": 100.1 + }, + { + "date": "2025-11-22", + "value": 98.7 + }, + { + "date": "2025-12-05", + "value": 99.5 + }, + { + "date": "2025-12-11", + "value": 99.8 + }, + { + "date": "2025-12-17", + "value": 98.4 + }, + { + "date": "2025-12-23", + "value": 98.7 + }, + { + "date": "2026-01-06", + "value": 99.4 + }, + { + "date": "2026-01-12", + "value": 98.1 + }, + { + "date": "2026-01-18", + "value": 98.4 + }, + { + "date": "2026-01-24", + "value": 98.6 + }, + { + "date": "2026-02-04", + "value": 98.6 + }, + { + "date": "2026-02-10", + "value": 98.9 + }, + { + "date": "2026-02-16", + "value": 99.1 + }, + { + "date": "2026-02-22", + "value": 99.4 + }, + { + "date": "2026-03-05", + "value": 98.6 + }, + { + "date": "2026-03-11", + "value": 98.8 + }, + { + "date": "2026-03-17", + "value": 99.0 + }, + { + "date": "2026-03-23", + "value": 99.3 + }, + { + "date": "2026-04-06", + "value": 99.3 + }, + { + "date": "2026-04-12", + "value": 99.5 + }, + { + "date": "2026-04-18", + "value": 99.8 + }, + { + "date": "2026-04-24", + "value": 100.1 + }, + { + "date": "2026-05-04", + "value": 99.2 + }, + { + "date": "2026-05-10", + "value": 99.5 + }, + { + "date": "2026-05-16", + "value": 99.8 + }, + { + "date": "2026-05-22", + "value": 98.4 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 99.0, + "median": 99.0, + "p10": 99.0, + "p25": 99.0, + "p75": 99.0, + "p90": 99.0, + "n": 1 + }, + { + "month": "2022-06", + "mean": 98.5, + "median": 98.5, + "p10": 98.5, + "p25": 98.5, + "p75": 98.5, + "p90": 98.5, + "n": 1 + }, + { + "month": "2022-07", + "mean": 99.8, + "median": 99.8, + "p10": 99.8, + "p25": 99.8, + "p75": 99.8, + "p90": 99.8, + "n": 1 + }, + { + "month": "2022-08", + "mean": 97.2, + "median": 97.2, + "p10": 97.2, + "p25": 97.2, + "p75": 97.2, + "p90": 97.2, + "n": 1 + }, + { + "month": "2022-10", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2022-11", + "mean": 98.0, + "median": 98.0, + "p10": 98.0, + "p25": 98.0, + "p75": 98.0, + "p90": 98.0, + "n": 1 + }, + { + "month": "2023-01", + "mean": 100.2, + "median": 100.2, + "p10": 100.2, + "p25": 100.2, + "p75": 100.2, + "p90": 100.2, + "n": 1 + }, + { + "month": "2023-04", + "mean": 98.8, + "median": 98.8, + "p10": 98.8, + "p25": 98.8, + "p75": 98.8, + "p90": 98.8, + "n": 1 + }, + { + "month": "2023-05", + "mean": 99.2, + "median": 99.2, + "p10": 99.2, + "p25": 99.2, + "p75": 99.2, + "p90": 99.2, + "n": 1 + }, + { + "month": "2023-07", + "mean": 97.5, + "median": 97.5, + "p10": 97.5, + "p25": 97.5, + "p75": 97.5, + "p90": 97.5, + "n": 1 + }, + { + "month": "2023-09", + "mean": 99.0, + "median": 99.0, + "p10": 99.0, + "p25": 99.0, + "p75": 99.0, + "p90": 99.0, + "n": 1 + }, + { + "month": "2023-11", + "mean": 98.5, + "median": 98.5, + "p10": 98.5, + "p25": 98.5, + "p75": 98.5, + "p90": 98.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 100.5, + "median": 100.5, + "p10": 100.5, + "p25": 100.5, + "p75": 100.5, + "p90": 100.5, + "n": 1 + }, + { + "month": "2024-03", + "mean": 99.2, + "median": 99.2, + "p10": 99.2, + "p25": 99.2, + "p75": 99.2, + "p90": 99.2, + "n": 1 + }, + { + "month": "2024-05", + "mean": 98.0, + "median": 98.0, + "p10": 98.0, + "p25": 98.0, + "p75": 98.0, + "p90": 98.0, + "n": 1 + }, + { + "month": "2024-07", + "mean": 97.8, + "median": 97.8, + "p10": 97.8, + "p25": 97.8, + "p75": 97.8, + "p90": 97.8, + "n": 1 + }, + { + "month": "2024-09", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2024-11", + "mean": 98.2, + "median": 98.2, + "p10": 98.2, + "p25": 98.2, + "p75": 98.2, + "p90": 98.2, + "n": 1 + }, + { + "month": "2025-01", + "mean": 99.0, + "median": 99.0, + "p10": 99.0, + "p25": 99.0, + "p75": 99.0, + "p90": 99.0, + "n": 1 + }, + { + "month": "2025-03", + "mean": 98.8, + "median": 98.8, + "p10": 98.8, + "p25": 98.8, + "p75": 98.8, + "p90": 98.8, + "n": 1 + }, + { + "month": "2025-06", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2025-08", + "mean": 97.0, + "median": 97.0, + "p10": 97.0, + "p25": 97.0, + "p75": 97.0, + "p90": 97.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 99.3, + "median": 99.3, + "p10": 99.0, + "p25": 99.1, + "p75": 99.5, + "p90": 99.5, + "n": 4 + }, + { + "month": "2025-10", + "mean": 99.2, + "median": 99.2, + "p10": 98.9, + "p25": 99.0, + "p75": 99.4, + "p90": 99.5, + "n": 4 + }, + { + "month": "2025-11", + "mean": 99.5, + "median": 99.7, + "p10": 98.9, + "p25": 99.3, + "p75": 99.9, + "p90": 100.0, + "n": 4 + }, + { + "month": "2025-12", + "mean": 99.1, + "median": 99.1, + "p10": 98.5, + "p25": 98.6, + "p75": 99.6, + "p90": 99.7, + "n": 4 + }, + { + "month": "2026-01", + "mean": 98.6, + "median": 98.5, + "p10": 98.2, + "p25": 98.3, + "p75": 98.8, + "p90": 99.2, + "n": 4 + }, + { + "month": "2026-02", + "mean": 99.0, + "median": 99.0, + "p10": 98.7, + "p25": 98.8, + "p75": 99.2, + "p90": 99.3, + "n": 4 + }, + { + "month": "2026-03", + "mean": 98.9, + "median": 98.9, + "p10": 98.7, + "p25": 98.8, + "p75": 99.1, + "p90": 99.2, + "n": 4 + }, + { + "month": "2026-04", + "mean": 99.7, + "median": 99.7, + "p10": 99.4, + "p25": 99.5, + "p75": 99.9, + "p90": 100.0, + "n": 4 + }, + { + "month": "2026-05", + "mean": 99.2, + "median": 99.4, + "p10": 98.6, + "p25": 99.0, + "p75": 99.6, + "p90": 99.7, + "n": 4 + } + ], + "stats": { + "n": 58, + "mean": 99.0, + "median": 99.1, + "std": 0.7, + "min": 97.0, + "max": 100.5, + "p25": 98.6, + "p75": 99.5, + "p85": 99.7, + "p95": 100.1 + }, + "reference": 100.0 + }, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/prod_to_qa_pla.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/prod_to_qa_pla.json new file mode 100644 index 00000000000..ab01820e260 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/prod_to_qa_pla.json @@ -0,0 +1,580 @@ +{ + "id": "prod_to_qa_pla", + "label": "Production \u2192 QA Release (PL-A)", + "type": "qa_hold", + "durations": [ + 2, 1, 3, 2, 5, 2, 4, 3, 6, 2, 13, 3, 7, 1, 4, 5, 2, 0, 3, 8, 2, 5, 2, 3, 3, + 3, 3, 3, 4, 4, 3, 3, 3, 4, 3, 3, 3, 2, 4, 4, 3, 3, 4, 2, 3, 3, 3, 3, 3, 4, + 3, 3, 3, 3, 3, 3, 3, 3 + ], + "observations": [ + { + "date": "2022-05-22", + "value": 2 + }, + { + "date": "2022-06-13", + "value": 1 + }, + { + "date": "2022-07-16", + "value": 3 + }, + { + "date": "2022-08-26", + "value": 2 + }, + { + "date": "2022-10-07", + "value": 5 + }, + { + "date": "2022-11-23", + "value": 2 + }, + { + "date": "2023-01-13", + "value": 4 + }, + { + "date": "2023-04-01", + "value": 3 + }, + { + "date": "2023-05-14", + "value": 6 + }, + { + "date": "2023-07-12", + "value": 2 + }, + { + "date": "2023-09-16", + "value": 13 + }, + { + "date": "2023-11-25", + "value": 3 + }, + { + "date": "2024-01-28", + "value": 7 + }, + { + "date": "2024-03-11", + "value": 1 + }, + { + "date": "2024-05-17", + "value": 4 + }, + { + "date": "2024-07-27", + "value": 5 + }, + { + "date": "2024-09-10", + "value": 2 + }, + { + "date": "2024-11-09", + "value": 0 + }, + { + "date": "2025-01-18", + "value": 3 + }, + { + "date": "2025-03-22", + "value": 8 + }, + { + "date": "2025-06-03", + "value": 2 + }, + { + "date": "2025-08-08", + "value": 5 + }, + { + "date": "2025-09-04", + "value": 2 + }, + { + "date": "2025-09-10", + "value": 3 + }, + { + "date": "2025-09-16", + "value": 3 + }, + { + "date": "2025-09-22", + "value": 3 + }, + { + "date": "2025-10-05", + "value": 3 + }, + { + "date": "2025-10-11", + "value": 3 + }, + { + "date": "2025-10-17", + "value": 4 + }, + { + "date": "2025-10-23", + "value": 4 + }, + { + "date": "2025-11-06", + "value": 3 + }, + { + "date": "2025-11-12", + "value": 3 + }, + { + "date": "2025-11-18", + "value": 3 + }, + { + "date": "2025-11-24", + "value": 4 + }, + { + "date": "2025-12-04", + "value": 3 + }, + { + "date": "2025-12-10", + "value": 3 + }, + { + "date": "2025-12-16", + "value": 3 + }, + { + "date": "2025-12-22", + "value": 2 + }, + { + "date": "2026-01-05", + "value": 4 + }, + { + "date": "2026-01-11", + "value": 4 + }, + { + "date": "2026-01-17", + "value": 3 + }, + { + "date": "2026-01-23", + "value": 3 + }, + { + "date": "2026-02-06", + "value": 4 + }, + { + "date": "2026-02-12", + "value": 2 + }, + { + "date": "2026-02-18", + "value": 3 + }, + { + "date": "2026-02-24", + "value": 3 + }, + { + "date": "2026-03-04", + "value": 3 + }, + { + "date": "2026-03-10", + "value": 3 + }, + { + "date": "2026-03-16", + "value": 3 + }, + { + "date": "2026-03-22", + "value": 4 + }, + { + "date": "2026-04-05", + "value": 3 + }, + { + "date": "2026-04-11", + "value": 3 + }, + { + "date": "2026-04-17", + "value": 3 + }, + { + "date": "2026-04-23", + "value": 3 + }, + { + "date": "2026-05-06", + "value": 3 + }, + { + "date": "2026-05-12", + "value": 3 + }, + { + "date": "2026-05-18", + "value": 3 + }, + { + "date": "2026-05-24", + "value": 3 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2022-06", + "mean": 1.0, + "median": 1.0, + "p10": 1.0, + "p25": 1.0, + "p75": 1.0, + "p90": 1.0, + "n": 1 + }, + { + "month": "2022-07", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2022-08", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2022-10", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2022-11", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2023-01", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2023-04", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2023-05", + "mean": 6.0, + "median": 6.0, + "p10": 6.0, + "p25": 6.0, + "p75": 6.0, + "p90": 6.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2023-09", + "mean": 13.0, + "median": 13.0, + "p10": 13.0, + "p25": 13.0, + "p75": 13.0, + "p90": 13.0, + "n": 1 + }, + { + "month": "2023-11", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2024-01", + "mean": 7.0, + "median": 7.0, + "p10": 7.0, + "p25": 7.0, + "p75": 7.0, + "p90": 7.0, + "n": 1 + }, + { + "month": "2024-03", + "mean": 1.0, + "median": 1.0, + "p10": 1.0, + "p25": 1.0, + "p75": 1.0, + "p90": 1.0, + "n": 1 + }, + { + "month": "2024-05", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2024-07", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2024-09", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2025-03", + "mean": 8.0, + "median": 8.0, + "p10": 8.0, + "p25": 8.0, + "p75": 8.0, + "p90": 8.0, + "n": 1 + }, + { + "month": "2025-06", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2025-08", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 2.8, + "median": 3.0, + "p10": 2.3, + "p25": 2.8, + "p75": 3.0, + "p90": 3.0, + "n": 4 + }, + { + "month": "2025-10", + "mean": 3.5, + "median": 3.5, + "p10": 3.0, + "p25": 3.0, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2025-11", + "mean": 3.3, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2025-12", + "mean": 2.8, + "median": 3.0, + "p10": 2.3, + "p25": 2.8, + "p75": 3.0, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-01", + "mean": 3.5, + "median": 3.5, + "p10": 3.0, + "p25": 3.0, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2026-02", + "mean": 3.0, + "median": 3.0, + "p10": 2.3, + "p25": 2.8, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2026-03", + "mean": 3.3, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2026-04", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-05", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 4 + } + ], + "stats": { + "n": 58, + "mean": 3.4, + "median": 3.0, + "std": 1.8, + "min": 0, + "max": 13, + "p25": 3.0, + "p75": 4.0, + "p85": 4.0, + "p95": 6.2 + }, + "plifz": 5, + "plifz_note": "WEBAZ (GR processing days)", + "pct_exceeding_plifz": 6.9, + "annotations": [], + "cost": null, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": null, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/raw_dwell_highland_arabica.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/raw_dwell_highland_arabica.json new file mode 100644 index 00000000000..4f5df7e0239 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/raw_dwell_highland_arabica.json @@ -0,0 +1,1511 @@ +{ + "id": "raw_dwell_highland_arabica", + "label": "Raw Material Dwell: Highland Arabica", + "type": "raw_material_dwell", + "durations": [ + 35, 62, 18, 88, 42, 55, 30, 72, 25, 48, 15, 95, 130, 45, 38, 65, 22, 78, 5, + 55, 40, 28, 85, 50, 110, 32, 68, 45, 92, 20, 58, 35, 42, 75, 12, 48, 60, 38, + 49, 54, 34, 39, 42, 61, 41, 46, 49, 53, 36, 41, 44, 48, 52, 36, 39, 43, 47, + 51, 47, 50, 54, 58, 39, 45, 49, 54, 34, 39, 56, 61, 41, 46, 49, 56, 36, 41, + 44, 48, 32, 36, 39, 43, 47 + ], + "observations": [ + { + "date": "2022-04-02", + "value": 35 + }, + { + "date": "2022-04-15", + "value": 62 + }, + { + "date": "2022-04-28", + "value": 18 + }, + { + "date": "2022-08-05", + "value": 88 + }, + { + "date": "2022-08-12", + "value": 42 + }, + { + "date": "2022-08-20", + "value": 55 + }, + { + "date": "2022-08-28", + "value": 30 + }, + { + "date": "2023-01-10", + "value": 72 + }, + { + "date": "2023-01-22", + "value": 25 + }, + { + "date": "2023-01-30", + "value": 48 + }, + { + "date": "2023-06-05", + "value": 15 + }, + { + "date": "2023-06-18", + "value": 95 + }, + { + "date": "2023-10-03", + "value": 130 + }, + { + "date": "2023-10-10", + "value": 45 + }, + { + "date": "2023-10-18", + "value": 38 + }, + { + "date": "2023-10-25", + "value": 65 + }, + { + "date": "2023-10-30", + "value": 22 + }, + { + "date": "2024-03-05", + "value": 78 + }, + { + "date": "2024-03-12", + "value": 5 + }, + { + "date": "2024-03-20", + "value": 55 + }, + { + "date": "2024-03-28", + "value": 40 + }, + { + "date": "2024-07-08", + "value": 28 + }, + { + "date": "2024-07-15", + "value": 85 + }, + { + "date": "2024-07-22", + "value": 50 + }, + { + "date": "2024-11-04", + "value": 110 + }, + { + "date": "2024-11-11", + "value": 32 + }, + { + "date": "2024-11-18", + "value": 68 + }, + { + "date": "2024-11-25", + "value": 45 + }, + { + "date": "2024-11-30", + "value": 92 + }, + { + "date": "2025-03-03", + "value": 20 + }, + { + "date": "2025-03-10", + "value": 58 + }, + { + "date": "2025-03-17", + "value": 35 + }, + { + "date": "2025-03-24", + "value": 42 + }, + { + "date": "2025-07-02", + "value": 75 + }, + { + "date": "2025-07-09", + "value": 12 + }, + { + "date": "2025-07-16", + "value": 48 + }, + { + "date": "2025-07-23", + "value": 60 + }, + { + "date": "2025-07-30", + "value": 38 + }, + { + "date": "2025-09-05", + "value": 49 + }, + { + "date": "2025-09-11", + "value": 54 + }, + { + "date": "2025-09-17", + "value": 34 + }, + { + "date": "2025-09-23", + "value": 39 + }, + { + "date": "2025-09-29", + "value": 42 + }, + { + "date": "2025-10-06", + "value": 61 + }, + { + "date": "2025-10-12", + "value": 41 + }, + { + "date": "2025-10-18", + "value": 46 + }, + { + "date": "2025-10-24", + "value": 49 + }, + { + "date": "2025-10-30", + "value": 53 + }, + { + "date": "2025-11-04", + "value": 36 + }, + { + "date": "2025-11-10", + "value": 41 + }, + { + "date": "2025-11-16", + "value": 44 + }, + { + "date": "2025-11-22", + "value": 48 + }, + { + "date": "2025-11-28", + "value": 52 + }, + { + "date": "2025-12-05", + "value": 36 + }, + { + "date": "2025-12-11", + "value": 39 + }, + { + "date": "2025-12-17", + "value": 43 + }, + { + "date": "2025-12-23", + "value": 47 + }, + { + "date": "2025-12-29", + "value": 51 + }, + { + "date": "2026-01-06", + "value": 47 + }, + { + "date": "2026-01-12", + "value": 50 + }, + { + "date": "2026-01-18", + "value": 54 + }, + { + "date": "2026-01-24", + "value": 58 + }, + { + "date": "2026-01-30", + "value": 39 + }, + { + "date": "2026-02-04", + "value": 45 + }, + { + "date": "2026-02-10", + "value": 49 + }, + { + "date": "2026-02-16", + "value": 54 + }, + { + "date": "2026-02-22", + "value": 34 + }, + { + "date": "2026-02-28", + "value": 39 + }, + { + "date": "2026-03-05", + "value": 56 + }, + { + "date": "2026-03-11", + "value": 61 + }, + { + "date": "2026-03-17", + "value": 41 + }, + { + "date": "2026-03-23", + "value": 46 + }, + { + "date": "2026-03-29", + "value": 49 + }, + { + "date": "2026-04-06", + "value": 56 + }, + { + "date": "2026-04-12", + "value": 36 + }, + { + "date": "2026-04-18", + "value": 41 + }, + { + "date": "2026-04-24", + "value": 44 + }, + { + "date": "2026-04-30", + "value": 48 + }, + { + "date": "2026-05-04", + "value": 32 + }, + { + "date": "2026-05-10", + "value": 36 + }, + { + "date": "2026-05-16", + "value": 39 + }, + { + "date": "2026-05-22", + "value": 43 + }, + { + "date": "2026-05-28", + "value": 47 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 38.3, + "median": 35, + "p10": 21.4, + "p25": 26.5, + "p75": 48.5, + "p90": 56.6, + "n": 3, + "total_kg_days": 483000 + }, + { + "month": "2022-08", + "mean": 53.8, + "median": 48.5, + "p10": 33.6, + "p25": 39, + "p75": 63.3, + "p90": 78.1, + "n": 4, + "total_kg_days": 903000 + }, + { + "month": "2023-01", + "mean": 48.3, + "median": 48, + "p10": 29.6, + "p25": 36.5, + "p75": 60, + "p90": 67.2, + "n": 3, + "total_kg_days": 609000 + }, + { + "month": "2023-06", + "mean": 55, + "median": 55, + "p10": 23, + "p25": 35, + "p75": 75, + "p90": 87, + "n": 2, + "total_kg_days": 462000 + }, + { + "month": "2023-10", + "mean": 60, + "median": 45, + "p10": 28.4, + "p25": 38, + "p75": 65, + "p90": 104, + "n": 5, + "total_kg_days": 1260000 + }, + { + "month": "2024-03", + "mean": 44.5, + "median": 47.5, + "p10": 15.5, + "p25": 31.3, + "p75": 60.8, + "p90": 71.1, + "n": 4, + "total_kg_days": 747600 + }, + { + "month": "2024-07", + "mean": 54.3, + "median": 50, + "p10": 32.4, + "p25": 39, + "p75": 67.5, + "p90": 78, + "n": 3, + "total_kg_days": 684600 + }, + { + "month": "2024-11", + "mean": 69.4, + "median": 68, + "p10": 37.2, + "p25": 45, + "p75": 92, + "p90": 102.8, + "n": 5, + "total_kg_days": 1457400 + }, + { + "month": "2025-03", + "mean": 38.8, + "median": 38.5, + "p10": 24.5, + "p25": 31.3, + "p75": 46, + "p90": 53.2, + "n": 4, + "total_kg_days": 651000 + }, + { + "month": "2025-07", + "mean": 46.6, + "median": 48, + "p10": 22.4, + "p25": 38, + "p75": 60, + "p90": 69, + "n": 5, + "total_kg_days": 978600 + }, + { + "month": "2025-09", + "mean": 43.6, + "median": 42, + "p10": 36, + "p25": 39, + "p75": 49, + "p90": 52, + "n": 5, + "total_kg_days": 915600 + }, + { + "month": "2025-10", + "mean": 50, + "median": 49, + "p10": 43, + "p25": 46, + "p75": 53, + "p90": 57.8, + "n": 5, + "total_kg_days": 1050000 + }, + { + "month": "2025-11", + "mean": 44.2, + "median": 44, + "p10": 38, + "p25": 41, + "p75": 48, + "p90": 50.4, + "n": 5, + "total_kg_days": 928200 + }, + { + "month": "2025-12", + "mean": 43.2, + "median": 43, + "p10": 37.2, + "p25": 39, + "p75": 47, + "p90": 49.4, + "n": 5, + "total_kg_days": 907200 + }, + { + "month": "2026-01", + "mean": 49.6, + "median": 50, + "p10": 42.2, + "p25": 47, + "p75": 54, + "p90": 56.4, + "n": 5, + "total_kg_days": 1041600 + }, + { + "month": "2026-02", + "mean": 44.2, + "median": 45, + "p10": 36, + "p25": 39, + "p75": 49, + "p90": 52, + "n": 5, + "total_kg_days": 928200 + }, + { + "month": "2026-03", + "mean": 50.6, + "median": 49, + "p10": 43, + "p25": 46, + "p75": 56, + "p90": 59, + "n": 5, + "total_kg_days": 1062600 + }, + { + "month": "2026-04", + "mean": 45, + "median": 44, + "p10": 38, + "p25": 41, + "p75": 48, + "p90": 52.8, + "n": 5, + "total_kg_days": 945000 + }, + { + "month": "2026-05", + "mean": 39.4, + "median": 39, + "p10": 33.6, + "p25": 36, + "p75": 43, + "p90": 45.4, + "n": 5, + "total_kg_days": 827400 + } + ], + "stats": { + "n": 83, + "mean": 48.3, + "median": 46, + "std": 19.8, + "min": 5, + "max": 130, + "p25": 38.5, + "p75": 54.5, + "p85": 61, + "p95": 87.7 + }, + "plifz": 30, + "plifz_note": null, + "pct_exceeding_plifz": 89.2, + "annotations": [ + { + "date": "2023-09-01", + "label": "Supplier change for Highland Arabica" + } + ], + "cost": { + "unit_price": 3.2, + "currency": "CHF", + "mean_qty": 4200, + "monthly": [ + { + "month": "2022-04", + "n_events": 3, + "total_kg_days": 483000 + }, + { + "month": "2022-08", + "n_events": 4, + "total_kg_days": 903000 + }, + { + "month": "2023-01", + "n_events": 3, + "total_kg_days": 609000 + }, + { + "month": "2023-06", + "n_events": 2, + "total_kg_days": 462000 + }, + { + "month": "2023-10", + "n_events": 5, + "total_kg_days": 1260000 + }, + { + "month": "2024-03", + "n_events": 4, + "total_kg_days": 747600 + }, + { + "month": "2024-07", + "n_events": 3, + "total_kg_days": 684600 + }, + { + "month": "2024-11", + "n_events": 5, + "total_kg_days": 1457400 + }, + { + "month": "2025-03", + "n_events": 4, + "total_kg_days": 651000 + }, + { + "month": "2025-07", + "n_events": 5, + "total_kg_days": 978600 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 915600 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1050000 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 928200 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 907200 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1041600 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 928200 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1062600 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 945000 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 827400 + } + ] + }, + "detail_rows": { + "columns": [ + { + "key": "batch", + "source_field": "CHARG", + "source_table": "MSEG", + "label": "Batch" + }, + { + "key": "consumption_date", + "source_field": "BUDAT", + "source_table": "MKPF", + "label": "Consumption Date" + }, + { + "key": "dwell_days", + "source_field": null, + "source_table": null, + "label": "Dwell Days", + "unit": "d" + }, + { + "key": "kg_days", + "source_field": null, + "source_table": null, + "label": "Inventory kg-days", + "unit": "kg·d" + }, + { + "key": "cons_matnr", + "source_field": "MATNR", + "source_table": "MSEG", + "label": "Consuming Material" + }, + { + "key": "cons_material_name", + "source_field": "MAKTX", + "source_table": "MAKT", + "label": "Consuming Material Name" + }, + { + "key": "cons_in_current_recipe", + "source_field": null, + "source_table": null, + "label": "In Current Recipe" + } + ], + "rows": [ + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-001", + "consumption_date": "2022-04-02", + "dwell_days": 35, + "kg_days": 161000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-002", + "consumption_date": "2022-04-15", + "dwell_days": 62, + "kg_days": 161000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-003", + "consumption_date": "2022-04-28", + "dwell_days": 18, + "kg_days": 161000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-004", + "consumption_date": "2022-08-05", + "dwell_days": 88, + "kg_days": 225750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-005", + "consumption_date": "2022-08-12", + "dwell_days": 42, + "kg_days": 225750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-006", + "consumption_date": "2022-08-20", + "dwell_days": 55, + "kg_days": 225750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-007", + "consumption_date": "2022-08-28", + "dwell_days": 30, + "kg_days": 225750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-008", + "consumption_date": "2023-01-10", + "dwell_days": 72, + "kg_days": 203000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-009", + "consumption_date": "2023-01-22", + "dwell_days": 25, + "kg_days": 203000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-010", + "consumption_date": "2023-01-30", + "dwell_days": 48, + "kg_days": 203000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-011", + "consumption_date": "2023-06-05", + "dwell_days": 15, + "kg_days": 231000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-012", + "consumption_date": "2023-06-18", + "dwell_days": 95, + "kg_days": 231000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-013", + "consumption_date": "2023-10-03", + "dwell_days": 130, + "kg_days": 252000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-014", + "consumption_date": "2023-10-10", + "dwell_days": 45, + "kg_days": 252000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-015", + "consumption_date": "2023-10-18", + "dwell_days": 38, + "kg_days": 252000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-016", + "consumption_date": "2023-10-25", + "dwell_days": 65, + "kg_days": 252000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-017", + "consumption_date": "2023-10-30", + "dwell_days": 22, + "kg_days": 252000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-018", + "consumption_date": "2024-03-05", + "dwell_days": 78, + "kg_days": 186900, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-019", + "consumption_date": "2024-03-12", + "dwell_days": 5, + "kg_days": 186900, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-020", + "consumption_date": "2024-03-20", + "dwell_days": 55, + "kg_days": 186900, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-021", + "consumption_date": "2024-03-28", + "dwell_days": 40, + "kg_days": 186900, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-022", + "consumption_date": "2024-07-08", + "dwell_days": 28, + "kg_days": 228200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-023", + "consumption_date": "2024-07-15", + "dwell_days": 85, + "kg_days": 228200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-024", + "consumption_date": "2024-07-22", + "dwell_days": 50, + "kg_days": 228200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-025", + "consumption_date": "2024-11-04", + "dwell_days": 110, + "kg_days": 291480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-026", + "consumption_date": "2024-11-11", + "dwell_days": 32, + "kg_days": 291480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-027", + "consumption_date": "2024-11-18", + "dwell_days": 68, + "kg_days": 291480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-028", + "consumption_date": "2024-11-25", + "dwell_days": 45, + "kg_days": 291480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-029", + "consumption_date": "2024-11-30", + "dwell_days": 92, + "kg_days": 291480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-030", + "consumption_date": "2025-03-03", + "dwell_days": 20, + "kg_days": 162750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-031", + "consumption_date": "2025-03-10", + "dwell_days": 58, + "kg_days": 162750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-032", + "consumption_date": "2025-03-17", + "dwell_days": 35, + "kg_days": 162750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-033", + "consumption_date": "2025-03-24", + "dwell_days": 42, + "kg_days": 162750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-034", + "consumption_date": "2025-07-02", + "dwell_days": 75, + "kg_days": 195720, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-035", + "consumption_date": "2025-07-09", + "dwell_days": 12, + "kg_days": 195720, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-036", + "consumption_date": "2025-07-16", + "dwell_days": 48, + "kg_days": 195720, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-037", + "consumption_date": "2025-07-23", + "dwell_days": 60, + "kg_days": 195720, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-038", + "consumption_date": "2025-07-30", + "dwell_days": 38, + "kg_days": 195720, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-039", + "consumption_date": "2025-09-05", + "dwell_days": 49, + "kg_days": 183120, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-040", + "consumption_date": "2025-09-11", + "dwell_days": 54, + "kg_days": 183120, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-041", + "consumption_date": "2025-09-17", + "dwell_days": 34, + "kg_days": 183120, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-042", + "consumption_date": "2025-09-23", + "dwell_days": 39, + "kg_days": 183120, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-043", + "consumption_date": "2025-09-29", + "dwell_days": 42, + "kg_days": 183120, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-044", + "consumption_date": "2025-10-06", + "dwell_days": 61, + "kg_days": 210000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-045", + "consumption_date": "2025-10-12", + "dwell_days": 41, + "kg_days": 210000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-046", + "consumption_date": "2025-10-18", + "dwell_days": 46, + "kg_days": 210000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-047", + "consumption_date": "2025-10-24", + "dwell_days": 49, + "kg_days": 210000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-048", + "consumption_date": "2025-10-30", + "dwell_days": 53, + "kg_days": 210000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-049", + "consumption_date": "2025-11-04", + "dwell_days": 36, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-050", + "consumption_date": "2025-11-10", + "dwell_days": 41, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-051", + "consumption_date": "2025-11-16", + "dwell_days": 44, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-052", + "consumption_date": "2025-11-22", + "dwell_days": 48, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-053", + "consumption_date": "2025-11-28", + "dwell_days": 52, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-054", + "consumption_date": "2025-12-05", + "dwell_days": 36, + "kg_days": 181440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-055", + "consumption_date": "2025-12-11", + "dwell_days": 39, + "kg_days": 181440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-056", + "consumption_date": "2025-12-17", + "dwell_days": 43, + "kg_days": 181440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-057", + "consumption_date": "2025-12-23", + "dwell_days": 47, + "kg_days": 181440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-058", + "consumption_date": "2025-12-29", + "dwell_days": 51, + "kg_days": 181440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-059", + "consumption_date": "2026-01-06", + "dwell_days": 47, + "kg_days": 208320, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-060", + "consumption_date": "2026-01-12", + "dwell_days": 50, + "kg_days": 208320, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-061", + "consumption_date": "2026-01-18", + "dwell_days": 54, + "kg_days": 208320, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-062", + "consumption_date": "2026-01-24", + "dwell_days": 58, + "kg_days": 208320, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-063", + "consumption_date": "2026-01-30", + "dwell_days": 39, + "kg_days": 208320, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-064", + "consumption_date": "2026-02-04", + "dwell_days": 45, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-065", + "consumption_date": "2026-02-10", + "dwell_days": 49, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-066", + "consumption_date": "2026-02-16", + "dwell_days": 54, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-067", + "consumption_date": "2026-02-22", + "dwell_days": 34, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-068", + "consumption_date": "2026-02-28", + "dwell_days": 39, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-069", + "consumption_date": "2026-03-05", + "dwell_days": 56, + "kg_days": 212520, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-070", + "consumption_date": "2026-03-11", + "dwell_days": 61, + "kg_days": 212520, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-071", + "consumption_date": "2026-03-17", + "dwell_days": 41, + "kg_days": 212520, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-072", + "consumption_date": "2026-03-23", + "dwell_days": 46, + "kg_days": 212520, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-073", + "consumption_date": "2026-03-29", + "dwell_days": 49, + "kg_days": 212520, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-074", + "consumption_date": "2026-04-06", + "dwell_days": 56, + "kg_days": 189000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-075", + "consumption_date": "2026-04-12", + "dwell_days": 36, + "kg_days": 189000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-076", + "consumption_date": "2026-04-18", + "dwell_days": 41, + "kg_days": 189000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-077", + "consumption_date": "2026-04-24", + "dwell_days": 44, + "kg_days": 189000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-078", + "consumption_date": "2026-04-30", + "dwell_days": 48, + "kg_days": 189000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-079", + "consumption_date": "2026-05-04", + "dwell_days": 32, + "kg_days": 165480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-080", + "consumption_date": "2026-05-10", + "dwell_days": 36, + "kg_days": 165480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-081", + "consumption_date": "2026-05-16", + "dwell_days": 39, + "kg_days": 165480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-082", + "consumption_date": "2026-05-22", + "dwell_days": 43, + "kg_days": 165480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-083", + "consumption_date": "2026-05-28", + "dwell_days": 47, + "kg_days": 165480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-OTHER-01", + "consumption_date": "2026-05-16", + "dwell_days": 44.8, + "kg_days": 48750, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 0 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-OTHER-02", + "consumption_date": "2026-05-22", + "dwell_days": 49.4, + "kg_days": 53750, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 0 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-OTHER-03", + "consumption_date": "2026-05-28", + "dwell_days": 54.1, + "kg_days": 58750, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 0 + } + ] + }, + "ref_date_col": "consumption_date", + "n_batches": null, + "n_movements": 38, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0", + "value_col": "dwell_days" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/raw_dwell_lowland_robusta.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/raw_dwell_lowland_robusta.json new file mode 100644 index 00000000000..5b4733cca97 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/raw_dwell_lowland_robusta.json @@ -0,0 +1,1259 @@ +{ + "id": "raw_dwell_lowland_robusta", + "label": "Raw Material Dwell: Lowland Robusta", + "type": "raw_material_dwell", + "durations": [ + 28, 45, 12, 62, 33, 78, 20, 55, 8, 42, 65, 38, 15, 72, 25, 48, 3, 85, 30, + 55, 22, 40, 98, 18, 39, 41, 45, 30, 34, 38, 41, 27, 30, 32, 38, 23, 27, 29, + 32, 28, 32, 34, 37, 40, 28, 31, 33, 36, 39, 36, 39, 41, 45, 30, 35, 38, 41, + 27, 30, 34, 38, 23, 27, 29, 43, 28, 32, 34, 37 + ], + "observations": [ + { + "date": "2022-05-02", + "value": 28 + }, + { + "date": "2022-05-10", + "value": 45 + }, + { + "date": "2022-05-18", + "value": 12 + }, + { + "date": "2022-05-25", + "value": 62 + }, + { + "date": "2023-02-06", + "value": 33 + }, + { + "date": "2023-02-14", + "value": 78 + }, + { + "date": "2023-02-22", + "value": 20 + }, + { + "date": "2023-02-28", + "value": 55 + }, + { + "date": "2023-09-05", + "value": 8 + }, + { + "date": "2023-09-15", + "value": 42 + }, + { + "date": "2023-09-25", + "value": 65 + }, + { + "date": "2024-04-03", + "value": 38 + }, + { + "date": "2024-04-10", + "value": 15 + }, + { + "date": "2024-04-17", + "value": 72 + }, + { + "date": "2024-04-24", + "value": 25 + }, + { + "date": "2024-10-02", + "value": 48 + }, + { + "date": "2024-10-09", + "value": 3 + }, + { + "date": "2024-10-16", + "value": 85 + }, + { + "date": "2024-10-23", + "value": 30 + }, + { + "date": "2024-10-30", + "value": 55 + }, + { + "date": "2025-04-07", + "value": 22 + }, + { + "date": "2025-04-14", + "value": 40 + }, + { + "date": "2025-04-21", + "value": 98 + }, + { + "date": "2025-04-28", + "value": 18 + }, + { + "date": "2025-09-04", + "value": 39 + }, + { + "date": "2025-09-10", + "value": 41 + }, + { + "date": "2025-09-16", + "value": 45 + }, + { + "date": "2025-09-22", + "value": 30 + }, + { + "date": "2025-09-28", + "value": 34 + }, + { + "date": "2025-10-05", + "value": 38 + }, + { + "date": "2025-10-11", + "value": 41 + }, + { + "date": "2025-10-17", + "value": 27 + }, + { + "date": "2025-10-23", + "value": 30 + }, + { + "date": "2025-10-29", + "value": 32 + }, + { + "date": "2025-11-06", + "value": 38 + }, + { + "date": "2025-11-12", + "value": 23 + }, + { + "date": "2025-11-18", + "value": 27 + }, + { + "date": "2025-11-24", + "value": 29 + }, + { + "date": "2025-11-30", + "value": 32 + }, + { + "date": "2025-12-04", + "value": 28 + }, + { + "date": "2025-12-10", + "value": 32 + }, + { + "date": "2025-12-16", + "value": 34 + }, + { + "date": "2025-12-22", + "value": 37 + }, + { + "date": "2025-12-28", + "value": 40 + }, + { + "date": "2026-01-05", + "value": 28 + }, + { + "date": "2026-01-11", + "value": 31 + }, + { + "date": "2026-01-17", + "value": 33 + }, + { + "date": "2026-01-23", + "value": 36 + }, + { + "date": "2026-01-29", + "value": 39 + }, + { + "date": "2026-02-06", + "value": 36 + }, + { + "date": "2026-02-12", + "value": 39 + }, + { + "date": "2026-02-18", + "value": 41 + }, + { + "date": "2026-02-24", + "value": 45 + }, + { + "date": "2026-02-30", + "value": 30 + }, + { + "date": "2026-03-04", + "value": 35 + }, + { + "date": "2026-03-10", + "value": 38 + }, + { + "date": "2026-03-16", + "value": 41 + }, + { + "date": "2026-03-22", + "value": 27 + }, + { + "date": "2026-03-28", + "value": 30 + }, + { + "date": "2026-04-05", + "value": 34 + }, + { + "date": "2026-04-11", + "value": 38 + }, + { + "date": "2026-04-17", + "value": 23 + }, + { + "date": "2026-04-23", + "value": 27 + }, + { + "date": "2026-04-29", + "value": 29 + }, + { + "date": "2026-05-06", + "value": 43 + }, + { + "date": "2026-05-12", + "value": 28 + }, + { + "date": "2026-05-18", + "value": 32 + }, + { + "date": "2026-05-24", + "value": 34 + }, + { + "date": "2026-05-30", + "value": 37 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 36.8, + "median": 36.5, + "p10": 16.8, + "p25": 24, + "p75": 49.3, + "p90": 56.9, + "n": 4, + "total_kg_days": 955500 + }, + { + "month": "2023-02", + "mean": 46.5, + "median": 44, + "p10": 23.9, + "p25": 29.8, + "p75": 60.8, + "p90": 71.1, + "n": 4, + "total_kg_days": 1209000 + }, + { + "month": "2023-09", + "mean": 38.3, + "median": 42, + "p10": 14.8, + "p25": 25, + "p75": 53.5, + "p90": 60.4, + "n": 3, + "total_kg_days": 747500 + }, + { + "month": "2024-04", + "mean": 37.5, + "median": 31.5, + "p10": 18, + "p25": 22.5, + "p75": 46.5, + "p90": 61.8, + "n": 4, + "total_kg_days": 975000 + }, + { + "month": "2024-10", + "mean": 44.2, + "median": 48, + "p10": 13.8, + "p25": 30, + "p75": 55, + "p90": 73, + "n": 5, + "total_kg_days": 1436500 + }, + { + "month": "2025-04", + "mean": 44.5, + "median": 31, + "p10": 19.2, + "p25": 21, + "p75": 54.5, + "p90": 80.6, + "n": 4, + "total_kg_days": 1157000 + }, + { + "month": "2025-09", + "mean": 37.8, + "median": 39, + "p10": 31.6, + "p25": 34, + "p75": 41, + "p90": 43.4, + "n": 5, + "total_kg_days": 1228500 + }, + { + "month": "2025-10", + "mean": 33.6, + "median": 32, + "p10": 28.2, + "p25": 30, + "p75": 38, + "p90": 39.8, + "n": 5, + "total_kg_days": 1092000 + }, + { + "month": "2025-11", + "mean": 29.8, + "median": 29, + "p10": 24.6, + "p25": 27, + "p75": 32, + "p90": 35.6, + "n": 5, + "total_kg_days": 968500 + }, + { + "month": "2025-12", + "mean": 34.2, + "median": 34, + "p10": 29.6, + "p25": 32, + "p75": 37, + "p90": 38.8, + "n": 5, + "total_kg_days": 1111500 + }, + { + "month": "2026-01", + "mean": 33.4, + "median": 33, + "p10": 29.2, + "p25": 31, + "p75": 36, + "p90": 37.8, + "n": 5, + "total_kg_days": 1085500 + }, + { + "month": "2026-02", + "mean": 38.2, + "median": 39, + "p10": 32.4, + "p25": 36, + "p75": 41, + "p90": 43.4, + "n": 5, + "total_kg_days": 1241500 + }, + { + "month": "2026-03", + "mean": 34.2, + "median": 35, + "p10": 28.2, + "p25": 30, + "p75": 38, + "p90": 39.8, + "n": 5, + "total_kg_days": 1111500 + }, + { + "month": "2026-04", + "mean": 30.2, + "median": 29, + "p10": 24.6, + "p25": 27, + "p75": 34, + "p90": 36.4, + "n": 5, + "total_kg_days": 981500 + }, + { + "month": "2026-05", + "mean": 34.8, + "median": 34, + "p10": 29.6, + "p25": 32, + "p75": 37, + "p90": 40.6, + "n": 5, + "total_kg_days": 1131000 + } + ], + "stats": { + "n": 69, + "mean": 36.6, + "median": 34, + "std": 15.8, + "min": 3, + "max": 98, + "p25": 28, + "p75": 41, + "p85": 45, + "p95": 69.2 + }, + "plifz": 21, + "plifz_note": null, + "pct_exceeding_plifz": 91.3, + "annotations": [], + "cost": { + "unit_price": 1.8, + "currency": "CHF", + "mean_qty": 6500, + "monthly": [ + { + "month": "2022-05", + "n_events": 4, + "total_kg_days": 955500 + }, + { + "month": "2023-02", + "n_events": 4, + "total_kg_days": 1209000 + }, + { + "month": "2023-09", + "n_events": 3, + "total_kg_days": 747500 + }, + { + "month": "2024-04", + "n_events": 4, + "total_kg_days": 975000 + }, + { + "month": "2024-10", + "n_events": 5, + "total_kg_days": 1436500 + }, + { + "month": "2025-04", + "n_events": 4, + "total_kg_days": 1157000 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 1228500 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1092000 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 968500 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 1111500 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1085500 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 1241500 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1111500 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 981500 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 1131000 + } + ] + }, + "detail_rows": { + "columns": [ + { + "key": "batch", + "source_field": "CHARG", + "source_table": "MSEG", + "label": "Batch" + }, + { + "key": "consumption_date", + "source_field": "BUDAT", + "source_table": "MKPF", + "label": "Consumption Date" + }, + { + "key": "dwell_days", + "source_field": null, + "source_table": null, + "label": "Dwell Days", + "unit": "d" + }, + { + "key": "kg_days", + "source_field": null, + "source_table": null, + "label": "Inventory kg-days", + "unit": "kg·d" + }, + { + "key": "cons_matnr", + "source_field": "MATNR", + "source_table": "MSEG", + "label": "Consuming Material" + }, + { + "key": "cons_material_name", + "source_field": "MAKTX", + "source_table": "MAKT", + "label": "Consuming Material Name" + }, + { + "key": "cons_in_current_recipe", + "source_field": null, + "source_table": null, + "label": "In Current Recipe" + } + ], + "rows": [ + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-001", + "consumption_date": "2022-05-02", + "dwell_days": 28, + "kg_days": 238875, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-002", + "consumption_date": "2022-05-10", + "dwell_days": 45, + "kg_days": 238875, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-003", + "consumption_date": "2022-05-18", + "dwell_days": 12, + "kg_days": 238875, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-004", + "consumption_date": "2022-05-25", + "dwell_days": 62, + "kg_days": 238875, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-005", + "consumption_date": "2023-02-06", + "dwell_days": 33, + "kg_days": 302250, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-006", + "consumption_date": "2023-02-14", + "dwell_days": 78, + "kg_days": 302250, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-007", + "consumption_date": "2023-02-22", + "dwell_days": 20, + "kg_days": 302250, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-008", + "consumption_date": "2023-02-28", + "dwell_days": 55, + "kg_days": 302250, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-009", + "consumption_date": "2023-09-05", + "dwell_days": 8, + "kg_days": 249166.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-010", + "consumption_date": "2023-09-15", + "dwell_days": 42, + "kg_days": 249166.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-011", + "consumption_date": "2023-09-25", + "dwell_days": 65, + "kg_days": 249166.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-012", + "consumption_date": "2024-04-03", + "dwell_days": 38, + "kg_days": 243750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-013", + "consumption_date": "2024-04-10", + "dwell_days": 15, + "kg_days": 243750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-014", + "consumption_date": "2024-04-17", + "dwell_days": 72, + "kg_days": 243750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-015", + "consumption_date": "2024-04-24", + "dwell_days": 25, + "kg_days": 243750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-016", + "consumption_date": "2024-10-02", + "dwell_days": 48, + "kg_days": 287300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-017", + "consumption_date": "2024-10-09", + "dwell_days": 3, + "kg_days": 287300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-018", + "consumption_date": "2024-10-16", + "dwell_days": 85, + "kg_days": 287300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-019", + "consumption_date": "2024-10-23", + "dwell_days": 30, + "kg_days": 287300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-020", + "consumption_date": "2024-10-30", + "dwell_days": 55, + "kg_days": 287300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-021", + "consumption_date": "2025-04-07", + "dwell_days": 22, + "kg_days": 289250, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-022", + "consumption_date": "2025-04-14", + "dwell_days": 40, + "kg_days": 289250, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-023", + "consumption_date": "2025-04-21", + "dwell_days": 98, + "kg_days": 289250, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-024", + "consumption_date": "2025-04-28", + "dwell_days": 18, + "kg_days": 289250, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-025", + "consumption_date": "2025-09-04", + "dwell_days": 39, + "kg_days": 245700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-026", + "consumption_date": "2025-09-10", + "dwell_days": 41, + "kg_days": 245700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-027", + "consumption_date": "2025-09-16", + "dwell_days": 45, + "kg_days": 245700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-028", + "consumption_date": "2025-09-22", + "dwell_days": 30, + "kg_days": 245700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-029", + "consumption_date": "2025-09-28", + "dwell_days": 34, + "kg_days": 245700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-030", + "consumption_date": "2025-10-05", + "dwell_days": 38, + "kg_days": 218400, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-031", + "consumption_date": "2025-10-11", + "dwell_days": 41, + "kg_days": 218400, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-032", + "consumption_date": "2025-10-17", + "dwell_days": 27, + "kg_days": 218400, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-033", + "consumption_date": "2025-10-23", + "dwell_days": 30, + "kg_days": 218400, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-034", + "consumption_date": "2025-10-29", + "dwell_days": 32, + "kg_days": 218400, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-035", + "consumption_date": "2025-11-06", + "dwell_days": 38, + "kg_days": 193700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-036", + "consumption_date": "2025-11-12", + "dwell_days": 23, + "kg_days": 193700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-037", + "consumption_date": "2025-11-18", + "dwell_days": 27, + "kg_days": 193700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-038", + "consumption_date": "2025-11-24", + "dwell_days": 29, + "kg_days": 193700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-039", + "consumption_date": "2025-11-30", + "dwell_days": 32, + "kg_days": 193700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-040", + "consumption_date": "2025-12-04", + "dwell_days": 28, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-041", + "consumption_date": "2025-12-10", + "dwell_days": 32, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-042", + "consumption_date": "2025-12-16", + "dwell_days": 34, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-043", + "consumption_date": "2025-12-22", + "dwell_days": 37, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-044", + "consumption_date": "2025-12-28", + "dwell_days": 40, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-045", + "consumption_date": "2026-01-05", + "dwell_days": 28, + "kg_days": 217100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-046", + "consumption_date": "2026-01-11", + "dwell_days": 31, + "kg_days": 217100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-047", + "consumption_date": "2026-01-17", + "dwell_days": 33, + "kg_days": 217100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-048", + "consumption_date": "2026-01-23", + "dwell_days": 36, + "kg_days": 217100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-049", + "consumption_date": "2026-01-29", + "dwell_days": 39, + "kg_days": 217100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-050", + "consumption_date": "2026-02-06", + "dwell_days": 36, + "kg_days": 248300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-051", + "consumption_date": "2026-02-12", + "dwell_days": 39, + "kg_days": 248300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-052", + "consumption_date": "2026-02-18", + "dwell_days": 41, + "kg_days": 248300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-053", + "consumption_date": "2026-02-24", + "dwell_days": 45, + "kg_days": 248300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-054", + "consumption_date": "2026-02-30", + "dwell_days": 30, + "kg_days": 248300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-055", + "consumption_date": "2026-03-04", + "dwell_days": 35, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-056", + "consumption_date": "2026-03-10", + "dwell_days": 38, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-057", + "consumption_date": "2026-03-16", + "dwell_days": 41, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-058", + "consumption_date": "2026-03-22", + "dwell_days": 27, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-059", + "consumption_date": "2026-03-28", + "dwell_days": 30, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-060", + "consumption_date": "2026-04-05", + "dwell_days": 34, + "kg_days": 196300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-061", + "consumption_date": "2026-04-11", + "dwell_days": 38, + "kg_days": 196300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-062", + "consumption_date": "2026-04-17", + "dwell_days": 23, + "kg_days": 196300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-063", + "consumption_date": "2026-04-23", + "dwell_days": 27, + "kg_days": 196300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-064", + "consumption_date": "2026-04-29", + "dwell_days": 29, + "kg_days": 196300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-065", + "consumption_date": "2026-05-06", + "dwell_days": 43, + "kg_days": 226200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-066", + "consumption_date": "2026-05-12", + "dwell_days": 28, + "kg_days": 226200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-067", + "consumption_date": "2026-05-18", + "dwell_days": 32, + "kg_days": 226200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-068", + "consumption_date": "2026-05-24", + "dwell_days": 34, + "kg_days": 226200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-069", + "consumption_date": "2026-05-30", + "dwell_days": 37, + "kg_days": 226200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-OTHER-01", + "consumption_date": "2026-05-18", + "dwell_days": 36.8, + "kg_days": 40000, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 0 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-OTHER-02", + "consumption_date": "2026-05-24", + "dwell_days": 39.1, + "kg_days": 42500, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 0 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-OTHER-03", + "consumption_date": "2026-05-30", + "dwell_days": 42.6, + "kg_days": 46250, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 0 + } + ] + }, + "ref_date_col": "consumption_date", + "n_batches": null, + "n_movements": 42, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0", + "value_col": "dwell_days" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/raw_dwell_washed_bourbon.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/raw_dwell_washed_bourbon.json new file mode 100644 index 00000000000..658b7e12a65 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/raw_dwell_washed_bourbon.json @@ -0,0 +1,1272 @@ +{ + "id": "raw_dwell_washed_bourbon", + "label": "Raw Material Dwell: Washed Bourbon", + "type": "raw_material_dwell", + "durations": [ + 40, 22, 68, 4, 55, 115, 30, 62, 18, 85, 35, 72, 10, 48, 95, 28, 52, 15, 78, + 42, 8, 65, 33, 100, 20, 41, 45, 48, 52, 34, 40, 44, 48, 30, 34, 50, 54, 36, + 41, 44, 50, 32, 36, 39, 43, 28, 32, 35, 38, 42, 39, 41, 45, 48, 52, 37, 40, + 44, 48, 30, 47, 50, 54, 36, 41, 46, 50, 32, 36, 39 + ], + "observations": [ + { + "date": "2022-06-05", + "value": 40 + }, + { + "date": "2022-06-15", + "value": 22 + }, + { + "date": "2022-06-25", + "value": 68 + }, + { + "date": "2023-03-08", + "value": 4 + }, + { + "date": "2023-03-15", + "value": 55 + }, + { + "date": "2023-03-22", + "value": 115 + }, + { + "date": "2023-03-29", + "value": 30 + }, + { + "date": "2023-11-06", + "value": 62 + }, + { + "date": "2023-11-13", + "value": 18 + }, + { + "date": "2023-11-20", + "value": 85 + }, + { + "date": "2024-06-03", + "value": 35 + }, + { + "date": "2024-06-10", + "value": 72 + }, + { + "date": "2024-06-17", + "value": 10 + }, + { + "date": "2024-06-24", + "value": 48 + }, + { + "date": "2024-06-30", + "value": 95 + }, + { + "date": "2025-01-07", + "value": 28 + }, + { + "date": "2025-01-14", + "value": 52 + }, + { + "date": "2025-01-21", + "value": 15 + }, + { + "date": "2025-01-28", + "value": 78 + }, + { + "date": "2025-08-04", + "value": 42 + }, + { + "date": "2025-08-08", + "value": 8 + }, + { + "date": "2025-08-12", + "value": 65 + }, + { + "date": "2025-08-16", + "value": 33 + }, + { + "date": "2025-08-20", + "value": 100 + }, + { + "date": "2025-08-24", + "value": 20 + }, + { + "date": "2025-09-06", + "value": 41 + }, + { + "date": "2025-09-12", + "value": 45 + }, + { + "date": "2025-09-18", + "value": 48 + }, + { + "date": "2025-09-24", + "value": 52 + }, + { + "date": "2025-09-30", + "value": 34 + }, + { + "date": "2025-10-04", + "value": 40 + }, + { + "date": "2025-10-10", + "value": 44 + }, + { + "date": "2025-10-16", + "value": 48 + }, + { + "date": "2025-10-22", + "value": 30 + }, + { + "date": "2025-10-28", + "value": 34 + }, + { + "date": "2025-11-05", + "value": 50 + }, + { + "date": "2025-11-11", + "value": 54 + }, + { + "date": "2025-11-17", + "value": 36 + }, + { + "date": "2025-11-23", + "value": 41 + }, + { + "date": "2025-11-29", + "value": 44 + }, + { + "date": "2025-12-06", + "value": 50 + }, + { + "date": "2025-12-12", + "value": 32 + }, + { + "date": "2025-12-18", + "value": 36 + }, + { + "date": "2025-12-24", + "value": 39 + }, + { + "date": "2025-12-30", + "value": 43 + }, + { + "date": "2026-01-04", + "value": 28 + }, + { + "date": "2026-01-10", + "value": 32 + }, + { + "date": "2026-01-16", + "value": 35 + }, + { + "date": "2026-01-22", + "value": 38 + }, + { + "date": "2026-01-28", + "value": 42 + }, + { + "date": "2026-02-05", + "value": 39 + }, + { + "date": "2026-02-11", + "value": 41 + }, + { + "date": "2026-02-17", + "value": 45 + }, + { + "date": "2026-02-23", + "value": 48 + }, + { + "date": "2026-02-29", + "value": 52 + }, + { + "date": "2026-03-06", + "value": 37 + }, + { + "date": "2026-03-12", + "value": 40 + }, + { + "date": "2026-03-18", + "value": 44 + }, + { + "date": "2026-03-24", + "value": 48 + }, + { + "date": "2026-03-30", + "value": 30 + }, + { + "date": "2026-04-04", + "value": 47 + }, + { + "date": "2026-04-10", + "value": 50 + }, + { + "date": "2026-04-16", + "value": 54 + }, + { + "date": "2026-04-22", + "value": 36 + }, + { + "date": "2026-04-28", + "value": 41 + }, + { + "date": "2026-05-05", + "value": 46 + }, + { + "date": "2026-05-11", + "value": 50 + }, + { + "date": "2026-05-17", + "value": 32 + }, + { + "date": "2026-05-23", + "value": 36 + }, + { + "date": "2026-05-29", + "value": 39 + } + ], + "monthly": [ + { + "month": "2022-06", + "mean": 43.3, + "median": 40, + "p10": 25.6, + "p25": 31, + "p75": 54, + "p90": 62.4, + "n": 3, + "total_kg_days": 364000 + }, + { + "month": "2023-03", + "mean": 51, + "median": 42.5, + "p10": 11.8, + "p25": 23.5, + "p75": 70, + "p90": 97, + "n": 4, + "total_kg_days": 571200 + }, + { + "month": "2023-11", + "mean": 55, + "median": 62, + "p10": 26.8, + "p25": 40, + "p75": 73.5, + "p90": 80.4, + "n": 3, + "total_kg_days": 462000 + }, + { + "month": "2024-06", + "mean": 52, + "median": 48, + "p10": 20, + "p25": 35, + "p75": 72, + "p90": 85.8, + "n": 5, + "total_kg_days": 728000 + }, + { + "month": "2025-01", + "mean": 43.3, + "median": 40, + "p10": 18.9, + "p25": 24.8, + "p75": 58.5, + "p90": 70.2, + "n": 4, + "total_kg_days": 484400 + }, + { + "month": "2025-08", + "mean": 44.7, + "median": 37.5, + "p10": 14, + "p25": 23.3, + "p75": 59.3, + "p90": 82.5, + "n": 6, + "total_kg_days": 750400 + }, + { + "month": "2025-09", + "mean": 44, + "median": 45, + "p10": 36.8, + "p25": 41, + "p75": 48, + "p90": 50.4, + "n": 5, + "total_kg_days": 616000 + }, + { + "month": "2025-10", + "mean": 39.2, + "median": 40, + "p10": 31.6, + "p25": 34, + "p75": 44, + "p90": 46.4, + "n": 5, + "total_kg_days": 548800 + }, + { + "month": "2025-11", + "mean": 45, + "median": 44, + "p10": 38, + "p25": 41, + "p75": 50, + "p90": 52.4, + "n": 5, + "total_kg_days": 630000 + }, + { + "month": "2025-12", + "mean": 40, + "median": 39, + "p10": 33.6, + "p25": 36, + "p75": 43, + "p90": 47.2, + "n": 5, + "total_kg_days": 560000 + }, + { + "month": "2026-01", + "mean": 35, + "median": 35, + "p10": 29.6, + "p25": 32, + "p75": 38, + "p90": 40.4, + "n": 5, + "total_kg_days": 490000 + }, + { + "month": "2026-02", + "mean": 45, + "median": 45, + "p10": 39.8, + "p25": 41, + "p75": 48, + "p90": 50.4, + "n": 5, + "total_kg_days": 630000 + }, + { + "month": "2026-03", + "mean": 39.8, + "median": 40, + "p10": 32.8, + "p25": 37, + "p75": 44, + "p90": 46.4, + "n": 5, + "total_kg_days": 557200 + }, + { + "month": "2026-04", + "mean": 45.6, + "median": 47, + "p10": 38, + "p25": 41, + "p75": 50, + "p90": 52.4, + "n": 5, + "total_kg_days": 638400 + }, + { + "month": "2026-05", + "mean": 40.6, + "median": 39, + "p10": 33.6, + "p25": 36, + "p75": 46, + "p90": 48.4, + "n": 5, + "total_kg_days": 568400 + } + ], + "stats": { + "n": 70, + "mean": 43.9, + "median": 41, + "std": 19.1, + "min": 4, + "max": 115, + "p25": 34.3, + "p75": 50, + "p85": 54, + "p95": 81.9 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 95.7, + "annotations": [], + "cost": { + "unit_price": 5.5, + "currency": "CHF", + "mean_qty": 2800, + "monthly": [ + { + "month": "2022-06", + "n_events": 3, + "total_kg_days": 364000 + }, + { + "month": "2023-03", + "n_events": 4, + "total_kg_days": 571200 + }, + { + "month": "2023-11", + "n_events": 3, + "total_kg_days": 462000 + }, + { + "month": "2024-06", + "n_events": 5, + "total_kg_days": 728000 + }, + { + "month": "2025-01", + "n_events": 4, + "total_kg_days": 484400 + }, + { + "month": "2025-08", + "n_events": 6, + "total_kg_days": 750400 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 616000 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 548800 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 630000 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 560000 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 490000 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 630000 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 557200 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 638400 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 568400 + } + ] + }, + "detail_rows": { + "columns": [ + { + "key": "batch", + "source_field": "CHARG", + "source_table": "MSEG", + "label": "Batch" + }, + { + "key": "consumption_date", + "source_field": "BUDAT", + "source_table": "MKPF", + "label": "Consumption Date" + }, + { + "key": "dwell_days", + "source_field": null, + "source_table": null, + "label": "Dwell Days", + "unit": "d" + }, + { + "key": "kg_days", + "source_field": null, + "source_table": null, + "label": "Inventory kg-days", + "unit": "kg·d" + }, + { + "key": "cons_matnr", + "source_field": "MATNR", + "source_table": "MSEG", + "label": "Consuming Material" + }, + { + "key": "cons_material_name", + "source_field": "MAKTX", + "source_table": "MAKT", + "label": "Consuming Material Name" + }, + { + "key": "cons_in_current_recipe", + "source_field": null, + "source_table": null, + "label": "In Current Recipe" + } + ], + "rows": [ + { + "batch": "RAW_DWELL_WASHED_BOURBON-001", + "consumption_date": "2022-06-05", + "dwell_days": 40, + "kg_days": 121333.3, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-002", + "consumption_date": "2022-06-15", + "dwell_days": 22, + "kg_days": 121333.3, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-003", + "consumption_date": "2022-06-25", + "dwell_days": 68, + "kg_days": 121333.3, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-004", + "consumption_date": "2023-03-08", + "dwell_days": 4, + "kg_days": 142800, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-005", + "consumption_date": "2023-03-15", + "dwell_days": 55, + "kg_days": 142800, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-006", + "consumption_date": "2023-03-22", + "dwell_days": 115, + "kg_days": 142800, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-007", + "consumption_date": "2023-03-29", + "dwell_days": 30, + "kg_days": 142800, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-008", + "consumption_date": "2023-11-06", + "dwell_days": 62, + "kg_days": 154000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-009", + "consumption_date": "2023-11-13", + "dwell_days": 18, + "kg_days": 154000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-010", + "consumption_date": "2023-11-20", + "dwell_days": 85, + "kg_days": 154000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-011", + "consumption_date": "2024-06-03", + "dwell_days": 35, + "kg_days": 145600, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-012", + "consumption_date": "2024-06-10", + "dwell_days": 72, + "kg_days": 145600, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-013", + "consumption_date": "2024-06-17", + "dwell_days": 10, + "kg_days": 145600, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-014", + "consumption_date": "2024-06-24", + "dwell_days": 48, + "kg_days": 145600, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-015", + "consumption_date": "2024-06-30", + "dwell_days": 95, + "kg_days": 145600, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-016", + "consumption_date": "2025-01-07", + "dwell_days": 28, + "kg_days": 121100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-017", + "consumption_date": "2025-01-14", + "dwell_days": 52, + "kg_days": 121100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-018", + "consumption_date": "2025-01-21", + "dwell_days": 15, + "kg_days": 121100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-019", + "consumption_date": "2025-01-28", + "dwell_days": 78, + "kg_days": 121100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-020", + "consumption_date": "2025-08-04", + "dwell_days": 42, + "kg_days": 125066.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-021", + "consumption_date": "2025-08-08", + "dwell_days": 8, + "kg_days": 125066.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-022", + "consumption_date": "2025-08-12", + "dwell_days": 65, + "kg_days": 125066.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-023", + "consumption_date": "2025-08-16", + "dwell_days": 33, + "kg_days": 125066.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-024", + "consumption_date": "2025-08-20", + "dwell_days": 100, + "kg_days": 125066.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-025", + "consumption_date": "2025-08-24", + "dwell_days": 20, + "kg_days": 125066.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-026", + "consumption_date": "2025-09-06", + "dwell_days": 41, + "kg_days": 123200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-027", + "consumption_date": "2025-09-12", + "dwell_days": 45, + "kg_days": 123200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-028", + "consumption_date": "2025-09-18", + "dwell_days": 48, + "kg_days": 123200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-029", + "consumption_date": "2025-09-24", + "dwell_days": 52, + "kg_days": 123200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-030", + "consumption_date": "2025-09-30", + "dwell_days": 34, + "kg_days": 123200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-031", + "consumption_date": "2025-10-04", + "dwell_days": 40, + "kg_days": 109760, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-032", + "consumption_date": "2025-10-10", + "dwell_days": 44, + "kg_days": 109760, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-033", + "consumption_date": "2025-10-16", + "dwell_days": 48, + "kg_days": 109760, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-034", + "consumption_date": "2025-10-22", + "dwell_days": 30, + "kg_days": 109760, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-035", + "consumption_date": "2025-10-28", + "dwell_days": 34, + "kg_days": 109760, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-036", + "consumption_date": "2025-11-05", + "dwell_days": 50, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-037", + "consumption_date": "2025-11-11", + "dwell_days": 54, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-038", + "consumption_date": "2025-11-17", + "dwell_days": 36, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-039", + "consumption_date": "2025-11-23", + "dwell_days": 41, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-040", + "consumption_date": "2025-11-29", + "dwell_days": 44, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-041", + "consumption_date": "2025-12-06", + "dwell_days": 50, + "kg_days": 112000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-042", + "consumption_date": "2025-12-12", + "dwell_days": 32, + "kg_days": 112000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-043", + "consumption_date": "2025-12-18", + "dwell_days": 36, + "kg_days": 112000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-044", + "consumption_date": "2025-12-24", + "dwell_days": 39, + "kg_days": 112000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-045", + "consumption_date": "2025-12-30", + "dwell_days": 43, + "kg_days": 112000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-046", + "consumption_date": "2026-01-04", + "dwell_days": 28, + "kg_days": 98000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-047", + "consumption_date": "2026-01-10", + "dwell_days": 32, + "kg_days": 98000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-048", + "consumption_date": "2026-01-16", + "dwell_days": 35, + "kg_days": 98000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-049", + "consumption_date": "2026-01-22", + "dwell_days": 38, + "kg_days": 98000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-050", + "consumption_date": "2026-01-28", + "dwell_days": 42, + "kg_days": 98000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-051", + "consumption_date": "2026-02-05", + "dwell_days": 39, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-052", + "consumption_date": "2026-02-11", + "dwell_days": 41, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-053", + "consumption_date": "2026-02-17", + "dwell_days": 45, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-054", + "consumption_date": "2026-02-23", + "dwell_days": 48, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-055", + "consumption_date": "2026-02-29", + "dwell_days": 52, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-056", + "consumption_date": "2026-03-06", + "dwell_days": 37, + "kg_days": 111440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-057", + "consumption_date": "2026-03-12", + "dwell_days": 40, + "kg_days": 111440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-058", + "consumption_date": "2026-03-18", + "dwell_days": 44, + "kg_days": 111440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-059", + "consumption_date": "2026-03-24", + "dwell_days": 48, + "kg_days": 111440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-060", + "consumption_date": "2026-03-30", + "dwell_days": 30, + "kg_days": 111440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-061", + "consumption_date": "2026-04-04", + "dwell_days": 47, + "kg_days": 127680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-062", + "consumption_date": "2026-04-10", + "dwell_days": 50, + "kg_days": 127680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-063", + "consumption_date": "2026-04-16", + "dwell_days": 54, + "kg_days": 127680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-064", + "consumption_date": "2026-04-22", + "dwell_days": 36, + "kg_days": 127680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-065", + "consumption_date": "2026-04-28", + "dwell_days": 41, + "kg_days": 127680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-066", + "consumption_date": "2026-05-05", + "dwell_days": 46, + "kg_days": 113680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-067", + "consumption_date": "2026-05-11", + "dwell_days": 50, + "kg_days": 113680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-068", + "consumption_date": "2026-05-17", + "dwell_days": 32, + "kg_days": 113680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-069", + "consumption_date": "2026-05-23", + "dwell_days": 36, + "kg_days": 113680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-070", + "consumption_date": "2026-05-29", + "dwell_days": 39, + "kg_days": 113680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-OTHER-01", + "consumption_date": "2026-05-17", + "dwell_days": 36.8, + "kg_days": 40000, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 0 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-OTHER-02", + "consumption_date": "2026-05-23", + "dwell_days": 41.4, + "kg_days": 45000, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 0 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-OTHER-03", + "consumption_date": "2026-05-29", + "dwell_days": 44.8, + "kg_days": 48750, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 0 + } + ] + }, + "ref_date_col": "consumption_date", + "n_batches": null, + "n_movements": 25, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0", + "value_col": "dwell_days" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/transit_pla_hub1.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/transit_pla_hub1.json new file mode 100644 index 00000000000..72bddde415c --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/harbor-dark-roast/steps/transit_pla_hub1.json @@ -0,0 +1,436 @@ +{ + "id": "transit_pla_hub1", + "label": "Transit PL-A \u2192 HUB-1", + "type": "transit", + "durations": [ + 28, 35, 22, 42, 30, 55, 25, 38, 15, 32, 28, 45, 30, 22, 36, 38, 39, 26, 36, + 23, 26, 27, 31, 33, 27, 29, 32, 26, 29, 31, 33, 36, 39, 33, 36, 23, 40, 27, + 31, 24, 27, 29 + ], + "observations": [ + { + "date": "2022-07-20", + "value": 28 + }, + { + "date": "2022-11-30", + "value": 35 + }, + { + "date": "2023-03-15", + "value": 22 + }, + { + "date": "2023-07-10", + "value": 42 + }, + { + "date": "2023-10-25", + "value": 30 + }, + { + "date": "2024-02-08", + "value": 55 + }, + { + "date": "2024-05-20", + "value": 25 + }, + { + "date": "2024-08-12", + "value": 38 + }, + { + "date": "2024-11-05", + "value": 15 + }, + { + "date": "2025-01-22", + "value": 32 + }, + { + "date": "2025-04-10", + "value": 28 + }, + { + "date": "2025-06-18", + "value": 45 + }, + { + "date": "2025-07-15", + "value": 30 + }, + { + "date": "2025-08-05", + "value": 22 + }, + { + "date": "2025-09-05", + "value": 36 + }, + { + "date": "2025-09-10", + "value": 38 + }, + { + "date": "2025-09-11", + "value": 39 + }, + { + "date": "2025-09-17", + "value": 26 + }, + { + "date": "2025-10-06", + "value": 36 + }, + { + "date": "2025-10-12", + "value": 23 + }, + { + "date": "2025-10-18", + "value": 26 + }, + { + "date": "2025-11-04", + "value": 27 + }, + { + "date": "2025-11-10", + "value": 31 + }, + { + "date": "2025-11-16", + "value": 33 + }, + { + "date": "2025-12-05", + "value": 27 + }, + { + "date": "2025-12-11", + "value": 29 + }, + { + "date": "2025-12-17", + "value": 32 + }, + { + "date": "2026-01-06", + "value": 26 + }, + { + "date": "2026-01-12", + "value": 29 + }, + { + "date": "2026-01-18", + "value": 31 + }, + { + "date": "2026-02-04", + "value": 33 + }, + { + "date": "2026-02-10", + "value": 36 + }, + { + "date": "2026-02-16", + "value": 39 + }, + { + "date": "2026-03-05", + "value": 33 + }, + { + "date": "2026-03-11", + "value": 36 + }, + { + "date": "2026-03-17", + "value": 23 + }, + { + "date": "2026-04-06", + "value": 40 + }, + { + "date": "2026-04-12", + "value": 27 + }, + { + "date": "2026-04-18", + "value": 31 + }, + { + "date": "2026-05-04", + "value": 24 + }, + { + "date": "2026-05-10", + "value": 27 + }, + { + "date": "2026-05-16", + "value": 29 + } + ], + "monthly": [ + { + "month": "2022-07", + "mean": 28.0, + "median": 28.0, + "p10": 28.0, + "p25": 28.0, + "p75": 28.0, + "p90": 28.0, + "n": 1 + }, + { + "month": "2022-11", + "mean": 35.0, + "median": 35.0, + "p10": 35.0, + "p25": 35.0, + "p75": 35.0, + "p90": 35.0, + "n": 1 + }, + { + "month": "2023-03", + "mean": 22.0, + "median": 22.0, + "p10": 22.0, + "p25": 22.0, + "p75": 22.0, + "p90": 22.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 42.0, + "median": 42.0, + "p10": 42.0, + "p25": 42.0, + "p75": 42.0, + "p90": 42.0, + "n": 1 + }, + { + "month": "2023-10", + "mean": 30.0, + "median": 30.0, + "p10": 30.0, + "p25": 30.0, + "p75": 30.0, + "p90": 30.0, + "n": 1 + }, + { + "month": "2024-02", + "mean": 55.0, + "median": 55.0, + "p10": 55.0, + "p25": 55.0, + "p75": 55.0, + "p90": 55.0, + "n": 1 + }, + { + "month": "2024-05", + "mean": 25.0, + "median": 25.0, + "p10": 25.0, + "p25": 25.0, + "p75": 25.0, + "p90": 25.0, + "n": 1 + }, + { + "month": "2024-08", + "mean": 38.0, + "median": 38.0, + "p10": 38.0, + "p25": 38.0, + "p75": 38.0, + "p90": 38.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 15.0, + "median": 15.0, + "p10": 15.0, + "p25": 15.0, + "p75": 15.0, + "p90": 15.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 32.0, + "median": 32.0, + "p10": 32.0, + "p25": 32.0, + "p75": 32.0, + "p90": 32.0, + "n": 1 + }, + { + "month": "2025-04", + "mean": 28.0, + "median": 28.0, + "p10": 28.0, + "p25": 28.0, + "p75": 28.0, + "p90": 28.0, + "n": 1 + }, + { + "month": "2025-06", + "mean": 45.0, + "median": 45.0, + "p10": 45.0, + "p25": 45.0, + "p75": 45.0, + "p90": 45.0, + "n": 1 + }, + { + "month": "2025-07", + "mean": 30.0, + "median": 30.0, + "p10": 30.0, + "p25": 30.0, + "p75": 30.0, + "p90": 30.0, + "n": 1 + }, + { + "month": "2025-08", + "mean": 22.0, + "median": 22.0, + "p10": 22.0, + "p25": 22.0, + "p75": 22.0, + "p90": 22.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 34.8, + "median": 37.0, + "p10": 29.0, + "p25": 33.5, + "p75": 38.3, + "p90": 38.7, + "n": 4 + }, + { + "month": "2025-10", + "mean": 28.3, + "median": 26.0, + "p10": 23.6, + "p25": 24.5, + "p75": 31.0, + "p90": 34.0, + "n": 3 + }, + { + "month": "2025-11", + "mean": 30.3, + "median": 31.0, + "p10": 27.8, + "p25": 29.0, + "p75": 32.0, + "p90": 32.6, + "n": 3 + }, + { + "month": "2025-12", + "mean": 29.3, + "median": 29.0, + "p10": 27.4, + "p25": 28.0, + "p75": 30.5, + "p90": 31.4, + "n": 3 + }, + { + "month": "2026-01", + "mean": 28.7, + "median": 29.0, + "p10": 26.6, + "p25": 27.5, + "p75": 30.0, + "p90": 30.6, + "n": 3 + }, + { + "month": "2026-02", + "mean": 36.0, + "median": 36.0, + "p10": 33.6, + "p25": 34.5, + "p75": 37.5, + "p90": 38.4, + "n": 3 + }, + { + "month": "2026-03", + "mean": 30.7, + "median": 33.0, + "p10": 25.0, + "p25": 28.0, + "p75": 34.5, + "p90": 35.4, + "n": 3 + }, + { + "month": "2026-04", + "mean": 32.7, + "median": 31.0, + "p10": 27.8, + "p25": 29.0, + "p75": 35.5, + "p90": 38.2, + "n": 3 + }, + { + "month": "2026-05", + "mean": 26.7, + "median": 27.0, + "p10": 24.6, + "p25": 25.5, + "p75": 28.0, + "p90": 28.6, + "n": 3 + } + ], + "stats": { + "n": 42, + "mean": 31.3, + "median": 30.5, + "std": 7.1, + "min": 15, + "max": 55, + "p25": 27.0, + "p75": 36.0, + "p85": 38.0, + "p95": 41.9 + }, + "plifz": 28, + "plifz_note": null, + "pct_exceeding_plifz": 61.9, + "annotations": [], + "cost": null, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": 15, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/manifest.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/manifest.json new file mode 100644 index 00000000000..e7d6e704e5b --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/manifest.json @@ -0,0 +1,72 @@ +{ + "datasetVersion": "2026-06-17.2", + "products": [ + "harbor-dark-roast", + "summit-medium-roast", + "riverside-decaf", + "meadow-espresso" + ], + "sites": ["harbor-roastery"], + "steps": { + "harbor-dark-roast": [ + "dest_dwell_hub1", + "intermed_dwell_green_blend", + "post_qa_ship_pla", + "procurement_highland_arabica", + "procurement_lowland_robusta", + "procurement_washed_bourbon", + "prod_duration_green_blend", + "prod_duration_harbor_dark_roast", + "prod_to_qa_pla", + "raw_dwell_highland_arabica", + "raw_dwell_lowland_robusta", + "raw_dwell_washed_bourbon", + "transit_pla_hub1" + ], + "summit-medium-roast": [ + "dest_dwell_hub1", + "intermed_dwell_green_blend", + "post_qa_ship_pla", + "procurement_highland_arabica", + "procurement_lowland_robusta", + "procurement_washed_bourbon", + "prod_duration_green_blend", + "prod_duration_harbor_dark_roast", + "prod_to_qa_pla", + "raw_dwell_highland_arabica", + "raw_dwell_lowland_robusta", + "raw_dwell_washed_bourbon", + "transit_pla_hub1" + ], + "riverside-decaf": [ + "dest_dwell_hub1", + "intermed_dwell_green_blend", + "post_qa_ship_pla", + "procurement_highland_arabica", + "procurement_lowland_robusta", + "procurement_washed_bourbon", + "prod_duration_green_blend", + "prod_duration_harbor_dark_roast", + "prod_to_qa_pla", + "raw_dwell_highland_arabica", + "raw_dwell_lowland_robusta", + "raw_dwell_washed_bourbon", + "transit_pla_hub1" + ], + "meadow-espresso": [ + "dest_dwell_hub1", + "intermed_dwell_green_blend", + "post_qa_ship_pla", + "procurement_highland_arabica", + "procurement_lowland_robusta", + "procurement_washed_bourbon", + "prod_duration_green_blend", + "prod_duration_harbor_dark_roast", + "prod_to_qa_pla", + "raw_dwell_highland_arabica", + "raw_dwell_lowland_robusta", + "raw_dwell_washed_bourbon", + "transit_pla_hub1" + ] + } +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/graph.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/graph.json new file mode 100644 index 00000000000..1340390934c --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/graph.json @@ -0,0 +1,16588 @@ +{ + "product_id": "meadow-espresso", + "product_name": "Meadow Espresso", + "nodes": [ + { + "id": "procurement_highland_arabica", + "label": "Procurement: Highland Arabica", + "type": "procurement", + "material": "90000100001", + "plant": "PL-A", + "stats": { + "n": 59, + "mean": 54.3, + "median": 54.0, + "std": 18.0, + "min": 10.8, + "max": 141.8, + "p25": 47.2, + "p75": 60.8, + "p85": 64.8, + "p95": 75.3 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 98.3, + "cost": null, + "observations": [ + { + "date": "2022-03-15", + "value": 74.2 + }, + { + "date": "2022-06-10", + "value": 56.7 + }, + { + "date": "2022-09-22", + "value": 10.8 + }, + { + "date": "2022-12-05", + "value": 85.1 + }, + { + "date": "2023-02-14", + "value": 51.3 + }, + { + "date": "2023-05-30", + "value": 29.7 + }, + { + "date": "2023-08-17", + "value": 95.9 + }, + { + "date": "2023-11-02", + "value": 40.5 + }, + { + "date": "2024-01-25", + "value": 60.8 + }, + { + "date": "2024-04-11", + "value": 24.3 + }, + { + "date": "2024-07-09", + "value": 141.8 + }, + { + "date": "2024-10-03", + "value": 47.2 + }, + { + "date": "2025-01-20", + "value": 16.2 + }, + { + "date": "2025-04-08", + "value": 64.8 + }, + { + "date": "2025-09-05", + "value": 52.7 + }, + { + "date": "2025-09-11", + "value": 55.4 + }, + { + "date": "2025-09-17", + "value": 59.4 + }, + { + "date": "2025-09-23", + "value": 64.8 + }, + { + "date": "2025-09-29", + "value": 68.9 + }, + { + "date": "2025-10-06", + "value": 50.0 + }, + { + "date": "2025-10-12", + "value": 54.0 + }, + { + "date": "2025-10-18", + "value": 59.4 + }, + { + "date": "2025-10-24", + "value": 63.5 + }, + { + "date": "2025-10-30", + "value": 41.9 + }, + { + "date": "2025-11-04", + "value": 48.6 + }, + { + "date": "2025-11-10", + "value": 54.0 + }, + { + "date": "2025-11-16", + "value": 58.1 + }, + { + "date": "2025-11-22", + "value": 36.5 + }, + { + "date": "2025-11-28", + "value": 41.9 + }, + { + "date": "2025-12-05", + "value": 62.1 + }, + { + "date": "2025-12-11", + "value": 66.2 + }, + { + "date": "2025-12-17", + "value": 44.6 + }, + { + "date": "2025-12-23", + "value": 50.0 + }, + { + "date": "2025-12-29", + "value": 52.7 + }, + { + "date": "2026-01-06", + "value": 60.8 + }, + { + "date": "2026-01-12", + "value": 39.2 + }, + { + "date": "2026-01-18", + "value": 44.6 + }, + { + "date": "2026-01-24", + "value": 47.2 + }, + { + "date": "2026-01-30", + "value": 51.3 + }, + { + "date": "2026-02-04", + "value": 47.2 + }, + { + "date": "2026-02-10", + "value": 52.7 + }, + { + "date": "2026-02-16", + "value": 55.4 + }, + { + "date": "2026-02-22", + "value": 59.4 + }, + { + "date": "2026-02-28", + "value": 64.8 + }, + { + "date": "2026-03-05", + "value": 47.2 + }, + { + "date": "2026-03-11", + "value": 50.0 + }, + { + "date": "2026-03-17", + "value": 54.0 + }, + { + "date": "2026-03-23", + "value": 59.4 + }, + { + "date": "2026-03-29", + "value": 63.5 + }, + { + "date": "2026-04-06", + "value": 44.6 + }, + { + "date": "2026-04-12", + "value": 48.6 + }, + { + "date": "2026-04-18", + "value": 54.0 + }, + { + "date": "2026-04-24", + "value": 58.1 + }, + { + "date": "2026-04-30", + "value": 36.5 + }, + { + "date": "2026-05-04", + "value": 56.7 + }, + { + "date": "2026-05-10", + "value": 62.1 + }, + { + "date": "2026-05-16", + "value": 66.2 + }, + { + "date": "2026-05-22", + "value": 44.6 + }, + { + "date": "2026-05-28", + "value": 50.0 + } + ], + "monthly": [ + { + "month": "2022-03", + "mean": 74.2, + "median": 74.2, + "p10": 74.2, + "p25": 74.2, + "p75": 74.2, + "p90": 74.2, + "n": 1 + }, + { + "month": "2022-06", + "mean": 56.7, + "median": 56.7, + "p10": 56.7, + "p25": 56.7, + "p75": 56.7, + "p90": 56.7, + "n": 1 + }, + { + "month": "2022-09", + "mean": 10.8, + "median": 10.8, + "p10": 10.8, + "p25": 10.8, + "p75": 10.8, + "p90": 10.8, + "n": 1 + }, + { + "month": "2022-12", + "mean": 85.1, + "median": 85.1, + "p10": 85.1, + "p25": 85.1, + "p75": 85.1, + "p90": 85.1, + "n": 1 + }, + { + "month": "2023-02", + "mean": 51.3, + "median": 51.3, + "p10": 51.3, + "p25": 51.3, + "p75": 51.3, + "p90": 51.3, + "n": 1 + }, + { + "month": "2023-05", + "mean": 29.7, + "median": 29.7, + "p10": 29.7, + "p25": 29.7, + "p75": 29.7, + "p90": 29.7, + "n": 1 + }, + { + "month": "2023-08", + "mean": 95.9, + "median": 95.9, + "p10": 95.9, + "p25": 95.9, + "p75": 95.9, + "p90": 95.9, + "n": 1 + }, + { + "month": "2023-11", + "mean": 40.5, + "median": 40.5, + "p10": 40.5, + "p25": 40.5, + "p75": 40.5, + "p90": 40.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 60.8, + "median": 60.8, + "p10": 60.8, + "p25": 60.8, + "p75": 60.8, + "p90": 60.8, + "n": 1 + }, + { + "month": "2024-04", + "mean": 24.3, + "median": 24.3, + "p10": 24.3, + "p25": 24.3, + "p75": 24.3, + "p90": 24.3, + "n": 1 + }, + { + "month": "2024-07", + "mean": 141.8, + "median": 141.8, + "p10": 141.8, + "p25": 141.8, + "p75": 141.8, + "p90": 141.8, + "n": 1 + }, + { + "month": "2024-10", + "mean": 47.2, + "median": 47.2, + "p10": 47.2, + "p25": 47.2, + "p75": 47.2, + "p90": 47.2, + "n": 1 + }, + { + "month": "2025-01", + "mean": 16.2, + "median": 16.2, + "p10": 16.2, + "p25": 16.2, + "p75": 16.2, + "p90": 16.2, + "n": 1 + }, + { + "month": "2025-04", + "mean": 64.8, + "median": 64.8, + "p10": 64.8, + "p25": 64.8, + "p75": 64.8, + "p90": 64.8, + "n": 1 + }, + { + "month": "2025-09", + "mean": 60.2, + "median": 59.4, + "p10": 53.7, + "p25": 55.4, + "p75": 64.8, + "p90": 67.2, + "n": 5 + }, + { + "month": "2025-10", + "mean": 53.7, + "median": 54.0, + "p10": 45.1, + "p25": 50.0, + "p75": 59.4, + "p90": 61.8, + "n": 5 + }, + { + "month": "2025-11", + "mean": 47.8, + "median": 48.6, + "p10": 38.6, + "p25": 41.9, + "p75": 54.0, + "p90": 56.4, + "n": 5 + }, + { + "month": "2025-12", + "mean": 55.1, + "median": 52.7, + "p10": 46.7, + "p25": 50.0, + "p75": 62.1, + "p90": 64.5, + "n": 5 + }, + { + "month": "2026-01", + "mean": 48.6, + "median": 47.2, + "p10": 41.3, + "p25": 44.6, + "p75": 51.3, + "p90": 57.0, + "n": 5 + }, + { + "month": "2026-02", + "mean": 55.9, + "median": 55.4, + "p10": 49.4, + "p25": 52.7, + "p75": 59.4, + "p90": 62.6, + "n": 5 + }, + { + "month": "2026-03", + "mean": 54.8, + "median": 54.0, + "p10": 48.3, + "p25": 50.0, + "p75": 59.4, + "p90": 61.8, + "n": 5 + }, + { + "month": "2026-04", + "mean": 48.3, + "median": 48.6, + "p10": 39.7, + "p25": 44.6, + "p75": 54.0, + "p90": 56.4, + "n": 5 + }, + { + "month": "2026-05", + "mean": 55.9, + "median": 56.7, + "p10": 46.7, + "p25": 50.0, + "p75": 62.1, + "p90": 64.5, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "procurement_lowland_robusta", + "label": "Procurement: Lowland Robusta", + "type": "procurement", + "material": "90000100002", + "plant": "PL-A", + "stats": { + "n": 63, + "mean": 45.1, + "median": 44.6, + "std": 15.4, + "min": 6.8, + "max": 110.7, + "p25": 37.8, + "p75": 51.3, + "p85": 54.9, + "p95": 69.7 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 96.8, + "cost": null, + "observations": [ + { + "date": "2022-02-08", + "value": 43.2 + }, + { + "date": "2022-04-19", + "value": 64.8 + }, + { + "date": "2022-07-11", + "value": 6.8 + }, + { + "date": "2022-09-28", + "value": 90.5 + }, + { + "date": "2022-12-15", + "value": 33.8 + }, + { + "date": "2023-03-07", + "value": 55.4 + }, + { + "date": "2023-05-22", + "value": 20.2 + }, + { + "date": "2023-08-09", + "value": 110.7 + }, + { + "date": "2023-10-30", + "value": 51.3 + }, + { + "date": "2024-01-16", + "value": 27.0 + }, + { + "date": "2024-03-25", + "value": 70.2 + }, + { + "date": "2024-06-12", + "value": 13.5 + }, + { + "date": "2024-08-28", + "value": 59.4 + }, + { + "date": "2024-11-14", + "value": 37.8 + }, + { + "date": "2025-01-06", + "value": 47.2 + }, + { + "date": "2025-03-18", + "value": 24.3 + }, + { + "date": "2025-05-29", + "value": 74.2 + }, + { + "date": "2025-08-12", + "value": 35.1 + }, + { + "date": "2025-09-04", + "value": 35.1 + }, + { + "date": "2025-09-10", + "value": 39.2 + }, + { + "date": "2025-09-16", + "value": 41.9 + }, + { + "date": "2025-09-22", + "value": 45.9 + }, + { + "date": "2025-09-28", + "value": 50.0 + }, + { + "date": "2025-10-05", + "value": 35.1 + }, + { + "date": "2025-10-11", + "value": 37.8 + }, + { + "date": "2025-10-17", + "value": 41.9 + }, + { + "date": "2025-10-23", + "value": 44.6 + }, + { + "date": "2025-10-29", + "value": 48.6 + }, + { + "date": "2025-11-06", + "value": 44.6 + }, + { + "date": "2025-11-12", + "value": 48.6 + }, + { + "date": "2025-11-18", + "value": 51.3 + }, + { + "date": "2025-11-24", + "value": 56.7 + }, + { + "date": "2025-11-30", + "value": 37.8 + }, + { + "date": "2025-12-04", + "value": 43.2 + }, + { + "date": "2025-12-10", + "value": 47.2 + }, + { + "date": "2025-12-16", + "value": 51.3 + }, + { + "date": "2025-12-22", + "value": 32.4 + }, + { + "date": "2025-12-28", + "value": 37.8 + }, + { + "date": "2026-01-05", + "value": 54.0 + }, + { + "date": "2026-01-11", + "value": 58.1 + }, + { + "date": "2026-01-17", + "value": 39.2 + }, + { + "date": "2026-01-23", + "value": 44.6 + }, + { + "date": "2026-01-29", + "value": 47.2 + }, + { + "date": "2026-02-06", + "value": 54.0 + }, + { + "date": "2026-02-12", + "value": 35.1 + }, + { + "date": "2026-02-18", + "value": 39.2 + }, + { + "date": "2026-02-24", + "value": 41.9 + }, + { + "date": "2026-02-30", + "value": 45.9 + }, + { + "date": "2026-03-04", + "value": 29.7 + }, + { + "date": "2026-03-10", + "value": 35.1 + }, + { + "date": "2026-03-16", + "value": 37.8 + }, + { + "date": "2026-03-22", + "value": 41.9 + }, + { + "date": "2026-03-28", + "value": 44.6 + }, + { + "date": "2026-04-05", + "value": 41.9 + }, + { + "date": "2026-04-11", + "value": 44.6 + }, + { + "date": "2026-04-17", + "value": 48.6 + }, + { + "date": "2026-04-23", + "value": 51.3 + }, + { + "date": "2026-04-29", + "value": 56.7 + }, + { + "date": "2026-05-06", + "value": 40.5 + }, + { + "date": "2026-05-12", + "value": 43.2 + }, + { + "date": "2026-05-18", + "value": 47.2 + }, + { + "date": "2026-05-24", + "value": 51.3 + }, + { + "date": "2026-05-30", + "value": 32.4 + } + ], + "monthly": [ + { + "month": "2022-02", + "mean": 43.2, + "median": 43.2, + "p10": 43.2, + "p25": 43.2, + "p75": 43.2, + "p90": 43.2, + "n": 1 + }, + { + "month": "2022-04", + "mean": 64.8, + "median": 64.8, + "p10": 64.8, + "p25": 64.8, + "p75": 64.8, + "p90": 64.8, + "n": 1 + }, + { + "month": "2022-07", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2022-09", + "mean": 90.5, + "median": 90.5, + "p10": 90.5, + "p25": 90.5, + "p75": 90.5, + "p90": 90.5, + "n": 1 + }, + { + "month": "2022-12", + "mean": 33.8, + "median": 33.8, + "p10": 33.8, + "p25": 33.8, + "p75": 33.8, + "p90": 33.8, + "n": 1 + }, + { + "month": "2023-03", + "mean": 55.4, + "median": 55.4, + "p10": 55.4, + "p25": 55.4, + "p75": 55.4, + "p90": 55.4, + "n": 1 + }, + { + "month": "2023-05", + "mean": 20.2, + "median": 20.2, + "p10": 20.2, + "p25": 20.2, + "p75": 20.2, + "p90": 20.2, + "n": 1 + }, + { + "month": "2023-08", + "mean": 110.7, + "median": 110.7, + "p10": 110.7, + "p25": 110.7, + "p75": 110.7, + "p90": 110.7, + "n": 1 + }, + { + "month": "2023-10", + "mean": 51.3, + "median": 51.3, + "p10": 51.3, + "p25": 51.3, + "p75": 51.3, + "p90": 51.3, + "n": 1 + }, + { + "month": "2024-01", + "mean": 27.0, + "median": 27.0, + "p10": 27.0, + "p25": 27.0, + "p75": 27.0, + "p90": 27.0, + "n": 1 + }, + { + "month": "2024-03", + "mean": 70.2, + "median": 70.2, + "p10": 70.2, + "p25": 70.2, + "p75": 70.2, + "p90": 70.2, + "n": 1 + }, + { + "month": "2024-06", + "mean": 13.5, + "median": 13.5, + "p10": 13.5, + "p25": 13.5, + "p75": 13.5, + "p90": 13.5, + "n": 1 + }, + { + "month": "2024-08", + "mean": 59.4, + "median": 59.4, + "p10": 59.4, + "p25": 59.4, + "p75": 59.4, + "p90": 59.4, + "n": 1 + }, + { + "month": "2024-11", + "mean": 37.8, + "median": 37.8, + "p10": 37.8, + "p25": 37.8, + "p75": 37.8, + "p90": 37.8, + "n": 1 + }, + { + "month": "2025-01", + "mean": 47.2, + "median": 47.2, + "p10": 47.2, + "p25": 47.2, + "p75": 47.2, + "p90": 47.2, + "n": 1 + }, + { + "month": "2025-03", + "mean": 24.3, + "median": 24.3, + "p10": 24.3, + "p25": 24.3, + "p75": 24.3, + "p90": 24.3, + "n": 1 + }, + { + "month": "2025-05", + "mean": 74.2, + "median": 74.2, + "p10": 74.2, + "p25": 74.2, + "p75": 74.2, + "p90": 74.2, + "n": 1 + }, + { + "month": "2025-08", + "mean": 35.1, + "median": 35.1, + "p10": 35.1, + "p25": 35.1, + "p75": 35.1, + "p90": 35.1, + "n": 1 + }, + { + "month": "2025-09", + "mean": 42.4, + "median": 41.9, + "p10": 36.7, + "p25": 39.2, + "p75": 45.9, + "p90": 48.3, + "n": 5 + }, + { + "month": "2025-10", + "mean": 41.6, + "median": 41.9, + "p10": 36.2, + "p25": 37.8, + "p75": 44.6, + "p90": 47.0, + "n": 5 + }, + { + "month": "2025-11", + "mean": 47.8, + "median": 48.6, + "p10": 40.5, + "p25": 44.6, + "p75": 51.3, + "p90": 54.5, + "n": 5 + }, + { + "month": "2025-12", + "mean": 42.4, + "median": 43.2, + "p10": 34.6, + "p25": 37.8, + "p75": 47.2, + "p90": 49.7, + "n": 5 + }, + { + "month": "2026-01", + "mean": 48.6, + "median": 47.2, + "p10": 41.3, + "p25": 44.6, + "p75": 54.0, + "p90": 56.4, + "n": 5 + }, + { + "month": "2026-02", + "mean": 43.2, + "median": 41.9, + "p10": 36.7, + "p25": 39.2, + "p75": 45.9, + "p90": 50.8, + "n": 5 + }, + { + "month": "2026-03", + "mean": 37.8, + "median": 37.8, + "p10": 31.9, + "p25": 35.1, + "p75": 41.9, + "p90": 43.5, + "n": 5 + }, + { + "month": "2026-04", + "mean": 48.6, + "median": 48.6, + "p10": 42.9, + "p25": 44.6, + "p75": 51.3, + "p90": 54.5, + "n": 5 + }, + { + "month": "2026-05", + "mean": 42.9, + "median": 43.2, + "p10": 35.6, + "p25": 40.5, + "p75": 47.2, + "p90": 49.7, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "procurement_washed_bourbon", + "label": "Procurement: Washed Bourbon", + "type": "procurement", + "material": "90000100003", + "plant": "PL-A", + "stats": { + "n": 55, + "mean": 35.2, + "median": 33.8, + "std": 10.8, + "min": 9.5, + "max": 83.7, + "p25": 30.4, + "p75": 39.2, + "p85": 40.5, + "p95": 49.3 + }, + "plifz": 7, + "plifz_note": null, + "pct_exceeding_plifz": 98.2, + "cost": null, + "observations": [ + { + "date": "2022-05-03", + "value": 47.2 + }, + { + "date": "2022-10-18", + "value": 21.6 + }, + { + "date": "2023-01-24", + "value": 83.7 + }, + { + "date": "2023-06-15", + "value": 9.5 + }, + { + "date": "2023-09-28", + "value": 54.0 + }, + { + "date": "2024-02-12", + "value": 33.8 + }, + { + "date": "2024-05-07", + "value": 64.8 + }, + { + "date": "2024-09-19", + "value": 16.2 + }, + { + "date": "2025-02-04", + "value": 40.5 + }, + { + "date": "2025-06-10", + "value": 18.9 + }, + { + "date": "2025-09-06", + "value": 40.5 + }, + { + "date": "2025-09-12", + "value": 25.7 + }, + { + "date": "2025-09-18", + "value": 29.7 + }, + { + "date": "2025-09-24", + "value": 31.1 + }, + { + "date": "2025-09-30", + "value": 33.8 + }, + { + "date": "2025-10-04", + "value": 31.1 + }, + { + "date": "2025-10-10", + "value": 33.8 + }, + { + "date": "2025-10-16", + "value": 36.5 + }, + { + "date": "2025-10-22", + "value": 39.2 + }, + { + "date": "2025-10-28", + "value": 41.9 + }, + { + "date": "2025-11-05", + "value": 31.1 + }, + { + "date": "2025-11-11", + "value": 33.8 + }, + { + "date": "2025-11-17", + "value": 36.5 + }, + { + "date": "2025-11-23", + "value": 39.2 + }, + { + "date": "2025-11-29", + "value": 41.9 + }, + { + "date": "2025-12-06", + "value": 29.7 + }, + { + "date": "2025-12-12", + "value": 32.4 + }, + { + "date": "2025-12-18", + "value": 35.1 + }, + { + "date": "2025-12-24", + "value": 37.8 + }, + { + "date": "2025-12-30", + "value": 24.3 + }, + { + "date": "2026-01-04", + "value": 37.8 + }, + { + "date": "2026-01-10", + "value": 40.5 + }, + { + "date": "2026-01-16", + "value": 43.2 + }, + { + "date": "2026-01-22", + "value": 29.7 + }, + { + "date": "2026-01-28", + "value": 32.4 + }, + { + "date": "2026-02-05", + "value": 36.5 + }, + { + "date": "2026-02-11", + "value": 40.5 + }, + { + "date": "2026-02-17", + "value": 25.7 + }, + { + "date": "2026-02-23", + "value": 29.7 + }, + { + "date": "2026-02-29", + "value": 31.1 + }, + { + "date": "2026-03-06", + "value": 45.9 + }, + { + "date": "2026-03-12", + "value": 31.1 + }, + { + "date": "2026-03-18", + "value": 33.8 + }, + { + "date": "2026-03-24", + "value": 36.5 + }, + { + "date": "2026-03-30", + "value": 39.2 + }, + { + "date": "2026-04-04", + "value": 27.0 + }, + { + "date": "2026-04-10", + "value": 31.1 + }, + { + "date": "2026-04-16", + "value": 33.8 + }, + { + "date": "2026-04-22", + "value": 36.5 + }, + { + "date": "2026-04-28", + "value": 39.2 + }, + { + "date": "2026-05-05", + "value": 27.0 + }, + { + "date": "2026-05-11", + "value": 29.7 + }, + { + "date": "2026-05-17", + "value": 32.4 + }, + { + "date": "2026-05-23", + "value": 35.1 + }, + { + "date": "2026-05-29", + "value": 37.8 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 47.2, + "median": 47.2, + "p10": 47.2, + "p25": 47.2, + "p75": 47.2, + "p90": 47.2, + "n": 1 + }, + { + "month": "2022-10", + "mean": 21.6, + "median": 21.6, + "p10": 21.6, + "p25": 21.6, + "p75": 21.6, + "p90": 21.6, + "n": 1 + }, + { + "month": "2023-01", + "mean": 83.7, + "median": 83.7, + "p10": 83.7, + "p25": 83.7, + "p75": 83.7, + "p90": 83.7, + "n": 1 + }, + { + "month": "2023-06", + "mean": 9.5, + "median": 9.5, + "p10": 9.5, + "p25": 9.5, + "p75": 9.5, + "p90": 9.5, + "n": 1 + }, + { + "month": "2023-09", + "mean": 54.0, + "median": 54.0, + "p10": 54.0, + "p25": 54.0, + "p75": 54.0, + "p90": 54.0, + "n": 1 + }, + { + "month": "2024-02", + "mean": 33.8, + "median": 33.8, + "p10": 33.8, + "p25": 33.8, + "p75": 33.8, + "p90": 33.8, + "n": 1 + }, + { + "month": "2024-05", + "mean": 64.8, + "median": 64.8, + "p10": 64.8, + "p25": 64.8, + "p75": 64.8, + "p90": 64.8, + "n": 1 + }, + { + "month": "2024-09", + "mean": 16.2, + "median": 16.2, + "p10": 16.2, + "p25": 16.2, + "p75": 16.2, + "p90": 16.2, + "n": 1 + }, + { + "month": "2025-02", + "mean": 40.5, + "median": 40.5, + "p10": 40.5, + "p25": 40.5, + "p75": 40.5, + "p90": 40.5, + "n": 1 + }, + { + "month": "2025-06", + "mean": 18.9, + "median": 18.9, + "p10": 18.9, + "p25": 18.9, + "p75": 18.9, + "p90": 18.9, + "n": 1 + }, + { + "month": "2025-09", + "mean": 32.1, + "median": 31.1, + "p10": 27.3, + "p25": 29.7, + "p75": 33.8, + "p90": 37.8, + "n": 5 + }, + { + "month": "2025-10", + "mean": 36.5, + "median": 36.5, + "p10": 32.1, + "p25": 33.8, + "p75": 39.2, + "p90": 40.8, + "n": 5 + }, + { + "month": "2025-11", + "mean": 36.5, + "median": 36.5, + "p10": 32.1, + "p25": 33.8, + "p75": 39.2, + "p90": 40.8, + "n": 5 + }, + { + "month": "2025-12", + "mean": 31.9, + "median": 32.4, + "p10": 26.5, + "p25": 29.7, + "p75": 35.1, + "p90": 36.7, + "n": 5 + }, + { + "month": "2026-01", + "mean": 36.7, + "median": 37.8, + "p10": 30.8, + "p25": 32.4, + "p75": 40.5, + "p90": 42.1, + "n": 5 + }, + { + "month": "2026-02", + "mean": 32.7, + "median": 31.1, + "p10": 27.3, + "p25": 29.7, + "p75": 36.5, + "p90": 38.9, + "n": 5 + }, + { + "month": "2026-03", + "mean": 37.3, + "median": 36.5, + "p10": 32.1, + "p25": 33.8, + "p75": 39.2, + "p90": 43.2, + "n": 5 + }, + { + "month": "2026-04", + "mean": 33.5, + "median": 33.8, + "p10": 28.6, + "p25": 31.1, + "p75": 36.5, + "p90": 38.1, + "n": 5 + }, + { + "month": "2026-05", + "mean": 32.4, + "median": 32.4, + "p10": 28.1, + "p25": 29.7, + "p75": 35.1, + "p90": 36.7, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_highland_arabica", + "label": "Raw Material Dwell: Highland Arabica", + "type": "raw_material_dwell", + "material": "90000100001", + "plant": "PL-A", + "stats": { + "n": 83, + "mean": 65.2, + "median": 62.1, + "std": 26.7, + "min": 6.8, + "max": 175.5, + "p25": 52.0, + "p75": 73.6, + "p85": 82.4, + "p95": 118.4 + }, + "plifz": 30, + "plifz_note": null, + "pct_exceeding_plifz": 89.2, + "cost": { + "unit_price": 4.32, + "currency": "CHF", + "mean_qty": 4200.0, + "monthly": [ + { + "month": "2022-04", + "n_events": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "n_events": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "n_events": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "n_events": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "n_events": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "n_events": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "n_events": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "n_events": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "n_events": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "n_events": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 827400.0 + } + ] + }, + "observations": [ + { + "date": "2022-04-02", + "value": 47.2 + }, + { + "date": "2022-04-15", + "value": 83.7 + }, + { + "date": "2022-04-28", + "value": 24.3 + }, + { + "date": "2022-08-05", + "value": 118.8 + }, + { + "date": "2022-08-12", + "value": 56.7 + }, + { + "date": "2022-08-20", + "value": 74.2 + }, + { + "date": "2022-08-28", + "value": 40.5 + }, + { + "date": "2023-01-10", + "value": 97.2 + }, + { + "date": "2023-01-22", + "value": 33.8 + }, + { + "date": "2023-01-30", + "value": 64.8 + }, + { + "date": "2023-06-05", + "value": 20.2 + }, + { + "date": "2023-06-18", + "value": 128.2 + }, + { + "date": "2023-10-03", + "value": 175.5 + }, + { + "date": "2023-10-10", + "value": 60.8 + }, + { + "date": "2023-10-18", + "value": 51.3 + }, + { + "date": "2023-10-25", + "value": 87.8 + }, + { + "date": "2023-10-30", + "value": 29.7 + }, + { + "date": "2024-03-05", + "value": 105.3 + }, + { + "date": "2024-03-12", + "value": 6.8 + }, + { + "date": "2024-03-20", + "value": 74.2 + }, + { + "date": "2024-03-28", + "value": 54.0 + }, + { + "date": "2024-07-08", + "value": 37.8 + }, + { + "date": "2024-07-15", + "value": 114.8 + }, + { + "date": "2024-07-22", + "value": 67.5 + }, + { + "date": "2024-11-04", + "value": 148.5 + }, + { + "date": "2024-11-11", + "value": 43.2 + }, + { + "date": "2024-11-18", + "value": 91.8 + }, + { + "date": "2024-11-25", + "value": 60.8 + }, + { + "date": "2024-11-30", + "value": 124.2 + }, + { + "date": "2025-03-03", + "value": 27.0 + }, + { + "date": "2025-03-10", + "value": 78.3 + }, + { + "date": "2025-03-17", + "value": 47.2 + }, + { + "date": "2025-03-24", + "value": 56.7 + }, + { + "date": "2025-07-02", + "value": 101.2 + }, + { + "date": "2025-07-09", + "value": 16.2 + }, + { + "date": "2025-07-16", + "value": 64.8 + }, + { + "date": "2025-07-23", + "value": 81.0 + }, + { + "date": "2025-07-30", + "value": 51.3 + }, + { + "date": "2025-09-05", + "value": 66.2 + }, + { + "date": "2025-09-11", + "value": 72.9 + }, + { + "date": "2025-09-17", + "value": 45.9 + }, + { + "date": "2025-09-23", + "value": 52.7 + }, + { + "date": "2025-09-29", + "value": 56.7 + }, + { + "date": "2025-10-06", + "value": 82.4 + }, + { + "date": "2025-10-12", + "value": 55.4 + }, + { + "date": "2025-10-18", + "value": 62.1 + }, + { + "date": "2025-10-24", + "value": 66.2 + }, + { + "date": "2025-10-30", + "value": 71.6 + }, + { + "date": "2025-11-04", + "value": 48.6 + }, + { + "date": "2025-11-10", + "value": 55.4 + }, + { + "date": "2025-11-16", + "value": 59.4 + }, + { + "date": "2025-11-22", + "value": 64.8 + }, + { + "date": "2025-11-28", + "value": 70.2 + }, + { + "date": "2025-12-05", + "value": 48.6 + }, + { + "date": "2025-12-11", + "value": 52.7 + }, + { + "date": "2025-12-17", + "value": 58.1 + }, + { + "date": "2025-12-23", + "value": 63.5 + }, + { + "date": "2025-12-29", + "value": 68.9 + }, + { + "date": "2026-01-06", + "value": 63.5 + }, + { + "date": "2026-01-12", + "value": 67.5 + }, + { + "date": "2026-01-18", + "value": 72.9 + }, + { + "date": "2026-01-24", + "value": 78.3 + }, + { + "date": "2026-01-30", + "value": 52.7 + }, + { + "date": "2026-02-04", + "value": 60.8 + }, + { + "date": "2026-02-10", + "value": 66.2 + }, + { + "date": "2026-02-16", + "value": 72.9 + }, + { + "date": "2026-02-22", + "value": 45.9 + }, + { + "date": "2026-02-28", + "value": 52.7 + }, + { + "date": "2026-03-05", + "value": 75.6 + }, + { + "date": "2026-03-11", + "value": 82.4 + }, + { + "date": "2026-03-17", + "value": 55.4 + }, + { + "date": "2026-03-23", + "value": 62.1 + }, + { + "date": "2026-03-29", + "value": 66.2 + }, + { + "date": "2026-04-06", + "value": 75.6 + }, + { + "date": "2026-04-12", + "value": 48.6 + }, + { + "date": "2026-04-18", + "value": 55.4 + }, + { + "date": "2026-04-24", + "value": 59.4 + }, + { + "date": "2026-04-30", + "value": 64.8 + }, + { + "date": "2026-05-04", + "value": 43.2 + }, + { + "date": "2026-05-10", + "value": 48.6 + }, + { + "date": "2026-05-16", + "value": 52.7 + }, + { + "date": "2026-05-22", + "value": 58.1 + }, + { + "date": "2026-05-28", + "value": 63.5 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 51.7, + "median": 47.2, + "p10": 28.9, + "p25": 35.8, + "p75": 65.5, + "p90": 76.4, + "n": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "mean": 72.6, + "median": 65.5, + "p10": 45.4, + "p25": 52.7, + "p75": 85.5, + "p90": 105.4, + "n": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "mean": 65.2, + "median": 64.8, + "p10": 40.0, + "p25": 49.3, + "p75": 81.0, + "p90": 90.7, + "n": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "mean": 74.2, + "median": 74.2, + "p10": 31.1, + "p25": 47.2, + "p75": 101.2, + "p90": 117.5, + "n": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "mean": 81.0, + "median": 60.8, + "p10": 38.3, + "p25": 51.3, + "p75": 87.8, + "p90": 140.4, + "n": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "mean": 60.1, + "median": 64.1, + "p10": 20.9, + "p25": 42.3, + "p75": 82.1, + "p90": 96.0, + "n": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "mean": 73.3, + "median": 67.5, + "p10": 43.7, + "p25": 52.7, + "p75": 91.1, + "p90": 105.3, + "n": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "mean": 93.7, + "median": 91.8, + "p10": 50.2, + "p25": 60.8, + "p75": 124.2, + "p90": 138.8, + "n": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "mean": 52.4, + "median": 52.0, + "p10": 33.1, + "p25": 42.3, + "p75": 62.1, + "p90": 71.8, + "n": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "mean": 62.9, + "median": 64.8, + "p10": 30.2, + "p25": 51.3, + "p75": 81.0, + "p90": 93.2, + "n": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "mean": 58.9, + "median": 56.7, + "p10": 48.6, + "p25": 52.7, + "p75": 66.2, + "p90": 70.2, + "n": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "mean": 67.5, + "median": 66.2, + "p10": 58.1, + "p25": 62.1, + "p75": 71.6, + "p90": 78.0, + "n": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "mean": 59.7, + "median": 59.4, + "p10": 51.3, + "p25": 55.4, + "p75": 64.8, + "p90": 68.0, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "mean": 58.3, + "median": 58.1, + "p10": 50.2, + "p25": 52.7, + "p75": 63.5, + "p90": 66.7, + "n": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "mean": 67.0, + "median": 67.5, + "p10": 57.0, + "p25": 63.5, + "p75": 72.9, + "p90": 76.1, + "n": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "mean": 59.7, + "median": 60.8, + "p10": 48.6, + "p25": 52.7, + "p75": 66.2, + "p90": 70.2, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "mean": 68.3, + "median": 66.2, + "p10": 58.1, + "p25": 62.1, + "p75": 75.6, + "p90": 79.7, + "n": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "mean": 60.8, + "median": 59.4, + "p10": 51.3, + "p25": 55.4, + "p75": 64.8, + "p90": 71.3, + "n": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "mean": 53.2, + "median": 52.7, + "p10": 45.4, + "p25": 48.6, + "p75": 58.1, + "p90": 61.3, + "n": 5, + "total_kg_days": 827400.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_lowland_robusta", + "label": "Raw Material Dwell: Lowland Robusta", + "type": "raw_material_dwell", + "material": "90000100002", + "plant": "PL-A", + "stats": { + "n": 69, + "mean": 49.4, + "median": 45.9, + "std": 21.3, + "min": 4.1, + "max": 132.3, + "p25": 37.8, + "p75": 55.4, + "p85": 60.8, + "p95": 93.4 + }, + "plifz": 21, + "plifz_note": null, + "pct_exceeding_plifz": 91.3, + "cost": { + "unit_price": 2.43, + "currency": "CHF", + "mean_qty": 6500.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "n_events": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "n_events": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "n_events": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "n_events": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "n_events": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 1131000.0 + } + ] + }, + "observations": [ + { + "date": "2022-05-02", + "value": 37.8 + }, + { + "date": "2022-05-10", + "value": 60.8 + }, + { + "date": "2022-05-18", + "value": 16.2 + }, + { + "date": "2022-05-25", + "value": 83.7 + }, + { + "date": "2023-02-06", + "value": 44.6 + }, + { + "date": "2023-02-14", + "value": 105.3 + }, + { + "date": "2023-02-22", + "value": 27.0 + }, + { + "date": "2023-02-28", + "value": 74.2 + }, + { + "date": "2023-09-05", + "value": 10.8 + }, + { + "date": "2023-09-15", + "value": 56.7 + }, + { + "date": "2023-09-25", + "value": 87.8 + }, + { + "date": "2024-04-03", + "value": 51.3 + }, + { + "date": "2024-04-10", + "value": 20.2 + }, + { + "date": "2024-04-17", + "value": 97.2 + }, + { + "date": "2024-04-24", + "value": 33.8 + }, + { + "date": "2024-10-02", + "value": 64.8 + }, + { + "date": "2024-10-09", + "value": 4.1 + }, + { + "date": "2024-10-16", + "value": 114.8 + }, + { + "date": "2024-10-23", + "value": 40.5 + }, + { + "date": "2024-10-30", + "value": 74.2 + }, + { + "date": "2025-04-07", + "value": 29.7 + }, + { + "date": "2025-04-14", + "value": 54.0 + }, + { + "date": "2025-04-21", + "value": 132.3 + }, + { + "date": "2025-04-28", + "value": 24.3 + }, + { + "date": "2025-09-04", + "value": 52.7 + }, + { + "date": "2025-09-10", + "value": 55.4 + }, + { + "date": "2025-09-16", + "value": 60.8 + }, + { + "date": "2025-09-22", + "value": 40.5 + }, + { + "date": "2025-09-28", + "value": 45.9 + }, + { + "date": "2025-10-05", + "value": 51.3 + }, + { + "date": "2025-10-11", + "value": 55.4 + }, + { + "date": "2025-10-17", + "value": 36.5 + }, + { + "date": "2025-10-23", + "value": 40.5 + }, + { + "date": "2025-10-29", + "value": 43.2 + }, + { + "date": "2025-11-06", + "value": 51.3 + }, + { + "date": "2025-11-12", + "value": 31.1 + }, + { + "date": "2025-11-18", + "value": 36.5 + }, + { + "date": "2025-11-24", + "value": 39.2 + }, + { + "date": "2025-11-30", + "value": 43.2 + }, + { + "date": "2025-12-04", + "value": 37.8 + }, + { + "date": "2025-12-10", + "value": 43.2 + }, + { + "date": "2025-12-16", + "value": 45.9 + }, + { + "date": "2025-12-22", + "value": 50.0 + }, + { + "date": "2025-12-28", + "value": 54.0 + }, + { + "date": "2026-01-05", + "value": 37.8 + }, + { + "date": "2026-01-11", + "value": 41.9 + }, + { + "date": "2026-01-17", + "value": 44.6 + }, + { + "date": "2026-01-23", + "value": 48.6 + }, + { + "date": "2026-01-29", + "value": 52.7 + }, + { + "date": "2026-02-06", + "value": 48.6 + }, + { + "date": "2026-02-12", + "value": 52.7 + }, + { + "date": "2026-02-18", + "value": 55.4 + }, + { + "date": "2026-02-24", + "value": 60.8 + }, + { + "date": "2026-02-30", + "value": 40.5 + }, + { + "date": "2026-03-04", + "value": 47.2 + }, + { + "date": "2026-03-10", + "value": 51.3 + }, + { + "date": "2026-03-16", + "value": 55.4 + }, + { + "date": "2026-03-22", + "value": 36.5 + }, + { + "date": "2026-03-28", + "value": 40.5 + }, + { + "date": "2026-04-05", + "value": 45.9 + }, + { + "date": "2026-04-11", + "value": 51.3 + }, + { + "date": "2026-04-17", + "value": 31.1 + }, + { + "date": "2026-04-23", + "value": 36.5 + }, + { + "date": "2026-04-29", + "value": 39.2 + }, + { + "date": "2026-05-06", + "value": 58.1 + }, + { + "date": "2026-05-12", + "value": 37.8 + }, + { + "date": "2026-05-18", + "value": 43.2 + }, + { + "date": "2026-05-24", + "value": 45.9 + }, + { + "date": "2026-05-30", + "value": 50.0 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 49.7, + "median": 49.3, + "p10": 22.7, + "p25": 32.4, + "p75": 66.6, + "p90": 76.8, + "n": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "mean": 62.8, + "median": 59.4, + "p10": 32.3, + "p25": 40.2, + "p75": 82.1, + "p90": 96.0, + "n": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "mean": 51.7, + "median": 56.7, + "p10": 20.0, + "p25": 33.8, + "p75": 72.2, + "p90": 81.5, + "n": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "mean": 50.6, + "median": 42.5, + "p10": 24.3, + "p25": 30.4, + "p75": 62.8, + "p90": 83.4, + "n": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "mean": 59.7, + "median": 64.8, + "p10": 18.6, + "p25": 40.5, + "p75": 74.2, + "p90": 98.6, + "n": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "mean": 60.1, + "median": 41.9, + "p10": 25.9, + "p25": 28.4, + "p75": 73.6, + "p90": 108.8, + "n": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "mean": 51.0, + "median": 52.7, + "p10": 42.7, + "p25": 45.9, + "p75": 55.4, + "p90": 58.6, + "n": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "mean": 45.4, + "median": 43.2, + "p10": 38.1, + "p25": 40.5, + "p75": 51.3, + "p90": 53.7, + "n": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "mean": 40.2, + "median": 39.2, + "p10": 33.2, + "p25": 36.5, + "p75": 43.2, + "p90": 48.1, + "n": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "mean": 46.2, + "median": 45.9, + "p10": 40.0, + "p25": 43.2, + "p75": 50.0, + "p90": 52.4, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "mean": 45.1, + "median": 44.6, + "p10": 39.4, + "p25": 41.9, + "p75": 48.6, + "p90": 51.0, + "n": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "mean": 51.6, + "median": 52.7, + "p10": 43.7, + "p25": 48.6, + "p75": 55.4, + "p90": 58.6, + "n": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "mean": 46.2, + "median": 47.2, + "p10": 38.1, + "p25": 40.5, + "p75": 51.3, + "p90": 53.7, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "mean": 40.8, + "median": 39.2, + "p10": 33.2, + "p25": 36.5, + "p75": 45.9, + "p90": 49.1, + "n": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "mean": 47.0, + "median": 45.9, + "p10": 40.0, + "p25": 43.2, + "p75": 50.0, + "p90": 54.8, + "n": 5, + "total_kg_days": 1131000.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_washed_bourbon", + "label": "Raw Material Dwell: Washed Bourbon", + "type": "raw_material_dwell", + "material": "90000100003", + "plant": "PL-A", + "stats": { + "n": 70, + "mean": 59.3, + "median": 55.4, + "std": 25.8, + "min": 5.4, + "max": 155.2, + "p25": 46.3, + "p75": 67.5, + "p85": 72.9, + "p95": 110.6 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 95.7, + "cost": { + "unit_price": 7.425, + "currency": "CHF", + "mean_qty": 2800.0, + "monthly": [ + { + "month": "2022-06", + "n_events": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "n_events": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "n_events": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "n_events": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "n_events": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "n_events": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 568400.0 + } + ] + }, + "observations": [ + { + "date": "2022-06-05", + "value": 54.0 + }, + { + "date": "2022-06-15", + "value": 29.7 + }, + { + "date": "2022-06-25", + "value": 91.8 + }, + { + "date": "2023-03-08", + "value": 5.4 + }, + { + "date": "2023-03-15", + "value": 74.2 + }, + { + "date": "2023-03-22", + "value": 155.2 + }, + { + "date": "2023-03-29", + "value": 40.5 + }, + { + "date": "2023-11-06", + "value": 83.7 + }, + { + "date": "2023-11-13", + "value": 24.3 + }, + { + "date": "2023-11-20", + "value": 114.8 + }, + { + "date": "2024-06-03", + "value": 47.2 + }, + { + "date": "2024-06-10", + "value": 97.2 + }, + { + "date": "2024-06-17", + "value": 13.5 + }, + { + "date": "2024-06-24", + "value": 64.8 + }, + { + "date": "2024-06-30", + "value": 128.2 + }, + { + "date": "2025-01-07", + "value": 37.8 + }, + { + "date": "2025-01-14", + "value": 70.2 + }, + { + "date": "2025-01-21", + "value": 20.2 + }, + { + "date": "2025-01-28", + "value": 105.3 + }, + { + "date": "2025-08-04", + "value": 56.7 + }, + { + "date": "2025-08-08", + "value": 10.8 + }, + { + "date": "2025-08-12", + "value": 87.8 + }, + { + "date": "2025-08-16", + "value": 44.6 + }, + { + "date": "2025-08-20", + "value": 135.0 + }, + { + "date": "2025-08-24", + "value": 27.0 + }, + { + "date": "2025-09-06", + "value": 55.4 + }, + { + "date": "2025-09-12", + "value": 60.8 + }, + { + "date": "2025-09-18", + "value": 64.8 + }, + { + "date": "2025-09-24", + "value": 70.2 + }, + { + "date": "2025-09-30", + "value": 45.9 + }, + { + "date": "2025-10-04", + "value": 54.0 + }, + { + "date": "2025-10-10", + "value": 59.4 + }, + { + "date": "2025-10-16", + "value": 64.8 + }, + { + "date": "2025-10-22", + "value": 40.5 + }, + { + "date": "2025-10-28", + "value": 45.9 + }, + { + "date": "2025-11-05", + "value": 67.5 + }, + { + "date": "2025-11-11", + "value": 72.9 + }, + { + "date": "2025-11-17", + "value": 48.6 + }, + { + "date": "2025-11-23", + "value": 55.4 + }, + { + "date": "2025-11-29", + "value": 59.4 + }, + { + "date": "2025-12-06", + "value": 67.5 + }, + { + "date": "2025-12-12", + "value": 43.2 + }, + { + "date": "2025-12-18", + "value": 48.6 + }, + { + "date": "2025-12-24", + "value": 52.7 + }, + { + "date": "2025-12-30", + "value": 58.1 + }, + { + "date": "2026-01-04", + "value": 37.8 + }, + { + "date": "2026-01-10", + "value": 43.2 + }, + { + "date": "2026-01-16", + "value": 47.2 + }, + { + "date": "2026-01-22", + "value": 51.3 + }, + { + "date": "2026-01-28", + "value": 56.7 + }, + { + "date": "2026-02-05", + "value": 52.7 + }, + { + "date": "2026-02-11", + "value": 55.4 + }, + { + "date": "2026-02-17", + "value": 60.8 + }, + { + "date": "2026-02-23", + "value": 64.8 + }, + { + "date": "2026-02-29", + "value": 70.2 + }, + { + "date": "2026-03-06", + "value": 50.0 + }, + { + "date": "2026-03-12", + "value": 54.0 + }, + { + "date": "2026-03-18", + "value": 59.4 + }, + { + "date": "2026-03-24", + "value": 64.8 + }, + { + "date": "2026-03-30", + "value": 40.5 + }, + { + "date": "2026-04-04", + "value": 63.5 + }, + { + "date": "2026-04-10", + "value": 67.5 + }, + { + "date": "2026-04-16", + "value": 72.9 + }, + { + "date": "2026-04-22", + "value": 48.6 + }, + { + "date": "2026-04-28", + "value": 55.4 + }, + { + "date": "2026-05-05", + "value": 62.1 + }, + { + "date": "2026-05-11", + "value": 67.5 + }, + { + "date": "2026-05-17", + "value": 43.2 + }, + { + "date": "2026-05-23", + "value": 48.6 + }, + { + "date": "2026-05-29", + "value": 52.7 + } + ], + "monthly": [ + { + "month": "2022-06", + "mean": 58.5, + "median": 54.0, + "p10": 34.6, + "p25": 41.9, + "p75": 72.9, + "p90": 84.2, + "n": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "mean": 68.9, + "median": 57.4, + "p10": 15.9, + "p25": 31.7, + "p75": 94.5, + "p90": 131.0, + "n": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "mean": 74.2, + "median": 83.7, + "p10": 36.2, + "p25": 54.0, + "p75": 99.2, + "p90": 108.5, + "n": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "mean": 70.2, + "median": 64.8, + "p10": 27.0, + "p25": 47.2, + "p75": 97.2, + "p90": 115.8, + "n": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "mean": 58.5, + "median": 54.0, + "p10": 25.5, + "p25": 33.5, + "p75": 79.0, + "p90": 94.8, + "n": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "mean": 60.3, + "median": 50.6, + "p10": 18.9, + "p25": 31.5, + "p75": 80.1, + "p90": 111.4, + "n": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "mean": 59.4, + "median": 60.8, + "p10": 49.7, + "p25": 55.4, + "p75": 64.8, + "p90": 68.0, + "n": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "mean": 52.9, + "median": 54.0, + "p10": 42.7, + "p25": 45.9, + "p75": 59.4, + "p90": 62.6, + "n": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "mean": 60.8, + "median": 59.4, + "p10": 51.3, + "p25": 55.4, + "p75": 67.5, + "p90": 70.7, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "mean": 54.0, + "median": 52.7, + "p10": 45.4, + "p25": 48.6, + "p75": 58.1, + "p90": 63.7, + "n": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "mean": 47.2, + "median": 47.2, + "p10": 40.0, + "p25": 43.2, + "p75": 51.3, + "p90": 54.5, + "n": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "mean": 60.8, + "median": 60.8, + "p10": 53.7, + "p25": 55.4, + "p75": 64.8, + "p90": 68.0, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "mean": 53.7, + "median": 54.0, + "p10": 44.3, + "p25": 50.0, + "p75": 59.4, + "p90": 62.6, + "n": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "mean": 61.6, + "median": 63.5, + "p10": 51.3, + "p25": 55.4, + "p75": 67.5, + "p90": 70.7, + "n": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "mean": 54.8, + "median": 52.7, + "p10": 45.4, + "p25": 48.6, + "p75": 62.1, + "p90": 65.3, + "n": 5, + "total_kg_days": 568400.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "prod_duration_green_blend", + "label": "Production: Green Blend", + "type": "production", + "material": "90000200001", + "plant": "PL-A", + "stats": { + "n": 50, + "mean": 5.9, + "median": 5.4, + "std": 2.4, + "min": 1.4, + "max": 18.9, + "p25": 4.5, + "p75": 6.8, + "p85": 6.8, + "p95": 8.9 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 10.0, + "cost": null, + "observations": [ + { + "date": "2022-04-18", + "value": 4.1 + }, + { + "date": "2022-07-05", + "value": 6.8 + }, + { + "date": "2022-10-12", + "value": 2.7 + }, + { + "date": "2023-01-20", + "value": 9.5 + }, + { + "date": "2023-04-15", + "value": 5.4 + }, + { + "date": "2023-07-28", + "value": 8.1 + }, + { + "date": "2023-10-05", + "value": 4.1 + }, + { + "date": "2024-01-12", + "value": 18.9 + }, + { + "date": "2024-04-22", + "value": 5.4 + }, + { + "date": "2024-07-10", + "value": 10.8 + }, + { + "date": "2024-10-18", + "value": 4.1 + }, + { + "date": "2025-01-25", + "value": 6.8 + }, + { + "date": "2025-05-08", + "value": 1.4 + }, + { + "date": "2025-08-15", + "value": 8.1 + }, + { + "date": "2025-09-04", + "value": 4.1 + }, + { + "date": "2025-09-10", + "value": 5.4 + }, + { + "date": "2025-09-16", + "value": 5.4 + }, + { + "date": "2025-09-22", + "value": 5.4 + }, + { + "date": "2025-10-05", + "value": 4.1 + }, + { + "date": "2025-10-11", + "value": 5.4 + }, + { + "date": "2025-10-17", + "value": 5.4 + }, + { + "date": "2025-10-23", + "value": 5.4 + }, + { + "date": "2025-11-06", + "value": 5.4 + }, + { + "date": "2025-11-12", + "value": 6.8 + }, + { + "date": "2025-11-18", + "value": 6.8 + }, + { + "date": "2025-11-24", + "value": 6.8 + }, + { + "date": "2025-12-04", + "value": 5.4 + }, + { + "date": "2025-12-10", + "value": 6.8 + }, + { + "date": "2025-12-16", + "value": 6.8 + }, + { + "date": "2025-12-22", + "value": 4.1 + }, + { + "date": "2026-01-05", + "value": 5.4 + }, + { + "date": "2026-01-11", + "value": 6.8 + }, + { + "date": "2026-01-17", + "value": 4.1 + }, + { + "date": "2026-01-23", + "value": 4.1 + }, + { + "date": "2026-02-06", + "value": 6.8 + }, + { + "date": "2026-02-12", + "value": 4.1 + }, + { + "date": "2026-02-18", + "value": 5.4 + }, + { + "date": "2026-02-24", + "value": 5.4 + }, + { + "date": "2026-03-04", + "value": 4.1 + }, + { + "date": "2026-03-10", + "value": 4.1 + }, + { + "date": "2026-03-16", + "value": 5.4 + }, + { + "date": "2026-03-22", + "value": 5.4 + }, + { + "date": "2026-04-05", + "value": 5.4 + }, + { + "date": "2026-04-11", + "value": 5.4 + }, + { + "date": "2026-04-17", + "value": 6.8 + }, + { + "date": "2026-04-23", + "value": 6.8 + }, + { + "date": "2026-05-06", + "value": 5.4 + }, + { + "date": "2026-05-12", + "value": 5.4 + }, + { + "date": "2026-05-18", + "value": 6.8 + }, + { + "date": "2026-05-24", + "value": 6.8 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-07", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2023-01", + "mean": 9.5, + "median": 9.5, + "p10": 9.5, + "p25": 9.5, + "p75": 9.5, + "p90": 9.5, + "n": 1 + }, + { + "month": "2023-04", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2023-07", + "mean": 8.1, + "median": 8.1, + "p10": 8.1, + "p25": 8.1, + "p75": 8.1, + "p90": 8.1, + "n": 1 + }, + { + "month": "2023-10", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-01", + "mean": 18.9, + "median": 18.9, + "p10": 18.9, + "p25": 18.9, + "p75": 18.9, + "p90": 18.9, + "n": 1 + }, + { + "month": "2024-04", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2024-07", + "mean": 10.8, + "median": 10.8, + "p10": 10.8, + "p25": 10.8, + "p75": 10.8, + "p90": 10.8, + "n": 1 + }, + { + "month": "2024-10", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-01", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2025-05", + "mean": 1.4, + "median": 1.4, + "p10": 1.4, + "p25": 1.4, + "p75": 1.4, + "p90": 1.4, + "n": 1 + }, + { + "month": "2025-08", + "mean": 8.1, + "median": 8.1, + "p10": 8.1, + "p25": 8.1, + "p75": 8.1, + "p90": 8.1, + "n": 1 + }, + { + "month": "2025-09", + "mean": 5.1, + "median": 5.4, + "p10": 4.5, + "p25": 5.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2025-10", + "mean": 5.1, + "median": 5.4, + "p10": 4.5, + "p25": 5.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2025-11", + "mean": 6.5, + "median": 6.8, + "p10": 5.8, + "p25": 6.5, + "p75": 6.8, + "p90": 6.8, + "n": 4 + }, + { + "month": "2025-12", + "mean": 5.8, + "median": 6.1, + "p10": 4.5, + "p25": 5.1, + "p75": 6.8, + "p90": 6.8, + "n": 4 + }, + { + "month": "2026-01", + "mean": 5.1, + "median": 4.7, + "p10": 4.1, + "p25": 4.1, + "p75": 5.8, + "p90": 6.3, + "n": 4 + }, + { + "month": "2026-02", + "mean": 5.4, + "median": 5.4, + "p10": 4.5, + "p25": 5.1, + "p75": 5.8, + "p90": 6.3, + "n": 4 + }, + { + "month": "2026-03", + "mean": 4.7, + "median": 4.7, + "p10": 4.1, + "p25": 4.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2026-04", + "mean": 6.1, + "median": 6.1, + "p10": 5.4, + "p25": 5.4, + "p75": 6.8, + "p90": 6.8, + "n": 4 + }, + { + "month": "2026-05", + "mean": 6.1, + "median": 6.1, + "p10": 5.4, + "p25": 5.4, + "p75": 6.8, + "p90": 6.8, + "n": 4 + } + ], + "n_batches": 50, + "n_movements": null, + "yield_summary": { + "median": 98.5, + "mean": 97.2, + "reference": 100.0, + "n": 50 + }, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 0.9, + "mean_slack": 5.1, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 0.9 + }, + "direct": { + "binding_share": 0.9, + "mean_slack": 7.2, + "next_bottleneck_days": 27.4, + "expected_marginal_per_day": 0.9 + }, + "hub-1": { + "binding_share": 0.9, + "mean_slack": 2.0, + "next_bottleneck_days": 31.3, + "expected_marginal_per_day": 0.9 + } + } + }, + { + "id": "intermed_dwell_green_blend", + "label": "Intermediate Dwell: Green Blend", + "type": "intermediate_dwell", + "material": "90000200001", + "plant": "PL-A", + "stats": { + "n": 73, + "mean": 23.5, + "median": 21.6, + "std": 12.2, + "min": 2.7, + "max": 74.2, + "p25": 17.6, + "p75": 25.7, + "p85": 27.5, + "p95": 50.0 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 87.7, + "cost": { + "unit_price": 16.875, + "currency": "CHF", + "mean_qty": 3200.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "n_events": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "n_events": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "n_events": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "n_events": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "n_events": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "n_events": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 249600.0 + } + ] + }, + "observations": [ + { + "date": "2022-05-05", + "value": 16.2 + }, + { + "date": "2022-05-15", + "value": 33.8 + }, + { + "date": "2022-05-22", + "value": 10.8 + }, + { + "date": "2022-11-03", + "value": 47.2 + }, + { + "date": "2022-11-10", + "value": 20.2 + }, + { + "date": "2022-11-18", + "value": 6.8 + }, + { + "date": "2022-11-25", + "value": 29.7 + }, + { + "date": "2023-05-08", + "value": 24.3 + }, + { + "date": "2023-05-15", + "value": 54.0 + }, + { + "date": "2023-05-22", + "value": 13.5 + }, + { + "date": "2023-11-06", + "value": 74.2 + }, + { + "date": "2023-11-13", + "value": 2.7 + }, + { + "date": "2023-11-20", + "value": 37.8 + }, + { + "date": "2023-11-27", + "value": 20.2 + }, + { + "date": "2023-11-30", + "value": 10.8 + }, + { + "date": "2024-05-06", + "value": 27.0 + }, + { + "date": "2024-05-13", + "value": 60.8 + }, + { + "date": "2024-05-20", + "value": 16.2 + }, + { + "date": "2024-05-27", + "value": 4.1 + }, + { + "date": "2024-11-04", + "value": 24.3 + }, + { + "date": "2024-11-11", + "value": 40.5 + }, + { + "date": "2024-11-18", + "value": 10.8 + }, + { + "date": "2025-05-05", + "value": 29.7 + }, + { + "date": "2025-05-09", + "value": 47.2 + }, + { + "date": "2025-05-13", + "value": 6.8 + }, + { + "date": "2025-05-17", + "value": 20.2 + }, + { + "date": "2025-05-21", + "value": 56.7 + }, + { + "date": "2025-05-25", + "value": 13.5 + }, + { + "date": "2025-09-05", + "value": 18.9 + }, + { + "date": "2025-09-11", + "value": 21.6 + }, + { + "date": "2025-09-17", + "value": 23.0 + }, + { + "date": "2025-09-23", + "value": 24.3 + }, + { + "date": "2025-09-29", + "value": 25.7 + }, + { + "date": "2025-10-06", + "value": 18.9 + }, + { + "date": "2025-10-12", + "value": 20.2 + }, + { + "date": "2025-10-18", + "value": 21.6 + }, + { + "date": "2025-10-24", + "value": 24.3 + }, + { + "date": "2025-10-30", + "value": 14.9 + }, + { + "date": "2025-11-04", + "value": 24.3 + }, + { + "date": "2025-11-10", + "value": 25.7 + }, + { + "date": "2025-11-16", + "value": 27.0 + }, + { + "date": "2025-11-22", + "value": 18.9 + }, + { + "date": "2025-11-28", + "value": 20.2 + }, + { + "date": "2025-12-05", + "value": 23.0 + }, + { + "date": "2025-12-11", + "value": 25.7 + }, + { + "date": "2025-12-17", + "value": 16.2 + }, + { + "date": "2025-12-23", + "value": 18.9 + }, + { + "date": "2025-12-29", + "value": 20.2 + }, + { + "date": "2026-01-06", + "value": 23.0 + }, + { + "date": "2026-01-12", + "value": 14.9 + }, + { + "date": "2026-01-18", + "value": 16.2 + }, + { + "date": "2026-01-24", + "value": 17.6 + }, + { + "date": "2026-01-30", + "value": 18.9 + }, + { + "date": "2026-02-04", + "value": 17.6 + }, + { + "date": "2026-02-10", + "value": 18.9 + }, + { + "date": "2026-02-16", + "value": 21.6 + }, + { + "date": "2026-02-22", + "value": 23.0 + }, + { + "date": "2026-02-28", + "value": 24.3 + }, + { + "date": "2026-03-05", + "value": 17.6 + }, + { + "date": "2026-03-11", + "value": 18.9 + }, + { + "date": "2026-03-17", + "value": 20.2 + }, + { + "date": "2026-03-23", + "value": 21.6 + }, + { + "date": "2026-03-29", + "value": 24.3 + }, + { + "date": "2026-04-06", + "value": 21.6 + }, + { + "date": "2026-04-12", + "value": 24.3 + }, + { + "date": "2026-04-18", + "value": 25.7 + }, + { + "date": "2026-04-24", + "value": 27.0 + }, + { + "date": "2026-04-30", + "value": 18.9 + }, + { + "date": "2026-05-04", + "value": 21.6 + }, + { + "date": "2026-05-10", + "value": 23.0 + }, + { + "date": "2026-05-16", + "value": 25.7 + }, + { + "date": "2026-05-22", + "value": 16.2 + }, + { + "date": "2026-05-28", + "value": 18.9 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 20.2, + "median": 16.2, + "p10": 11.9, + "p25": 13.5, + "p75": 25.0, + "p90": 30.2, + "n": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "mean": 26.1, + "median": 25.0, + "p10": 10.8, + "p25": 16.9, + "p75": 34.2, + "p90": 42.0, + "n": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "mean": 30.6, + "median": 24.3, + "p10": 15.7, + "p25": 18.9, + "p75": 39.2, + "p90": 48.1, + "n": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "mean": 29.2, + "median": 20.2, + "p10": 5.9, + "p25": 10.8, + "p75": 37.8, + "p90": 59.7, + "n": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "mean": 27.0, + "median": 21.6, + "p10": 7.7, + "p25": 13.2, + "p75": 35.5, + "p90": 50.6, + "n": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "mean": 25.2, + "median": 24.3, + "p10": 13.5, + "p25": 17.6, + "p75": 32.4, + "p90": 37.3, + "n": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "mean": 29.0, + "median": 25.0, + "p10": 10.1, + "p25": 15.3, + "p75": 42.9, + "p90": 52.0, + "n": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "mean": 22.7, + "median": 23.0, + "p10": 20.0, + "p25": 21.6, + "p75": 24.3, + "p90": 25.1, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "mean": 20.0, + "median": 20.2, + "p10": 16.5, + "p25": 18.9, + "p75": 21.6, + "p90": 23.2, + "n": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "mean": 23.2, + "median": 24.3, + "p10": 19.4, + "p25": 20.2, + "p75": 25.7, + "p90": 26.5, + "n": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "mean": 20.8, + "median": 20.2, + "p10": 17.3, + "p25": 18.9, + "p75": 23.0, + "p90": 24.6, + "n": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "mean": 18.1, + "median": 17.6, + "p10": 15.4, + "p25": 16.2, + "p75": 18.9, + "p90": 21.3, + "n": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "mean": 21.1, + "median": 21.6, + "p10": 18.1, + "p25": 18.9, + "p75": 23.0, + "p90": 23.8, + "n": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "mean": 20.5, + "median": 20.2, + "p10": 18.1, + "p25": 18.9, + "p75": 21.6, + "p90": 23.2, + "n": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "mean": 23.5, + "median": 24.3, + "p10": 20.0, + "p25": 21.6, + "p75": 25.7, + "p90": 26.5, + "n": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "mean": 21.1, + "median": 21.6, + "p10": 17.3, + "p25": 18.9, + "p75": 23.0, + "p90": 24.6, + "n": 5, + "total_kg_days": 249600.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 0.9, + "mean_slack": 5.1, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 0.9 + }, + "direct": { + "binding_share": 0.9, + "mean_slack": 7.2, + "next_bottleneck_days": 27.4, + "expected_marginal_per_day": 0.9 + }, + "hub-1": { + "binding_share": 0.9, + "mean_slack": 2.0, + "next_bottleneck_days": 31.3, + "expected_marginal_per_day": 0.9 + } + } + }, + { + "id": "prod_duration_harbor_dark_roast", + "label": "Production: Harbor Dark Roast", + "type": "production", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 58, + "mean": 4.3, + "median": 4.1, + "std": 1.9, + "min": 0.0, + "max": 13.5, + "p25": 4.1, + "p75": 5.4, + "p85": 5.4, + "p95": 7.0 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 5.2, + "cost": null, + "observations": [ + { + "date": "2022-05-20", + "value": 2.7 + }, + { + "date": "2022-06-10", + "value": 4.1 + }, + { + "date": "2022-07-15", + "value": 1.4 + }, + { + "date": "2022-08-22", + "value": 5.4 + }, + { + "date": "2022-10-05", + "value": 2.7 + }, + { + "date": "2022-11-18", + "value": 6.8 + }, + { + "date": "2023-01-10", + "value": 4.1 + }, + { + "date": "2023-03-25", + "value": 9.5 + }, + { + "date": "2023-05-12", + "value": 2.7 + }, + { + "date": "2023-07-08", + "value": 5.4 + }, + { + "date": "2023-09-15", + "value": 1.4 + }, + { + "date": "2023-11-22", + "value": 4.1 + }, + { + "date": "2024-01-18", + "value": 13.5 + }, + { + "date": "2024-03-08", + "value": 4.1 + }, + { + "date": "2024-05-15", + "value": 2.7 + }, + { + "date": "2024-07-22", + "value": 6.8 + }, + { + "date": "2024-09-10", + "value": 0.0 + }, + { + "date": "2024-11-05", + "value": 5.4 + }, + { + "date": "2025-01-15", + "value": 4.1 + }, + { + "date": "2025-03-20", + "value": 2.7 + }, + { + "date": "2025-05-28", + "value": 8.1 + }, + { + "date": "2025-08-05", + "value": 4.1 + }, + { + "date": "2025-09-05", + "value": 5.4 + }, + { + "date": "2025-09-11", + "value": 5.4 + }, + { + "date": "2025-09-17", + "value": 4.1 + }, + { + "date": "2025-09-23", + "value": 4.1 + }, + { + "date": "2025-10-06", + "value": 5.4 + }, + { + "date": "2025-10-12", + "value": 2.7 + }, + { + "date": "2025-10-18", + "value": 4.1 + }, + { + "date": "2025-10-24", + "value": 4.1 + }, + { + "date": "2025-11-04", + "value": 2.7 + }, + { + "date": "2025-11-10", + "value": 2.7 + }, + { + "date": "2025-11-16", + "value": 4.1 + }, + { + "date": "2025-11-22", + "value": 4.1 + }, + { + "date": "2025-12-05", + "value": 4.1 + }, + { + "date": "2025-12-11", + "value": 4.1 + }, + { + "date": "2025-12-17", + "value": 4.1 + }, + { + "date": "2025-12-23", + "value": 5.4 + }, + { + "date": "2026-01-06", + "value": 4.1 + }, + { + "date": "2026-01-12", + "value": 4.1 + }, + { + "date": "2026-01-18", + "value": 4.1 + }, + { + "date": "2026-01-24", + "value": 5.4 + }, + { + "date": "2026-02-04", + "value": 5.4 + }, + { + "date": "2026-02-10", + "value": 5.4 + }, + { + "date": "2026-02-16", + "value": 5.4 + }, + { + "date": "2026-02-22", + "value": 4.1 + }, + { + "date": "2026-03-05", + "value": 4.1 + }, + { + "date": "2026-03-11", + "value": 5.4 + }, + { + "date": "2026-03-17", + "value": 2.7 + }, + { + "date": "2026-03-23", + "value": 4.1 + }, + { + "date": "2026-04-06", + "value": 4.1 + }, + { + "date": "2026-04-12", + "value": 2.7 + }, + { + "date": "2026-04-18", + "value": 2.7 + }, + { + "date": "2026-04-24", + "value": 4.1 + }, + { + "date": "2026-05-04", + "value": 4.1 + }, + { + "date": "2026-05-10", + "value": 4.1 + }, + { + "date": "2026-05-16", + "value": 4.1 + }, + { + "date": "2026-05-22", + "value": 4.1 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2022-06", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-07", + "mean": 1.4, + "median": 1.4, + "p10": 1.4, + "p25": 1.4, + "p75": 1.4, + "p90": 1.4, + "n": 1 + }, + { + "month": "2022-08", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2022-11", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2023-01", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2023-03", + "mean": 9.5, + "median": 9.5, + "p10": 9.5, + "p25": 9.5, + "p75": 9.5, + "p90": 9.5, + "n": 1 + }, + { + "month": "2023-05", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2023-07", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2023-09", + "mean": 1.4, + "median": 1.4, + "p10": 1.4, + "p25": 1.4, + "p75": 1.4, + "p90": 1.4, + "n": 1 + }, + { + "month": "2023-11", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-01", + "mean": 13.5, + "median": 13.5, + "p10": 13.5, + "p25": 13.5, + "p75": 13.5, + "p90": 13.5, + "n": 1 + }, + { + "month": "2024-03", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-05", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2024-07", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2024-09", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2025-01", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-03", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2025-05", + "mean": 8.1, + "median": 8.1, + "p10": 8.1, + "p25": 8.1, + "p75": 8.1, + "p90": 8.1, + "n": 1 + }, + { + "month": "2025-08", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-09", + "mean": 4.7, + "median": 4.7, + "p10": 4.1, + "p25": 4.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2025-10", + "mean": 4.1, + "median": 4.1, + "p10": 3.1, + "p25": 3.8, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2025-11", + "mean": 3.4, + "median": 3.4, + "p10": 2.7, + "p25": 2.7, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2025-12", + "mean": 4.5, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-01", + "mean": 4.5, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-02", + "mean": 5.1, + "median": 5.4, + "p10": 4.5, + "p25": 5.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2026-03", + "mean": 4.1, + "median": 4.1, + "p10": 3.1, + "p25": 3.8, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-04", + "mean": 3.4, + "median": 3.4, + "p10": 2.7, + "p25": 2.7, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2026-05", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 4 + } + ], + "n_batches": 58, + "n_movements": null, + "yield_summary": { + "median": 99.2, + "mean": 98.5, + "reference": 100.0, + "n": 58 + }, + "consumption_summary": { + "median_variance": 2.1, + "mean_variance": 3.4, + "n_components": 3, + "n": 58 + }, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 4.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 3.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 4.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "prod_to_qa_pla", + "label": "Production \u2192 QA Release (PL-A)", + "type": "qa_hold", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 58, + "mean": 4.6, + "median": 4.1, + "std": 2.4, + "min": 0.0, + "max": 17.6, + "p25": 4.1, + "p75": 5.4, + "p85": 5.4, + "p95": 8.4 + }, + "plifz": 5, + "plifz_note": "WEBAZ (GR processing days)", + "pct_exceeding_plifz": 6.9, + "cost": null, + "observations": [ + { + "date": "2022-05-22", + "value": 2.7 + }, + { + "date": "2022-06-13", + "value": 1.4 + }, + { + "date": "2022-07-16", + "value": 4.1 + }, + { + "date": "2022-08-26", + "value": 2.7 + }, + { + "date": "2022-10-07", + "value": 6.8 + }, + { + "date": "2022-11-23", + "value": 2.7 + }, + { + "date": "2023-01-13", + "value": 5.4 + }, + { + "date": "2023-04-01", + "value": 4.1 + }, + { + "date": "2023-05-14", + "value": 8.1 + }, + { + "date": "2023-07-12", + "value": 2.7 + }, + { + "date": "2023-09-16", + "value": 17.6 + }, + { + "date": "2023-11-25", + "value": 4.1 + }, + { + "date": "2024-01-28", + "value": 9.5 + }, + { + "date": "2024-03-11", + "value": 1.4 + }, + { + "date": "2024-05-17", + "value": 5.4 + }, + { + "date": "2024-07-27", + "value": 6.8 + }, + { + "date": "2024-09-10", + "value": 2.7 + }, + { + "date": "2024-11-09", + "value": 0.0 + }, + { + "date": "2025-01-18", + "value": 4.1 + }, + { + "date": "2025-03-22", + "value": 10.8 + }, + { + "date": "2025-06-03", + "value": 2.7 + }, + { + "date": "2025-08-08", + "value": 6.8 + }, + { + "date": "2025-09-04", + "value": 2.7 + }, + { + "date": "2025-09-10", + "value": 4.1 + }, + { + "date": "2025-09-16", + "value": 4.1 + }, + { + "date": "2025-09-22", + "value": 4.1 + }, + { + "date": "2025-10-05", + "value": 4.1 + }, + { + "date": "2025-10-11", + "value": 4.1 + }, + { + "date": "2025-10-17", + "value": 5.4 + }, + { + "date": "2025-10-23", + "value": 5.4 + }, + { + "date": "2025-11-06", + "value": 4.1 + }, + { + "date": "2025-11-12", + "value": 4.1 + }, + { + "date": "2025-11-18", + "value": 4.1 + }, + { + "date": "2025-11-24", + "value": 5.4 + }, + { + "date": "2025-12-04", + "value": 4.1 + }, + { + "date": "2025-12-10", + "value": 4.1 + }, + { + "date": "2025-12-16", + "value": 4.1 + }, + { + "date": "2025-12-22", + "value": 2.7 + }, + { + "date": "2026-01-05", + "value": 5.4 + }, + { + "date": "2026-01-11", + "value": 5.4 + }, + { + "date": "2026-01-17", + "value": 4.1 + }, + { + "date": "2026-01-23", + "value": 4.1 + }, + { + "date": "2026-02-06", + "value": 5.4 + }, + { + "date": "2026-02-12", + "value": 2.7 + }, + { + "date": "2026-02-18", + "value": 4.1 + }, + { + "date": "2026-02-24", + "value": 4.1 + }, + { + "date": "2026-03-04", + "value": 4.1 + }, + { + "date": "2026-03-10", + "value": 4.1 + }, + { + "date": "2026-03-16", + "value": 4.1 + }, + { + "date": "2026-03-22", + "value": 5.4 + }, + { + "date": "2026-04-05", + "value": 4.1 + }, + { + "date": "2026-04-11", + "value": 4.1 + }, + { + "date": "2026-04-17", + "value": 4.1 + }, + { + "date": "2026-04-23", + "value": 4.1 + }, + { + "date": "2026-05-06", + "value": 4.1 + }, + { + "date": "2026-05-12", + "value": 4.1 + }, + { + "date": "2026-05-18", + "value": 4.1 + }, + { + "date": "2026-05-24", + "value": 4.1 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2022-06", + "mean": 1.4, + "median": 1.4, + "p10": 1.4, + "p25": 1.4, + "p75": 1.4, + "p90": 1.4, + "n": 1 + }, + { + "month": "2022-07", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-08", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2022-10", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2022-11", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2023-01", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2023-04", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2023-05", + "mean": 8.1, + "median": 8.1, + "p10": 8.1, + "p25": 8.1, + "p75": 8.1, + "p90": 8.1, + "n": 1 + }, + { + "month": "2023-07", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2023-09", + "mean": 17.6, + "median": 17.6, + "p10": 17.6, + "p25": 17.6, + "p75": 17.6, + "p90": 17.6, + "n": 1 + }, + { + "month": "2023-11", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-01", + "mean": 9.5, + "median": 9.5, + "p10": 9.5, + "p25": 9.5, + "p75": 9.5, + "p90": 9.5, + "n": 1 + }, + { + "month": "2024-03", + "mean": 1.4, + "median": 1.4, + "p10": 1.4, + "p25": 1.4, + "p75": 1.4, + "p90": 1.4, + "n": 1 + }, + { + "month": "2024-05", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2024-07", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2024-09", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2024-11", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-03", + "mean": 10.8, + "median": 10.8, + "p10": 10.8, + "p25": 10.8, + "p75": 10.8, + "p90": 10.8, + "n": 1 + }, + { + "month": "2025-06", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2025-08", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2025-09", + "mean": 3.8, + "median": 4.1, + "p10": 3.1, + "p25": 3.8, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2025-10", + "mean": 4.7, + "median": 4.7, + "p10": 4.1, + "p25": 4.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2025-11", + "mean": 4.5, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2025-12", + "mean": 3.8, + "median": 4.1, + "p10": 3.1, + "p25": 3.8, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2026-01", + "mean": 4.7, + "median": 4.7, + "p10": 4.1, + "p25": 4.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2026-02", + "mean": 4.1, + "median": 4.1, + "p10": 3.1, + "p25": 3.8, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-03", + "mean": 4.5, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-04", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2026-05", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 4 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": { + "median": 99.2, + "mean": 98.5, + "reference": 100.0, + "n": 58 + }, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 7.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 7.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 6.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "post_qa_ship_pla", + "label": "Post-QA Dwell (PL-A)", + "type": "post_qa_ship", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 57, + "mean": 17.1, + "median": 16.2, + "std": 7.6, + "min": 2.7, + "max": 56.7, + "p25": 13.5, + "p75": 18.9, + "p85": 20.2, + "p95": 27.5 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "cost": { + "unit_price": 38.475, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2023-03", + "n_events": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "n_events": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "n_events": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 264000.0 + } + ] + }, + "observations": [ + { + "date": "2023-03-10", + "value": 10.8 + }, + { + "date": "2023-03-25", + "value": 29.7 + }, + { + "date": "2023-09-20", + "value": 56.7 + }, + { + "date": "2024-03-15", + "value": 8.1 + }, + { + "date": "2024-03-28", + "value": 24.3 + }, + { + "date": "2024-09-05", + "value": 37.8 + }, + { + "date": "2024-09-15", + "value": 16.2 + }, + { + "date": "2024-09-25", + "value": 2.7 + }, + { + "date": "2025-03-10", + "value": 20.2 + }, + { + "date": "2025-03-22", + "value": 6.8 + }, + { + "date": "2025-07-08", + "value": 27.0 + }, + { + "date": "2025-07-22", + "value": 5.4 + }, + { + "date": "2025-09-05", + "value": 18.9 + }, + { + "date": "2025-09-11", + "value": 20.2 + }, + { + "date": "2025-09-17", + "value": 13.5 + }, + { + "date": "2025-09-23", + "value": 14.9 + }, + { + "date": "2025-09-29", + "value": 16.2 + }, + { + "date": "2025-10-06", + "value": 18.9 + }, + { + "date": "2025-10-12", + "value": 10.8 + }, + { + "date": "2025-10-18", + "value": 13.5 + }, + { + "date": "2025-10-24", + "value": 14.9 + }, + { + "date": "2025-10-30", + "value": 14.9 + }, + { + "date": "2025-11-04", + "value": 13.5 + }, + { + "date": "2025-11-10", + "value": 16.2 + }, + { + "date": "2025-11-16", + "value": 16.2 + }, + { + "date": "2025-11-22", + "value": 17.6 + }, + { + "date": "2025-11-28", + "value": 18.9 + }, + { + "date": "2025-12-05", + "value": 13.5 + }, + { + "date": "2025-12-11", + "value": 14.9 + }, + { + "date": "2025-12-17", + "value": 16.2 + }, + { + "date": "2025-12-23", + "value": 17.6 + }, + { + "date": "2025-12-29", + "value": 18.9 + }, + { + "date": "2026-01-06", + "value": 17.6 + }, + { + "date": "2026-01-12", + "value": 18.9 + }, + { + "date": "2026-01-18", + "value": 20.2 + }, + { + "date": "2026-01-24", + "value": 21.6 + }, + { + "date": "2026-01-30", + "value": 14.9 + }, + { + "date": "2026-02-04", + "value": 17.6 + }, + { + "date": "2026-02-10", + "value": 18.9 + }, + { + "date": "2026-02-16", + "value": 20.2 + }, + { + "date": "2026-02-22", + "value": 13.5 + }, + { + "date": "2026-02-28", + "value": 14.9 + }, + { + "date": "2026-03-05", + "value": 17.6 + }, + { + "date": "2026-03-11", + "value": 18.9 + }, + { + "date": "2026-03-17", + "value": 10.8 + }, + { + "date": "2026-03-23", + "value": 13.5 + }, + { + "date": "2026-03-29", + "value": 14.9 + }, + { + "date": "2026-04-06", + "value": 21.6 + }, + { + "date": "2026-04-12", + "value": 13.5 + }, + { + "date": "2026-04-18", + "value": 16.2 + }, + { + "date": "2026-04-24", + "value": 16.2 + }, + { + "date": "2026-04-30", + "value": 17.6 + }, + { + "date": "2026-05-04", + "value": 12.2 + }, + { + "date": "2026-05-10", + "value": 13.5 + }, + { + "date": "2026-05-16", + "value": 14.9 + }, + { + "date": "2026-05-22", + "value": 16.2 + }, + { + "date": "2026-05-28", + "value": 17.6 + } + ], + "monthly": [ + { + "month": "2023-03", + "mean": 20.2, + "median": 20.2, + "p10": 12.7, + "p25": 15.5, + "p75": 25.0, + "p90": 27.8, + "n": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "mean": 56.7, + "median": 56.7, + "p10": 56.7, + "p25": 56.7, + "p75": 56.7, + "p90": 56.7, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "mean": 16.2, + "median": 16.2, + "p10": 9.7, + "p25": 12.2, + "p75": 20.2, + "p90": 22.7, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "mean": 18.9, + "median": 16.2, + "p10": 5.4, + "p25": 9.5, + "p75": 27.0, + "p90": 33.5, + "n": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "mean": 13.5, + "median": 13.5, + "p10": 8.1, + "p25": 10.1, + "p75": 16.9, + "p90": 18.9, + "n": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "mean": 16.2, + "median": 16.2, + "p10": 7.6, + "p25": 10.8, + "p75": 21.6, + "p90": 24.8, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "mean": 16.7, + "median": 16.2, + "p10": 14.0, + "p25": 14.9, + "p75": 18.9, + "p90": 19.7, + "n": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "mean": 14.6, + "median": 14.9, + "p10": 11.9, + "p25": 13.5, + "p75": 14.9, + "p90": 17.3, + "n": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "mean": 16.5, + "median": 16.2, + "p10": 14.6, + "p25": 16.2, + "p75": 17.6, + "p90": 18.4, + "n": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "mean": 16.2, + "median": 16.2, + "p10": 14.0, + "p25": 14.9, + "p75": 17.6, + "p90": 18.4, + "n": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "mean": 18.6, + "median": 18.9, + "p10": 15.9, + "p25": 17.6, + "p75": 20.2, + "p90": 21.1, + "n": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "mean": 17.0, + "median": 17.6, + "p10": 14.0, + "p25": 14.9, + "p75": 18.9, + "p90": 19.7, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "mean": 15.1, + "median": 14.9, + "p10": 11.9, + "p25": 13.5, + "p75": 17.6, + "p90": 18.4, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "mean": 17.0, + "median": 16.2, + "p10": 14.6, + "p25": 16.2, + "p75": 17.6, + "p90": 20.0, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "mean": 14.9, + "median": 14.9, + "p10": 12.7, + "p25": 13.5, + "p75": 16.2, + "p90": 17.0, + "n": 5, + "total_kg_days": 264000.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "direct_ship_pla", + "label": "Direct-to-Customer Ship", + "type": "transit", + "material": "90000300001", + "plant": "PL-A\u2192Customer", + "stats": { + "n": 35, + "mean": 28.2, + "median": 28.4, + "std": 6.2, + "min": 16.2, + "max": 51.3, + "p25": 25.0, + "p75": 31.1, + "p85": 33.6, + "p95": 35.9 + }, + "plifz": null, + "plifz_note": "No planning parameter set", + "pct_exceeding_plifz": null, + "cost": null, + "observations": [ + { + "date": "2023-04-05", + "value": 24.3 + }, + { + "date": "2023-10-12", + "value": 33.8 + }, + { + "date": "2024-04-08", + "value": 16.2 + }, + { + "date": "2024-09-20", + "value": 51.3 + }, + { + "date": "2024-10-15", + "value": 27.0 + }, + { + "date": "2025-03-25", + "value": 20.2 + }, + { + "date": "2025-04-10", + "value": 37.8 + }, + { + "date": "2025-07-30", + "value": 32.4 + }, + { + "date": "2025-09-04", + "value": 23.0 + }, + { + "date": "2025-09-10", + "value": 25.7 + }, + { + "date": "2025-09-16", + "value": 28.4 + }, + { + "date": "2025-10-05", + "value": 23.0 + }, + { + "date": "2025-10-11", + "value": 25.7 + }, + { + "date": "2025-10-17", + "value": 27.0 + }, + { + "date": "2025-11-06", + "value": 29.7 + }, + { + "date": "2025-11-12", + "value": 31.1 + }, + { + "date": "2025-11-18", + "value": 33.8 + }, + { + "date": "2025-12-04", + "value": 28.4 + }, + { + "date": "2025-12-10", + "value": 31.1 + }, + { + "date": "2025-12-16", + "value": 33.8 + }, + { + "date": "2026-01-05", + "value": 28.4 + }, + { + "date": "2026-01-11", + "value": 31.1 + }, + { + "date": "2026-01-17", + "value": 18.9 + }, + { + "date": "2026-02-06", + "value": 35.1 + }, + { + "date": "2026-02-12", + "value": 23.0 + }, + { + "date": "2026-02-18", + "value": 25.7 + }, + { + "date": "2026-03-04", + "value": 20.2 + }, + { + "date": "2026-03-10", + "value": 23.0 + }, + { + "date": "2026-03-16", + "value": 25.7 + }, + { + "date": "2026-04-05", + "value": 27.0 + }, + { + "date": "2026-04-11", + "value": 29.7 + }, + { + "date": "2026-04-17", + "value": 31.1 + }, + { + "date": "2026-05-06", + "value": 27.0 + }, + { + "date": "2026-05-12", + "value": 28.4 + }, + { + "date": "2026-05-18", + "value": 31.1 + } + ], + "monthly": [ + { + "month": "2023-04", + "mean": 24.3, + "median": 24.3, + "p10": 24.3, + "p25": 24.3, + "p75": 24.3, + "p90": 24.3, + "n": 1 + }, + { + "month": "2023-10", + "mean": 33.8, + "median": 33.8, + "p10": 33.8, + "p25": 33.8, + "p75": 33.8, + "p90": 33.8, + "n": 1 + }, + { + "month": "2024-04", + "mean": 16.2, + "median": 16.2, + "p10": 16.2, + "p25": 16.2, + "p75": 16.2, + "p90": 16.2, + "n": 1 + }, + { + "month": "2024-09", + "mean": 51.3, + "median": 51.3, + "p10": 51.3, + "p25": 51.3, + "p75": 51.3, + "p90": 51.3, + "n": 1 + }, + { + "month": "2024-10", + "mean": 27.0, + "median": 27.0, + "p10": 27.0, + "p25": 27.0, + "p75": 27.0, + "p90": 27.0, + "n": 1 + }, + { + "month": "2025-03", + "mean": 20.2, + "median": 20.2, + "p10": 20.2, + "p25": 20.2, + "p75": 20.2, + "p90": 20.2, + "n": 1 + }, + { + "month": "2025-04", + "mean": 37.8, + "median": 37.8, + "p10": 37.8, + "p25": 37.8, + "p75": 37.8, + "p90": 37.8, + "n": 1 + }, + { + "month": "2025-07", + "mean": 32.4, + "median": 32.4, + "p10": 32.4, + "p25": 32.4, + "p75": 32.4, + "p90": 32.4, + "n": 1 + }, + { + "month": "2025-09", + "mean": 25.7, + "median": 25.7, + "p10": 23.5, + "p25": 24.3, + "p75": 27.0, + "p90": 27.8, + "n": 3 + }, + { + "month": "2025-10", + "mean": 25.2, + "median": 25.7, + "p10": 23.5, + "p25": 24.3, + "p75": 26.3, + "p90": 26.7, + "n": 3 + }, + { + "month": "2025-11", + "mean": 31.5, + "median": 31.1, + "p10": 30.0, + "p25": 30.4, + "p75": 32.4, + "p90": 33.2, + "n": 3 + }, + { + "month": "2025-12", + "mean": 31.1, + "median": 31.1, + "p10": 28.9, + "p25": 29.7, + "p75": 32.4, + "p90": 33.2, + "n": 3 + }, + { + "month": "2026-01", + "mean": 26.1, + "median": 28.4, + "p10": 20.8, + "p25": 23.6, + "p75": 29.7, + "p90": 30.5, + "n": 3 + }, + { + "month": "2026-02", + "mean": 27.9, + "median": 25.7, + "p10": 23.5, + "p25": 24.3, + "p75": 30.4, + "p90": 33.2, + "n": 3 + }, + { + "month": "2026-03", + "mean": 23.0, + "median": 23.0, + "p10": 20.8, + "p25": 21.6, + "p75": 24.3, + "p90": 25.1, + "n": 3 + }, + { + "month": "2026-04", + "mean": 29.3, + "median": 29.7, + "p10": 27.5, + "p25": 28.4, + "p75": 30.4, + "p90": 30.8, + "n": 3 + }, + { + "month": "2026-05", + "mean": 28.8, + "median": 28.4, + "p10": 27.3, + "p25": 27.7, + "p75": 29.7, + "p90": 30.5, + "n": 3 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 22.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 22.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "transit_pla_hub1", + "label": "Transit PL-A \u2192 HUB-1", + "type": "transit", + "material": "90000300001", + "plant": "PL-A\u2192HUB-1", + "stats": { + "n": 42, + "mean": 42.3, + "median": 41.2, + "std": 9.6, + "min": 20.2, + "max": 74.2, + "p25": 36.5, + "p75": 48.6, + "p85": 51.3, + "p95": 56.6 + }, + "plifz": 28, + "plifz_note": null, + "pct_exceeding_plifz": 61.9, + "cost": null, + "observations": [ + { + "date": "2022-07-20", + "value": 37.8 + }, + { + "date": "2022-11-30", + "value": 47.2 + }, + { + "date": "2023-03-15", + "value": 29.7 + }, + { + "date": "2023-07-10", + "value": 56.7 + }, + { + "date": "2023-10-25", + "value": 40.5 + }, + { + "date": "2024-02-08", + "value": 74.2 + }, + { + "date": "2024-05-20", + "value": 33.8 + }, + { + "date": "2024-08-12", + "value": 51.3 + }, + { + "date": "2024-11-05", + "value": 20.2 + }, + { + "date": "2025-01-22", + "value": 43.2 + }, + { + "date": "2025-04-10", + "value": 37.8 + }, + { + "date": "2025-06-18", + "value": 60.8 + }, + { + "date": "2025-07-15", + "value": 40.5 + }, + { + "date": "2025-08-05", + "value": 29.7 + }, + { + "date": "2025-09-05", + "value": 48.6 + }, + { + "date": "2025-09-10", + "value": 51.3 + }, + { + "date": "2025-09-11", + "value": 52.7 + }, + { + "date": "2025-09-17", + "value": 35.1 + }, + { + "date": "2025-10-06", + "value": 48.6 + }, + { + "date": "2025-10-12", + "value": 31.1 + }, + { + "date": "2025-10-18", + "value": 35.1 + }, + { + "date": "2025-11-04", + "value": 36.5 + }, + { + "date": "2025-11-10", + "value": 41.9 + }, + { + "date": "2025-11-16", + "value": 44.6 + }, + { + "date": "2025-12-05", + "value": 36.5 + }, + { + "date": "2025-12-11", + "value": 39.2 + }, + { + "date": "2025-12-17", + "value": 43.2 + }, + { + "date": "2026-01-06", + "value": 35.1 + }, + { + "date": "2026-01-12", + "value": 39.2 + }, + { + "date": "2026-01-18", + "value": 41.9 + }, + { + "date": "2026-02-04", + "value": 44.6 + }, + { + "date": "2026-02-10", + "value": 48.6 + }, + { + "date": "2026-02-16", + "value": 52.7 + }, + { + "date": "2026-03-05", + "value": 44.6 + }, + { + "date": "2026-03-11", + "value": 48.6 + }, + { + "date": "2026-03-17", + "value": 31.1 + }, + { + "date": "2026-04-06", + "value": 54.0 + }, + { + "date": "2026-04-12", + "value": 36.5 + }, + { + "date": "2026-04-18", + "value": 41.9 + }, + { + "date": "2026-05-04", + "value": 32.4 + }, + { + "date": "2026-05-10", + "value": 36.5 + }, + { + "date": "2026-05-16", + "value": 39.2 + } + ], + "monthly": [ + { + "month": "2022-07", + "mean": 37.8, + "median": 37.8, + "p10": 37.8, + "p25": 37.8, + "p75": 37.8, + "p90": 37.8, + "n": 1 + }, + { + "month": "2022-11", + "mean": 47.2, + "median": 47.2, + "p10": 47.2, + "p25": 47.2, + "p75": 47.2, + "p90": 47.2, + "n": 1 + }, + { + "month": "2023-03", + "mean": 29.7, + "median": 29.7, + "p10": 29.7, + "p25": 29.7, + "p75": 29.7, + "p90": 29.7, + "n": 1 + }, + { + "month": "2023-07", + "mean": 56.7, + "median": 56.7, + "p10": 56.7, + "p25": 56.7, + "p75": 56.7, + "p90": 56.7, + "n": 1 + }, + { + "month": "2023-10", + "mean": 40.5, + "median": 40.5, + "p10": 40.5, + "p25": 40.5, + "p75": 40.5, + "p90": 40.5, + "n": 1 + }, + { + "month": "2024-02", + "mean": 74.2, + "median": 74.2, + "p10": 74.2, + "p25": 74.2, + "p75": 74.2, + "p90": 74.2, + "n": 1 + }, + { + "month": "2024-05", + "mean": 33.8, + "median": 33.8, + "p10": 33.8, + "p25": 33.8, + "p75": 33.8, + "p90": 33.8, + "n": 1 + }, + { + "month": "2024-08", + "mean": 51.3, + "median": 51.3, + "p10": 51.3, + "p25": 51.3, + "p75": 51.3, + "p90": 51.3, + "n": 1 + }, + { + "month": "2024-11", + "mean": 20.2, + "median": 20.2, + "p10": 20.2, + "p25": 20.2, + "p75": 20.2, + "p90": 20.2, + "n": 1 + }, + { + "month": "2025-01", + "mean": 43.2, + "median": 43.2, + "p10": 43.2, + "p25": 43.2, + "p75": 43.2, + "p90": 43.2, + "n": 1 + }, + { + "month": "2025-04", + "mean": 37.8, + "median": 37.8, + "p10": 37.8, + "p25": 37.8, + "p75": 37.8, + "p90": 37.8, + "n": 1 + }, + { + "month": "2025-06", + "mean": 60.8, + "median": 60.8, + "p10": 60.8, + "p25": 60.8, + "p75": 60.8, + "p90": 60.8, + "n": 1 + }, + { + "month": "2025-07", + "mean": 40.5, + "median": 40.5, + "p10": 40.5, + "p25": 40.5, + "p75": 40.5, + "p90": 40.5, + "n": 1 + }, + { + "month": "2025-08", + "mean": 29.7, + "median": 29.7, + "p10": 29.7, + "p25": 29.7, + "p75": 29.7, + "p90": 29.7, + "n": 1 + }, + { + "month": "2025-09", + "mean": 47.0, + "median": 50.0, + "p10": 39.2, + "p25": 45.2, + "p75": 51.7, + "p90": 52.2, + "n": 4 + }, + { + "month": "2025-10", + "mean": 38.2, + "median": 35.1, + "p10": 31.9, + "p25": 33.1, + "p75": 41.9, + "p90": 45.9, + "n": 3 + }, + { + "month": "2025-11", + "mean": 40.9, + "median": 41.9, + "p10": 37.5, + "p25": 39.2, + "p75": 43.2, + "p90": 44.0, + "n": 3 + }, + { + "month": "2025-12", + "mean": 39.6, + "median": 39.2, + "p10": 37.0, + "p25": 37.8, + "p75": 41.2, + "p90": 42.4, + "n": 3 + }, + { + "month": "2026-01", + "mean": 38.7, + "median": 39.2, + "p10": 35.9, + "p25": 37.1, + "p75": 40.5, + "p90": 41.3, + "n": 3 + }, + { + "month": "2026-02", + "mean": 48.6, + "median": 48.6, + "p10": 45.4, + "p25": 46.6, + "p75": 50.6, + "p90": 51.8, + "n": 3 + }, + { + "month": "2026-03", + "mean": 41.4, + "median": 44.6, + "p10": 33.8, + "p25": 37.8, + "p75": 46.6, + "p90": 47.8, + "n": 3 + }, + { + "month": "2026-04", + "mean": 44.1, + "median": 41.9, + "p10": 37.5, + "p25": 39.2, + "p75": 47.9, + "p90": 51.6, + "n": 3 + }, + { + "month": "2026-05", + "mean": 36.0, + "median": 36.5, + "p10": 33.2, + "p25": 34.4, + "p75": 37.8, + "p90": 38.6, + "n": 3 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "dest_dwell_hub1", + "label": "Destination Dwell (HUB-1)", + "type": "destination_dwell", + "material": "90000300001", + "plant": "HUB-1", + "stats": { + "n": 37, + "mean": 60.8, + "median": 59.4, + "std": 18.9, + "min": 13.5, + "max": 128.2, + "p25": 48.6, + "p75": 66.2, + "p85": 71.6, + "p95": 91.3 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "cost": { + "unit_price": 38.475, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2022-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "n_events": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "n_events": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "n_events": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "n_events": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "n_events": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "n_events": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "n_events": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "n_events": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "n_events": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "n_events": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "n_events": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "n_events": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "n_events": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "n_events": 3, + "total_kg_days": 585600.0 + } + ] + }, + "observations": [ + { + "date": "2022-09-15", + "value": 56.7 + }, + { + "date": "2023-05-05", + "value": 87.8 + }, + { + "date": "2023-05-20", + "value": 37.8 + }, + { + "date": "2024-01-10", + "value": 128.2 + }, + { + "date": "2024-01-25", + "value": 47.2 + }, + { + "date": "2024-08-15", + "value": 13.5 + }, + { + "date": "2025-02-05", + "value": 105.3 + }, + { + "date": "2025-02-18", + "value": 74.2 + }, + { + "date": "2025-08-10", + "value": 56.7 + }, + { + "date": "2025-08-20", + "value": 43.2 + }, + { + "date": "2025-09-06", + "value": 52.7 + }, + { + "date": "2025-09-12", + "value": 56.7 + }, + { + "date": "2025-09-18", + "value": 62.1 + }, + { + "date": "2025-10-04", + "value": 66.2 + }, + { + "date": "2025-10-10", + "value": 71.6 + }, + { + "date": "2025-10-16", + "value": 77.0 + }, + { + "date": "2025-11-05", + "value": 64.8 + }, + { + "date": "2025-11-11", + "value": 70.2 + }, + { + "date": "2025-11-17", + "value": 45.9 + }, + { + "date": "2025-12-06", + "value": 64.8 + }, + { + "date": "2025-12-12", + "value": 40.5 + }, + { + "date": "2025-12-18", + "value": 45.9 + }, + { + "date": "2026-01-04", + "value": 48.6 + }, + { + "date": "2026-01-10", + "value": 55.4 + }, + { + "date": "2026-01-16", + "value": 58.1 + }, + { + "date": "2026-02-05", + "value": 48.6 + }, + { + "date": "2026-02-11", + "value": 52.7 + }, + { + "date": "2026-02-17", + "value": 56.7 + }, + { + "date": "2026-03-06", + "value": 62.1 + }, + { + "date": "2026-03-12", + "value": 66.2 + }, + { + "date": "2026-03-18", + "value": 71.6 + }, + { + "date": "2026-04-04", + "value": 60.8 + }, + { + "date": "2026-04-10", + "value": 64.8 + }, + { + "date": "2026-04-16", + "value": 70.2 + }, + { + "date": "2026-05-05", + "value": 59.4 + }, + { + "date": "2026-05-11", + "value": 64.8 + }, + { + "date": "2026-05-17", + "value": 40.5 + } + ], + "monthly": [ + { + "month": "2022-09", + "mean": 56.7, + "median": 56.7, + "p10": 56.7, + "p25": 56.7, + "p75": 56.7, + "p90": 56.7, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "mean": 62.8, + "median": 62.8, + "p10": 42.8, + "p25": 50.4, + "p75": 75.3, + "p90": 82.8, + "n": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "mean": 87.8, + "median": 87.8, + "p10": 55.4, + "p25": 67.5, + "p75": 108.0, + "p90": 120.2, + "n": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "mean": 13.5, + "median": 13.5, + "p10": 13.5, + "p25": 13.5, + "p75": 13.5, + "p90": 13.5, + "n": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "mean": 89.8, + "median": 89.8, + "p10": 77.4, + "p25": 82.1, + "p75": 97.6, + "p90": 102.2, + "n": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "mean": 50.0, + "median": 50.0, + "p10": 44.6, + "p25": 46.6, + "p75": 53.3, + "p90": 55.4, + "n": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "mean": 57.1, + "median": 56.7, + "p10": 53.5, + "p25": 54.7, + "p75": 59.4, + "p90": 61.0, + "n": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "mean": 71.6, + "median": 71.6, + "p10": 67.2, + "p25": 68.9, + "p75": 74.2, + "p90": 75.9, + "n": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "mean": 60.3, + "median": 64.8, + "p10": 49.7, + "p25": 55.4, + "p75": 67.5, + "p90": 69.1, + "n": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "mean": 50.4, + "median": 45.9, + "p10": 41.6, + "p25": 43.2, + "p75": 55.4, + "p90": 61.0, + "n": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "mean": 54.0, + "median": 55.4, + "p10": 50.0, + "p25": 52.0, + "p75": 56.7, + "p90": 57.5, + "n": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "mean": 52.7, + "median": 52.7, + "p10": 49.4, + "p25": 50.6, + "p75": 54.7, + "p90": 55.9, + "n": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "mean": 66.6, + "median": 66.2, + "p10": 62.9, + "p25": 64.1, + "p75": 68.9, + "p90": 70.5, + "n": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "mean": 65.2, + "median": 64.8, + "p10": 61.6, + "p25": 62.8, + "p75": 67.5, + "p90": 69.1, + "n": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "mean": 54.9, + "median": 59.4, + "p10": 44.3, + "p25": 50.0, + "p75": 62.1, + "p90": 63.7, + "n": 3, + "total_kg_days": 585600.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 45.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 45.0, + "expected_marginal_per_day": 1.0 + } + } + } + ], + "edges": [ + { + "source": "procurement_highland_arabica", + "target": "raw_dwell_highland_arabica", + "label": "101" + }, + { + "source": "procurement_lowland_robusta", + "target": "raw_dwell_lowland_robusta", + "label": "101" + }, + { + "source": "procurement_washed_bourbon", + "target": "raw_dwell_washed_bourbon", + "label": "101" + }, + { + "source": "raw_dwell_highland_arabica", + "target": "prod_duration_green_blend", + "label": "261" + }, + { + "source": "raw_dwell_lowland_robusta", + "target": "prod_duration_green_blend", + "label": "261" + }, + { + "source": "prod_duration_green_blend", + "target": "intermed_dwell_green_blend", + "label": "101" + }, + { + "source": "raw_dwell_washed_bourbon", + "target": "prod_duration_harbor_dark_roast", + "label": "261" + }, + { + "source": "intermed_dwell_green_blend", + "target": "prod_duration_harbor_dark_roast", + "label": "261" + }, + { + "source": "prod_duration_harbor_dark_roast", + "target": "prod_to_qa_pla", + "label": "101" + }, + { + "source": "post_qa_ship_pla", + "target": "direct_ship_pla", + "label": "601" + }, + { + "source": "post_qa_ship_pla", + "target": "transit_pla_hub1", + "label": "641" + }, + { + "source": "transit_pla_hub1", + "target": "dest_dwell_hub1" + }, + { + "source": "prod_to_qa_pla", + "target": "post_qa_ship_pla" + } + ], + "pipeline_summary": { + "direct": { + "label": "Direct to customer", + "stages": [ + { + "id": "seg_proc_to_prodstart", + "label": "Procurement \u2192 Production Start", + "type": "procurement", + "mean": 29.9, + "median": 30, + "pct_of_total": 17.6, + "n": 60 + }, + { + "id": "seg_prodstart_to_prodfinish", + "label": "Production Start \u2192 Production Finish", + "type": "production", + "mean": 99.8, + "median": 101, + "pct_of_total": 58.9, + "n": 60 + }, + { + "id": "seg_prodfinish_to_qa", + "label": "Production Finish \u2192 QA Release", + "type": "qa_hold", + "mean": 6.6, + "median": 7, + "pct_of_total": 3.9, + "n": 60 + }, + { + "id": "seg_qa_to_customer", + "label": "QA Release \u2192 Customer", + "type": "transit", + "mean": 33.2, + "median": 33, + "pct_of_total": 19.6, + "n": 60 + } + ], + "total_mean": 169.5, + "total_median": 171 + }, + "hub-1": { + "label": "HUB-1", + "stages": [ + { + "id": "seg_proc_to_prodstart", + "label": "Procurement \u2192 Production Start", + "type": "procurement", + "mean": 28.4, + "median": 29, + "pct_of_total": 12.8, + "n": 40 + }, + { + "id": "seg_prodstart_to_prodfinish", + "label": "Production Start \u2192 Production Finish", + "type": "production", + "mean": 102.1, + "median": 104, + "pct_of_total": 46.1, + "n": 40 + }, + { + "id": "seg_prodfinish_to_qa", + "label": "Production Finish \u2192 QA Release", + "type": "qa_hold", + "mean": 6.2, + "median": 6, + "pct_of_total": 2.8, + "n": 40 + }, + { + "id": "seg_qa_to_customer", + "label": "QA Release \u2192 Customer", + "type": "transit", + "mean": 84.8, + "median": 88, + "pct_of_total": 38.3, + "n": 40 + } + ], + "total_mean": 221.5, + "total_median": 227 + } + }, + "annotations": [ + { + "date": "2023-09-01", + "label": "Supplier change for Highland Arabica", + "step_ids": ["procurement_highland_arabica", "raw_dwell_highland_arabica"] + }, + { + "date": "2024-01-15", + "label": "QA process revision", + "step_ids": ["qa_hold_pla"] + } + ], + "batch_timelines": { + "batches": [ + { + "batch": "BATCH-007069", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-05-27", + "earliest_gr_date": "2024-05-29", + "earliest_production_start": "2024-07-03", + "fg_receipt_date": "2024-10-28", + "qa_release_date": "2024-11-03", + "ship_date": null, + "delivery_date": "2024-12-10", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 37, + "seg_prodstart_to_prodfinish": 117, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 37, + "total_days": 197, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 94, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 112, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 70, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 39, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 52, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 14, + "direct_ship_pla": 23 + } + }, + "total_from_po": 197 + }, + { + "batch": "BATCH-767678", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-13", + "earliest_gr_date": "2024-07-15", + "earliest_production_start": "2024-07-29", + "fg_receipt_date": "2024-11-05", + "qa_release_date": "2024-11-09", + "ship_date": null, + "delivery_date": "2024-12-15", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 16, + "seg_prodstart_to_prodfinish": 99, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 36, + "total_days": 155, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 14, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 83, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 97, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 55, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 14, + "direct_ship_pla": 22 + } + }, + "total_from_po": 155 + }, + { + "batch": "BATCH-872783", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-25", + "earliest_gr_date": "2024-07-27", + "earliest_production_start": "2024-08-19", + "fg_receipt_date": "2024-11-08", + "qa_release_date": "2024-11-15", + "ship_date": null, + "delivery_date": "2024-12-20", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 81, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 35, + "total_days": 148, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 58, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 78, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 34, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 45, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "direct_ship_pla": 25 + } + }, + "total_from_po": 148 + }, + { + "batch": "BATCH-868247", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-20", + "earliest_gr_date": "2024-07-22", + "earliest_production_start": "2024-08-24", + "fg_receipt_date": "2024-11-10", + "qa_release_date": "2024-11-19", + "ship_date": null, + "delivery_date": "2024-12-26", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 78, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 37, + "total_days": 159, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 14, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 61, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 75, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 17, + "direct_ship_pla": 20 + } + }, + "total_from_po": 159 + }, + { + "batch": "BATCH-775611", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-22", + "earliest_gr_date": "2024-07-24", + "earliest_production_start": "2024-08-19", + "fg_receipt_date": "2024-11-22", + "qa_release_date": "2024-11-30", + "ship_date": null, + "delivery_date": "2024-12-31", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 95, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 31, + "total_days": 162, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 8, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 82, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 90, + "production_days": 8, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 64, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 74, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 68, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 16, + "direct_ship_pla": 15 + } + }, + "total_from_po": 162 + }, + { + "batch": "BATCH-544789", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-08", + "earliest_gr_date": "2024-07-10", + "earliest_production_start": "2024-08-05", + "fg_receipt_date": "2024-12-05", + "qa_release_date": "2024-12-12", + "ship_date": null, + "delivery_date": "2025-01-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 122, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 25, + "total_days": 182, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 24, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 94, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 118, + "production_days": 24, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 7, + "direct_ship_pla": 18 + } + }, + "total_from_po": 182 + }, + { + "batch": "BATCH-447665", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-14", + "earliest_gr_date": "2024-07-16", + "earliest_production_start": "2024-08-19", + "fg_receipt_date": "2024-12-05", + "qa_release_date": "2024-12-11", + "ship_date": null, + "delivery_date": "2025-01-11", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 36, + "seg_prodstart_to_prodfinish": 108, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 31, + "total_days": 181, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 24, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 81, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 24, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 63, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 16, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 63, + "production_days": 16, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 13, + "direct_ship_pla": 18 + } + }, + "total_from_po": 181 + }, + { + "batch": "BATCH-963613", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-24", + "earliest_gr_date": "2024-07-26", + "earliest_production_start": "2024-08-26", + "fg_receipt_date": "2024-12-12", + "qa_release_date": "2024-12-19", + "ship_date": null, + "delivery_date": "2025-01-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 108, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 29, + "total_days": 177, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 83, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 104, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 71, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "direct_ship_pla": 19 + } + }, + "total_from_po": 177 + }, + { + "batch": "BATCH-863299", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-08-05", + "earliest_gr_date": "2024-08-07", + "earliest_production_start": "2024-08-30", + "fg_receipt_date": "2024-12-21", + "qa_release_date": "2024-12-27", + "ship_date": null, + "delivery_date": "2025-01-22", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 26, + "total_days": 170, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 26, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 84, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 110, + "production_days": 26, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 69, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 14 + } + }, + "total_from_po": 170 + }, + { + "batch": "BATCH-528145", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-08-22", + "earliest_gr_date": "2024-08-24", + "earliest_production_start": "2024-09-11", + "fg_receipt_date": "2024-12-24", + "qa_release_date": "2024-12-30", + "ship_date": null, + "delivery_date": "2025-01-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 20, + "seg_prodstart_to_prodfinish": 104, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 29, + "total_days": 159, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 12, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 90, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 102, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 58, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 17 + } + }, + "total_from_po": 159 + }, + { + "batch": "BATCH-242499", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-08-17", + "earliest_gr_date": "2024-08-19", + "earliest_production_start": "2024-09-16", + "fg_receipt_date": "2024-12-26", + "qa_release_date": "2024-12-31", + "ship_date": null, + "delivery_date": "2025-02-02", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 101, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 33, + "total_days": 169, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 77, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 11, + "direct_ship_pla": 22 + } + }, + "total_from_po": 169 + }, + { + "batch": "BATCH-576635", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-29", + "earliest_gr_date": "2024-10-01", + "earliest_production_start": "2024-10-26", + "fg_receipt_date": "2024-12-31", + "qa_release_date": "2025-01-07", + "ship_date": null, + "delivery_date": "2025-02-08", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 27, + "seg_prodstart_to_prodfinish": 66, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 32, + "total_days": 132, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 47, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 64, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 57, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 8, + "direct_ship_pla": 24 + } + }, + "total_from_po": 132 + }, + { + "batch": "BATCH-221460", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-24", + "earliest_gr_date": "2024-07-26", + "earliest_production_start": "2024-08-28", + "fg_receipt_date": "2025-01-01", + "qa_release_date": "2025-01-08", + "ship_date": null, + "delivery_date": "2025-02-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 126, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 36, + "total_days": 204, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 99, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 120, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 66, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 78, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 6, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 13, + "direct_ship_pla": 23 + } + }, + "total_from_po": 204 + }, + { + "batch": "BATCH-666578", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-10", + "earliest_gr_date": "2024-09-12", + "earliest_production_start": "2024-10-06", + "fg_receipt_date": "2025-01-10", + "qa_release_date": "2025-01-18", + "ship_date": null, + "delivery_date": "2025-02-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 96, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 31, + "total_days": 161, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 11, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 82, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 63, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 9, + "direct_ship_pla": 22 + } + }, + "total_from_po": 161 + }, + { + "batch": "BATCH-208118", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-05", + "earliest_gr_date": "2024-09-07", + "earliest_production_start": "2024-10-19", + "fg_receipt_date": "2025-01-11", + "qa_release_date": "2025-01-19", + "ship_date": null, + "delivery_date": "2025-02-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 44, + "seg_prodstart_to_prodfinish": 84, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 36, + "total_days": 172, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 51, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 67, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 69, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 82, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 7, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 31, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 38, + "production_days": 7, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 15, + "direct_ship_pla": 21 + } + }, + "total_from_po": 172 + }, + { + "batch": "BATCH-458243", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-05", + "earliest_gr_date": "2024-09-07", + "earliest_production_start": "2024-10-04", + "fg_receipt_date": "2025-01-22", + "qa_release_date": "2025-01-29", + "ship_date": null, + "delivery_date": "2025-03-01", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 31, + "total_days": 177, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 106, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 69, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 9, + "direct_ship_pla": 22 + } + }, + "total_from_po": 177 + }, + { + "batch": "BATCH-207730", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-16", + "earliest_gr_date": "2024-09-18", + "earliest_production_start": "2024-10-14", + "fg_receipt_date": "2025-01-18", + "qa_release_date": "2025-01-22", + "ship_date": null, + "delivery_date": "2025-03-07", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 96, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 44, + "total_days": 172, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 77, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 92, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 74, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 8, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 68, + "production_days": 8, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 16, + "direct_ship_pla": 28 + } + }, + "total_from_po": 172 + }, + { + "batch": "BATCH-033995", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-08-27", + "earliest_gr_date": "2024-08-29", + "earliest_production_start": "2024-09-30", + "fg_receipt_date": "2025-01-22", + "qa_release_date": "2025-01-30", + "ship_date": null, + "delivery_date": "2025-03-12", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 34, + "seg_prodstart_to_prodfinish": 114, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 41, + "total_days": 197, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 93, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 111, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 18, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 70, + "production_days": 18, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 17, + "direct_ship_pla": 24 + } + }, + "total_from_po": 197 + }, + { + "batch": "BATCH-559161", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-10", + "earliest_gr_date": "2024-09-12", + "earliest_production_start": "2024-10-16", + "fg_receipt_date": "2025-02-14", + "qa_release_date": "2025-02-19", + "ship_date": null, + "delivery_date": "2025-03-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 36, + "seg_prodstart_to_prodfinish": 121, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 27, + "total_days": 189, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 99, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 117, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 73, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 15, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 15, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 10, + "direct_ship_pla": 17 + } + }, + "total_from_po": 189 + }, + { + "batch": "BATCH-043249", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-28", + "earliest_gr_date": "2024-09-30", + "earliest_production_start": "2024-10-27", + "fg_receipt_date": "2025-02-12", + "qa_release_date": "2025-02-15", + "ship_date": null, + "delivery_date": "2025-03-23", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 108, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 36, + "total_days": 176, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 86, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 36, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 50, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 12, + "direct_ship_pla": 24 + } + }, + "total_from_po": 176 + }, + { + "batch": "BATCH-876661", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-10-05", + "earliest_gr_date": "2024-10-07", + "earliest_production_start": "2024-11-06", + "fg_receipt_date": "2025-02-04", + "qa_release_date": "2025-02-11", + "ship_date": null, + "delivery_date": "2025-03-29", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 32, + "seg_prodstart_to_prodfinish": 90, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 46, + "total_days": 175, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 13, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 73, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 86, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 15, + "direct_ship_pla": 31 + } + }, + "total_from_po": 175 + }, + { + "batch": "BATCH-758211", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-24", + "earliest_gr_date": "2024-09-26", + "earliest_production_start": "2024-10-24", + "fg_receipt_date": "2025-02-22", + "qa_release_date": "2025-03-01", + "ship_date": null, + "delivery_date": "2025-04-03", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 121, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 33, + "total_days": 191, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 100, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 117, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "direct_ship_pla": 23 + } + }, + "total_from_po": 191 + }, + { + "batch": "BATCH-198568", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-10-07", + "earliest_gr_date": "2024-10-09", + "earliest_production_start": "2024-10-29", + "fg_receipt_date": "2025-02-21", + "qa_release_date": "2025-03-02", + "ship_date": null, + "delivery_date": "2025-04-09", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 22, + "seg_prodstart_to_prodfinish": 115, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 38, + "total_days": 184, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 89, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 110, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 64, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 79, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 78, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 91, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 13, + "direct_ship_pla": 25 + } + }, + "total_from_po": 184 + }, + { + "batch": "BATCH-499114", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-20", + "earliest_gr_date": "2024-11-22", + "earliest_production_start": "2024-12-17", + "fg_receipt_date": "2025-03-05", + "qa_release_date": "2025-03-14", + "ship_date": null, + "delivery_date": "2025-04-14", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 27, + "seg_prodstart_to_prodfinish": 78, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 31, + "total_days": 145, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 52, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 70, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 33, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 44, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 16, + "direct_ship_pla": 15 + } + }, + "total_from_po": 145 + }, + { + "batch": "BATCH-947566", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-10-15", + "earliest_gr_date": "2024-10-17", + "earliest_production_start": "2024-11-17", + "fg_receipt_date": "2025-03-07", + "qa_release_date": "2025-03-10", + "ship_date": null, + "delivery_date": "2025-04-19", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 40, + "total_days": 186, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 86, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 104, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 62, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 6, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 14, + "direct_ship_pla": 26 + } + }, + "total_from_po": 186 + }, + { + "batch": "BATCH-154390", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-10-25", + "earliest_gr_date": "2024-10-27", + "earliest_production_start": "2024-11-27", + "fg_receipt_date": "2025-03-10", + "qa_release_date": "2025-03-16", + "ship_date": null, + "delivery_date": "2025-04-25", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 103, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 40, + "total_days": 182, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 22, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 77, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 99, + "production_days": 22, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 67, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 82, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 44, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 57, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 28 + } + }, + "total_from_po": 182 + }, + { + "batch": "BATCH-557064", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-01", + "earliest_gr_date": "2024-12-03", + "earliest_production_start": "2025-01-02", + "fg_receipt_date": "2025-03-29", + "qa_release_date": "2025-04-05", + "ship_date": null, + "delivery_date": "2025-04-30", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 32, + "seg_prodstart_to_prodfinish": 86, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 25, + "total_days": 150, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 64, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 82, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 60, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 8, + "direct_ship_pla": 17 + } + }, + "total_from_po": 150 + }, + { + "batch": "BATCH-307333", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-17", + "earliest_gr_date": "2024-11-19", + "earliest_production_start": "2024-12-15", + "fg_receipt_date": "2025-03-27", + "qa_release_date": "2025-04-04", + "ship_date": null, + "delivery_date": "2025-05-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 102, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 32, + "total_days": 170, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 81, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 73, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 88, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 36, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 49, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 16, + "direct_ship_pla": 16 + } + }, + "total_from_po": 170 + }, + { + "batch": "BATCH-891817", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-02", + "earliest_gr_date": "2024-12-04", + "earliest_production_start": "2024-12-16", + "fg_receipt_date": "2025-03-30", + "qa_release_date": "2025-04-07", + "ship_date": null, + "delivery_date": "2025-05-11", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 14, + "seg_prodstart_to_prodfinish": 104, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 34, + "total_days": 160, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 82, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 100, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 62, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 65, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 76, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 9, + "direct_ship_pla": 25 + } + }, + "total_from_po": 160 + }, + { + "batch": "BATCH-852390", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-24", + "earliest_gr_date": "2024-11-26", + "earliest_production_start": "2024-12-29", + "fg_receipt_date": "2025-03-29", + "qa_release_date": "2025-04-06", + "ship_date": null, + "delivery_date": "2025-05-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 90, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 41, + "total_days": 174, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 70, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 86, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 37, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 52, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 14, + "direct_ship_pla": 27 + } + }, + "total_from_po": 174 + }, + { + "batch": "BATCH-412722", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-31", + "earliest_gr_date": "2025-01-02", + "earliest_production_start": "2025-01-21", + "fg_receipt_date": "2025-04-15", + "qa_release_date": "2025-04-20", + "ship_date": null, + "delivery_date": "2025-05-22", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 21, + "seg_prodstart_to_prodfinish": 84, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 32, + "total_days": 142, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 49, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 70, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 64, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 81, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 56, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 9, + "direct_ship_pla": 23 + } + }, + "total_from_po": 142 + }, + { + "batch": "BATCH-357156", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-08", + "earliest_gr_date": "2024-11-10", + "earliest_production_start": "2024-12-13", + "fg_receipt_date": "2025-04-05", + "qa_release_date": "2025-04-13", + "ship_date": null, + "delivery_date": "2025-05-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 45, + "total_days": 201, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 89, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 110, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 72, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 83, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 60, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 14, + "direct_ship_pla": 31 + } + }, + "total_from_po": 201 + }, + { + "batch": "BATCH-851698", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-04", + "earliest_gr_date": "2025-01-06", + "earliest_production_start": "2025-02-06", + "fg_receipt_date": "2025-04-22", + "qa_release_date": "2025-04-30", + "ship_date": null, + "delivery_date": "2025-06-02", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 75, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 33, + "total_days": 149, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 52, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 71, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 41, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 54, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 72, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 7, + "direct_ship_pla": 26 + } + }, + "total_from_po": 149 + }, + { + "batch": "BATCH-440021", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-29", + "earliest_gr_date": "2024-12-31", + "earliest_production_start": "2025-01-31", + "fg_receipt_date": "2025-05-05", + "qa_release_date": "2025-05-13", + "ship_date": null, + "delivery_date": "2025-06-08", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 94, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 26, + "total_days": 161, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 12, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 81, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 78, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 91, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 40, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 52, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 12, + "direct_ship_pla": 14 + } + }, + "total_from_po": 161 + }, + { + "batch": "BATCH-546123", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-20", + "earliest_gr_date": "2024-12-22", + "earliest_production_start": "2025-01-18", + "fg_receipt_date": "2025-05-08", + "qa_release_date": "2025-05-15", + "ship_date": null, + "delivery_date": "2025-06-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 29, + "total_days": 175, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 89, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 106, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 63, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 78, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 15, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 64, + "production_days": 15, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 11, + "direct_ship_pla": 18 + } + }, + "total_from_po": 175 + }, + { + "batch": "BATCH-990560", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-29", + "earliest_gr_date": "2024-12-01", + "earliest_production_start": "2025-01-08", + "fg_receipt_date": "2025-05-16", + "qa_release_date": "2025-05-24", + "ship_date": null, + "delivery_date": "2025-06-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 40, + "seg_prodstart_to_prodfinish": 128, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 25, + "total_days": 201, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 109, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 125, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 62, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 38, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 49, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 8, + "direct_ship_pla": 17 + } + }, + "total_from_po": 201 + }, + { + "batch": "BATCH-386297", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-03", + "earliest_gr_date": "2025-01-05", + "earliest_production_start": "2025-01-29", + "fg_receipt_date": "2025-05-19", + "qa_release_date": "2025-05-26", + "ship_date": null, + "delivery_date": "2025-06-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 29, + "total_days": 172, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 88, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 39, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 50, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 70, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 14, + "direct_ship_pla": 15 + } + }, + "total_from_po": 172 + }, + { + "batch": "BATCH-947389", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-21", + "earliest_gr_date": "2025-01-23", + "earliest_production_start": "2025-02-19", + "fg_receipt_date": "2025-05-31", + "qa_release_date": "2025-06-06", + "ship_date": null, + "delivery_date": "2025-06-29", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 101, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 23, + "total_days": 159, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 81, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 16, + "direct_ship_pla": 7 + } + }, + "total_from_po": 159 + }, + { + "batch": "BATCH-627234", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-26", + "earliest_gr_date": "2025-01-28", + "earliest_production_start": "2025-02-21", + "fg_receipt_date": "2025-05-29", + "qa_release_date": "2025-06-01", + "ship_date": null, + "delivery_date": "2025-07-05", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 34, + "total_days": 160, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 76, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 95, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 67, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 53, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 11, + "direct_ship_pla": 23 + } + }, + "total_from_po": 160 + }, + { + "batch": "BATCH-829707", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-14", + "earliest_gr_date": "2025-01-16", + "earliest_production_start": "2025-02-21", + "fg_receipt_date": "2025-06-01", + "qa_release_date": "2025-06-09", + "ship_date": null, + "delivery_date": "2025-07-10", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 38, + "seg_prodstart_to_prodfinish": 100, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 31, + "total_days": 177, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 80, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 97, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 63, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 30, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 42, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 9, + "direct_ship_pla": 22 + } + }, + "total_from_po": 177 + }, + { + "batch": "BATCH-404324", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-22", + "earliest_gr_date": "2025-02-24", + "earliest_production_start": "2025-03-24", + "fg_receipt_date": "2025-06-18", + "qa_release_date": "2025-06-27", + "ship_date": null, + "delivery_date": "2025-07-16", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 86, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 19, + "total_days": 144, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 65, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 83, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 69, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 9, + "direct_ship_pla": 10 + } + }, + "total_from_po": 144 + }, + { + "batch": "BATCH-840018", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-10", + "earliest_gr_date": "2025-02-12", + "earliest_production_start": "2025-03-15", + "fg_receipt_date": "2025-06-17", + "qa_release_date": "2025-06-21", + "ship_date": null, + "delivery_date": "2025-07-21", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 94, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 30, + "total_days": 161, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 90, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 64, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 77, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 16, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 69, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 85, + "production_days": 16, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 12, + "direct_ship_pla": 18 + } + }, + "total_from_po": 161 + }, + { + "batch": "BATCH-243511", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-11", + "earliest_gr_date": "2025-01-13", + "earliest_production_start": "2025-02-13", + "fg_receipt_date": "2025-06-13", + "qa_release_date": "2025-06-22", + "ship_date": null, + "delivery_date": "2025-07-27", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 120, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 35, + "total_days": 197, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 100, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 116, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 40, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 53, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 69, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 11, + "direct_ship_pla": 24 + } + }, + "total_from_po": 197 + }, + { + "batch": "BATCH-394495", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-07", + "earliest_gr_date": "2025-02-09", + "earliest_production_start": "2025-03-14", + "fg_receipt_date": "2025-06-24", + "qa_release_date": "2025-07-02", + "ship_date": null, + "delivery_date": "2025-08-01", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 102, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 30, + "total_days": 175, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 12, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 99, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 69, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 9, + "direct_ship_pla": 21 + } + }, + "total_from_po": 175 + }, + { + "batch": "BATCH-043032", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-15", + "earliest_gr_date": "2025-02-17", + "earliest_production_start": "2025-03-11", + "fg_receipt_date": "2025-06-29", + "qa_release_date": "2025-07-05", + "ship_date": null, + "delivery_date": "2025-08-07", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 24, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 33, + "total_days": 173, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 8, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 97, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 8, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 19, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 63, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 82, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 30, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 41, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 10, + "direct_ship_pla": 23 + } + }, + "total_from_po": 173 + }, + { + "batch": "BATCH-582158", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-26", + "earliest_gr_date": "2025-02-28", + "earliest_production_start": "2025-03-23", + "fg_receipt_date": "2025-06-28", + "qa_release_date": "2025-07-05", + "ship_date": null, + "delivery_date": "2025-08-12", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 38, + "total_days": 167, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 76, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 95, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 70, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 53, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 15, + "direct_ship_pla": 23 + } + }, + "total_from_po": 167 + }, + { + "batch": "BATCH-302264", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-03-30", + "earliest_gr_date": "2025-04-01", + "earliest_production_start": "2025-04-24", + "fg_receipt_date": "2025-07-16", + "qa_release_date": "2025-07-24", + "ship_date": null, + "delivery_date": "2025-08-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 83, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 24, + "total_days": 140, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 59, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 77, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 9, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 59, + "production_days": 9, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 63, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 6, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 16, + "direct_ship_pla": 8 + } + }, + "total_from_po": 140 + }, + { + "batch": "BATCH-240076", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-03-25", + "earliest_gr_date": "2025-03-27", + "earliest_production_start": "2025-04-09", + "fg_receipt_date": "2025-07-14", + "qa_release_date": "2025-07-21", + "ship_date": null, + "delivery_date": "2025-08-23", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 15, + "seg_prodstart_to_prodfinish": 96, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 33, + "total_days": 151, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 76, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 94, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 11, + "direct_ship_pla": 22 + } + }, + "total_from_po": 151 + }, + { + "batch": "BATCH-804779", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-20", + "earliest_gr_date": "2025-02-22", + "earliest_production_start": "2025-03-22", + "fg_receipt_date": "2025-07-05", + "qa_release_date": "2025-07-12", + "ship_date": null, + "delivery_date": "2025-08-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 105, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 47, + "total_days": 189, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 84, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 100, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 9, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 69, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 78, + "production_days": 9, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 12, + "direct_ship_pla": 35 + } + }, + "total_from_po": 189 + }, + { + "batch": "BATCH-731192", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-03-15", + "earliest_gr_date": "2025-03-17", + "earliest_production_start": "2025-04-23", + "fg_receipt_date": "2025-07-22", + "qa_release_date": "2025-07-27", + "ship_date": null, + "delivery_date": "2025-09-03", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 39, + "seg_prodstart_to_prodfinish": 90, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 38, + "total_days": 172, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 73, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 88, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 65, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 11, + "direct_ship_pla": 27 + } + }, + "total_from_po": 172 + }, + { + "batch": "BATCH-482639", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-21", + "earliest_gr_date": "2025-02-23", + "earliest_production_start": "2025-03-30", + "fg_receipt_date": "2025-07-17", + "qa_release_date": "2025-07-24", + "ship_date": null, + "delivery_date": "2025-09-08", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 37, + "seg_prodstart_to_prodfinish": 109, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 46, + "total_days": 199, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 59, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 19, + "direct_ship_pla": 27 + } + }, + "total_from_po": 199 + }, + { + "batch": "BATCH-062870", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-01", + "earliest_gr_date": "2025-04-03", + "earliest_production_start": "2025-05-04", + "fg_receipt_date": "2025-08-01", + "qa_release_date": "2025-08-07", + "ship_date": null, + "delivery_date": "2025-09-14", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 89, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 38, + "total_days": 166, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 67, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 87, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 63, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 26 + } + }, + "total_from_po": 166 + }, + { + "batch": "BATCH-231165", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-05", + "earliest_gr_date": "2025-05-07", + "earliest_production_start": "2025-06-09", + "fg_receipt_date": "2025-08-16", + "qa_release_date": "2025-08-22", + "ship_date": null, + "delivery_date": "2025-09-19", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 68, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 28, + "total_days": 137, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 43, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 63, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 62, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 64, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 14, + "direct_ship_pla": 14 + } + }, + "total_from_po": 137 + }, + { + "batch": "BATCH-213839", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-14", + "earliest_gr_date": "2025-04-16", + "earliest_production_start": "2025-05-04", + "fg_receipt_date": "2025-08-23", + "qa_release_date": "2025-08-27", + "ship_date": null, + "delivery_date": "2025-09-25", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 20, + "seg_prodstart_to_prodfinish": 111, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 29, + "total_days": 164, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 107, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 37, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 47, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 32, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 45, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 11, + "direct_ship_pla": 18 + } + }, + "total_from_po": 164 + }, + { + "batch": "BATCH-750018", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-11", + "earliest_gr_date": "2025-05-13", + "earliest_production_start": "2025-06-05", + "fg_receipt_date": "2025-08-31", + "qa_release_date": "2025-09-06", + "ship_date": null, + "delivery_date": "2025-09-30", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 87, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 24, + "total_days": 142, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 85, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 6, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 66, + "production_days": 6, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 7, + "direct_ship_pla": 17 + } + }, + "total_from_po": 142 + }, + { + "batch": "BATCH-880539", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-20", + "earliest_gr_date": "2025-04-22", + "earliest_production_start": "2025-05-26", + "fg_receipt_date": "2025-08-19", + "qa_release_date": "2025-08-26", + "ship_date": null, + "delivery_date": "2025-10-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 36, + "seg_prodstart_to_prodfinish": 85, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 41, + "total_days": 169, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 14, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 68, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 82, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 63, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 8, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 36, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 44, + "production_days": 8, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 13, + "direct_ship_pla": 28 + } + }, + "total_from_po": 169 + }, + { + "batch": "BATCH-155177", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-02", + "earliest_gr_date": "2025-05-04", + "earliest_production_start": "2025-06-18", + "fg_receipt_date": "2025-09-10", + "qa_release_date": "2025-09-16", + "ship_date": null, + "delivery_date": "2025-10-11", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 47, + "seg_prodstart_to_prodfinish": 84, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 25, + "total_days": 162, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 13, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 66, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 79, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 72, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 10, + "direct_ship_pla": 15 + } + }, + "total_from_po": 162 + }, + { + "batch": "BATCH-993261", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-29", + "earliest_gr_date": "2025-05-01", + "earliest_production_start": "2025-05-24", + "fg_receipt_date": "2025-08-30", + "qa_release_date": "2025-09-04", + "ship_date": null, + "delivery_date": "2025-10-16", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 98, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 42, + "total_days": 170, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 79, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 95, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 72, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 65, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 77, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 11, + "direct_ship_pla": 31 + } + }, + "total_from_po": 170 + }, + { + "batch": "BATCH-753433", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-27", + "earliest_gr_date": "2025-05-29", + "earliest_production_start": "2025-06-13", + "fg_receipt_date": "2025-09-23", + "qa_release_date": "2025-09-29", + "ship_date": null, + "delivery_date": "2025-10-22", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 17, + "seg_prodstart_to_prodfinish": 102, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 23, + "total_days": 148, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 11, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 41, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 50, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 8, + "direct_ship_pla": 15 + } + }, + "total_from_po": 148 + }, + { + "batch": "BATCH-476897", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-21", + "earliest_gr_date": "2025-04-23", + "earliest_production_start": "2025-05-24", + "fg_receipt_date": "2025-09-14", + "qa_release_date": "2025-09-20", + "ship_date": null, + "delivery_date": "2025-10-27", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 37, + "total_days": 189, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 93, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 109, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 74, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 25 + } + }, + "total_from_po": 189 + }, + { + "batch": "BATCH-521582", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-03-25", + "earliest_gr_date": "2025-03-27", + "earliest_production_start": "2025-04-09", + "fg_receipt_date": "2025-07-18", + "qa_release_date": "2025-07-27", + "ship_date": null, + "delivery_date": "2025-11-02", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 15, + "seg_prodstart_to_prodfinish": 100, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 98, + "total_days": 222, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 79, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 97, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 70, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 80, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 59, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 14, + "transit_pla_hub1": 43, + "dest_dwell_hub1": 41 + } + }, + "total_from_po": 222 + }, + { + "batch": "BATCH-281803", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-14", + "earliest_gr_date": "2025-04-16", + "earliest_production_start": "2025-05-07", + "fg_receipt_date": "2025-07-28", + "qa_release_date": "2025-08-01", + "ship_date": null, + "delivery_date": "2025-11-07", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 23, + "seg_prodstart_to_prodfinish": 82, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 98, + "total_days": 207, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 64, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 79, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 32, + "dest_dwell_hub1": 56 + } + }, + "total_from_po": 207 + }, + { + "batch": "BATCH-276962", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-05", + "earliest_gr_date": "2025-04-07", + "earliest_production_start": "2025-05-05", + "fg_receipt_date": "2025-08-17", + "qa_release_date": "2025-08-26", + "ship_date": null, + "delivery_date": "2025-11-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 104, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 79, + "total_days": 222, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 80, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 101, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 9, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 9, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 16, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 69, + "production_days": 16, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 12, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 38 + } + }, + "total_from_po": 222 + }, + { + "batch": "BATCH-217426", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-15", + "earliest_gr_date": "2025-04-17", + "earliest_production_start": "2025-05-16", + "fg_receipt_date": "2025-08-24", + "qa_release_date": "2025-09-03", + "ship_date": null, + "delivery_date": "2025-11-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 31, + "seg_prodstart_to_prodfinish": 100, + "seg_prodfinish_to_qa": 10, + "seg_qa_to_customer": 76, + "total_days": 217, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 25, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 72, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 97, + "production_days": 25, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 15, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 15, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 10, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 18, + "dest_dwell_hub1": 45 + } + }, + "total_from_po": 217 + }, + { + "batch": "BATCH-679445", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-01", + "earliest_gr_date": "2025-05-03", + "earliest_production_start": "2025-06-03", + "fg_receipt_date": "2025-08-19", + "qa_release_date": "2025-08-27", + "ship_date": null, + "delivery_date": "2025-11-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 77, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 89, + "total_days": 207, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 13, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 62, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 75, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 40, + "dest_dwell_hub1": 36 + } + }, + "total_from_po": 207 + }, + { + "batch": "BATCH-584703", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-19", + "earliest_gr_date": "2025-04-21", + "earliest_production_start": "2025-05-16", + "fg_receipt_date": "2025-09-06", + "qa_release_date": "2025-09-13", + "ship_date": null, + "delivery_date": "2025-11-29", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 27, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 77, + "total_days": 224, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 92, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 60, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 57, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 19, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 29 + } + }, + "total_from_po": 224 + }, + { + "batch": "BATCH-320907", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-03", + "earliest_gr_date": "2025-05-05", + "earliest_production_start": "2025-06-01", + "fg_receipt_date": "2025-08-12", + "qa_release_date": "2025-08-21", + "ship_date": null, + "delivery_date": "2025-12-05", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 72, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 106, + "total_days": 216, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 54, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 69, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 9, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 65, + "production_days": 9, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 17, + "transit_pla_hub1": 42, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 216 + }, + { + "batch": "BATCH-469894", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-09", + "earliest_gr_date": "2025-04-11", + "earliest_production_start": "2025-05-12", + "fg_receipt_date": "2025-08-29", + "qa_release_date": "2025-09-05", + "ship_date": null, + "delivery_date": "2025-12-10", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 109, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 96, + "total_days": 245, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 89, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 45, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 56, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 38, + "dest_dwell_hub1": 48 + } + }, + "total_from_po": 245 + }, + { + "batch": "BATCH-119167", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-10", + "earliest_gr_date": "2025-05-12", + "earliest_production_start": "2025-05-30", + "fg_receipt_date": "2025-09-19", + "qa_release_date": "2025-09-26", + "ship_date": null, + "delivery_date": "2025-12-15", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 20, + "seg_prodstart_to_prodfinish": 112, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 80, + "total_days": 219, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 13, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 95, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 74, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 44 + } + }, + "total_from_po": 219 + }, + { + "batch": "BATCH-850977", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-17", + "earliest_gr_date": "2025-05-19", + "earliest_production_start": "2025-06-14", + "fg_receipt_date": "2025-09-25", + "qa_release_date": "2025-10-01", + "ship_date": null, + "delivery_date": "2025-12-21", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 103, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 81, + "total_days": 218, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 82, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 99, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 32, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 42, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 59, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 39 + } + }, + "total_from_po": 218 + }, + { + "batch": "BATCH-315004", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-21", + "earliest_gr_date": "2025-06-23", + "earliest_production_start": "2025-07-27", + "fg_receipt_date": "2025-10-06", + "qa_release_date": "2025-10-14", + "ship_date": null, + "delivery_date": "2025-12-26", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 36, + "seg_prodstart_to_prodfinish": 71, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 73, + "total_days": 188, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 14, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 49, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 63, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 67, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 40, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 22, + "dest_dwell_hub1": 38 + } + }, + "total_from_po": 188 + }, + { + "batch": "BATCH-753733", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-04", + "earliest_gr_date": "2025-06-06", + "earliest_production_start": "2025-07-04", + "fg_receipt_date": "2025-09-25", + "qa_release_date": "2025-09-28", + "ship_date": null, + "delivery_date": "2026-01-01", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 83, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 95, + "total_days": 211, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 64, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 80, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 67, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 81, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 15, + "transit_pla_hub1": 28, + "dest_dwell_hub1": 52 + } + }, + "total_from_po": 211 + }, + { + "batch": "BATCH-006984", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-29", + "earliest_gr_date": "2025-05-31", + "earliest_production_start": "2025-06-15", + "fg_receipt_date": "2025-09-20", + "qa_release_date": "2025-09-27", + "ship_date": null, + "delivery_date": "2026-01-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 17, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 101, + "total_days": 222, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 25, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 94, + "production_days": 25, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 31, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 45, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 62, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 75, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 42, + "dest_dwell_hub1": 49 + } + }, + "total_from_po": 222 + }, + { + "batch": "BATCH-962763", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-04", + "earliest_gr_date": "2025-06-06", + "earliest_production_start": "2025-07-06", + "fg_receipt_date": "2025-10-26", + "qa_release_date": "2025-11-02", + "ship_date": null, + "delivery_date": "2026-01-12", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 32, + "seg_prodstart_to_prodfinish": 112, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 71, + "total_days": 222, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 92, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 69, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 15, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 15, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 35 + } + }, + "total_from_po": 222 + }, + { + "batch": "BATCH-885445", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-04", + "earliest_gr_date": "2025-06-06", + "earliest_production_start": "2025-06-29", + "fg_receipt_date": "2025-10-03", + "qa_release_date": "2025-10-04", + "ship_date": null, + "delivery_date": "2026-01-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 96, + "seg_prodfinish_to_qa": 1, + "seg_qa_to_customer": 105, + "total_days": 227, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 78, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 71, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 1, + "post_qa_ship_pla": 17, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 63 + } + }, + "total_from_po": 227 + }, + { + "batch": "BATCH-622159", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-31", + "earliest_gr_date": "2025-06-02", + "earliest_production_start": "2025-06-26", + "fg_receipt_date": "2025-10-17", + "qa_release_date": "2025-10-23", + "ship_date": null, + "delivery_date": "2026-01-23", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 92, + "total_days": 237, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 91, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 111, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 62, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 78, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 70, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 17, + "transit_pla_hub1": 28, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 237 + }, + { + "batch": "BATCH-990714", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-03", + "earliest_gr_date": "2025-06-05", + "earliest_production_start": "2025-07-02", + "fg_receipt_date": "2025-10-14", + "qa_release_date": "2025-10-18", + "ship_date": null, + "delivery_date": "2026-01-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 104, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 102, + "total_days": 239, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 84, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 100, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 55, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 15, + "transit_pla_hub1": 39, + "dest_dwell_hub1": 48 + } + }, + "total_from_po": 239 + }, + { + "batch": "BATCH-479016", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-14", + "earliest_gr_date": "2025-06-16", + "earliest_production_start": "2025-07-18", + "fg_receipt_date": "2025-11-13", + "qa_release_date": "2025-11-19", + "ship_date": null, + "delivery_date": "2026-02-03", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 34, + "seg_prodstart_to_prodfinish": 118, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 76, + "total_days": 234, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 96, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 114, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 64, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "transit_pla_hub1": 30, + "dest_dwell_hub1": 34 + } + }, + "total_from_po": 234 + }, + { + "batch": "BATCH-080863", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-26", + "earliest_gr_date": "2025-06-28", + "earliest_production_start": "2025-07-18", + "fg_receipt_date": "2025-11-08", + "qa_release_date": "2025-11-12", + "ship_date": null, + "delivery_date": "2026-02-08", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 22, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 88, + "total_days": 227, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 86, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 107, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 66, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 80, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 8, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 51, + "production_days": 8, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 6, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 28, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 227 + }, + { + "batch": "BATCH-910231", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-07-05", + "earliest_gr_date": "2025-07-07", + "earliest_production_start": "2025-08-11", + "fg_receipt_date": "2025-11-08", + "qa_release_date": "2025-11-16", + "ship_date": null, + "delivery_date": "2026-02-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 37, + "seg_prodstart_to_prodfinish": 89, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 89, + "total_days": 223, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 84, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 75, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 86, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 66, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 80, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 223 + }, + { + "batch": "BATCH-997425", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-07", + "earliest_gr_date": "2025-08-09", + "earliest_production_start": "2025-09-06", + "fg_receipt_date": "2025-12-04", + "qa_release_date": "2025-12-12", + "ship_date": null, + "delivery_date": "2026-02-19", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 89, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 69, + "total_days": 196, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 70, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 86, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 70, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 24, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 37, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 8, + "transit_pla_hub1": 31, + "dest_dwell_hub1": 30 + } + }, + "total_from_po": 196 + }, + { + "batch": "BATCH-618940", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-19", + "earliest_gr_date": "2025-06-21", + "earliest_production_start": "2025-07-27", + "fg_receipt_date": "2025-11-29", + "qa_release_date": "2025-12-02", + "ship_date": null, + "delivery_date": "2026-02-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 38, + "seg_prodstart_to_prodfinish": 125, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 84, + "total_days": 250, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 104, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 121, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 34, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 43, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 32, + "dest_dwell_hub1": 42 + } + }, + "total_from_po": 250 + }, + { + "batch": "BATCH-029240", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-07-14", + "earliest_gr_date": "2025-07-16", + "earliest_production_start": "2025-08-02", + "fg_receipt_date": "2025-11-19", + "qa_release_date": "2025-11-25", + "ship_date": null, + "delivery_date": "2026-03-02", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 19, + "seg_prodstart_to_prodfinish": 109, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 97, + "total_days": 231, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 83, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 104, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 77, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 88, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 15, + "transit_pla_hub1": 44, + "dest_dwell_hub1": 38 + } + }, + "total_from_po": 231 + }, + { + "batch": "BATCH-013796", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-17", + "earliest_gr_date": "2025-08-19", + "earliest_production_start": "2025-09-24", + "fg_receipt_date": "2026-01-04", + "qa_release_date": "2026-01-13", + "ship_date": null, + "delivery_date": "2026-03-07", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 38, + "seg_prodstart_to_prodfinish": 102, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 53, + "total_days": 202, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 78, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 27, + "dest_dwell_hub1": 15 + } + }, + "total_from_po": 202 + }, + { + "batch": "BATCH-563928", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-17", + "earliest_gr_date": "2025-08-19", + "earliest_production_start": "2025-09-16", + "fg_receipt_date": "2025-12-08", + "qa_release_date": "2025-12-11", + "ship_date": null, + "delivery_date": "2026-03-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 83, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 92, + "total_days": 208, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 66, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 81, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 38, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 51, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 28, + "dest_dwell_hub1": 54 + } + }, + "total_from_po": 208 + }, + { + "batch": "BATCH-263609", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-15", + "earliest_gr_date": "2025-08-17", + "earliest_production_start": "2025-09-12", + "fg_receipt_date": "2026-01-03", + "qa_release_date": "2026-01-10", + "ship_date": null, + "delivery_date": "2026-03-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 67, + "total_days": 215, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 26, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 83, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 109, + "production_days": 26, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 20, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 74, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 57, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 15, + "dest_dwell_hub1": 42 + } + }, + "total_from_po": 215 + }, + { + "batch": "BATCH-786903", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-30", + "earliest_gr_date": "2025-09-01", + "earliest_production_start": "2025-09-23", + "fg_receipt_date": "2026-01-22", + "qa_release_date": "2026-01-28", + "ship_date": null, + "delivery_date": "2026-03-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 24, + "seg_prodstart_to_prodfinish": 121, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 55, + "total_days": 206, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 103, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 118, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 17, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 73, + "production_days": 17, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 9, + "transit_pla_hub1": 17, + "dest_dwell_hub1": 29 + } + }, + "total_from_po": 206 + }, + { + "batch": "BATCH-676932", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-15", + "earliest_gr_date": "2025-08-17", + "earliest_production_start": "2025-09-13", + "fg_receipt_date": "2025-12-19", + "qa_release_date": "2025-12-25", + "ship_date": null, + "delivery_date": "2026-03-29", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 94, + "total_days": 226, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 73, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 35, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 51, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 59, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 9, + "transit_pla_hub1": 38, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 226 + }, + { + "batch": "BATCH-341567", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-10", + "earliest_gr_date": "2025-08-12", + "earliest_production_start": "2025-09-05", + "fg_receipt_date": "2025-12-27", + "qa_release_date": "2026-01-01", + "ship_date": null, + "delivery_date": "2026-04-04", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 93, + "total_days": 237, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 88, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 109, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 62, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 53, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 14, + "transit_pla_hub1": 23, + "dest_dwell_hub1": 56 + } + }, + "total_from_po": 237 + }, + { + "batch": "BATCH-162748", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-25", + "earliest_gr_date": "2025-08-27", + "earliest_production_start": "2025-09-24", + "fg_receipt_date": "2026-01-03", + "qa_release_date": "2026-01-09", + "ship_date": null, + "delivery_date": "2026-04-09", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 101, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 90, + "total_days": 227, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 80, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 33, + "dest_dwell_hub1": 46 + } + }, + "total_from_po": 227 + }, + { + "batch": "BATCH-322485", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-08", + "earliest_gr_date": "2025-10-10", + "earliest_production_start": "2025-10-27", + "fg_receipt_date": "2026-02-01", + "qa_release_date": "2026-02-10", + "ship_date": null, + "delivery_date": "2026-04-14", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 19, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 63, + "total_days": 188, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 76, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 38, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 48, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 36, + "dest_dwell_hub1": 16 + } + }, + "total_from_po": 188 + }, + { + "batch": "BATCH-780123", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-02", + "earliest_gr_date": "2025-09-04", + "earliest_production_start": "2025-10-02", + "fg_receipt_date": "2026-01-31", + "qa_release_date": "2026-02-08", + "ship_date": null, + "delivery_date": "2026-04-20", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 121, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 71, + "total_days": 230, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 101, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 118, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 67, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 71, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 6, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 40 + } + }, + "total_from_po": 230 + }, + { + "batch": "BATCH-219665", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-06", + "earliest_gr_date": "2025-10-08", + "earliest_production_start": "2025-10-22", + "fg_receipt_date": "2026-02-09", + "qa_release_date": "2026-02-15", + "ship_date": null, + "delivery_date": "2026-04-25", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 16, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 69, + "total_days": 201, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 88, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 37, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 52, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 4, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 40 + } + }, + "total_from_po": 201 + }, + { + "batch": "BATCH-254225", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-08", + "earliest_gr_date": "2025-09-10", + "earliest_production_start": "2025-09-30", + "fg_receipt_date": "2026-01-28", + "qa_release_date": "2026-02-03", + "ship_date": null, + "delivery_date": "2026-05-01", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 22, + "seg_prodstart_to_prodfinish": 120, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 87, + "total_days": 235, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 97, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 115, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 73, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 45 + } + }, + "total_from_po": 235 + }, + { + "batch": "BATCH-311884", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-12", + "earliest_gr_date": "2025-09-14", + "earliest_production_start": "2025-10-10", + "fg_receipt_date": "2026-01-29", + "qa_release_date": "2026-02-04", + "ship_date": null, + "delivery_date": "2026-05-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 111, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 91, + "total_days": 236, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 86, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 107, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 73, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 66, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 6, + "transit_pla_hub1": 40, + "dest_dwell_hub1": 45 + } + }, + "total_from_po": 236 + }, + { + "batch": "BATCH-534136", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-26", + "earliest_gr_date": "2025-09-28", + "earliest_production_start": "2025-11-08", + "fg_receipt_date": "2026-02-10", + "qa_release_date": "2026-02-15", + "ship_date": null, + "delivery_date": "2026-05-12", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 43, + "seg_prodstart_to_prodfinish": 94, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 86, + "total_days": 228, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 74, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 90, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 31, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 40, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 12, + "transit_pla_hub1": 30, + "dest_dwell_hub1": 44 + } + }, + "total_from_po": 228 + }, + { + "batch": "BATCH-718060", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-29", + "earliest_gr_date": "2025-10-01", + "earliest_production_start": "2025-11-09", + "fg_receipt_date": "2026-02-24", + "qa_release_date": "2026-02-28", + "ship_date": null, + "delivery_date": "2026-05-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 41, + "seg_prodstart_to_prodfinish": 107, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 78, + "total_days": 230, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 88, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 103, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 19, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 67, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 41, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 53, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 14, + "dest_dwell_hub1": 54 + } + }, + "total_from_po": 230 + }, + { + "batch": "BATCH-802602", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-12", + "earliest_gr_date": "2025-10-14", + "earliest_production_start": "2025-11-04", + "fg_receipt_date": "2026-02-09", + "qa_release_date": "2026-02-15", + "ship_date": null, + "delivery_date": "2026-05-23", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 23, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 97, + "total_days": 223, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 74, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 59, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 34, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 48, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 7, + "transit_pla_hub1": 39, + "dest_dwell_hub1": 51 + } + }, + "total_from_po": 223 + }, + { + "batch": "BATCH-136204", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-05", + "earliest_gr_date": "2025-10-07", + "earliest_production_start": "2025-11-05", + "fg_receipt_date": "2026-02-25", + "qa_release_date": "2026-03-03", + "ship_date": null, + "delivery_date": "2026-05-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 31, + "seg_prodstart_to_prodfinish": 112, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 86, + "total_days": 235, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 91, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 58, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 14, + "transit_pla_hub1": 53, + "dest_dwell_hub1": 19 + } + }, + "total_from_po": 235 + }, + { + "batch": "BATCH-949254", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-14", + "earliest_gr_date": "2025-10-16", + "earliest_production_start": "2025-11-18", + "fg_receipt_date": "2026-02-19", + "qa_release_date": "2026-02-24", + "ship_date": null, + "delivery_date": "2026-06-03", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 93, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 99, + "total_days": 232, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 67, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 88, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 74, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 89, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 31, + "dest_dwell_hub1": 55 + } + }, + "total_from_po": 232 + } + ], + "segments": { + "seg_proc_to_prodstart": { + "label": "Procurement \u2192 Production Start", + "mean": 29.3, + "median": 30, + "p25": 25, + "p75": 34, + "n": 100 + }, + "seg_prodstart_to_prodfinish": { + "label": "Production Start \u2192 Production Finish", + "mean": 100.7, + "median": 102, + "p25": 90, + "p75": 112, + "n": 100 + }, + "seg_prodfinish_to_qa": { + "label": "Production Finish \u2192 QA Release", + "mean": 6.5, + "median": 7, + "p25": 6, + "p75": 8, + "n": 100 + }, + "seg_qa_to_customer": { + "label": "QA Release \u2192 Customer", + "mean": 53.8, + "median": 40, + "p25": 31, + "p75": 81, + "n": 100 + }, + "total_days": { + "label": "Total (GR to Delivery)", + "mean": 190.3, + "median": 188, + "p25": 167, + "p75": 222, + "n": 100 + } + }, + "per_route": { + "direct": { + "label": "Direct to customer", + "segments": { + "seg_proc_to_prodstart": { + "label": "Procurement \u2192 Production Start", + "mean": 29.9, + "median": 30, + "p25": 26, + "p75": 35, + "n": 60 + }, + "seg_prodstart_to_prodfinish": { + "label": "Production Start \u2192 Production Finish", + "mean": 99.8, + "median": 101, + "p25": 90, + "p75": 110, + "n": 60 + }, + "seg_prodfinish_to_qa": { + "label": "Production Finish \u2192 QA Release", + "mean": 6.6, + "median": 7, + "p25": 6, + "p75": 8, + "n": 60 + }, + "seg_qa_to_customer": { + "label": "QA Release \u2192 Customer", + "mean": 33.2, + "median": 33, + "p25": 29, + "p75": 38, + "n": 60 + }, + "total_days": { + "label": "Total (GR to Delivery)", + "mean": 169.5, + "median": 170, + "p25": 159, + "p75": 182, + "n": 60 + } + } + }, + "hub-1": { + "label": "HUB-1", + "segments": { + "seg_proc_to_prodstart": { + "label": "Procurement \u2192 Production Start", + "mean": 28.4, + "median": 29, + "p25": 24, + "p75": 33, + "n": 40 + }, + "seg_prodstart_to_prodfinish": { + "label": "Production Start \u2192 Production Finish", + "mean": 102.1, + "median": 104, + "p25": 96, + "p75": 113, + "n": 40 + }, + "seg_prodfinish_to_qa": { + "label": "Production Finish \u2192 QA Release", + "mean": 6.2, + "median": 6, + "p25": 5, + "p75": 8, + "n": 40 + }, + "seg_qa_to_customer": { + "label": "QA Release \u2192 Customer", + "mean": 84.8, + "median": 88, + "p25": 76, + "p75": 96, + "n": 40 + }, + "total_days": { + "label": "Total (GR to Delivery)", + "mean": 221.6, + "median": 223, + "p25": 215, + "p75": 232, + "n": 40 + } + } + } + }, + "coverage": { + "traced": 100, + "total": 100 + } + }, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/dest_dwell_hub1.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/dest_dwell_hub1.json new file mode 100644 index 00000000000..6d2e36601f9 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/dest_dwell_hub1.json @@ -0,0 +1,815 @@ +{ + "id": "dest_dwell_hub1", + "label": "Destination Dwell (HUB-1)", + "type": "destination_dwell", + "durations": [ + 56.7, 87.8, 37.8, 128.2, 47.2, 13.5, 105.3, 74.2, 56.7, 43.2, 52.7, 56.7, + 62.1, 66.2, 71.6, 77, 64.8, 70.2, 45.9, 64.8, 40.5, 45.9, 48.6, 55.4, 58.1, + 48.6, 52.7, 56.7, 62.1, 66.2, 71.6, 60.8, 64.8, 70.2, 59.4, 64.8, 40.5 + ], + "observations": [ + { + "date": "2022-09-15", + "value": 56.7 + }, + { + "date": "2023-05-05", + "value": 87.8 + }, + { + "date": "2023-05-20", + "value": 37.8 + }, + { + "date": "2024-01-10", + "value": 128.2 + }, + { + "date": "2024-01-25", + "value": 47.2 + }, + { + "date": "2024-08-15", + "value": 13.5 + }, + { + "date": "2025-02-05", + "value": 105.3 + }, + { + "date": "2025-02-18", + "value": 74.2 + }, + { + "date": "2025-08-10", + "value": 56.7 + }, + { + "date": "2025-08-20", + "value": 43.2 + }, + { + "date": "2025-09-06", + "value": 52.7 + }, + { + "date": "2025-09-12", + "value": 56.7 + }, + { + "date": "2025-09-18", + "value": 62.1 + }, + { + "date": "2025-10-04", + "value": 66.2 + }, + { + "date": "2025-10-10", + "value": 71.6 + }, + { + "date": "2025-10-16", + "value": 77 + }, + { + "date": "2025-11-05", + "value": 64.8 + }, + { + "date": "2025-11-11", + "value": 70.2 + }, + { + "date": "2025-11-17", + "value": 45.9 + }, + { + "date": "2025-12-06", + "value": 64.8 + }, + { + "date": "2025-12-12", + "value": 40.5 + }, + { + "date": "2025-12-18", + "value": 45.9 + }, + { + "date": "2026-01-04", + "value": 48.6 + }, + { + "date": "2026-01-10", + "value": 55.4 + }, + { + "date": "2026-01-16", + "value": 58.1 + }, + { + "date": "2026-02-05", + "value": 48.6 + }, + { + "date": "2026-02-11", + "value": 52.7 + }, + { + "date": "2026-02-17", + "value": 56.7 + }, + { + "date": "2026-03-06", + "value": 62.1 + }, + { + "date": "2026-03-12", + "value": 66.2 + }, + { + "date": "2026-03-18", + "value": 71.6 + }, + { + "date": "2026-04-04", + "value": 60.8 + }, + { + "date": "2026-04-10", + "value": 64.8 + }, + { + "date": "2026-04-16", + "value": 70.2 + }, + { + "date": "2026-05-05", + "value": 59.4 + }, + { + "date": "2026-05-11", + "value": 64.8 + }, + { + "date": "2026-05-17", + "value": 40.5 + } + ], + "monthly": [ + { + "month": "2022-09", + "mean": 56.7, + "median": 56.7, + "p10": 56.7, + "p25": 56.7, + "p75": 56.7, + "p90": 56.7, + "n": 1, + "total_kg_days": 201600 + }, + { + "month": "2023-05", + "mean": 62.8, + "median": 62.8, + "p10": 42.8, + "p25": 50.4, + "p75": 75.3, + "p90": 82.8, + "n": 2, + "total_kg_days": 446400 + }, + { + "month": "2024-01", + "mean": 87.8, + "median": 87.8, + "p10": 55.4, + "p25": 67.5, + "p75": 108, + "p90": 120.2, + "n": 2, + "total_kg_days": 624000 + }, + { + "month": "2024-08", + "mean": 13.5, + "median": 13.5, + "p10": 13.5, + "p25": 13.5, + "p75": 13.5, + "p90": 13.5, + "n": 1, + "total_kg_days": 48000 + }, + { + "month": "2025-02", + "mean": 89.8, + "median": 89.8, + "p10": 77.4, + "p25": 82.1, + "p75": 97.6, + "p90": 102.2, + "n": 2, + "total_kg_days": 638400 + }, + { + "month": "2025-08", + "mean": 50, + "median": 50, + "p10": 44.6, + "p25": 46.6, + "p75": 53.3, + "p90": 55.4, + "n": 2, + "total_kg_days": 355200 + }, + { + "month": "2025-09", + "mean": 57.1, + "median": 56.7, + "p10": 53.5, + "p25": 54.7, + "p75": 59.4, + "p90": 61, + "n": 3, + "total_kg_days": 609600 + }, + { + "month": "2025-10", + "mean": 71.6, + "median": 71.6, + "p10": 67.2, + "p25": 68.9, + "p75": 74.2, + "p90": 75.9, + "n": 3, + "total_kg_days": 763200 + }, + { + "month": "2025-11", + "mean": 60.3, + "median": 64.8, + "p10": 49.7, + "p25": 55.4, + "p75": 67.5, + "p90": 69.1, + "n": 3, + "total_kg_days": 643200 + }, + { + "month": "2025-12", + "mean": 50.4, + "median": 45.9, + "p10": 41.6, + "p25": 43.2, + "p75": 55.4, + "p90": 61, + "n": 3, + "total_kg_days": 537600 + }, + { + "month": "2026-01", + "mean": 54, + "median": 55.4, + "p10": 50, + "p25": 52, + "p75": 56.7, + "p90": 57.5, + "n": 3, + "total_kg_days": 576000 + }, + { + "month": "2026-02", + "mean": 52.7, + "median": 52.7, + "p10": 49.4, + "p25": 50.6, + "p75": 54.7, + "p90": 55.9, + "n": 3, + "total_kg_days": 561600 + }, + { + "month": "2026-03", + "mean": 66.6, + "median": 66.2, + "p10": 62.9, + "p25": 64.1, + "p75": 68.9, + "p90": 70.5, + "n": 3, + "total_kg_days": 710400 + }, + { + "month": "2026-04", + "mean": 65.2, + "median": 64.8, + "p10": 61.6, + "p25": 62.8, + "p75": 67.5, + "p90": 69.1, + "n": 3, + "total_kg_days": 696000 + }, + { + "month": "2026-05", + "mean": 54.9, + "median": 59.4, + "p10": 44.3, + "p25": 50, + "p75": 62.1, + "p90": 63.7, + "n": 3, + "total_kg_days": 585600 + } + ], + "stats": { + "n": 37, + "mean": 60.8, + "median": 59.4, + "std": 14, + "min": 13.5, + "max": 128.2, + "p25": 48.6, + "p75": 66.2, + "p85": 71.6, + "p95": 87.8 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "annotations": [], + "cost": { + "unit_price": 38.475, + "currency": "CHF", + "mean_qty": 4800, + "monthly": [ + { + "month": "2022-09", + "n_events": 1, + "total_kg_days": 201600 + }, + { + "month": "2023-05", + "n_events": 2, + "total_kg_days": 446400 + }, + { + "month": "2024-01", + "n_events": 2, + "total_kg_days": 624000 + }, + { + "month": "2024-08", + "n_events": 1, + "total_kg_days": 48000 + }, + { + "month": "2025-02", + "n_events": 2, + "total_kg_days": 638400 + }, + { + "month": "2025-08", + "n_events": 2, + "total_kg_days": 355200 + }, + { + "month": "2025-09", + "n_events": 3, + "total_kg_days": 609600 + }, + { + "month": "2025-10", + "n_events": 3, + "total_kg_days": 763200 + }, + { + "month": "2025-11", + "n_events": 3, + "total_kg_days": 643200 + }, + { + "month": "2025-12", + "n_events": 3, + "total_kg_days": 537600 + }, + { + "month": "2026-01", + "n_events": 3, + "total_kg_days": 576000 + }, + { + "month": "2026-02", + "n_events": 3, + "total_kg_days": 561600 + }, + { + "month": "2026-03", + "n_events": 3, + "total_kg_days": 710400 + }, + { + "month": "2026-04", + "n_events": 3, + "total_kg_days": 696000 + }, + { + "month": "2026-05", + "n_events": 3, + "total_kg_days": 585600 + } + ] + }, + "detail_rows": { + "columns": [ + { + "key": "batch", + "source_field": "CHARG", + "source_table": "MSEG", + "label": "Batch" + }, + { + "key": "consumption_date", + "source_field": "BUDAT", + "source_table": "MKPF", + "label": "Consumption Date" + }, + { + "key": "dwell_days", + "source_field": null, + "source_table": null, + "label": "Dwell Days", + "unit": "d" + }, + { + "key": "kg_days", + "source_field": null, + "source_table": null, + "label": "Inventory kg-days", + "unit": "kg·d" + }, + { + "key": "cons_matnr", + "source_field": "MATNR", + "source_table": "MSEG", + "label": "Consuming Material" + }, + { + "key": "cons_material_name", + "source_field": "MAKTX", + "source_table": "MAKT", + "label": "Consuming Material Name" + }, + { + "key": "cons_in_current_recipe", + "source_field": null, + "source_table": null, + "label": "In Current Recipe" + } + ], + "rows": [ + { + "batch": "DEST_DWELL_HUB1-001", + "consumption_date": "2022-09-15", + "dwell_days": 56.7, + "kg_days": 201600, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-002", + "consumption_date": "2023-05-05", + "dwell_days": 87.8, + "kg_days": 223200, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-003", + "consumption_date": "2023-05-20", + "dwell_days": 37.8, + "kg_days": 223200, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-004", + "consumption_date": "2024-01-10", + "dwell_days": 128.2, + "kg_days": 312000, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-005", + "consumption_date": "2024-01-25", + "dwell_days": 47.2, + "kg_days": 312000, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-006", + "consumption_date": "2024-08-15", + "dwell_days": 13.5, + "kg_days": 48000, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-007", + "consumption_date": "2025-02-05", + "dwell_days": 105.3, + "kg_days": 319200, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-008", + "consumption_date": "2025-02-18", + "dwell_days": 74.2, + "kg_days": 319200, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-009", + "consumption_date": "2025-08-10", + "dwell_days": 56.7, + "kg_days": 177600, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-010", + "consumption_date": "2025-08-20", + "dwell_days": 43.2, + "kg_days": 177600, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-011", + "consumption_date": "2025-09-06", + "dwell_days": 52.7, + "kg_days": 203200, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-012", + "consumption_date": "2025-09-12", + "dwell_days": 56.7, + "kg_days": 203200, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-013", + "consumption_date": "2025-09-18", + "dwell_days": 62.1, + "kg_days": 203200, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-014", + "consumption_date": "2025-10-04", + "dwell_days": 66.2, + "kg_days": 254400, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-015", + "consumption_date": "2025-10-10", + "dwell_days": 71.6, + "kg_days": 254400, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-016", + "consumption_date": "2025-10-16", + "dwell_days": 77, + "kg_days": 254400, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-017", + "consumption_date": "2025-11-05", + "dwell_days": 64.8, + "kg_days": 214400, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-018", + "consumption_date": "2025-11-11", + "dwell_days": 70.2, + "kg_days": 214400, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-019", + "consumption_date": "2025-11-17", + "dwell_days": 45.9, + "kg_days": 214400, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-020", + "consumption_date": "2025-12-06", + "dwell_days": 64.8, + "kg_days": 179200, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-021", + "consumption_date": "2025-12-12", + "dwell_days": 40.5, + "kg_days": 179200, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-022", + "consumption_date": "2025-12-18", + "dwell_days": 45.9, + "kg_days": 179200, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-023", + "consumption_date": "2026-01-04", + "dwell_days": 48.6, + "kg_days": 192000, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-024", + "consumption_date": "2026-01-10", + "dwell_days": 55.4, + "kg_days": 192000, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-025", + "consumption_date": "2026-01-16", + "dwell_days": 58.1, + "kg_days": 192000, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-026", + "consumption_date": "2026-02-05", + "dwell_days": 48.6, + "kg_days": 187200, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-027", + "consumption_date": "2026-02-11", + "dwell_days": 52.7, + "kg_days": 187200, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-028", + "consumption_date": "2026-02-17", + "dwell_days": 56.7, + "kg_days": 187200, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-029", + "consumption_date": "2026-03-06", + "dwell_days": 62.1, + "kg_days": 236800, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-030", + "consumption_date": "2026-03-12", + "dwell_days": 66.2, + "kg_days": 236800, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-031", + "consumption_date": "2026-03-18", + "dwell_days": 71.6, + "kg_days": 236800, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-032", + "consumption_date": "2026-04-04", + "dwell_days": 60.8, + "kg_days": 232000, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-033", + "consumption_date": "2026-04-10", + "dwell_days": 64.8, + "kg_days": 232000, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-034", + "consumption_date": "2026-04-16", + "dwell_days": 70.2, + "kg_days": 232000, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-035", + "consumption_date": "2026-05-05", + "dwell_days": 59.4, + "kg_days": 195200, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-036", + "consumption_date": "2026-05-11", + "dwell_days": 64.8, + "kg_days": 195200, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-037", + "consumption_date": "2026-05-17", + "dwell_days": 40.5, + "kg_days": 195200, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + } + ] + }, + "ref_date_col": "consumption_date", + "n_batches": null, + "n_movements": 10, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0", + "value_col": "dwell_days" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/intermed_dwell_green_blend.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/intermed_dwell_green_blend.json new file mode 100644 index 00000000000..5dcfced6de0 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/intermed_dwell_green_blend.json @@ -0,0 +1,1302 @@ +{ + "id": "intermed_dwell_green_blend", + "label": "Intermediate Dwell: Green Blend", + "type": "intermediate_dwell", + "durations": [ + 16.2, 33.8, 10.8, 47.2, 20.2, 6.8, 29.7, 24.3, 54, 13.5, 74.2, 2.7, 37.8, + 20.2, 10.8, 27, 60.8, 16.2, 4.1, 24.3, 40.5, 10.8, 29.7, 47.2, 6.8, 20.2, + 56.7, 13.5, 18.9, 21.6, 23, 24.3, 25.7, 18.9, 20.2, 21.6, 24.3, 14.9, 24.3, + 25.7, 27, 18.9, 20.2, 23, 25.7, 16.2, 18.9, 20.2, 23, 14.9, 16.2, 17.6, + 18.9, 17.6, 18.9, 21.6, 23, 24.3, 17.6, 18.9, 20.2, 21.6, 24.3, 21.6, 24.3, + 25.7, 27, 18.9, 21.6, 23, 25.7, 16.2, 18.9 + ], + "observations": [ + { + "date": "2022-05-05", + "value": 16.2 + }, + { + "date": "2022-05-15", + "value": 33.8 + }, + { + "date": "2022-05-22", + "value": 10.8 + }, + { + "date": "2022-11-03", + "value": 47.2 + }, + { + "date": "2022-11-10", + "value": 20.2 + }, + { + "date": "2022-11-18", + "value": 6.8 + }, + { + "date": "2022-11-25", + "value": 29.7 + }, + { + "date": "2023-05-08", + "value": 24.3 + }, + { + "date": "2023-05-15", + "value": 54 + }, + { + "date": "2023-05-22", + "value": 13.5 + }, + { + "date": "2023-11-06", + "value": 74.2 + }, + { + "date": "2023-11-13", + "value": 2.7 + }, + { + "date": "2023-11-20", + "value": 37.8 + }, + { + "date": "2023-11-27", + "value": 20.2 + }, + { + "date": "2023-11-30", + "value": 10.8 + }, + { + "date": "2024-05-06", + "value": 27 + }, + { + "date": "2024-05-13", + "value": 60.8 + }, + { + "date": "2024-05-20", + "value": 16.2 + }, + { + "date": "2024-05-27", + "value": 4.1 + }, + { + "date": "2024-11-04", + "value": 24.3 + }, + { + "date": "2024-11-11", + "value": 40.5 + }, + { + "date": "2024-11-18", + "value": 10.8 + }, + { + "date": "2025-05-05", + "value": 29.7 + }, + { + "date": "2025-05-09", + "value": 47.2 + }, + { + "date": "2025-05-13", + "value": 6.8 + }, + { + "date": "2025-05-17", + "value": 20.2 + }, + { + "date": "2025-05-21", + "value": 56.7 + }, + { + "date": "2025-05-25", + "value": 13.5 + }, + { + "date": "2025-09-05", + "value": 18.9 + }, + { + "date": "2025-09-11", + "value": 21.6 + }, + { + "date": "2025-09-17", + "value": 23 + }, + { + "date": "2025-09-23", + "value": 24.3 + }, + { + "date": "2025-09-29", + "value": 25.7 + }, + { + "date": "2025-10-06", + "value": 18.9 + }, + { + "date": "2025-10-12", + "value": 20.2 + }, + { + "date": "2025-10-18", + "value": 21.6 + }, + { + "date": "2025-10-24", + "value": 24.3 + }, + { + "date": "2025-10-30", + "value": 14.9 + }, + { + "date": "2025-11-04", + "value": 24.3 + }, + { + "date": "2025-11-10", + "value": 25.7 + }, + { + "date": "2025-11-16", + "value": 27 + }, + { + "date": "2025-11-22", + "value": 18.9 + }, + { + "date": "2025-11-28", + "value": 20.2 + }, + { + "date": "2025-12-05", + "value": 23 + }, + { + "date": "2025-12-11", + "value": 25.7 + }, + { + "date": "2025-12-17", + "value": 16.2 + }, + { + "date": "2025-12-23", + "value": 18.9 + }, + { + "date": "2025-12-29", + "value": 20.2 + }, + { + "date": "2026-01-06", + "value": 23 + }, + { + "date": "2026-01-12", + "value": 14.9 + }, + { + "date": "2026-01-18", + "value": 16.2 + }, + { + "date": "2026-01-24", + "value": 17.6 + }, + { + "date": "2026-01-30", + "value": 18.9 + }, + { + "date": "2026-02-04", + "value": 17.6 + }, + { + "date": "2026-02-10", + "value": 18.9 + }, + { + "date": "2026-02-16", + "value": 21.6 + }, + { + "date": "2026-02-22", + "value": 23 + }, + { + "date": "2026-02-28", + "value": 24.3 + }, + { + "date": "2026-03-05", + "value": 17.6 + }, + { + "date": "2026-03-11", + "value": 18.9 + }, + { + "date": "2026-03-17", + "value": 20.2 + }, + { + "date": "2026-03-23", + "value": 21.6 + }, + { + "date": "2026-03-29", + "value": 24.3 + }, + { + "date": "2026-04-06", + "value": 21.6 + }, + { + "date": "2026-04-12", + "value": 24.3 + }, + { + "date": "2026-04-18", + "value": 25.7 + }, + { + "date": "2026-04-24", + "value": 27 + }, + { + "date": "2026-04-30", + "value": 18.9 + }, + { + "date": "2026-05-04", + "value": 21.6 + }, + { + "date": "2026-05-10", + "value": 23 + }, + { + "date": "2026-05-16", + "value": 25.7 + }, + { + "date": "2026-05-22", + "value": 16.2 + }, + { + "date": "2026-05-28", + "value": 18.9 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 20.2, + "median": 16.2, + "p10": 11.9, + "p25": 13.5, + "p75": 25, + "p90": 30.2, + "n": 3, + "total_kg_days": 144000 + }, + { + "month": "2022-11", + "mean": 26.1, + "median": 25, + "p10": 10.8, + "p25": 16.9, + "p75": 34.2, + "p90": 42, + "n": 4, + "total_kg_days": 246400 + }, + { + "month": "2023-05", + "mean": 30.6, + "median": 24.3, + "p10": 15.7, + "p25": 18.9, + "p75": 39.2, + "p90": 48.1, + "n": 3, + "total_kg_days": 217600 + }, + { + "month": "2023-11", + "mean": 29.2, + "median": 20.2, + "p10": 5.9, + "p25": 10.8, + "p75": 37.8, + "p90": 59.7, + "n": 5, + "total_kg_days": 345600 + }, + { + "month": "2024-05", + "mean": 27, + "median": 21.6, + "p10": 7.7, + "p25": 13.2, + "p75": 35.5, + "p90": 50.6, + "n": 4, + "total_kg_days": 256000 + }, + { + "month": "2024-11", + "mean": 25.2, + "median": 24.3, + "p10": 13.5, + "p25": 17.6, + "p75": 32.4, + "p90": 37.3, + "n": 3, + "total_kg_days": 179200 + }, + { + "month": "2025-05", + "mean": 29, + "median": 25, + "p10": 10.1, + "p25": 15.3, + "p75": 42.9, + "p90": 52, + "n": 6, + "total_kg_days": 412800 + }, + { + "month": "2025-09", + "mean": 22.7, + "median": 23, + "p10": 20, + "p25": 21.6, + "p75": 24.3, + "p90": 25.1, + "n": 5, + "total_kg_days": 268800 + }, + { + "month": "2025-10", + "mean": 20, + "median": 20.2, + "p10": 16.5, + "p25": 18.9, + "p75": 21.6, + "p90": 23.2, + "n": 5, + "total_kg_days": 236800 + }, + { + "month": "2025-11", + "mean": 23.2, + "median": 24.3, + "p10": 19.4, + "p25": 20.2, + "p75": 25.7, + "p90": 26.5, + "n": 5, + "total_kg_days": 275200 + }, + { + "month": "2025-12", + "mean": 20.8, + "median": 20.2, + "p10": 17.3, + "p25": 18.9, + "p75": 23, + "p90": 24.6, + "n": 5, + "total_kg_days": 246400 + }, + { + "month": "2026-01", + "mean": 18.1, + "median": 17.6, + "p10": 15.4, + "p25": 16.2, + "p75": 18.9, + "p90": 21.3, + "n": 5, + "total_kg_days": 214400 + }, + { + "month": "2026-02", + "mean": 21.1, + "median": 21.6, + "p10": 18.1, + "p25": 18.9, + "p75": 23, + "p90": 23.8, + "n": 5, + "total_kg_days": 249600 + }, + { + "month": "2026-03", + "mean": 20.5, + "median": 20.2, + "p10": 18.1, + "p25": 18.9, + "p75": 21.6, + "p90": 23.2, + "n": 5, + "total_kg_days": 243200 + }, + { + "month": "2026-04", + "mean": 23.5, + "median": 24.3, + "p10": 20, + "p25": 21.6, + "p75": 25.7, + "p90": 26.5, + "n": 5, + "total_kg_days": 278400 + }, + { + "month": "2026-05", + "mean": 21.1, + "median": 21.6, + "p10": 17.3, + "p25": 18.9, + "p75": 23, + "p90": 24.6, + "n": 5, + "total_kg_days": 249600 + } + ], + "stats": { + "n": 73, + "mean": 23.5, + "median": 21.6, + "std": 9, + "min": 2.7, + "max": 74.2, + "p25": 17.6, + "p75": 25.7, + "p85": 27, + "p95": 47.2 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 87.7, + "annotations": [], + "cost": { + "unit_price": 16.875, + "currency": "CHF", + "mean_qty": 3200, + "monthly": [ + { + "month": "2022-05", + "n_events": 3, + "total_kg_days": 144000 + }, + { + "month": "2022-11", + "n_events": 4, + "total_kg_days": 246400 + }, + { + "month": "2023-05", + "n_events": 3, + "total_kg_days": 217600 + }, + { + "month": "2023-11", + "n_events": 5, + "total_kg_days": 345600 + }, + { + "month": "2024-05", + "n_events": 4, + "total_kg_days": 256000 + }, + { + "month": "2024-11", + "n_events": 3, + "total_kg_days": 179200 + }, + { + "month": "2025-05", + "n_events": 6, + "total_kg_days": 412800 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 268800 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 236800 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 275200 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 246400 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 214400 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 249600 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 243200 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 278400 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 249600 + } + ] + }, + "detail_rows": { + "columns": [ + { + "key": "batch", + "source_field": "CHARG", + "source_table": "MSEG", + "label": "Batch" + }, + { + "key": "consumption_date", + "source_field": "BUDAT", + "source_table": "MKPF", + "label": "Consumption Date" + }, + { + "key": "dwell_days", + "source_field": null, + "source_table": null, + "label": "Dwell Days", + "unit": "d" + }, + { + "key": "kg_days", + "source_field": null, + "source_table": null, + "label": "Inventory kg-days", + "unit": "kg·d" + }, + { + "key": "cons_matnr", + "source_field": "MATNR", + "source_table": "MSEG", + "label": "Consuming Material" + }, + { + "key": "cons_material_name", + "source_field": "MAKTX", + "source_table": "MAKT", + "label": "Consuming Material Name" + }, + { + "key": "cons_in_current_recipe", + "source_field": null, + "source_table": null, + "label": "In Current Recipe" + } + ], + "rows": [ + { + "batch": "INTERMED_DWELL_GREEN_BLEND-001", + "consumption_date": "2022-05-05", + "dwell_days": 16.2, + "kg_days": 48000, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-002", + "consumption_date": "2022-05-15", + "dwell_days": 33.8, + "kg_days": 48000, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-003", + "consumption_date": "2022-05-22", + "dwell_days": 10.8, + "kg_days": 48000, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-004", + "consumption_date": "2022-11-03", + "dwell_days": 47.2, + "kg_days": 61600, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-005", + "consumption_date": "2022-11-10", + "dwell_days": 20.2, + "kg_days": 61600, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-006", + "consumption_date": "2022-11-18", + "dwell_days": 6.8, + "kg_days": 61600, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-007", + "consumption_date": "2022-11-25", + "dwell_days": 29.7, + "kg_days": 61600, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-008", + "consumption_date": "2023-05-08", + "dwell_days": 24.3, + "kg_days": 72533.3, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-009", + "consumption_date": "2023-05-15", + "dwell_days": 54, + "kg_days": 72533.3, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-010", + "consumption_date": "2023-05-22", + "dwell_days": 13.5, + "kg_days": 72533.3, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-011", + "consumption_date": "2023-11-06", + "dwell_days": 74.2, + "kg_days": 69120, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-012", + "consumption_date": "2023-11-13", + "dwell_days": 2.7, + "kg_days": 69120, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-013", + "consumption_date": "2023-11-20", + "dwell_days": 37.8, + "kg_days": 69120, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-014", + "consumption_date": "2023-11-27", + "dwell_days": 20.2, + "kg_days": 69120, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-015", + "consumption_date": "2023-11-30", + "dwell_days": 10.8, + "kg_days": 69120, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-016", + "consumption_date": "2024-05-06", + "dwell_days": 27, + "kg_days": 64000, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-017", + "consumption_date": "2024-05-13", + "dwell_days": 60.8, + "kg_days": 64000, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-018", + "consumption_date": "2024-05-20", + "dwell_days": 16.2, + "kg_days": 64000, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-019", + "consumption_date": "2024-05-27", + "dwell_days": 4.1, + "kg_days": 64000, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-020", + "consumption_date": "2024-11-04", + "dwell_days": 24.3, + "kg_days": 59733.3, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-021", + "consumption_date": "2024-11-11", + "dwell_days": 40.5, + "kg_days": 59733.3, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-022", + "consumption_date": "2024-11-18", + "dwell_days": 10.8, + "kg_days": 59733.3, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-023", + "consumption_date": "2025-05-05", + "dwell_days": 29.7, + "kg_days": 68800, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-024", + "consumption_date": "2025-05-09", + "dwell_days": 47.2, + "kg_days": 68800, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-025", + "consumption_date": "2025-05-13", + "dwell_days": 6.8, + "kg_days": 68800, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-026", + "consumption_date": "2025-05-17", + "dwell_days": 20.2, + "kg_days": 68800, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-027", + "consumption_date": "2025-05-21", + "dwell_days": 56.7, + "kg_days": 68800, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-028", + "consumption_date": "2025-05-25", + "dwell_days": 13.5, + "kg_days": 68800, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-029", + "consumption_date": "2025-09-05", + "dwell_days": 18.9, + "kg_days": 53760, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-030", + "consumption_date": "2025-09-11", + "dwell_days": 21.6, + "kg_days": 53760, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-031", + "consumption_date": "2025-09-17", + "dwell_days": 23, + "kg_days": 53760, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-032", + "consumption_date": "2025-09-23", + "dwell_days": 24.3, + "kg_days": 53760, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-033", + "consumption_date": "2025-09-29", + "dwell_days": 25.7, + "kg_days": 53760, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-034", + "consumption_date": "2025-10-06", + "dwell_days": 18.9, + "kg_days": 47360, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-035", + "consumption_date": "2025-10-12", + "dwell_days": 20.2, + "kg_days": 47360, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-036", + "consumption_date": "2025-10-18", + "dwell_days": 21.6, + "kg_days": 47360, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-037", + "consumption_date": "2025-10-24", + "dwell_days": 24.3, + "kg_days": 47360, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-038", + "consumption_date": "2025-10-30", + "dwell_days": 14.9, + "kg_days": 47360, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-039", + "consumption_date": "2025-11-04", + "dwell_days": 24.3, + "kg_days": 55040, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-040", + "consumption_date": "2025-11-10", + "dwell_days": 25.7, + "kg_days": 55040, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-041", + "consumption_date": "2025-11-16", + "dwell_days": 27, + "kg_days": 55040, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-042", + "consumption_date": "2025-11-22", + "dwell_days": 18.9, + "kg_days": 55040, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-043", + "consumption_date": "2025-11-28", + "dwell_days": 20.2, + "kg_days": 55040, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-044", + "consumption_date": "2025-12-05", + "dwell_days": 23, + "kg_days": 49280, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-045", + "consumption_date": "2025-12-11", + "dwell_days": 25.7, + "kg_days": 49280, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-046", + "consumption_date": "2025-12-17", + "dwell_days": 16.2, + "kg_days": 49280, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-047", + "consumption_date": "2025-12-23", + "dwell_days": 18.9, + "kg_days": 49280, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-048", + "consumption_date": "2025-12-29", + "dwell_days": 20.2, + "kg_days": 49280, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-049", + "consumption_date": "2026-01-06", + "dwell_days": 23, + "kg_days": 42880, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-050", + "consumption_date": "2026-01-12", + "dwell_days": 14.9, + "kg_days": 42880, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-051", + "consumption_date": "2026-01-18", + "dwell_days": 16.2, + "kg_days": 42880, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-052", + "consumption_date": "2026-01-24", + "dwell_days": 17.6, + "kg_days": 42880, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-053", + "consumption_date": "2026-01-30", + "dwell_days": 18.9, + "kg_days": 42880, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-054", + "consumption_date": "2026-02-04", + "dwell_days": 17.6, + "kg_days": 49920, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-055", + "consumption_date": "2026-02-10", + "dwell_days": 18.9, + "kg_days": 49920, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-056", + "consumption_date": "2026-02-16", + "dwell_days": 21.6, + "kg_days": 49920, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-057", + "consumption_date": "2026-02-22", + "dwell_days": 23, + "kg_days": 49920, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-058", + "consumption_date": "2026-02-28", + "dwell_days": 24.3, + "kg_days": 49920, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-059", + "consumption_date": "2026-03-05", + "dwell_days": 17.6, + "kg_days": 48640, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-060", + "consumption_date": "2026-03-11", + "dwell_days": 18.9, + "kg_days": 48640, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-061", + "consumption_date": "2026-03-17", + "dwell_days": 20.2, + "kg_days": 48640, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-062", + "consumption_date": "2026-03-23", + "dwell_days": 21.6, + "kg_days": 48640, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-063", + "consumption_date": "2026-03-29", + "dwell_days": 24.3, + "kg_days": 48640, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-064", + "consumption_date": "2026-04-06", + "dwell_days": 21.6, + "kg_days": 55680, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-065", + "consumption_date": "2026-04-12", + "dwell_days": 24.3, + "kg_days": 55680, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-066", + "consumption_date": "2026-04-18", + "dwell_days": 25.7, + "kg_days": 55680, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-067", + "consumption_date": "2026-04-24", + "dwell_days": 27, + "kg_days": 55680, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-068", + "consumption_date": "2026-04-30", + "dwell_days": 18.9, + "kg_days": 55680, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-069", + "consumption_date": "2026-05-04", + "dwell_days": 21.6, + "kg_days": 49920, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-070", + "consumption_date": "2026-05-10", + "dwell_days": 23, + "kg_days": 49920, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-071", + "consumption_date": "2026-05-16", + "dwell_days": 25.7, + "kg_days": 49920, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-072", + "consumption_date": "2026-05-22", + "dwell_days": 16.2, + "kg_days": 49920, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-073", + "consumption_date": "2026-05-28", + "dwell_days": 18.9, + "kg_days": 49920, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + } + ] + }, + "ref_date_col": "consumption_date", + "n_batches": null, + "n_movements": 28, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0", + "value_col": "dwell_days" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/post_qa_ship_pla.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/post_qa_ship_pla.json new file mode 100644 index 00000000000..0e6b0ef1849 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/post_qa_ship_pla.json @@ -0,0 +1,1077 @@ +{ + "id": "post_qa_ship_pla", + "label": "Post-QA Dwell (PL-A)", + "type": "post_qa_ship", + "durations": [ + 10.8, 29.7, 56.7, 8.1, 24.3, 37.8, 16.2, 2.7, 20.2, 6.8, 27, 5.4, 18.9, + 20.2, 13.5, 14.9, 16.2, 18.9, 10.8, 13.5, 14.9, 14.9, 13.5, 16.2, 16.2, + 17.6, 18.9, 13.5, 14.9, 16.2, 17.6, 18.9, 17.6, 18.9, 20.2, 21.6, 14.9, + 17.6, 18.9, 20.2, 13.5, 14.9, 17.6, 18.9, 10.8, 13.5, 14.9, 21.6, 13.5, + 16.2, 16.2, 17.6, 12.2, 13.5, 14.9, 16.2, 17.6 + ], + "observations": [ + { + "date": "2023-03-10", + "value": 10.8 + }, + { + "date": "2023-03-25", + "value": 29.7 + }, + { + "date": "2023-09-20", + "value": 56.7 + }, + { + "date": "2024-03-15", + "value": 8.1 + }, + { + "date": "2024-03-28", + "value": 24.3 + }, + { + "date": "2024-09-05", + "value": 37.8 + }, + { + "date": "2024-09-15", + "value": 16.2 + }, + { + "date": "2024-09-25", + "value": 2.7 + }, + { + "date": "2025-03-10", + "value": 20.2 + }, + { + "date": "2025-03-22", + "value": 6.8 + }, + { + "date": "2025-07-08", + "value": 27 + }, + { + "date": "2025-07-22", + "value": 5.4 + }, + { + "date": "2025-09-05", + "value": 18.9 + }, + { + "date": "2025-09-11", + "value": 20.2 + }, + { + "date": "2025-09-17", + "value": 13.5 + }, + { + "date": "2025-09-23", + "value": 14.9 + }, + { + "date": "2025-09-29", + "value": 16.2 + }, + { + "date": "2025-10-06", + "value": 18.9 + }, + { + "date": "2025-10-12", + "value": 10.8 + }, + { + "date": "2025-10-18", + "value": 13.5 + }, + { + "date": "2025-10-24", + "value": 14.9 + }, + { + "date": "2025-10-30", + "value": 14.9 + }, + { + "date": "2025-11-04", + "value": 13.5 + }, + { + "date": "2025-11-10", + "value": 16.2 + }, + { + "date": "2025-11-16", + "value": 16.2 + }, + { + "date": "2025-11-22", + "value": 17.6 + }, + { + "date": "2025-11-28", + "value": 18.9 + }, + { + "date": "2025-12-05", + "value": 13.5 + }, + { + "date": "2025-12-11", + "value": 14.9 + }, + { + "date": "2025-12-17", + "value": 16.2 + }, + { + "date": "2025-12-23", + "value": 17.6 + }, + { + "date": "2025-12-29", + "value": 18.9 + }, + { + "date": "2026-01-06", + "value": 17.6 + }, + { + "date": "2026-01-12", + "value": 18.9 + }, + { + "date": "2026-01-18", + "value": 20.2 + }, + { + "date": "2026-01-24", + "value": 21.6 + }, + { + "date": "2026-01-30", + "value": 14.9 + }, + { + "date": "2026-02-04", + "value": 17.6 + }, + { + "date": "2026-02-10", + "value": 18.9 + }, + { + "date": "2026-02-16", + "value": 20.2 + }, + { + "date": "2026-02-22", + "value": 13.5 + }, + { + "date": "2026-02-28", + "value": 14.9 + }, + { + "date": "2026-03-05", + "value": 17.6 + }, + { + "date": "2026-03-11", + "value": 18.9 + }, + { + "date": "2026-03-17", + "value": 10.8 + }, + { + "date": "2026-03-23", + "value": 13.5 + }, + { + "date": "2026-03-29", + "value": 14.9 + }, + { + "date": "2026-04-06", + "value": 21.6 + }, + { + "date": "2026-04-12", + "value": 13.5 + }, + { + "date": "2026-04-18", + "value": 16.2 + }, + { + "date": "2026-04-24", + "value": 16.2 + }, + { + "date": "2026-04-30", + "value": 17.6 + }, + { + "date": "2026-05-04", + "value": 12.2 + }, + { + "date": "2026-05-10", + "value": 13.5 + }, + { + "date": "2026-05-16", + "value": 14.9 + }, + { + "date": "2026-05-22", + "value": 16.2 + }, + { + "date": "2026-05-28", + "value": 17.6 + } + ], + "monthly": [ + { + "month": "2023-03", + "mean": 20.2, + "median": 20.2, + "p10": 12.7, + "p25": 15.5, + "p75": 25, + "p90": 27.8, + "n": 2, + "total_kg_days": 144000 + }, + { + "month": "2023-09", + "mean": 56.7, + "median": 56.7, + "p10": 56.7, + "p25": 56.7, + "p75": 56.7, + "p90": 56.7, + "n": 1, + "total_kg_days": 201600 + }, + { + "month": "2024-03", + "mean": 16.2, + "median": 16.2, + "p10": 9.7, + "p25": 12.2, + "p75": 20.2, + "p90": 22.7, + "n": 2, + "total_kg_days": 115200 + }, + { + "month": "2024-09", + "mean": 18.9, + "median": 16.2, + "p10": 5.4, + "p25": 9.5, + "p75": 27, + "p90": 33.5, + "n": 3, + "total_kg_days": 201600 + }, + { + "month": "2025-03", + "mean": 13.5, + "median": 13.5, + "p10": 8.1, + "p25": 10.1, + "p75": 16.9, + "p90": 18.9, + "n": 2, + "total_kg_days": 96000 + }, + { + "month": "2025-07", + "mean": 16.2, + "median": 16.2, + "p10": 7.6, + "p25": 10.8, + "p75": 21.6, + "p90": 24.8, + "n": 2, + "total_kg_days": 115200 + }, + { + "month": "2025-09", + "mean": 16.7, + "median": 16.2, + "p10": 14, + "p25": 14.9, + "p75": 18.9, + "p90": 19.7, + "n": 5, + "total_kg_days": 297600 + }, + { + "month": "2025-10", + "mean": 14.6, + "median": 14.9, + "p10": 11.9, + "p25": 13.5, + "p75": 14.9, + "p90": 17.3, + "n": 5, + "total_kg_days": 259200 + }, + { + "month": "2025-11", + "mean": 16.5, + "median": 16.2, + "p10": 14.6, + "p25": 16.2, + "p75": 17.6, + "p90": 18.4, + "n": 5, + "total_kg_days": 292800 + }, + { + "month": "2025-12", + "mean": 16.2, + "median": 16.2, + "p10": 14, + "p25": 14.9, + "p75": 17.6, + "p90": 18.4, + "n": 5, + "total_kg_days": 288000 + }, + { + "month": "2026-01", + "mean": 18.6, + "median": 18.9, + "p10": 15.9, + "p25": 17.6, + "p75": 20.2, + "p90": 21.1, + "n": 5, + "total_kg_days": 331200 + }, + { + "month": "2026-02", + "mean": 17, + "median": 17.6, + "p10": 14, + "p25": 14.9, + "p75": 18.9, + "p90": 19.7, + "n": 5, + "total_kg_days": 302400 + }, + { + "month": "2026-03", + "mean": 15.1, + "median": 14.9, + "p10": 11.9, + "p25": 13.5, + "p75": 17.6, + "p90": 18.4, + "n": 5, + "total_kg_days": 268800 + }, + { + "month": "2026-04", + "mean": 17, + "median": 16.2, + "p10": 14.6, + "p25": 16.2, + "p75": 17.6, + "p90": 20, + "n": 5, + "total_kg_days": 302400 + }, + { + "month": "2026-05", + "mean": 14.9, + "median": 14.9, + "p10": 12.7, + "p25": 13.5, + "p75": 16.2, + "p90": 17, + "n": 5, + "total_kg_days": 264000 + } + ], + "stats": { + "n": 57, + "mean": 17.2, + "median": 16.2, + "std": 5.6, + "min": 2.7, + "max": 56.7, + "p25": 13.5, + "p75": 18.9, + "p85": 20.2, + "p95": 27 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "annotations": [], + "cost": { + "unit_price": 38.475, + "currency": "CHF", + "mean_qty": 4800, + "monthly": [ + { + "month": "2023-03", + "n_events": 2, + "total_kg_days": 144000 + }, + { + "month": "2023-09", + "n_events": 1, + "total_kg_days": 201600 + }, + { + "month": "2024-03", + "n_events": 2, + "total_kg_days": 115200 + }, + { + "month": "2024-09", + "n_events": 3, + "total_kg_days": 201600 + }, + { + "month": "2025-03", + "n_events": 2, + "total_kg_days": 96000 + }, + { + "month": "2025-07", + "n_events": 2, + "total_kg_days": 115200 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 297600 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 259200 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 292800 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 288000 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 331200 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 302400 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 268800 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 302400 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 264000 + } + ] + }, + "detail_rows": { + "columns": [ + { + "key": "batch", + "source_field": "CHARG", + "source_table": "MSEG", + "label": "Batch" + }, + { + "key": "consumption_date", + "source_field": "BUDAT", + "source_table": "MKPF", + "label": "Consumption Date" + }, + { + "key": "dwell_days", + "source_field": null, + "source_table": null, + "label": "Dwell Days", + "unit": "d" + }, + { + "key": "kg_days", + "source_field": null, + "source_table": null, + "label": "Inventory kg-days", + "unit": "kg·d" + }, + { + "key": "cons_matnr", + "source_field": "MATNR", + "source_table": "MSEG", + "label": "Consuming Material" + }, + { + "key": "cons_material_name", + "source_field": "MAKTX", + "source_table": "MAKT", + "label": "Consuming Material Name" + }, + { + "key": "cons_in_current_recipe", + "source_field": null, + "source_table": null, + "label": "In Current Recipe" + } + ], + "rows": [ + { + "batch": "POST_QA_SHIP_PLA-001", + "consumption_date": "2023-03-10", + "dwell_days": 10.8, + "kg_days": 72000, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-002", + "consumption_date": "2023-03-25", + "dwell_days": 29.7, + "kg_days": 72000, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-003", + "consumption_date": "2023-09-20", + "dwell_days": 56.7, + "kg_days": 201600, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-004", + "consumption_date": "2024-03-15", + "dwell_days": 8.1, + "kg_days": 57600, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-005", + "consumption_date": "2024-03-28", + "dwell_days": 24.3, + "kg_days": 57600, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-006", + "consumption_date": "2024-09-05", + "dwell_days": 37.8, + "kg_days": 67200, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-007", + "consumption_date": "2024-09-15", + "dwell_days": 16.2, + "kg_days": 67200, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-008", + "consumption_date": "2024-09-25", + "dwell_days": 2.7, + "kg_days": 67200, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-009", + "consumption_date": "2025-03-10", + "dwell_days": 20.2, + "kg_days": 48000, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-010", + "consumption_date": "2025-03-22", + "dwell_days": 6.8, + "kg_days": 48000, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-011", + "consumption_date": "2025-07-08", + "dwell_days": 27, + "kg_days": 57600, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-012", + "consumption_date": "2025-07-22", + "dwell_days": 5.4, + "kg_days": 57600, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-013", + "consumption_date": "2025-09-05", + "dwell_days": 18.9, + "kg_days": 59520, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-014", + "consumption_date": "2025-09-11", + "dwell_days": 20.2, + "kg_days": 59520, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-015", + "consumption_date": "2025-09-17", + "dwell_days": 13.5, + "kg_days": 59520, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-016", + "consumption_date": "2025-09-23", + "dwell_days": 14.9, + "kg_days": 59520, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-017", + "consumption_date": "2025-09-29", + "dwell_days": 16.2, + "kg_days": 59520, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-018", + "consumption_date": "2025-10-06", + "dwell_days": 18.9, + "kg_days": 51840, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-019", + "consumption_date": "2025-10-12", + "dwell_days": 10.8, + "kg_days": 51840, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-020", + "consumption_date": "2025-10-18", + "dwell_days": 13.5, + "kg_days": 51840, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-021", + "consumption_date": "2025-10-24", + "dwell_days": 14.9, + "kg_days": 51840, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-022", + "consumption_date": "2025-10-30", + "dwell_days": 14.9, + "kg_days": 51840, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-023", + "consumption_date": "2025-11-04", + "dwell_days": 13.5, + "kg_days": 58560, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-024", + "consumption_date": "2025-11-10", + "dwell_days": 16.2, + "kg_days": 58560, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-025", + "consumption_date": "2025-11-16", + "dwell_days": 16.2, + "kg_days": 58560, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-026", + "consumption_date": "2025-11-22", + "dwell_days": 17.6, + "kg_days": 58560, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-027", + "consumption_date": "2025-11-28", + "dwell_days": 18.9, + "kg_days": 58560, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-028", + "consumption_date": "2025-12-05", + "dwell_days": 13.5, + "kg_days": 57600, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-029", + "consumption_date": "2025-12-11", + "dwell_days": 14.9, + "kg_days": 57600, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-030", + "consumption_date": "2025-12-17", + "dwell_days": 16.2, + "kg_days": 57600, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-031", + "consumption_date": "2025-12-23", + "dwell_days": 17.6, + "kg_days": 57600, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-032", + "consumption_date": "2025-12-29", + "dwell_days": 18.9, + "kg_days": 57600, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-033", + "consumption_date": "2026-01-06", + "dwell_days": 17.6, + "kg_days": 66240, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-034", + "consumption_date": "2026-01-12", + "dwell_days": 18.9, + "kg_days": 66240, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-035", + "consumption_date": "2026-01-18", + "dwell_days": 20.2, + "kg_days": 66240, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-036", + "consumption_date": "2026-01-24", + "dwell_days": 21.6, + "kg_days": 66240, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-037", + "consumption_date": "2026-01-30", + "dwell_days": 14.9, + "kg_days": 66240, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-038", + "consumption_date": "2026-02-04", + "dwell_days": 17.6, + "kg_days": 60480, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-039", + "consumption_date": "2026-02-10", + "dwell_days": 18.9, + "kg_days": 60480, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-040", + "consumption_date": "2026-02-16", + "dwell_days": 20.2, + "kg_days": 60480, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-041", + "consumption_date": "2026-02-22", + "dwell_days": 13.5, + "kg_days": 60480, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-042", + "consumption_date": "2026-02-28", + "dwell_days": 14.9, + "kg_days": 60480, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-043", + "consumption_date": "2026-03-05", + "dwell_days": 17.6, + "kg_days": 53760, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-044", + "consumption_date": "2026-03-11", + "dwell_days": 18.9, + "kg_days": 53760, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-045", + "consumption_date": "2026-03-17", + "dwell_days": 10.8, + "kg_days": 53760, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-046", + "consumption_date": "2026-03-23", + "dwell_days": 13.5, + "kg_days": 53760, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-047", + "consumption_date": "2026-03-29", + "dwell_days": 14.9, + "kg_days": 53760, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-048", + "consumption_date": "2026-04-06", + "dwell_days": 21.6, + "kg_days": 60480, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-049", + "consumption_date": "2026-04-12", + "dwell_days": 13.5, + "kg_days": 60480, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-050", + "consumption_date": "2026-04-18", + "dwell_days": 16.2, + "kg_days": 60480, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-051", + "consumption_date": "2026-04-24", + "dwell_days": 16.2, + "kg_days": 60480, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-052", + "consumption_date": "2026-04-30", + "dwell_days": 17.6, + "kg_days": 60480, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-053", + "consumption_date": "2026-05-04", + "dwell_days": 12.2, + "kg_days": 52800, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-054", + "consumption_date": "2026-05-10", + "dwell_days": 13.5, + "kg_days": 52800, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-055", + "consumption_date": "2026-05-16", + "dwell_days": 14.9, + "kg_days": 52800, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-056", + "consumption_date": "2026-05-22", + "dwell_days": 16.2, + "kg_days": 52800, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-057", + "consumption_date": "2026-05-28", + "dwell_days": 17.6, + "kg_days": 52800, + "cons_matnr": "90000300004", + "cons_material_name": "Meadow Espresso", + "cons_in_current_recipe": 1 + } + ] + }, + "ref_date_col": "consumption_date", + "n_batches": null, + "n_movements": 12, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0", + "value_col": "dwell_days" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/procurement_highland_arabica.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/procurement_highland_arabica.json new file mode 100644 index 00000000000..473959c6abf --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/procurement_highland_arabica.json @@ -0,0 +1,3304 @@ +{ + "id": "procurement_highland_arabica", + "label": "Procurement: Highland Arabica", + "type": "procurement", + "durations": [ + 74.2, 56.7, 10.8, 85.1, 51.3, 29.7, 95.9, 40.5, 60.8, 24.3, 141.8, 47.2, + 16.2, 64.8, 52.7, 55.4, 59.4, 64.8, 68.9, 50.0, 54.0, 59.4, 63.5, 41.9, + 48.6, 54.0, 58.1, 36.5, 41.9, 62.1, 66.2, 44.6, 50.0, 52.7, 60.8, 39.2, + 44.6, 47.2, 51.3, 47.2, 52.7, 55.4, 59.4, 64.8, 47.2, 50.0, 54.0, 59.4, + 63.5, 44.6, 48.6, 54.0, 58.1, 36.5, 56.7, 62.1, 66.2, 44.6, 50.0 + ], + "observations": [ + { + "date": "2022-03-15", + "value": 74.2 + }, + { + "date": "2022-06-10", + "value": 56.7 + }, + { + "date": "2022-09-22", + "value": 10.8 + }, + { + "date": "2022-12-05", + "value": 85.1 + }, + { + "date": "2023-02-14", + "value": 51.3 + }, + { + "date": "2023-05-30", + "value": 29.7 + }, + { + "date": "2023-08-17", + "value": 95.9 + }, + { + "date": "2023-11-02", + "value": 40.5 + }, + { + "date": "2024-01-25", + "value": 60.8 + }, + { + "date": "2024-04-11", + "value": 24.3 + }, + { + "date": "2024-07-09", + "value": 141.8 + }, + { + "date": "2024-10-03", + "value": 47.2 + }, + { + "date": "2025-01-20", + "value": 16.2 + }, + { + "date": "2025-04-08", + "value": 64.8 + }, + { + "date": "2025-09-05", + "value": 52.7 + }, + { + "date": "2025-09-11", + "value": 55.4 + }, + { + "date": "2025-09-17", + "value": 59.4 + }, + { + "date": "2025-09-23", + "value": 64.8 + }, + { + "date": "2025-09-29", + "value": 68.9 + }, + { + "date": "2025-10-06", + "value": 50.0 + }, + { + "date": "2025-10-12", + "value": 54.0 + }, + { + "date": "2025-10-18", + "value": 59.4 + }, + { + "date": "2025-10-24", + "value": 63.5 + }, + { + "date": "2025-10-30", + "value": 41.9 + }, + { + "date": "2025-11-04", + "value": 48.6 + }, + { + "date": "2025-11-10", + "value": 54.0 + }, + { + "date": "2025-11-16", + "value": 58.1 + }, + { + "date": "2025-11-22", + "value": 36.5 + }, + { + "date": "2025-11-28", + "value": 41.9 + }, + { + "date": "2025-12-05", + "value": 62.1 + }, + { + "date": "2025-12-11", + "value": 66.2 + }, + { + "date": "2025-12-17", + "value": 44.6 + }, + { + "date": "2025-12-23", + "value": 50.0 + }, + { + "date": "2025-12-29", + "value": 52.7 + }, + { + "date": "2026-01-06", + "value": 60.8 + }, + { + "date": "2026-01-12", + "value": 39.2 + }, + { + "date": "2026-01-18", + "value": 44.6 + }, + { + "date": "2026-01-24", + "value": 47.2 + }, + { + "date": "2026-01-30", + "value": 51.3 + }, + { + "date": "2026-02-04", + "value": 47.2 + }, + { + "date": "2026-02-10", + "value": 52.7 + }, + { + "date": "2026-02-16", + "value": 55.4 + }, + { + "date": "2026-02-22", + "value": 59.4 + }, + { + "date": "2026-02-28", + "value": 64.8 + }, + { + "date": "2026-03-05", + "value": 47.2 + }, + { + "date": "2026-03-11", + "value": 50.0 + }, + { + "date": "2026-03-17", + "value": 54.0 + }, + { + "date": "2026-03-23", + "value": 59.4 + }, + { + "date": "2026-03-29", + "value": 63.5 + }, + { + "date": "2026-04-06", + "value": 44.6 + }, + { + "date": "2026-04-12", + "value": 48.6 + }, + { + "date": "2026-04-18", + "value": 54.0 + }, + { + "date": "2026-04-24", + "value": 58.1 + }, + { + "date": "2026-04-30", + "value": 36.5 + }, + { + "date": "2026-05-04", + "value": 56.7 + }, + { + "date": "2026-05-10", + "value": 62.1 + }, + { + "date": "2026-05-16", + "value": 66.2 + }, + { + "date": "2026-05-22", + "value": 44.6 + }, + { + "date": "2026-05-28", + "value": 50.0 + } + ], + "monthly": [ + { + "month": "2022-03", + "mean": 74.2, + "median": 74.2, + "p10": 74.2, + "p25": 74.2, + "p75": 74.2, + "p90": 74.2, + "n": 1 + }, + { + "month": "2022-06", + "mean": 56.7, + "median": 56.7, + "p10": 56.7, + "p25": 56.7, + "p75": 56.7, + "p90": 56.7, + "n": 1 + }, + { + "month": "2022-09", + "mean": 10.8, + "median": 10.8, + "p10": 10.8, + "p25": 10.8, + "p75": 10.8, + "p90": 10.8, + "n": 1 + }, + { + "month": "2022-12", + "mean": 85.1, + "median": 85.1, + "p10": 85.1, + "p25": 85.1, + "p75": 85.1, + "p90": 85.1, + "n": 1 + }, + { + "month": "2023-02", + "mean": 51.3, + "median": 51.3, + "p10": 51.3, + "p25": 51.3, + "p75": 51.3, + "p90": 51.3, + "n": 1 + }, + { + "month": "2023-05", + "mean": 29.7, + "median": 29.7, + "p10": 29.7, + "p25": 29.7, + "p75": 29.7, + "p90": 29.7, + "n": 1 + }, + { + "month": "2023-08", + "mean": 95.9, + "median": 95.9, + "p10": 95.9, + "p25": 95.9, + "p75": 95.9, + "p90": 95.9, + "n": 1 + }, + { + "month": "2023-11", + "mean": 40.5, + "median": 40.5, + "p10": 40.5, + "p25": 40.5, + "p75": 40.5, + "p90": 40.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 60.8, + "median": 60.8, + "p10": 60.8, + "p25": 60.8, + "p75": 60.8, + "p90": 60.8, + "n": 1 + }, + { + "month": "2024-04", + "mean": 24.3, + "median": 24.3, + "p10": 24.3, + "p25": 24.3, + "p75": 24.3, + "p90": 24.3, + "n": 1 + }, + { + "month": "2024-07", + "mean": 141.8, + "median": 141.8, + "p10": 141.8, + "p25": 141.8, + "p75": 141.8, + "p90": 141.8, + "n": 1 + }, + { + "month": "2024-10", + "mean": 47.2, + "median": 47.2, + "p10": 47.2, + "p25": 47.2, + "p75": 47.2, + "p90": 47.2, + "n": 1 + }, + { + "month": "2025-01", + "mean": 16.2, + "median": 16.2, + "p10": 16.2, + "p25": 16.2, + "p75": 16.2, + "p90": 16.2, + "n": 1 + }, + { + "month": "2025-04", + "mean": 64.8, + "median": 64.8, + "p10": 64.8, + "p25": 64.8, + "p75": 64.8, + "p90": 64.8, + "n": 1 + }, + { + "month": "2025-09", + "mean": 60.2, + "median": 59.4, + "p10": 53.7, + "p25": 55.4, + "p75": 64.8, + "p90": 67.2, + "n": 5 + }, + { + "month": "2025-10", + "mean": 53.7, + "median": 54.0, + "p10": 45.1, + "p25": 50.0, + "p75": 59.4, + "p90": 61.8, + "n": 5 + }, + { + "month": "2025-11", + "mean": 47.8, + "median": 48.6, + "p10": 38.6, + "p25": 41.9, + "p75": 54.0, + "p90": 56.4, + "n": 5 + }, + { + "month": "2025-12", + "mean": 55.1, + "median": 52.7, + "p10": 46.7, + "p25": 50.0, + "p75": 62.1, + "p90": 64.5, + "n": 5 + }, + { + "month": "2026-01", + "mean": 48.6, + "median": 47.2, + "p10": 41.3, + "p25": 44.6, + "p75": 51.3, + "p90": 57.0, + "n": 5 + }, + { + "month": "2026-02", + "mean": 55.9, + "median": 55.4, + "p10": 49.4, + "p25": 52.7, + "p75": 59.4, + "p90": 62.6, + "n": 5 + }, + { + "month": "2026-03", + "mean": 54.8, + "median": 54.0, + "p10": 48.3, + "p25": 50.0, + "p75": 59.4, + "p90": 61.8, + "n": 5 + }, + { + "month": "2026-04", + "mean": 48.3, + "median": 48.6, + "p10": 39.7, + "p25": 44.6, + "p75": 54.0, + "p90": 56.4, + "n": 5 + }, + { + "month": "2026-05", + "mean": 55.9, + "median": 56.7, + "p10": 46.7, + "p25": 50.0, + "p75": 62.1, + "p90": 64.5, + "n": 5 + } + ], + "stats": { + "n": 59, + "mean": 54.3, + "median": 54.0, + "std": 13.3, + "min": 10.8, + "max": 141.8, + "p25": 47.2, + "p75": 60.8, + "p85": 64.8, + "p95": 74.2 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 98.3, + "annotations": [ + { + "date": "2023-09-01", + "label": "Supplier change for Highland Arabica" + } + ], + "cost": null, + "detail_rows": { + "columns": [ + { + "key": "matnr", + "sap_field": "MATNR", + "sap_table": "EKPO", + "label": "Material", + "unit": null + }, + { + "key": "po_number", + "sap_field": "EBELN", + "sap_table": "EKKO", + "label": "PO Number", + "unit": null + }, + { + "key": "po_item", + "sap_field": "EBELP", + "sap_table": "EKPO", + "label": "PO Item", + "unit": null + }, + { + "key": "vendor_id", + "sap_field": "LIFNR", + "sap_table": "EKKO", + "label": "Vendor (LIFNR)", + "unit": null + }, + { + "key": "vendor_name", + "sap_field": "NAME1", + "sap_table": "LFA1", + "label": "Vendor Name", + "unit": null + }, + { + "key": "po_date", + "sap_field": "BEDAT", + "sap_table": "EKKO", + "label": "PO Date", + "unit": null + }, + { + "key": "promised_date", + "sap_field": "EINDT", + "sap_table": "EKET", + "label": "Promised Date", + "unit": null + }, + { + "key": "sched_qty", + "sap_field": "MENGE", + "sap_table": "EKET", + "label": "Scheduled Qty", + "unit": null + }, + { + "key": "gr_qty_to_date", + "sap_field": "WEMNG", + "sap_table": "EKET", + "label": "GR Qty (to date)", + "unit": null + }, + { + "key": "gr_mblnr", + "sap_field": "MBLNR", + "sap_table": "MSEG", + "label": "Goods Receipt Document", + "unit": null + }, + { + "key": "first_gr_date", + "sap_field": "BUDAT", + "sap_table": "MKPF", + "label": "Goods Receipt Date", + "unit": null + }, + { + "key": "days_vs_promised", + "sap_field": null, + "sap_table": null, + "label": "Days vs Promised", + "unit": "d" + }, + { + "key": "lead_time_days", + "sap_field": null, + "sap_table": null, + "label": "Lead Time (days)", + "unit": "d" + } + ], + "rows": [ + { + "matnr": "demo_highland_arabica", + "po_number": "4500000003", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-14", + "promised_date": "2025-06-05", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000003", + "first_gr_date": "2025-06-03", + "days_vs_promised": -2, + "lead_time_days": 20 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000000", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-04-23", + "promised_date": "2025-06-08", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000000", + "first_gr_date": "2025-06-06", + "days_vs_promised": -2, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000005", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-27", + "promised_date": "2025-06-16", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000005", + "first_gr_date": "2025-06-13", + "days_vs_promised": -3, + "lead_time_days": 17 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000001", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-01", + "promised_date": "2025-06-17", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000001", + "first_gr_date": "2025-06-15", + "days_vs_promised": -2, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000002", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-06", + "promised_date": "2025-06-20", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000002", + "first_gr_date": "2025-06-20", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000004", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-22", + "promised_date": "2025-06-24", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000004", + "first_gr_date": "2025-06-21", + "days_vs_promised": -3, + "lead_time_days": 30 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000006", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-02", + "promised_date": "2025-07-10", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000006", + "first_gr_date": "2025-07-09", + "days_vs_promised": -1, + "lead_time_days": 37 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000007", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-11", + "promised_date": "2025-07-06", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000007", + "first_gr_date": "2025-07-10", + "days_vs_promised": 4, + "lead_time_days": 29 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000009", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-25", + "promised_date": "2025-07-23", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000009", + "first_gr_date": "2025-07-21", + "days_vs_promised": -2, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000010", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-30", + "promised_date": "2025-07-26", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000010", + "first_gr_date": "2025-07-26", + "days_vs_promised": 0, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000008", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-19", + "promised_date": "2025-08-07", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000008", + "first_gr_date": "2025-08-07", + "days_vs_promised": 0, + "lead_time_days": 49 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000012", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-07-15", + "promised_date": "2025-08-07", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000012", + "first_gr_date": "2025-08-07", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000013", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-07-23", + "promised_date": "2025-08-20", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000013", + "first_gr_date": "2025-08-20", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000014", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-07-28", + "promised_date": "2025-08-23", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000014", + "first_gr_date": "2025-08-23", + "days_vs_promised": 0, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000011", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-07-07", + "promised_date": "2025-08-19", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000011", + "first_gr_date": "2025-08-25", + "days_vs_promised": 6, + "lead_time_days": 49 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000015", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-08-04", + "promised_date": "2025-08-27", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000015", + "first_gr_date": "2025-08-27", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000016", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-08-13", + "promised_date": "2025-09-25", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000016", + "first_gr_date": "2025-09-25", + "days_vs_promised": 0, + "lead_time_days": 43 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000019", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-09-04", + "promised_date": "2025-09-28", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000019", + "first_gr_date": "2025-09-27", + "days_vs_promised": -1, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000020", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-09-09", + "promised_date": "2025-10-03", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000020", + "first_gr_date": "2025-10-03", + "days_vs_promised": 0, + "lead_time_days": 24 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000017", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-08-21", + "promised_date": "2025-10-05", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000017", + "first_gr_date": "2025-10-05", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000018", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-08-26", + "promised_date": "2025-10-12", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000018", + "first_gr_date": "2025-10-10", + "days_vs_promised": -2, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000022", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-09-23", + "promised_date": "2025-10-17", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000022", + "first_gr_date": "2025-10-16", + "days_vs_promised": -1, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000021", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-09-17", + "promised_date": "2025-10-22", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000021", + "first_gr_date": "2025-10-19", + "days_vs_promised": -3, + "lead_time_days": 32 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000023", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-01", + "promised_date": "2025-10-29", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000023", + "first_gr_date": "2025-10-31", + "days_vs_promised": 2, + "lead_time_days": 30 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000024", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-08", + "promised_date": "2025-11-01", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000024", + "first_gr_date": "2025-11-01", + "days_vs_promised": 0, + "lead_time_days": 24 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000025", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-14", + "promised_date": "2025-11-19", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000025", + "first_gr_date": "2025-11-17", + "days_vs_promised": -2, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000027", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-29", + "promised_date": "2025-12-01", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000027", + "first_gr_date": "2025-11-29", + "days_vs_promised": -2, + "lead_time_days": 31 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000028", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-11-04", + "promised_date": "2025-12-03", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000028", + "first_gr_date": "2025-12-03", + "days_vs_promised": 0, + "lead_time_days": 29 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000026", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-21", + "promised_date": "2025-12-04", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000026", + "first_gr_date": "2025-12-04", + "days_vs_promised": 0, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000029", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-11-10", + "promised_date": "2025-12-19", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000029", + "first_gr_date": "2025-12-19", + "days_vs_promised": 0, + "lead_time_days": 39 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000030", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-11-20", + "promised_date": "2025-12-23", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000030", + "first_gr_date": "2025-12-24", + "days_vs_promised": 1, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000034", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000034", + "first_gr_date": "2026-01-11", + "days_vs_promised": -2, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000031", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-11-27", + "promised_date": "2026-01-13", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000031", + "first_gr_date": "2026-01-13", + "days_vs_promised": 0, + "lead_time_days": 47 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000033", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-10", + "promised_date": "2026-01-15", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000033", + "first_gr_date": "2026-01-13", + "days_vs_promised": -2, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000035", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-24", + "promised_date": "2026-01-13", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000035", + "first_gr_date": "2026-01-13", + "days_vs_promised": 0, + "lead_time_days": 20 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000032", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-04", + "promised_date": "2026-01-17", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000032", + "first_gr_date": "2026-01-17", + "days_vs_promised": 0, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000036", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-31", + "promised_date": "2026-02-01", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000036", + "first_gr_date": "2026-01-31", + "days_vs_promised": -1, + "lead_time_days": 31 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000037", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-01-08", + "promised_date": "2026-02-10", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000037", + "first_gr_date": "2026-02-08", + "days_vs_promised": -2, + "lead_time_days": 31 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000038", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-01-13", + "promised_date": "2026-02-13", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000038", + "first_gr_date": "2026-02-11", + "days_vs_promised": -2, + "lead_time_days": 29 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000040", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-01-29", + "promised_date": "2026-02-25", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000040", + "first_gr_date": "2026-02-25", + "days_vs_promised": 0, + "lead_time_days": 27 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000039", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-01-20", + "promised_date": "2026-03-01", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000039", + "first_gr_date": "2026-03-01", + "days_vs_promised": 0, + "lead_time_days": 40 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000041", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-02-03", + "promised_date": "2026-03-07", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000041", + "first_gr_date": "2026-03-07", + "days_vs_promised": 0, + "lead_time_days": 32 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000042", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-02-11", + "promised_date": "2026-03-18", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000042", + "first_gr_date": "2026-03-18", + "days_vs_promised": 0, + "lead_time_days": 35 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000043", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-02-16", + "promised_date": "2026-03-23", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000043", + "first_gr_date": "2026-03-22", + "days_vs_promised": -1, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000044", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-02-26", + "promised_date": "2026-03-24", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000044", + "first_gr_date": "2026-03-24", + "days_vs_promised": 0, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000045", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-04", + "promised_date": "2026-03-27", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000045", + "first_gr_date": "2026-03-27", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000057", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-02", + "promised_date": "2026-04-01", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000057", + "first_gr_date": "2026-04-01", + "days_vs_promised": 0, + "lead_time_days": 30 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000068", + "po_item": "00010", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-02-24", + "promised_date": "2026-04-03", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000068", + "first_gr_date": "2026-04-07", + "days_vs_promised": 4, + "lead_time_days": 42 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000069", + "po_item": "00020", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-04", + "promised_date": "2026-04-06", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000069", + "first_gr_date": "2026-04-09", + "days_vs_promised": 3, + "lead_time_days": 36 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000056", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-25", + "promised_date": "2026-04-09", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000056", + "first_gr_date": "2026-04-10", + "days_vs_promised": 1, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000058", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-11", + "promised_date": "2026-04-07", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000058", + "first_gr_date": "2026-04-12", + "days_vs_promised": 5, + "lead_time_days": 32 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000071", + "po_item": "00040", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-17", + "promised_date": "2026-04-16", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000071", + "first_gr_date": "2026-04-13", + "days_vs_promised": -3, + "lead_time_days": 27 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000060", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-24", + "promised_date": "2026-04-13", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000060", + "first_gr_date": "2026-04-14", + "days_vs_promised": 1, + "lead_time_days": 21 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000048", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-25", + "promised_date": "2026-04-22", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000048", + "first_gr_date": "2026-04-22", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000050", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-04-07", + "promised_date": "2026-04-30", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000050", + "first_gr_date": "2026-04-27", + "days_vs_promised": -3, + "lead_time_days": 20 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000046", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-10", + "promised_date": "2026-04-26", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000046", + "first_gr_date": "2026-04-29", + "days_vs_promised": 3, + "lead_time_days": 50 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000047", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-18", + "promised_date": "2026-05-03", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000047", + "first_gr_date": "2026-05-01", + "days_vs_promised": -2, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000059", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000059", + "first_gr_date": "2026-05-01", + "days_vs_promised": 0, + "lead_time_days": 46 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000049", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-31", + "promised_date": "2026-05-09", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000049", + "first_gr_date": "2026-05-06", + "days_vs_promised": -3, + "lead_time_days": 36 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000074", + "po_item": "00020", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-04-08", + "promised_date": "2026-05-06", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000074", + "first_gr_date": "2026-05-06", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000063", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-13", + "promised_date": "2026-05-07", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000063", + "first_gr_date": "2026-05-07", + "days_vs_promised": 0, + "lead_time_days": 24 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000051", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-04-15", + "promised_date": "2026-05-11", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000051", + "first_gr_date": "2026-05-11", + "days_vs_promised": 0, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000070", + "po_item": "00030", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-09", + "promised_date": "2026-04-22", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000070", + "first_gr_date": "2026-05-12", + "days_vs_promised": 20, + "lead_time_days": 64 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000075", + "po_item": "00030", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-04-13", + "promised_date": "2026-05-18", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000075", + "first_gr_date": "2026-05-15", + "days_vs_promised": -3, + "lead_time_days": 32 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000061", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-01", + "promised_date": "2026-05-21", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000061", + "first_gr_date": "2026-05-18", + "days_vs_promised": -3, + "lead_time_days": 47 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000065", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-27", + "promised_date": "2026-05-19", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000065", + "first_gr_date": "2026-05-19", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000072", + "po_item": "00050", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-24", + "promised_date": "2026-05-03", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000072", + "first_gr_date": "2026-05-21", + "days_vs_promised": 18, + "lead_time_days": 58 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000062", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000062", + "first_gr_date": "2026-05-27", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000053", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-04-28", + "promised_date": "2026-05-29", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000053", + "first_gr_date": "2026-05-29", + "days_vs_promised": 0, + "lead_time_days": 31 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000077", + "po_item": "00050", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-04-29", + "promised_date": "2026-06-02", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000077", + "first_gr_date": "2026-06-02", + "days_vs_promised": 0, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000078", + "po_item": "00010", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-05-06", + "promised_date": "2026-06-06", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000078", + "first_gr_date": "2026-06-03", + "days_vs_promised": -3, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000076", + "po_item": "00040", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-04-20", + "promised_date": "2026-06-04", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000076", + "first_gr_date": "2026-06-04", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000064", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-21", + "promised_date": "2026-06-06", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000064", + "first_gr_date": "2026-06-05", + "days_vs_promised": -1, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000052", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-04-22", + "promised_date": "2026-06-06", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000052", + "first_gr_date": "2026-06-06", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000073", + "po_item": "00010", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-31", + "promised_date": "2026-05-08", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000073", + "first_gr_date": "2026-06-07", + "days_vs_promised": 30, + "lead_time_days": 68 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000079", + "po_item": "00020", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-05-12", + "promised_date": "2026-06-09", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000079", + "first_gr_date": "2026-06-09", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000054", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-05-07", + "promised_date": "2026-06-13", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000054", + "first_gr_date": "2026-06-13", + "days_vs_promised": 0, + "lead_time_days": 37 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000055", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-05-11", + "promised_date": "2026-06-15", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000055", + "first_gr_date": "2026-06-13", + "days_vs_promised": -2, + "lead_time_days": 33 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000066", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-05-04", + "promised_date": "2026-06-16", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000066", + "first_gr_date": "2026-06-16", + "days_vs_promised": 0, + "lead_time_days": 43 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000067", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-05-14", + "promised_date": "2026-06-04", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000067", + "first_gr_date": "2026-06-22", + "days_vs_promised": 18, + "lead_time_days": 39 + } + ] + }, + "ref_date_col": "first_gr_date", + "n_batches": null, + "n_movements": 14, + "yield_data": null, + "consumption_data": null, + "supplier_otif": { + "primary_vendor": { + "id": "D0002", + "name": "Cascadia Coffee Traders" + }, + "vendors": [ + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "n_lines": 56, + "n_late": 5, + "on_time_pct": 91.1, + "in_full_pct": 100.0, + "otif_pct": 91.1, + "mean_days_late_all": 0.29, + "mean_days_late_when_late": 3.2, + "median_days_late_when_late": 3, + "max_days_late": 6, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 8.9, + "ge_3d_pct": 5.4, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + } + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "n_lines": 12, + "n_late": 4, + "on_time_pct": 66.7, + "in_full_pct": 100.0, + "otif_pct": 66.7, + "mean_days_late_all": 2.08, + "mean_days_late_when_late": 6.2, + "median_days_late_when_late": 3.0, + "max_days_late": 18, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 33.3, + "ge_3d_pct": 16.7, + "ge_7d_pct": 8.3, + "ge_14d_pct": 8.3 + } + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "n_lines": 12, + "n_late": 5, + "on_time_pct": 58.3, + "in_full_pct": 100.0, + "otif_pct": 58.3, + "mean_days_late_all": 6.25, + "mean_days_late_when_late": 15, + "median_days_late_when_late": 18, + "max_days_late": 30, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 41.7, + "ge_3d_pct": 41.7, + "ge_7d_pct": 25.0, + "ge_14d_pct": 25.0 + } + } + ], + "worst_events": [ + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000073", + "po_item": "00010", + "po_date": "2026-03-31", + "promised_date": "2026-05-08", + "first_gr_date": "2026-06-07", + "days_late": 30, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000070", + "po_item": "00030", + "po_date": "2026-03-09", + "promised_date": "2026-04-22", + "first_gr_date": "2026-05-12", + "days_late": 20, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000067", + "po_item": "00020", + "po_date": "2026-05-14", + "promised_date": "2026-06-04", + "first_gr_date": "2026-06-22", + "days_late": 18, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000072", + "po_item": "00050", + "po_date": "2026-03-24", + "promised_date": "2026-05-03", + "first_gr_date": "2026-05-21", + "days_late": 18, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000011", + "po_item": "00020", + "po_date": "2025-07-07", + "promised_date": "2025-08-19", + "first_gr_date": "2025-08-25", + "days_late": 6, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000058", + "po_item": "00030", + "po_date": "2026-03-11", + "promised_date": "2026-04-07", + "first_gr_date": "2026-04-12", + "days_late": 5, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0 + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000007", + "po_item": "00030", + "po_date": "2025-06-11", + "promised_date": "2025-07-06", + "first_gr_date": "2025-07-10", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000068", + "po_item": "00010", + "po_date": "2026-02-24", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-07", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000046", + "po_item": "00020", + "po_date": "2026-03-10", + "promised_date": "2026-04-26", + "first_gr_date": "2026-04-29", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000069", + "po_item": "00020", + "po_date": "2026-03-04", + "promised_date": "2026-04-06", + "first_gr_date": "2026-04-09", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + } + ], + "coverage_pct": 100.0, + "n_lines": 80, + "data_quality_note": "100% in-full across every line \u2014 likely WEMNG = MENGE is auto-stamped at goods receipt rather than measured. Treat the in-full metric as a data-entry artifact at this site.", + "tolerance_days": 0, + "under_tolerance_pct": 0.05, + "lines": [ + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000000", + "po_item": "00010", + "po_date": "2025-04-23", + "promised_date": "2025-06-08", + "first_gr_date": "2025-06-06", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000001", + "po_item": "00020", + "po_date": "2025-05-01", + "promised_date": "2025-06-17", + "first_gr_date": "2025-06-15", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000002", + "po_item": "00030", + "po_date": "2025-05-06", + "promised_date": "2025-06-20", + "first_gr_date": "2025-06-20", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000003", + "po_item": "00040", + "po_date": "2025-05-14", + "promised_date": "2025-06-05", + "first_gr_date": "2025-06-03", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000004", + "po_item": "00050", + "po_date": "2025-05-22", + "promised_date": "2025-06-24", + "first_gr_date": "2025-06-21", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000005", + "po_item": "00010", + "po_date": "2025-05-27", + "promised_date": "2025-06-16", + "first_gr_date": "2025-06-13", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000006", + "po_item": "00020", + "po_date": "2025-06-02", + "promised_date": "2025-07-10", + "first_gr_date": "2025-07-09", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000007", + "po_item": "00030", + "po_date": "2025-06-11", + "promised_date": "2025-07-06", + "first_gr_date": "2025-07-10", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000008", + "po_item": "00040", + "po_date": "2025-06-19", + "promised_date": "2025-08-07", + "first_gr_date": "2025-08-07", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000009", + "po_item": "00050", + "po_date": "2025-06-25", + "promised_date": "2025-07-23", + "first_gr_date": "2025-07-21", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000010", + "po_item": "00010", + "po_date": "2025-06-30", + "promised_date": "2025-07-26", + "first_gr_date": "2025-07-26", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000011", + "po_item": "00020", + "po_date": "2025-07-07", + "promised_date": "2025-08-19", + "first_gr_date": "2025-08-25", + "days_late": 6, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000012", + "po_item": "00030", + "po_date": "2025-07-15", + "promised_date": "2025-08-07", + "first_gr_date": "2025-08-07", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000013", + "po_item": "00040", + "po_date": "2025-07-23", + "promised_date": "2025-08-20", + "first_gr_date": "2025-08-20", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000014", + "po_item": "00050", + "po_date": "2025-07-28", + "promised_date": "2025-08-23", + "first_gr_date": "2025-08-23", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000015", + "po_item": "00010", + "po_date": "2025-08-04", + "promised_date": "2025-08-27", + "first_gr_date": "2025-08-27", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000016", + "po_item": "00020", + "po_date": "2025-08-13", + "promised_date": "2025-09-25", + "first_gr_date": "2025-09-25", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000017", + "po_item": "00030", + "po_date": "2025-08-21", + "promised_date": "2025-10-05", + "first_gr_date": "2025-10-05", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000018", + "po_item": "00040", + "po_date": "2025-08-26", + "promised_date": "2025-10-12", + "first_gr_date": "2025-10-10", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000019", + "po_item": "00050", + "po_date": "2025-09-04", + "promised_date": "2025-09-28", + "first_gr_date": "2025-09-27", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000020", + "po_item": "00010", + "po_date": "2025-09-09", + "promised_date": "2025-10-03", + "first_gr_date": "2025-10-03", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000021", + "po_item": "00020", + "po_date": "2025-09-17", + "promised_date": "2025-10-22", + "first_gr_date": "2025-10-19", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000022", + "po_item": "00030", + "po_date": "2025-09-23", + "promised_date": "2025-10-17", + "first_gr_date": "2025-10-16", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000023", + "po_item": "00040", + "po_date": "2025-10-01", + "promised_date": "2025-10-29", + "first_gr_date": "2025-10-31", + "days_late": 2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000024", + "po_item": "00050", + "po_date": "2025-10-08", + "promised_date": "2025-11-01", + "first_gr_date": "2025-11-01", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000025", + "po_item": "00010", + "po_date": "2025-10-14", + "promised_date": "2025-11-19", + "first_gr_date": "2025-11-17", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000026", + "po_item": "00020", + "po_date": "2025-10-21", + "promised_date": "2025-12-04", + "first_gr_date": "2025-12-04", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000027", + "po_item": "00030", + "po_date": "2025-10-29", + "promised_date": "2025-12-01", + "first_gr_date": "2025-11-29", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000028", + "po_item": "00040", + "po_date": "2025-11-04", + "promised_date": "2025-12-03", + "first_gr_date": "2025-12-03", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000029", + "po_item": "00050", + "po_date": "2025-11-10", + "promised_date": "2025-12-19", + "first_gr_date": "2025-12-19", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000030", + "po_item": "00010", + "po_date": "2025-11-20", + "promised_date": "2025-12-23", + "first_gr_date": "2025-12-24", + "days_late": 1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000031", + "po_item": "00020", + "po_date": "2025-11-27", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-13", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000032", + "po_item": "00030", + "po_date": "2025-12-04", + "promised_date": "2026-01-17", + "first_gr_date": "2026-01-17", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000033", + "po_item": "00040", + "po_date": "2025-12-10", + "promised_date": "2026-01-15", + "first_gr_date": "2026-01-13", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000034", + "po_item": "00050", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-11", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000035", + "po_item": "00010", + "po_date": "2025-12-24", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-13", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000036", + "po_item": "00020", + "po_date": "2025-12-31", + "promised_date": "2026-02-01", + "first_gr_date": "2026-01-31", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000037", + "po_item": "00030", + "po_date": "2026-01-08", + "promised_date": "2026-02-10", + "first_gr_date": "2026-02-08", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000038", + "po_item": "00040", + "po_date": "2026-01-13", + "promised_date": "2026-02-13", + "first_gr_date": "2026-02-11", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000039", + "po_item": "00050", + "po_date": "2026-01-20", + "promised_date": "2026-03-01", + "first_gr_date": "2026-03-01", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000040", + "po_item": "00010", + "po_date": "2026-01-29", + "promised_date": "2026-02-25", + "first_gr_date": "2026-02-25", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000041", + "po_item": "00020", + "po_date": "2026-02-03", + "promised_date": "2026-03-07", + "first_gr_date": "2026-03-07", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000042", + "po_item": "00030", + "po_date": "2026-02-11", + "promised_date": "2026-03-18", + "first_gr_date": "2026-03-18", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000043", + "po_item": "00040", + "po_date": "2026-02-16", + "promised_date": "2026-03-23", + "first_gr_date": "2026-03-22", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000044", + "po_item": "00050", + "po_date": "2026-02-26", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-24", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000045", + "po_item": "00010", + "po_date": "2026-03-04", + "promised_date": "2026-03-27", + "first_gr_date": "2026-03-27", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000046", + "po_item": "00020", + "po_date": "2026-03-10", + "promised_date": "2026-04-26", + "first_gr_date": "2026-04-29", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000047", + "po_item": "00030", + "po_date": "2026-03-18", + "promised_date": "2026-05-03", + "first_gr_date": "2026-05-01", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000048", + "po_item": "00040", + "po_date": "2026-03-25", + "promised_date": "2026-04-22", + "first_gr_date": "2026-04-22", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000049", + "po_item": "00050", + "po_date": "2026-03-31", + "promised_date": "2026-05-09", + "first_gr_date": "2026-05-06", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000050", + "po_item": "00010", + "po_date": "2026-04-07", + "promised_date": "2026-04-30", + "first_gr_date": "2026-04-27", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000051", + "po_item": "00020", + "po_date": "2026-04-15", + "promised_date": "2026-05-11", + "first_gr_date": "2026-05-11", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000052", + "po_item": "00030", + "po_date": "2026-04-22", + "promised_date": "2026-06-06", + "first_gr_date": "2026-06-06", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000053", + "po_item": "00040", + "po_date": "2026-04-28", + "promised_date": "2026-05-29", + "first_gr_date": "2026-05-29", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000054", + "po_item": "00050", + "po_date": "2026-05-07", + "promised_date": "2026-06-13", + "first_gr_date": "2026-06-13", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000055", + "po_item": "00010", + "po_date": "2026-05-11", + "promised_date": "2026-06-15", + "first_gr_date": "2026-06-13", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000056", + "po_item": "00010", + "po_date": "2026-02-25", + "promised_date": "2026-04-09", + "first_gr_date": "2026-04-10", + "days_late": 1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000057", + "po_item": "00020", + "po_date": "2026-03-02", + "promised_date": "2026-04-01", + "first_gr_date": "2026-04-01", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000058", + "po_item": "00030", + "po_date": "2026-03-11", + "promised_date": "2026-04-07", + "first_gr_date": "2026-04-12", + "days_late": 5, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000059", + "po_item": "00040", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "first_gr_date": "2026-05-01", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000060", + "po_item": "00050", + "po_date": "2026-03-24", + "promised_date": "2026-04-13", + "first_gr_date": "2026-04-14", + "days_late": 1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000061", + "po_item": "00010", + "po_date": "2026-04-01", + "promised_date": "2026-05-21", + "first_gr_date": "2026-05-18", + "days_late": -3, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000062", + "po_item": "00020", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "first_gr_date": "2026-05-27", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000063", + "po_item": "00030", + "po_date": "2026-04-13", + "promised_date": "2026-05-07", + "first_gr_date": "2026-05-07", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000064", + "po_item": "00040", + "po_date": "2026-04-21", + "promised_date": "2026-06-06", + "first_gr_date": "2026-06-05", + "days_late": -1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000065", + "po_item": "00050", + "po_date": "2026-04-27", + "promised_date": "2026-05-19", + "first_gr_date": "2026-05-19", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000066", + "po_item": "00010", + "po_date": "2026-05-04", + "promised_date": "2026-06-16", + "first_gr_date": "2026-06-16", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000067", + "po_item": "00020", + "po_date": "2026-05-14", + "promised_date": "2026-06-04", + "first_gr_date": "2026-06-22", + "days_late": 18, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000068", + "po_item": "00010", + "po_date": "2026-02-24", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-07", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000069", + "po_item": "00020", + "po_date": "2026-03-04", + "promised_date": "2026-04-06", + "first_gr_date": "2026-04-09", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000070", + "po_item": "00030", + "po_date": "2026-03-09", + "promised_date": "2026-04-22", + "first_gr_date": "2026-05-12", + "days_late": 20, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000071", + "po_item": "00040", + "po_date": "2026-03-17", + "promised_date": "2026-04-16", + "first_gr_date": "2026-04-13", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000072", + "po_item": "00050", + "po_date": "2026-03-24", + "promised_date": "2026-05-03", + "first_gr_date": "2026-05-21", + "days_late": 18, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000073", + "po_item": "00010", + "po_date": "2026-03-31", + "promised_date": "2026-05-08", + "first_gr_date": "2026-06-07", + "days_late": 30, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000074", + "po_item": "00020", + "po_date": "2026-04-08", + "promised_date": "2026-05-06", + "first_gr_date": "2026-05-06", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000075", + "po_item": "00030", + "po_date": "2026-04-13", + "promised_date": "2026-05-18", + "first_gr_date": "2026-05-15", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000076", + "po_item": "00040", + "po_date": "2026-04-20", + "promised_date": "2026-06-04", + "first_gr_date": "2026-06-04", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000077", + "po_item": "00050", + "po_date": "2026-04-29", + "promised_date": "2026-06-02", + "first_gr_date": "2026-06-02", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000078", + "po_item": "00010", + "po_date": "2026-05-06", + "promised_date": "2026-06-06", + "first_gr_date": "2026-06-03", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000079", + "po_item": "00020", + "po_date": "2026-05-12", + "promised_date": "2026-06-09", + "first_gr_date": "2026-06-09", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + } + ] + }, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/procurement_lowland_robusta.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/procurement_lowland_robusta.json new file mode 100644 index 00000000000..1e265cb23cb --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/procurement_lowland_robusta.json @@ -0,0 +1,2575 @@ +{ + "id": "procurement_lowland_robusta", + "label": "Procurement: Lowland Robusta", + "type": "procurement", + "durations": [ + 43.2, 64.8, 6.8, 90.5, 33.8, 55.4, 20.2, 110.7, 51.3, 27.0, 70.2, 13.5, + 59.4, 37.8, 47.2, 24.3, 74.2, 35.1, 35.1, 39.2, 41.9, 45.9, 50.0, 35.1, + 37.8, 41.9, 44.6, 48.6, 44.6, 48.6, 51.3, 56.7, 37.8, 43.2, 47.2, 51.3, + 32.4, 37.8, 54.0, 58.1, 39.2, 44.6, 47.2, 54.0, 35.1, 39.2, 41.9, 45.9, + 29.7, 35.1, 37.8, 41.9, 44.6, 41.9, 44.6, 48.6, 51.3, 56.7, 40.5, 43.2, + 47.2, 51.3, 32.4 + ], + "observations": [ + { + "date": "2022-02-08", + "value": 43.2 + }, + { + "date": "2022-04-19", + "value": 64.8 + }, + { + "date": "2022-07-11", + "value": 6.8 + }, + { + "date": "2022-09-28", + "value": 90.5 + }, + { + "date": "2022-12-15", + "value": 33.8 + }, + { + "date": "2023-03-07", + "value": 55.4 + }, + { + "date": "2023-05-22", + "value": 20.2 + }, + { + "date": "2023-08-09", + "value": 110.7 + }, + { + "date": "2023-10-30", + "value": 51.3 + }, + { + "date": "2024-01-16", + "value": 27.0 + }, + { + "date": "2024-03-25", + "value": 70.2 + }, + { + "date": "2024-06-12", + "value": 13.5 + }, + { + "date": "2024-08-28", + "value": 59.4 + }, + { + "date": "2024-11-14", + "value": 37.8 + }, + { + "date": "2025-01-06", + "value": 47.2 + }, + { + "date": "2025-03-18", + "value": 24.3 + }, + { + "date": "2025-05-29", + "value": 74.2 + }, + { + "date": "2025-08-12", + "value": 35.1 + }, + { + "date": "2025-09-04", + "value": 35.1 + }, + { + "date": "2025-09-10", + "value": 39.2 + }, + { + "date": "2025-09-16", + "value": 41.9 + }, + { + "date": "2025-09-22", + "value": 45.9 + }, + { + "date": "2025-09-28", + "value": 50.0 + }, + { + "date": "2025-10-05", + "value": 35.1 + }, + { + "date": "2025-10-11", + "value": 37.8 + }, + { + "date": "2025-10-17", + "value": 41.9 + }, + { + "date": "2025-10-23", + "value": 44.6 + }, + { + "date": "2025-10-29", + "value": 48.6 + }, + { + "date": "2025-11-06", + "value": 44.6 + }, + { + "date": "2025-11-12", + "value": 48.6 + }, + { + "date": "2025-11-18", + "value": 51.3 + }, + { + "date": "2025-11-24", + "value": 56.7 + }, + { + "date": "2025-11-30", + "value": 37.8 + }, + { + "date": "2025-12-04", + "value": 43.2 + }, + { + "date": "2025-12-10", + "value": 47.2 + }, + { + "date": "2025-12-16", + "value": 51.3 + }, + { + "date": "2025-12-22", + "value": 32.4 + }, + { + "date": "2025-12-28", + "value": 37.8 + }, + { + "date": "2026-01-05", + "value": 54.0 + }, + { + "date": "2026-01-11", + "value": 58.1 + }, + { + "date": "2026-01-17", + "value": 39.2 + }, + { + "date": "2026-01-23", + "value": 44.6 + }, + { + "date": "2026-01-29", + "value": 47.2 + }, + { + "date": "2026-02-06", + "value": 54.0 + }, + { + "date": "2026-02-12", + "value": 35.1 + }, + { + "date": "2026-02-18", + "value": 39.2 + }, + { + "date": "2026-02-24", + "value": 41.9 + }, + { + "date": "2026-02-30", + "value": 45.9 + }, + { + "date": "2026-03-04", + "value": 29.7 + }, + { + "date": "2026-03-10", + "value": 35.1 + }, + { + "date": "2026-03-16", + "value": 37.8 + }, + { + "date": "2026-03-22", + "value": 41.9 + }, + { + "date": "2026-03-28", + "value": 44.6 + }, + { + "date": "2026-04-05", + "value": 41.9 + }, + { + "date": "2026-04-11", + "value": 44.6 + }, + { + "date": "2026-04-17", + "value": 48.6 + }, + { + "date": "2026-04-23", + "value": 51.3 + }, + { + "date": "2026-04-29", + "value": 56.7 + }, + { + "date": "2026-05-06", + "value": 40.5 + }, + { + "date": "2026-05-12", + "value": 43.2 + }, + { + "date": "2026-05-18", + "value": 47.2 + }, + { + "date": "2026-05-24", + "value": 51.3 + }, + { + "date": "2026-05-30", + "value": 32.4 + } + ], + "monthly": [ + { + "month": "2022-02", + "mean": 43.2, + "median": 43.2, + "p10": 43.2, + "p25": 43.2, + "p75": 43.2, + "p90": 43.2, + "n": 1 + }, + { + "month": "2022-04", + "mean": 64.8, + "median": 64.8, + "p10": 64.8, + "p25": 64.8, + "p75": 64.8, + "p90": 64.8, + "n": 1 + }, + { + "month": "2022-07", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2022-09", + "mean": 90.5, + "median": 90.5, + "p10": 90.5, + "p25": 90.5, + "p75": 90.5, + "p90": 90.5, + "n": 1 + }, + { + "month": "2022-12", + "mean": 33.8, + "median": 33.8, + "p10": 33.8, + "p25": 33.8, + "p75": 33.8, + "p90": 33.8, + "n": 1 + }, + { + "month": "2023-03", + "mean": 55.4, + "median": 55.4, + "p10": 55.4, + "p25": 55.4, + "p75": 55.4, + "p90": 55.4, + "n": 1 + }, + { + "month": "2023-05", + "mean": 20.2, + "median": 20.2, + "p10": 20.2, + "p25": 20.2, + "p75": 20.2, + "p90": 20.2, + "n": 1 + }, + { + "month": "2023-08", + "mean": 110.7, + "median": 110.7, + "p10": 110.7, + "p25": 110.7, + "p75": 110.7, + "p90": 110.7, + "n": 1 + }, + { + "month": "2023-10", + "mean": 51.3, + "median": 51.3, + "p10": 51.3, + "p25": 51.3, + "p75": 51.3, + "p90": 51.3, + "n": 1 + }, + { + "month": "2024-01", + "mean": 27.0, + "median": 27.0, + "p10": 27.0, + "p25": 27.0, + "p75": 27.0, + "p90": 27.0, + "n": 1 + }, + { + "month": "2024-03", + "mean": 70.2, + "median": 70.2, + "p10": 70.2, + "p25": 70.2, + "p75": 70.2, + "p90": 70.2, + "n": 1 + }, + { + "month": "2024-06", + "mean": 13.5, + "median": 13.5, + "p10": 13.5, + "p25": 13.5, + "p75": 13.5, + "p90": 13.5, + "n": 1 + }, + { + "month": "2024-08", + "mean": 59.4, + "median": 59.4, + "p10": 59.4, + "p25": 59.4, + "p75": 59.4, + "p90": 59.4, + "n": 1 + }, + { + "month": "2024-11", + "mean": 37.8, + "median": 37.8, + "p10": 37.8, + "p25": 37.8, + "p75": 37.8, + "p90": 37.8, + "n": 1 + }, + { + "month": "2025-01", + "mean": 47.2, + "median": 47.2, + "p10": 47.2, + "p25": 47.2, + "p75": 47.2, + "p90": 47.2, + "n": 1 + }, + { + "month": "2025-03", + "mean": 24.3, + "median": 24.3, + "p10": 24.3, + "p25": 24.3, + "p75": 24.3, + "p90": 24.3, + "n": 1 + }, + { + "month": "2025-05", + "mean": 74.2, + "median": 74.2, + "p10": 74.2, + "p25": 74.2, + "p75": 74.2, + "p90": 74.2, + "n": 1 + }, + { + "month": "2025-08", + "mean": 35.1, + "median": 35.1, + "p10": 35.1, + "p25": 35.1, + "p75": 35.1, + "p90": 35.1, + "n": 1 + }, + { + "month": "2025-09", + "mean": 42.4, + "median": 41.9, + "p10": 36.7, + "p25": 39.2, + "p75": 45.9, + "p90": 48.3, + "n": 5 + }, + { + "month": "2025-10", + "mean": 41.6, + "median": 41.9, + "p10": 36.2, + "p25": 37.8, + "p75": 44.6, + "p90": 47.0, + "n": 5 + }, + { + "month": "2025-11", + "mean": 47.8, + "median": 48.6, + "p10": 40.5, + "p25": 44.6, + "p75": 51.3, + "p90": 54.5, + "n": 5 + }, + { + "month": "2025-12", + "mean": 42.4, + "median": 43.2, + "p10": 34.6, + "p25": 37.8, + "p75": 47.2, + "p90": 49.7, + "n": 5 + }, + { + "month": "2026-01", + "mean": 48.6, + "median": 47.2, + "p10": 41.3, + "p25": 44.6, + "p75": 54.0, + "p90": 56.4, + "n": 5 + }, + { + "month": "2026-02", + "mean": 43.2, + "median": 41.9, + "p10": 36.7, + "p25": 39.2, + "p75": 45.9, + "p90": 50.8, + "n": 5 + }, + { + "month": "2026-03", + "mean": 37.8, + "median": 37.8, + "p10": 31.9, + "p25": 35.1, + "p75": 41.9, + "p90": 43.5, + "n": 5 + }, + { + "month": "2026-04", + "mean": 48.6, + "median": 48.6, + "p10": 42.9, + "p25": 44.6, + "p75": 51.3, + "p90": 54.5, + "n": 5 + }, + { + "month": "2026-05", + "mean": 42.9, + "median": 43.2, + "p10": 35.6, + "p25": 40.5, + "p75": 47.2, + "p90": 49.7, + "n": 5 + } + ], + "stats": { + "n": 63, + "mean": 45.1, + "median": 44.6, + "std": 11.4, + "min": 6.8, + "max": 110.7, + "p25": 37.8, + "p75": 51.3, + "p85": 54.0, + "p95": 64.8 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 96.8, + "annotations": [], + "cost": null, + "detail_rows": { + "columns": [ + { + "key": "matnr", + "sap_field": "MATNR", + "sap_table": "EKPO", + "label": "Material", + "unit": null + }, + { + "key": "po_number", + "sap_field": "EBELN", + "sap_table": "EKKO", + "label": "PO Number", + "unit": null + }, + { + "key": "po_item", + "sap_field": "EBELP", + "sap_table": "EKPO", + "label": "PO Item", + "unit": null + }, + { + "key": "vendor_id", + "sap_field": "LIFNR", + "sap_table": "EKKO", + "label": "Vendor (LIFNR)", + "unit": null + }, + { + "key": "vendor_name", + "sap_field": "NAME1", + "sap_table": "LFA1", + "label": "Vendor Name", + "unit": null + }, + { + "key": "po_date", + "sap_field": "BEDAT", + "sap_table": "EKKO", + "label": "PO Date", + "unit": null + }, + { + "key": "promised_date", + "sap_field": "EINDT", + "sap_table": "EKET", + "label": "Promised Date", + "unit": null + }, + { + "key": "sched_qty", + "sap_field": "MENGE", + "sap_table": "EKET", + "label": "Scheduled Qty", + "unit": null + }, + { + "key": "gr_qty_to_date", + "sap_field": "WEMNG", + "sap_table": "EKET", + "label": "GR Qty (to date)", + "unit": null + }, + { + "key": "gr_mblnr", + "sap_field": "MBLNR", + "sap_table": "MSEG", + "label": "Goods Receipt Document", + "unit": null + }, + { + "key": "first_gr_date", + "sap_field": "BUDAT", + "sap_table": "MKPF", + "label": "Goods Receipt Date", + "unit": null + }, + { + "key": "days_vs_promised", + "sap_field": null, + "sap_table": null, + "label": "Days vs Promised", + "unit": "d" + }, + { + "key": "lead_time_days", + "sap_field": null, + "sap_table": null, + "label": "Lead Time (days)", + "unit": "d" + } + ], + "rows": [ + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000081", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-08-07", + "promised_date": "2025-08-30", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000081", + "first_gr_date": "2025-08-29", + "days_vs_promised": -1, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000082", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-08-11", + "promised_date": "2025-09-05", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000082", + "first_gr_date": "2025-09-03", + "days_vs_promised": -2, + "lead_time_days": 23 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000080", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-07-29", + "promised_date": "2025-09-10", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000080", + "first_gr_date": "2025-09-08", + "days_vs_promised": -2, + "lead_time_days": 41 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000083", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-08-19", + "promised_date": "2025-09-16", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000083", + "first_gr_date": "2025-09-16", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000084", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-08-27", + "promised_date": "2025-10-02", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000084", + "first_gr_date": "2025-10-01", + "days_vs_promised": -1, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000086", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-10", + "promised_date": "2025-10-14", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000086", + "first_gr_date": "2025-10-14", + "days_vs_promised": 0, + "lead_time_days": 34 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000088", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-22", + "promised_date": "2025-10-14", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000088", + "first_gr_date": "2025-10-14", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000085", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-04", + "promised_date": "2025-10-21", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000085", + "first_gr_date": "2025-10-19", + "days_vs_promised": -2, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000087", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-15", + "promised_date": "2025-10-23", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000087", + "first_gr_date": "2025-10-22", + "days_vs_promised": -1, + "lead_time_days": 37 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000089", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-29", + "promised_date": "2025-11-02", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000089", + "first_gr_date": "2025-11-01", + "days_vs_promised": -1, + "lead_time_days": 33 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000090", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-10-08", + "promised_date": "2025-11-07", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000090", + "first_gr_date": "2025-11-06", + "days_vs_promised": -1, + "lead_time_days": 29 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000093", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-10-27", + "promised_date": "2025-11-23", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000093", + "first_gr_date": "2025-11-23", + "days_vs_promised": 0, + "lead_time_days": 27 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000094", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-11-04", + "promised_date": "2025-11-25", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000094", + "first_gr_date": "2025-11-25", + "days_vs_promised": 0, + "lead_time_days": 21 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000091", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-10-14", + "promised_date": "2025-12-02", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000091", + "first_gr_date": "2025-11-30", + "days_vs_promised": -2, + "lead_time_days": 47 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000092", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-10-20", + "promised_date": "2025-12-08", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000092", + "first_gr_date": "2025-12-07", + "days_vs_promised": -1, + "lead_time_days": 48 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000095", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-11-11", + "promised_date": "2025-12-23", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000095", + "first_gr_date": "2025-12-20", + "days_vs_promised": -3, + "lead_time_days": 39 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000099", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-09", + "promised_date": "2025-12-30", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000099", + "first_gr_date": "2025-12-27", + "days_vs_promised": -3, + "lead_time_days": 18 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000096", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-11-20", + "promised_date": "2025-12-28", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000096", + "first_gr_date": "2025-12-28", + "days_vs_promised": 0, + "lead_time_days": 38 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000098", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-03", + "promised_date": "2025-12-28", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000098", + "first_gr_date": "2025-12-28", + "days_vs_promised": 0, + "lead_time_days": 25 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000097", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-11-25", + "promised_date": "2025-12-31", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000097", + "first_gr_date": "2025-12-30", + "days_vs_promised": -1, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000101", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-23", + "promised_date": "2026-01-15", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000101", + "first_gr_date": "2026-01-15", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000102", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-31", + "promised_date": "2026-01-20", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000102", + "first_gr_date": "2026-01-20", + "days_vs_promised": 0, + "lead_time_days": 20 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000100", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-17", + "promised_date": "2026-02-04", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000100", + "first_gr_date": "2026-02-04", + "days_vs_promised": 0, + "lead_time_days": 49 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000122", + "po_item": "00010", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-01-12", + "promised_date": "2026-02-04", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000122", + "first_gr_date": "2026-02-04", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000104", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-01-14", + "promised_date": "2026-02-09", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000104", + "first_gr_date": "2026-02-08", + "days_vs_promised": -1, + "lead_time_days": 25 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000103", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-01-06", + "promised_date": "2026-02-13", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000103", + "first_gr_date": "2026-02-13", + "days_vs_promised": 0, + "lead_time_days": 38 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000105", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-01-19", + "promised_date": "2026-02-23", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000105", + "first_gr_date": "2026-02-23", + "days_vs_promised": 0, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000125", + "po_item": "00040", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-02-02", + "promised_date": "2026-02-24", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000125", + "first_gr_date": "2026-02-24", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000123", + "po_item": "00020", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-01-20", + "promised_date": "2026-02-27", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000123", + "first_gr_date": "2026-02-27", + "days_vs_promised": 0, + "lead_time_days": 38 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000107", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-02-05", + "promised_date": "2026-03-02", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000107", + "first_gr_date": "2026-03-02", + "days_vs_promised": 0, + "lead_time_days": 25 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000124", + "po_item": "00030", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-01-29", + "promised_date": "2026-03-10", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000124", + "first_gr_date": "2026-03-07", + "days_vs_promised": -3, + "lead_time_days": 37 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000106", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-01-27", + "promised_date": "2026-03-16", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000106", + "first_gr_date": "2026-03-13", + "days_vs_promised": -3, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000126", + "po_item": "00050", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-02-09", + "promised_date": "2026-03-14", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000126", + "first_gr_date": "2026-03-14", + "days_vs_promised": 0, + "lead_time_days": 33 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000127", + "po_item": "00010", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-02-17", + "promised_date": "2026-03-24", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000127", + "first_gr_date": "2026-03-23", + "days_vs_promised": -1, + "lead_time_days": 34 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000108", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-02-12", + "promised_date": "2026-03-24", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000108", + "first_gr_date": "2026-03-24", + "days_vs_promised": 0, + "lead_time_days": 40 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000128", + "po_item": "00020", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-02-23", + "promised_date": "2026-03-24", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000128", + "first_gr_date": "2026-03-24", + "days_vs_promised": 0, + "lead_time_days": 29 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000110", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-02-24", + "promised_date": "2026-03-27", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000110", + "first_gr_date": "2026-03-25", + "days_vs_promised": -2, + "lead_time_days": 29 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000109", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-02-17", + "promised_date": "2026-04-06", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000109", + "first_gr_date": "2026-04-06", + "days_vs_promised": 0, + "lead_time_days": 48 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000129", + "po_item": "00030", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-03-04", + "promised_date": "2026-04-11", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000129", + "first_gr_date": "2026-04-08", + "days_vs_promised": -3, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000114", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-03-23", + "promised_date": "2026-04-13", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000114", + "first_gr_date": "2026-04-11", + "days_vs_promised": -2, + "lead_time_days": 19 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000111", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-03-05", + "promised_date": "2026-04-15", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000111", + "first_gr_date": "2026-04-12", + "days_vs_promised": -3, + "lead_time_days": 38 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000112", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-03-09", + "promised_date": "2026-04-13", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000112", + "first_gr_date": "2026-04-13", + "days_vs_promised": 0, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000130", + "po_item": "00040", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-03-09", + "promised_date": "2026-04-17", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000130", + "first_gr_date": "2026-04-17", + "days_vs_promised": 0, + "lead_time_days": 39 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000115", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-01", + "promised_date": "2026-04-23", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000115", + "first_gr_date": "2026-04-23", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000134", + "po_item": "00030", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-06", + "promised_date": "2026-05-03", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000134", + "first_gr_date": "2026-04-30", + "days_vs_promised": -3, + "lead_time_days": 24 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000113", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-03-17", + "promised_date": "2026-05-04", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000113", + "first_gr_date": "2026-05-01", + "days_vs_promised": -3, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000131", + "po_item": "00050", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000131", + "first_gr_date": "2026-05-01", + "days_vs_promised": 0, + "lead_time_days": 46 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000117", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-15", + "promised_date": "2026-05-05", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000117", + "first_gr_date": "2026-05-05", + "days_vs_promised": 0, + "lead_time_days": 20 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000136", + "po_item": "00050", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-20", + "promised_date": "2026-05-10", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000136", + "first_gr_date": "2026-05-08", + "days_vs_promised": -2, + "lead_time_days": 18 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000132", + "po_item": "00010", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-03-25", + "promised_date": "2026-05-11", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000132", + "first_gr_date": "2026-05-09", + "days_vs_promised": -2, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000133", + "po_item": "00020", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-02", + "promised_date": "2026-05-13", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000133", + "first_gr_date": "2026-05-13", + "days_vs_promised": 0, + "lead_time_days": 41 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000135", + "po_item": "00040", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-15", + "promised_date": "2026-05-18", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000135", + "first_gr_date": "2026-05-18", + "days_vs_promised": 0, + "lead_time_days": 33 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000116", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-06", + "promised_date": "2026-05-21", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000116", + "first_gr_date": "2026-05-21", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000138", + "po_item": "00020", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-05-06", + "promised_date": "2026-05-28", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000138", + "first_gr_date": "2026-05-28", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000118", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-20", + "promised_date": "2026-06-01", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000118", + "first_gr_date": "2026-05-31", + "days_vs_promised": -1, + "lead_time_days": 41 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000139", + "po_item": "00030", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-05-14", + "promised_date": "2026-06-03", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000139", + "first_gr_date": "2026-05-31", + "days_vs_promised": -3, + "lead_time_days": 17 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000137", + "po_item": "00010", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-29", + "promised_date": "2026-06-01", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000137", + "first_gr_date": "2026-06-01", + "days_vs_promised": 0, + "lead_time_days": 33 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000120", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-05-06", + "promised_date": "2026-06-08", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000120", + "first_gr_date": "2026-06-05", + "days_vs_promised": -3, + "lead_time_days": 30 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000119", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-30", + "promised_date": "2026-06-17", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000119", + "first_gr_date": "2026-06-17", + "days_vs_promised": 0, + "lead_time_days": 48 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000121", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-05-13", + "promised_date": "2026-06-19", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000121", + "first_gr_date": "2026-06-19", + "days_vs_promised": 0, + "lead_time_days": 37 + } + ] + }, + "ref_date_col": "first_gr_date", + "n_batches": null, + "n_movements": 18, + "yield_data": null, + "consumption_data": null, + "supplier_otif": { + "primary_vendor": { + "id": "D0004", + "name": "Riverbend Reliable Supply" + }, + "vendors": [ + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "n_lines": 42, + "n_late": 0, + "on_time_pct": 100.0, + "in_full_pct": 100.0, + "otif_pct": 100.0, + "mean_days_late_all": 0, + "mean_days_late_when_late": null, + "median_days_late_when_late": null, + "max_days_late": 0, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 0.0, + "ge_3d_pct": 0.0, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + } + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "n_lines": 18, + "n_late": 0, + "on_time_pct": 100.0, + "in_full_pct": 100.0, + "otif_pct": 100.0, + "mean_days_late_all": 0, + "mean_days_late_when_late": null, + "median_days_late_when_late": null, + "max_days_late": 0, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 0.0, + "ge_3d_pct": 0.0, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + } + } + ], + "worst_events": [], + "coverage_pct": 100.0, + "n_lines": 60, + "data_quality_note": "100% in-full across every line \u2014 likely WEMNG = MENGE is auto-stamped at goods receipt rather than measured. Treat the in-full metric as a data-entry artifact at this site.", + "tolerance_days": 0, + "under_tolerance_pct": 0.05, + "lines": [ + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000080", + "po_item": "00010", + "po_date": "2025-07-29", + "promised_date": "2025-09-10", + "first_gr_date": "2025-09-08", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000081", + "po_item": "00020", + "po_date": "2025-08-07", + "promised_date": "2025-08-30", + "first_gr_date": "2025-08-29", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000082", + "po_item": "00030", + "po_date": "2025-08-11", + "promised_date": "2025-09-05", + "first_gr_date": "2025-09-03", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000083", + "po_item": "00040", + "po_date": "2025-08-19", + "promised_date": "2025-09-16", + "first_gr_date": "2025-09-16", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000084", + "po_item": "00050", + "po_date": "2025-08-27", + "promised_date": "2025-10-02", + "first_gr_date": "2025-10-01", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000085", + "po_item": "00010", + "po_date": "2025-09-04", + "promised_date": "2025-10-21", + "first_gr_date": "2025-10-19", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000086", + "po_item": "00020", + "po_date": "2025-09-10", + "promised_date": "2025-10-14", + "first_gr_date": "2025-10-14", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000087", + "po_item": "00030", + "po_date": "2025-09-15", + "promised_date": "2025-10-23", + "first_gr_date": "2025-10-22", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000088", + "po_item": "00040", + "po_date": "2025-09-22", + "promised_date": "2025-10-14", + "first_gr_date": "2025-10-14", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000089", + "po_item": "00050", + "po_date": "2025-09-29", + "promised_date": "2025-11-02", + "first_gr_date": "2025-11-01", + "days_late": -1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000090", + "po_item": "00010", + "po_date": "2025-10-08", + "promised_date": "2025-11-07", + "first_gr_date": "2025-11-06", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000091", + "po_item": "00020", + "po_date": "2025-10-14", + "promised_date": "2025-12-02", + "first_gr_date": "2025-11-30", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000092", + "po_item": "00030", + "po_date": "2025-10-20", + "promised_date": "2025-12-08", + "first_gr_date": "2025-12-07", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000093", + "po_item": "00040", + "po_date": "2025-10-27", + "promised_date": "2025-11-23", + "first_gr_date": "2025-11-23", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000094", + "po_item": "00050", + "po_date": "2025-11-04", + "promised_date": "2025-11-25", + "first_gr_date": "2025-11-25", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000095", + "po_item": "00010", + "po_date": "2025-11-11", + "promised_date": "2025-12-23", + "first_gr_date": "2025-12-20", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000096", + "po_item": "00020", + "po_date": "2025-11-20", + "promised_date": "2025-12-28", + "first_gr_date": "2025-12-28", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000097", + "po_item": "00030", + "po_date": "2025-11-25", + "promised_date": "2025-12-31", + "first_gr_date": "2025-12-30", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000098", + "po_item": "00040", + "po_date": "2025-12-03", + "promised_date": "2025-12-28", + "first_gr_date": "2025-12-28", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000099", + "po_item": "00050", + "po_date": "2025-12-09", + "promised_date": "2025-12-30", + "first_gr_date": "2025-12-27", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000100", + "po_item": "00010", + "po_date": "2025-12-17", + "promised_date": "2026-02-04", + "first_gr_date": "2026-02-04", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000101", + "po_item": "00020", + "po_date": "2025-12-23", + "promised_date": "2026-01-15", + "first_gr_date": "2026-01-15", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000102", + "po_item": "00030", + "po_date": "2025-12-31", + "promised_date": "2026-01-20", + "first_gr_date": "2026-01-20", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000103", + "po_item": "00040", + "po_date": "2026-01-06", + "promised_date": "2026-02-13", + "first_gr_date": "2026-02-13", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000104", + "po_item": "00050", + "po_date": "2026-01-14", + "promised_date": "2026-02-09", + "first_gr_date": "2026-02-08", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000105", + "po_item": "00010", + "po_date": "2026-01-19", + "promised_date": "2026-02-23", + "first_gr_date": "2026-02-23", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000106", + "po_item": "00020", + "po_date": "2026-01-27", + "promised_date": "2026-03-16", + "first_gr_date": "2026-03-13", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000107", + "po_item": "00030", + "po_date": "2026-02-05", + "promised_date": "2026-03-02", + "first_gr_date": "2026-03-02", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000108", + "po_item": "00040", + "po_date": "2026-02-12", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-24", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000109", + "po_item": "00050", + "po_date": "2026-02-17", + "promised_date": "2026-04-06", + "first_gr_date": "2026-04-06", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000110", + "po_item": "00010", + "po_date": "2026-02-24", + "promised_date": "2026-03-27", + "first_gr_date": "2026-03-25", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000111", + "po_item": "00020", + "po_date": "2026-03-05", + "promised_date": "2026-04-15", + "first_gr_date": "2026-04-12", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000112", + "po_item": "00030", + "po_date": "2026-03-09", + "promised_date": "2026-04-13", + "first_gr_date": "2026-04-13", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000113", + "po_item": "00040", + "po_date": "2026-03-17", + "promised_date": "2026-05-04", + "first_gr_date": "2026-05-01", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000114", + "po_item": "00050", + "po_date": "2026-03-23", + "promised_date": "2026-04-13", + "first_gr_date": "2026-04-11", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000115", + "po_item": "00010", + "po_date": "2026-04-01", + "promised_date": "2026-04-23", + "first_gr_date": "2026-04-23", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000116", + "po_item": "00020", + "po_date": "2026-04-06", + "promised_date": "2026-05-21", + "first_gr_date": "2026-05-21", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000117", + "po_item": "00030", + "po_date": "2026-04-15", + "promised_date": "2026-05-05", + "first_gr_date": "2026-05-05", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000118", + "po_item": "00040", + "po_date": "2026-04-20", + "promised_date": "2026-06-01", + "first_gr_date": "2026-05-31", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000119", + "po_item": "00050", + "po_date": "2026-04-30", + "promised_date": "2026-06-17", + "first_gr_date": "2026-06-17", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000120", + "po_item": "00010", + "po_date": "2026-05-06", + "promised_date": "2026-06-08", + "first_gr_date": "2026-06-05", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000121", + "po_item": "00020", + "po_date": "2026-05-13", + "promised_date": "2026-06-19", + "first_gr_date": "2026-06-19", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000122", + "po_item": "00010", + "po_date": "2026-01-12", + "promised_date": "2026-02-04", + "first_gr_date": "2026-02-04", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000123", + "po_item": "00020", + "po_date": "2026-01-20", + "promised_date": "2026-02-27", + "first_gr_date": "2026-02-27", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000124", + "po_item": "00030", + "po_date": "2026-01-29", + "promised_date": "2026-03-10", + "first_gr_date": "2026-03-07", + "days_late": -3, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000125", + "po_item": "00040", + "po_date": "2026-02-02", + "promised_date": "2026-02-24", + "first_gr_date": "2026-02-24", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000126", + "po_item": "00050", + "po_date": "2026-02-09", + "promised_date": "2026-03-14", + "first_gr_date": "2026-03-14", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000127", + "po_item": "00010", + "po_date": "2026-02-17", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-23", + "days_late": -1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000128", + "po_item": "00020", + "po_date": "2026-02-23", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-24", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000129", + "po_item": "00030", + "po_date": "2026-03-04", + "promised_date": "2026-04-11", + "first_gr_date": "2026-04-08", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000130", + "po_item": "00040", + "po_date": "2026-03-09", + "promised_date": "2026-04-17", + "first_gr_date": "2026-04-17", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000131", + "po_item": "00050", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "first_gr_date": "2026-05-01", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000132", + "po_item": "00010", + "po_date": "2026-03-25", + "promised_date": "2026-05-11", + "first_gr_date": "2026-05-09", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000133", + "po_item": "00020", + "po_date": "2026-04-02", + "promised_date": "2026-05-13", + "first_gr_date": "2026-05-13", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000134", + "po_item": "00030", + "po_date": "2026-04-06", + "promised_date": "2026-05-03", + "first_gr_date": "2026-04-30", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000135", + "po_item": "00040", + "po_date": "2026-04-15", + "promised_date": "2026-05-18", + "first_gr_date": "2026-05-18", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000136", + "po_item": "00050", + "po_date": "2026-04-20", + "promised_date": "2026-05-10", + "first_gr_date": "2026-05-08", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000137", + "po_item": "00010", + "po_date": "2026-04-29", + "promised_date": "2026-06-01", + "first_gr_date": "2026-06-01", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000138", + "po_item": "00020", + "po_date": "2026-05-06", + "promised_date": "2026-05-28", + "first_gr_date": "2026-05-28", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000139", + "po_item": "00030", + "po_date": "2026-05-14", + "promised_date": "2026-06-03", + "first_gr_date": "2026-05-31", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + } + ] + }, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/procurement_washed_bourbon.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/procurement_washed_bourbon.json new file mode 100644 index 00000000000..11dafb65743 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/procurement_washed_bourbon.json @@ -0,0 +1,2251 @@ +{ + "id": "procurement_washed_bourbon", + "label": "Procurement: Washed Bourbon", + "type": "procurement", + "durations": [ + 47.2, 21.6, 83.7, 9.5, 54.0, 33.8, 64.8, 16.2, 40.5, 18.9, 40.5, 25.7, 29.7, + 31.1, 33.8, 31.1, 33.8, 36.5, 39.2, 41.9, 31.1, 33.8, 36.5, 39.2, 41.9, + 29.7, 32.4, 35.1, 37.8, 24.3, 37.8, 40.5, 43.2, 29.7, 32.4, 36.5, 40.5, + 25.7, 29.7, 31.1, 45.9, 31.1, 33.8, 36.5, 39.2, 27.0, 31.1, 33.8, 36.5, + 39.2, 27.0, 29.7, 32.4, 35.1, 37.8 + ], + "observations": [ + { + "date": "2022-05-03", + "value": 47.2 + }, + { + "date": "2022-10-18", + "value": 21.6 + }, + { + "date": "2023-01-24", + "value": 83.7 + }, + { + "date": "2023-06-15", + "value": 9.5 + }, + { + "date": "2023-09-28", + "value": 54.0 + }, + { + "date": "2024-02-12", + "value": 33.8 + }, + { + "date": "2024-05-07", + "value": 64.8 + }, + { + "date": "2024-09-19", + "value": 16.2 + }, + { + "date": "2025-02-04", + "value": 40.5 + }, + { + "date": "2025-06-10", + "value": 18.9 + }, + { + "date": "2025-09-06", + "value": 40.5 + }, + { + "date": "2025-09-12", + "value": 25.7 + }, + { + "date": "2025-09-18", + "value": 29.7 + }, + { + "date": "2025-09-24", + "value": 31.1 + }, + { + "date": "2025-09-30", + "value": 33.8 + }, + { + "date": "2025-10-04", + "value": 31.1 + }, + { + "date": "2025-10-10", + "value": 33.8 + }, + { + "date": "2025-10-16", + "value": 36.5 + }, + { + "date": "2025-10-22", + "value": 39.2 + }, + { + "date": "2025-10-28", + "value": 41.9 + }, + { + "date": "2025-11-05", + "value": 31.1 + }, + { + "date": "2025-11-11", + "value": 33.8 + }, + { + "date": "2025-11-17", + "value": 36.5 + }, + { + "date": "2025-11-23", + "value": 39.2 + }, + { + "date": "2025-11-29", + "value": 41.9 + }, + { + "date": "2025-12-06", + "value": 29.7 + }, + { + "date": "2025-12-12", + "value": 32.4 + }, + { + "date": "2025-12-18", + "value": 35.1 + }, + { + "date": "2025-12-24", + "value": 37.8 + }, + { + "date": "2025-12-30", + "value": 24.3 + }, + { + "date": "2026-01-04", + "value": 37.8 + }, + { + "date": "2026-01-10", + "value": 40.5 + }, + { + "date": "2026-01-16", + "value": 43.2 + }, + { + "date": "2026-01-22", + "value": 29.7 + }, + { + "date": "2026-01-28", + "value": 32.4 + }, + { + "date": "2026-02-05", + "value": 36.5 + }, + { + "date": "2026-02-11", + "value": 40.5 + }, + { + "date": "2026-02-17", + "value": 25.7 + }, + { + "date": "2026-02-23", + "value": 29.7 + }, + { + "date": "2026-02-29", + "value": 31.1 + }, + { + "date": "2026-03-06", + "value": 45.9 + }, + { + "date": "2026-03-12", + "value": 31.1 + }, + { + "date": "2026-03-18", + "value": 33.8 + }, + { + "date": "2026-03-24", + "value": 36.5 + }, + { + "date": "2026-03-30", + "value": 39.2 + }, + { + "date": "2026-04-04", + "value": 27.0 + }, + { + "date": "2026-04-10", + "value": 31.1 + }, + { + "date": "2026-04-16", + "value": 33.8 + }, + { + "date": "2026-04-22", + "value": 36.5 + }, + { + "date": "2026-04-28", + "value": 39.2 + }, + { + "date": "2026-05-05", + "value": 27.0 + }, + { + "date": "2026-05-11", + "value": 29.7 + }, + { + "date": "2026-05-17", + "value": 32.4 + }, + { + "date": "2026-05-23", + "value": 35.1 + }, + { + "date": "2026-05-29", + "value": 37.8 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 47.2, + "median": 47.2, + "p10": 47.2, + "p25": 47.2, + "p75": 47.2, + "p90": 47.2, + "n": 1 + }, + { + "month": "2022-10", + "mean": 21.6, + "median": 21.6, + "p10": 21.6, + "p25": 21.6, + "p75": 21.6, + "p90": 21.6, + "n": 1 + }, + { + "month": "2023-01", + "mean": 83.7, + "median": 83.7, + "p10": 83.7, + "p25": 83.7, + "p75": 83.7, + "p90": 83.7, + "n": 1 + }, + { + "month": "2023-06", + "mean": 9.5, + "median": 9.5, + "p10": 9.5, + "p25": 9.5, + "p75": 9.5, + "p90": 9.5, + "n": 1 + }, + { + "month": "2023-09", + "mean": 54.0, + "median": 54.0, + "p10": 54.0, + "p25": 54.0, + "p75": 54.0, + "p90": 54.0, + "n": 1 + }, + { + "month": "2024-02", + "mean": 33.8, + "median": 33.8, + "p10": 33.8, + "p25": 33.8, + "p75": 33.8, + "p90": 33.8, + "n": 1 + }, + { + "month": "2024-05", + "mean": 64.8, + "median": 64.8, + "p10": 64.8, + "p25": 64.8, + "p75": 64.8, + "p90": 64.8, + "n": 1 + }, + { + "month": "2024-09", + "mean": 16.2, + "median": 16.2, + "p10": 16.2, + "p25": 16.2, + "p75": 16.2, + "p90": 16.2, + "n": 1 + }, + { + "month": "2025-02", + "mean": 40.5, + "median": 40.5, + "p10": 40.5, + "p25": 40.5, + "p75": 40.5, + "p90": 40.5, + "n": 1 + }, + { + "month": "2025-06", + "mean": 18.9, + "median": 18.9, + "p10": 18.9, + "p25": 18.9, + "p75": 18.9, + "p90": 18.9, + "n": 1 + }, + { + "month": "2025-09", + "mean": 32.1, + "median": 31.1, + "p10": 27.3, + "p25": 29.7, + "p75": 33.8, + "p90": 37.8, + "n": 5 + }, + { + "month": "2025-10", + "mean": 36.5, + "median": 36.5, + "p10": 32.1, + "p25": 33.8, + "p75": 39.2, + "p90": 40.8, + "n": 5 + }, + { + "month": "2025-11", + "mean": 36.5, + "median": 36.5, + "p10": 32.1, + "p25": 33.8, + "p75": 39.2, + "p90": 40.8, + "n": 5 + }, + { + "month": "2025-12", + "mean": 31.9, + "median": 32.4, + "p10": 26.5, + "p25": 29.7, + "p75": 35.1, + "p90": 36.7, + "n": 5 + }, + { + "month": "2026-01", + "mean": 36.7, + "median": 37.8, + "p10": 30.8, + "p25": 32.4, + "p75": 40.5, + "p90": 42.1, + "n": 5 + }, + { + "month": "2026-02", + "mean": 32.7, + "median": 31.1, + "p10": 27.3, + "p25": 29.7, + "p75": 36.5, + "p90": 38.9, + "n": 5 + }, + { + "month": "2026-03", + "mean": 37.3, + "median": 36.5, + "p10": 32.1, + "p25": 33.8, + "p75": 39.2, + "p90": 43.2, + "n": 5 + }, + { + "month": "2026-04", + "mean": 33.5, + "median": 33.8, + "p10": 28.6, + "p25": 31.1, + "p75": 36.5, + "p90": 38.1, + "n": 5 + }, + { + "month": "2026-05", + "mean": 32.4, + "median": 32.4, + "p10": 28.1, + "p25": 29.7, + "p75": 35.1, + "p90": 36.7, + "n": 5 + } + ], + "stats": { + "n": 55, + "mean": 35.2, + "median": 33.8, + "std": 8.0, + "min": 9.5, + "max": 83.7, + "p25": 29.7, + "p75": 39.2, + "p85": 40.5, + "p95": 47.2 + }, + "plifz": 7, + "plifz_note": null, + "pct_exceeding_plifz": 98.2, + "annotations": [], + "cost": null, + "detail_rows": { + "columns": [ + { + "key": "matnr", + "sap_field": "MATNR", + "sap_table": "EKPO", + "label": "Material", + "unit": null + }, + { + "key": "po_number", + "sap_field": "EBELN", + "sap_table": "EKKO", + "label": "PO Number", + "unit": null + }, + { + "key": "po_item", + "sap_field": "EBELP", + "sap_table": "EKPO", + "label": "PO Item", + "unit": null + }, + { + "key": "vendor_id", + "sap_field": "LIFNR", + "sap_table": "EKKO", + "label": "Vendor (LIFNR)", + "unit": null + }, + { + "key": "vendor_name", + "sap_field": "NAME1", + "sap_table": "LFA1", + "label": "Vendor Name", + "unit": null + }, + { + "key": "po_date", + "sap_field": "BEDAT", + "sap_table": "EKKO", + "label": "PO Date", + "unit": null + }, + { + "key": "promised_date", + "sap_field": "EINDT", + "sap_table": "EKET", + "label": "Promised Date", + "unit": null + }, + { + "key": "sched_qty", + "sap_field": "MENGE", + "sap_table": "EKET", + "label": "Scheduled Qty", + "unit": null + }, + { + "key": "gr_qty_to_date", + "sap_field": "WEMNG", + "sap_table": "EKET", + "label": "GR Qty (to date)", + "unit": null + }, + { + "key": "gr_mblnr", + "sap_field": "MBLNR", + "sap_table": "MSEG", + "label": "Goods Receipt Document", + "unit": null + }, + { + "key": "first_gr_date", + "sap_field": "BUDAT", + "sap_table": "MKPF", + "label": "Goods Receipt Date", + "unit": null + }, + { + "key": "days_vs_promised", + "sap_field": null, + "sap_table": null, + "label": "Days vs Promised", + "unit": "d" + }, + { + "key": "lead_time_days", + "sap_field": null, + "sap_table": null, + "label": "Lead Time (days)", + "unit": "d" + } + ], + "rows": [ + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000142", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-09-29", + "promised_date": "2025-10-29", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000142", + "first_gr_date": "2025-10-29", + "days_vs_promised": 0, + "lead_time_days": 30 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000141", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-09-23", + "promised_date": "2025-11-02", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000141", + "first_gr_date": "2025-11-02", + "days_vs_promised": 0, + "lead_time_days": 40 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000140", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-09-18", + "promised_date": "2025-10-14", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000140", + "first_gr_date": "2025-11-07", + "days_vs_promised": 24, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000143", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-10-09", + "promised_date": "2025-11-07", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000143", + "first_gr_date": "2025-11-07", + "days_vs_promised": 0, + "lead_time_days": 29 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000144", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-10-13", + "promised_date": "2025-11-10", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000144", + "first_gr_date": "2025-11-10", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000146", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-10-28", + "promised_date": "2025-12-05", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000146", + "first_gr_date": "2025-12-03", + "days_vs_promised": -2, + "lead_time_days": 36 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000145", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-10-22", + "promised_date": "2025-12-11", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000145", + "first_gr_date": "2025-12-11", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000148", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-11-10", + "promised_date": "2025-12-21", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000148", + "first_gr_date": "2025-12-21", + "days_vs_promised": 0, + "lead_time_days": 41 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000147", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-11-03", + "promised_date": "2025-12-23", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000147", + "first_gr_date": "2025-12-23", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000150", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-11-24", + "promised_date": "2026-01-09", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000150", + "first_gr_date": "2026-01-06", + "days_vs_promised": -3, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000149", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-11-18", + "promised_date": "2026-01-07", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000149", + "first_gr_date": "2026-01-07", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000151", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-01", + "promised_date": "2026-01-16", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000151", + "first_gr_date": "2026-01-13", + "days_vs_promised": -3, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000153", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000153", + "first_gr_date": "2026-01-13", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000155", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-29", + "promised_date": "2026-01-20", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000155", + "first_gr_date": "2026-01-20", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000152", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-08", + "promised_date": "2026-01-26", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000152", + "first_gr_date": "2026-01-26", + "days_vs_promised": 0, + "lead_time_days": 49 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000154", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-22", + "promised_date": "2026-02-02", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000154", + "first_gr_date": "2026-01-31", + "days_vs_promised": -2, + "lead_time_days": 40 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000156", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-01-07", + "promised_date": "2026-02-17", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000156", + "first_gr_date": "2026-02-14", + "days_vs_promised": -3, + "lead_time_days": 38 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000158", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-01-21", + "promised_date": "2026-02-15", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000158", + "first_gr_date": "2026-02-15", + "days_vs_promised": 0, + "lead_time_days": 25 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000157", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-01-15", + "promised_date": "2026-02-27", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000157", + "first_gr_date": "2026-02-27", + "days_vs_promised": 0, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000159", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-01-27", + "promised_date": "2026-03-06", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000159", + "first_gr_date": "2026-03-06", + "days_vs_promised": 0, + "lead_time_days": 38 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000176", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-12", + "promised_date": "2026-03-07", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000176", + "first_gr_date": "2026-03-07", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000160", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-02-02", + "promised_date": "2026-03-08", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000160", + "first_gr_date": "2026-03-08", + "days_vs_promised": 0, + "lead_time_days": 34 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000175", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-03", + "promised_date": "2026-03-10", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000175", + "first_gr_date": "2026-03-10", + "days_vs_promised": 0, + "lead_time_days": 35 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000178", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-25", + "promised_date": "2026-03-19", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000178", + "first_gr_date": "2026-03-19", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000161", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-02-12", + "promised_date": "2026-03-19", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000161", + "first_gr_date": "2026-03-20", + "days_vs_promised": 1, + "lead_time_days": 36 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000179", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-04", + "promised_date": "2026-03-30", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000179", + "first_gr_date": "2026-03-29", + "days_vs_promised": -1, + "lead_time_days": 25 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000162", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-02-17", + "promised_date": "2026-03-20", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000162", + "first_gr_date": "2026-04-01", + "days_vs_promised": 12, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000180", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-12", + "promised_date": "2026-04-02", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000180", + "first_gr_date": "2026-04-02", + "days_vs_promised": 0, + "lead_time_days": 21 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000177", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-17", + "promised_date": "2026-04-03", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000177", + "first_gr_date": "2026-04-05", + "days_vs_promised": 2, + "lead_time_days": 47 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000165", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-10", + "promised_date": "2026-04-07", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000165", + "first_gr_date": "2026-04-07", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000164", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-03", + "promised_date": "2026-04-10", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000164", + "first_gr_date": "2026-04-09", + "days_vs_promised": -1, + "lead_time_days": 37 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000163", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-02-23", + "promised_date": "2026-04-10", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000163", + "first_gr_date": "2026-04-10", + "days_vs_promised": 0, + "lead_time_days": 46 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000166", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-17", + "promised_date": "2026-04-11", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000166", + "first_gr_date": "2026-04-10", + "days_vs_promised": -1, + "lead_time_days": 24 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000167", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-26", + "promised_date": "2026-04-16", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000167", + "first_gr_date": "2026-04-16", + "days_vs_promised": 0, + "lead_time_days": 21 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000181", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-19", + "promised_date": "2026-04-24", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000181", + "first_gr_date": "2026-04-24", + "days_vs_promised": 0, + "lead_time_days": 36 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000182", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-24", + "promised_date": "2026-04-28", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000182", + "first_gr_date": "2026-04-25", + "days_vs_promised": -3, + "lead_time_days": 32 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000183", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-01", + "promised_date": "2026-04-26", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000183", + "first_gr_date": "2026-04-26", + "days_vs_promised": 0, + "lead_time_days": 25 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000168", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-30", + "promised_date": "2026-05-01", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000168", + "first_gr_date": "2026-04-30", + "days_vs_promised": -1, + "lead_time_days": 31 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000171", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-04-23", + "promised_date": "2026-05-14", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000171", + "first_gr_date": "2026-05-11", + "days_vs_promised": -3, + "lead_time_days": 18 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000185", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-14", + "promised_date": "2026-05-11", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000185", + "first_gr_date": "2026-05-11", + "days_vs_promised": 0, + "lead_time_days": 27 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000184", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-06", + "promised_date": "2026-05-16", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000184", + "first_gr_date": "2026-05-16", + "days_vs_promised": 0, + "lead_time_days": 40 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000169", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000169", + "first_gr_date": "2026-05-27", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000170", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-04-14", + "promised_date": "2026-05-29", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000170", + "first_gr_date": "2026-05-27", + "days_vs_promised": -2, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000174", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-05-13", + "promised_date": "2026-06-05", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000174", + "first_gr_date": "2026-06-03", + "days_vs_promised": -2, + "lead_time_days": 21 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000172", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-04-30", + "promised_date": "2026-06-11", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000172", + "first_gr_date": "2026-06-09", + "days_vs_promised": -2, + "lead_time_days": 40 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000186", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-21", + "promised_date": "2026-06-10", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000186", + "first_gr_date": "2026-06-15", + "days_vs_promised": 5, + "lead_time_days": 55 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000189", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-05-12", + "promised_date": "2026-06-16", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000189", + "first_gr_date": "2026-06-17", + "days_vs_promised": 1, + "lead_time_days": 36 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000187", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-30", + "promised_date": "2026-06-18", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000187", + "first_gr_date": "2026-06-18", + "days_vs_promised": 0, + "lead_time_days": 49 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000188", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-05-04", + "promised_date": "2026-06-21", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000188", + "first_gr_date": "2026-06-21", + "days_vs_promised": 0, + "lead_time_days": 48 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000173", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-05-05", + "promised_date": "2026-06-24", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000173", + "first_gr_date": "2026-07-02", + "days_vs_promised": 8, + "lead_time_days": 58 + } + ] + }, + "ref_date_col": "first_gr_date", + "n_batches": null, + "n_movements": 10, + "yield_data": null, + "consumption_data": null, + "supplier_otif": { + "primary_vendor": { + "id": "D0005", + "name": "Midland Mid-Tier Partners" + }, + "vendors": [ + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "n_lines": 35, + "n_late": 4, + "on_time_pct": 88.6, + "in_full_pct": 100.0, + "otif_pct": 88.6, + "mean_days_late_all": 1.29, + "mean_days_late_when_late": 11.2, + "median_days_late_when_late": 10.0, + "max_days_late": 24, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 11.4, + "ge_3d_pct": 8.6, + "ge_7d_pct": 8.6, + "ge_14d_pct": 2.9 + } + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "n_lines": 15, + "n_late": 3, + "on_time_pct": 80.0, + "in_full_pct": 100.0, + "otif_pct": 80.0, + "mean_days_late_all": 0.53, + "mean_days_late_when_late": 2.7, + "median_days_late_when_late": 2, + "max_days_late": 5, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 20.0, + "ge_3d_pct": 6.7, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + } + } + ], + "worst_events": [ + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000140", + "po_item": "00010", + "po_date": "2025-09-18", + "promised_date": "2025-10-14", + "first_gr_date": "2025-11-07", + "days_late": 24, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000162", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-03-20", + "first_gr_date": "2026-04-01", + "days_late": 12, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000173", + "po_item": "00040", + "po_date": "2026-05-05", + "promised_date": "2026-06-24", + "first_gr_date": "2026-07-02", + "days_late": 8, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000186", + "po_item": "00020", + "po_date": "2026-04-21", + "promised_date": "2026-06-10", + "first_gr_date": "2026-06-15", + "days_late": 5, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000177", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-05", + "days_late": 2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0 + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000161", + "po_item": "00020", + "po_date": "2026-02-12", + "promised_date": "2026-03-19", + "first_gr_date": "2026-03-20", + "days_late": 1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000189", + "po_item": "00050", + "po_date": "2026-05-12", + "promised_date": "2026-06-16", + "first_gr_date": "2026-06-17", + "days_late": 1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + } + ], + "coverage_pct": 100.0, + "n_lines": 50, + "data_quality_note": "100% in-full across every line \u2014 likely WEMNG = MENGE is auto-stamped at goods receipt rather than measured. Treat the in-full metric as a data-entry artifact at this site.", + "tolerance_days": 0, + "under_tolerance_pct": 0.05, + "lines": [ + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000140", + "po_item": "00010", + "po_date": "2025-09-18", + "promised_date": "2025-10-14", + "first_gr_date": "2025-11-07", + "days_late": 24, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000141", + "po_item": "00020", + "po_date": "2025-09-23", + "promised_date": "2025-11-02", + "first_gr_date": "2025-11-02", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000142", + "po_item": "00030", + "po_date": "2025-09-29", + "promised_date": "2025-10-29", + "first_gr_date": "2025-10-29", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000143", + "po_item": "00040", + "po_date": "2025-10-09", + "promised_date": "2025-11-07", + "first_gr_date": "2025-11-07", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000144", + "po_item": "00050", + "po_date": "2025-10-13", + "promised_date": "2025-11-10", + "first_gr_date": "2025-11-10", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000145", + "po_item": "00010", + "po_date": "2025-10-22", + "promised_date": "2025-12-11", + "first_gr_date": "2025-12-11", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000146", + "po_item": "00020", + "po_date": "2025-10-28", + "promised_date": "2025-12-05", + "first_gr_date": "2025-12-03", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000147", + "po_item": "00030", + "po_date": "2025-11-03", + "promised_date": "2025-12-23", + "first_gr_date": "2025-12-23", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000148", + "po_item": "00040", + "po_date": "2025-11-10", + "promised_date": "2025-12-21", + "first_gr_date": "2025-12-21", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000149", + "po_item": "00050", + "po_date": "2025-11-18", + "promised_date": "2026-01-07", + "first_gr_date": "2026-01-07", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000150", + "po_item": "00010", + "po_date": "2025-11-24", + "promised_date": "2026-01-09", + "first_gr_date": "2026-01-06", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000151", + "po_item": "00020", + "po_date": "2025-12-01", + "promised_date": "2026-01-16", + "first_gr_date": "2026-01-13", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000152", + "po_item": "00030", + "po_date": "2025-12-08", + "promised_date": "2026-01-26", + "first_gr_date": "2026-01-26", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000153", + "po_item": "00040", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-13", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000154", + "po_item": "00050", + "po_date": "2025-12-22", + "promised_date": "2026-02-02", + "first_gr_date": "2026-01-31", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000155", + "po_item": "00010", + "po_date": "2025-12-29", + "promised_date": "2026-01-20", + "first_gr_date": "2026-01-20", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000156", + "po_item": "00020", + "po_date": "2026-01-07", + "promised_date": "2026-02-17", + "first_gr_date": "2026-02-14", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000157", + "po_item": "00030", + "po_date": "2026-01-15", + "promised_date": "2026-02-27", + "first_gr_date": "2026-02-27", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000158", + "po_item": "00040", + "po_date": "2026-01-21", + "promised_date": "2026-02-15", + "first_gr_date": "2026-02-15", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000159", + "po_item": "00050", + "po_date": "2026-01-27", + "promised_date": "2026-03-06", + "first_gr_date": "2026-03-06", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000160", + "po_item": "00010", + "po_date": "2026-02-02", + "promised_date": "2026-03-08", + "first_gr_date": "2026-03-08", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000161", + "po_item": "00020", + "po_date": "2026-02-12", + "promised_date": "2026-03-19", + "first_gr_date": "2026-03-20", + "days_late": 1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000162", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-03-20", + "first_gr_date": "2026-04-01", + "days_late": 12, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000163", + "po_item": "00040", + "po_date": "2026-02-23", + "promised_date": "2026-04-10", + "first_gr_date": "2026-04-10", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000164", + "po_item": "00050", + "po_date": "2026-03-03", + "promised_date": "2026-04-10", + "first_gr_date": "2026-04-09", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000165", + "po_item": "00010", + "po_date": "2026-03-10", + "promised_date": "2026-04-07", + "first_gr_date": "2026-04-07", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000166", + "po_item": "00020", + "po_date": "2026-03-17", + "promised_date": "2026-04-11", + "first_gr_date": "2026-04-10", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000167", + "po_item": "00030", + "po_date": "2026-03-26", + "promised_date": "2026-04-16", + "first_gr_date": "2026-04-16", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000168", + "po_item": "00040", + "po_date": "2026-03-30", + "promised_date": "2026-05-01", + "first_gr_date": "2026-04-30", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000169", + "po_item": "00050", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "first_gr_date": "2026-05-27", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000170", + "po_item": "00010", + "po_date": "2026-04-14", + "promised_date": "2026-05-29", + "first_gr_date": "2026-05-27", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000171", + "po_item": "00020", + "po_date": "2026-04-23", + "promised_date": "2026-05-14", + "first_gr_date": "2026-05-11", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000172", + "po_item": "00030", + "po_date": "2026-04-30", + "promised_date": "2026-06-11", + "first_gr_date": "2026-06-09", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000173", + "po_item": "00040", + "po_date": "2026-05-05", + "promised_date": "2026-06-24", + "first_gr_date": "2026-07-02", + "days_late": 8, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000174", + "po_item": "00050", + "po_date": "2026-05-13", + "promised_date": "2026-06-05", + "first_gr_date": "2026-06-03", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000175", + "po_item": "00010", + "po_date": "2026-02-03", + "promised_date": "2026-03-10", + "first_gr_date": "2026-03-10", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000176", + "po_item": "00020", + "po_date": "2026-02-12", + "promised_date": "2026-03-07", + "first_gr_date": "2026-03-07", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000177", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-05", + "days_late": 2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000178", + "po_item": "00040", + "po_date": "2026-02-25", + "promised_date": "2026-03-19", + "first_gr_date": "2026-03-19", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000179", + "po_item": "00050", + "po_date": "2026-03-04", + "promised_date": "2026-03-30", + "first_gr_date": "2026-03-29", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000180", + "po_item": "00010", + "po_date": "2026-03-12", + "promised_date": "2026-04-02", + "first_gr_date": "2026-04-02", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000181", + "po_item": "00020", + "po_date": "2026-03-19", + "promised_date": "2026-04-24", + "first_gr_date": "2026-04-24", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000182", + "po_item": "00030", + "po_date": "2026-03-24", + "promised_date": "2026-04-28", + "first_gr_date": "2026-04-25", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000183", + "po_item": "00040", + "po_date": "2026-04-01", + "promised_date": "2026-04-26", + "first_gr_date": "2026-04-26", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000184", + "po_item": "00050", + "po_date": "2026-04-06", + "promised_date": "2026-05-16", + "first_gr_date": "2026-05-16", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000185", + "po_item": "00010", + "po_date": "2026-04-14", + "promised_date": "2026-05-11", + "first_gr_date": "2026-05-11", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000186", + "po_item": "00020", + "po_date": "2026-04-21", + "promised_date": "2026-06-10", + "first_gr_date": "2026-06-15", + "days_late": 5, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000187", + "po_item": "00030", + "po_date": "2026-04-30", + "promised_date": "2026-06-18", + "first_gr_date": "2026-06-18", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000188", + "po_item": "00040", + "po_date": "2026-05-04", + "promised_date": "2026-06-21", + "first_gr_date": "2026-06-21", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000189", + "po_item": "00050", + "po_date": "2026-05-12", + "promised_date": "2026-06-16", + "first_gr_date": "2026-06-17", + "days_late": 1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + } + ] + }, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/prod_duration_green_blend.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/prod_duration_green_blend.json new file mode 100644 index 00000000000..5eb3ef59ad9 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/prod_duration_green_blend.json @@ -0,0 +1,924 @@ +{ + "id": "prod_duration_green_blend", + "label": "Production: Green Blend", + "type": "production", + "durations": [ + 4.1, 6.8, 2.7, 9.5, 5.4, 8.1, 4.1, 18.9, 5.4, 10.8, 4.1, 6.8, 1.4, 8.1, 4.1, + 5.4, 5.4, 5.4, 4.1, 5.4, 5.4, 5.4, 5.4, 6.8, 6.8, 6.8, 5.4, 6.8, 6.8, 4.1, + 5.4, 6.8, 4.1, 4.1, 6.8, 4.1, 5.4, 5.4, 4.1, 4.1, 5.4, 5.4, 5.4, 5.4, 6.8, + 6.8, 5.4, 5.4, 6.8, 6.8 + ], + "observations": [ + { + "date": "2022-04-18", + "value": 4.1 + }, + { + "date": "2022-07-05", + "value": 6.8 + }, + { + "date": "2022-10-12", + "value": 2.7 + }, + { + "date": "2023-01-20", + "value": 9.5 + }, + { + "date": "2023-04-15", + "value": 5.4 + }, + { + "date": "2023-07-28", + "value": 8.1 + }, + { + "date": "2023-10-05", + "value": 4.1 + }, + { + "date": "2024-01-12", + "value": 18.9 + }, + { + "date": "2024-04-22", + "value": 5.4 + }, + { + "date": "2024-07-10", + "value": 10.8 + }, + { + "date": "2024-10-18", + "value": 4.1 + }, + { + "date": "2025-01-25", + "value": 6.8 + }, + { + "date": "2025-05-08", + "value": 1.4 + }, + { + "date": "2025-08-15", + "value": 8.1 + }, + { + "date": "2025-09-04", + "value": 4.1 + }, + { + "date": "2025-09-10", + "value": 5.4 + }, + { + "date": "2025-09-16", + "value": 5.4 + }, + { + "date": "2025-09-22", + "value": 5.4 + }, + { + "date": "2025-10-05", + "value": 4.1 + }, + { + "date": "2025-10-11", + "value": 5.4 + }, + { + "date": "2025-10-17", + "value": 5.4 + }, + { + "date": "2025-10-23", + "value": 5.4 + }, + { + "date": "2025-11-06", + "value": 5.4 + }, + { + "date": "2025-11-12", + "value": 6.8 + }, + { + "date": "2025-11-18", + "value": 6.8 + }, + { + "date": "2025-11-24", + "value": 6.8 + }, + { + "date": "2025-12-04", + "value": 5.4 + }, + { + "date": "2025-12-10", + "value": 6.8 + }, + { + "date": "2025-12-16", + "value": 6.8 + }, + { + "date": "2025-12-22", + "value": 4.1 + }, + { + "date": "2026-01-05", + "value": 5.4 + }, + { + "date": "2026-01-11", + "value": 6.8 + }, + { + "date": "2026-01-17", + "value": 4.1 + }, + { + "date": "2026-01-23", + "value": 4.1 + }, + { + "date": "2026-02-06", + "value": 6.8 + }, + { + "date": "2026-02-12", + "value": 4.1 + }, + { + "date": "2026-02-18", + "value": 5.4 + }, + { + "date": "2026-02-24", + "value": 5.4 + }, + { + "date": "2026-03-04", + "value": 4.1 + }, + { + "date": "2026-03-10", + "value": 4.1 + }, + { + "date": "2026-03-16", + "value": 5.4 + }, + { + "date": "2026-03-22", + "value": 5.4 + }, + { + "date": "2026-04-05", + "value": 5.4 + }, + { + "date": "2026-04-11", + "value": 5.4 + }, + { + "date": "2026-04-17", + "value": 6.8 + }, + { + "date": "2026-04-23", + "value": 6.8 + }, + { + "date": "2026-05-06", + "value": 5.4 + }, + { + "date": "2026-05-12", + "value": 5.4 + }, + { + "date": "2026-05-18", + "value": 6.8 + }, + { + "date": "2026-05-24", + "value": 6.8 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-07", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2023-01", + "mean": 9.5, + "median": 9.5, + "p10": 9.5, + "p25": 9.5, + "p75": 9.5, + "p90": 9.5, + "n": 1 + }, + { + "month": "2023-04", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2023-07", + "mean": 8.1, + "median": 8.1, + "p10": 8.1, + "p25": 8.1, + "p75": 8.1, + "p90": 8.1, + "n": 1 + }, + { + "month": "2023-10", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-01", + "mean": 18.9, + "median": 18.9, + "p10": 18.9, + "p25": 18.9, + "p75": 18.9, + "p90": 18.9, + "n": 1 + }, + { + "month": "2024-04", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2024-07", + "mean": 10.8, + "median": 10.8, + "p10": 10.8, + "p25": 10.8, + "p75": 10.8, + "p90": 10.8, + "n": 1 + }, + { + "month": "2024-10", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-01", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2025-05", + "mean": 1.4, + "median": 1.4, + "p10": 1.4, + "p25": 1.4, + "p75": 1.4, + "p90": 1.4, + "n": 1 + }, + { + "month": "2025-08", + "mean": 8.1, + "median": 8.1, + "p10": 8.1, + "p25": 8.1, + "p75": 8.1, + "p90": 8.1, + "n": 1 + }, + { + "month": "2025-09", + "mean": 5.1, + "median": 5.4, + "p10": 4.5, + "p25": 5.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2025-10", + "mean": 5.1, + "median": 5.4, + "p10": 4.5, + "p25": 5.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2025-11", + "mean": 6.5, + "median": 6.8, + "p10": 5.8, + "p25": 6.5, + "p75": 6.8, + "p90": 6.8, + "n": 4 + }, + { + "month": "2025-12", + "mean": 5.8, + "median": 6.1, + "p10": 4.5, + "p25": 5.1, + "p75": 6.8, + "p90": 6.8, + "n": 4 + }, + { + "month": "2026-01", + "mean": 5.1, + "median": 4.7, + "p10": 4.1, + "p25": 4.1, + "p75": 5.8, + "p90": 6.3, + "n": 4 + }, + { + "month": "2026-02", + "mean": 5.4, + "median": 5.4, + "p10": 4.5, + "p25": 5.1, + "p75": 5.8, + "p90": 6.3, + "n": 4 + }, + { + "month": "2026-03", + "mean": 4.7, + "median": 4.7, + "p10": 4.1, + "p25": 4.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2026-04", + "mean": 6.1, + "median": 6.1, + "p10": 5.4, + "p25": 5.4, + "p75": 6.8, + "p90": 6.8, + "n": 4 + }, + { + "month": "2026-05", + "mean": 6.1, + "median": 6.1, + "p10": 5.4, + "p25": 5.4, + "p75": 6.8, + "p90": 6.8, + "n": 4 + } + ], + "stats": { + "n": 50, + "mean": 5.9, + "median": 5.4, + "std": 1.8, + "min": 1.4, + "max": 18.9, + "p25": 4.1, + "p75": 6.8, + "p85": 6.8, + "p95": 8.1 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 10.0, + "annotations": [], + "cost": null, + "detail_rows": null, + "ref_date_col": null, + "n_batches": 50, + "n_movements": null, + "yield_data": { + "values": [ + 98.2, 99.5, 97.8, 100.2, 96.5, 99.0, 98.8, 97.2, 99.5, 100.8, 98.0, 97.5, + 99.2, 98.5, 98.4, 98.6, 98.9, 99.1, 98.3, 98.5, 98.8, 99.1, 99.0, 99.3, + 99.6, 98.2, 99.0, 99.3, 97.9, 98.2, 98.9, 97.6, 97.9, 98.1, 98.1, 98.4, + 98.6, 98.9, 98.1, 98.3, 98.5, 98.8, 98.8, 99.0, 99.3, 99.6, 98.7, 99.0, + 99.3, 97.9 + ], + "observations": [ + { + "date": "2022-04-21", + "value": 98.2 + }, + { + "date": "2022-07-10", + "value": 99.5 + }, + { + "date": "2022-10-14", + "value": 97.8 + }, + { + "date": "2023-01-27", + "value": 100.2 + }, + { + "date": "2023-04-19", + "value": 96.5 + }, + { + "date": "2023-08-03", + "value": 99.0 + }, + { + "date": "2023-10-08", + "value": 98.8 + }, + { + "date": "2024-01-26", + "value": 97.2 + }, + { + "date": "2024-04-26", + "value": 99.5 + }, + { + "date": "2024-07-18", + "value": 100.8 + }, + { + "date": "2024-10-21", + "value": 98.0 + }, + { + "date": "2025-01-30", + "value": 97.5 + }, + { + "date": "2025-05-09", + "value": 99.2 + }, + { + "date": "2025-08-21", + "value": 98.5 + }, + { + "date": "2025-09-05", + "value": 98.4 + }, + { + "date": "2025-09-11", + "value": 98.6 + }, + { + "date": "2025-09-17", + "value": 98.9 + }, + { + "date": "2025-09-23", + "value": 99.1 + }, + { + "date": "2025-10-06", + "value": 98.3 + }, + { + "date": "2025-10-12", + "value": 98.5 + }, + { + "date": "2025-10-18", + "value": 98.8 + }, + { + "date": "2025-10-24", + "value": 99.1 + }, + { + "date": "2025-11-04", + "value": 99.0 + }, + { + "date": "2025-11-10", + "value": 99.3 + }, + { + "date": "2025-11-16", + "value": 99.6 + }, + { + "date": "2025-11-22", + "value": 98.2 + }, + { + "date": "2025-12-05", + "value": 99.0 + }, + { + "date": "2025-12-11", + "value": 99.3 + }, + { + "date": "2025-12-17", + "value": 97.9 + }, + { + "date": "2025-12-23", + "value": 98.2 + }, + { + "date": "2026-01-06", + "value": 98.9 + }, + { + "date": "2026-01-12", + "value": 97.6 + }, + { + "date": "2026-01-18", + "value": 97.9 + }, + { + "date": "2026-01-24", + "value": 98.1 + }, + { + "date": "2026-02-04", + "value": 98.1 + }, + { + "date": "2026-02-10", + "value": 98.4 + }, + { + "date": "2026-02-16", + "value": 98.6 + }, + { + "date": "2026-02-22", + "value": 98.9 + }, + { + "date": "2026-03-05", + "value": 98.1 + }, + { + "date": "2026-03-11", + "value": 98.3 + }, + { + "date": "2026-03-17", + "value": 98.5 + }, + { + "date": "2026-03-23", + "value": 98.8 + }, + { + "date": "2026-04-06", + "value": 98.8 + }, + { + "date": "2026-04-12", + "value": 99.0 + }, + { + "date": "2026-04-18", + "value": 99.3 + }, + { + "date": "2026-04-24", + "value": 99.6 + }, + { + "date": "2026-05-04", + "value": 98.7 + }, + { + "date": "2026-05-10", + "value": 99.0 + }, + { + "date": "2026-05-16", + "value": 99.3 + }, + { + "date": "2026-05-22", + "value": 97.9 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 98.2, + "median": 98.2, + "p10": 98.2, + "p25": 98.2, + "p75": 98.2, + "p90": 98.2, + "n": 1 + }, + { + "month": "2022-07", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2022-10", + "mean": 97.8, + "median": 97.8, + "p10": 97.8, + "p25": 97.8, + "p75": 97.8, + "p90": 97.8, + "n": 1 + }, + { + "month": "2023-01", + "mean": 100.2, + "median": 100.2, + "p10": 100.2, + "p25": 100.2, + "p75": 100.2, + "p90": 100.2, + "n": 1 + }, + { + "month": "2023-04", + "mean": 96.5, + "median": 96.5, + "p10": 96.5, + "p25": 96.5, + "p75": 96.5, + "p90": 96.5, + "n": 1 + }, + { + "month": "2023-08", + "mean": 99.0, + "median": 99.0, + "p10": 99.0, + "p25": 99.0, + "p75": 99.0, + "p90": 99.0, + "n": 1 + }, + { + "month": "2023-10", + "mean": 98.8, + "median": 98.8, + "p10": 98.8, + "p25": 98.8, + "p75": 98.8, + "p90": 98.8, + "n": 1 + }, + { + "month": "2024-01", + "mean": 97.2, + "median": 97.2, + "p10": 97.2, + "p25": 97.2, + "p75": 97.2, + "p90": 97.2, + "n": 1 + }, + { + "month": "2024-04", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2024-07", + "mean": 100.8, + "median": 100.8, + "p10": 100.8, + "p25": 100.8, + "p75": 100.8, + "p90": 100.8, + "n": 1 + }, + { + "month": "2024-10", + "mean": 98.0, + "median": 98.0, + "p10": 98.0, + "p25": 98.0, + "p75": 98.0, + "p90": 98.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 97.5, + "median": 97.5, + "p10": 97.5, + "p25": 97.5, + "p75": 97.5, + "p90": 97.5, + "n": 1 + }, + { + "month": "2025-05", + "mean": 99.2, + "median": 99.2, + "p10": 99.2, + "p25": 99.2, + "p75": 99.2, + "p90": 99.2, + "n": 1 + }, + { + "month": "2025-08", + "mean": 98.5, + "median": 98.5, + "p10": 98.5, + "p25": 98.5, + "p75": 98.5, + "p90": 98.5, + "n": 1 + }, + { + "month": "2025-09", + "mean": 98.8, + "median": 98.8, + "p10": 98.5, + "p25": 98.6, + "p75": 99.0, + "p90": 99.0, + "n": 4 + }, + { + "month": "2025-10", + "mean": 98.7, + "median": 98.7, + "p10": 98.4, + "p25": 98.5, + "p75": 98.9, + "p90": 99.0, + "n": 4 + }, + { + "month": "2025-11", + "mean": 99.0, + "median": 99.2, + "p10": 98.4, + "p25": 98.8, + "p75": 99.4, + "p90": 99.5, + "n": 4 + }, + { + "month": "2025-12", + "mean": 98.6, + "median": 98.6, + "p10": 98.0, + "p25": 98.1, + "p75": 99.1, + "p90": 99.2, + "n": 4 + }, + { + "month": "2026-01", + "mean": 98.1, + "median": 98.0, + "p10": 97.7, + "p25": 97.8, + "p75": 98.3, + "p90": 98.7, + "n": 4 + }, + { + "month": "2026-02", + "mean": 98.5, + "median": 98.5, + "p10": 98.2, + "p25": 98.3, + "p75": 98.7, + "p90": 98.8, + "n": 4 + }, + { + "month": "2026-03", + "mean": 98.4, + "median": 98.4, + "p10": 98.2, + "p25": 98.3, + "p75": 98.6, + "p90": 98.7, + "n": 4 + }, + { + "month": "2026-04", + "mean": 99.2, + "median": 99.2, + "p10": 98.9, + "p25": 99.0, + "p75": 99.4, + "p90": 99.5, + "n": 4 + }, + { + "month": "2026-05", + "mean": 98.7, + "median": 98.9, + "p10": 98.1, + "p25": 98.5, + "p75": 99.1, + "p90": 99.2, + "n": 4 + } + ], + "stats": { + "n": 50, + "mean": 98.7, + "median": 98.8, + "std": 0.7, + "min": 96.5, + "max": 100.8, + "p25": 98.2, + "p75": 99.1, + "p85": 99.3, + "p95": 99.6 + }, + "reference": 100.0 + }, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/prod_duration_harbor_dark_roast.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/prod_duration_harbor_dark_roast.json new file mode 100644 index 00000000000..36bd024c6e0 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/prod_duration_harbor_dark_roast.json @@ -0,0 +1,1148 @@ +{ + "id": "prod_duration_harbor_dark_roast", + "label": "Production: Harbor Dark Roast", + "type": "production", + "durations": [ + 2.7, 4.1, 1.4, 5.4, 2.7, 6.8, 4.1, 9.5, 2.7, 5.4, 1.4, 4.1, 13.5, 4.1, 2.7, + 6.8, 0.0, 5.4, 4.1, 2.7, 8.1, 4.1, 5.4, 5.4, 4.1, 4.1, 5.4, 2.7, 4.1, 4.1, + 2.7, 2.7, 4.1, 4.1, 4.1, 4.1, 4.1, 5.4, 4.1, 4.1, 4.1, 5.4, 5.4, 5.4, 5.4, + 4.1, 4.1, 5.4, 2.7, 4.1, 4.1, 2.7, 2.7, 4.1, 4.1, 4.1, 4.1, 4.1 + ], + "observations": [ + { + "date": "2022-05-20", + "value": 2.7 + }, + { + "date": "2022-06-10", + "value": 4.1 + }, + { + "date": "2022-07-15", + "value": 1.4 + }, + { + "date": "2022-08-22", + "value": 5.4 + }, + { + "date": "2022-10-05", + "value": 2.7 + }, + { + "date": "2022-11-18", + "value": 6.8 + }, + { + "date": "2023-01-10", + "value": 4.1 + }, + { + "date": "2023-03-25", + "value": 9.5 + }, + { + "date": "2023-05-12", + "value": 2.7 + }, + { + "date": "2023-07-08", + "value": 5.4 + }, + { + "date": "2023-09-15", + "value": 1.4 + }, + { + "date": "2023-11-22", + "value": 4.1 + }, + { + "date": "2024-01-18", + "value": 13.5 + }, + { + "date": "2024-03-08", + "value": 4.1 + }, + { + "date": "2024-05-15", + "value": 2.7 + }, + { + "date": "2024-07-22", + "value": 6.8 + }, + { + "date": "2024-09-10", + "value": 0.0 + }, + { + "date": "2024-11-05", + "value": 5.4 + }, + { + "date": "2025-01-15", + "value": 4.1 + }, + { + "date": "2025-03-20", + "value": 2.7 + }, + { + "date": "2025-05-28", + "value": 8.1 + }, + { + "date": "2025-08-05", + "value": 4.1 + }, + { + "date": "2025-09-05", + "value": 5.4 + }, + { + "date": "2025-09-11", + "value": 5.4 + }, + { + "date": "2025-09-17", + "value": 4.1 + }, + { + "date": "2025-09-23", + "value": 4.1 + }, + { + "date": "2025-10-06", + "value": 5.4 + }, + { + "date": "2025-10-12", + "value": 2.7 + }, + { + "date": "2025-10-18", + "value": 4.1 + }, + { + "date": "2025-10-24", + "value": 4.1 + }, + { + "date": "2025-11-04", + "value": 2.7 + }, + { + "date": "2025-11-10", + "value": 2.7 + }, + { + "date": "2025-11-16", + "value": 4.1 + }, + { + "date": "2025-11-22", + "value": 4.1 + }, + { + "date": "2025-12-05", + "value": 4.1 + }, + { + "date": "2025-12-11", + "value": 4.1 + }, + { + "date": "2025-12-17", + "value": 4.1 + }, + { + "date": "2025-12-23", + "value": 5.4 + }, + { + "date": "2026-01-06", + "value": 4.1 + }, + { + "date": "2026-01-12", + "value": 4.1 + }, + { + "date": "2026-01-18", + "value": 4.1 + }, + { + "date": "2026-01-24", + "value": 5.4 + }, + { + "date": "2026-02-04", + "value": 5.4 + }, + { + "date": "2026-02-10", + "value": 5.4 + }, + { + "date": "2026-02-16", + "value": 5.4 + }, + { + "date": "2026-02-22", + "value": 4.1 + }, + { + "date": "2026-03-05", + "value": 4.1 + }, + { + "date": "2026-03-11", + "value": 5.4 + }, + { + "date": "2026-03-17", + "value": 2.7 + }, + { + "date": "2026-03-23", + "value": 4.1 + }, + { + "date": "2026-04-06", + "value": 4.1 + }, + { + "date": "2026-04-12", + "value": 2.7 + }, + { + "date": "2026-04-18", + "value": 2.7 + }, + { + "date": "2026-04-24", + "value": 4.1 + }, + { + "date": "2026-05-04", + "value": 4.1 + }, + { + "date": "2026-05-10", + "value": 4.1 + }, + { + "date": "2026-05-16", + "value": 4.1 + }, + { + "date": "2026-05-22", + "value": 4.1 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2022-06", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-07", + "mean": 1.4, + "median": 1.4, + "p10": 1.4, + "p25": 1.4, + "p75": 1.4, + "p90": 1.4, + "n": 1 + }, + { + "month": "2022-08", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2022-11", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2023-01", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2023-03", + "mean": 9.5, + "median": 9.5, + "p10": 9.5, + "p25": 9.5, + "p75": 9.5, + "p90": 9.5, + "n": 1 + }, + { + "month": "2023-05", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2023-07", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2023-09", + "mean": 1.4, + "median": 1.4, + "p10": 1.4, + "p25": 1.4, + "p75": 1.4, + "p90": 1.4, + "n": 1 + }, + { + "month": "2023-11", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-01", + "mean": 13.5, + "median": 13.5, + "p10": 13.5, + "p25": 13.5, + "p75": 13.5, + "p90": 13.5, + "n": 1 + }, + { + "month": "2024-03", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-05", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2024-07", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2024-09", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2025-01", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-03", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2025-05", + "mean": 8.1, + "median": 8.1, + "p10": 8.1, + "p25": 8.1, + "p75": 8.1, + "p90": 8.1, + "n": 1 + }, + { + "month": "2025-08", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-09", + "mean": 4.7, + "median": 4.7, + "p10": 4.1, + "p25": 4.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2025-10", + "mean": 4.1, + "median": 4.1, + "p10": 3.1, + "p25": 3.8, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2025-11", + "mean": 3.4, + "median": 3.4, + "p10": 2.7, + "p25": 2.7, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2025-12", + "mean": 4.5, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-01", + "mean": 4.5, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-02", + "mean": 5.1, + "median": 5.4, + "p10": 4.5, + "p25": 5.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2026-03", + "mean": 4.1, + "median": 4.1, + "p10": 3.1, + "p25": 3.8, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-04", + "mean": 3.4, + "median": 3.4, + "p10": 2.7, + "p25": 2.7, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2026-05", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 4 + } + ], + "stats": { + "n": 58, + "mean": 4.4, + "median": 4.1, + "std": 1.4, + "min": 0.0, + "max": 13.5, + "p25": 4.1, + "p75": 5.4, + "p85": 5.4, + "p95": 6.8 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 5.2, + "annotations": [], + "cost": null, + "detail_rows": null, + "ref_date_col": null, + "n_batches": 58, + "n_movements": null, + "yield_data": { + "values": [ + 99.0, 98.5, 99.8, 97.2, 99.5, 98.0, 100.2, 98.8, 99.2, 97.5, 99.0, 98.5, + 100.5, 99.2, 98.0, 97.8, 99.5, 98.2, 99.0, 98.8, 99.5, 97.0, 98.9, 99.1, + 99.4, 99.6, 98.8, 99.0, 99.3, 99.6, 99.5, 99.8, 100.1, 98.7, 99.5, 99.8, + 98.4, 98.7, 99.4, 98.1, 98.4, 98.6, 98.6, 98.9, 99.1, 99.4, 98.6, 98.8, + 99.0, 99.3, 99.3, 99.5, 99.8, 100.1, 99.2, 99.5, 99.8, 98.4 + ], + "observations": [ + { + "date": "2022-05-22", + "value": 99.0 + }, + { + "date": "2022-06-13", + "value": 98.5 + }, + { + "date": "2022-07-16", + "value": 99.8 + }, + { + "date": "2022-08-26", + "value": 97.2 + }, + { + "date": "2022-10-07", + "value": 99.5 + }, + { + "date": "2022-11-23", + "value": 98.0 + }, + { + "date": "2023-01-13", + "value": 100.2 + }, + { + "date": "2023-04-01", + "value": 98.8 + }, + { + "date": "2023-05-14", + "value": 99.2 + }, + { + "date": "2023-07-12", + "value": 97.5 + }, + { + "date": "2023-09-16", + "value": 99.0 + }, + { + "date": "2023-11-25", + "value": 98.5 + }, + { + "date": "2024-01-28", + "value": 100.5 + }, + { + "date": "2024-03-11", + "value": 99.2 + }, + { + "date": "2024-05-17", + "value": 98.0 + }, + { + "date": "2024-07-27", + "value": 97.8 + }, + { + "date": "2024-09-10", + "value": 99.5 + }, + { + "date": "2024-11-09", + "value": 98.2 + }, + { + "date": "2025-01-18", + "value": 99.0 + }, + { + "date": "2025-03-22", + "value": 98.8 + }, + { + "date": "2025-06-03", + "value": 99.5 + }, + { + "date": "2025-08-08", + "value": 97.0 + }, + { + "date": "2025-09-05", + "value": 98.9 + }, + { + "date": "2025-09-11", + "value": 99.1 + }, + { + "date": "2025-09-17", + "value": 99.4 + }, + { + "date": "2025-09-23", + "value": 99.6 + }, + { + "date": "2025-10-06", + "value": 98.8 + }, + { + "date": "2025-10-12", + "value": 99.0 + }, + { + "date": "2025-10-18", + "value": 99.3 + }, + { + "date": "2025-10-24", + "value": 99.6 + }, + { + "date": "2025-11-04", + "value": 99.5 + }, + { + "date": "2025-11-10", + "value": 99.8 + }, + { + "date": "2025-11-16", + "value": 100.1 + }, + { + "date": "2025-11-22", + "value": 98.7 + }, + { + "date": "2025-12-05", + "value": 99.5 + }, + { + "date": "2025-12-11", + "value": 99.8 + }, + { + "date": "2025-12-17", + "value": 98.4 + }, + { + "date": "2025-12-23", + "value": 98.7 + }, + { + "date": "2026-01-06", + "value": 99.4 + }, + { + "date": "2026-01-12", + "value": 98.1 + }, + { + "date": "2026-01-18", + "value": 98.4 + }, + { + "date": "2026-01-24", + "value": 98.6 + }, + { + "date": "2026-02-04", + "value": 98.6 + }, + { + "date": "2026-02-10", + "value": 98.9 + }, + { + "date": "2026-02-16", + "value": 99.1 + }, + { + "date": "2026-02-22", + "value": 99.4 + }, + { + "date": "2026-03-05", + "value": 98.6 + }, + { + "date": "2026-03-11", + "value": 98.8 + }, + { + "date": "2026-03-17", + "value": 99.0 + }, + { + "date": "2026-03-23", + "value": 99.3 + }, + { + "date": "2026-04-06", + "value": 99.3 + }, + { + "date": "2026-04-12", + "value": 99.5 + }, + { + "date": "2026-04-18", + "value": 99.8 + }, + { + "date": "2026-04-24", + "value": 100.1 + }, + { + "date": "2026-05-04", + "value": 99.2 + }, + { + "date": "2026-05-10", + "value": 99.5 + }, + { + "date": "2026-05-16", + "value": 99.8 + }, + { + "date": "2026-05-22", + "value": 98.4 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 99.0, + "median": 99.0, + "p10": 99.0, + "p25": 99.0, + "p75": 99.0, + "p90": 99.0, + "n": 1 + }, + { + "month": "2022-06", + "mean": 98.5, + "median": 98.5, + "p10": 98.5, + "p25": 98.5, + "p75": 98.5, + "p90": 98.5, + "n": 1 + }, + { + "month": "2022-07", + "mean": 99.8, + "median": 99.8, + "p10": 99.8, + "p25": 99.8, + "p75": 99.8, + "p90": 99.8, + "n": 1 + }, + { + "month": "2022-08", + "mean": 97.2, + "median": 97.2, + "p10": 97.2, + "p25": 97.2, + "p75": 97.2, + "p90": 97.2, + "n": 1 + }, + { + "month": "2022-10", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2022-11", + "mean": 98.0, + "median": 98.0, + "p10": 98.0, + "p25": 98.0, + "p75": 98.0, + "p90": 98.0, + "n": 1 + }, + { + "month": "2023-01", + "mean": 100.2, + "median": 100.2, + "p10": 100.2, + "p25": 100.2, + "p75": 100.2, + "p90": 100.2, + "n": 1 + }, + { + "month": "2023-04", + "mean": 98.8, + "median": 98.8, + "p10": 98.8, + "p25": 98.8, + "p75": 98.8, + "p90": 98.8, + "n": 1 + }, + { + "month": "2023-05", + "mean": 99.2, + "median": 99.2, + "p10": 99.2, + "p25": 99.2, + "p75": 99.2, + "p90": 99.2, + "n": 1 + }, + { + "month": "2023-07", + "mean": 97.5, + "median": 97.5, + "p10": 97.5, + "p25": 97.5, + "p75": 97.5, + "p90": 97.5, + "n": 1 + }, + { + "month": "2023-09", + "mean": 99.0, + "median": 99.0, + "p10": 99.0, + "p25": 99.0, + "p75": 99.0, + "p90": 99.0, + "n": 1 + }, + { + "month": "2023-11", + "mean": 98.5, + "median": 98.5, + "p10": 98.5, + "p25": 98.5, + "p75": 98.5, + "p90": 98.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 100.5, + "median": 100.5, + "p10": 100.5, + "p25": 100.5, + "p75": 100.5, + "p90": 100.5, + "n": 1 + }, + { + "month": "2024-03", + "mean": 99.2, + "median": 99.2, + "p10": 99.2, + "p25": 99.2, + "p75": 99.2, + "p90": 99.2, + "n": 1 + }, + { + "month": "2024-05", + "mean": 98.0, + "median": 98.0, + "p10": 98.0, + "p25": 98.0, + "p75": 98.0, + "p90": 98.0, + "n": 1 + }, + { + "month": "2024-07", + "mean": 97.8, + "median": 97.8, + "p10": 97.8, + "p25": 97.8, + "p75": 97.8, + "p90": 97.8, + "n": 1 + }, + { + "month": "2024-09", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2024-11", + "mean": 98.2, + "median": 98.2, + "p10": 98.2, + "p25": 98.2, + "p75": 98.2, + "p90": 98.2, + "n": 1 + }, + { + "month": "2025-01", + "mean": 99.0, + "median": 99.0, + "p10": 99.0, + "p25": 99.0, + "p75": 99.0, + "p90": 99.0, + "n": 1 + }, + { + "month": "2025-03", + "mean": 98.8, + "median": 98.8, + "p10": 98.8, + "p25": 98.8, + "p75": 98.8, + "p90": 98.8, + "n": 1 + }, + { + "month": "2025-06", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2025-08", + "mean": 97.0, + "median": 97.0, + "p10": 97.0, + "p25": 97.0, + "p75": 97.0, + "p90": 97.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 99.3, + "median": 99.3, + "p10": 99.0, + "p25": 99.1, + "p75": 99.5, + "p90": 99.5, + "n": 4 + }, + { + "month": "2025-10", + "mean": 99.2, + "median": 99.2, + "p10": 98.9, + "p25": 99.0, + "p75": 99.4, + "p90": 99.5, + "n": 4 + }, + { + "month": "2025-11", + "mean": 99.5, + "median": 99.7, + "p10": 98.9, + "p25": 99.3, + "p75": 99.9, + "p90": 100.0, + "n": 4 + }, + { + "month": "2025-12", + "mean": 99.1, + "median": 99.1, + "p10": 98.5, + "p25": 98.6, + "p75": 99.6, + "p90": 99.7, + "n": 4 + }, + { + "month": "2026-01", + "mean": 98.6, + "median": 98.5, + "p10": 98.2, + "p25": 98.3, + "p75": 98.8, + "p90": 99.2, + "n": 4 + }, + { + "month": "2026-02", + "mean": 99.0, + "median": 99.0, + "p10": 98.7, + "p25": 98.8, + "p75": 99.2, + "p90": 99.3, + "n": 4 + }, + { + "month": "2026-03", + "mean": 98.9, + "median": 98.9, + "p10": 98.7, + "p25": 98.8, + "p75": 99.1, + "p90": 99.2, + "n": 4 + }, + { + "month": "2026-04", + "mean": 99.7, + "median": 99.7, + "p10": 99.4, + "p25": 99.5, + "p75": 99.9, + "p90": 100.0, + "n": 4 + }, + { + "month": "2026-05", + "mean": 99.2, + "median": 99.4, + "p10": 98.6, + "p25": 99.0, + "p75": 99.6, + "p90": 99.7, + "n": 4 + } + ], + "stats": { + "n": 58, + "mean": 99.0, + "median": 99.1, + "std": 0.7, + "min": 97.0, + "max": 100.5, + "p25": 98.6, + "p75": 99.5, + "p85": 99.7, + "p95": 100.1 + }, + "reference": 100.0 + }, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/prod_to_qa_pla.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/prod_to_qa_pla.json new file mode 100644 index 00000000000..5691dea59b3 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/prod_to_qa_pla.json @@ -0,0 +1,581 @@ +{ + "id": "prod_to_qa_pla", + "label": "Production \u2192 QA Release (PL-A)", + "type": "qa_hold", + "durations": [ + 2.7, 1.4, 4.1, 2.7, 6.8, 2.7, 5.4, 4.1, 8.1, 2.7, 17.6, 4.1, 9.5, 1.4, 5.4, + 6.8, 2.7, 0.0, 4.1, 10.8, 2.7, 6.8, 2.7, 4.1, 4.1, 4.1, 4.1, 4.1, 5.4, 5.4, + 4.1, 4.1, 4.1, 5.4, 4.1, 4.1, 4.1, 2.7, 5.4, 5.4, 4.1, 4.1, 5.4, 2.7, 4.1, + 4.1, 4.1, 4.1, 4.1, 5.4, 4.1, 4.1, 4.1, 4.1, 4.1, 4.1, 4.1, 4.1 + ], + "observations": [ + { + "date": "2022-05-22", + "value": 2.7 + }, + { + "date": "2022-06-13", + "value": 1.4 + }, + { + "date": "2022-07-16", + "value": 4.1 + }, + { + "date": "2022-08-26", + "value": 2.7 + }, + { + "date": "2022-10-07", + "value": 6.8 + }, + { + "date": "2022-11-23", + "value": 2.7 + }, + { + "date": "2023-01-13", + "value": 5.4 + }, + { + "date": "2023-04-01", + "value": 4.1 + }, + { + "date": "2023-05-14", + "value": 8.1 + }, + { + "date": "2023-07-12", + "value": 2.7 + }, + { + "date": "2023-09-16", + "value": 17.6 + }, + { + "date": "2023-11-25", + "value": 4.1 + }, + { + "date": "2024-01-28", + "value": 9.5 + }, + { + "date": "2024-03-11", + "value": 1.4 + }, + { + "date": "2024-05-17", + "value": 5.4 + }, + { + "date": "2024-07-27", + "value": 6.8 + }, + { + "date": "2024-09-10", + "value": 2.7 + }, + { + "date": "2024-11-09", + "value": 0.0 + }, + { + "date": "2025-01-18", + "value": 4.1 + }, + { + "date": "2025-03-22", + "value": 10.8 + }, + { + "date": "2025-06-03", + "value": 2.7 + }, + { + "date": "2025-08-08", + "value": 6.8 + }, + { + "date": "2025-09-04", + "value": 2.7 + }, + { + "date": "2025-09-10", + "value": 4.1 + }, + { + "date": "2025-09-16", + "value": 4.1 + }, + { + "date": "2025-09-22", + "value": 4.1 + }, + { + "date": "2025-10-05", + "value": 4.1 + }, + { + "date": "2025-10-11", + "value": 4.1 + }, + { + "date": "2025-10-17", + "value": 5.4 + }, + { + "date": "2025-10-23", + "value": 5.4 + }, + { + "date": "2025-11-06", + "value": 4.1 + }, + { + "date": "2025-11-12", + "value": 4.1 + }, + { + "date": "2025-11-18", + "value": 4.1 + }, + { + "date": "2025-11-24", + "value": 5.4 + }, + { + "date": "2025-12-04", + "value": 4.1 + }, + { + "date": "2025-12-10", + "value": 4.1 + }, + { + "date": "2025-12-16", + "value": 4.1 + }, + { + "date": "2025-12-22", + "value": 2.7 + }, + { + "date": "2026-01-05", + "value": 5.4 + }, + { + "date": "2026-01-11", + "value": 5.4 + }, + { + "date": "2026-01-17", + "value": 4.1 + }, + { + "date": "2026-01-23", + "value": 4.1 + }, + { + "date": "2026-02-06", + "value": 5.4 + }, + { + "date": "2026-02-12", + "value": 2.7 + }, + { + "date": "2026-02-18", + "value": 4.1 + }, + { + "date": "2026-02-24", + "value": 4.1 + }, + { + "date": "2026-03-04", + "value": 4.1 + }, + { + "date": "2026-03-10", + "value": 4.1 + }, + { + "date": "2026-03-16", + "value": 4.1 + }, + { + "date": "2026-03-22", + "value": 5.4 + }, + { + "date": "2026-04-05", + "value": 4.1 + }, + { + "date": "2026-04-11", + "value": 4.1 + }, + { + "date": "2026-04-17", + "value": 4.1 + }, + { + "date": "2026-04-23", + "value": 4.1 + }, + { + "date": "2026-05-06", + "value": 4.1 + }, + { + "date": "2026-05-12", + "value": 4.1 + }, + { + "date": "2026-05-18", + "value": 4.1 + }, + { + "date": "2026-05-24", + "value": 4.1 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2022-06", + "mean": 1.4, + "median": 1.4, + "p10": 1.4, + "p25": 1.4, + "p75": 1.4, + "p90": 1.4, + "n": 1 + }, + { + "month": "2022-07", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-08", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2022-10", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2022-11", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2023-01", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2023-04", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2023-05", + "mean": 8.1, + "median": 8.1, + "p10": 8.1, + "p25": 8.1, + "p75": 8.1, + "p90": 8.1, + "n": 1 + }, + { + "month": "2023-07", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2023-09", + "mean": 17.6, + "median": 17.6, + "p10": 17.6, + "p25": 17.6, + "p75": 17.6, + "p90": 17.6, + "n": 1 + }, + { + "month": "2023-11", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-01", + "mean": 9.5, + "median": 9.5, + "p10": 9.5, + "p25": 9.5, + "p75": 9.5, + "p90": 9.5, + "n": 1 + }, + { + "month": "2024-03", + "mean": 1.4, + "median": 1.4, + "p10": 1.4, + "p25": 1.4, + "p75": 1.4, + "p90": 1.4, + "n": 1 + }, + { + "month": "2024-05", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2024-07", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2024-09", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2024-11", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-03", + "mean": 10.8, + "median": 10.8, + "p10": 10.8, + "p25": 10.8, + "p75": 10.8, + "p90": 10.8, + "n": 1 + }, + { + "month": "2025-06", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2025-08", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2025-09", + "mean": 3.8, + "median": 4.1, + "p10": 3.1, + "p25": 3.8, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2025-10", + "mean": 4.7, + "median": 4.7, + "p10": 4.1, + "p25": 4.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2025-11", + "mean": 4.5, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2025-12", + "mean": 3.8, + "median": 4.1, + "p10": 3.1, + "p25": 3.8, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2026-01", + "mean": 4.7, + "median": 4.7, + "p10": 4.1, + "p25": 4.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2026-02", + "mean": 4.1, + "median": 4.1, + "p10": 3.1, + "p25": 3.8, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-03", + "mean": 4.5, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-04", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2026-05", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 4 + } + ], + "stats": { + "n": 58, + "mean": 4.6, + "median": 4.1, + "std": 1.8, + "min": 0.0, + "max": 17.6, + "p25": 4.1, + "p75": 5.4, + "p85": 5.4, + "p95": 8.1 + }, + "plifz": 5, + "plifz_note": "WEBAZ (GR processing days)", + "pct_exceeding_plifz": 6.9, + "annotations": [], + "cost": null, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": null, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/raw_dwell_highland_arabica.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/raw_dwell_highland_arabica.json new file mode 100644 index 00000000000..5c880b10778 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/raw_dwell_highland_arabica.json @@ -0,0 +1,1513 @@ +{ + "id": "raw_dwell_highland_arabica", + "label": "Raw Material Dwell: Highland Arabica", + "type": "raw_material_dwell", + "durations": [ + 47.2, 83.7, 24.3, 118.8, 56.7, 74.2, 40.5, 97.2, 33.8, 64.8, 20.2, 128.2, + 175.5, 60.8, 51.3, 87.8, 29.7, 105.3, 6.8, 74.2, 54, 37.8, 114.8, 67.5, + 148.5, 43.2, 91.8, 60.8, 124.2, 27, 78.3, 47.2, 56.7, 101.2, 16.2, 64.8, 81, + 51.3, 66.2, 72.9, 45.9, 52.7, 56.7, 82.4, 55.4, 62.1, 66.2, 71.6, 48.6, + 55.4, 59.4, 64.8, 70.2, 48.6, 52.7, 58.1, 63.5, 68.9, 63.5, 67.5, 72.9, + 78.3, 52.7, 60.8, 66.2, 72.9, 45.9, 52.7, 75.6, 82.4, 55.4, 62.1, 66.2, + 75.6, 48.6, 55.4, 59.4, 64.8, 43.2, 48.6, 52.7, 58.1, 63.5 + ], + "observations": [ + { + "date": "2022-04-02", + "value": 47.2 + }, + { + "date": "2022-04-15", + "value": 83.7 + }, + { + "date": "2022-04-28", + "value": 24.3 + }, + { + "date": "2022-08-05", + "value": 118.8 + }, + { + "date": "2022-08-12", + "value": 56.7 + }, + { + "date": "2022-08-20", + "value": 74.2 + }, + { + "date": "2022-08-28", + "value": 40.5 + }, + { + "date": "2023-01-10", + "value": 97.2 + }, + { + "date": "2023-01-22", + "value": 33.8 + }, + { + "date": "2023-01-30", + "value": 64.8 + }, + { + "date": "2023-06-05", + "value": 20.2 + }, + { + "date": "2023-06-18", + "value": 128.2 + }, + { + "date": "2023-10-03", + "value": 175.5 + }, + { + "date": "2023-10-10", + "value": 60.8 + }, + { + "date": "2023-10-18", + "value": 51.3 + }, + { + "date": "2023-10-25", + "value": 87.8 + }, + { + "date": "2023-10-30", + "value": 29.7 + }, + { + "date": "2024-03-05", + "value": 105.3 + }, + { + "date": "2024-03-12", + "value": 6.8 + }, + { + "date": "2024-03-20", + "value": 74.2 + }, + { + "date": "2024-03-28", + "value": 54 + }, + { + "date": "2024-07-08", + "value": 37.8 + }, + { + "date": "2024-07-15", + "value": 114.8 + }, + { + "date": "2024-07-22", + "value": 67.5 + }, + { + "date": "2024-11-04", + "value": 148.5 + }, + { + "date": "2024-11-11", + "value": 43.2 + }, + { + "date": "2024-11-18", + "value": 91.8 + }, + { + "date": "2024-11-25", + "value": 60.8 + }, + { + "date": "2024-11-30", + "value": 124.2 + }, + { + "date": "2025-03-03", + "value": 27 + }, + { + "date": "2025-03-10", + "value": 78.3 + }, + { + "date": "2025-03-17", + "value": 47.2 + }, + { + "date": "2025-03-24", + "value": 56.7 + }, + { + "date": "2025-07-02", + "value": 101.2 + }, + { + "date": "2025-07-09", + "value": 16.2 + }, + { + "date": "2025-07-16", + "value": 64.8 + }, + { + "date": "2025-07-23", + "value": 81 + }, + { + "date": "2025-07-30", + "value": 51.3 + }, + { + "date": "2025-09-05", + "value": 66.2 + }, + { + "date": "2025-09-11", + "value": 72.9 + }, + { + "date": "2025-09-17", + "value": 45.9 + }, + { + "date": "2025-09-23", + "value": 52.7 + }, + { + "date": "2025-09-29", + "value": 56.7 + }, + { + "date": "2025-10-06", + "value": 82.4 + }, + { + "date": "2025-10-12", + "value": 55.4 + }, + { + "date": "2025-10-18", + "value": 62.1 + }, + { + "date": "2025-10-24", + "value": 66.2 + }, + { + "date": "2025-10-30", + "value": 71.6 + }, + { + "date": "2025-11-04", + "value": 48.6 + }, + { + "date": "2025-11-10", + "value": 55.4 + }, + { + "date": "2025-11-16", + "value": 59.4 + }, + { + "date": "2025-11-22", + "value": 64.8 + }, + { + "date": "2025-11-28", + "value": 70.2 + }, + { + "date": "2025-12-05", + "value": 48.6 + }, + { + "date": "2025-12-11", + "value": 52.7 + }, + { + "date": "2025-12-17", + "value": 58.1 + }, + { + "date": "2025-12-23", + "value": 63.5 + }, + { + "date": "2025-12-29", + "value": 68.9 + }, + { + "date": "2026-01-06", + "value": 63.5 + }, + { + "date": "2026-01-12", + "value": 67.5 + }, + { + "date": "2026-01-18", + "value": 72.9 + }, + { + "date": "2026-01-24", + "value": 78.3 + }, + { + "date": "2026-01-30", + "value": 52.7 + }, + { + "date": "2026-02-04", + "value": 60.8 + }, + { + "date": "2026-02-10", + "value": 66.2 + }, + { + "date": "2026-02-16", + "value": 72.9 + }, + { + "date": "2026-02-22", + "value": 45.9 + }, + { + "date": "2026-02-28", + "value": 52.7 + }, + { + "date": "2026-03-05", + "value": 75.6 + }, + { + "date": "2026-03-11", + "value": 82.4 + }, + { + "date": "2026-03-17", + "value": 55.4 + }, + { + "date": "2026-03-23", + "value": 62.1 + }, + { + "date": "2026-03-29", + "value": 66.2 + }, + { + "date": "2026-04-06", + "value": 75.6 + }, + { + "date": "2026-04-12", + "value": 48.6 + }, + { + "date": "2026-04-18", + "value": 55.4 + }, + { + "date": "2026-04-24", + "value": 59.4 + }, + { + "date": "2026-04-30", + "value": 64.8 + }, + { + "date": "2026-05-04", + "value": 43.2 + }, + { + "date": "2026-05-10", + "value": 48.6 + }, + { + "date": "2026-05-16", + "value": 52.7 + }, + { + "date": "2026-05-22", + "value": 58.1 + }, + { + "date": "2026-05-28", + "value": 63.5 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 51.7, + "median": 47.2, + "p10": 28.9, + "p25": 35.8, + "p75": 65.5, + "p90": 76.4, + "n": 3, + "total_kg_days": 483000 + }, + { + "month": "2022-08", + "mean": 72.6, + "median": 65.5, + "p10": 45.4, + "p25": 52.7, + "p75": 85.5, + "p90": 105.4, + "n": 4, + "total_kg_days": 903000 + }, + { + "month": "2023-01", + "mean": 65.2, + "median": 64.8, + "p10": 40, + "p25": 49.3, + "p75": 81, + "p90": 90.7, + "n": 3, + "total_kg_days": 609000 + }, + { + "month": "2023-06", + "mean": 74.2, + "median": 74.2, + "p10": 31.1, + "p25": 47.2, + "p75": 101.2, + "p90": 117.5, + "n": 2, + "total_kg_days": 462000 + }, + { + "month": "2023-10", + "mean": 81, + "median": 60.8, + "p10": 38.3, + "p25": 51.3, + "p75": 87.8, + "p90": 140.4, + "n": 5, + "total_kg_days": 1260000 + }, + { + "month": "2024-03", + "mean": 60.1, + "median": 64.1, + "p10": 20.9, + "p25": 42.3, + "p75": 82.1, + "p90": 96, + "n": 4, + "total_kg_days": 747600 + }, + { + "month": "2024-07", + "mean": 73.3, + "median": 67.5, + "p10": 43.7, + "p25": 52.7, + "p75": 91.1, + "p90": 105.3, + "n": 3, + "total_kg_days": 684600 + }, + { + "month": "2024-11", + "mean": 93.7, + "median": 91.8, + "p10": 50.2, + "p25": 60.8, + "p75": 124.2, + "p90": 138.8, + "n": 5, + "total_kg_days": 1457400 + }, + { + "month": "2025-03", + "mean": 52.4, + "median": 52, + "p10": 33.1, + "p25": 42.3, + "p75": 62.1, + "p90": 71.8, + "n": 4, + "total_kg_days": 651000 + }, + { + "month": "2025-07", + "mean": 62.9, + "median": 64.8, + "p10": 30.2, + "p25": 51.3, + "p75": 81, + "p90": 93.2, + "n": 5, + "total_kg_days": 978600 + }, + { + "month": "2025-09", + "mean": 58.9, + "median": 56.7, + "p10": 48.6, + "p25": 52.7, + "p75": 66.2, + "p90": 70.2, + "n": 5, + "total_kg_days": 915600 + }, + { + "month": "2025-10", + "mean": 67.5, + "median": 66.2, + "p10": 58.1, + "p25": 62.1, + "p75": 71.6, + "p90": 78, + "n": 5, + "total_kg_days": 1050000 + }, + { + "month": "2025-11", + "mean": 59.7, + "median": 59.4, + "p10": 51.3, + "p25": 55.4, + "p75": 64.8, + "p90": 68, + "n": 5, + "total_kg_days": 928200 + }, + { + "month": "2025-12", + "mean": 58.3, + "median": 58.1, + "p10": 50.2, + "p25": 52.7, + "p75": 63.5, + "p90": 66.7, + "n": 5, + "total_kg_days": 907200 + }, + { + "month": "2026-01", + "mean": 67, + "median": 67.5, + "p10": 57, + "p25": 63.5, + "p75": 72.9, + "p90": 76.1, + "n": 5, + "total_kg_days": 1041600 + }, + { + "month": "2026-02", + "mean": 59.7, + "median": 60.8, + "p10": 48.6, + "p25": 52.7, + "p75": 66.2, + "p90": 70.2, + "n": 5, + "total_kg_days": 928200 + }, + { + "month": "2026-03", + "mean": 68.3, + "median": 66.2, + "p10": 58.1, + "p25": 62.1, + "p75": 75.6, + "p90": 79.7, + "n": 5, + "total_kg_days": 1062600 + }, + { + "month": "2026-04", + "mean": 60.8, + "median": 59.4, + "p10": 51.3, + "p25": 55.4, + "p75": 64.8, + "p90": 71.3, + "n": 5, + "total_kg_days": 945000 + }, + { + "month": "2026-05", + "mean": 53.2, + "median": 52.7, + "p10": 45.4, + "p25": 48.6, + "p75": 58.1, + "p90": 61.3, + "n": 5, + "total_kg_days": 827400 + } + ], + "stats": { + "n": 83, + "mean": 65.2, + "median": 62.1, + "std": 19.8, + "min": 6.8, + "max": 175.5, + "p25": 51.3, + "p75": 72.9, + "p85": 82.4, + "p95": 114.8 + }, + "plifz": 30, + "plifz_note": null, + "pct_exceeding_plifz": 89.2, + "annotations": [ + { + "date": "2023-09-01", + "label": "Supplier change for Highland Arabica" + } + ], + "cost": { + "unit_price": 4.32, + "currency": "CHF", + "mean_qty": 4200, + "monthly": [ + { + "month": "2022-04", + "n_events": 3, + "total_kg_days": 483000 + }, + { + "month": "2022-08", + "n_events": 4, + "total_kg_days": 903000 + }, + { + "month": "2023-01", + "n_events": 3, + "total_kg_days": 609000 + }, + { + "month": "2023-06", + "n_events": 2, + "total_kg_days": 462000 + }, + { + "month": "2023-10", + "n_events": 5, + "total_kg_days": 1260000 + }, + { + "month": "2024-03", + "n_events": 4, + "total_kg_days": 747600 + }, + { + "month": "2024-07", + "n_events": 3, + "total_kg_days": 684600 + }, + { + "month": "2024-11", + "n_events": 5, + "total_kg_days": 1457400 + }, + { + "month": "2025-03", + "n_events": 4, + "total_kg_days": 651000 + }, + { + "month": "2025-07", + "n_events": 5, + "total_kg_days": 978600 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 915600 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1050000 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 928200 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 907200 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1041600 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 928200 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1062600 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 945000 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 827400 + } + ] + }, + "detail_rows": { + "columns": [ + { + "key": "batch", + "source_field": "CHARG", + "source_table": "MSEG", + "label": "Batch" + }, + { + "key": "consumption_date", + "source_field": "BUDAT", + "source_table": "MKPF", + "label": "Consumption Date" + }, + { + "key": "dwell_days", + "source_field": null, + "source_table": null, + "label": "Dwell Days", + "unit": "d" + }, + { + "key": "kg_days", + "source_field": null, + "source_table": null, + "label": "Inventory kg-days", + "unit": "kg·d" + }, + { + "key": "cons_matnr", + "source_field": "MATNR", + "source_table": "MSEG", + "label": "Consuming Material" + }, + { + "key": "cons_material_name", + "source_field": "MAKTX", + "source_table": "MAKT", + "label": "Consuming Material Name" + }, + { + "key": "cons_in_current_recipe", + "source_field": null, + "source_table": null, + "label": "In Current Recipe" + } + ], + "rows": [ + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-001", + "consumption_date": "2022-04-02", + "dwell_days": 47.2, + "kg_days": 161000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-002", + "consumption_date": "2022-04-15", + "dwell_days": 83.7, + "kg_days": 161000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-003", + "consumption_date": "2022-04-28", + "dwell_days": 24.3, + "kg_days": 161000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-004", + "consumption_date": "2022-08-05", + "dwell_days": 118.8, + "kg_days": 225750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-005", + "consumption_date": "2022-08-12", + "dwell_days": 56.7, + "kg_days": 225750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-006", + "consumption_date": "2022-08-20", + "dwell_days": 74.2, + "kg_days": 225750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-007", + "consumption_date": "2022-08-28", + "dwell_days": 40.5, + "kg_days": 225750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-008", + "consumption_date": "2023-01-10", + "dwell_days": 97.2, + "kg_days": 203000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-009", + "consumption_date": "2023-01-22", + "dwell_days": 33.8, + "kg_days": 203000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-010", + "consumption_date": "2023-01-30", + "dwell_days": 64.8, + "kg_days": 203000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-011", + "consumption_date": "2023-06-05", + "dwell_days": 20.2, + "kg_days": 231000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-012", + "consumption_date": "2023-06-18", + "dwell_days": 128.2, + "kg_days": 231000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-013", + "consumption_date": "2023-10-03", + "dwell_days": 175.5, + "kg_days": 252000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-014", + "consumption_date": "2023-10-10", + "dwell_days": 60.8, + "kg_days": 252000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-015", + "consumption_date": "2023-10-18", + "dwell_days": 51.3, + "kg_days": 252000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-016", + "consumption_date": "2023-10-25", + "dwell_days": 87.8, + "kg_days": 252000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-017", + "consumption_date": "2023-10-30", + "dwell_days": 29.7, + "kg_days": 252000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-018", + "consumption_date": "2024-03-05", + "dwell_days": 105.3, + "kg_days": 186900, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-019", + "consumption_date": "2024-03-12", + "dwell_days": 6.8, + "kg_days": 186900, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-020", + "consumption_date": "2024-03-20", + "dwell_days": 74.2, + "kg_days": 186900, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-021", + "consumption_date": "2024-03-28", + "dwell_days": 54, + "kg_days": 186900, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-022", + "consumption_date": "2024-07-08", + "dwell_days": 37.8, + "kg_days": 228200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-023", + "consumption_date": "2024-07-15", + "dwell_days": 114.8, + "kg_days": 228200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-024", + "consumption_date": "2024-07-22", + "dwell_days": 67.5, + "kg_days": 228200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-025", + "consumption_date": "2024-11-04", + "dwell_days": 148.5, + "kg_days": 291480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-026", + "consumption_date": "2024-11-11", + "dwell_days": 43.2, + "kg_days": 291480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-027", + "consumption_date": "2024-11-18", + "dwell_days": 91.8, + "kg_days": 291480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-028", + "consumption_date": "2024-11-25", + "dwell_days": 60.8, + "kg_days": 291480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-029", + "consumption_date": "2024-11-30", + "dwell_days": 124.2, + "kg_days": 291480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-030", + "consumption_date": "2025-03-03", + "dwell_days": 27, + "kg_days": 162750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-031", + "consumption_date": "2025-03-10", + "dwell_days": 78.3, + "kg_days": 162750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-032", + "consumption_date": "2025-03-17", + "dwell_days": 47.2, + "kg_days": 162750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-033", + "consumption_date": "2025-03-24", + "dwell_days": 56.7, + "kg_days": 162750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-034", + "consumption_date": "2025-07-02", + "dwell_days": 101.2, + "kg_days": 195720, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-035", + "consumption_date": "2025-07-09", + "dwell_days": 16.2, + "kg_days": 195720, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-036", + "consumption_date": "2025-07-16", + "dwell_days": 64.8, + "kg_days": 195720, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-037", + "consumption_date": "2025-07-23", + "dwell_days": 81, + "kg_days": 195720, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-038", + "consumption_date": "2025-07-30", + "dwell_days": 51.3, + "kg_days": 195720, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-039", + "consumption_date": "2025-09-05", + "dwell_days": 66.2, + "kg_days": 183120, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-040", + "consumption_date": "2025-09-11", + "dwell_days": 72.9, + "kg_days": 183120, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-041", + "consumption_date": "2025-09-17", + "dwell_days": 45.9, + "kg_days": 183120, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-042", + "consumption_date": "2025-09-23", + "dwell_days": 52.7, + "kg_days": 183120, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-043", + "consumption_date": "2025-09-29", + "dwell_days": 56.7, + "kg_days": 183120, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-044", + "consumption_date": "2025-10-06", + "dwell_days": 82.4, + "kg_days": 210000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-045", + "consumption_date": "2025-10-12", + "dwell_days": 55.4, + "kg_days": 210000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-046", + "consumption_date": "2025-10-18", + "dwell_days": 62.1, + "kg_days": 210000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-047", + "consumption_date": "2025-10-24", + "dwell_days": 66.2, + "kg_days": 210000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-048", + "consumption_date": "2025-10-30", + "dwell_days": 71.6, + "kg_days": 210000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-049", + "consumption_date": "2025-11-04", + "dwell_days": 48.6, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-050", + "consumption_date": "2025-11-10", + "dwell_days": 55.4, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-051", + "consumption_date": "2025-11-16", + "dwell_days": 59.4, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-052", + "consumption_date": "2025-11-22", + "dwell_days": 64.8, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-053", + "consumption_date": "2025-11-28", + "dwell_days": 70.2, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-054", + "consumption_date": "2025-12-05", + "dwell_days": 48.6, + "kg_days": 181440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-055", + "consumption_date": "2025-12-11", + "dwell_days": 52.7, + "kg_days": 181440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-056", + "consumption_date": "2025-12-17", + "dwell_days": 58.1, + "kg_days": 181440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-057", + "consumption_date": "2025-12-23", + "dwell_days": 63.5, + "kg_days": 181440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-058", + "consumption_date": "2025-12-29", + "dwell_days": 68.9, + "kg_days": 181440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-059", + "consumption_date": "2026-01-06", + "dwell_days": 63.5, + "kg_days": 208320, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-060", + "consumption_date": "2026-01-12", + "dwell_days": 67.5, + "kg_days": 208320, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-061", + "consumption_date": "2026-01-18", + "dwell_days": 72.9, + "kg_days": 208320, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-062", + "consumption_date": "2026-01-24", + "dwell_days": 78.3, + "kg_days": 208320, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-063", + "consumption_date": "2026-01-30", + "dwell_days": 52.7, + "kg_days": 208320, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-064", + "consumption_date": "2026-02-04", + "dwell_days": 60.8, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-065", + "consumption_date": "2026-02-10", + "dwell_days": 66.2, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-066", + "consumption_date": "2026-02-16", + "dwell_days": 72.9, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-067", + "consumption_date": "2026-02-22", + "dwell_days": 45.9, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-068", + "consumption_date": "2026-02-28", + "dwell_days": 52.7, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-069", + "consumption_date": "2026-03-05", + "dwell_days": 75.6, + "kg_days": 212520, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-070", + "consumption_date": "2026-03-11", + "dwell_days": 82.4, + "kg_days": 212520, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-071", + "consumption_date": "2026-03-17", + "dwell_days": 55.4, + "kg_days": 212520, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-072", + "consumption_date": "2026-03-23", + "dwell_days": 62.1, + "kg_days": 212520, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-073", + "consumption_date": "2026-03-29", + "dwell_days": 66.2, + "kg_days": 212520, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-074", + "consumption_date": "2026-04-06", + "dwell_days": 75.6, + "kg_days": 189000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-075", + "consumption_date": "2026-04-12", + "dwell_days": 48.6, + "kg_days": 189000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-076", + "consumption_date": "2026-04-18", + "dwell_days": 55.4, + "kg_days": 189000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-077", + "consumption_date": "2026-04-24", + "dwell_days": 59.4, + "kg_days": 189000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-078", + "consumption_date": "2026-04-30", + "dwell_days": 64.8, + "kg_days": 189000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-079", + "consumption_date": "2026-05-04", + "dwell_days": 43.2, + "kg_days": 165480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-080", + "consumption_date": "2026-05-10", + "dwell_days": 48.6, + "kg_days": 165480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-081", + "consumption_date": "2026-05-16", + "dwell_days": 52.7, + "kg_days": 165480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-082", + "consumption_date": "2026-05-22", + "dwell_days": 58.1, + "kg_days": 165480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-083", + "consumption_date": "2026-05-28", + "dwell_days": 63.5, + "kg_days": 165480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-OTHER-01", + "consumption_date": "2026-05-16", + "dwell_days": 60.6, + "kg_days": 65875, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 0 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-OTHER-02", + "consumption_date": "2026-05-22", + "dwell_days": 66.8, + "kg_days": 72625, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 0 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-OTHER-03", + "consumption_date": "2026-05-28", + "dwell_days": 73, + "kg_days": 79375, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 0 + } + ] + }, + "ref_date_col": "consumption_date", + "n_batches": null, + "n_movements": 38, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0", + "value_col": "dwell_days" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/raw_dwell_lowland_robusta.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/raw_dwell_lowland_robusta.json new file mode 100644 index 00000000000..26781bd7ebb --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/raw_dwell_lowland_robusta.json @@ -0,0 +1,1261 @@ +{ + "id": "raw_dwell_lowland_robusta", + "label": "Raw Material Dwell: Lowland Robusta", + "type": "raw_material_dwell", + "durations": [ + 37.8, 60.8, 16.2, 83.7, 44.6, 105.3, 27, 74.2, 10.8, 56.7, 87.8, 51.3, 20.2, + 97.2, 33.8, 64.8, 4.1, 114.8, 40.5, 74.2, 29.7, 54, 132.3, 24.3, 52.7, 55.4, + 60.8, 40.5, 45.9, 51.3, 55.4, 36.5, 40.5, 43.2, 51.3, 31.1, 36.5, 39.2, + 43.2, 37.8, 43.2, 45.9, 50, 54, 37.8, 41.9, 44.6, 48.6, 52.7, 48.6, 52.7, + 55.4, 60.8, 40.5, 47.2, 51.3, 55.4, 36.5, 40.5, 45.9, 51.3, 31.1, 36.5, + 39.2, 58.1, 37.8, 43.2, 45.9, 50 + ], + "observations": [ + { + "date": "2022-05-02", + "value": 37.8 + }, + { + "date": "2022-05-10", + "value": 60.8 + }, + { + "date": "2022-05-18", + "value": 16.2 + }, + { + "date": "2022-05-25", + "value": 83.7 + }, + { + "date": "2023-02-06", + "value": 44.6 + }, + { + "date": "2023-02-14", + "value": 105.3 + }, + { + "date": "2023-02-22", + "value": 27 + }, + { + "date": "2023-02-28", + "value": 74.2 + }, + { + "date": "2023-09-05", + "value": 10.8 + }, + { + "date": "2023-09-15", + "value": 56.7 + }, + { + "date": "2023-09-25", + "value": 87.8 + }, + { + "date": "2024-04-03", + "value": 51.3 + }, + { + "date": "2024-04-10", + "value": 20.2 + }, + { + "date": "2024-04-17", + "value": 97.2 + }, + { + "date": "2024-04-24", + "value": 33.8 + }, + { + "date": "2024-10-02", + "value": 64.8 + }, + { + "date": "2024-10-09", + "value": 4.1 + }, + { + "date": "2024-10-16", + "value": 114.8 + }, + { + "date": "2024-10-23", + "value": 40.5 + }, + { + "date": "2024-10-30", + "value": 74.2 + }, + { + "date": "2025-04-07", + "value": 29.7 + }, + { + "date": "2025-04-14", + "value": 54 + }, + { + "date": "2025-04-21", + "value": 132.3 + }, + { + "date": "2025-04-28", + "value": 24.3 + }, + { + "date": "2025-09-04", + "value": 52.7 + }, + { + "date": "2025-09-10", + "value": 55.4 + }, + { + "date": "2025-09-16", + "value": 60.8 + }, + { + "date": "2025-09-22", + "value": 40.5 + }, + { + "date": "2025-09-28", + "value": 45.9 + }, + { + "date": "2025-10-05", + "value": 51.3 + }, + { + "date": "2025-10-11", + "value": 55.4 + }, + { + "date": "2025-10-17", + "value": 36.5 + }, + { + "date": "2025-10-23", + "value": 40.5 + }, + { + "date": "2025-10-29", + "value": 43.2 + }, + { + "date": "2025-11-06", + "value": 51.3 + }, + { + "date": "2025-11-12", + "value": 31.1 + }, + { + "date": "2025-11-18", + "value": 36.5 + }, + { + "date": "2025-11-24", + "value": 39.2 + }, + { + "date": "2025-11-30", + "value": 43.2 + }, + { + "date": "2025-12-04", + "value": 37.8 + }, + { + "date": "2025-12-10", + "value": 43.2 + }, + { + "date": "2025-12-16", + "value": 45.9 + }, + { + "date": "2025-12-22", + "value": 50 + }, + { + "date": "2025-12-28", + "value": 54 + }, + { + "date": "2026-01-05", + "value": 37.8 + }, + { + "date": "2026-01-11", + "value": 41.9 + }, + { + "date": "2026-01-17", + "value": 44.6 + }, + { + "date": "2026-01-23", + "value": 48.6 + }, + { + "date": "2026-01-29", + "value": 52.7 + }, + { + "date": "2026-02-06", + "value": 48.6 + }, + { + "date": "2026-02-12", + "value": 52.7 + }, + { + "date": "2026-02-18", + "value": 55.4 + }, + { + "date": "2026-02-24", + "value": 60.8 + }, + { + "date": "2026-02-30", + "value": 40.5 + }, + { + "date": "2026-03-04", + "value": 47.2 + }, + { + "date": "2026-03-10", + "value": 51.3 + }, + { + "date": "2026-03-16", + "value": 55.4 + }, + { + "date": "2026-03-22", + "value": 36.5 + }, + { + "date": "2026-03-28", + "value": 40.5 + }, + { + "date": "2026-04-05", + "value": 45.9 + }, + { + "date": "2026-04-11", + "value": 51.3 + }, + { + "date": "2026-04-17", + "value": 31.1 + }, + { + "date": "2026-04-23", + "value": 36.5 + }, + { + "date": "2026-04-29", + "value": 39.2 + }, + { + "date": "2026-05-06", + "value": 58.1 + }, + { + "date": "2026-05-12", + "value": 37.8 + }, + { + "date": "2026-05-18", + "value": 43.2 + }, + { + "date": "2026-05-24", + "value": 45.9 + }, + { + "date": "2026-05-30", + "value": 50 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 49.7, + "median": 49.3, + "p10": 22.7, + "p25": 32.4, + "p75": 66.6, + "p90": 76.8, + "n": 4, + "total_kg_days": 955500 + }, + { + "month": "2023-02", + "mean": 62.8, + "median": 59.4, + "p10": 32.3, + "p25": 40.2, + "p75": 82.1, + "p90": 96, + "n": 4, + "total_kg_days": 1209000 + }, + { + "month": "2023-09", + "mean": 51.7, + "median": 56.7, + "p10": 20, + "p25": 33.8, + "p75": 72.2, + "p90": 81.5, + "n": 3, + "total_kg_days": 747500 + }, + { + "month": "2024-04", + "mean": 50.6, + "median": 42.5, + "p10": 24.3, + "p25": 30.4, + "p75": 62.8, + "p90": 83.4, + "n": 4, + "total_kg_days": 975000 + }, + { + "month": "2024-10", + "mean": 59.7, + "median": 64.8, + "p10": 18.6, + "p25": 40.5, + "p75": 74.2, + "p90": 98.6, + "n": 5, + "total_kg_days": 1436500 + }, + { + "month": "2025-04", + "mean": 60.1, + "median": 41.9, + "p10": 25.9, + "p25": 28.4, + "p75": 73.6, + "p90": 108.8, + "n": 4, + "total_kg_days": 1157000 + }, + { + "month": "2025-09", + "mean": 51, + "median": 52.7, + "p10": 42.7, + "p25": 45.9, + "p75": 55.4, + "p90": 58.6, + "n": 5, + "total_kg_days": 1228500 + }, + { + "month": "2025-10", + "mean": 45.4, + "median": 43.2, + "p10": 38.1, + "p25": 40.5, + "p75": 51.3, + "p90": 53.7, + "n": 5, + "total_kg_days": 1092000 + }, + { + "month": "2025-11", + "mean": 40.2, + "median": 39.2, + "p10": 33.2, + "p25": 36.5, + "p75": 43.2, + "p90": 48.1, + "n": 5, + "total_kg_days": 968500 + }, + { + "month": "2025-12", + "mean": 46.2, + "median": 45.9, + "p10": 40, + "p25": 43.2, + "p75": 50, + "p90": 52.4, + "n": 5, + "total_kg_days": 1111500 + }, + { + "month": "2026-01", + "mean": 45.1, + "median": 44.6, + "p10": 39.4, + "p25": 41.9, + "p75": 48.6, + "p90": 51, + "n": 5, + "total_kg_days": 1085500 + }, + { + "month": "2026-02", + "mean": 51.6, + "median": 52.7, + "p10": 43.7, + "p25": 48.6, + "p75": 55.4, + "p90": 58.6, + "n": 5, + "total_kg_days": 1241500 + }, + { + "month": "2026-03", + "mean": 46.2, + "median": 47.2, + "p10": 38.1, + "p25": 40.5, + "p75": 51.3, + "p90": 53.7, + "n": 5, + "total_kg_days": 1111500 + }, + { + "month": "2026-04", + "mean": 40.8, + "median": 39.2, + "p10": 33.2, + "p25": 36.5, + "p75": 45.9, + "p90": 49.1, + "n": 5, + "total_kg_days": 981500 + }, + { + "month": "2026-05", + "mean": 47, + "median": 45.9, + "p10": 40, + "p25": 43.2, + "p75": 50, + "p90": 54.8, + "n": 5, + "total_kg_days": 1131000 + } + ], + "stats": { + "n": 69, + "mean": 49.5, + "median": 45.9, + "std": 15.8, + "min": 4.1, + "max": 132.3, + "p25": 37.8, + "p75": 55.4, + "p85": 60.8, + "p95": 87.8 + }, + "plifz": 21, + "plifz_note": null, + "pct_exceeding_plifz": 91.3, + "annotations": [], + "cost": { + "unit_price": 2.43, + "currency": "CHF", + "mean_qty": 6500, + "monthly": [ + { + "month": "2022-05", + "n_events": 4, + "total_kg_days": 955500 + }, + { + "month": "2023-02", + "n_events": 4, + "total_kg_days": 1209000 + }, + { + "month": "2023-09", + "n_events": 3, + "total_kg_days": 747500 + }, + { + "month": "2024-04", + "n_events": 4, + "total_kg_days": 975000 + }, + { + "month": "2024-10", + "n_events": 5, + "total_kg_days": 1436500 + }, + { + "month": "2025-04", + "n_events": 4, + "total_kg_days": 1157000 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 1228500 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1092000 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 968500 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 1111500 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1085500 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 1241500 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1111500 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 981500 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 1131000 + } + ] + }, + "detail_rows": { + "columns": [ + { + "key": "batch", + "source_field": "CHARG", + "source_table": "MSEG", + "label": "Batch" + }, + { + "key": "consumption_date", + "source_field": "BUDAT", + "source_table": "MKPF", + "label": "Consumption Date" + }, + { + "key": "dwell_days", + "source_field": null, + "source_table": null, + "label": "Dwell Days", + "unit": "d" + }, + { + "key": "kg_days", + "source_field": null, + "source_table": null, + "label": "Inventory kg-days", + "unit": "kg·d" + }, + { + "key": "cons_matnr", + "source_field": "MATNR", + "source_table": "MSEG", + "label": "Consuming Material" + }, + { + "key": "cons_material_name", + "source_field": "MAKTX", + "source_table": "MAKT", + "label": "Consuming Material Name" + }, + { + "key": "cons_in_current_recipe", + "source_field": null, + "source_table": null, + "label": "In Current Recipe" + } + ], + "rows": [ + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-001", + "consumption_date": "2022-05-02", + "dwell_days": 37.8, + "kg_days": 238875, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-002", + "consumption_date": "2022-05-10", + "dwell_days": 60.8, + "kg_days": 238875, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-003", + "consumption_date": "2022-05-18", + "dwell_days": 16.2, + "kg_days": 238875, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-004", + "consumption_date": "2022-05-25", + "dwell_days": 83.7, + "kg_days": 238875, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-005", + "consumption_date": "2023-02-06", + "dwell_days": 44.6, + "kg_days": 302250, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-006", + "consumption_date": "2023-02-14", + "dwell_days": 105.3, + "kg_days": 302250, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-007", + "consumption_date": "2023-02-22", + "dwell_days": 27, + "kg_days": 302250, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-008", + "consumption_date": "2023-02-28", + "dwell_days": 74.2, + "kg_days": 302250, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-009", + "consumption_date": "2023-09-05", + "dwell_days": 10.8, + "kg_days": 249166.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-010", + "consumption_date": "2023-09-15", + "dwell_days": 56.7, + "kg_days": 249166.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-011", + "consumption_date": "2023-09-25", + "dwell_days": 87.8, + "kg_days": 249166.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-012", + "consumption_date": "2024-04-03", + "dwell_days": 51.3, + "kg_days": 243750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-013", + "consumption_date": "2024-04-10", + "dwell_days": 20.2, + "kg_days": 243750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-014", + "consumption_date": "2024-04-17", + "dwell_days": 97.2, + "kg_days": 243750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-015", + "consumption_date": "2024-04-24", + "dwell_days": 33.8, + "kg_days": 243750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-016", + "consumption_date": "2024-10-02", + "dwell_days": 64.8, + "kg_days": 287300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-017", + "consumption_date": "2024-10-09", + "dwell_days": 4.1, + "kg_days": 287300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-018", + "consumption_date": "2024-10-16", + "dwell_days": 114.8, + "kg_days": 287300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-019", + "consumption_date": "2024-10-23", + "dwell_days": 40.5, + "kg_days": 287300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-020", + "consumption_date": "2024-10-30", + "dwell_days": 74.2, + "kg_days": 287300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-021", + "consumption_date": "2025-04-07", + "dwell_days": 29.7, + "kg_days": 289250, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-022", + "consumption_date": "2025-04-14", + "dwell_days": 54, + "kg_days": 289250, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-023", + "consumption_date": "2025-04-21", + "dwell_days": 132.3, + "kg_days": 289250, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-024", + "consumption_date": "2025-04-28", + "dwell_days": 24.3, + "kg_days": 289250, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-025", + "consumption_date": "2025-09-04", + "dwell_days": 52.7, + "kg_days": 245700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-026", + "consumption_date": "2025-09-10", + "dwell_days": 55.4, + "kg_days": 245700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-027", + "consumption_date": "2025-09-16", + "dwell_days": 60.8, + "kg_days": 245700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-028", + "consumption_date": "2025-09-22", + "dwell_days": 40.5, + "kg_days": 245700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-029", + "consumption_date": "2025-09-28", + "dwell_days": 45.9, + "kg_days": 245700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-030", + "consumption_date": "2025-10-05", + "dwell_days": 51.3, + "kg_days": 218400, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-031", + "consumption_date": "2025-10-11", + "dwell_days": 55.4, + "kg_days": 218400, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-032", + "consumption_date": "2025-10-17", + "dwell_days": 36.5, + "kg_days": 218400, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-033", + "consumption_date": "2025-10-23", + "dwell_days": 40.5, + "kg_days": 218400, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-034", + "consumption_date": "2025-10-29", + "dwell_days": 43.2, + "kg_days": 218400, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-035", + "consumption_date": "2025-11-06", + "dwell_days": 51.3, + "kg_days": 193700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-036", + "consumption_date": "2025-11-12", + "dwell_days": 31.1, + "kg_days": 193700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-037", + "consumption_date": "2025-11-18", + "dwell_days": 36.5, + "kg_days": 193700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-038", + "consumption_date": "2025-11-24", + "dwell_days": 39.2, + "kg_days": 193700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-039", + "consumption_date": "2025-11-30", + "dwell_days": 43.2, + "kg_days": 193700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-040", + "consumption_date": "2025-12-04", + "dwell_days": 37.8, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-041", + "consumption_date": "2025-12-10", + "dwell_days": 43.2, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-042", + "consumption_date": "2025-12-16", + "dwell_days": 45.9, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-043", + "consumption_date": "2025-12-22", + "dwell_days": 50, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-044", + "consumption_date": "2025-12-28", + "dwell_days": 54, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-045", + "consumption_date": "2026-01-05", + "dwell_days": 37.8, + "kg_days": 217100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-046", + "consumption_date": "2026-01-11", + "dwell_days": 41.9, + "kg_days": 217100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-047", + "consumption_date": "2026-01-17", + "dwell_days": 44.6, + "kg_days": 217100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-048", + "consumption_date": "2026-01-23", + "dwell_days": 48.6, + "kg_days": 217100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-049", + "consumption_date": "2026-01-29", + "dwell_days": 52.7, + "kg_days": 217100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-050", + "consumption_date": "2026-02-06", + "dwell_days": 48.6, + "kg_days": 248300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-051", + "consumption_date": "2026-02-12", + "dwell_days": 52.7, + "kg_days": 248300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-052", + "consumption_date": "2026-02-18", + "dwell_days": 55.4, + "kg_days": 248300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-053", + "consumption_date": "2026-02-24", + "dwell_days": 60.8, + "kg_days": 248300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-054", + "consumption_date": "2026-02-30", + "dwell_days": 40.5, + "kg_days": 248300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-055", + "consumption_date": "2026-03-04", + "dwell_days": 47.2, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-056", + "consumption_date": "2026-03-10", + "dwell_days": 51.3, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-057", + "consumption_date": "2026-03-16", + "dwell_days": 55.4, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-058", + "consumption_date": "2026-03-22", + "dwell_days": 36.5, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-059", + "consumption_date": "2026-03-28", + "dwell_days": 40.5, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-060", + "consumption_date": "2026-04-05", + "dwell_days": 45.9, + "kg_days": 196300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-061", + "consumption_date": "2026-04-11", + "dwell_days": 51.3, + "kg_days": 196300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-062", + "consumption_date": "2026-04-17", + "dwell_days": 31.1, + "kg_days": 196300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-063", + "consumption_date": "2026-04-23", + "dwell_days": 36.5, + "kg_days": 196300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-064", + "consumption_date": "2026-04-29", + "dwell_days": 39.2, + "kg_days": 196300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-065", + "consumption_date": "2026-05-06", + "dwell_days": 58.1, + "kg_days": 226200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-066", + "consumption_date": "2026-05-12", + "dwell_days": 37.8, + "kg_days": 226200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-067", + "consumption_date": "2026-05-18", + "dwell_days": 43.2, + "kg_days": 226200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-068", + "consumption_date": "2026-05-24", + "dwell_days": 45.9, + "kg_days": 226200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-069", + "consumption_date": "2026-05-30", + "dwell_days": 50, + "kg_days": 226200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-OTHER-01", + "consumption_date": "2026-05-18", + "dwell_days": 49.7, + "kg_days": 54000, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 0 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-OTHER-02", + "consumption_date": "2026-05-24", + "dwell_days": 52.8, + "kg_days": 57375, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 0 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-OTHER-03", + "consumption_date": "2026-05-30", + "dwell_days": 57.5, + "kg_days": 62500, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 0 + } + ] + }, + "ref_date_col": "consumption_date", + "n_batches": null, + "n_movements": 42, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0", + "value_col": "dwell_days" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/raw_dwell_washed_bourbon.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/raw_dwell_washed_bourbon.json new file mode 100644 index 00000000000..a7476e4fbc3 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/raw_dwell_washed_bourbon.json @@ -0,0 +1,1274 @@ +{ + "id": "raw_dwell_washed_bourbon", + "label": "Raw Material Dwell: Washed Bourbon", + "type": "raw_material_dwell", + "durations": [ + 54, 29.7, 91.8, 5.4, 74.2, 155.2, 40.5, 83.7, 24.3, 114.8, 47.2, 97.2, 13.5, + 64.8, 128.2, 37.8, 70.2, 20.2, 105.3, 56.7, 10.8, 87.8, 44.6, 135, 27, 55.4, + 60.8, 64.8, 70.2, 45.9, 54, 59.4, 64.8, 40.5, 45.9, 67.5, 72.9, 48.6, 55.4, + 59.4, 67.5, 43.2, 48.6, 52.7, 58.1, 37.8, 43.2, 47.2, 51.3, 56.7, 52.7, + 55.4, 60.8, 64.8, 70.2, 50, 54, 59.4, 64.8, 40.5, 63.5, 67.5, 72.9, 48.6, + 55.4, 62.1, 67.5, 43.2, 48.6, 52.7 + ], + "observations": [ + { + "date": "2022-06-05", + "value": 54 + }, + { + "date": "2022-06-15", + "value": 29.7 + }, + { + "date": "2022-06-25", + "value": 91.8 + }, + { + "date": "2023-03-08", + "value": 5.4 + }, + { + "date": "2023-03-15", + "value": 74.2 + }, + { + "date": "2023-03-22", + "value": 155.2 + }, + { + "date": "2023-03-29", + "value": 40.5 + }, + { + "date": "2023-11-06", + "value": 83.7 + }, + { + "date": "2023-11-13", + "value": 24.3 + }, + { + "date": "2023-11-20", + "value": 114.8 + }, + { + "date": "2024-06-03", + "value": 47.2 + }, + { + "date": "2024-06-10", + "value": 97.2 + }, + { + "date": "2024-06-17", + "value": 13.5 + }, + { + "date": "2024-06-24", + "value": 64.8 + }, + { + "date": "2024-06-30", + "value": 128.2 + }, + { + "date": "2025-01-07", + "value": 37.8 + }, + { + "date": "2025-01-14", + "value": 70.2 + }, + { + "date": "2025-01-21", + "value": 20.2 + }, + { + "date": "2025-01-28", + "value": 105.3 + }, + { + "date": "2025-08-04", + "value": 56.7 + }, + { + "date": "2025-08-08", + "value": 10.8 + }, + { + "date": "2025-08-12", + "value": 87.8 + }, + { + "date": "2025-08-16", + "value": 44.6 + }, + { + "date": "2025-08-20", + "value": 135 + }, + { + "date": "2025-08-24", + "value": 27 + }, + { + "date": "2025-09-06", + "value": 55.4 + }, + { + "date": "2025-09-12", + "value": 60.8 + }, + { + "date": "2025-09-18", + "value": 64.8 + }, + { + "date": "2025-09-24", + "value": 70.2 + }, + { + "date": "2025-09-30", + "value": 45.9 + }, + { + "date": "2025-10-04", + "value": 54 + }, + { + "date": "2025-10-10", + "value": 59.4 + }, + { + "date": "2025-10-16", + "value": 64.8 + }, + { + "date": "2025-10-22", + "value": 40.5 + }, + { + "date": "2025-10-28", + "value": 45.9 + }, + { + "date": "2025-11-05", + "value": 67.5 + }, + { + "date": "2025-11-11", + "value": 72.9 + }, + { + "date": "2025-11-17", + "value": 48.6 + }, + { + "date": "2025-11-23", + "value": 55.4 + }, + { + "date": "2025-11-29", + "value": 59.4 + }, + { + "date": "2025-12-06", + "value": 67.5 + }, + { + "date": "2025-12-12", + "value": 43.2 + }, + { + "date": "2025-12-18", + "value": 48.6 + }, + { + "date": "2025-12-24", + "value": 52.7 + }, + { + "date": "2025-12-30", + "value": 58.1 + }, + { + "date": "2026-01-04", + "value": 37.8 + }, + { + "date": "2026-01-10", + "value": 43.2 + }, + { + "date": "2026-01-16", + "value": 47.2 + }, + { + "date": "2026-01-22", + "value": 51.3 + }, + { + "date": "2026-01-28", + "value": 56.7 + }, + { + "date": "2026-02-05", + "value": 52.7 + }, + { + "date": "2026-02-11", + "value": 55.4 + }, + { + "date": "2026-02-17", + "value": 60.8 + }, + { + "date": "2026-02-23", + "value": 64.8 + }, + { + "date": "2026-02-29", + "value": 70.2 + }, + { + "date": "2026-03-06", + "value": 50 + }, + { + "date": "2026-03-12", + "value": 54 + }, + { + "date": "2026-03-18", + "value": 59.4 + }, + { + "date": "2026-03-24", + "value": 64.8 + }, + { + "date": "2026-03-30", + "value": 40.5 + }, + { + "date": "2026-04-04", + "value": 63.5 + }, + { + "date": "2026-04-10", + "value": 67.5 + }, + { + "date": "2026-04-16", + "value": 72.9 + }, + { + "date": "2026-04-22", + "value": 48.6 + }, + { + "date": "2026-04-28", + "value": 55.4 + }, + { + "date": "2026-05-05", + "value": 62.1 + }, + { + "date": "2026-05-11", + "value": 67.5 + }, + { + "date": "2026-05-17", + "value": 43.2 + }, + { + "date": "2026-05-23", + "value": 48.6 + }, + { + "date": "2026-05-29", + "value": 52.7 + } + ], + "monthly": [ + { + "month": "2022-06", + "mean": 58.5, + "median": 54, + "p10": 34.6, + "p25": 41.9, + "p75": 72.9, + "p90": 84.2, + "n": 3, + "total_kg_days": 364000 + }, + { + "month": "2023-03", + "mean": 68.9, + "median": 57.4, + "p10": 15.9, + "p25": 31.7, + "p75": 94.5, + "p90": 131, + "n": 4, + "total_kg_days": 571200 + }, + { + "month": "2023-11", + "mean": 74.2, + "median": 83.7, + "p10": 36.2, + "p25": 54, + "p75": 99.2, + "p90": 108.5, + "n": 3, + "total_kg_days": 462000 + }, + { + "month": "2024-06", + "mean": 70.2, + "median": 64.8, + "p10": 27, + "p25": 47.2, + "p75": 97.2, + "p90": 115.8, + "n": 5, + "total_kg_days": 728000 + }, + { + "month": "2025-01", + "mean": 58.5, + "median": 54, + "p10": 25.5, + "p25": 33.5, + "p75": 79, + "p90": 94.8, + "n": 4, + "total_kg_days": 484400 + }, + { + "month": "2025-08", + "mean": 60.3, + "median": 50.6, + "p10": 18.9, + "p25": 31.5, + "p75": 80.1, + "p90": 111.4, + "n": 6, + "total_kg_days": 750400 + }, + { + "month": "2025-09", + "mean": 59.4, + "median": 60.8, + "p10": 49.7, + "p25": 55.4, + "p75": 64.8, + "p90": 68, + "n": 5, + "total_kg_days": 616000 + }, + { + "month": "2025-10", + "mean": 52.9, + "median": 54, + "p10": 42.7, + "p25": 45.9, + "p75": 59.4, + "p90": 62.6, + "n": 5, + "total_kg_days": 548800 + }, + { + "month": "2025-11", + "mean": 60.8, + "median": 59.4, + "p10": 51.3, + "p25": 55.4, + "p75": 67.5, + "p90": 70.7, + "n": 5, + "total_kg_days": 630000 + }, + { + "month": "2025-12", + "mean": 54, + "median": 52.7, + "p10": 45.4, + "p25": 48.6, + "p75": 58.1, + "p90": 63.7, + "n": 5, + "total_kg_days": 560000 + }, + { + "month": "2026-01", + "mean": 47.2, + "median": 47.2, + "p10": 40, + "p25": 43.2, + "p75": 51.3, + "p90": 54.5, + "n": 5, + "total_kg_days": 490000 + }, + { + "month": "2026-02", + "mean": 60.8, + "median": 60.8, + "p10": 53.7, + "p25": 55.4, + "p75": 64.8, + "p90": 68, + "n": 5, + "total_kg_days": 630000 + }, + { + "month": "2026-03", + "mean": 53.7, + "median": 54, + "p10": 44.3, + "p25": 50, + "p75": 59.4, + "p90": 62.6, + "n": 5, + "total_kg_days": 557200 + }, + { + "month": "2026-04", + "mean": 61.6, + "median": 63.5, + "p10": 51.3, + "p25": 55.4, + "p75": 67.5, + "p90": 70.7, + "n": 5, + "total_kg_days": 638400 + }, + { + "month": "2026-05", + "mean": 54.8, + "median": 52.7, + "p10": 45.4, + "p25": 48.6, + "p75": 62.1, + "p90": 65.3, + "n": 5, + "total_kg_days": 568400 + } + ], + "stats": { + "n": 70, + "mean": 59.2, + "median": 55.4, + "std": 19.1, + "min": 5.4, + "max": 155.2, + "p25": 45.9, + "p75": 67.5, + "p85": 72.9, + "p95": 105.3 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 95.7, + "annotations": [], + "cost": { + "unit_price": 7.425, + "currency": "CHF", + "mean_qty": 2800, + "monthly": [ + { + "month": "2022-06", + "n_events": 3, + "total_kg_days": 364000 + }, + { + "month": "2023-03", + "n_events": 4, + "total_kg_days": 571200 + }, + { + "month": "2023-11", + "n_events": 3, + "total_kg_days": 462000 + }, + { + "month": "2024-06", + "n_events": 5, + "total_kg_days": 728000 + }, + { + "month": "2025-01", + "n_events": 4, + "total_kg_days": 484400 + }, + { + "month": "2025-08", + "n_events": 6, + "total_kg_days": 750400 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 616000 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 548800 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 630000 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 560000 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 490000 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 630000 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 557200 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 638400 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 568400 + } + ] + }, + "detail_rows": { + "columns": [ + { + "key": "batch", + "source_field": "CHARG", + "source_table": "MSEG", + "label": "Batch" + }, + { + "key": "consumption_date", + "source_field": "BUDAT", + "source_table": "MKPF", + "label": "Consumption Date" + }, + { + "key": "dwell_days", + "source_field": null, + "source_table": null, + "label": "Dwell Days", + "unit": "d" + }, + { + "key": "kg_days", + "source_field": null, + "source_table": null, + "label": "Inventory kg-days", + "unit": "kg·d" + }, + { + "key": "cons_matnr", + "source_field": "MATNR", + "source_table": "MSEG", + "label": "Consuming Material" + }, + { + "key": "cons_material_name", + "source_field": "MAKTX", + "source_table": "MAKT", + "label": "Consuming Material Name" + }, + { + "key": "cons_in_current_recipe", + "source_field": null, + "source_table": null, + "label": "In Current Recipe" + } + ], + "rows": [ + { + "batch": "RAW_DWELL_WASHED_BOURBON-001", + "consumption_date": "2022-06-05", + "dwell_days": 54, + "kg_days": 121333.3, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-002", + "consumption_date": "2022-06-15", + "dwell_days": 29.7, + "kg_days": 121333.3, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-003", + "consumption_date": "2022-06-25", + "dwell_days": 91.8, + "kg_days": 121333.3, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-004", + "consumption_date": "2023-03-08", + "dwell_days": 5.4, + "kg_days": 142800, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-005", + "consumption_date": "2023-03-15", + "dwell_days": 74.2, + "kg_days": 142800, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-006", + "consumption_date": "2023-03-22", + "dwell_days": 155.2, + "kg_days": 142800, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-007", + "consumption_date": "2023-03-29", + "dwell_days": 40.5, + "kg_days": 142800, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-008", + "consumption_date": "2023-11-06", + "dwell_days": 83.7, + "kg_days": 154000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-009", + "consumption_date": "2023-11-13", + "dwell_days": 24.3, + "kg_days": 154000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-010", + "consumption_date": "2023-11-20", + "dwell_days": 114.8, + "kg_days": 154000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-011", + "consumption_date": "2024-06-03", + "dwell_days": 47.2, + "kg_days": 145600, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-012", + "consumption_date": "2024-06-10", + "dwell_days": 97.2, + "kg_days": 145600, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-013", + "consumption_date": "2024-06-17", + "dwell_days": 13.5, + "kg_days": 145600, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-014", + "consumption_date": "2024-06-24", + "dwell_days": 64.8, + "kg_days": 145600, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-015", + "consumption_date": "2024-06-30", + "dwell_days": 128.2, + "kg_days": 145600, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-016", + "consumption_date": "2025-01-07", + "dwell_days": 37.8, + "kg_days": 121100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-017", + "consumption_date": "2025-01-14", + "dwell_days": 70.2, + "kg_days": 121100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-018", + "consumption_date": "2025-01-21", + "dwell_days": 20.2, + "kg_days": 121100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-019", + "consumption_date": "2025-01-28", + "dwell_days": 105.3, + "kg_days": 121100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-020", + "consumption_date": "2025-08-04", + "dwell_days": 56.7, + "kg_days": 125066.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-021", + "consumption_date": "2025-08-08", + "dwell_days": 10.8, + "kg_days": 125066.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-022", + "consumption_date": "2025-08-12", + "dwell_days": 87.8, + "kg_days": 125066.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-023", + "consumption_date": "2025-08-16", + "dwell_days": 44.6, + "kg_days": 125066.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-024", + "consumption_date": "2025-08-20", + "dwell_days": 135, + "kg_days": 125066.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-025", + "consumption_date": "2025-08-24", + "dwell_days": 27, + "kg_days": 125066.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-026", + "consumption_date": "2025-09-06", + "dwell_days": 55.4, + "kg_days": 123200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-027", + "consumption_date": "2025-09-12", + "dwell_days": 60.8, + "kg_days": 123200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-028", + "consumption_date": "2025-09-18", + "dwell_days": 64.8, + "kg_days": 123200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-029", + "consumption_date": "2025-09-24", + "dwell_days": 70.2, + "kg_days": 123200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-030", + "consumption_date": "2025-09-30", + "dwell_days": 45.9, + "kg_days": 123200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-031", + "consumption_date": "2025-10-04", + "dwell_days": 54, + "kg_days": 109760, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-032", + "consumption_date": "2025-10-10", + "dwell_days": 59.4, + "kg_days": 109760, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-033", + "consumption_date": "2025-10-16", + "dwell_days": 64.8, + "kg_days": 109760, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-034", + "consumption_date": "2025-10-22", + "dwell_days": 40.5, + "kg_days": 109760, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-035", + "consumption_date": "2025-10-28", + "dwell_days": 45.9, + "kg_days": 109760, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-036", + "consumption_date": "2025-11-05", + "dwell_days": 67.5, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-037", + "consumption_date": "2025-11-11", + "dwell_days": 72.9, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-038", + "consumption_date": "2025-11-17", + "dwell_days": 48.6, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-039", + "consumption_date": "2025-11-23", + "dwell_days": 55.4, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-040", + "consumption_date": "2025-11-29", + "dwell_days": 59.4, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-041", + "consumption_date": "2025-12-06", + "dwell_days": 67.5, + "kg_days": 112000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-042", + "consumption_date": "2025-12-12", + "dwell_days": 43.2, + "kg_days": 112000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-043", + "consumption_date": "2025-12-18", + "dwell_days": 48.6, + "kg_days": 112000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-044", + "consumption_date": "2025-12-24", + "dwell_days": 52.7, + "kg_days": 112000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-045", + "consumption_date": "2025-12-30", + "dwell_days": 58.1, + "kg_days": 112000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-046", + "consumption_date": "2026-01-04", + "dwell_days": 37.8, + "kg_days": 98000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-047", + "consumption_date": "2026-01-10", + "dwell_days": 43.2, + "kg_days": 98000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-048", + "consumption_date": "2026-01-16", + "dwell_days": 47.2, + "kg_days": 98000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-049", + "consumption_date": "2026-01-22", + "dwell_days": 51.3, + "kg_days": 98000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-050", + "consumption_date": "2026-01-28", + "dwell_days": 56.7, + "kg_days": 98000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-051", + "consumption_date": "2026-02-05", + "dwell_days": 52.7, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-052", + "consumption_date": "2026-02-11", + "dwell_days": 55.4, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-053", + "consumption_date": "2026-02-17", + "dwell_days": 60.8, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-054", + "consumption_date": "2026-02-23", + "dwell_days": 64.8, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-055", + "consumption_date": "2026-02-29", + "dwell_days": 70.2, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-056", + "consumption_date": "2026-03-06", + "dwell_days": 50, + "kg_days": 111440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-057", + "consumption_date": "2026-03-12", + "dwell_days": 54, + "kg_days": 111440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-058", + "consumption_date": "2026-03-18", + "dwell_days": 59.4, + "kg_days": 111440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-059", + "consumption_date": "2026-03-24", + "dwell_days": 64.8, + "kg_days": 111440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-060", + "consumption_date": "2026-03-30", + "dwell_days": 40.5, + "kg_days": 111440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-061", + "consumption_date": "2026-04-04", + "dwell_days": 63.5, + "kg_days": 127680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-062", + "consumption_date": "2026-04-10", + "dwell_days": 67.5, + "kg_days": 127680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-063", + "consumption_date": "2026-04-16", + "dwell_days": 72.9, + "kg_days": 127680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-064", + "consumption_date": "2026-04-22", + "dwell_days": 48.6, + "kg_days": 127680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-065", + "consumption_date": "2026-04-28", + "dwell_days": 55.4, + "kg_days": 127680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-066", + "consumption_date": "2026-05-05", + "dwell_days": 62.1, + "kg_days": 113680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-067", + "consumption_date": "2026-05-11", + "dwell_days": 67.5, + "kg_days": 113680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-068", + "consumption_date": "2026-05-17", + "dwell_days": 43.2, + "kg_days": 113680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-069", + "consumption_date": "2026-05-23", + "dwell_days": 48.6, + "kg_days": 113680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-070", + "consumption_date": "2026-05-29", + "dwell_days": 52.7, + "kg_days": 113680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-OTHER-01", + "consumption_date": "2026-05-17", + "dwell_days": 49.7, + "kg_days": 54000, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 0 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-OTHER-02", + "consumption_date": "2026-05-23", + "dwell_days": 55.9, + "kg_days": 60750, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 0 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-OTHER-03", + "consumption_date": "2026-05-29", + "dwell_days": 60.6, + "kg_days": 65875, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 0 + } + ] + }, + "ref_date_col": "consumption_date", + "n_batches": null, + "n_movements": 25, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0", + "value_col": "dwell_days" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/transit_pla_hub1.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/transit_pla_hub1.json new file mode 100644 index 00000000000..8b1cc2cbd93 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/meadow-espresso/steps/transit_pla_hub1.json @@ -0,0 +1,437 @@ +{ + "id": "transit_pla_hub1", + "label": "Transit PL-A \u2192 HUB-1", + "type": "transit", + "durations": [ + 37.8, 47.2, 29.7, 56.7, 40.5, 74.2, 33.8, 51.3, 20.2, 43.2, 37.8, 60.8, + 40.5, 29.7, 48.6, 51.3, 52.7, 35.1, 48.6, 31.1, 35.1, 36.5, 41.9, 44.6, + 36.5, 39.2, 43.2, 35.1, 39.2, 41.9, 44.6, 48.6, 52.7, 44.6, 48.6, 31.1, + 54.0, 36.5, 41.9, 32.4, 36.5, 39.2 + ], + "observations": [ + { + "date": "2022-07-20", + "value": 37.8 + }, + { + "date": "2022-11-30", + "value": 47.2 + }, + { + "date": "2023-03-15", + "value": 29.7 + }, + { + "date": "2023-07-10", + "value": 56.7 + }, + { + "date": "2023-10-25", + "value": 40.5 + }, + { + "date": "2024-02-08", + "value": 74.2 + }, + { + "date": "2024-05-20", + "value": 33.8 + }, + { + "date": "2024-08-12", + "value": 51.3 + }, + { + "date": "2024-11-05", + "value": 20.2 + }, + { + "date": "2025-01-22", + "value": 43.2 + }, + { + "date": "2025-04-10", + "value": 37.8 + }, + { + "date": "2025-06-18", + "value": 60.8 + }, + { + "date": "2025-07-15", + "value": 40.5 + }, + { + "date": "2025-08-05", + "value": 29.7 + }, + { + "date": "2025-09-05", + "value": 48.6 + }, + { + "date": "2025-09-10", + "value": 51.3 + }, + { + "date": "2025-09-11", + "value": 52.7 + }, + { + "date": "2025-09-17", + "value": 35.1 + }, + { + "date": "2025-10-06", + "value": 48.6 + }, + { + "date": "2025-10-12", + "value": 31.1 + }, + { + "date": "2025-10-18", + "value": 35.1 + }, + { + "date": "2025-11-04", + "value": 36.5 + }, + { + "date": "2025-11-10", + "value": 41.9 + }, + { + "date": "2025-11-16", + "value": 44.6 + }, + { + "date": "2025-12-05", + "value": 36.5 + }, + { + "date": "2025-12-11", + "value": 39.2 + }, + { + "date": "2025-12-17", + "value": 43.2 + }, + { + "date": "2026-01-06", + "value": 35.1 + }, + { + "date": "2026-01-12", + "value": 39.2 + }, + { + "date": "2026-01-18", + "value": 41.9 + }, + { + "date": "2026-02-04", + "value": 44.6 + }, + { + "date": "2026-02-10", + "value": 48.6 + }, + { + "date": "2026-02-16", + "value": 52.7 + }, + { + "date": "2026-03-05", + "value": 44.6 + }, + { + "date": "2026-03-11", + "value": 48.6 + }, + { + "date": "2026-03-17", + "value": 31.1 + }, + { + "date": "2026-04-06", + "value": 54.0 + }, + { + "date": "2026-04-12", + "value": 36.5 + }, + { + "date": "2026-04-18", + "value": 41.9 + }, + { + "date": "2026-05-04", + "value": 32.4 + }, + { + "date": "2026-05-10", + "value": 36.5 + }, + { + "date": "2026-05-16", + "value": 39.2 + } + ], + "monthly": [ + { + "month": "2022-07", + "mean": 37.8, + "median": 37.8, + "p10": 37.8, + "p25": 37.8, + "p75": 37.8, + "p90": 37.8, + "n": 1 + }, + { + "month": "2022-11", + "mean": 47.2, + "median": 47.2, + "p10": 47.2, + "p25": 47.2, + "p75": 47.2, + "p90": 47.2, + "n": 1 + }, + { + "month": "2023-03", + "mean": 29.7, + "median": 29.7, + "p10": 29.7, + "p25": 29.7, + "p75": 29.7, + "p90": 29.7, + "n": 1 + }, + { + "month": "2023-07", + "mean": 56.7, + "median": 56.7, + "p10": 56.7, + "p25": 56.7, + "p75": 56.7, + "p90": 56.7, + "n": 1 + }, + { + "month": "2023-10", + "mean": 40.5, + "median": 40.5, + "p10": 40.5, + "p25": 40.5, + "p75": 40.5, + "p90": 40.5, + "n": 1 + }, + { + "month": "2024-02", + "mean": 74.2, + "median": 74.2, + "p10": 74.2, + "p25": 74.2, + "p75": 74.2, + "p90": 74.2, + "n": 1 + }, + { + "month": "2024-05", + "mean": 33.8, + "median": 33.8, + "p10": 33.8, + "p25": 33.8, + "p75": 33.8, + "p90": 33.8, + "n": 1 + }, + { + "month": "2024-08", + "mean": 51.3, + "median": 51.3, + "p10": 51.3, + "p25": 51.3, + "p75": 51.3, + "p90": 51.3, + "n": 1 + }, + { + "month": "2024-11", + "mean": 20.2, + "median": 20.2, + "p10": 20.2, + "p25": 20.2, + "p75": 20.2, + "p90": 20.2, + "n": 1 + }, + { + "month": "2025-01", + "mean": 43.2, + "median": 43.2, + "p10": 43.2, + "p25": 43.2, + "p75": 43.2, + "p90": 43.2, + "n": 1 + }, + { + "month": "2025-04", + "mean": 37.8, + "median": 37.8, + "p10": 37.8, + "p25": 37.8, + "p75": 37.8, + "p90": 37.8, + "n": 1 + }, + { + "month": "2025-06", + "mean": 60.8, + "median": 60.8, + "p10": 60.8, + "p25": 60.8, + "p75": 60.8, + "p90": 60.8, + "n": 1 + }, + { + "month": "2025-07", + "mean": 40.5, + "median": 40.5, + "p10": 40.5, + "p25": 40.5, + "p75": 40.5, + "p90": 40.5, + "n": 1 + }, + { + "month": "2025-08", + "mean": 29.7, + "median": 29.7, + "p10": 29.7, + "p25": 29.7, + "p75": 29.7, + "p90": 29.7, + "n": 1 + }, + { + "month": "2025-09", + "mean": 47.0, + "median": 50.0, + "p10": 39.2, + "p25": 45.2, + "p75": 51.7, + "p90": 52.2, + "n": 4 + }, + { + "month": "2025-10", + "mean": 38.2, + "median": 35.1, + "p10": 31.9, + "p25": 33.1, + "p75": 41.9, + "p90": 45.9, + "n": 3 + }, + { + "month": "2025-11", + "mean": 40.9, + "median": 41.9, + "p10": 37.5, + "p25": 39.2, + "p75": 43.2, + "p90": 44.0, + "n": 3 + }, + { + "month": "2025-12", + "mean": 39.6, + "median": 39.2, + "p10": 37.0, + "p25": 37.8, + "p75": 41.2, + "p90": 42.4, + "n": 3 + }, + { + "month": "2026-01", + "mean": 38.7, + "median": 39.2, + "p10": 35.9, + "p25": 37.1, + "p75": 40.5, + "p90": 41.3, + "n": 3 + }, + { + "month": "2026-02", + "mean": 48.6, + "median": 48.6, + "p10": 45.4, + "p25": 46.6, + "p75": 50.6, + "p90": 51.8, + "n": 3 + }, + { + "month": "2026-03", + "mean": 41.4, + "median": 44.6, + "p10": 33.8, + "p25": 37.8, + "p75": 46.6, + "p90": 47.8, + "n": 3 + }, + { + "month": "2026-04", + "mean": 44.1, + "median": 41.9, + "p10": 37.5, + "p25": 39.2, + "p75": 47.9, + "p90": 51.6, + "n": 3 + }, + { + "month": "2026-05", + "mean": 36.0, + "median": 36.5, + "p10": 33.2, + "p25": 34.4, + "p75": 37.8, + "p90": 38.6, + "n": 3 + } + ], + "stats": { + "n": 42, + "mean": 42.3, + "median": 40.5, + "std": 7.1, + "min": 20.2, + "max": 74.2, + "p25": 36.5, + "p75": 48.6, + "p85": 51.3, + "p95": 54.0 + }, + "plifz": 28, + "plifz_note": null, + "pct_exceeding_plifz": 61.9, + "annotations": [], + "cost": null, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": 15, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/products.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/products.json new file mode 100644 index 00000000000..704a0f39275 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/products.json @@ -0,0 +1,22 @@ +[ + { + "id": "harbor-dark-roast", + "name": "Harbor Dark Roast", + "material": "90000300001" + }, + { + "id": "summit-medium-roast", + "name": "Summit Medium Roast", + "material": "90000300002" + }, + { + "id": "riverside-decaf", + "name": "Riverside Decaf", + "material": "90000300003" + }, + { + "id": "meadow-espresso", + "name": "Meadow Espresso", + "material": "90000300004" + } +] diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/graph.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/graph.json new file mode 100644 index 00000000000..296c2f9c619 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/graph.json @@ -0,0 +1,16588 @@ +{ + "product_id": "riverside-decaf", + "product_name": "Riverside Decaf", + "nodes": [ + { + "id": "procurement_highland_arabica", + "label": "Procurement: Highland Arabica", + "type": "procurement", + "material": "90000100001", + "plant": "PL-A", + "stats": { + "n": 59, + "mean": 33.0, + "median": 32.8, + "std": 10.9, + "min": 6.6, + "max": 86.1, + "p25": 28.7, + "p75": 36.9, + "p85": 39.4, + "p95": 45.8 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 98.3, + "cost": null, + "observations": [ + { + "date": "2022-03-15", + "value": 45.1 + }, + { + "date": "2022-06-10", + "value": 34.4 + }, + { + "date": "2022-09-22", + "value": 6.6 + }, + { + "date": "2022-12-05", + "value": 51.7 + }, + { + "date": "2023-02-14", + "value": 31.2 + }, + { + "date": "2023-05-30", + "value": 18.0 + }, + { + "date": "2023-08-17", + "value": 58.2 + }, + { + "date": "2023-11-02", + "value": 24.6 + }, + { + "date": "2024-01-25", + "value": 36.9 + }, + { + "date": "2024-04-11", + "value": 14.8 + }, + { + "date": "2024-07-09", + "value": 86.1 + }, + { + "date": "2024-10-03", + "value": 28.7 + }, + { + "date": "2025-01-20", + "value": 9.8 + }, + { + "date": "2025-04-08", + "value": 39.4 + }, + { + "date": "2025-09-05", + "value": 32.0 + }, + { + "date": "2025-09-11", + "value": 33.6 + }, + { + "date": "2025-09-17", + "value": 36.1 + }, + { + "date": "2025-09-23", + "value": 39.4 + }, + { + "date": "2025-09-29", + "value": 41.8 + }, + { + "date": "2025-10-06", + "value": 30.3 + }, + { + "date": "2025-10-12", + "value": 32.8 + }, + { + "date": "2025-10-18", + "value": 36.1 + }, + { + "date": "2025-10-24", + "value": 38.5 + }, + { + "date": "2025-10-30", + "value": 25.4 + }, + { + "date": "2025-11-04", + "value": 29.5 + }, + { + "date": "2025-11-10", + "value": 32.8 + }, + { + "date": "2025-11-16", + "value": 35.3 + }, + { + "date": "2025-11-22", + "value": 22.1 + }, + { + "date": "2025-11-28", + "value": 25.4 + }, + { + "date": "2025-12-05", + "value": 37.7 + }, + { + "date": "2025-12-11", + "value": 40.2 + }, + { + "date": "2025-12-17", + "value": 27.1 + }, + { + "date": "2025-12-23", + "value": 30.3 + }, + { + "date": "2025-12-29", + "value": 32.0 + }, + { + "date": "2026-01-06", + "value": 36.9 + }, + { + "date": "2026-01-12", + "value": 23.8 + }, + { + "date": "2026-01-18", + "value": 27.1 + }, + { + "date": "2026-01-24", + "value": 28.7 + }, + { + "date": "2026-01-30", + "value": 31.2 + }, + { + "date": "2026-02-04", + "value": 28.7 + }, + { + "date": "2026-02-10", + "value": 32.0 + }, + { + "date": "2026-02-16", + "value": 33.6 + }, + { + "date": "2026-02-22", + "value": 36.1 + }, + { + "date": "2026-02-28", + "value": 39.4 + }, + { + "date": "2026-03-05", + "value": 28.7 + }, + { + "date": "2026-03-11", + "value": 30.3 + }, + { + "date": "2026-03-17", + "value": 32.8 + }, + { + "date": "2026-03-23", + "value": 36.1 + }, + { + "date": "2026-03-29", + "value": 38.5 + }, + { + "date": "2026-04-06", + "value": 27.1 + }, + { + "date": "2026-04-12", + "value": 29.5 + }, + { + "date": "2026-04-18", + "value": 32.8 + }, + { + "date": "2026-04-24", + "value": 35.3 + }, + { + "date": "2026-04-30", + "value": 22.1 + }, + { + "date": "2026-05-04", + "value": 34.4 + }, + { + "date": "2026-05-10", + "value": 37.7 + }, + { + "date": "2026-05-16", + "value": 40.2 + }, + { + "date": "2026-05-22", + "value": 27.1 + }, + { + "date": "2026-05-28", + "value": 30.3 + } + ], + "monthly": [ + { + "month": "2022-03", + "mean": 45.1, + "median": 45.1, + "p10": 45.1, + "p25": 45.1, + "p75": 45.1, + "p90": 45.1, + "n": 1 + }, + { + "month": "2022-06", + "mean": 34.4, + "median": 34.4, + "p10": 34.4, + "p25": 34.4, + "p75": 34.4, + "p90": 34.4, + "n": 1 + }, + { + "month": "2022-09", + "mean": 6.6, + "median": 6.6, + "p10": 6.6, + "p25": 6.6, + "p75": 6.6, + "p90": 6.6, + "n": 1 + }, + { + "month": "2022-12", + "mean": 51.7, + "median": 51.7, + "p10": 51.7, + "p25": 51.7, + "p75": 51.7, + "p90": 51.7, + "n": 1 + }, + { + "month": "2023-02", + "mean": 31.2, + "median": 31.2, + "p10": 31.2, + "p25": 31.2, + "p75": 31.2, + "p90": 31.2, + "n": 1 + }, + { + "month": "2023-05", + "mean": 18.0, + "median": 18.0, + "p10": 18.0, + "p25": 18.0, + "p75": 18.0, + "p90": 18.0, + "n": 1 + }, + { + "month": "2023-08", + "mean": 58.2, + "median": 58.2, + "p10": 58.2, + "p25": 58.2, + "p75": 58.2, + "p90": 58.2, + "n": 1 + }, + { + "month": "2023-11", + "mean": 24.6, + "median": 24.6, + "p10": 24.6, + "p25": 24.6, + "p75": 24.6, + "p90": 24.6, + "n": 1 + }, + { + "month": "2024-01", + "mean": 36.9, + "median": 36.9, + "p10": 36.9, + "p25": 36.9, + "p75": 36.9, + "p90": 36.9, + "n": 1 + }, + { + "month": "2024-04", + "mean": 14.8, + "median": 14.8, + "p10": 14.8, + "p25": 14.8, + "p75": 14.8, + "p90": 14.8, + "n": 1 + }, + { + "month": "2024-07", + "mean": 86.1, + "median": 86.1, + "p10": 86.1, + "p25": 86.1, + "p75": 86.1, + "p90": 86.1, + "n": 1 + }, + { + "month": "2024-10", + "mean": 28.7, + "median": 28.7, + "p10": 28.7, + "p25": 28.7, + "p75": 28.7, + "p90": 28.7, + "n": 1 + }, + { + "month": "2025-01", + "mean": 9.8, + "median": 9.8, + "p10": 9.8, + "p25": 9.8, + "p75": 9.8, + "p90": 9.8, + "n": 1 + }, + { + "month": "2025-04", + "mean": 39.4, + "median": 39.4, + "p10": 39.4, + "p25": 39.4, + "p75": 39.4, + "p90": 39.4, + "n": 1 + }, + { + "month": "2025-09", + "mean": 36.6, + "median": 36.1, + "p10": 32.6, + "p25": 33.6, + "p75": 39.4, + "p90": 40.8, + "n": 5 + }, + { + "month": "2025-10", + "mean": 32.6, + "median": 32.8, + "p10": 27.4, + "p25": 30.3, + "p75": 36.1, + "p90": 37.6, + "n": 5 + }, + { + "month": "2025-11", + "mean": 29.0, + "median": 29.5, + "p10": 23.5, + "p25": 25.4, + "p75": 32.8, + "p90": 34.3, + "n": 5 + }, + { + "month": "2025-12", + "mean": 33.5, + "median": 32.0, + "p10": 28.4, + "p25": 30.3, + "p75": 37.7, + "p90": 39.2, + "n": 5 + }, + { + "month": "2026-01", + "mean": 29.5, + "median": 28.7, + "p10": 25.1, + "p25": 27.1, + "p75": 31.2, + "p90": 34.6, + "n": 5 + }, + { + "month": "2026-02", + "mean": 33.9, + "median": 33.6, + "p10": 30.0, + "p25": 32.0, + "p75": 36.1, + "p90": 38.0, + "n": 5 + }, + { + "month": "2026-03", + "mean": 33.3, + "median": 32.8, + "p10": 29.4, + "p25": 30.3, + "p75": 36.1, + "p90": 37.6, + "n": 5 + }, + { + "month": "2026-04", + "mean": 29.4, + "median": 29.5, + "p10": 24.1, + "p25": 27.1, + "p75": 32.8, + "p90": 34.3, + "n": 5 + }, + { + "month": "2026-05", + "mean": 33.9, + "median": 34.4, + "p10": 28.4, + "p25": 30.3, + "p75": 37.7, + "p90": 39.2, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "procurement_lowland_robusta", + "label": "Procurement: Lowland Robusta", + "type": "procurement", + "material": "90000100002", + "plant": "PL-A", + "stats": { + "n": 63, + "mean": 27.4, + "median": 27.1, + "std": 9.3, + "min": 4.1, + "max": 67.2, + "p25": 23.0, + "p75": 31.2, + "p85": 33.4, + "p95": 42.3 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 96.8, + "cost": null, + "observations": [ + { + "date": "2022-02-08", + "value": 26.2 + }, + { + "date": "2022-04-19", + "value": 39.4 + }, + { + "date": "2022-07-11", + "value": 4.1 + }, + { + "date": "2022-09-28", + "value": 54.9 + }, + { + "date": "2022-12-15", + "value": 20.5 + }, + { + "date": "2023-03-07", + "value": 33.6 + }, + { + "date": "2023-05-22", + "value": 12.3 + }, + { + "date": "2023-08-09", + "value": 67.2 + }, + { + "date": "2023-10-30", + "value": 31.2 + }, + { + "date": "2024-01-16", + "value": 16.4 + }, + { + "date": "2024-03-25", + "value": 42.6 + }, + { + "date": "2024-06-12", + "value": 8.2 + }, + { + "date": "2024-08-28", + "value": 36.1 + }, + { + "date": "2024-11-14", + "value": 23.0 + }, + { + "date": "2025-01-06", + "value": 28.7 + }, + { + "date": "2025-03-18", + "value": 14.8 + }, + { + "date": "2025-05-29", + "value": 45.1 + }, + { + "date": "2025-08-12", + "value": 21.3 + }, + { + "date": "2025-09-04", + "value": 21.3 + }, + { + "date": "2025-09-10", + "value": 23.8 + }, + { + "date": "2025-09-16", + "value": 25.4 + }, + { + "date": "2025-09-22", + "value": 27.9 + }, + { + "date": "2025-09-28", + "value": 30.3 + }, + { + "date": "2025-10-05", + "value": 21.3 + }, + { + "date": "2025-10-11", + "value": 23.0 + }, + { + "date": "2025-10-17", + "value": 25.4 + }, + { + "date": "2025-10-23", + "value": 27.1 + }, + { + "date": "2025-10-29", + "value": 29.5 + }, + { + "date": "2025-11-06", + "value": 27.1 + }, + { + "date": "2025-11-12", + "value": 29.5 + }, + { + "date": "2025-11-18", + "value": 31.2 + }, + { + "date": "2025-11-24", + "value": 34.4 + }, + { + "date": "2025-11-30", + "value": 23.0 + }, + { + "date": "2025-12-04", + "value": 26.2 + }, + { + "date": "2025-12-10", + "value": 28.7 + }, + { + "date": "2025-12-16", + "value": 31.2 + }, + { + "date": "2025-12-22", + "value": 19.7 + }, + { + "date": "2025-12-28", + "value": 23.0 + }, + { + "date": "2026-01-05", + "value": 32.8 + }, + { + "date": "2026-01-11", + "value": 35.3 + }, + { + "date": "2026-01-17", + "value": 23.8 + }, + { + "date": "2026-01-23", + "value": 27.1 + }, + { + "date": "2026-01-29", + "value": 28.7 + }, + { + "date": "2026-02-06", + "value": 32.8 + }, + { + "date": "2026-02-12", + "value": 21.3 + }, + { + "date": "2026-02-18", + "value": 23.8 + }, + { + "date": "2026-02-24", + "value": 25.4 + }, + { + "date": "2026-02-30", + "value": 27.9 + }, + { + "date": "2026-03-04", + "value": 18.0 + }, + { + "date": "2026-03-10", + "value": 21.3 + }, + { + "date": "2026-03-16", + "value": 23.0 + }, + { + "date": "2026-03-22", + "value": 25.4 + }, + { + "date": "2026-03-28", + "value": 27.1 + }, + { + "date": "2026-04-05", + "value": 25.4 + }, + { + "date": "2026-04-11", + "value": 27.1 + }, + { + "date": "2026-04-17", + "value": 29.5 + }, + { + "date": "2026-04-23", + "value": 31.2 + }, + { + "date": "2026-04-29", + "value": 34.4 + }, + { + "date": "2026-05-06", + "value": 24.6 + }, + { + "date": "2026-05-12", + "value": 26.2 + }, + { + "date": "2026-05-18", + "value": 28.7 + }, + { + "date": "2026-05-24", + "value": 31.2 + }, + { + "date": "2026-05-30", + "value": 19.7 + } + ], + "monthly": [ + { + "month": "2022-02", + "mean": 26.2, + "median": 26.2, + "p10": 26.2, + "p25": 26.2, + "p75": 26.2, + "p90": 26.2, + "n": 1 + }, + { + "month": "2022-04", + "mean": 39.4, + "median": 39.4, + "p10": 39.4, + "p25": 39.4, + "p75": 39.4, + "p90": 39.4, + "n": 1 + }, + { + "month": "2022-07", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-09", + "mean": 54.9, + "median": 54.9, + "p10": 54.9, + "p25": 54.9, + "p75": 54.9, + "p90": 54.9, + "n": 1 + }, + { + "month": "2022-12", + "mean": 20.5, + "median": 20.5, + "p10": 20.5, + "p25": 20.5, + "p75": 20.5, + "p90": 20.5, + "n": 1 + }, + { + "month": "2023-03", + "mean": 33.6, + "median": 33.6, + "p10": 33.6, + "p25": 33.6, + "p75": 33.6, + "p90": 33.6, + "n": 1 + }, + { + "month": "2023-05", + "mean": 12.3, + "median": 12.3, + "p10": 12.3, + "p25": 12.3, + "p75": 12.3, + "p90": 12.3, + "n": 1 + }, + { + "month": "2023-08", + "mean": 67.2, + "median": 67.2, + "p10": 67.2, + "p25": 67.2, + "p75": 67.2, + "p90": 67.2, + "n": 1 + }, + { + "month": "2023-10", + "mean": 31.2, + "median": 31.2, + "p10": 31.2, + "p25": 31.2, + "p75": 31.2, + "p90": 31.2, + "n": 1 + }, + { + "month": "2024-01", + "mean": 16.4, + "median": 16.4, + "p10": 16.4, + "p25": 16.4, + "p75": 16.4, + "p90": 16.4, + "n": 1 + }, + { + "month": "2024-03", + "mean": 42.6, + "median": 42.6, + "p10": 42.6, + "p25": 42.6, + "p75": 42.6, + "p90": 42.6, + "n": 1 + }, + { + "month": "2024-06", + "mean": 8.2, + "median": 8.2, + "p10": 8.2, + "p25": 8.2, + "p75": 8.2, + "p90": 8.2, + "n": 1 + }, + { + "month": "2024-08", + "mean": 36.1, + "median": 36.1, + "p10": 36.1, + "p25": 36.1, + "p75": 36.1, + "p90": 36.1, + "n": 1 + }, + { + "month": "2024-11", + "mean": 23.0, + "median": 23.0, + "p10": 23.0, + "p25": 23.0, + "p75": 23.0, + "p90": 23.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 28.7, + "median": 28.7, + "p10": 28.7, + "p25": 28.7, + "p75": 28.7, + "p90": 28.7, + "n": 1 + }, + { + "month": "2025-03", + "mean": 14.8, + "median": 14.8, + "p10": 14.8, + "p25": 14.8, + "p75": 14.8, + "p90": 14.8, + "n": 1 + }, + { + "month": "2025-05", + "mean": 45.1, + "median": 45.1, + "p10": 45.1, + "p25": 45.1, + "p75": 45.1, + "p90": 45.1, + "n": 1 + }, + { + "month": "2025-08", + "mean": 21.3, + "median": 21.3, + "p10": 21.3, + "p25": 21.3, + "p75": 21.3, + "p90": 21.3, + "n": 1 + }, + { + "month": "2025-09", + "mean": 25.7, + "median": 25.4, + "p10": 22.3, + "p25": 23.8, + "p75": 27.9, + "p90": 29.4, + "n": 5 + }, + { + "month": "2025-10", + "mean": 25.3, + "median": 25.4, + "p10": 22.0, + "p25": 23.0, + "p75": 27.1, + "p90": 28.5, + "n": 5 + }, + { + "month": "2025-11", + "mean": 29.0, + "median": 29.5, + "p10": 24.6, + "p25": 27.1, + "p75": 31.2, + "p90": 33.1, + "n": 5 + }, + { + "month": "2025-12", + "mean": 25.7, + "median": 26.2, + "p10": 21.0, + "p25": 23.0, + "p75": 28.7, + "p90": 30.2, + "n": 5 + }, + { + "month": "2026-01", + "mean": 29.5, + "median": 28.7, + "p10": 25.1, + "p25": 27.1, + "p75": 32.8, + "p90": 34.3, + "n": 5 + }, + { + "month": "2026-02", + "mean": 26.2, + "median": 25.4, + "p10": 22.3, + "p25": 23.8, + "p75": 27.9, + "p90": 30.8, + "n": 5 + }, + { + "month": "2026-03", + "mean": 23.0, + "median": 23.0, + "p10": 19.4, + "p25": 21.3, + "p75": 25.4, + "p90": 26.4, + "n": 5 + }, + { + "month": "2026-04", + "mean": 29.5, + "median": 29.5, + "p10": 26.1, + "p25": 27.1, + "p75": 31.2, + "p90": 33.1, + "n": 5 + }, + { + "month": "2026-05", + "mean": 26.1, + "median": 26.2, + "p10": 21.6, + "p25": 24.6, + "p75": 28.7, + "p90": 30.2, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "procurement_washed_bourbon", + "label": "Procurement: Washed Bourbon", + "type": "procurement", + "material": "90000100003", + "plant": "PL-A", + "stats": { + "n": 55, + "mean": 21.4, + "median": 20.5, + "std": 6.6, + "min": 5.7, + "max": 50.8, + "p25": 18.4, + "p75": 23.8, + "p85": 24.6, + "p95": 29.9 + }, + "plifz": 7, + "plifz_note": null, + "pct_exceeding_plifz": 98.2, + "cost": null, + "observations": [ + { + "date": "2022-05-03", + "value": 28.7 + }, + { + "date": "2022-10-18", + "value": 13.1 + }, + { + "date": "2023-01-24", + "value": 50.8 + }, + { + "date": "2023-06-15", + "value": 5.7 + }, + { + "date": "2023-09-28", + "value": 32.8 + }, + { + "date": "2024-02-12", + "value": 20.5 + }, + { + "date": "2024-05-07", + "value": 39.4 + }, + { + "date": "2024-09-19", + "value": 9.8 + }, + { + "date": "2025-02-04", + "value": 24.6 + }, + { + "date": "2025-06-10", + "value": 11.5 + }, + { + "date": "2025-09-06", + "value": 24.6 + }, + { + "date": "2025-09-12", + "value": 15.6 + }, + { + "date": "2025-09-18", + "value": 18.0 + }, + { + "date": "2025-09-24", + "value": 18.9 + }, + { + "date": "2025-09-30", + "value": 20.5 + }, + { + "date": "2025-10-04", + "value": 18.9 + }, + { + "date": "2025-10-10", + "value": 20.5 + }, + { + "date": "2025-10-16", + "value": 22.1 + }, + { + "date": "2025-10-22", + "value": 23.8 + }, + { + "date": "2025-10-28", + "value": 25.4 + }, + { + "date": "2025-11-05", + "value": 18.9 + }, + { + "date": "2025-11-11", + "value": 20.5 + }, + { + "date": "2025-11-17", + "value": 22.1 + }, + { + "date": "2025-11-23", + "value": 23.8 + }, + { + "date": "2025-11-29", + "value": 25.4 + }, + { + "date": "2025-12-06", + "value": 18.0 + }, + { + "date": "2025-12-12", + "value": 19.7 + }, + { + "date": "2025-12-18", + "value": 21.3 + }, + { + "date": "2025-12-24", + "value": 23.0 + }, + { + "date": "2025-12-30", + "value": 14.8 + }, + { + "date": "2026-01-04", + "value": 23.0 + }, + { + "date": "2026-01-10", + "value": 24.6 + }, + { + "date": "2026-01-16", + "value": 26.2 + }, + { + "date": "2026-01-22", + "value": 18.0 + }, + { + "date": "2026-01-28", + "value": 19.7 + }, + { + "date": "2026-02-05", + "value": 22.1 + }, + { + "date": "2026-02-11", + "value": 24.6 + }, + { + "date": "2026-02-17", + "value": 15.6 + }, + { + "date": "2026-02-23", + "value": 18.0 + }, + { + "date": "2026-02-29", + "value": 18.9 + }, + { + "date": "2026-03-06", + "value": 27.9 + }, + { + "date": "2026-03-12", + "value": 18.9 + }, + { + "date": "2026-03-18", + "value": 20.5 + }, + { + "date": "2026-03-24", + "value": 22.1 + }, + { + "date": "2026-03-30", + "value": 23.8 + }, + { + "date": "2026-04-04", + "value": 16.4 + }, + { + "date": "2026-04-10", + "value": 18.9 + }, + { + "date": "2026-04-16", + "value": 20.5 + }, + { + "date": "2026-04-22", + "value": 22.1 + }, + { + "date": "2026-04-28", + "value": 23.8 + }, + { + "date": "2026-05-05", + "value": 16.4 + }, + { + "date": "2026-05-11", + "value": 18.0 + }, + { + "date": "2026-05-17", + "value": 19.7 + }, + { + "date": "2026-05-23", + "value": 21.3 + }, + { + "date": "2026-05-29", + "value": 23.0 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 28.7, + "median": 28.7, + "p10": 28.7, + "p25": 28.7, + "p75": 28.7, + "p90": 28.7, + "n": 1 + }, + { + "month": "2022-10", + "mean": 13.1, + "median": 13.1, + "p10": 13.1, + "p25": 13.1, + "p75": 13.1, + "p90": 13.1, + "n": 1 + }, + { + "month": "2023-01", + "mean": 50.8, + "median": 50.8, + "p10": 50.8, + "p25": 50.8, + "p75": 50.8, + "p90": 50.8, + "n": 1 + }, + { + "month": "2023-06", + "mean": 5.7, + "median": 5.7, + "p10": 5.7, + "p25": 5.7, + "p75": 5.7, + "p90": 5.7, + "n": 1 + }, + { + "month": "2023-09", + "mean": 32.8, + "median": 32.8, + "p10": 32.8, + "p25": 32.8, + "p75": 32.8, + "p90": 32.8, + "n": 1 + }, + { + "month": "2024-02", + "mean": 20.5, + "median": 20.5, + "p10": 20.5, + "p25": 20.5, + "p75": 20.5, + "p90": 20.5, + "n": 1 + }, + { + "month": "2024-05", + "mean": 39.4, + "median": 39.4, + "p10": 39.4, + "p25": 39.4, + "p75": 39.4, + "p90": 39.4, + "n": 1 + }, + { + "month": "2024-09", + "mean": 9.8, + "median": 9.8, + "p10": 9.8, + "p25": 9.8, + "p75": 9.8, + "p90": 9.8, + "n": 1 + }, + { + "month": "2025-02", + "mean": 24.6, + "median": 24.6, + "p10": 24.6, + "p25": 24.6, + "p75": 24.6, + "p90": 24.6, + "n": 1 + }, + { + "month": "2025-06", + "mean": 11.5, + "median": 11.5, + "p10": 11.5, + "p25": 11.5, + "p75": 11.5, + "p90": 11.5, + "n": 1 + }, + { + "month": "2025-09", + "mean": 19.5, + "median": 18.9, + "p10": 16.6, + "p25": 18.0, + "p75": 20.5, + "p90": 23.0, + "n": 5 + }, + { + "month": "2025-10", + "mean": 22.1, + "median": 22.1, + "p10": 19.5, + "p25": 20.5, + "p75": 23.8, + "p90": 24.8, + "n": 5 + }, + { + "month": "2025-11", + "mean": 22.1, + "median": 22.1, + "p10": 19.5, + "p25": 20.5, + "p75": 23.8, + "p90": 24.8, + "n": 5 + }, + { + "month": "2025-12", + "mean": 19.4, + "median": 19.7, + "p10": 16.1, + "p25": 18.0, + "p75": 21.3, + "p90": 22.3, + "n": 5 + }, + { + "month": "2026-01", + "mean": 22.3, + "median": 23.0, + "p10": 18.7, + "p25": 19.7, + "p75": 24.6, + "p90": 25.6, + "n": 5 + }, + { + "month": "2026-02", + "mean": 19.8, + "median": 18.9, + "p10": 16.6, + "p25": 18.0, + "p75": 22.1, + "p90": 23.6, + "n": 5 + }, + { + "month": "2026-03", + "mean": 22.6, + "median": 22.1, + "p10": 19.5, + "p25": 20.5, + "p75": 23.8, + "p90": 26.2, + "n": 5 + }, + { + "month": "2026-04", + "mean": 20.3, + "median": 20.5, + "p10": 17.4, + "p25": 18.9, + "p75": 22.1, + "p90": 23.1, + "n": 5 + }, + { + "month": "2026-05", + "mean": 19.7, + "median": 19.7, + "p10": 17.1, + "p25": 18.0, + "p75": 21.3, + "p90": 22.3, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_highland_arabica", + "label": "Raw Material Dwell: Highland Arabica", + "type": "raw_material_dwell", + "material": "90000100001", + "plant": "PL-A", + "stats": { + "n": 83, + "mean": 39.6, + "median": 37.7, + "std": 16.2, + "min": 4.1, + "max": 106.6, + "p25": 31.6, + "p75": 44.7, + "p85": 50.0, + "p95": 71.9 + }, + "plifz": 30, + "plifz_note": null, + "pct_exceeding_plifz": 89.2, + "cost": { + "unit_price": 2.624, + "currency": "CHF", + "mean_qty": 4200.0, + "monthly": [ + { + "month": "2022-04", + "n_events": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "n_events": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "n_events": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "n_events": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "n_events": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "n_events": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "n_events": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "n_events": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "n_events": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "n_events": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 827400.0 + } + ] + }, + "observations": [ + { + "date": "2022-04-02", + "value": 28.7 + }, + { + "date": "2022-04-15", + "value": 50.8 + }, + { + "date": "2022-04-28", + "value": 14.8 + }, + { + "date": "2022-08-05", + "value": 72.2 + }, + { + "date": "2022-08-12", + "value": 34.4 + }, + { + "date": "2022-08-20", + "value": 45.1 + }, + { + "date": "2022-08-28", + "value": 24.6 + }, + { + "date": "2023-01-10", + "value": 59.0 + }, + { + "date": "2023-01-22", + "value": 20.5 + }, + { + "date": "2023-01-30", + "value": 39.4 + }, + { + "date": "2023-06-05", + "value": 12.3 + }, + { + "date": "2023-06-18", + "value": 77.9 + }, + { + "date": "2023-10-03", + "value": 106.6 + }, + { + "date": "2023-10-10", + "value": 36.9 + }, + { + "date": "2023-10-18", + "value": 31.2 + }, + { + "date": "2023-10-25", + "value": 53.3 + }, + { + "date": "2023-10-30", + "value": 18.0 + }, + { + "date": "2024-03-05", + "value": 64.0 + }, + { + "date": "2024-03-12", + "value": 4.1 + }, + { + "date": "2024-03-20", + "value": 45.1 + }, + { + "date": "2024-03-28", + "value": 32.8 + }, + { + "date": "2024-07-08", + "value": 23.0 + }, + { + "date": "2024-07-15", + "value": 69.7 + }, + { + "date": "2024-07-22", + "value": 41.0 + }, + { + "date": "2024-11-04", + "value": 90.2 + }, + { + "date": "2024-11-11", + "value": 26.2 + }, + { + "date": "2024-11-18", + "value": 55.8 + }, + { + "date": "2024-11-25", + "value": 36.9 + }, + { + "date": "2024-11-30", + "value": 75.4 + }, + { + "date": "2025-03-03", + "value": 16.4 + }, + { + "date": "2025-03-10", + "value": 47.6 + }, + { + "date": "2025-03-17", + "value": 28.7 + }, + { + "date": "2025-03-24", + "value": 34.4 + }, + { + "date": "2025-07-02", + "value": 61.5 + }, + { + "date": "2025-07-09", + "value": 9.8 + }, + { + "date": "2025-07-16", + "value": 39.4 + }, + { + "date": "2025-07-23", + "value": 49.2 + }, + { + "date": "2025-07-30", + "value": 31.2 + }, + { + "date": "2025-09-05", + "value": 40.2 + }, + { + "date": "2025-09-11", + "value": 44.3 + }, + { + "date": "2025-09-17", + "value": 27.9 + }, + { + "date": "2025-09-23", + "value": 32.0 + }, + { + "date": "2025-09-29", + "value": 34.4 + }, + { + "date": "2025-10-06", + "value": 50.0 + }, + { + "date": "2025-10-12", + "value": 33.6 + }, + { + "date": "2025-10-18", + "value": 37.7 + }, + { + "date": "2025-10-24", + "value": 40.2 + }, + { + "date": "2025-10-30", + "value": 43.5 + }, + { + "date": "2025-11-04", + "value": 29.5 + }, + { + "date": "2025-11-10", + "value": 33.6 + }, + { + "date": "2025-11-16", + "value": 36.1 + }, + { + "date": "2025-11-22", + "value": 39.4 + }, + { + "date": "2025-11-28", + "value": 42.6 + }, + { + "date": "2025-12-05", + "value": 29.5 + }, + { + "date": "2025-12-11", + "value": 32.0 + }, + { + "date": "2025-12-17", + "value": 35.3 + }, + { + "date": "2025-12-23", + "value": 38.5 + }, + { + "date": "2025-12-29", + "value": 41.8 + }, + { + "date": "2026-01-06", + "value": 38.5 + }, + { + "date": "2026-01-12", + "value": 41.0 + }, + { + "date": "2026-01-18", + "value": 44.3 + }, + { + "date": "2026-01-24", + "value": 47.6 + }, + { + "date": "2026-01-30", + "value": 32.0 + }, + { + "date": "2026-02-04", + "value": 36.9 + }, + { + "date": "2026-02-10", + "value": 40.2 + }, + { + "date": "2026-02-16", + "value": 44.3 + }, + { + "date": "2026-02-22", + "value": 27.9 + }, + { + "date": "2026-02-28", + "value": 32.0 + }, + { + "date": "2026-03-05", + "value": 45.9 + }, + { + "date": "2026-03-11", + "value": 50.0 + }, + { + "date": "2026-03-17", + "value": 33.6 + }, + { + "date": "2026-03-23", + "value": 37.7 + }, + { + "date": "2026-03-29", + "value": 40.2 + }, + { + "date": "2026-04-06", + "value": 45.9 + }, + { + "date": "2026-04-12", + "value": 29.5 + }, + { + "date": "2026-04-18", + "value": 33.6 + }, + { + "date": "2026-04-24", + "value": 36.1 + }, + { + "date": "2026-04-30", + "value": 39.4 + }, + { + "date": "2026-05-04", + "value": 26.2 + }, + { + "date": "2026-05-10", + "value": 29.5 + }, + { + "date": "2026-05-16", + "value": 32.0 + }, + { + "date": "2026-05-22", + "value": 35.3 + }, + { + "date": "2026-05-28", + "value": 38.5 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 31.4, + "median": 28.7, + "p10": 17.5, + "p25": 21.7, + "p75": 39.8, + "p90": 46.4, + "n": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "mean": 44.1, + "median": 39.8, + "p10": 27.6, + "p25": 32.0, + "p75": 51.9, + "p90": 64.0, + "n": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "mean": 39.6, + "median": 39.4, + "p10": 24.3, + "p25": 29.9, + "p75": 49.2, + "p90": 55.1, + "n": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "mean": 45.1, + "median": 45.1, + "p10": 18.9, + "p25": 28.7, + "p75": 61.5, + "p90": 71.3, + "n": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "mean": 49.2, + "median": 36.9, + "p10": 23.3, + "p25": 31.2, + "p75": 53.3, + "p90": 85.3, + "n": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "mean": 36.5, + "median": 38.9, + "p10": 12.7, + "p25": 25.7, + "p75": 49.9, + "p90": 58.3, + "n": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "mean": 44.5, + "median": 41.0, + "p10": 26.6, + "p25": 32.0, + "p75": 55.3, + "p90": 64.0, + "n": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "mean": 56.9, + "median": 55.8, + "p10": 30.5, + "p25": 36.9, + "p75": 75.4, + "p90": 84.3, + "n": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "mean": 31.8, + "median": 31.6, + "p10": 20.1, + "p25": 25.7, + "p75": 37.7, + "p90": 43.6, + "n": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "mean": 38.2, + "median": 39.4, + "p10": 18.4, + "p25": 31.2, + "p75": 49.2, + "p90": 56.6, + "n": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "mean": 35.8, + "median": 34.4, + "p10": 29.5, + "p25": 32.0, + "p75": 40.2, + "p90": 42.6, + "n": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "mean": 41.0, + "median": 40.2, + "p10": 35.3, + "p25": 37.7, + "p75": 43.5, + "p90": 47.4, + "n": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "mean": 36.2, + "median": 36.1, + "p10": 31.2, + "p25": 33.6, + "p75": 39.4, + "p90": 41.3, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "mean": 35.4, + "median": 35.3, + "p10": 30.5, + "p25": 32.0, + "p75": 38.5, + "p90": 40.5, + "n": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "mean": 40.7, + "median": 41.0, + "p10": 34.6, + "p25": 38.5, + "p75": 44.3, + "p90": 46.2, + "n": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "mean": 36.2, + "median": 36.9, + "p10": 29.5, + "p25": 32.0, + "p75": 40.2, + "p90": 42.6, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "mean": 41.5, + "median": 40.2, + "p10": 35.3, + "p25": 37.7, + "p75": 45.9, + "p90": 48.4, + "n": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "mean": 36.9, + "median": 36.1, + "p10": 31.2, + "p25": 33.6, + "p75": 39.4, + "p90": 43.3, + "n": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "mean": 32.3, + "median": 32.0, + "p10": 27.6, + "p25": 29.5, + "p75": 35.3, + "p90": 37.2, + "n": 5, + "total_kg_days": 827400.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_lowland_robusta", + "label": "Raw Material Dwell: Lowland Robusta", + "type": "raw_material_dwell", + "material": "90000100002", + "plant": "PL-A", + "stats": { + "n": 69, + "mean": 30.0, + "median": 27.9, + "std": 13.0, + "min": 2.5, + "max": 80.4, + "p25": 23.0, + "p75": 33.6, + "p85": 36.9, + "p95": 56.7 + }, + "plifz": 21, + "plifz_note": null, + "pct_exceeding_plifz": 91.3, + "cost": { + "unit_price": 1.476, + "currency": "CHF", + "mean_qty": 6500.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "n_events": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "n_events": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "n_events": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "n_events": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "n_events": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 1131000.0 + } + ] + }, + "observations": [ + { + "date": "2022-05-02", + "value": 23.0 + }, + { + "date": "2022-05-10", + "value": 36.9 + }, + { + "date": "2022-05-18", + "value": 9.8 + }, + { + "date": "2022-05-25", + "value": 50.8 + }, + { + "date": "2023-02-06", + "value": 27.1 + }, + { + "date": "2023-02-14", + "value": 64.0 + }, + { + "date": "2023-02-22", + "value": 16.4 + }, + { + "date": "2023-02-28", + "value": 45.1 + }, + { + "date": "2023-09-05", + "value": 6.6 + }, + { + "date": "2023-09-15", + "value": 34.4 + }, + { + "date": "2023-09-25", + "value": 53.3 + }, + { + "date": "2024-04-03", + "value": 31.2 + }, + { + "date": "2024-04-10", + "value": 12.3 + }, + { + "date": "2024-04-17", + "value": 59.0 + }, + { + "date": "2024-04-24", + "value": 20.5 + }, + { + "date": "2024-10-02", + "value": 39.4 + }, + { + "date": "2024-10-09", + "value": 2.5 + }, + { + "date": "2024-10-16", + "value": 69.7 + }, + { + "date": "2024-10-23", + "value": 24.6 + }, + { + "date": "2024-10-30", + "value": 45.1 + }, + { + "date": "2025-04-07", + "value": 18.0 + }, + { + "date": "2025-04-14", + "value": 32.8 + }, + { + "date": "2025-04-21", + "value": 80.4 + }, + { + "date": "2025-04-28", + "value": 14.8 + }, + { + "date": "2025-09-04", + "value": 32.0 + }, + { + "date": "2025-09-10", + "value": 33.6 + }, + { + "date": "2025-09-16", + "value": 36.9 + }, + { + "date": "2025-09-22", + "value": 24.6 + }, + { + "date": "2025-09-28", + "value": 27.9 + }, + { + "date": "2025-10-05", + "value": 31.2 + }, + { + "date": "2025-10-11", + "value": 33.6 + }, + { + "date": "2025-10-17", + "value": 22.1 + }, + { + "date": "2025-10-23", + "value": 24.6 + }, + { + "date": "2025-10-29", + "value": 26.2 + }, + { + "date": "2025-11-06", + "value": 31.2 + }, + { + "date": "2025-11-12", + "value": 18.9 + }, + { + "date": "2025-11-18", + "value": 22.1 + }, + { + "date": "2025-11-24", + "value": 23.8 + }, + { + "date": "2025-11-30", + "value": 26.2 + }, + { + "date": "2025-12-04", + "value": 23.0 + }, + { + "date": "2025-12-10", + "value": 26.2 + }, + { + "date": "2025-12-16", + "value": 27.9 + }, + { + "date": "2025-12-22", + "value": 30.3 + }, + { + "date": "2025-12-28", + "value": 32.8 + }, + { + "date": "2026-01-05", + "value": 23.0 + }, + { + "date": "2026-01-11", + "value": 25.4 + }, + { + "date": "2026-01-17", + "value": 27.1 + }, + { + "date": "2026-01-23", + "value": 29.5 + }, + { + "date": "2026-01-29", + "value": 32.0 + }, + { + "date": "2026-02-06", + "value": 29.5 + }, + { + "date": "2026-02-12", + "value": 32.0 + }, + { + "date": "2026-02-18", + "value": 33.6 + }, + { + "date": "2026-02-24", + "value": 36.9 + }, + { + "date": "2026-02-30", + "value": 24.6 + }, + { + "date": "2026-03-04", + "value": 28.7 + }, + { + "date": "2026-03-10", + "value": 31.2 + }, + { + "date": "2026-03-16", + "value": 33.6 + }, + { + "date": "2026-03-22", + "value": 22.1 + }, + { + "date": "2026-03-28", + "value": 24.6 + }, + { + "date": "2026-04-05", + "value": 27.9 + }, + { + "date": "2026-04-11", + "value": 31.2 + }, + { + "date": "2026-04-17", + "value": 18.9 + }, + { + "date": "2026-04-23", + "value": 22.1 + }, + { + "date": "2026-04-29", + "value": 23.8 + }, + { + "date": "2026-05-06", + "value": 35.3 + }, + { + "date": "2026-05-12", + "value": 23.0 + }, + { + "date": "2026-05-18", + "value": 26.2 + }, + { + "date": "2026-05-24", + "value": 27.9 + }, + { + "date": "2026-05-30", + "value": 30.3 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 30.2, + "median": 29.9, + "p10": 13.8, + "p25": 19.7, + "p75": 40.4, + "p90": 46.7, + "n": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "mean": 38.1, + "median": 36.1, + "p10": 19.6, + "p25": 24.4, + "p75": 49.9, + "p90": 58.3, + "n": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "mean": 31.4, + "median": 34.4, + "p10": 12.1, + "p25": 20.5, + "p75": 43.9, + "p90": 49.5, + "n": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "mean": 30.7, + "median": 25.8, + "p10": 14.8, + "p25": 18.4, + "p75": 38.1, + "p90": 50.7, + "n": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "mean": 36.2, + "median": 39.4, + "p10": 11.3, + "p25": 24.6, + "p75": 45.1, + "p90": 59.9, + "n": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "mean": 36.5, + "median": 25.4, + "p10": 15.7, + "p25": 17.2, + "p75": 44.7, + "p90": 66.1, + "n": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "mean": 31.0, + "median": 32.0, + "p10": 25.9, + "p25": 27.9, + "p75": 33.6, + "p90": 35.6, + "n": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "mean": 27.6, + "median": 26.2, + "p10": 23.1, + "p25": 24.6, + "p75": 31.2, + "p90": 32.6, + "n": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "mean": 24.4, + "median": 23.8, + "p10": 20.2, + "p25": 22.1, + "p75": 26.2, + "p90": 29.2, + "n": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "mean": 28.0, + "median": 27.9, + "p10": 24.3, + "p25": 26.2, + "p75": 30.3, + "p90": 31.8, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "mean": 27.4, + "median": 27.1, + "p10": 23.9, + "p25": 25.4, + "p75": 29.5, + "p90": 31.0, + "n": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "mean": 31.3, + "median": 32.0, + "p10": 26.6, + "p25": 29.5, + "p75": 33.6, + "p90": 35.6, + "n": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "mean": 28.0, + "median": 28.7, + "p10": 23.1, + "p25": 24.6, + "p75": 31.2, + "p90": 32.6, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "mean": 24.8, + "median": 23.8, + "p10": 20.2, + "p25": 22.1, + "p75": 27.9, + "p90": 29.8, + "n": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "mean": 28.5, + "median": 27.9, + "p10": 24.3, + "p25": 26.2, + "p75": 30.3, + "p90": 33.3, + "n": 5, + "total_kg_days": 1131000.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_washed_bourbon", + "label": "Raw Material Dwell: Washed Bourbon", + "type": "raw_material_dwell", + "material": "90000100003", + "plant": "PL-A", + "stats": { + "n": 70, + "mean": 36.0, + "median": 33.6, + "std": 15.7, + "min": 3.3, + "max": 94.3, + "p25": 28.1, + "p75": 41.0, + "p85": 44.3, + "p95": 67.2 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 95.7, + "cost": { + "unit_price": 4.51, + "currency": "CHF", + "mean_qty": 2800.0, + "monthly": [ + { + "month": "2022-06", + "n_events": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "n_events": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "n_events": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "n_events": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "n_events": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "n_events": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 568400.0 + } + ] + }, + "observations": [ + { + "date": "2022-06-05", + "value": 32.8 + }, + { + "date": "2022-06-15", + "value": 18.0 + }, + { + "date": "2022-06-25", + "value": 55.8 + }, + { + "date": "2023-03-08", + "value": 3.3 + }, + { + "date": "2023-03-15", + "value": 45.1 + }, + { + "date": "2023-03-22", + "value": 94.3 + }, + { + "date": "2023-03-29", + "value": 24.6 + }, + { + "date": "2023-11-06", + "value": 50.8 + }, + { + "date": "2023-11-13", + "value": 14.8 + }, + { + "date": "2023-11-20", + "value": 69.7 + }, + { + "date": "2024-06-03", + "value": 28.7 + }, + { + "date": "2024-06-10", + "value": 59.0 + }, + { + "date": "2024-06-17", + "value": 8.2 + }, + { + "date": "2024-06-24", + "value": 39.4 + }, + { + "date": "2024-06-30", + "value": 77.9 + }, + { + "date": "2025-01-07", + "value": 23.0 + }, + { + "date": "2025-01-14", + "value": 42.6 + }, + { + "date": "2025-01-21", + "value": 12.3 + }, + { + "date": "2025-01-28", + "value": 64.0 + }, + { + "date": "2025-08-04", + "value": 34.4 + }, + { + "date": "2025-08-08", + "value": 6.6 + }, + { + "date": "2025-08-12", + "value": 53.3 + }, + { + "date": "2025-08-16", + "value": 27.1 + }, + { + "date": "2025-08-20", + "value": 82.0 + }, + { + "date": "2025-08-24", + "value": 16.4 + }, + { + "date": "2025-09-06", + "value": 33.6 + }, + { + "date": "2025-09-12", + "value": 36.9 + }, + { + "date": "2025-09-18", + "value": 39.4 + }, + { + "date": "2025-09-24", + "value": 42.6 + }, + { + "date": "2025-09-30", + "value": 27.9 + }, + { + "date": "2025-10-04", + "value": 32.8 + }, + { + "date": "2025-10-10", + "value": 36.1 + }, + { + "date": "2025-10-16", + "value": 39.4 + }, + { + "date": "2025-10-22", + "value": 24.6 + }, + { + "date": "2025-10-28", + "value": 27.9 + }, + { + "date": "2025-11-05", + "value": 41.0 + }, + { + "date": "2025-11-11", + "value": 44.3 + }, + { + "date": "2025-11-17", + "value": 29.5 + }, + { + "date": "2025-11-23", + "value": 33.6 + }, + { + "date": "2025-11-29", + "value": 36.1 + }, + { + "date": "2025-12-06", + "value": 41.0 + }, + { + "date": "2025-12-12", + "value": 26.2 + }, + { + "date": "2025-12-18", + "value": 29.5 + }, + { + "date": "2025-12-24", + "value": 32.0 + }, + { + "date": "2025-12-30", + "value": 35.3 + }, + { + "date": "2026-01-04", + "value": 23.0 + }, + { + "date": "2026-01-10", + "value": 26.2 + }, + { + "date": "2026-01-16", + "value": 28.7 + }, + { + "date": "2026-01-22", + "value": 31.2 + }, + { + "date": "2026-01-28", + "value": 34.4 + }, + { + "date": "2026-02-05", + "value": 32.0 + }, + { + "date": "2026-02-11", + "value": 33.6 + }, + { + "date": "2026-02-17", + "value": 36.9 + }, + { + "date": "2026-02-23", + "value": 39.4 + }, + { + "date": "2026-02-29", + "value": 42.6 + }, + { + "date": "2026-03-06", + "value": 30.3 + }, + { + "date": "2026-03-12", + "value": 32.8 + }, + { + "date": "2026-03-18", + "value": 36.1 + }, + { + "date": "2026-03-24", + "value": 39.4 + }, + { + "date": "2026-03-30", + "value": 24.6 + }, + { + "date": "2026-04-04", + "value": 38.5 + }, + { + "date": "2026-04-10", + "value": 41.0 + }, + { + "date": "2026-04-16", + "value": 44.3 + }, + { + "date": "2026-04-22", + "value": 29.5 + }, + { + "date": "2026-04-28", + "value": 33.6 + }, + { + "date": "2026-05-05", + "value": 37.7 + }, + { + "date": "2026-05-11", + "value": 41.0 + }, + { + "date": "2026-05-17", + "value": 26.2 + }, + { + "date": "2026-05-23", + "value": 29.5 + }, + { + "date": "2026-05-29", + "value": 32.0 + } + ], + "monthly": [ + { + "month": "2022-06", + "mean": 35.5, + "median": 32.8, + "p10": 21.0, + "p25": 25.4, + "p75": 44.3, + "p90": 51.2, + "n": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "mean": 41.8, + "median": 34.9, + "p10": 9.7, + "p25": 19.3, + "p75": 57.4, + "p90": 79.5, + "n": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "mean": 45.1, + "median": 50.8, + "p10": 22.0, + "p25": 32.8, + "p75": 60.3, + "p90": 65.9, + "n": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "mean": 42.6, + "median": 39.4, + "p10": 16.4, + "p25": 28.7, + "p75": 59.0, + "p90": 70.4, + "n": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "mean": 35.5, + "median": 32.8, + "p10": 15.5, + "p25": 20.3, + "p75": 48.0, + "p90": 57.6, + "n": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "mean": 36.7, + "median": 30.7, + "p10": 11.5, + "p25": 19.1, + "p75": 48.6, + "p90": 67.6, + "n": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "mean": 36.1, + "median": 36.9, + "p10": 30.2, + "p25": 33.6, + "p75": 39.4, + "p90": 41.3, + "n": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "mean": 32.1, + "median": 32.8, + "p10": 25.9, + "p25": 27.9, + "p75": 36.1, + "p90": 38.0, + "n": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "mean": 36.9, + "median": 36.1, + "p10": 31.2, + "p25": 33.6, + "p75": 41.0, + "p90": 43.0, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "mean": 32.8, + "median": 32.0, + "p10": 27.6, + "p25": 29.5, + "p75": 35.3, + "p90": 38.7, + "n": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "mean": 28.7, + "median": 28.7, + "p10": 24.3, + "p25": 26.2, + "p75": 31.2, + "p90": 33.1, + "n": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "mean": 36.9, + "median": 36.9, + "p10": 32.6, + "p25": 33.6, + "p75": 39.4, + "p90": 41.3, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "mean": 32.6, + "median": 32.8, + "p10": 26.9, + "p25": 30.3, + "p75": 36.1, + "p90": 38.0, + "n": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "mean": 37.4, + "median": 38.5, + "p10": 31.2, + "p25": 33.6, + "p75": 41.0, + "p90": 43.0, + "n": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "mean": 33.3, + "median": 32.0, + "p10": 27.6, + "p25": 29.5, + "p75": 37.7, + "p90": 39.7, + "n": 5, + "total_kg_days": 568400.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "prod_duration_green_blend", + "label": "Production: Green Blend", + "type": "production", + "material": "90000200001", + "plant": "PL-A", + "stats": { + "n": 50, + "mean": 3.6, + "median": 3.3, + "std": 1.5, + "min": 0.8, + "max": 11.5, + "p25": 2.7, + "p75": 4.1, + "p85": 4.1, + "p95": 5.4 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 10.0, + "cost": null, + "observations": [ + { + "date": "2022-04-18", + "value": 2.5 + }, + { + "date": "2022-07-05", + "value": 4.1 + }, + { + "date": "2022-10-12", + "value": 1.6 + }, + { + "date": "2023-01-20", + "value": 5.7 + }, + { + "date": "2023-04-15", + "value": 3.3 + }, + { + "date": "2023-07-28", + "value": 4.9 + }, + { + "date": "2023-10-05", + "value": 2.5 + }, + { + "date": "2024-01-12", + "value": 11.5 + }, + { + "date": "2024-04-22", + "value": 3.3 + }, + { + "date": "2024-07-10", + "value": 6.6 + }, + { + "date": "2024-10-18", + "value": 2.5 + }, + { + "date": "2025-01-25", + "value": 4.1 + }, + { + "date": "2025-05-08", + "value": 0.8 + }, + { + "date": "2025-08-15", + "value": 4.9 + }, + { + "date": "2025-09-04", + "value": 2.5 + }, + { + "date": "2025-09-10", + "value": 3.3 + }, + { + "date": "2025-09-16", + "value": 3.3 + }, + { + "date": "2025-09-22", + "value": 3.3 + }, + { + "date": "2025-10-05", + "value": 2.5 + }, + { + "date": "2025-10-11", + "value": 3.3 + }, + { + "date": "2025-10-17", + "value": 3.3 + }, + { + "date": "2025-10-23", + "value": 3.3 + }, + { + "date": "2025-11-06", + "value": 3.3 + }, + { + "date": "2025-11-12", + "value": 4.1 + }, + { + "date": "2025-11-18", + "value": 4.1 + }, + { + "date": "2025-11-24", + "value": 4.1 + }, + { + "date": "2025-12-04", + "value": 3.3 + }, + { + "date": "2025-12-10", + "value": 4.1 + }, + { + "date": "2025-12-16", + "value": 4.1 + }, + { + "date": "2025-12-22", + "value": 2.5 + }, + { + "date": "2026-01-05", + "value": 3.3 + }, + { + "date": "2026-01-11", + "value": 4.1 + }, + { + "date": "2026-01-17", + "value": 2.5 + }, + { + "date": "2026-01-23", + "value": 2.5 + }, + { + "date": "2026-02-06", + "value": 4.1 + }, + { + "date": "2026-02-12", + "value": 2.5 + }, + { + "date": "2026-02-18", + "value": 3.3 + }, + { + "date": "2026-02-24", + "value": 3.3 + }, + { + "date": "2026-03-04", + "value": 2.5 + }, + { + "date": "2026-03-10", + "value": 2.5 + }, + { + "date": "2026-03-16", + "value": 3.3 + }, + { + "date": "2026-03-22", + "value": 3.3 + }, + { + "date": "2026-04-05", + "value": 3.3 + }, + { + "date": "2026-04-11", + "value": 3.3 + }, + { + "date": "2026-04-17", + "value": 4.1 + }, + { + "date": "2026-04-23", + "value": 4.1 + }, + { + "date": "2026-05-06", + "value": 3.3 + }, + { + "date": "2026-05-12", + "value": 3.3 + }, + { + "date": "2026-05-18", + "value": 4.1 + }, + { + "date": "2026-05-24", + "value": 4.1 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2022-07", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-10", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2023-01", + "mean": 5.7, + "median": 5.7, + "p10": 5.7, + "p25": 5.7, + "p75": 5.7, + "p90": 5.7, + "n": 1 + }, + { + "month": "2023-04", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2023-07", + "mean": 4.9, + "median": 4.9, + "p10": 4.9, + "p25": 4.9, + "p75": 4.9, + "p90": 4.9, + "n": 1 + }, + { + "month": "2023-10", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 11.5, + "median": 11.5, + "p10": 11.5, + "p25": 11.5, + "p75": 11.5, + "p90": 11.5, + "n": 1 + }, + { + "month": "2024-04", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2024-07", + "mean": 6.6, + "median": 6.6, + "p10": 6.6, + "p25": 6.6, + "p75": 6.6, + "p90": 6.6, + "n": 1 + }, + { + "month": "2024-10", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2025-01", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-05", + "mean": 0.8, + "median": 0.8, + "p10": 0.8, + "p25": 0.8, + "p75": 0.8, + "p90": 0.8, + "n": 1 + }, + { + "month": "2025-08", + "mean": 4.9, + "median": 4.9, + "p10": 4.9, + "p25": 4.9, + "p75": 4.9, + "p90": 4.9, + "n": 1 + }, + { + "month": "2025-09", + "mean": 3.1, + "median": 3.3, + "p10": 2.7, + "p25": 3.1, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2025-10", + "mean": 3.1, + "median": 3.3, + "p10": 2.7, + "p25": 3.1, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2025-11", + "mean": 3.9, + "median": 4.1, + "p10": 3.5, + "p25": 3.9, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2025-12", + "mean": 3.5, + "median": 3.7, + "p10": 2.7, + "p25": 3.1, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2026-01", + "mean": 3.1, + "median": 2.9, + "p10": 2.5, + "p25": 2.5, + "p75": 3.5, + "p90": 3.9, + "n": 4 + }, + { + "month": "2026-02", + "mean": 3.3, + "median": 3.3, + "p10": 2.7, + "p25": 3.1, + "p75": 3.5, + "p90": 3.9, + "n": 4 + }, + { + "month": "2026-03", + "mean": 2.9, + "median": 2.9, + "p10": 2.5, + "p25": 2.5, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2026-04", + "mean": 3.7, + "median": 3.7, + "p10": 3.3, + "p25": 3.3, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2026-05", + "mean": 3.7, + "median": 3.7, + "p10": 3.3, + "p25": 3.3, + "p75": 4.1, + "p90": 4.1, + "n": 4 + } + ], + "n_batches": 50, + "n_movements": null, + "yield_summary": { + "median": 98.5, + "mean": 97.2, + "reference": 100.0, + "n": 50 + }, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 0.9, + "mean_slack": 5.1, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 0.9 + }, + "direct": { + "binding_share": 0.9, + "mean_slack": 7.2, + "next_bottleneck_days": 27.4, + "expected_marginal_per_day": 0.9 + }, + "hub-1": { + "binding_share": 0.9, + "mean_slack": 2.0, + "next_bottleneck_days": 31.3, + "expected_marginal_per_day": 0.9 + } + } + }, + { + "id": "intermed_dwell_green_blend", + "label": "Intermediate Dwell: Green Blend", + "type": "intermediate_dwell", + "material": "90000200001", + "plant": "PL-A", + "stats": { + "n": 73, + "mean": 14.3, + "median": 13.1, + "std": 7.4, + "min": 1.6, + "max": 45.1, + "p25": 10.7, + "p75": 15.6, + "p85": 16.7, + "p95": 30.3 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 87.7, + "cost": { + "unit_price": 10.25, + "currency": "CHF", + "mean_qty": 3200.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "n_events": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "n_events": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "n_events": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "n_events": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "n_events": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "n_events": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 249600.0 + } + ] + }, + "observations": [ + { + "date": "2022-05-05", + "value": 9.8 + }, + { + "date": "2022-05-15", + "value": 20.5 + }, + { + "date": "2022-05-22", + "value": 6.6 + }, + { + "date": "2022-11-03", + "value": 28.7 + }, + { + "date": "2022-11-10", + "value": 12.3 + }, + { + "date": "2022-11-18", + "value": 4.1 + }, + { + "date": "2022-11-25", + "value": 18.0 + }, + { + "date": "2023-05-08", + "value": 14.8 + }, + { + "date": "2023-05-15", + "value": 32.8 + }, + { + "date": "2023-05-22", + "value": 8.2 + }, + { + "date": "2023-11-06", + "value": 45.1 + }, + { + "date": "2023-11-13", + "value": 1.6 + }, + { + "date": "2023-11-20", + "value": 23.0 + }, + { + "date": "2023-11-27", + "value": 12.3 + }, + { + "date": "2023-11-30", + "value": 6.6 + }, + { + "date": "2024-05-06", + "value": 16.4 + }, + { + "date": "2024-05-13", + "value": 36.9 + }, + { + "date": "2024-05-20", + "value": 9.8 + }, + { + "date": "2024-05-27", + "value": 2.5 + }, + { + "date": "2024-11-04", + "value": 14.8 + }, + { + "date": "2024-11-11", + "value": 24.6 + }, + { + "date": "2024-11-18", + "value": 6.6 + }, + { + "date": "2025-05-05", + "value": 18.0 + }, + { + "date": "2025-05-09", + "value": 28.7 + }, + { + "date": "2025-05-13", + "value": 4.1 + }, + { + "date": "2025-05-17", + "value": 12.3 + }, + { + "date": "2025-05-21", + "value": 34.4 + }, + { + "date": "2025-05-25", + "value": 8.2 + }, + { + "date": "2025-09-05", + "value": 11.5 + }, + { + "date": "2025-09-11", + "value": 13.1 + }, + { + "date": "2025-09-17", + "value": 13.9 + }, + { + "date": "2025-09-23", + "value": 14.8 + }, + { + "date": "2025-09-29", + "value": 15.6 + }, + { + "date": "2025-10-06", + "value": 11.5 + }, + { + "date": "2025-10-12", + "value": 12.3 + }, + { + "date": "2025-10-18", + "value": 13.1 + }, + { + "date": "2025-10-24", + "value": 14.8 + }, + { + "date": "2025-10-30", + "value": 9.0 + }, + { + "date": "2025-11-04", + "value": 14.8 + }, + { + "date": "2025-11-10", + "value": 15.6 + }, + { + "date": "2025-11-16", + "value": 16.4 + }, + { + "date": "2025-11-22", + "value": 11.5 + }, + { + "date": "2025-11-28", + "value": 12.3 + }, + { + "date": "2025-12-05", + "value": 13.9 + }, + { + "date": "2025-12-11", + "value": 15.6 + }, + { + "date": "2025-12-17", + "value": 9.8 + }, + { + "date": "2025-12-23", + "value": 11.5 + }, + { + "date": "2025-12-29", + "value": 12.3 + }, + { + "date": "2026-01-06", + "value": 13.9 + }, + { + "date": "2026-01-12", + "value": 9.0 + }, + { + "date": "2026-01-18", + "value": 9.8 + }, + { + "date": "2026-01-24", + "value": 10.7 + }, + { + "date": "2026-01-30", + "value": 11.5 + }, + { + "date": "2026-02-04", + "value": 10.7 + }, + { + "date": "2026-02-10", + "value": 11.5 + }, + { + "date": "2026-02-16", + "value": 13.1 + }, + { + "date": "2026-02-22", + "value": 13.9 + }, + { + "date": "2026-02-28", + "value": 14.8 + }, + { + "date": "2026-03-05", + "value": 10.7 + }, + { + "date": "2026-03-11", + "value": 11.5 + }, + { + "date": "2026-03-17", + "value": 12.3 + }, + { + "date": "2026-03-23", + "value": 13.1 + }, + { + "date": "2026-03-29", + "value": 14.8 + }, + { + "date": "2026-04-06", + "value": 13.1 + }, + { + "date": "2026-04-12", + "value": 14.8 + }, + { + "date": "2026-04-18", + "value": 15.6 + }, + { + "date": "2026-04-24", + "value": 16.4 + }, + { + "date": "2026-04-30", + "value": 11.5 + }, + { + "date": "2026-05-04", + "value": 13.1 + }, + { + "date": "2026-05-10", + "value": 13.9 + }, + { + "date": "2026-05-16", + "value": 15.6 + }, + { + "date": "2026-05-22", + "value": 9.8 + }, + { + "date": "2026-05-28", + "value": 11.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 12.3, + "median": 9.8, + "p10": 7.2, + "p25": 8.2, + "p75": 15.2, + "p90": 18.4, + "n": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "mean": 15.8, + "median": 15.2, + "p10": 6.6, + "p25": 10.2, + "p75": 20.7, + "p90": 25.5, + "n": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "mean": 18.6, + "median": 14.8, + "p10": 9.5, + "p25": 11.5, + "p75": 23.8, + "p90": 29.2, + "n": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "mean": 17.7, + "median": 12.3, + "p10": 3.6, + "p25": 6.6, + "p75": 23.0, + "p90": 36.2, + "n": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "mean": 16.4, + "median": 13.1, + "p10": 4.7, + "p25": 8.0, + "p75": 21.6, + "p90": 30.7, + "n": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "mean": 15.3, + "median": 14.8, + "p10": 8.2, + "p25": 10.7, + "p75": 19.7, + "p90": 22.6, + "n": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "mean": 17.6, + "median": 15.2, + "p10": 6.1, + "p25": 9.3, + "p75": 26.1, + "p90": 31.6, + "n": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "mean": 13.8, + "median": 13.9, + "p10": 12.1, + "p25": 13.1, + "p75": 14.8, + "p90": 15.3, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "mean": 12.1, + "median": 12.3, + "p10": 10.0, + "p25": 11.5, + "p75": 13.1, + "p90": 14.1, + "n": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "mean": 14.1, + "median": 14.8, + "p10": 11.8, + "p25": 12.3, + "p75": 15.6, + "p90": 16.1, + "n": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "mean": 12.6, + "median": 12.3, + "p10": 10.5, + "p25": 11.5, + "p75": 13.9, + "p90": 14.9, + "n": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "mean": 11.0, + "median": 10.7, + "p10": 9.3, + "p25": 9.8, + "p75": 11.5, + "p90": 13.0, + "n": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "mean": 12.8, + "median": 13.1, + "p10": 11.0, + "p25": 11.5, + "p75": 13.9, + "p90": 14.4, + "n": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "mean": 12.5, + "median": 12.3, + "p10": 11.0, + "p25": 11.5, + "p75": 13.1, + "p90": 14.1, + "n": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "mean": 14.3, + "median": 14.8, + "p10": 12.1, + "p25": 13.1, + "p75": 15.6, + "p90": 16.1, + "n": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "mean": 12.8, + "median": 13.1, + "p10": 10.5, + "p25": 11.5, + "p75": 13.9, + "p90": 14.9, + "n": 5, + "total_kg_days": 249600.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 0.9, + "mean_slack": 5.1, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 0.9 + }, + "direct": { + "binding_share": 0.9, + "mean_slack": 7.2, + "next_bottleneck_days": 27.4, + "expected_marginal_per_day": 0.9 + }, + "hub-1": { + "binding_share": 0.9, + "mean_slack": 2.0, + "next_bottleneck_days": 31.3, + "expected_marginal_per_day": 0.9 + } + } + }, + { + "id": "prod_duration_harbor_dark_roast", + "label": "Production: Harbor Dark Roast", + "type": "production", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 58, + "mean": 2.6, + "median": 2.5, + "std": 1.1, + "min": 0.0, + "max": 8.2, + "p25": 2.5, + "p75": 3.3, + "p85": 3.3, + "p95": 4.3 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 5.2, + "cost": null, + "observations": [ + { + "date": "2022-05-20", + "value": 1.6 + }, + { + "date": "2022-06-10", + "value": 2.5 + }, + { + "date": "2022-07-15", + "value": 0.8 + }, + { + "date": "2022-08-22", + "value": 3.3 + }, + { + "date": "2022-10-05", + "value": 1.6 + }, + { + "date": "2022-11-18", + "value": 4.1 + }, + { + "date": "2023-01-10", + "value": 2.5 + }, + { + "date": "2023-03-25", + "value": 5.7 + }, + { + "date": "2023-05-12", + "value": 1.6 + }, + { + "date": "2023-07-08", + "value": 3.3 + }, + { + "date": "2023-09-15", + "value": 0.8 + }, + { + "date": "2023-11-22", + "value": 2.5 + }, + { + "date": "2024-01-18", + "value": 8.2 + }, + { + "date": "2024-03-08", + "value": 2.5 + }, + { + "date": "2024-05-15", + "value": 1.6 + }, + { + "date": "2024-07-22", + "value": 4.1 + }, + { + "date": "2024-09-10", + "value": 0.0 + }, + { + "date": "2024-11-05", + "value": 3.3 + }, + { + "date": "2025-01-15", + "value": 2.5 + }, + { + "date": "2025-03-20", + "value": 1.6 + }, + { + "date": "2025-05-28", + "value": 4.9 + }, + { + "date": "2025-08-05", + "value": 2.5 + }, + { + "date": "2025-09-05", + "value": 3.3 + }, + { + "date": "2025-09-11", + "value": 3.3 + }, + { + "date": "2025-09-17", + "value": 2.5 + }, + { + "date": "2025-09-23", + "value": 2.5 + }, + { + "date": "2025-10-06", + "value": 3.3 + }, + { + "date": "2025-10-12", + "value": 1.6 + }, + { + "date": "2025-10-18", + "value": 2.5 + }, + { + "date": "2025-10-24", + "value": 2.5 + }, + { + "date": "2025-11-04", + "value": 1.6 + }, + { + "date": "2025-11-10", + "value": 1.6 + }, + { + "date": "2025-11-16", + "value": 2.5 + }, + { + "date": "2025-11-22", + "value": 2.5 + }, + { + "date": "2025-12-05", + "value": 2.5 + }, + { + "date": "2025-12-11", + "value": 2.5 + }, + { + "date": "2025-12-17", + "value": 2.5 + }, + { + "date": "2025-12-23", + "value": 3.3 + }, + { + "date": "2026-01-06", + "value": 2.5 + }, + { + "date": "2026-01-12", + "value": 2.5 + }, + { + "date": "2026-01-18", + "value": 2.5 + }, + { + "date": "2026-01-24", + "value": 3.3 + }, + { + "date": "2026-02-04", + "value": 3.3 + }, + { + "date": "2026-02-10", + "value": 3.3 + }, + { + "date": "2026-02-16", + "value": 3.3 + }, + { + "date": "2026-02-22", + "value": 2.5 + }, + { + "date": "2026-03-05", + "value": 2.5 + }, + { + "date": "2026-03-11", + "value": 3.3 + }, + { + "date": "2026-03-17", + "value": 1.6 + }, + { + "date": "2026-03-23", + "value": 2.5 + }, + { + "date": "2026-04-06", + "value": 2.5 + }, + { + "date": "2026-04-12", + "value": 1.6 + }, + { + "date": "2026-04-18", + "value": 1.6 + }, + { + "date": "2026-04-24", + "value": 2.5 + }, + { + "date": "2026-05-04", + "value": 2.5 + }, + { + "date": "2026-05-10", + "value": 2.5 + }, + { + "date": "2026-05-16", + "value": 2.5 + }, + { + "date": "2026-05-22", + "value": 2.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2022-06", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2022-07", + "mean": 0.8, + "median": 0.8, + "p10": 0.8, + "p25": 0.8, + "p75": 0.8, + "p90": 0.8, + "n": 1 + }, + { + "month": "2022-08", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2022-10", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2022-11", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2023-01", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2023-03", + "mean": 5.7, + "median": 5.7, + "p10": 5.7, + "p25": 5.7, + "p75": 5.7, + "p90": 5.7, + "n": 1 + }, + { + "month": "2023-05", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2023-07", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2023-09", + "mean": 0.8, + "median": 0.8, + "p10": 0.8, + "p25": 0.8, + "p75": 0.8, + "p90": 0.8, + "n": 1 + }, + { + "month": "2023-11", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 8.2, + "median": 8.2, + "p10": 8.2, + "p25": 8.2, + "p75": 8.2, + "p90": 8.2, + "n": 1 + }, + { + "month": "2024-03", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2024-05", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2024-07", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-09", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2025-01", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2025-03", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2025-05", + "mean": 4.9, + "median": 4.9, + "p10": 4.9, + "p25": 4.9, + "p75": 4.9, + "p90": 4.9, + "n": 1 + }, + { + "month": "2025-08", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2025-09", + "mean": 2.9, + "median": 2.9, + "p10": 2.5, + "p25": 2.5, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2025-10", + "mean": 2.5, + "median": 2.5, + "p10": 1.9, + "p25": 2.3, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2025-11", + "mean": 2.0, + "median": 2.0, + "p10": 1.6, + "p25": 1.6, + "p75": 2.5, + "p90": 2.5, + "n": 4 + }, + { + "month": "2025-12", + "mean": 2.7, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-01", + "mean": 2.7, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-02", + "mean": 3.1, + "median": 3.3, + "p10": 2.7, + "p25": 3.1, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2026-03", + "mean": 2.5, + "median": 2.5, + "p10": 1.9, + "p25": 2.3, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-04", + "mean": 2.0, + "median": 2.0, + "p10": 1.6, + "p25": 1.6, + "p75": 2.5, + "p90": 2.5, + "n": 4 + }, + { + "month": "2026-05", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 4 + } + ], + "n_batches": 58, + "n_movements": null, + "yield_summary": { + "median": 99.2, + "mean": 98.5, + "reference": 100.0, + "n": 58 + }, + "consumption_summary": { + "median_variance": 2.1, + "mean_variance": 3.4, + "n_components": 3, + "n": 58 + }, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 4.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 3.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 4.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "prod_to_qa_pla", + "label": "Production \u2192 QA Release (PL-A)", + "type": "qa_hold", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 58, + "mean": 2.8, + "median": 2.5, + "std": 1.5, + "min": 0.0, + "max": 10.7, + "p25": 2.5, + "p75": 3.3, + "p85": 3.3, + "p95": 5.1 + }, + "plifz": 5, + "plifz_note": "WEBAZ (GR processing days)", + "pct_exceeding_plifz": 6.9, + "cost": null, + "observations": [ + { + "date": "2022-05-22", + "value": 1.6 + }, + { + "date": "2022-06-13", + "value": 0.8 + }, + { + "date": "2022-07-16", + "value": 2.5 + }, + { + "date": "2022-08-26", + "value": 1.6 + }, + { + "date": "2022-10-07", + "value": 4.1 + }, + { + "date": "2022-11-23", + "value": 1.6 + }, + { + "date": "2023-01-13", + "value": 3.3 + }, + { + "date": "2023-04-01", + "value": 2.5 + }, + { + "date": "2023-05-14", + "value": 4.9 + }, + { + "date": "2023-07-12", + "value": 1.6 + }, + { + "date": "2023-09-16", + "value": 10.7 + }, + { + "date": "2023-11-25", + "value": 2.5 + }, + { + "date": "2024-01-28", + "value": 5.7 + }, + { + "date": "2024-03-11", + "value": 0.8 + }, + { + "date": "2024-05-17", + "value": 3.3 + }, + { + "date": "2024-07-27", + "value": 4.1 + }, + { + "date": "2024-09-10", + "value": 1.6 + }, + { + "date": "2024-11-09", + "value": 0.0 + }, + { + "date": "2025-01-18", + "value": 2.5 + }, + { + "date": "2025-03-22", + "value": 6.6 + }, + { + "date": "2025-06-03", + "value": 1.6 + }, + { + "date": "2025-08-08", + "value": 4.1 + }, + { + "date": "2025-09-04", + "value": 1.6 + }, + { + "date": "2025-09-10", + "value": 2.5 + }, + { + "date": "2025-09-16", + "value": 2.5 + }, + { + "date": "2025-09-22", + "value": 2.5 + }, + { + "date": "2025-10-05", + "value": 2.5 + }, + { + "date": "2025-10-11", + "value": 2.5 + }, + { + "date": "2025-10-17", + "value": 3.3 + }, + { + "date": "2025-10-23", + "value": 3.3 + }, + { + "date": "2025-11-06", + "value": 2.5 + }, + { + "date": "2025-11-12", + "value": 2.5 + }, + { + "date": "2025-11-18", + "value": 2.5 + }, + { + "date": "2025-11-24", + "value": 3.3 + }, + { + "date": "2025-12-04", + "value": 2.5 + }, + { + "date": "2025-12-10", + "value": 2.5 + }, + { + "date": "2025-12-16", + "value": 2.5 + }, + { + "date": "2025-12-22", + "value": 1.6 + }, + { + "date": "2026-01-05", + "value": 3.3 + }, + { + "date": "2026-01-11", + "value": 3.3 + }, + { + "date": "2026-01-17", + "value": 2.5 + }, + { + "date": "2026-01-23", + "value": 2.5 + }, + { + "date": "2026-02-06", + "value": 3.3 + }, + { + "date": "2026-02-12", + "value": 1.6 + }, + { + "date": "2026-02-18", + "value": 2.5 + }, + { + "date": "2026-02-24", + "value": 2.5 + }, + { + "date": "2026-03-04", + "value": 2.5 + }, + { + "date": "2026-03-10", + "value": 2.5 + }, + { + "date": "2026-03-16", + "value": 2.5 + }, + { + "date": "2026-03-22", + "value": 3.3 + }, + { + "date": "2026-04-05", + "value": 2.5 + }, + { + "date": "2026-04-11", + "value": 2.5 + }, + { + "date": "2026-04-17", + "value": 2.5 + }, + { + "date": "2026-04-23", + "value": 2.5 + }, + { + "date": "2026-05-06", + "value": 2.5 + }, + { + "date": "2026-05-12", + "value": 2.5 + }, + { + "date": "2026-05-18", + "value": 2.5 + }, + { + "date": "2026-05-24", + "value": 2.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2022-06", + "mean": 0.8, + "median": 0.8, + "p10": 0.8, + "p25": 0.8, + "p75": 0.8, + "p90": 0.8, + "n": 1 + }, + { + "month": "2022-07", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2022-08", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2022-10", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-11", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2023-01", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2023-04", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2023-05", + "mean": 4.9, + "median": 4.9, + "p10": 4.9, + "p25": 4.9, + "p75": 4.9, + "p90": 4.9, + "n": 1 + }, + { + "month": "2023-07", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2023-09", + "mean": 10.7, + "median": 10.7, + "p10": 10.7, + "p25": 10.7, + "p75": 10.7, + "p90": 10.7, + "n": 1 + }, + { + "month": "2023-11", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 5.7, + "median": 5.7, + "p10": 5.7, + "p25": 5.7, + "p75": 5.7, + "p90": 5.7, + "n": 1 + }, + { + "month": "2024-03", + "mean": 0.8, + "median": 0.8, + "p10": 0.8, + "p25": 0.8, + "p75": 0.8, + "p90": 0.8, + "n": 1 + }, + { + "month": "2024-05", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2024-07", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-09", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2024-11", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2025-03", + "mean": 6.6, + "median": 6.6, + "p10": 6.6, + "p25": 6.6, + "p75": 6.6, + "p90": 6.6, + "n": 1 + }, + { + "month": "2025-06", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2025-08", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-09", + "mean": 2.3, + "median": 2.5, + "p10": 1.9, + "p25": 2.3, + "p75": 2.5, + "p90": 2.5, + "n": 4 + }, + { + "month": "2025-10", + "mean": 2.9, + "median": 2.9, + "p10": 2.5, + "p25": 2.5, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2025-11", + "mean": 2.7, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2025-12", + "mean": 2.3, + "median": 2.5, + "p10": 1.9, + "p25": 2.3, + "p75": 2.5, + "p90": 2.5, + "n": 4 + }, + { + "month": "2026-01", + "mean": 2.9, + "median": 2.9, + "p10": 2.5, + "p25": 2.5, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2026-02", + "mean": 2.5, + "median": 2.5, + "p10": 1.9, + "p25": 2.3, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-03", + "mean": 2.7, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-04", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 4 + }, + { + "month": "2026-05", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 4 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": { + "median": 99.2, + "mean": 98.5, + "reference": 100.0, + "n": 58 + }, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 7.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 7.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 6.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "post_qa_ship_pla", + "label": "Post-QA Dwell (PL-A)", + "type": "post_qa_ship", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 57, + "mean": 10.4, + "median": 9.8, + "std": 4.6, + "min": 1.6, + "max": 34.4, + "p25": 8.2, + "p75": 11.5, + "p85": 12.3, + "p95": 16.7 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "cost": { + "unit_price": 23.37, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2023-03", + "n_events": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "n_events": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "n_events": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 264000.0 + } + ] + }, + "observations": [ + { + "date": "2023-03-10", + "value": 6.6 + }, + { + "date": "2023-03-25", + "value": 18.0 + }, + { + "date": "2023-09-20", + "value": 34.4 + }, + { + "date": "2024-03-15", + "value": 4.9 + }, + { + "date": "2024-03-28", + "value": 14.8 + }, + { + "date": "2024-09-05", + "value": 23.0 + }, + { + "date": "2024-09-15", + "value": 9.8 + }, + { + "date": "2024-09-25", + "value": 1.6 + }, + { + "date": "2025-03-10", + "value": 12.3 + }, + { + "date": "2025-03-22", + "value": 4.1 + }, + { + "date": "2025-07-08", + "value": 16.4 + }, + { + "date": "2025-07-22", + "value": 3.3 + }, + { + "date": "2025-09-05", + "value": 11.5 + }, + { + "date": "2025-09-11", + "value": 12.3 + }, + { + "date": "2025-09-17", + "value": 8.2 + }, + { + "date": "2025-09-23", + "value": 9.0 + }, + { + "date": "2025-09-29", + "value": 9.8 + }, + { + "date": "2025-10-06", + "value": 11.5 + }, + { + "date": "2025-10-12", + "value": 6.6 + }, + { + "date": "2025-10-18", + "value": 8.2 + }, + { + "date": "2025-10-24", + "value": 9.0 + }, + { + "date": "2025-10-30", + "value": 9.0 + }, + { + "date": "2025-11-04", + "value": 8.2 + }, + { + "date": "2025-11-10", + "value": 9.8 + }, + { + "date": "2025-11-16", + "value": 9.8 + }, + { + "date": "2025-11-22", + "value": 10.7 + }, + { + "date": "2025-11-28", + "value": 11.5 + }, + { + "date": "2025-12-05", + "value": 8.2 + }, + { + "date": "2025-12-11", + "value": 9.0 + }, + { + "date": "2025-12-17", + "value": 9.8 + }, + { + "date": "2025-12-23", + "value": 10.7 + }, + { + "date": "2025-12-29", + "value": 11.5 + }, + { + "date": "2026-01-06", + "value": 10.7 + }, + { + "date": "2026-01-12", + "value": 11.5 + }, + { + "date": "2026-01-18", + "value": 12.3 + }, + { + "date": "2026-01-24", + "value": 13.1 + }, + { + "date": "2026-01-30", + "value": 9.0 + }, + { + "date": "2026-02-04", + "value": 10.7 + }, + { + "date": "2026-02-10", + "value": 11.5 + }, + { + "date": "2026-02-16", + "value": 12.3 + }, + { + "date": "2026-02-22", + "value": 8.2 + }, + { + "date": "2026-02-28", + "value": 9.0 + }, + { + "date": "2026-03-05", + "value": 10.7 + }, + { + "date": "2026-03-11", + "value": 11.5 + }, + { + "date": "2026-03-17", + "value": 6.6 + }, + { + "date": "2026-03-23", + "value": 8.2 + }, + { + "date": "2026-03-29", + "value": 9.0 + }, + { + "date": "2026-04-06", + "value": 13.1 + }, + { + "date": "2026-04-12", + "value": 8.2 + }, + { + "date": "2026-04-18", + "value": 9.8 + }, + { + "date": "2026-04-24", + "value": 9.8 + }, + { + "date": "2026-04-30", + "value": 10.7 + }, + { + "date": "2026-05-04", + "value": 7.4 + }, + { + "date": "2026-05-10", + "value": 8.2 + }, + { + "date": "2026-05-16", + "value": 9.0 + }, + { + "date": "2026-05-22", + "value": 9.8 + }, + { + "date": "2026-05-28", + "value": 10.7 + } + ], + "monthly": [ + { + "month": "2023-03", + "mean": 12.3, + "median": 12.3, + "p10": 7.7, + "p25": 9.4, + "p75": 15.2, + "p90": 16.9, + "n": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "mean": 34.4, + "median": 34.4, + "p10": 34.4, + "p25": 34.4, + "p75": 34.4, + "p90": 34.4, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "mean": 9.8, + "median": 9.8, + "p10": 5.9, + "p25": 7.4, + "p75": 12.3, + "p90": 13.8, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "mean": 11.5, + "median": 9.8, + "p10": 3.3, + "p25": 5.7, + "p75": 16.4, + "p90": 20.3, + "n": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "mean": 8.2, + "median": 8.2, + "p10": 4.9, + "p25": 6.1, + "p75": 10.2, + "p90": 11.5, + "n": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "mean": 9.8, + "median": 9.8, + "p10": 4.6, + "p25": 6.6, + "p75": 13.1, + "p90": 15.1, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "mean": 10.2, + "median": 9.8, + "p10": 8.5, + "p25": 9.0, + "p75": 11.5, + "p90": 12.0, + "n": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "mean": 8.9, + "median": 9.0, + "p10": 7.2, + "p25": 8.2, + "p75": 9.0, + "p90": 10.5, + "n": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "mean": 10.0, + "median": 9.8, + "p10": 8.9, + "p25": 9.8, + "p75": 10.7, + "p90": 11.2, + "n": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "mean": 9.8, + "median": 9.8, + "p10": 8.5, + "p25": 9.0, + "p75": 10.7, + "p90": 11.2, + "n": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "mean": 11.3, + "median": 11.5, + "p10": 9.7, + "p25": 10.7, + "p75": 12.3, + "p90": 12.8, + "n": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "mean": 10.3, + "median": 10.7, + "p10": 8.5, + "p25": 9.0, + "p75": 11.5, + "p90": 12.0, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "mean": 9.2, + "median": 9.0, + "p10": 7.2, + "p25": 8.2, + "p75": 10.7, + "p90": 11.2, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "mean": 10.3, + "median": 9.8, + "p10": 8.9, + "p25": 9.8, + "p75": 10.7, + "p90": 12.1, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "mean": 9.0, + "median": 9.0, + "p10": 7.7, + "p25": 8.2, + "p75": 9.8, + "p90": 10.3, + "n": 5, + "total_kg_days": 264000.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "direct_ship_pla", + "label": "Direct-to-Customer Ship", + "type": "transit", + "material": "90000300001", + "plant": "PL-A\u2192Customer", + "stats": { + "n": 35, + "mean": 17.1, + "median": 17.2, + "std": 3.8, + "min": 9.8, + "max": 31.2, + "p25": 15.2, + "p75": 18.9, + "p85": 20.4, + "p95": 21.8 + }, + "plifz": null, + "plifz_note": "No planning parameter set", + "pct_exceeding_plifz": null, + "cost": null, + "observations": [ + { + "date": "2023-04-05", + "value": 14.8 + }, + { + "date": "2023-10-12", + "value": 20.5 + }, + { + "date": "2024-04-08", + "value": 9.8 + }, + { + "date": "2024-09-20", + "value": 31.2 + }, + { + "date": "2024-10-15", + "value": 16.4 + }, + { + "date": "2025-03-25", + "value": 12.3 + }, + { + "date": "2025-04-10", + "value": 23.0 + }, + { + "date": "2025-07-30", + "value": 19.7 + }, + { + "date": "2025-09-04", + "value": 13.9 + }, + { + "date": "2025-09-10", + "value": 15.6 + }, + { + "date": "2025-09-16", + "value": 17.2 + }, + { + "date": "2025-10-05", + "value": 13.9 + }, + { + "date": "2025-10-11", + "value": 15.6 + }, + { + "date": "2025-10-17", + "value": 16.4 + }, + { + "date": "2025-11-06", + "value": 18.0 + }, + { + "date": "2025-11-12", + "value": 18.9 + }, + { + "date": "2025-11-18", + "value": 20.5 + }, + { + "date": "2025-12-04", + "value": 17.2 + }, + { + "date": "2025-12-10", + "value": 18.9 + }, + { + "date": "2025-12-16", + "value": 20.5 + }, + { + "date": "2026-01-05", + "value": 17.2 + }, + { + "date": "2026-01-11", + "value": 18.9 + }, + { + "date": "2026-01-17", + "value": 11.5 + }, + { + "date": "2026-02-06", + "value": 21.3 + }, + { + "date": "2026-02-12", + "value": 13.9 + }, + { + "date": "2026-02-18", + "value": 15.6 + }, + { + "date": "2026-03-04", + "value": 12.3 + }, + { + "date": "2026-03-10", + "value": 13.9 + }, + { + "date": "2026-03-16", + "value": 15.6 + }, + { + "date": "2026-04-05", + "value": 16.4 + }, + { + "date": "2026-04-11", + "value": 18.0 + }, + { + "date": "2026-04-17", + "value": 18.9 + }, + { + "date": "2026-05-06", + "value": 16.4 + }, + { + "date": "2026-05-12", + "value": 17.2 + }, + { + "date": "2026-05-18", + "value": 18.9 + } + ], + "monthly": [ + { + "month": "2023-04", + "mean": 14.8, + "median": 14.8, + "p10": 14.8, + "p25": 14.8, + "p75": 14.8, + "p90": 14.8, + "n": 1 + }, + { + "month": "2023-10", + "mean": 20.5, + "median": 20.5, + "p10": 20.5, + "p25": 20.5, + "p75": 20.5, + "p90": 20.5, + "n": 1 + }, + { + "month": "2024-04", + "mean": 9.8, + "median": 9.8, + "p10": 9.8, + "p25": 9.8, + "p75": 9.8, + "p90": 9.8, + "n": 1 + }, + { + "month": "2024-09", + "mean": 31.2, + "median": 31.2, + "p10": 31.2, + "p25": 31.2, + "p75": 31.2, + "p90": 31.2, + "n": 1 + }, + { + "month": "2024-10", + "mean": 16.4, + "median": 16.4, + "p10": 16.4, + "p25": 16.4, + "p75": 16.4, + "p90": 16.4, + "n": 1 + }, + { + "month": "2025-03", + "mean": 12.3, + "median": 12.3, + "p10": 12.3, + "p25": 12.3, + "p75": 12.3, + "p90": 12.3, + "n": 1 + }, + { + "month": "2025-04", + "mean": 23.0, + "median": 23.0, + "p10": 23.0, + "p25": 23.0, + "p75": 23.0, + "p90": 23.0, + "n": 1 + }, + { + "month": "2025-07", + "mean": 19.7, + "median": 19.7, + "p10": 19.7, + "p25": 19.7, + "p75": 19.7, + "p90": 19.7, + "n": 1 + }, + { + "month": "2025-09", + "mean": 15.6, + "median": 15.6, + "p10": 14.3, + "p25": 14.8, + "p75": 16.4, + "p90": 16.9, + "n": 3 + }, + { + "month": "2025-10", + "mean": 15.3, + "median": 15.6, + "p10": 14.3, + "p25": 14.8, + "p75": 16.0, + "p90": 16.2, + "n": 3 + }, + { + "month": "2025-11", + "mean": 19.1, + "median": 18.9, + "p10": 18.2, + "p25": 18.4, + "p75": 19.7, + "p90": 20.2, + "n": 3 + }, + { + "month": "2025-12", + "mean": 18.9, + "median": 18.9, + "p10": 17.5, + "p25": 18.0, + "p75": 19.7, + "p90": 20.2, + "n": 3 + }, + { + "month": "2026-01", + "mean": 15.8, + "median": 17.2, + "p10": 12.6, + "p25": 14.3, + "p75": 18.0, + "p90": 18.5, + "n": 3 + }, + { + "month": "2026-02", + "mean": 17.0, + "median": 15.6, + "p10": 14.3, + "p25": 14.8, + "p75": 18.4, + "p90": 20.2, + "n": 3 + }, + { + "month": "2026-03", + "mean": 13.9, + "median": 13.9, + "p10": 12.6, + "p25": 13.1, + "p75": 14.8, + "p90": 15.3, + "n": 3 + }, + { + "month": "2026-04", + "mean": 17.8, + "median": 18.0, + "p10": 16.7, + "p25": 17.2, + "p75": 18.4, + "p90": 18.7, + "n": 3 + }, + { + "month": "2026-05", + "mean": 17.5, + "median": 17.2, + "p10": 16.6, + "p25": 16.8, + "p75": 18.0, + "p90": 18.5, + "n": 3 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 22.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 22.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "transit_pla_hub1", + "label": "Transit PL-A \u2192 HUB-1", + "type": "transit", + "material": "90000300001", + "plant": "PL-A\u2192HUB-1", + "stats": { + "n": 42, + "mean": 25.7, + "median": 25.0, + "std": 5.8, + "min": 12.3, + "max": 45.1, + "p25": 22.1, + "p75": 29.5, + "p85": 31.2, + "p95": 34.4 + }, + "plifz": 28, + "plifz_note": null, + "pct_exceeding_plifz": 61.9, + "cost": null, + "observations": [ + { + "date": "2022-07-20", + "value": 23.0 + }, + { + "date": "2022-11-30", + "value": 28.7 + }, + { + "date": "2023-03-15", + "value": 18.0 + }, + { + "date": "2023-07-10", + "value": 34.4 + }, + { + "date": "2023-10-25", + "value": 24.6 + }, + { + "date": "2024-02-08", + "value": 45.1 + }, + { + "date": "2024-05-20", + "value": 20.5 + }, + { + "date": "2024-08-12", + "value": 31.2 + }, + { + "date": "2024-11-05", + "value": 12.3 + }, + { + "date": "2025-01-22", + "value": 26.2 + }, + { + "date": "2025-04-10", + "value": 23.0 + }, + { + "date": "2025-06-18", + "value": 36.9 + }, + { + "date": "2025-07-15", + "value": 24.6 + }, + { + "date": "2025-08-05", + "value": 18.0 + }, + { + "date": "2025-09-05", + "value": 29.5 + }, + { + "date": "2025-09-10", + "value": 31.2 + }, + { + "date": "2025-09-11", + "value": 32.0 + }, + { + "date": "2025-09-17", + "value": 21.3 + }, + { + "date": "2025-10-06", + "value": 29.5 + }, + { + "date": "2025-10-12", + "value": 18.9 + }, + { + "date": "2025-10-18", + "value": 21.3 + }, + { + "date": "2025-11-04", + "value": 22.1 + }, + { + "date": "2025-11-10", + "value": 25.4 + }, + { + "date": "2025-11-16", + "value": 27.1 + }, + { + "date": "2025-12-05", + "value": 22.1 + }, + { + "date": "2025-12-11", + "value": 23.8 + }, + { + "date": "2025-12-17", + "value": 26.2 + }, + { + "date": "2026-01-06", + "value": 21.3 + }, + { + "date": "2026-01-12", + "value": 23.8 + }, + { + "date": "2026-01-18", + "value": 25.4 + }, + { + "date": "2026-02-04", + "value": 27.1 + }, + { + "date": "2026-02-10", + "value": 29.5 + }, + { + "date": "2026-02-16", + "value": 32.0 + }, + { + "date": "2026-03-05", + "value": 27.1 + }, + { + "date": "2026-03-11", + "value": 29.5 + }, + { + "date": "2026-03-17", + "value": 18.9 + }, + { + "date": "2026-04-06", + "value": 32.8 + }, + { + "date": "2026-04-12", + "value": 22.1 + }, + { + "date": "2026-04-18", + "value": 25.4 + }, + { + "date": "2026-05-04", + "value": 19.7 + }, + { + "date": "2026-05-10", + "value": 22.1 + }, + { + "date": "2026-05-16", + "value": 23.8 + } + ], + "monthly": [ + { + "month": "2022-07", + "mean": 23.0, + "median": 23.0, + "p10": 23.0, + "p25": 23.0, + "p75": 23.0, + "p90": 23.0, + "n": 1 + }, + { + "month": "2022-11", + "mean": 28.7, + "median": 28.7, + "p10": 28.7, + "p25": 28.7, + "p75": 28.7, + "p90": 28.7, + "n": 1 + }, + { + "month": "2023-03", + "mean": 18.0, + "median": 18.0, + "p10": 18.0, + "p25": 18.0, + "p75": 18.0, + "p90": 18.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 34.4, + "median": 34.4, + "p10": 34.4, + "p25": 34.4, + "p75": 34.4, + "p90": 34.4, + "n": 1 + }, + { + "month": "2023-10", + "mean": 24.6, + "median": 24.6, + "p10": 24.6, + "p25": 24.6, + "p75": 24.6, + "p90": 24.6, + "n": 1 + }, + { + "month": "2024-02", + "mean": 45.1, + "median": 45.1, + "p10": 45.1, + "p25": 45.1, + "p75": 45.1, + "p90": 45.1, + "n": 1 + }, + { + "month": "2024-05", + "mean": 20.5, + "median": 20.5, + "p10": 20.5, + "p25": 20.5, + "p75": 20.5, + "p90": 20.5, + "n": 1 + }, + { + "month": "2024-08", + "mean": 31.2, + "median": 31.2, + "p10": 31.2, + "p25": 31.2, + "p75": 31.2, + "p90": 31.2, + "n": 1 + }, + { + "month": "2024-11", + "mean": 12.3, + "median": 12.3, + "p10": 12.3, + "p25": 12.3, + "p75": 12.3, + "p90": 12.3, + "n": 1 + }, + { + "month": "2025-01", + "mean": 26.2, + "median": 26.2, + "p10": 26.2, + "p25": 26.2, + "p75": 26.2, + "p90": 26.2, + "n": 1 + }, + { + "month": "2025-04", + "mean": 23.0, + "median": 23.0, + "p10": 23.0, + "p25": 23.0, + "p75": 23.0, + "p90": 23.0, + "n": 1 + }, + { + "month": "2025-06", + "mean": 36.9, + "median": 36.9, + "p10": 36.9, + "p25": 36.9, + "p75": 36.9, + "p90": 36.9, + "n": 1 + }, + { + "month": "2025-07", + "mean": 24.6, + "median": 24.6, + "p10": 24.6, + "p25": 24.6, + "p75": 24.6, + "p90": 24.6, + "n": 1 + }, + { + "month": "2025-08", + "mean": 18.0, + "median": 18.0, + "p10": 18.0, + "p25": 18.0, + "p75": 18.0, + "p90": 18.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 28.5, + "median": 30.3, + "p10": 23.8, + "p25": 27.5, + "p75": 31.4, + "p90": 31.7, + "n": 4 + }, + { + "month": "2025-10", + "mean": 23.2, + "median": 21.3, + "p10": 19.4, + "p25": 20.1, + "p75": 25.4, + "p90": 27.9, + "n": 3 + }, + { + "month": "2025-11", + "mean": 24.8, + "median": 25.4, + "p10": 22.8, + "p25": 23.8, + "p75": 26.2, + "p90": 26.7, + "n": 3 + }, + { + "month": "2025-12", + "mean": 24.0, + "median": 23.8, + "p10": 22.5, + "p25": 23.0, + "p75": 25.0, + "p90": 25.7, + "n": 3 + }, + { + "month": "2026-01", + "mean": 23.5, + "median": 23.8, + "p10": 21.8, + "p25": 22.5, + "p75": 24.6, + "p90": 25.1, + "n": 3 + }, + { + "month": "2026-02", + "mean": 29.5, + "median": 29.5, + "p10": 27.6, + "p25": 28.3, + "p75": 30.7, + "p90": 31.5, + "n": 3 + }, + { + "month": "2026-03", + "mean": 25.2, + "median": 27.1, + "p10": 20.5, + "p25": 23.0, + "p75": 28.3, + "p90": 29.0, + "n": 3 + }, + { + "month": "2026-04", + "mean": 26.8, + "median": 25.4, + "p10": 22.8, + "p25": 23.8, + "p75": 29.1, + "p90": 31.3, + "n": 3 + }, + { + "month": "2026-05", + "mean": 21.9, + "median": 22.1, + "p10": 20.2, + "p25": 20.9, + "p75": 23.0, + "p90": 23.5, + "n": 3 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "dest_dwell_hub1", + "label": "Destination Dwell (HUB-1)", + "type": "destination_dwell", + "material": "90000300001", + "plant": "HUB-1", + "stats": { + "n": 37, + "mean": 36.9, + "median": 36.1, + "std": 11.5, + "min": 8.2, + "max": 77.9, + "p25": 29.5, + "p75": 40.2, + "p85": 43.5, + "p95": 55.4 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "cost": { + "unit_price": 23.37, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2022-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "n_events": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "n_events": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "n_events": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "n_events": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "n_events": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "n_events": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "n_events": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "n_events": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "n_events": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "n_events": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "n_events": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "n_events": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "n_events": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "n_events": 3, + "total_kg_days": 585600.0 + } + ] + }, + "observations": [ + { + "date": "2022-09-15", + "value": 34.4 + }, + { + "date": "2023-05-05", + "value": 53.3 + }, + { + "date": "2023-05-20", + "value": 23.0 + }, + { + "date": "2024-01-10", + "value": 77.9 + }, + { + "date": "2024-01-25", + "value": 28.7 + }, + { + "date": "2024-08-15", + "value": 8.2 + }, + { + "date": "2025-02-05", + "value": 64.0 + }, + { + "date": "2025-02-18", + "value": 45.1 + }, + { + "date": "2025-08-10", + "value": 34.4 + }, + { + "date": "2025-08-20", + "value": 26.2 + }, + { + "date": "2025-09-06", + "value": 32.0 + }, + { + "date": "2025-09-12", + "value": 34.4 + }, + { + "date": "2025-09-18", + "value": 37.7 + }, + { + "date": "2025-10-04", + "value": 40.2 + }, + { + "date": "2025-10-10", + "value": 43.5 + }, + { + "date": "2025-10-16", + "value": 46.7 + }, + { + "date": "2025-11-05", + "value": 39.4 + }, + { + "date": "2025-11-11", + "value": 42.6 + }, + { + "date": "2025-11-17", + "value": 27.9 + }, + { + "date": "2025-12-06", + "value": 39.4 + }, + { + "date": "2025-12-12", + "value": 24.6 + }, + { + "date": "2025-12-18", + "value": 27.9 + }, + { + "date": "2026-01-04", + "value": 29.5 + }, + { + "date": "2026-01-10", + "value": 33.6 + }, + { + "date": "2026-01-16", + "value": 35.3 + }, + { + "date": "2026-02-05", + "value": 29.5 + }, + { + "date": "2026-02-11", + "value": 32.0 + }, + { + "date": "2026-02-17", + "value": 34.4 + }, + { + "date": "2026-03-06", + "value": 37.7 + }, + { + "date": "2026-03-12", + "value": 40.2 + }, + { + "date": "2026-03-18", + "value": 43.5 + }, + { + "date": "2026-04-04", + "value": 36.9 + }, + { + "date": "2026-04-10", + "value": 39.4 + }, + { + "date": "2026-04-16", + "value": 42.6 + }, + { + "date": "2026-05-05", + "value": 36.1 + }, + { + "date": "2026-05-11", + "value": 39.4 + }, + { + "date": "2026-05-17", + "value": 24.6 + } + ], + "monthly": [ + { + "month": "2022-09", + "mean": 34.4, + "median": 34.4, + "p10": 34.4, + "p25": 34.4, + "p75": 34.4, + "p90": 34.4, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "mean": 38.1, + "median": 38.1, + "p10": 26.0, + "p25": 30.6, + "p75": 45.8, + "p90": 50.3, + "n": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "mean": 53.3, + "median": 53.3, + "p10": 33.6, + "p25": 41.0, + "p75": 65.6, + "p90": 73.0, + "n": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "mean": 8.2, + "median": 8.2, + "p10": 8.2, + "p25": 8.2, + "p75": 8.2, + "p90": 8.2, + "n": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "mean": 54.5, + "median": 54.5, + "p10": 47.0, + "p25": 49.9, + "p75": 59.3, + "p90": 62.1, + "n": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "mean": 30.3, + "median": 30.3, + "p10": 27.1, + "p25": 28.3, + "p75": 32.4, + "p90": 33.6, + "n": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "mean": 34.7, + "median": 34.4, + "p10": 32.5, + "p25": 33.2, + "p75": 36.1, + "p90": 37.1, + "n": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "mean": 43.5, + "median": 43.5, + "p10": 40.8, + "p25": 41.8, + "p75": 45.1, + "p90": 46.1, + "n": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "mean": 36.7, + "median": 39.4, + "p10": 30.2, + "p25": 33.6, + "p75": 41.0, + "p90": 42.0, + "n": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "mean": 30.6, + "median": 27.9, + "p10": 25.3, + "p25": 26.2, + "p75": 33.6, + "p90": 37.1, + "n": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "mean": 32.8, + "median": 33.6, + "p10": 30.3, + "p25": 31.6, + "p75": 34.4, + "p90": 34.9, + "n": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "mean": 32.0, + "median": 32.0, + "p10": 30.0, + "p25": 30.7, + "p75": 33.2, + "p90": 33.9, + "n": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "mean": 40.4, + "median": 40.2, + "p10": 38.2, + "p25": 38.9, + "p75": 41.8, + "p90": 42.8, + "n": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "mean": 39.6, + "median": 39.4, + "p10": 37.4, + "p25": 38.1, + "p75": 41.0, + "p90": 42.0, + "n": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "mean": 33.4, + "median": 36.1, + "p10": 26.9, + "p25": 30.3, + "p75": 37.7, + "p90": 38.7, + "n": 3, + "total_kg_days": 585600.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 45.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 45.0, + "expected_marginal_per_day": 1.0 + } + } + } + ], + "edges": [ + { + "source": "procurement_highland_arabica", + "target": "raw_dwell_highland_arabica", + "label": "101" + }, + { + "source": "procurement_lowland_robusta", + "target": "raw_dwell_lowland_robusta", + "label": "101" + }, + { + "source": "procurement_washed_bourbon", + "target": "raw_dwell_washed_bourbon", + "label": "101" + }, + { + "source": "raw_dwell_highland_arabica", + "target": "prod_duration_green_blend", + "label": "261" + }, + { + "source": "raw_dwell_lowland_robusta", + "target": "prod_duration_green_blend", + "label": "261" + }, + { + "source": "prod_duration_green_blend", + "target": "intermed_dwell_green_blend", + "label": "101" + }, + { + "source": "raw_dwell_washed_bourbon", + "target": "prod_duration_harbor_dark_roast", + "label": "261" + }, + { + "source": "intermed_dwell_green_blend", + "target": "prod_duration_harbor_dark_roast", + "label": "261" + }, + { + "source": "prod_duration_harbor_dark_roast", + "target": "prod_to_qa_pla", + "label": "101" + }, + { + "source": "post_qa_ship_pla", + "target": "direct_ship_pla", + "label": "601" + }, + { + "source": "post_qa_ship_pla", + "target": "transit_pla_hub1", + "label": "641" + }, + { + "source": "transit_pla_hub1", + "target": "dest_dwell_hub1" + }, + { + "source": "prod_to_qa_pla", + "target": "post_qa_ship_pla" + } + ], + "pipeline_summary": { + "direct": { + "label": "Direct to customer", + "stages": [ + { + "id": "seg_proc_to_prodstart", + "label": "Procurement \u2192 Production Start", + "type": "procurement", + "mean": 29.9, + "median": 30, + "pct_of_total": 17.6, + "n": 60 + }, + { + "id": "seg_prodstart_to_prodfinish", + "label": "Production Start \u2192 Production Finish", + "type": "production", + "mean": 99.8, + "median": 101, + "pct_of_total": 58.9, + "n": 60 + }, + { + "id": "seg_prodfinish_to_qa", + "label": "Production Finish \u2192 QA Release", + "type": "qa_hold", + "mean": 6.6, + "median": 7, + "pct_of_total": 3.9, + "n": 60 + }, + { + "id": "seg_qa_to_customer", + "label": "QA Release \u2192 Customer", + "type": "transit", + "mean": 33.2, + "median": 33, + "pct_of_total": 19.6, + "n": 60 + } + ], + "total_mean": 169.5, + "total_median": 171 + }, + "hub-1": { + "label": "HUB-1", + "stages": [ + { + "id": "seg_proc_to_prodstart", + "label": "Procurement \u2192 Production Start", + "type": "procurement", + "mean": 28.4, + "median": 29, + "pct_of_total": 12.8, + "n": 40 + }, + { + "id": "seg_prodstart_to_prodfinish", + "label": "Production Start \u2192 Production Finish", + "type": "production", + "mean": 102.1, + "median": 104, + "pct_of_total": 46.1, + "n": 40 + }, + { + "id": "seg_prodfinish_to_qa", + "label": "Production Finish \u2192 QA Release", + "type": "qa_hold", + "mean": 6.2, + "median": 6, + "pct_of_total": 2.8, + "n": 40 + }, + { + "id": "seg_qa_to_customer", + "label": "QA Release \u2192 Customer", + "type": "transit", + "mean": 84.8, + "median": 88, + "pct_of_total": 38.3, + "n": 40 + } + ], + "total_mean": 221.5, + "total_median": 227 + } + }, + "annotations": [ + { + "date": "2023-09-01", + "label": "Supplier change for Highland Arabica", + "step_ids": ["procurement_highland_arabica", "raw_dwell_highland_arabica"] + }, + { + "date": "2024-01-15", + "label": "QA process revision", + "step_ids": ["qa_hold_pla"] + } + ], + "batch_timelines": { + "batches": [ + { + "batch": "BATCH-007069", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-05-27", + "earliest_gr_date": "2024-05-29", + "earliest_production_start": "2024-07-03", + "fg_receipt_date": "2024-10-28", + "qa_release_date": "2024-11-03", + "ship_date": null, + "delivery_date": "2024-12-10", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 37, + "seg_prodstart_to_prodfinish": 117, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 37, + "total_days": 197, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 94, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 112, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 70, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 39, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 52, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 14, + "direct_ship_pla": 23 + } + }, + "total_from_po": 197 + }, + { + "batch": "BATCH-767678", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-13", + "earliest_gr_date": "2024-07-15", + "earliest_production_start": "2024-07-29", + "fg_receipt_date": "2024-11-05", + "qa_release_date": "2024-11-09", + "ship_date": null, + "delivery_date": "2024-12-15", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 16, + "seg_prodstart_to_prodfinish": 99, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 36, + "total_days": 155, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 14, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 83, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 97, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 55, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 14, + "direct_ship_pla": 22 + } + }, + "total_from_po": 155 + }, + { + "batch": "BATCH-872783", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-25", + "earliest_gr_date": "2024-07-27", + "earliest_production_start": "2024-08-19", + "fg_receipt_date": "2024-11-08", + "qa_release_date": "2024-11-15", + "ship_date": null, + "delivery_date": "2024-12-20", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 81, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 35, + "total_days": 148, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 58, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 78, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 34, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 45, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "direct_ship_pla": 25 + } + }, + "total_from_po": 148 + }, + { + "batch": "BATCH-868247", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-20", + "earliest_gr_date": "2024-07-22", + "earliest_production_start": "2024-08-24", + "fg_receipt_date": "2024-11-10", + "qa_release_date": "2024-11-19", + "ship_date": null, + "delivery_date": "2024-12-26", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 78, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 37, + "total_days": 159, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 14, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 61, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 75, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 17, + "direct_ship_pla": 20 + } + }, + "total_from_po": 159 + }, + { + "batch": "BATCH-775611", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-22", + "earliest_gr_date": "2024-07-24", + "earliest_production_start": "2024-08-19", + "fg_receipt_date": "2024-11-22", + "qa_release_date": "2024-11-30", + "ship_date": null, + "delivery_date": "2024-12-31", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 95, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 31, + "total_days": 162, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 8, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 82, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 90, + "production_days": 8, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 64, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 74, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 68, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 16, + "direct_ship_pla": 15 + } + }, + "total_from_po": 162 + }, + { + "batch": "BATCH-544789", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-08", + "earliest_gr_date": "2024-07-10", + "earliest_production_start": "2024-08-05", + "fg_receipt_date": "2024-12-05", + "qa_release_date": "2024-12-12", + "ship_date": null, + "delivery_date": "2025-01-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 122, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 25, + "total_days": 182, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 24, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 94, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 118, + "production_days": 24, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 7, + "direct_ship_pla": 18 + } + }, + "total_from_po": 182 + }, + { + "batch": "BATCH-447665", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-14", + "earliest_gr_date": "2024-07-16", + "earliest_production_start": "2024-08-19", + "fg_receipt_date": "2024-12-05", + "qa_release_date": "2024-12-11", + "ship_date": null, + "delivery_date": "2025-01-11", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 36, + "seg_prodstart_to_prodfinish": 108, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 31, + "total_days": 181, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 24, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 81, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 24, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 63, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 16, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 63, + "production_days": 16, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 13, + "direct_ship_pla": 18 + } + }, + "total_from_po": 181 + }, + { + "batch": "BATCH-963613", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-24", + "earliest_gr_date": "2024-07-26", + "earliest_production_start": "2024-08-26", + "fg_receipt_date": "2024-12-12", + "qa_release_date": "2024-12-19", + "ship_date": null, + "delivery_date": "2025-01-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 108, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 29, + "total_days": 177, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 83, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 104, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 71, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "direct_ship_pla": 19 + } + }, + "total_from_po": 177 + }, + { + "batch": "BATCH-863299", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-08-05", + "earliest_gr_date": "2024-08-07", + "earliest_production_start": "2024-08-30", + "fg_receipt_date": "2024-12-21", + "qa_release_date": "2024-12-27", + "ship_date": null, + "delivery_date": "2025-01-22", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 26, + "total_days": 170, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 26, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 84, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 110, + "production_days": 26, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 69, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 14 + } + }, + "total_from_po": 170 + }, + { + "batch": "BATCH-528145", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-08-22", + "earliest_gr_date": "2024-08-24", + "earliest_production_start": "2024-09-11", + "fg_receipt_date": "2024-12-24", + "qa_release_date": "2024-12-30", + "ship_date": null, + "delivery_date": "2025-01-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 20, + "seg_prodstart_to_prodfinish": 104, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 29, + "total_days": 159, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 12, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 90, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 102, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 58, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 17 + } + }, + "total_from_po": 159 + }, + { + "batch": "BATCH-242499", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-08-17", + "earliest_gr_date": "2024-08-19", + "earliest_production_start": "2024-09-16", + "fg_receipt_date": "2024-12-26", + "qa_release_date": "2024-12-31", + "ship_date": null, + "delivery_date": "2025-02-02", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 101, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 33, + "total_days": 169, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 77, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 11, + "direct_ship_pla": 22 + } + }, + "total_from_po": 169 + }, + { + "batch": "BATCH-576635", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-29", + "earliest_gr_date": "2024-10-01", + "earliest_production_start": "2024-10-26", + "fg_receipt_date": "2024-12-31", + "qa_release_date": "2025-01-07", + "ship_date": null, + "delivery_date": "2025-02-08", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 27, + "seg_prodstart_to_prodfinish": 66, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 32, + "total_days": 132, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 47, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 64, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 57, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 8, + "direct_ship_pla": 24 + } + }, + "total_from_po": 132 + }, + { + "batch": "BATCH-221460", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-24", + "earliest_gr_date": "2024-07-26", + "earliest_production_start": "2024-08-28", + "fg_receipt_date": "2025-01-01", + "qa_release_date": "2025-01-08", + "ship_date": null, + "delivery_date": "2025-02-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 126, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 36, + "total_days": 204, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 99, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 120, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 66, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 78, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 6, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 13, + "direct_ship_pla": 23 + } + }, + "total_from_po": 204 + }, + { + "batch": "BATCH-666578", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-10", + "earliest_gr_date": "2024-09-12", + "earliest_production_start": "2024-10-06", + "fg_receipt_date": "2025-01-10", + "qa_release_date": "2025-01-18", + "ship_date": null, + "delivery_date": "2025-02-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 96, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 31, + "total_days": 161, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 11, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 82, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 63, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 9, + "direct_ship_pla": 22 + } + }, + "total_from_po": 161 + }, + { + "batch": "BATCH-208118", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-05", + "earliest_gr_date": "2024-09-07", + "earliest_production_start": "2024-10-19", + "fg_receipt_date": "2025-01-11", + "qa_release_date": "2025-01-19", + "ship_date": null, + "delivery_date": "2025-02-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 44, + "seg_prodstart_to_prodfinish": 84, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 36, + "total_days": 172, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 51, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 67, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 69, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 82, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 7, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 31, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 38, + "production_days": 7, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 15, + "direct_ship_pla": 21 + } + }, + "total_from_po": 172 + }, + { + "batch": "BATCH-458243", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-05", + "earliest_gr_date": "2024-09-07", + "earliest_production_start": "2024-10-04", + "fg_receipt_date": "2025-01-22", + "qa_release_date": "2025-01-29", + "ship_date": null, + "delivery_date": "2025-03-01", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 31, + "total_days": 177, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 106, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 69, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 9, + "direct_ship_pla": 22 + } + }, + "total_from_po": 177 + }, + { + "batch": "BATCH-207730", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-16", + "earliest_gr_date": "2024-09-18", + "earliest_production_start": "2024-10-14", + "fg_receipt_date": "2025-01-18", + "qa_release_date": "2025-01-22", + "ship_date": null, + "delivery_date": "2025-03-07", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 96, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 44, + "total_days": 172, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 77, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 92, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 74, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 8, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 68, + "production_days": 8, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 16, + "direct_ship_pla": 28 + } + }, + "total_from_po": 172 + }, + { + "batch": "BATCH-033995", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-08-27", + "earliest_gr_date": "2024-08-29", + "earliest_production_start": "2024-09-30", + "fg_receipt_date": "2025-01-22", + "qa_release_date": "2025-01-30", + "ship_date": null, + "delivery_date": "2025-03-12", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 34, + "seg_prodstart_to_prodfinish": 114, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 41, + "total_days": 197, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 93, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 111, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 18, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 70, + "production_days": 18, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 17, + "direct_ship_pla": 24 + } + }, + "total_from_po": 197 + }, + { + "batch": "BATCH-559161", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-10", + "earliest_gr_date": "2024-09-12", + "earliest_production_start": "2024-10-16", + "fg_receipt_date": "2025-02-14", + "qa_release_date": "2025-02-19", + "ship_date": null, + "delivery_date": "2025-03-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 36, + "seg_prodstart_to_prodfinish": 121, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 27, + "total_days": 189, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 99, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 117, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 73, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 15, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 15, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 10, + "direct_ship_pla": 17 + } + }, + "total_from_po": 189 + }, + { + "batch": "BATCH-043249", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-28", + "earliest_gr_date": "2024-09-30", + "earliest_production_start": "2024-10-27", + "fg_receipt_date": "2025-02-12", + "qa_release_date": "2025-02-15", + "ship_date": null, + "delivery_date": "2025-03-23", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 108, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 36, + "total_days": 176, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 86, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 36, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 50, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 12, + "direct_ship_pla": 24 + } + }, + "total_from_po": 176 + }, + { + "batch": "BATCH-876661", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-10-05", + "earliest_gr_date": "2024-10-07", + "earliest_production_start": "2024-11-06", + "fg_receipt_date": "2025-02-04", + "qa_release_date": "2025-02-11", + "ship_date": null, + "delivery_date": "2025-03-29", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 32, + "seg_prodstart_to_prodfinish": 90, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 46, + "total_days": 175, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 13, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 73, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 86, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 15, + "direct_ship_pla": 31 + } + }, + "total_from_po": 175 + }, + { + "batch": "BATCH-758211", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-24", + "earliest_gr_date": "2024-09-26", + "earliest_production_start": "2024-10-24", + "fg_receipt_date": "2025-02-22", + "qa_release_date": "2025-03-01", + "ship_date": null, + "delivery_date": "2025-04-03", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 121, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 33, + "total_days": 191, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 100, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 117, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "direct_ship_pla": 23 + } + }, + "total_from_po": 191 + }, + { + "batch": "BATCH-198568", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-10-07", + "earliest_gr_date": "2024-10-09", + "earliest_production_start": "2024-10-29", + "fg_receipt_date": "2025-02-21", + "qa_release_date": "2025-03-02", + "ship_date": null, + "delivery_date": "2025-04-09", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 22, + "seg_prodstart_to_prodfinish": 115, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 38, + "total_days": 184, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 89, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 110, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 64, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 79, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 78, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 91, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 13, + "direct_ship_pla": 25 + } + }, + "total_from_po": 184 + }, + { + "batch": "BATCH-499114", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-20", + "earliest_gr_date": "2024-11-22", + "earliest_production_start": "2024-12-17", + "fg_receipt_date": "2025-03-05", + "qa_release_date": "2025-03-14", + "ship_date": null, + "delivery_date": "2025-04-14", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 27, + "seg_prodstart_to_prodfinish": 78, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 31, + "total_days": 145, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 52, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 70, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 33, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 44, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 16, + "direct_ship_pla": 15 + } + }, + "total_from_po": 145 + }, + { + "batch": "BATCH-947566", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-10-15", + "earliest_gr_date": "2024-10-17", + "earliest_production_start": "2024-11-17", + "fg_receipt_date": "2025-03-07", + "qa_release_date": "2025-03-10", + "ship_date": null, + "delivery_date": "2025-04-19", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 40, + "total_days": 186, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 86, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 104, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 62, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 6, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 14, + "direct_ship_pla": 26 + } + }, + "total_from_po": 186 + }, + { + "batch": "BATCH-154390", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-10-25", + "earliest_gr_date": "2024-10-27", + "earliest_production_start": "2024-11-27", + "fg_receipt_date": "2025-03-10", + "qa_release_date": "2025-03-16", + "ship_date": null, + "delivery_date": "2025-04-25", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 103, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 40, + "total_days": 182, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 22, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 77, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 99, + "production_days": 22, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 67, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 82, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 44, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 57, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 28 + } + }, + "total_from_po": 182 + }, + { + "batch": "BATCH-557064", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-01", + "earliest_gr_date": "2024-12-03", + "earliest_production_start": "2025-01-02", + "fg_receipt_date": "2025-03-29", + "qa_release_date": "2025-04-05", + "ship_date": null, + "delivery_date": "2025-04-30", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 32, + "seg_prodstart_to_prodfinish": 86, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 25, + "total_days": 150, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 64, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 82, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 60, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 8, + "direct_ship_pla": 17 + } + }, + "total_from_po": 150 + }, + { + "batch": "BATCH-307333", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-17", + "earliest_gr_date": "2024-11-19", + "earliest_production_start": "2024-12-15", + "fg_receipt_date": "2025-03-27", + "qa_release_date": "2025-04-04", + "ship_date": null, + "delivery_date": "2025-05-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 102, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 32, + "total_days": 170, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 81, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 73, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 88, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 36, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 49, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 16, + "direct_ship_pla": 16 + } + }, + "total_from_po": 170 + }, + { + "batch": "BATCH-891817", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-02", + "earliest_gr_date": "2024-12-04", + "earliest_production_start": "2024-12-16", + "fg_receipt_date": "2025-03-30", + "qa_release_date": "2025-04-07", + "ship_date": null, + "delivery_date": "2025-05-11", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 14, + "seg_prodstart_to_prodfinish": 104, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 34, + "total_days": 160, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 82, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 100, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 62, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 65, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 76, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 9, + "direct_ship_pla": 25 + } + }, + "total_from_po": 160 + }, + { + "batch": "BATCH-852390", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-24", + "earliest_gr_date": "2024-11-26", + "earliest_production_start": "2024-12-29", + "fg_receipt_date": "2025-03-29", + "qa_release_date": "2025-04-06", + "ship_date": null, + "delivery_date": "2025-05-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 90, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 41, + "total_days": 174, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 70, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 86, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 37, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 52, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 14, + "direct_ship_pla": 27 + } + }, + "total_from_po": 174 + }, + { + "batch": "BATCH-412722", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-31", + "earliest_gr_date": "2025-01-02", + "earliest_production_start": "2025-01-21", + "fg_receipt_date": "2025-04-15", + "qa_release_date": "2025-04-20", + "ship_date": null, + "delivery_date": "2025-05-22", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 21, + "seg_prodstart_to_prodfinish": 84, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 32, + "total_days": 142, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 49, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 70, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 64, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 81, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 56, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 9, + "direct_ship_pla": 23 + } + }, + "total_from_po": 142 + }, + { + "batch": "BATCH-357156", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-08", + "earliest_gr_date": "2024-11-10", + "earliest_production_start": "2024-12-13", + "fg_receipt_date": "2025-04-05", + "qa_release_date": "2025-04-13", + "ship_date": null, + "delivery_date": "2025-05-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 45, + "total_days": 201, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 89, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 110, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 72, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 83, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 60, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 14, + "direct_ship_pla": 31 + } + }, + "total_from_po": 201 + }, + { + "batch": "BATCH-851698", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-04", + "earliest_gr_date": "2025-01-06", + "earliest_production_start": "2025-02-06", + "fg_receipt_date": "2025-04-22", + "qa_release_date": "2025-04-30", + "ship_date": null, + "delivery_date": "2025-06-02", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 75, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 33, + "total_days": 149, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 52, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 71, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 41, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 54, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 72, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 7, + "direct_ship_pla": 26 + } + }, + "total_from_po": 149 + }, + { + "batch": "BATCH-440021", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-29", + "earliest_gr_date": "2024-12-31", + "earliest_production_start": "2025-01-31", + "fg_receipt_date": "2025-05-05", + "qa_release_date": "2025-05-13", + "ship_date": null, + "delivery_date": "2025-06-08", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 94, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 26, + "total_days": 161, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 12, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 81, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 78, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 91, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 40, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 52, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 12, + "direct_ship_pla": 14 + } + }, + "total_from_po": 161 + }, + { + "batch": "BATCH-546123", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-20", + "earliest_gr_date": "2024-12-22", + "earliest_production_start": "2025-01-18", + "fg_receipt_date": "2025-05-08", + "qa_release_date": "2025-05-15", + "ship_date": null, + "delivery_date": "2025-06-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 29, + "total_days": 175, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 89, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 106, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 63, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 78, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 15, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 64, + "production_days": 15, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 11, + "direct_ship_pla": 18 + } + }, + "total_from_po": 175 + }, + { + "batch": "BATCH-990560", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-29", + "earliest_gr_date": "2024-12-01", + "earliest_production_start": "2025-01-08", + "fg_receipt_date": "2025-05-16", + "qa_release_date": "2025-05-24", + "ship_date": null, + "delivery_date": "2025-06-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 40, + "seg_prodstart_to_prodfinish": 128, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 25, + "total_days": 201, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 109, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 125, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 62, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 38, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 49, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 8, + "direct_ship_pla": 17 + } + }, + "total_from_po": 201 + }, + { + "batch": "BATCH-386297", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-03", + "earliest_gr_date": "2025-01-05", + "earliest_production_start": "2025-01-29", + "fg_receipt_date": "2025-05-19", + "qa_release_date": "2025-05-26", + "ship_date": null, + "delivery_date": "2025-06-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 29, + "total_days": 172, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 88, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 39, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 50, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 70, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 14, + "direct_ship_pla": 15 + } + }, + "total_from_po": 172 + }, + { + "batch": "BATCH-947389", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-21", + "earliest_gr_date": "2025-01-23", + "earliest_production_start": "2025-02-19", + "fg_receipt_date": "2025-05-31", + "qa_release_date": "2025-06-06", + "ship_date": null, + "delivery_date": "2025-06-29", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 101, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 23, + "total_days": 159, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 81, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 16, + "direct_ship_pla": 7 + } + }, + "total_from_po": 159 + }, + { + "batch": "BATCH-627234", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-26", + "earliest_gr_date": "2025-01-28", + "earliest_production_start": "2025-02-21", + "fg_receipt_date": "2025-05-29", + "qa_release_date": "2025-06-01", + "ship_date": null, + "delivery_date": "2025-07-05", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 34, + "total_days": 160, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 76, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 95, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 67, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 53, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 11, + "direct_ship_pla": 23 + } + }, + "total_from_po": 160 + }, + { + "batch": "BATCH-829707", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-14", + "earliest_gr_date": "2025-01-16", + "earliest_production_start": "2025-02-21", + "fg_receipt_date": "2025-06-01", + "qa_release_date": "2025-06-09", + "ship_date": null, + "delivery_date": "2025-07-10", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 38, + "seg_prodstart_to_prodfinish": 100, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 31, + "total_days": 177, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 80, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 97, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 63, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 30, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 42, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 9, + "direct_ship_pla": 22 + } + }, + "total_from_po": 177 + }, + { + "batch": "BATCH-404324", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-22", + "earliest_gr_date": "2025-02-24", + "earliest_production_start": "2025-03-24", + "fg_receipt_date": "2025-06-18", + "qa_release_date": "2025-06-27", + "ship_date": null, + "delivery_date": "2025-07-16", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 86, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 19, + "total_days": 144, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 65, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 83, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 69, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 9, + "direct_ship_pla": 10 + } + }, + "total_from_po": 144 + }, + { + "batch": "BATCH-840018", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-10", + "earliest_gr_date": "2025-02-12", + "earliest_production_start": "2025-03-15", + "fg_receipt_date": "2025-06-17", + "qa_release_date": "2025-06-21", + "ship_date": null, + "delivery_date": "2025-07-21", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 94, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 30, + "total_days": 161, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 90, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 64, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 77, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 16, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 69, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 85, + "production_days": 16, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 12, + "direct_ship_pla": 18 + } + }, + "total_from_po": 161 + }, + { + "batch": "BATCH-243511", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-11", + "earliest_gr_date": "2025-01-13", + "earliest_production_start": "2025-02-13", + "fg_receipt_date": "2025-06-13", + "qa_release_date": "2025-06-22", + "ship_date": null, + "delivery_date": "2025-07-27", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 120, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 35, + "total_days": 197, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 100, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 116, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 40, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 53, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 69, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 11, + "direct_ship_pla": 24 + } + }, + "total_from_po": 197 + }, + { + "batch": "BATCH-394495", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-07", + "earliest_gr_date": "2025-02-09", + "earliest_production_start": "2025-03-14", + "fg_receipt_date": "2025-06-24", + "qa_release_date": "2025-07-02", + "ship_date": null, + "delivery_date": "2025-08-01", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 102, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 30, + "total_days": 175, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 12, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 99, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 69, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 9, + "direct_ship_pla": 21 + } + }, + "total_from_po": 175 + }, + { + "batch": "BATCH-043032", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-15", + "earliest_gr_date": "2025-02-17", + "earliest_production_start": "2025-03-11", + "fg_receipt_date": "2025-06-29", + "qa_release_date": "2025-07-05", + "ship_date": null, + "delivery_date": "2025-08-07", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 24, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 33, + "total_days": 173, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 8, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 97, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 8, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 19, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 63, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 82, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 30, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 41, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 10, + "direct_ship_pla": 23 + } + }, + "total_from_po": 173 + }, + { + "batch": "BATCH-582158", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-26", + "earliest_gr_date": "2025-02-28", + "earliest_production_start": "2025-03-23", + "fg_receipt_date": "2025-06-28", + "qa_release_date": "2025-07-05", + "ship_date": null, + "delivery_date": "2025-08-12", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 38, + "total_days": 167, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 76, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 95, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 70, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 53, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 15, + "direct_ship_pla": 23 + } + }, + "total_from_po": 167 + }, + { + "batch": "BATCH-302264", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-03-30", + "earliest_gr_date": "2025-04-01", + "earliest_production_start": "2025-04-24", + "fg_receipt_date": "2025-07-16", + "qa_release_date": "2025-07-24", + "ship_date": null, + "delivery_date": "2025-08-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 83, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 24, + "total_days": 140, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 59, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 77, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 9, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 59, + "production_days": 9, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 63, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 6, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 16, + "direct_ship_pla": 8 + } + }, + "total_from_po": 140 + }, + { + "batch": "BATCH-240076", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-03-25", + "earliest_gr_date": "2025-03-27", + "earliest_production_start": "2025-04-09", + "fg_receipt_date": "2025-07-14", + "qa_release_date": "2025-07-21", + "ship_date": null, + "delivery_date": "2025-08-23", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 15, + "seg_prodstart_to_prodfinish": 96, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 33, + "total_days": 151, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 76, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 94, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 11, + "direct_ship_pla": 22 + } + }, + "total_from_po": 151 + }, + { + "batch": "BATCH-804779", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-20", + "earliest_gr_date": "2025-02-22", + "earliest_production_start": "2025-03-22", + "fg_receipt_date": "2025-07-05", + "qa_release_date": "2025-07-12", + "ship_date": null, + "delivery_date": "2025-08-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 105, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 47, + "total_days": 189, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 84, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 100, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 9, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 69, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 78, + "production_days": 9, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 12, + "direct_ship_pla": 35 + } + }, + "total_from_po": 189 + }, + { + "batch": "BATCH-731192", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-03-15", + "earliest_gr_date": "2025-03-17", + "earliest_production_start": "2025-04-23", + "fg_receipt_date": "2025-07-22", + "qa_release_date": "2025-07-27", + "ship_date": null, + "delivery_date": "2025-09-03", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 39, + "seg_prodstart_to_prodfinish": 90, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 38, + "total_days": 172, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 73, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 88, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 65, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 11, + "direct_ship_pla": 27 + } + }, + "total_from_po": 172 + }, + { + "batch": "BATCH-482639", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-21", + "earliest_gr_date": "2025-02-23", + "earliest_production_start": "2025-03-30", + "fg_receipt_date": "2025-07-17", + "qa_release_date": "2025-07-24", + "ship_date": null, + "delivery_date": "2025-09-08", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 37, + "seg_prodstart_to_prodfinish": 109, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 46, + "total_days": 199, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 59, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 19, + "direct_ship_pla": 27 + } + }, + "total_from_po": 199 + }, + { + "batch": "BATCH-062870", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-01", + "earliest_gr_date": "2025-04-03", + "earliest_production_start": "2025-05-04", + "fg_receipt_date": "2025-08-01", + "qa_release_date": "2025-08-07", + "ship_date": null, + "delivery_date": "2025-09-14", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 89, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 38, + "total_days": 166, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 67, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 87, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 63, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 26 + } + }, + "total_from_po": 166 + }, + { + "batch": "BATCH-231165", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-05", + "earliest_gr_date": "2025-05-07", + "earliest_production_start": "2025-06-09", + "fg_receipt_date": "2025-08-16", + "qa_release_date": "2025-08-22", + "ship_date": null, + "delivery_date": "2025-09-19", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 68, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 28, + "total_days": 137, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 43, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 63, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 62, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 64, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 14, + "direct_ship_pla": 14 + } + }, + "total_from_po": 137 + }, + { + "batch": "BATCH-213839", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-14", + "earliest_gr_date": "2025-04-16", + "earliest_production_start": "2025-05-04", + "fg_receipt_date": "2025-08-23", + "qa_release_date": "2025-08-27", + "ship_date": null, + "delivery_date": "2025-09-25", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 20, + "seg_prodstart_to_prodfinish": 111, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 29, + "total_days": 164, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 107, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 37, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 47, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 32, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 45, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 11, + "direct_ship_pla": 18 + } + }, + "total_from_po": 164 + }, + { + "batch": "BATCH-750018", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-11", + "earliest_gr_date": "2025-05-13", + "earliest_production_start": "2025-06-05", + "fg_receipt_date": "2025-08-31", + "qa_release_date": "2025-09-06", + "ship_date": null, + "delivery_date": "2025-09-30", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 87, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 24, + "total_days": 142, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 85, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 6, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 66, + "production_days": 6, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 7, + "direct_ship_pla": 17 + } + }, + "total_from_po": 142 + }, + { + "batch": "BATCH-880539", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-20", + "earliest_gr_date": "2025-04-22", + "earliest_production_start": "2025-05-26", + "fg_receipt_date": "2025-08-19", + "qa_release_date": "2025-08-26", + "ship_date": null, + "delivery_date": "2025-10-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 36, + "seg_prodstart_to_prodfinish": 85, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 41, + "total_days": 169, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 14, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 68, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 82, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 63, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 8, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 36, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 44, + "production_days": 8, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 13, + "direct_ship_pla": 28 + } + }, + "total_from_po": 169 + }, + { + "batch": "BATCH-155177", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-02", + "earliest_gr_date": "2025-05-04", + "earliest_production_start": "2025-06-18", + "fg_receipt_date": "2025-09-10", + "qa_release_date": "2025-09-16", + "ship_date": null, + "delivery_date": "2025-10-11", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 47, + "seg_prodstart_to_prodfinish": 84, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 25, + "total_days": 162, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 13, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 66, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 79, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 72, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 10, + "direct_ship_pla": 15 + } + }, + "total_from_po": 162 + }, + { + "batch": "BATCH-993261", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-29", + "earliest_gr_date": "2025-05-01", + "earliest_production_start": "2025-05-24", + "fg_receipt_date": "2025-08-30", + "qa_release_date": "2025-09-04", + "ship_date": null, + "delivery_date": "2025-10-16", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 98, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 42, + "total_days": 170, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 79, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 95, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 72, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 65, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 77, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 11, + "direct_ship_pla": 31 + } + }, + "total_from_po": 170 + }, + { + "batch": "BATCH-753433", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-27", + "earliest_gr_date": "2025-05-29", + "earliest_production_start": "2025-06-13", + "fg_receipt_date": "2025-09-23", + "qa_release_date": "2025-09-29", + "ship_date": null, + "delivery_date": "2025-10-22", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 17, + "seg_prodstart_to_prodfinish": 102, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 23, + "total_days": 148, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 11, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 41, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 50, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 8, + "direct_ship_pla": 15 + } + }, + "total_from_po": 148 + }, + { + "batch": "BATCH-476897", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-21", + "earliest_gr_date": "2025-04-23", + "earliest_production_start": "2025-05-24", + "fg_receipt_date": "2025-09-14", + "qa_release_date": "2025-09-20", + "ship_date": null, + "delivery_date": "2025-10-27", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 37, + "total_days": 189, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 93, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 109, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 74, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 25 + } + }, + "total_from_po": 189 + }, + { + "batch": "BATCH-521582", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-03-25", + "earliest_gr_date": "2025-03-27", + "earliest_production_start": "2025-04-09", + "fg_receipt_date": "2025-07-18", + "qa_release_date": "2025-07-27", + "ship_date": null, + "delivery_date": "2025-11-02", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 15, + "seg_prodstart_to_prodfinish": 100, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 98, + "total_days": 222, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 79, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 97, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 70, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 80, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 59, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 14, + "transit_pla_hub1": 43, + "dest_dwell_hub1": 41 + } + }, + "total_from_po": 222 + }, + { + "batch": "BATCH-281803", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-14", + "earliest_gr_date": "2025-04-16", + "earliest_production_start": "2025-05-07", + "fg_receipt_date": "2025-07-28", + "qa_release_date": "2025-08-01", + "ship_date": null, + "delivery_date": "2025-11-07", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 23, + "seg_prodstart_to_prodfinish": 82, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 98, + "total_days": 207, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 64, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 79, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 32, + "dest_dwell_hub1": 56 + } + }, + "total_from_po": 207 + }, + { + "batch": "BATCH-276962", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-05", + "earliest_gr_date": "2025-04-07", + "earliest_production_start": "2025-05-05", + "fg_receipt_date": "2025-08-17", + "qa_release_date": "2025-08-26", + "ship_date": null, + "delivery_date": "2025-11-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 104, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 79, + "total_days": 222, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 80, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 101, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 9, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 9, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 16, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 69, + "production_days": 16, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 12, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 38 + } + }, + "total_from_po": 222 + }, + { + "batch": "BATCH-217426", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-15", + "earliest_gr_date": "2025-04-17", + "earliest_production_start": "2025-05-16", + "fg_receipt_date": "2025-08-24", + "qa_release_date": "2025-09-03", + "ship_date": null, + "delivery_date": "2025-11-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 31, + "seg_prodstart_to_prodfinish": 100, + "seg_prodfinish_to_qa": 10, + "seg_qa_to_customer": 76, + "total_days": 217, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 25, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 72, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 97, + "production_days": 25, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 15, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 15, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 10, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 18, + "dest_dwell_hub1": 45 + } + }, + "total_from_po": 217 + }, + { + "batch": "BATCH-679445", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-01", + "earliest_gr_date": "2025-05-03", + "earliest_production_start": "2025-06-03", + "fg_receipt_date": "2025-08-19", + "qa_release_date": "2025-08-27", + "ship_date": null, + "delivery_date": "2025-11-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 77, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 89, + "total_days": 207, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 13, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 62, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 75, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 40, + "dest_dwell_hub1": 36 + } + }, + "total_from_po": 207 + }, + { + "batch": "BATCH-584703", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-19", + "earliest_gr_date": "2025-04-21", + "earliest_production_start": "2025-05-16", + "fg_receipt_date": "2025-09-06", + "qa_release_date": "2025-09-13", + "ship_date": null, + "delivery_date": "2025-11-29", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 27, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 77, + "total_days": 224, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 92, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 60, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 57, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 19, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 29 + } + }, + "total_from_po": 224 + }, + { + "batch": "BATCH-320907", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-03", + "earliest_gr_date": "2025-05-05", + "earliest_production_start": "2025-06-01", + "fg_receipt_date": "2025-08-12", + "qa_release_date": "2025-08-21", + "ship_date": null, + "delivery_date": "2025-12-05", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 72, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 106, + "total_days": 216, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 54, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 69, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 9, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 65, + "production_days": 9, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 17, + "transit_pla_hub1": 42, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 216 + }, + { + "batch": "BATCH-469894", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-09", + "earliest_gr_date": "2025-04-11", + "earliest_production_start": "2025-05-12", + "fg_receipt_date": "2025-08-29", + "qa_release_date": "2025-09-05", + "ship_date": null, + "delivery_date": "2025-12-10", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 109, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 96, + "total_days": 245, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 89, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 45, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 56, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 38, + "dest_dwell_hub1": 48 + } + }, + "total_from_po": 245 + }, + { + "batch": "BATCH-119167", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-10", + "earliest_gr_date": "2025-05-12", + "earliest_production_start": "2025-05-30", + "fg_receipt_date": "2025-09-19", + "qa_release_date": "2025-09-26", + "ship_date": null, + "delivery_date": "2025-12-15", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 20, + "seg_prodstart_to_prodfinish": 112, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 80, + "total_days": 219, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 13, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 95, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 74, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 44 + } + }, + "total_from_po": 219 + }, + { + "batch": "BATCH-850977", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-17", + "earliest_gr_date": "2025-05-19", + "earliest_production_start": "2025-06-14", + "fg_receipt_date": "2025-09-25", + "qa_release_date": "2025-10-01", + "ship_date": null, + "delivery_date": "2025-12-21", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 103, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 81, + "total_days": 218, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 82, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 99, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 32, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 42, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 59, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 39 + } + }, + "total_from_po": 218 + }, + { + "batch": "BATCH-315004", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-21", + "earliest_gr_date": "2025-06-23", + "earliest_production_start": "2025-07-27", + "fg_receipt_date": "2025-10-06", + "qa_release_date": "2025-10-14", + "ship_date": null, + "delivery_date": "2025-12-26", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 36, + "seg_prodstart_to_prodfinish": 71, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 73, + "total_days": 188, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 14, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 49, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 63, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 67, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 40, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 22, + "dest_dwell_hub1": 38 + } + }, + "total_from_po": 188 + }, + { + "batch": "BATCH-753733", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-04", + "earliest_gr_date": "2025-06-06", + "earliest_production_start": "2025-07-04", + "fg_receipt_date": "2025-09-25", + "qa_release_date": "2025-09-28", + "ship_date": null, + "delivery_date": "2026-01-01", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 83, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 95, + "total_days": 211, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 64, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 80, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 67, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 81, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 15, + "transit_pla_hub1": 28, + "dest_dwell_hub1": 52 + } + }, + "total_from_po": 211 + }, + { + "batch": "BATCH-006984", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-29", + "earliest_gr_date": "2025-05-31", + "earliest_production_start": "2025-06-15", + "fg_receipt_date": "2025-09-20", + "qa_release_date": "2025-09-27", + "ship_date": null, + "delivery_date": "2026-01-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 17, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 101, + "total_days": 222, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 25, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 94, + "production_days": 25, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 31, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 45, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 62, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 75, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 42, + "dest_dwell_hub1": 49 + } + }, + "total_from_po": 222 + }, + { + "batch": "BATCH-962763", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-04", + "earliest_gr_date": "2025-06-06", + "earliest_production_start": "2025-07-06", + "fg_receipt_date": "2025-10-26", + "qa_release_date": "2025-11-02", + "ship_date": null, + "delivery_date": "2026-01-12", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 32, + "seg_prodstart_to_prodfinish": 112, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 71, + "total_days": 222, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 92, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 69, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 15, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 15, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 35 + } + }, + "total_from_po": 222 + }, + { + "batch": "BATCH-885445", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-04", + "earliest_gr_date": "2025-06-06", + "earliest_production_start": "2025-06-29", + "fg_receipt_date": "2025-10-03", + "qa_release_date": "2025-10-04", + "ship_date": null, + "delivery_date": "2026-01-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 96, + "seg_prodfinish_to_qa": 1, + "seg_qa_to_customer": 105, + "total_days": 227, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 78, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 71, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 1, + "post_qa_ship_pla": 17, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 63 + } + }, + "total_from_po": 227 + }, + { + "batch": "BATCH-622159", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-31", + "earliest_gr_date": "2025-06-02", + "earliest_production_start": "2025-06-26", + "fg_receipt_date": "2025-10-17", + "qa_release_date": "2025-10-23", + "ship_date": null, + "delivery_date": "2026-01-23", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 92, + "total_days": 237, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 91, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 111, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 62, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 78, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 70, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 17, + "transit_pla_hub1": 28, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 237 + }, + { + "batch": "BATCH-990714", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-03", + "earliest_gr_date": "2025-06-05", + "earliest_production_start": "2025-07-02", + "fg_receipt_date": "2025-10-14", + "qa_release_date": "2025-10-18", + "ship_date": null, + "delivery_date": "2026-01-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 104, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 102, + "total_days": 239, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 84, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 100, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 55, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 15, + "transit_pla_hub1": 39, + "dest_dwell_hub1": 48 + } + }, + "total_from_po": 239 + }, + { + "batch": "BATCH-479016", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-14", + "earliest_gr_date": "2025-06-16", + "earliest_production_start": "2025-07-18", + "fg_receipt_date": "2025-11-13", + "qa_release_date": "2025-11-19", + "ship_date": null, + "delivery_date": "2026-02-03", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 34, + "seg_prodstart_to_prodfinish": 118, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 76, + "total_days": 234, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 96, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 114, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 64, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "transit_pla_hub1": 30, + "dest_dwell_hub1": 34 + } + }, + "total_from_po": 234 + }, + { + "batch": "BATCH-080863", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-26", + "earliest_gr_date": "2025-06-28", + "earliest_production_start": "2025-07-18", + "fg_receipt_date": "2025-11-08", + "qa_release_date": "2025-11-12", + "ship_date": null, + "delivery_date": "2026-02-08", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 22, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 88, + "total_days": 227, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 86, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 107, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 66, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 80, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 8, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 51, + "production_days": 8, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 6, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 28, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 227 + }, + { + "batch": "BATCH-910231", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-07-05", + "earliest_gr_date": "2025-07-07", + "earliest_production_start": "2025-08-11", + "fg_receipt_date": "2025-11-08", + "qa_release_date": "2025-11-16", + "ship_date": null, + "delivery_date": "2026-02-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 37, + "seg_prodstart_to_prodfinish": 89, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 89, + "total_days": 223, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 84, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 75, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 86, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 66, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 80, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 223 + }, + { + "batch": "BATCH-997425", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-07", + "earliest_gr_date": "2025-08-09", + "earliest_production_start": "2025-09-06", + "fg_receipt_date": "2025-12-04", + "qa_release_date": "2025-12-12", + "ship_date": null, + "delivery_date": "2026-02-19", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 89, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 69, + "total_days": 196, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 70, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 86, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 70, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 24, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 37, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 8, + "transit_pla_hub1": 31, + "dest_dwell_hub1": 30 + } + }, + "total_from_po": 196 + }, + { + "batch": "BATCH-618940", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-19", + "earliest_gr_date": "2025-06-21", + "earliest_production_start": "2025-07-27", + "fg_receipt_date": "2025-11-29", + "qa_release_date": "2025-12-02", + "ship_date": null, + "delivery_date": "2026-02-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 38, + "seg_prodstart_to_prodfinish": 125, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 84, + "total_days": 250, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 104, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 121, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 34, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 43, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 32, + "dest_dwell_hub1": 42 + } + }, + "total_from_po": 250 + }, + { + "batch": "BATCH-029240", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-07-14", + "earliest_gr_date": "2025-07-16", + "earliest_production_start": "2025-08-02", + "fg_receipt_date": "2025-11-19", + "qa_release_date": "2025-11-25", + "ship_date": null, + "delivery_date": "2026-03-02", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 19, + "seg_prodstart_to_prodfinish": 109, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 97, + "total_days": 231, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 83, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 104, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 77, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 88, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 15, + "transit_pla_hub1": 44, + "dest_dwell_hub1": 38 + } + }, + "total_from_po": 231 + }, + { + "batch": "BATCH-013796", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-17", + "earliest_gr_date": "2025-08-19", + "earliest_production_start": "2025-09-24", + "fg_receipt_date": "2026-01-04", + "qa_release_date": "2026-01-13", + "ship_date": null, + "delivery_date": "2026-03-07", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 38, + "seg_prodstart_to_prodfinish": 102, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 53, + "total_days": 202, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 78, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 27, + "dest_dwell_hub1": 15 + } + }, + "total_from_po": 202 + }, + { + "batch": "BATCH-563928", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-17", + "earliest_gr_date": "2025-08-19", + "earliest_production_start": "2025-09-16", + "fg_receipt_date": "2025-12-08", + "qa_release_date": "2025-12-11", + "ship_date": null, + "delivery_date": "2026-03-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 83, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 92, + "total_days": 208, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 66, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 81, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 38, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 51, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 28, + "dest_dwell_hub1": 54 + } + }, + "total_from_po": 208 + }, + { + "batch": "BATCH-263609", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-15", + "earliest_gr_date": "2025-08-17", + "earliest_production_start": "2025-09-12", + "fg_receipt_date": "2026-01-03", + "qa_release_date": "2026-01-10", + "ship_date": null, + "delivery_date": "2026-03-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 67, + "total_days": 215, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 26, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 83, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 109, + "production_days": 26, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 20, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 74, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 57, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 15, + "dest_dwell_hub1": 42 + } + }, + "total_from_po": 215 + }, + { + "batch": "BATCH-786903", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-30", + "earliest_gr_date": "2025-09-01", + "earliest_production_start": "2025-09-23", + "fg_receipt_date": "2026-01-22", + "qa_release_date": "2026-01-28", + "ship_date": null, + "delivery_date": "2026-03-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 24, + "seg_prodstart_to_prodfinish": 121, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 55, + "total_days": 206, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 103, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 118, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 17, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 73, + "production_days": 17, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 9, + "transit_pla_hub1": 17, + "dest_dwell_hub1": 29 + } + }, + "total_from_po": 206 + }, + { + "batch": "BATCH-676932", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-15", + "earliest_gr_date": "2025-08-17", + "earliest_production_start": "2025-09-13", + "fg_receipt_date": "2025-12-19", + "qa_release_date": "2025-12-25", + "ship_date": null, + "delivery_date": "2026-03-29", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 94, + "total_days": 226, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 73, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 35, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 51, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 59, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 9, + "transit_pla_hub1": 38, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 226 + }, + { + "batch": "BATCH-341567", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-10", + "earliest_gr_date": "2025-08-12", + "earliest_production_start": "2025-09-05", + "fg_receipt_date": "2025-12-27", + "qa_release_date": "2026-01-01", + "ship_date": null, + "delivery_date": "2026-04-04", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 93, + "total_days": 237, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 88, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 109, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 62, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 53, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 14, + "transit_pla_hub1": 23, + "dest_dwell_hub1": 56 + } + }, + "total_from_po": 237 + }, + { + "batch": "BATCH-162748", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-25", + "earliest_gr_date": "2025-08-27", + "earliest_production_start": "2025-09-24", + "fg_receipt_date": "2026-01-03", + "qa_release_date": "2026-01-09", + "ship_date": null, + "delivery_date": "2026-04-09", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 101, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 90, + "total_days": 227, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 80, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 33, + "dest_dwell_hub1": 46 + } + }, + "total_from_po": 227 + }, + { + "batch": "BATCH-322485", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-08", + "earliest_gr_date": "2025-10-10", + "earliest_production_start": "2025-10-27", + "fg_receipt_date": "2026-02-01", + "qa_release_date": "2026-02-10", + "ship_date": null, + "delivery_date": "2026-04-14", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 19, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 63, + "total_days": 188, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 76, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 38, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 48, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 36, + "dest_dwell_hub1": 16 + } + }, + "total_from_po": 188 + }, + { + "batch": "BATCH-780123", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-02", + "earliest_gr_date": "2025-09-04", + "earliest_production_start": "2025-10-02", + "fg_receipt_date": "2026-01-31", + "qa_release_date": "2026-02-08", + "ship_date": null, + "delivery_date": "2026-04-20", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 121, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 71, + "total_days": 230, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 101, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 118, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 67, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 71, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 6, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 40 + } + }, + "total_from_po": 230 + }, + { + "batch": "BATCH-219665", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-06", + "earliest_gr_date": "2025-10-08", + "earliest_production_start": "2025-10-22", + "fg_receipt_date": "2026-02-09", + "qa_release_date": "2026-02-15", + "ship_date": null, + "delivery_date": "2026-04-25", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 16, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 69, + "total_days": 201, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 88, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 37, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 52, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 4, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 40 + } + }, + "total_from_po": 201 + }, + { + "batch": "BATCH-254225", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-08", + "earliest_gr_date": "2025-09-10", + "earliest_production_start": "2025-09-30", + "fg_receipt_date": "2026-01-28", + "qa_release_date": "2026-02-03", + "ship_date": null, + "delivery_date": "2026-05-01", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 22, + "seg_prodstart_to_prodfinish": 120, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 87, + "total_days": 235, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 97, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 115, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 73, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 45 + } + }, + "total_from_po": 235 + }, + { + "batch": "BATCH-311884", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-12", + "earliest_gr_date": "2025-09-14", + "earliest_production_start": "2025-10-10", + "fg_receipt_date": "2026-01-29", + "qa_release_date": "2026-02-04", + "ship_date": null, + "delivery_date": "2026-05-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 111, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 91, + "total_days": 236, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 86, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 107, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 73, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 66, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 6, + "transit_pla_hub1": 40, + "dest_dwell_hub1": 45 + } + }, + "total_from_po": 236 + }, + { + "batch": "BATCH-534136", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-26", + "earliest_gr_date": "2025-09-28", + "earliest_production_start": "2025-11-08", + "fg_receipt_date": "2026-02-10", + "qa_release_date": "2026-02-15", + "ship_date": null, + "delivery_date": "2026-05-12", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 43, + "seg_prodstart_to_prodfinish": 94, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 86, + "total_days": 228, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 74, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 90, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 31, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 40, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 12, + "transit_pla_hub1": 30, + "dest_dwell_hub1": 44 + } + }, + "total_from_po": 228 + }, + { + "batch": "BATCH-718060", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-29", + "earliest_gr_date": "2025-10-01", + "earliest_production_start": "2025-11-09", + "fg_receipt_date": "2026-02-24", + "qa_release_date": "2026-02-28", + "ship_date": null, + "delivery_date": "2026-05-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 41, + "seg_prodstart_to_prodfinish": 107, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 78, + "total_days": 230, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 88, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 103, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 19, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 67, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 41, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 53, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 14, + "dest_dwell_hub1": 54 + } + }, + "total_from_po": 230 + }, + { + "batch": "BATCH-802602", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-12", + "earliest_gr_date": "2025-10-14", + "earliest_production_start": "2025-11-04", + "fg_receipt_date": "2026-02-09", + "qa_release_date": "2026-02-15", + "ship_date": null, + "delivery_date": "2026-05-23", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 23, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 97, + "total_days": 223, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 74, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 59, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 34, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 48, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 7, + "transit_pla_hub1": 39, + "dest_dwell_hub1": 51 + } + }, + "total_from_po": 223 + }, + { + "batch": "BATCH-136204", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-05", + "earliest_gr_date": "2025-10-07", + "earliest_production_start": "2025-11-05", + "fg_receipt_date": "2026-02-25", + "qa_release_date": "2026-03-03", + "ship_date": null, + "delivery_date": "2026-05-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 31, + "seg_prodstart_to_prodfinish": 112, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 86, + "total_days": 235, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 91, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 58, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 14, + "transit_pla_hub1": 53, + "dest_dwell_hub1": 19 + } + }, + "total_from_po": 235 + }, + { + "batch": "BATCH-949254", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-14", + "earliest_gr_date": "2025-10-16", + "earliest_production_start": "2025-11-18", + "fg_receipt_date": "2026-02-19", + "qa_release_date": "2026-02-24", + "ship_date": null, + "delivery_date": "2026-06-03", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 93, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 99, + "total_days": 232, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 67, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 88, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 74, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 89, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 31, + "dest_dwell_hub1": 55 + } + }, + "total_from_po": 232 + } + ], + "segments": { + "seg_proc_to_prodstart": { + "label": "Procurement \u2192 Production Start", + "mean": 29.3, + "median": 30, + "p25": 25, + "p75": 34, + "n": 100 + }, + "seg_prodstart_to_prodfinish": { + "label": "Production Start \u2192 Production Finish", + "mean": 100.7, + "median": 102, + "p25": 90, + "p75": 112, + "n": 100 + }, + "seg_prodfinish_to_qa": { + "label": "Production Finish \u2192 QA Release", + "mean": 6.5, + "median": 7, + "p25": 6, + "p75": 8, + "n": 100 + }, + "seg_qa_to_customer": { + "label": "QA Release \u2192 Customer", + "mean": 53.8, + "median": 40, + "p25": 31, + "p75": 81, + "n": 100 + }, + "total_days": { + "label": "Total (GR to Delivery)", + "mean": 190.3, + "median": 188, + "p25": 167, + "p75": 222, + "n": 100 + } + }, + "per_route": { + "direct": { + "label": "Direct to customer", + "segments": { + "seg_proc_to_prodstart": { + "label": "Procurement \u2192 Production Start", + "mean": 29.9, + "median": 30, + "p25": 26, + "p75": 35, + "n": 60 + }, + "seg_prodstart_to_prodfinish": { + "label": "Production Start \u2192 Production Finish", + "mean": 99.8, + "median": 101, + "p25": 90, + "p75": 110, + "n": 60 + }, + "seg_prodfinish_to_qa": { + "label": "Production Finish \u2192 QA Release", + "mean": 6.6, + "median": 7, + "p25": 6, + "p75": 8, + "n": 60 + }, + "seg_qa_to_customer": { + "label": "QA Release \u2192 Customer", + "mean": 33.2, + "median": 33, + "p25": 29, + "p75": 38, + "n": 60 + }, + "total_days": { + "label": "Total (GR to Delivery)", + "mean": 169.5, + "median": 170, + "p25": 159, + "p75": 182, + "n": 60 + } + } + }, + "hub-1": { + "label": "HUB-1", + "segments": { + "seg_proc_to_prodstart": { + "label": "Procurement \u2192 Production Start", + "mean": 28.4, + "median": 29, + "p25": 24, + "p75": 33, + "n": 40 + }, + "seg_prodstart_to_prodfinish": { + "label": "Production Start \u2192 Production Finish", + "mean": 102.1, + "median": 104, + "p25": 96, + "p75": 113, + "n": 40 + }, + "seg_prodfinish_to_qa": { + "label": "Production Finish \u2192 QA Release", + "mean": 6.2, + "median": 6, + "p25": 5, + "p75": 8, + "n": 40 + }, + "seg_qa_to_customer": { + "label": "QA Release \u2192 Customer", + "mean": 84.8, + "median": 88, + "p25": 76, + "p75": 96, + "n": 40 + }, + "total_days": { + "label": "Total (GR to Delivery)", + "mean": 221.6, + "median": 223, + "p25": 215, + "p75": 232, + "n": 40 + } + } + } + }, + "coverage": { + "traced": 100, + "total": 100 + } + }, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/dest_dwell_hub1.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/dest_dwell_hub1.json new file mode 100644 index 00000000000..a1fae5b0c63 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/dest_dwell_hub1.json @@ -0,0 +1,815 @@ +{ + "id": "dest_dwell_hub1", + "label": "Destination Dwell (HUB-1)", + "type": "destination_dwell", + "durations": [ + 34.4, 53.3, 23, 77.9, 28.7, 8.2, 64, 45.1, 34.4, 26.2, 32, 34.4, 37.7, 40.2, + 43.5, 46.7, 39.4, 42.6, 27.9, 39.4, 24.6, 27.9, 29.5, 33.6, 35.3, 29.5, 32, + 34.4, 37.7, 40.2, 43.5, 36.9, 39.4, 42.6, 36.1, 39.4, 24.6 + ], + "observations": [ + { + "date": "2022-09-15", + "value": 34.4 + }, + { + "date": "2023-05-05", + "value": 53.3 + }, + { + "date": "2023-05-20", + "value": 23 + }, + { + "date": "2024-01-10", + "value": 77.9 + }, + { + "date": "2024-01-25", + "value": 28.7 + }, + { + "date": "2024-08-15", + "value": 8.2 + }, + { + "date": "2025-02-05", + "value": 64 + }, + { + "date": "2025-02-18", + "value": 45.1 + }, + { + "date": "2025-08-10", + "value": 34.4 + }, + { + "date": "2025-08-20", + "value": 26.2 + }, + { + "date": "2025-09-06", + "value": 32 + }, + { + "date": "2025-09-12", + "value": 34.4 + }, + { + "date": "2025-09-18", + "value": 37.7 + }, + { + "date": "2025-10-04", + "value": 40.2 + }, + { + "date": "2025-10-10", + "value": 43.5 + }, + { + "date": "2025-10-16", + "value": 46.7 + }, + { + "date": "2025-11-05", + "value": 39.4 + }, + { + "date": "2025-11-11", + "value": 42.6 + }, + { + "date": "2025-11-17", + "value": 27.9 + }, + { + "date": "2025-12-06", + "value": 39.4 + }, + { + "date": "2025-12-12", + "value": 24.6 + }, + { + "date": "2025-12-18", + "value": 27.9 + }, + { + "date": "2026-01-04", + "value": 29.5 + }, + { + "date": "2026-01-10", + "value": 33.6 + }, + { + "date": "2026-01-16", + "value": 35.3 + }, + { + "date": "2026-02-05", + "value": 29.5 + }, + { + "date": "2026-02-11", + "value": 32 + }, + { + "date": "2026-02-17", + "value": 34.4 + }, + { + "date": "2026-03-06", + "value": 37.7 + }, + { + "date": "2026-03-12", + "value": 40.2 + }, + { + "date": "2026-03-18", + "value": 43.5 + }, + { + "date": "2026-04-04", + "value": 36.9 + }, + { + "date": "2026-04-10", + "value": 39.4 + }, + { + "date": "2026-04-16", + "value": 42.6 + }, + { + "date": "2026-05-05", + "value": 36.1 + }, + { + "date": "2026-05-11", + "value": 39.4 + }, + { + "date": "2026-05-17", + "value": 24.6 + } + ], + "monthly": [ + { + "month": "2022-09", + "mean": 34.4, + "median": 34.4, + "p10": 34.4, + "p25": 34.4, + "p75": 34.4, + "p90": 34.4, + "n": 1, + "total_kg_days": 201600 + }, + { + "month": "2023-05", + "mean": 38.1, + "median": 38.1, + "p10": 26, + "p25": 30.6, + "p75": 45.8, + "p90": 50.3, + "n": 2, + "total_kg_days": 446400 + }, + { + "month": "2024-01", + "mean": 53.3, + "median": 53.3, + "p10": 33.6, + "p25": 41, + "p75": 65.6, + "p90": 73, + "n": 2, + "total_kg_days": 624000 + }, + { + "month": "2024-08", + "mean": 8.2, + "median": 8.2, + "p10": 8.2, + "p25": 8.2, + "p75": 8.2, + "p90": 8.2, + "n": 1, + "total_kg_days": 48000 + }, + { + "month": "2025-02", + "mean": 54.5, + "median": 54.5, + "p10": 47, + "p25": 49.9, + "p75": 59.3, + "p90": 62.1, + "n": 2, + "total_kg_days": 638400 + }, + { + "month": "2025-08", + "mean": 30.3, + "median": 30.3, + "p10": 27.1, + "p25": 28.3, + "p75": 32.4, + "p90": 33.6, + "n": 2, + "total_kg_days": 355200 + }, + { + "month": "2025-09", + "mean": 34.7, + "median": 34.4, + "p10": 32.5, + "p25": 33.2, + "p75": 36.1, + "p90": 37.1, + "n": 3, + "total_kg_days": 609600 + }, + { + "month": "2025-10", + "mean": 43.5, + "median": 43.5, + "p10": 40.8, + "p25": 41.8, + "p75": 45.1, + "p90": 46.1, + "n": 3, + "total_kg_days": 763200 + }, + { + "month": "2025-11", + "mean": 36.7, + "median": 39.4, + "p10": 30.2, + "p25": 33.6, + "p75": 41, + "p90": 42, + "n": 3, + "total_kg_days": 643200 + }, + { + "month": "2025-12", + "mean": 30.6, + "median": 27.9, + "p10": 25.3, + "p25": 26.2, + "p75": 33.6, + "p90": 37.1, + "n": 3, + "total_kg_days": 537600 + }, + { + "month": "2026-01", + "mean": 32.8, + "median": 33.6, + "p10": 30.3, + "p25": 31.6, + "p75": 34.4, + "p90": 34.9, + "n": 3, + "total_kg_days": 576000 + }, + { + "month": "2026-02", + "mean": 32, + "median": 32, + "p10": 30, + "p25": 30.7, + "p75": 33.2, + "p90": 33.9, + "n": 3, + "total_kg_days": 561600 + }, + { + "month": "2026-03", + "mean": 40.4, + "median": 40.2, + "p10": 38.2, + "p25": 38.9, + "p75": 41.8, + "p90": 42.8, + "n": 3, + "total_kg_days": 710400 + }, + { + "month": "2026-04", + "mean": 39.6, + "median": 39.4, + "p10": 37.4, + "p25": 38.1, + "p75": 41, + "p90": 42, + "n": 3, + "total_kg_days": 696000 + }, + { + "month": "2026-05", + "mean": 33.4, + "median": 36.1, + "p10": 26.9, + "p25": 30.3, + "p75": 37.7, + "p90": 38.7, + "n": 3, + "total_kg_days": 585600 + } + ], + "stats": { + "n": 37, + "mean": 36.9, + "median": 36.1, + "std": 14, + "min": 8.2, + "max": 77.9, + "p25": 29.5, + "p75": 40.2, + "p85": 43.5, + "p95": 53.3 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "annotations": [], + "cost": { + "unit_price": 23.37, + "currency": "CHF", + "mean_qty": 4800, + "monthly": [ + { + "month": "2022-09", + "n_events": 1, + "total_kg_days": 201600 + }, + { + "month": "2023-05", + "n_events": 2, + "total_kg_days": 446400 + }, + { + "month": "2024-01", + "n_events": 2, + "total_kg_days": 624000 + }, + { + "month": "2024-08", + "n_events": 1, + "total_kg_days": 48000 + }, + { + "month": "2025-02", + "n_events": 2, + "total_kg_days": 638400 + }, + { + "month": "2025-08", + "n_events": 2, + "total_kg_days": 355200 + }, + { + "month": "2025-09", + "n_events": 3, + "total_kg_days": 609600 + }, + { + "month": "2025-10", + "n_events": 3, + "total_kg_days": 763200 + }, + { + "month": "2025-11", + "n_events": 3, + "total_kg_days": 643200 + }, + { + "month": "2025-12", + "n_events": 3, + "total_kg_days": 537600 + }, + { + "month": "2026-01", + "n_events": 3, + "total_kg_days": 576000 + }, + { + "month": "2026-02", + "n_events": 3, + "total_kg_days": 561600 + }, + { + "month": "2026-03", + "n_events": 3, + "total_kg_days": 710400 + }, + { + "month": "2026-04", + "n_events": 3, + "total_kg_days": 696000 + }, + { + "month": "2026-05", + "n_events": 3, + "total_kg_days": 585600 + } + ] + }, + "detail_rows": { + "columns": [ + { + "key": "batch", + "source_field": "CHARG", + "source_table": "MSEG", + "label": "Batch" + }, + { + "key": "consumption_date", + "source_field": "BUDAT", + "source_table": "MKPF", + "label": "Consumption Date" + }, + { + "key": "dwell_days", + "source_field": null, + "source_table": null, + "label": "Dwell Days", + "unit": "d" + }, + { + "key": "kg_days", + "source_field": null, + "source_table": null, + "label": "Inventory kg-days", + "unit": "kg·d" + }, + { + "key": "cons_matnr", + "source_field": "MATNR", + "source_table": "MSEG", + "label": "Consuming Material" + }, + { + "key": "cons_material_name", + "source_field": "MAKTX", + "source_table": "MAKT", + "label": "Consuming Material Name" + }, + { + "key": "cons_in_current_recipe", + "source_field": null, + "source_table": null, + "label": "In Current Recipe" + } + ], + "rows": [ + { + "batch": "DEST_DWELL_HUB1-001", + "consumption_date": "2022-09-15", + "dwell_days": 34.4, + "kg_days": 201600, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-002", + "consumption_date": "2023-05-05", + "dwell_days": 53.3, + "kg_days": 223200, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-003", + "consumption_date": "2023-05-20", + "dwell_days": 23, + "kg_days": 223200, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-004", + "consumption_date": "2024-01-10", + "dwell_days": 77.9, + "kg_days": 312000, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-005", + "consumption_date": "2024-01-25", + "dwell_days": 28.7, + "kg_days": 312000, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-006", + "consumption_date": "2024-08-15", + "dwell_days": 8.2, + "kg_days": 48000, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-007", + "consumption_date": "2025-02-05", + "dwell_days": 64, + "kg_days": 319200, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-008", + "consumption_date": "2025-02-18", + "dwell_days": 45.1, + "kg_days": 319200, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-009", + "consumption_date": "2025-08-10", + "dwell_days": 34.4, + "kg_days": 177600, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-010", + "consumption_date": "2025-08-20", + "dwell_days": 26.2, + "kg_days": 177600, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-011", + "consumption_date": "2025-09-06", + "dwell_days": 32, + "kg_days": 203200, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-012", + "consumption_date": "2025-09-12", + "dwell_days": 34.4, + "kg_days": 203200, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-013", + "consumption_date": "2025-09-18", + "dwell_days": 37.7, + "kg_days": 203200, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-014", + "consumption_date": "2025-10-04", + "dwell_days": 40.2, + "kg_days": 254400, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-015", + "consumption_date": "2025-10-10", + "dwell_days": 43.5, + "kg_days": 254400, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-016", + "consumption_date": "2025-10-16", + "dwell_days": 46.7, + "kg_days": 254400, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-017", + "consumption_date": "2025-11-05", + "dwell_days": 39.4, + "kg_days": 214400, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-018", + "consumption_date": "2025-11-11", + "dwell_days": 42.6, + "kg_days": 214400, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-019", + "consumption_date": "2025-11-17", + "dwell_days": 27.9, + "kg_days": 214400, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-020", + "consumption_date": "2025-12-06", + "dwell_days": 39.4, + "kg_days": 179200, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-021", + "consumption_date": "2025-12-12", + "dwell_days": 24.6, + "kg_days": 179200, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-022", + "consumption_date": "2025-12-18", + "dwell_days": 27.9, + "kg_days": 179200, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-023", + "consumption_date": "2026-01-04", + "dwell_days": 29.5, + "kg_days": 192000, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-024", + "consumption_date": "2026-01-10", + "dwell_days": 33.6, + "kg_days": 192000, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-025", + "consumption_date": "2026-01-16", + "dwell_days": 35.3, + "kg_days": 192000, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-026", + "consumption_date": "2026-02-05", + "dwell_days": 29.5, + "kg_days": 187200, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-027", + "consumption_date": "2026-02-11", + "dwell_days": 32, + "kg_days": 187200, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-028", + "consumption_date": "2026-02-17", + "dwell_days": 34.4, + "kg_days": 187200, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-029", + "consumption_date": "2026-03-06", + "dwell_days": 37.7, + "kg_days": 236800, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-030", + "consumption_date": "2026-03-12", + "dwell_days": 40.2, + "kg_days": 236800, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-031", + "consumption_date": "2026-03-18", + "dwell_days": 43.5, + "kg_days": 236800, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-032", + "consumption_date": "2026-04-04", + "dwell_days": 36.9, + "kg_days": 232000, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-033", + "consumption_date": "2026-04-10", + "dwell_days": 39.4, + "kg_days": 232000, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-034", + "consumption_date": "2026-04-16", + "dwell_days": 42.6, + "kg_days": 232000, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-035", + "consumption_date": "2026-05-05", + "dwell_days": 36.1, + "kg_days": 195200, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-036", + "consumption_date": "2026-05-11", + "dwell_days": 39.4, + "kg_days": 195200, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-037", + "consumption_date": "2026-05-17", + "dwell_days": 24.6, + "kg_days": 195200, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + } + ] + }, + "ref_date_col": "consumption_date", + "n_batches": null, + "n_movements": 10, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0", + "value_col": "dwell_days" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/intermed_dwell_green_blend.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/intermed_dwell_green_blend.json new file mode 100644 index 00000000000..942b96fdeae --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/intermed_dwell_green_blend.json @@ -0,0 +1,1302 @@ +{ + "id": "intermed_dwell_green_blend", + "label": "Intermediate Dwell: Green Blend", + "type": "intermediate_dwell", + "durations": [ + 9.8, 20.5, 6.6, 28.7, 12.3, 4.1, 18, 14.8, 32.8, 8.2, 45.1, 1.6, 23, 12.3, + 6.6, 16.4, 36.9, 9.8, 2.5, 14.8, 24.6, 6.6, 18, 28.7, 4.1, 12.3, 34.4, 8.2, + 11.5, 13.1, 13.9, 14.8, 15.6, 11.5, 12.3, 13.1, 14.8, 9, 14.8, 15.6, 16.4, + 11.5, 12.3, 13.9, 15.6, 9.8, 11.5, 12.3, 13.9, 9, 9.8, 10.7, 11.5, 10.7, + 11.5, 13.1, 13.9, 14.8, 10.7, 11.5, 12.3, 13.1, 14.8, 13.1, 14.8, 15.6, + 16.4, 11.5, 13.1, 13.9, 15.6, 9.8, 11.5 + ], + "observations": [ + { + "date": "2022-05-05", + "value": 9.8 + }, + { + "date": "2022-05-15", + "value": 20.5 + }, + { + "date": "2022-05-22", + "value": 6.6 + }, + { + "date": "2022-11-03", + "value": 28.7 + }, + { + "date": "2022-11-10", + "value": 12.3 + }, + { + "date": "2022-11-18", + "value": 4.1 + }, + { + "date": "2022-11-25", + "value": 18 + }, + { + "date": "2023-05-08", + "value": 14.8 + }, + { + "date": "2023-05-15", + "value": 32.8 + }, + { + "date": "2023-05-22", + "value": 8.2 + }, + { + "date": "2023-11-06", + "value": 45.1 + }, + { + "date": "2023-11-13", + "value": 1.6 + }, + { + "date": "2023-11-20", + "value": 23 + }, + { + "date": "2023-11-27", + "value": 12.3 + }, + { + "date": "2023-11-30", + "value": 6.6 + }, + { + "date": "2024-05-06", + "value": 16.4 + }, + { + "date": "2024-05-13", + "value": 36.9 + }, + { + "date": "2024-05-20", + "value": 9.8 + }, + { + "date": "2024-05-27", + "value": 2.5 + }, + { + "date": "2024-11-04", + "value": 14.8 + }, + { + "date": "2024-11-11", + "value": 24.6 + }, + { + "date": "2024-11-18", + "value": 6.6 + }, + { + "date": "2025-05-05", + "value": 18 + }, + { + "date": "2025-05-09", + "value": 28.7 + }, + { + "date": "2025-05-13", + "value": 4.1 + }, + { + "date": "2025-05-17", + "value": 12.3 + }, + { + "date": "2025-05-21", + "value": 34.4 + }, + { + "date": "2025-05-25", + "value": 8.2 + }, + { + "date": "2025-09-05", + "value": 11.5 + }, + { + "date": "2025-09-11", + "value": 13.1 + }, + { + "date": "2025-09-17", + "value": 13.9 + }, + { + "date": "2025-09-23", + "value": 14.8 + }, + { + "date": "2025-09-29", + "value": 15.6 + }, + { + "date": "2025-10-06", + "value": 11.5 + }, + { + "date": "2025-10-12", + "value": 12.3 + }, + { + "date": "2025-10-18", + "value": 13.1 + }, + { + "date": "2025-10-24", + "value": 14.8 + }, + { + "date": "2025-10-30", + "value": 9 + }, + { + "date": "2025-11-04", + "value": 14.8 + }, + { + "date": "2025-11-10", + "value": 15.6 + }, + { + "date": "2025-11-16", + "value": 16.4 + }, + { + "date": "2025-11-22", + "value": 11.5 + }, + { + "date": "2025-11-28", + "value": 12.3 + }, + { + "date": "2025-12-05", + "value": 13.9 + }, + { + "date": "2025-12-11", + "value": 15.6 + }, + { + "date": "2025-12-17", + "value": 9.8 + }, + { + "date": "2025-12-23", + "value": 11.5 + }, + { + "date": "2025-12-29", + "value": 12.3 + }, + { + "date": "2026-01-06", + "value": 13.9 + }, + { + "date": "2026-01-12", + "value": 9 + }, + { + "date": "2026-01-18", + "value": 9.8 + }, + { + "date": "2026-01-24", + "value": 10.7 + }, + { + "date": "2026-01-30", + "value": 11.5 + }, + { + "date": "2026-02-04", + "value": 10.7 + }, + { + "date": "2026-02-10", + "value": 11.5 + }, + { + "date": "2026-02-16", + "value": 13.1 + }, + { + "date": "2026-02-22", + "value": 13.9 + }, + { + "date": "2026-02-28", + "value": 14.8 + }, + { + "date": "2026-03-05", + "value": 10.7 + }, + { + "date": "2026-03-11", + "value": 11.5 + }, + { + "date": "2026-03-17", + "value": 12.3 + }, + { + "date": "2026-03-23", + "value": 13.1 + }, + { + "date": "2026-03-29", + "value": 14.8 + }, + { + "date": "2026-04-06", + "value": 13.1 + }, + { + "date": "2026-04-12", + "value": 14.8 + }, + { + "date": "2026-04-18", + "value": 15.6 + }, + { + "date": "2026-04-24", + "value": 16.4 + }, + { + "date": "2026-04-30", + "value": 11.5 + }, + { + "date": "2026-05-04", + "value": 13.1 + }, + { + "date": "2026-05-10", + "value": 13.9 + }, + { + "date": "2026-05-16", + "value": 15.6 + }, + { + "date": "2026-05-22", + "value": 9.8 + }, + { + "date": "2026-05-28", + "value": 11.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 12.3, + "median": 9.8, + "p10": 7.2, + "p25": 8.2, + "p75": 15.2, + "p90": 18.4, + "n": 3, + "total_kg_days": 144000 + }, + { + "month": "2022-11", + "mean": 15.8, + "median": 15.2, + "p10": 6.6, + "p25": 10.2, + "p75": 20.7, + "p90": 25.5, + "n": 4, + "total_kg_days": 246400 + }, + { + "month": "2023-05", + "mean": 18.6, + "median": 14.8, + "p10": 9.5, + "p25": 11.5, + "p75": 23.8, + "p90": 29.2, + "n": 3, + "total_kg_days": 217600 + }, + { + "month": "2023-11", + "mean": 17.7, + "median": 12.3, + "p10": 3.6, + "p25": 6.6, + "p75": 23, + "p90": 36.2, + "n": 5, + "total_kg_days": 345600 + }, + { + "month": "2024-05", + "mean": 16.4, + "median": 13.1, + "p10": 4.7, + "p25": 8, + "p75": 21.6, + "p90": 30.7, + "n": 4, + "total_kg_days": 256000 + }, + { + "month": "2024-11", + "mean": 15.3, + "median": 14.8, + "p10": 8.2, + "p25": 10.7, + "p75": 19.7, + "p90": 22.6, + "n": 3, + "total_kg_days": 179200 + }, + { + "month": "2025-05", + "mean": 17.6, + "median": 15.2, + "p10": 6.1, + "p25": 9.3, + "p75": 26.1, + "p90": 31.6, + "n": 6, + "total_kg_days": 412800 + }, + { + "month": "2025-09", + "mean": 13.8, + "median": 13.9, + "p10": 12.1, + "p25": 13.1, + "p75": 14.8, + "p90": 15.3, + "n": 5, + "total_kg_days": 268800 + }, + { + "month": "2025-10", + "mean": 12.1, + "median": 12.3, + "p10": 10, + "p25": 11.5, + "p75": 13.1, + "p90": 14.1, + "n": 5, + "total_kg_days": 236800 + }, + { + "month": "2025-11", + "mean": 14.1, + "median": 14.8, + "p10": 11.8, + "p25": 12.3, + "p75": 15.6, + "p90": 16.1, + "n": 5, + "total_kg_days": 275200 + }, + { + "month": "2025-12", + "mean": 12.6, + "median": 12.3, + "p10": 10.5, + "p25": 11.5, + "p75": 13.9, + "p90": 14.9, + "n": 5, + "total_kg_days": 246400 + }, + { + "month": "2026-01", + "mean": 11, + "median": 10.7, + "p10": 9.3, + "p25": 9.8, + "p75": 11.5, + "p90": 13, + "n": 5, + "total_kg_days": 214400 + }, + { + "month": "2026-02", + "mean": 12.8, + "median": 13.1, + "p10": 11, + "p25": 11.5, + "p75": 13.9, + "p90": 14.4, + "n": 5, + "total_kg_days": 249600 + }, + { + "month": "2026-03", + "mean": 12.5, + "median": 12.3, + "p10": 11, + "p25": 11.5, + "p75": 13.1, + "p90": 14.1, + "n": 5, + "total_kg_days": 243200 + }, + { + "month": "2026-04", + "mean": 14.3, + "median": 14.8, + "p10": 12.1, + "p25": 13.1, + "p75": 15.6, + "p90": 16.1, + "n": 5, + "total_kg_days": 278400 + }, + { + "month": "2026-05", + "mean": 12.8, + "median": 13.1, + "p10": 10.5, + "p25": 11.5, + "p75": 13.9, + "p90": 14.9, + "n": 5, + "total_kg_days": 249600 + } + ], + "stats": { + "n": 73, + "mean": 14.3, + "median": 13.1, + "std": 9, + "min": 1.6, + "max": 45.1, + "p25": 10.7, + "p75": 15.6, + "p85": 16.4, + "p95": 28.7 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 87.7, + "annotations": [], + "cost": { + "unit_price": 10.25, + "currency": "CHF", + "mean_qty": 3200, + "monthly": [ + { + "month": "2022-05", + "n_events": 3, + "total_kg_days": 144000 + }, + { + "month": "2022-11", + "n_events": 4, + "total_kg_days": 246400 + }, + { + "month": "2023-05", + "n_events": 3, + "total_kg_days": 217600 + }, + { + "month": "2023-11", + "n_events": 5, + "total_kg_days": 345600 + }, + { + "month": "2024-05", + "n_events": 4, + "total_kg_days": 256000 + }, + { + "month": "2024-11", + "n_events": 3, + "total_kg_days": 179200 + }, + { + "month": "2025-05", + "n_events": 6, + "total_kg_days": 412800 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 268800 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 236800 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 275200 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 246400 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 214400 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 249600 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 243200 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 278400 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 249600 + } + ] + }, + "detail_rows": { + "columns": [ + { + "key": "batch", + "source_field": "CHARG", + "source_table": "MSEG", + "label": "Batch" + }, + { + "key": "consumption_date", + "source_field": "BUDAT", + "source_table": "MKPF", + "label": "Consumption Date" + }, + { + "key": "dwell_days", + "source_field": null, + "source_table": null, + "label": "Dwell Days", + "unit": "d" + }, + { + "key": "kg_days", + "source_field": null, + "source_table": null, + "label": "Inventory kg-days", + "unit": "kg·d" + }, + { + "key": "cons_matnr", + "source_field": "MATNR", + "source_table": "MSEG", + "label": "Consuming Material" + }, + { + "key": "cons_material_name", + "source_field": "MAKTX", + "source_table": "MAKT", + "label": "Consuming Material Name" + }, + { + "key": "cons_in_current_recipe", + "source_field": null, + "source_table": null, + "label": "In Current Recipe" + } + ], + "rows": [ + { + "batch": "INTERMED_DWELL_GREEN_BLEND-001", + "consumption_date": "2022-05-05", + "dwell_days": 9.8, + "kg_days": 48000, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-002", + "consumption_date": "2022-05-15", + "dwell_days": 20.5, + "kg_days": 48000, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-003", + "consumption_date": "2022-05-22", + "dwell_days": 6.6, + "kg_days": 48000, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-004", + "consumption_date": "2022-11-03", + "dwell_days": 28.7, + "kg_days": 61600, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-005", + "consumption_date": "2022-11-10", + "dwell_days": 12.3, + "kg_days": 61600, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-006", + "consumption_date": "2022-11-18", + "dwell_days": 4.1, + "kg_days": 61600, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-007", + "consumption_date": "2022-11-25", + "dwell_days": 18, + "kg_days": 61600, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-008", + "consumption_date": "2023-05-08", + "dwell_days": 14.8, + "kg_days": 72533.3, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-009", + "consumption_date": "2023-05-15", + "dwell_days": 32.8, + "kg_days": 72533.3, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-010", + "consumption_date": "2023-05-22", + "dwell_days": 8.2, + "kg_days": 72533.3, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-011", + "consumption_date": "2023-11-06", + "dwell_days": 45.1, + "kg_days": 69120, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-012", + "consumption_date": "2023-11-13", + "dwell_days": 1.6, + "kg_days": 69120, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-013", + "consumption_date": "2023-11-20", + "dwell_days": 23, + "kg_days": 69120, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-014", + "consumption_date": "2023-11-27", + "dwell_days": 12.3, + "kg_days": 69120, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-015", + "consumption_date": "2023-11-30", + "dwell_days": 6.6, + "kg_days": 69120, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-016", + "consumption_date": "2024-05-06", + "dwell_days": 16.4, + "kg_days": 64000, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-017", + "consumption_date": "2024-05-13", + "dwell_days": 36.9, + "kg_days": 64000, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-018", + "consumption_date": "2024-05-20", + "dwell_days": 9.8, + "kg_days": 64000, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-019", + "consumption_date": "2024-05-27", + "dwell_days": 2.5, + "kg_days": 64000, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-020", + "consumption_date": "2024-11-04", + "dwell_days": 14.8, + "kg_days": 59733.3, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-021", + "consumption_date": "2024-11-11", + "dwell_days": 24.6, + "kg_days": 59733.3, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-022", + "consumption_date": "2024-11-18", + "dwell_days": 6.6, + "kg_days": 59733.3, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-023", + "consumption_date": "2025-05-05", + "dwell_days": 18, + "kg_days": 68800, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-024", + "consumption_date": "2025-05-09", + "dwell_days": 28.7, + "kg_days": 68800, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-025", + "consumption_date": "2025-05-13", + "dwell_days": 4.1, + "kg_days": 68800, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-026", + "consumption_date": "2025-05-17", + "dwell_days": 12.3, + "kg_days": 68800, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-027", + "consumption_date": "2025-05-21", + "dwell_days": 34.4, + "kg_days": 68800, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-028", + "consumption_date": "2025-05-25", + "dwell_days": 8.2, + "kg_days": 68800, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-029", + "consumption_date": "2025-09-05", + "dwell_days": 11.5, + "kg_days": 53760, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-030", + "consumption_date": "2025-09-11", + "dwell_days": 13.1, + "kg_days": 53760, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-031", + "consumption_date": "2025-09-17", + "dwell_days": 13.9, + "kg_days": 53760, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-032", + "consumption_date": "2025-09-23", + "dwell_days": 14.8, + "kg_days": 53760, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-033", + "consumption_date": "2025-09-29", + "dwell_days": 15.6, + "kg_days": 53760, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-034", + "consumption_date": "2025-10-06", + "dwell_days": 11.5, + "kg_days": 47360, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-035", + "consumption_date": "2025-10-12", + "dwell_days": 12.3, + "kg_days": 47360, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-036", + "consumption_date": "2025-10-18", + "dwell_days": 13.1, + "kg_days": 47360, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-037", + "consumption_date": "2025-10-24", + "dwell_days": 14.8, + "kg_days": 47360, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-038", + "consumption_date": "2025-10-30", + "dwell_days": 9, + "kg_days": 47360, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-039", + "consumption_date": "2025-11-04", + "dwell_days": 14.8, + "kg_days": 55040, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-040", + "consumption_date": "2025-11-10", + "dwell_days": 15.6, + "kg_days": 55040, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-041", + "consumption_date": "2025-11-16", + "dwell_days": 16.4, + "kg_days": 55040, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-042", + "consumption_date": "2025-11-22", + "dwell_days": 11.5, + "kg_days": 55040, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-043", + "consumption_date": "2025-11-28", + "dwell_days": 12.3, + "kg_days": 55040, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-044", + "consumption_date": "2025-12-05", + "dwell_days": 13.9, + "kg_days": 49280, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-045", + "consumption_date": "2025-12-11", + "dwell_days": 15.6, + "kg_days": 49280, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-046", + "consumption_date": "2025-12-17", + "dwell_days": 9.8, + "kg_days": 49280, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-047", + "consumption_date": "2025-12-23", + "dwell_days": 11.5, + "kg_days": 49280, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-048", + "consumption_date": "2025-12-29", + "dwell_days": 12.3, + "kg_days": 49280, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-049", + "consumption_date": "2026-01-06", + "dwell_days": 13.9, + "kg_days": 42880, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-050", + "consumption_date": "2026-01-12", + "dwell_days": 9, + "kg_days": 42880, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-051", + "consumption_date": "2026-01-18", + "dwell_days": 9.8, + "kg_days": 42880, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-052", + "consumption_date": "2026-01-24", + "dwell_days": 10.7, + "kg_days": 42880, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-053", + "consumption_date": "2026-01-30", + "dwell_days": 11.5, + "kg_days": 42880, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-054", + "consumption_date": "2026-02-04", + "dwell_days": 10.7, + "kg_days": 49920, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-055", + "consumption_date": "2026-02-10", + "dwell_days": 11.5, + "kg_days": 49920, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-056", + "consumption_date": "2026-02-16", + "dwell_days": 13.1, + "kg_days": 49920, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-057", + "consumption_date": "2026-02-22", + "dwell_days": 13.9, + "kg_days": 49920, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-058", + "consumption_date": "2026-02-28", + "dwell_days": 14.8, + "kg_days": 49920, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-059", + "consumption_date": "2026-03-05", + "dwell_days": 10.7, + "kg_days": 48640, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-060", + "consumption_date": "2026-03-11", + "dwell_days": 11.5, + "kg_days": 48640, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-061", + "consumption_date": "2026-03-17", + "dwell_days": 12.3, + "kg_days": 48640, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-062", + "consumption_date": "2026-03-23", + "dwell_days": 13.1, + "kg_days": 48640, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-063", + "consumption_date": "2026-03-29", + "dwell_days": 14.8, + "kg_days": 48640, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-064", + "consumption_date": "2026-04-06", + "dwell_days": 13.1, + "kg_days": 55680, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-065", + "consumption_date": "2026-04-12", + "dwell_days": 14.8, + "kg_days": 55680, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-066", + "consumption_date": "2026-04-18", + "dwell_days": 15.6, + "kg_days": 55680, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-067", + "consumption_date": "2026-04-24", + "dwell_days": 16.4, + "kg_days": 55680, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-068", + "consumption_date": "2026-04-30", + "dwell_days": 11.5, + "kg_days": 55680, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-069", + "consumption_date": "2026-05-04", + "dwell_days": 13.1, + "kg_days": 49920, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-070", + "consumption_date": "2026-05-10", + "dwell_days": 13.9, + "kg_days": 49920, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-071", + "consumption_date": "2026-05-16", + "dwell_days": 15.6, + "kg_days": 49920, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-072", + "consumption_date": "2026-05-22", + "dwell_days": 9.8, + "kg_days": 49920, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-073", + "consumption_date": "2026-05-28", + "dwell_days": 11.5, + "kg_days": 49920, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + } + ] + }, + "ref_date_col": "consumption_date", + "n_batches": null, + "n_movements": 28, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0", + "value_col": "dwell_days" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/post_qa_ship_pla.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/post_qa_ship_pla.json new file mode 100644 index 00000000000..c9d1077efb7 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/post_qa_ship_pla.json @@ -0,0 +1,1076 @@ +{ + "id": "post_qa_ship_pla", + "label": "Post-QA Dwell (PL-A)", + "type": "post_qa_ship", + "durations": [ + 6.6, 18, 34.4, 4.9, 14.8, 23, 9.8, 1.6, 12.3, 4.1, 16.4, 3.3, 11.5, 12.3, + 8.2, 9, 9.8, 11.5, 6.6, 8.2, 9, 9, 8.2, 9.8, 9.8, 10.7, 11.5, 8.2, 9, 9.8, + 10.7, 11.5, 10.7, 11.5, 12.3, 13.1, 9, 10.7, 11.5, 12.3, 8.2, 9, 10.7, 11.5, + 6.6, 8.2, 9, 13.1, 8.2, 9.8, 9.8, 10.7, 7.4, 8.2, 9, 9.8, 10.7 + ], + "observations": [ + { + "date": "2023-03-10", + "value": 6.6 + }, + { + "date": "2023-03-25", + "value": 18 + }, + { + "date": "2023-09-20", + "value": 34.4 + }, + { + "date": "2024-03-15", + "value": 4.9 + }, + { + "date": "2024-03-28", + "value": 14.8 + }, + { + "date": "2024-09-05", + "value": 23 + }, + { + "date": "2024-09-15", + "value": 9.8 + }, + { + "date": "2024-09-25", + "value": 1.6 + }, + { + "date": "2025-03-10", + "value": 12.3 + }, + { + "date": "2025-03-22", + "value": 4.1 + }, + { + "date": "2025-07-08", + "value": 16.4 + }, + { + "date": "2025-07-22", + "value": 3.3 + }, + { + "date": "2025-09-05", + "value": 11.5 + }, + { + "date": "2025-09-11", + "value": 12.3 + }, + { + "date": "2025-09-17", + "value": 8.2 + }, + { + "date": "2025-09-23", + "value": 9 + }, + { + "date": "2025-09-29", + "value": 9.8 + }, + { + "date": "2025-10-06", + "value": 11.5 + }, + { + "date": "2025-10-12", + "value": 6.6 + }, + { + "date": "2025-10-18", + "value": 8.2 + }, + { + "date": "2025-10-24", + "value": 9 + }, + { + "date": "2025-10-30", + "value": 9 + }, + { + "date": "2025-11-04", + "value": 8.2 + }, + { + "date": "2025-11-10", + "value": 9.8 + }, + { + "date": "2025-11-16", + "value": 9.8 + }, + { + "date": "2025-11-22", + "value": 10.7 + }, + { + "date": "2025-11-28", + "value": 11.5 + }, + { + "date": "2025-12-05", + "value": 8.2 + }, + { + "date": "2025-12-11", + "value": 9 + }, + { + "date": "2025-12-17", + "value": 9.8 + }, + { + "date": "2025-12-23", + "value": 10.7 + }, + { + "date": "2025-12-29", + "value": 11.5 + }, + { + "date": "2026-01-06", + "value": 10.7 + }, + { + "date": "2026-01-12", + "value": 11.5 + }, + { + "date": "2026-01-18", + "value": 12.3 + }, + { + "date": "2026-01-24", + "value": 13.1 + }, + { + "date": "2026-01-30", + "value": 9 + }, + { + "date": "2026-02-04", + "value": 10.7 + }, + { + "date": "2026-02-10", + "value": 11.5 + }, + { + "date": "2026-02-16", + "value": 12.3 + }, + { + "date": "2026-02-22", + "value": 8.2 + }, + { + "date": "2026-02-28", + "value": 9 + }, + { + "date": "2026-03-05", + "value": 10.7 + }, + { + "date": "2026-03-11", + "value": 11.5 + }, + { + "date": "2026-03-17", + "value": 6.6 + }, + { + "date": "2026-03-23", + "value": 8.2 + }, + { + "date": "2026-03-29", + "value": 9 + }, + { + "date": "2026-04-06", + "value": 13.1 + }, + { + "date": "2026-04-12", + "value": 8.2 + }, + { + "date": "2026-04-18", + "value": 9.8 + }, + { + "date": "2026-04-24", + "value": 9.8 + }, + { + "date": "2026-04-30", + "value": 10.7 + }, + { + "date": "2026-05-04", + "value": 7.4 + }, + { + "date": "2026-05-10", + "value": 8.2 + }, + { + "date": "2026-05-16", + "value": 9 + }, + { + "date": "2026-05-22", + "value": 9.8 + }, + { + "date": "2026-05-28", + "value": 10.7 + } + ], + "monthly": [ + { + "month": "2023-03", + "mean": 12.3, + "median": 12.3, + "p10": 7.7, + "p25": 9.4, + "p75": 15.2, + "p90": 16.9, + "n": 2, + "total_kg_days": 144000 + }, + { + "month": "2023-09", + "mean": 34.4, + "median": 34.4, + "p10": 34.4, + "p25": 34.4, + "p75": 34.4, + "p90": 34.4, + "n": 1, + "total_kg_days": 201600 + }, + { + "month": "2024-03", + "mean": 9.8, + "median": 9.8, + "p10": 5.9, + "p25": 7.4, + "p75": 12.3, + "p90": 13.8, + "n": 2, + "total_kg_days": 115200 + }, + { + "month": "2024-09", + "mean": 11.5, + "median": 9.8, + "p10": 3.3, + "p25": 5.7, + "p75": 16.4, + "p90": 20.3, + "n": 3, + "total_kg_days": 201600 + }, + { + "month": "2025-03", + "mean": 8.2, + "median": 8.2, + "p10": 4.9, + "p25": 6.1, + "p75": 10.2, + "p90": 11.5, + "n": 2, + "total_kg_days": 96000 + }, + { + "month": "2025-07", + "mean": 9.8, + "median": 9.8, + "p10": 4.6, + "p25": 6.6, + "p75": 13.1, + "p90": 15.1, + "n": 2, + "total_kg_days": 115200 + }, + { + "month": "2025-09", + "mean": 10.2, + "median": 9.8, + "p10": 8.5, + "p25": 9, + "p75": 11.5, + "p90": 12, + "n": 5, + "total_kg_days": 297600 + }, + { + "month": "2025-10", + "mean": 8.9, + "median": 9, + "p10": 7.2, + "p25": 8.2, + "p75": 9, + "p90": 10.5, + "n": 5, + "total_kg_days": 259200 + }, + { + "month": "2025-11", + "mean": 10, + "median": 9.8, + "p10": 8.9, + "p25": 9.8, + "p75": 10.7, + "p90": 11.2, + "n": 5, + "total_kg_days": 292800 + }, + { + "month": "2025-12", + "mean": 9.8, + "median": 9.8, + "p10": 8.5, + "p25": 9, + "p75": 10.7, + "p90": 11.2, + "n": 5, + "total_kg_days": 288000 + }, + { + "month": "2026-01", + "mean": 11.3, + "median": 11.5, + "p10": 9.7, + "p25": 10.7, + "p75": 12.3, + "p90": 12.8, + "n": 5, + "total_kg_days": 331200 + }, + { + "month": "2026-02", + "mean": 10.3, + "median": 10.7, + "p10": 8.5, + "p25": 9, + "p75": 11.5, + "p90": 12, + "n": 5, + "total_kg_days": 302400 + }, + { + "month": "2026-03", + "mean": 9.2, + "median": 9, + "p10": 7.2, + "p25": 8.2, + "p75": 10.7, + "p90": 11.2, + "n": 5, + "total_kg_days": 268800 + }, + { + "month": "2026-04", + "mean": 10.3, + "median": 9.8, + "p10": 8.9, + "p25": 9.8, + "p75": 10.7, + "p90": 12.1, + "n": 5, + "total_kg_days": 302400 + }, + { + "month": "2026-05", + "mean": 9, + "median": 9, + "p10": 7.7, + "p25": 8.2, + "p75": 9.8, + "p90": 10.3, + "n": 5, + "total_kg_days": 264000 + } + ], + "stats": { + "n": 57, + "mean": 10.4, + "median": 9.8, + "std": 5.6, + "min": 1.6, + "max": 34.4, + "p25": 8.2, + "p75": 11.5, + "p85": 12.3, + "p95": 16.4 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "annotations": [], + "cost": { + "unit_price": 23.37, + "currency": "CHF", + "mean_qty": 4800, + "monthly": [ + { + "month": "2023-03", + "n_events": 2, + "total_kg_days": 144000 + }, + { + "month": "2023-09", + "n_events": 1, + "total_kg_days": 201600 + }, + { + "month": "2024-03", + "n_events": 2, + "total_kg_days": 115200 + }, + { + "month": "2024-09", + "n_events": 3, + "total_kg_days": 201600 + }, + { + "month": "2025-03", + "n_events": 2, + "total_kg_days": 96000 + }, + { + "month": "2025-07", + "n_events": 2, + "total_kg_days": 115200 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 297600 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 259200 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 292800 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 288000 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 331200 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 302400 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 268800 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 302400 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 264000 + } + ] + }, + "detail_rows": { + "columns": [ + { + "key": "batch", + "source_field": "CHARG", + "source_table": "MSEG", + "label": "Batch" + }, + { + "key": "consumption_date", + "source_field": "BUDAT", + "source_table": "MKPF", + "label": "Consumption Date" + }, + { + "key": "dwell_days", + "source_field": null, + "source_table": null, + "label": "Dwell Days", + "unit": "d" + }, + { + "key": "kg_days", + "source_field": null, + "source_table": null, + "label": "Inventory kg-days", + "unit": "kg·d" + }, + { + "key": "cons_matnr", + "source_field": "MATNR", + "source_table": "MSEG", + "label": "Consuming Material" + }, + { + "key": "cons_material_name", + "source_field": "MAKTX", + "source_table": "MAKT", + "label": "Consuming Material Name" + }, + { + "key": "cons_in_current_recipe", + "source_field": null, + "source_table": null, + "label": "In Current Recipe" + } + ], + "rows": [ + { + "batch": "POST_QA_SHIP_PLA-001", + "consumption_date": "2023-03-10", + "dwell_days": 6.6, + "kg_days": 72000, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-002", + "consumption_date": "2023-03-25", + "dwell_days": 18, + "kg_days": 72000, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-003", + "consumption_date": "2023-09-20", + "dwell_days": 34.4, + "kg_days": 201600, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-004", + "consumption_date": "2024-03-15", + "dwell_days": 4.9, + "kg_days": 57600, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-005", + "consumption_date": "2024-03-28", + "dwell_days": 14.8, + "kg_days": 57600, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-006", + "consumption_date": "2024-09-05", + "dwell_days": 23, + "kg_days": 67200, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-007", + "consumption_date": "2024-09-15", + "dwell_days": 9.8, + "kg_days": 67200, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-008", + "consumption_date": "2024-09-25", + "dwell_days": 1.6, + "kg_days": 67200, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-009", + "consumption_date": "2025-03-10", + "dwell_days": 12.3, + "kg_days": 48000, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-010", + "consumption_date": "2025-03-22", + "dwell_days": 4.1, + "kg_days": 48000, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-011", + "consumption_date": "2025-07-08", + "dwell_days": 16.4, + "kg_days": 57600, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-012", + "consumption_date": "2025-07-22", + "dwell_days": 3.3, + "kg_days": 57600, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-013", + "consumption_date": "2025-09-05", + "dwell_days": 11.5, + "kg_days": 59520, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-014", + "consumption_date": "2025-09-11", + "dwell_days": 12.3, + "kg_days": 59520, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-015", + "consumption_date": "2025-09-17", + "dwell_days": 8.2, + "kg_days": 59520, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-016", + "consumption_date": "2025-09-23", + "dwell_days": 9, + "kg_days": 59520, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-017", + "consumption_date": "2025-09-29", + "dwell_days": 9.8, + "kg_days": 59520, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-018", + "consumption_date": "2025-10-06", + "dwell_days": 11.5, + "kg_days": 51840, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-019", + "consumption_date": "2025-10-12", + "dwell_days": 6.6, + "kg_days": 51840, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-020", + "consumption_date": "2025-10-18", + "dwell_days": 8.2, + "kg_days": 51840, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-021", + "consumption_date": "2025-10-24", + "dwell_days": 9, + "kg_days": 51840, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-022", + "consumption_date": "2025-10-30", + "dwell_days": 9, + "kg_days": 51840, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-023", + "consumption_date": "2025-11-04", + "dwell_days": 8.2, + "kg_days": 58560, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-024", + "consumption_date": "2025-11-10", + "dwell_days": 9.8, + "kg_days": 58560, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-025", + "consumption_date": "2025-11-16", + "dwell_days": 9.8, + "kg_days": 58560, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-026", + "consumption_date": "2025-11-22", + "dwell_days": 10.7, + "kg_days": 58560, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-027", + "consumption_date": "2025-11-28", + "dwell_days": 11.5, + "kg_days": 58560, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-028", + "consumption_date": "2025-12-05", + "dwell_days": 8.2, + "kg_days": 57600, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-029", + "consumption_date": "2025-12-11", + "dwell_days": 9, + "kg_days": 57600, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-030", + "consumption_date": "2025-12-17", + "dwell_days": 9.8, + "kg_days": 57600, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-031", + "consumption_date": "2025-12-23", + "dwell_days": 10.7, + "kg_days": 57600, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-032", + "consumption_date": "2025-12-29", + "dwell_days": 11.5, + "kg_days": 57600, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-033", + "consumption_date": "2026-01-06", + "dwell_days": 10.7, + "kg_days": 66240, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-034", + "consumption_date": "2026-01-12", + "dwell_days": 11.5, + "kg_days": 66240, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-035", + "consumption_date": "2026-01-18", + "dwell_days": 12.3, + "kg_days": 66240, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-036", + "consumption_date": "2026-01-24", + "dwell_days": 13.1, + "kg_days": 66240, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-037", + "consumption_date": "2026-01-30", + "dwell_days": 9, + "kg_days": 66240, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-038", + "consumption_date": "2026-02-04", + "dwell_days": 10.7, + "kg_days": 60480, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-039", + "consumption_date": "2026-02-10", + "dwell_days": 11.5, + "kg_days": 60480, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-040", + "consumption_date": "2026-02-16", + "dwell_days": 12.3, + "kg_days": 60480, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-041", + "consumption_date": "2026-02-22", + "dwell_days": 8.2, + "kg_days": 60480, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-042", + "consumption_date": "2026-02-28", + "dwell_days": 9, + "kg_days": 60480, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-043", + "consumption_date": "2026-03-05", + "dwell_days": 10.7, + "kg_days": 53760, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-044", + "consumption_date": "2026-03-11", + "dwell_days": 11.5, + "kg_days": 53760, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-045", + "consumption_date": "2026-03-17", + "dwell_days": 6.6, + "kg_days": 53760, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-046", + "consumption_date": "2026-03-23", + "dwell_days": 8.2, + "kg_days": 53760, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-047", + "consumption_date": "2026-03-29", + "dwell_days": 9, + "kg_days": 53760, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-048", + "consumption_date": "2026-04-06", + "dwell_days": 13.1, + "kg_days": 60480, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-049", + "consumption_date": "2026-04-12", + "dwell_days": 8.2, + "kg_days": 60480, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-050", + "consumption_date": "2026-04-18", + "dwell_days": 9.8, + "kg_days": 60480, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-051", + "consumption_date": "2026-04-24", + "dwell_days": 9.8, + "kg_days": 60480, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-052", + "consumption_date": "2026-04-30", + "dwell_days": 10.7, + "kg_days": 60480, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-053", + "consumption_date": "2026-05-04", + "dwell_days": 7.4, + "kg_days": 52800, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-054", + "consumption_date": "2026-05-10", + "dwell_days": 8.2, + "kg_days": 52800, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-055", + "consumption_date": "2026-05-16", + "dwell_days": 9, + "kg_days": 52800, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-056", + "consumption_date": "2026-05-22", + "dwell_days": 9.8, + "kg_days": 52800, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-057", + "consumption_date": "2026-05-28", + "dwell_days": 10.7, + "kg_days": 52800, + "cons_matnr": "90000300003", + "cons_material_name": "Riverside Decaf", + "cons_in_current_recipe": 1 + } + ] + }, + "ref_date_col": "consumption_date", + "n_batches": null, + "n_movements": 12, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0", + "value_col": "dwell_days" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/procurement_highland_arabica.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/procurement_highland_arabica.json new file mode 100644 index 00000000000..c01b86d211f --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/procurement_highland_arabica.json @@ -0,0 +1,3304 @@ +{ + "id": "procurement_highland_arabica", + "label": "Procurement: Highland Arabica", + "type": "procurement", + "durations": [ + 45.1, 34.4, 6.6, 51.7, 31.2, 18.0, 58.2, 24.6, 36.9, 14.8, 86.1, 28.7, 9.8, + 39.4, 32.0, 33.6, 36.1, 39.4, 41.8, 30.3, 32.8, 36.1, 38.5, 25.4, 29.5, + 32.8, 35.3, 22.1, 25.4, 37.7, 40.2, 27.1, 30.3, 32.0, 36.9, 23.8, 27.1, + 28.7, 31.2, 28.7, 32.0, 33.6, 36.1, 39.4, 28.7, 30.3, 32.8, 36.1, 38.5, + 27.1, 29.5, 32.8, 35.3, 22.1, 34.4, 37.7, 40.2, 27.1, 30.3 + ], + "observations": [ + { + "date": "2022-03-15", + "value": 45.1 + }, + { + "date": "2022-06-10", + "value": 34.4 + }, + { + "date": "2022-09-22", + "value": 6.6 + }, + { + "date": "2022-12-05", + "value": 51.7 + }, + { + "date": "2023-02-14", + "value": 31.2 + }, + { + "date": "2023-05-30", + "value": 18.0 + }, + { + "date": "2023-08-17", + "value": 58.2 + }, + { + "date": "2023-11-02", + "value": 24.6 + }, + { + "date": "2024-01-25", + "value": 36.9 + }, + { + "date": "2024-04-11", + "value": 14.8 + }, + { + "date": "2024-07-09", + "value": 86.1 + }, + { + "date": "2024-10-03", + "value": 28.7 + }, + { + "date": "2025-01-20", + "value": 9.8 + }, + { + "date": "2025-04-08", + "value": 39.4 + }, + { + "date": "2025-09-05", + "value": 32.0 + }, + { + "date": "2025-09-11", + "value": 33.6 + }, + { + "date": "2025-09-17", + "value": 36.1 + }, + { + "date": "2025-09-23", + "value": 39.4 + }, + { + "date": "2025-09-29", + "value": 41.8 + }, + { + "date": "2025-10-06", + "value": 30.3 + }, + { + "date": "2025-10-12", + "value": 32.8 + }, + { + "date": "2025-10-18", + "value": 36.1 + }, + { + "date": "2025-10-24", + "value": 38.5 + }, + { + "date": "2025-10-30", + "value": 25.4 + }, + { + "date": "2025-11-04", + "value": 29.5 + }, + { + "date": "2025-11-10", + "value": 32.8 + }, + { + "date": "2025-11-16", + "value": 35.3 + }, + { + "date": "2025-11-22", + "value": 22.1 + }, + { + "date": "2025-11-28", + "value": 25.4 + }, + { + "date": "2025-12-05", + "value": 37.7 + }, + { + "date": "2025-12-11", + "value": 40.2 + }, + { + "date": "2025-12-17", + "value": 27.1 + }, + { + "date": "2025-12-23", + "value": 30.3 + }, + { + "date": "2025-12-29", + "value": 32.0 + }, + { + "date": "2026-01-06", + "value": 36.9 + }, + { + "date": "2026-01-12", + "value": 23.8 + }, + { + "date": "2026-01-18", + "value": 27.1 + }, + { + "date": "2026-01-24", + "value": 28.7 + }, + { + "date": "2026-01-30", + "value": 31.2 + }, + { + "date": "2026-02-04", + "value": 28.7 + }, + { + "date": "2026-02-10", + "value": 32.0 + }, + { + "date": "2026-02-16", + "value": 33.6 + }, + { + "date": "2026-02-22", + "value": 36.1 + }, + { + "date": "2026-02-28", + "value": 39.4 + }, + { + "date": "2026-03-05", + "value": 28.7 + }, + { + "date": "2026-03-11", + "value": 30.3 + }, + { + "date": "2026-03-17", + "value": 32.8 + }, + { + "date": "2026-03-23", + "value": 36.1 + }, + { + "date": "2026-03-29", + "value": 38.5 + }, + { + "date": "2026-04-06", + "value": 27.1 + }, + { + "date": "2026-04-12", + "value": 29.5 + }, + { + "date": "2026-04-18", + "value": 32.8 + }, + { + "date": "2026-04-24", + "value": 35.3 + }, + { + "date": "2026-04-30", + "value": 22.1 + }, + { + "date": "2026-05-04", + "value": 34.4 + }, + { + "date": "2026-05-10", + "value": 37.7 + }, + { + "date": "2026-05-16", + "value": 40.2 + }, + { + "date": "2026-05-22", + "value": 27.1 + }, + { + "date": "2026-05-28", + "value": 30.3 + } + ], + "monthly": [ + { + "month": "2022-03", + "mean": 45.1, + "median": 45.1, + "p10": 45.1, + "p25": 45.1, + "p75": 45.1, + "p90": 45.1, + "n": 1 + }, + { + "month": "2022-06", + "mean": 34.4, + "median": 34.4, + "p10": 34.4, + "p25": 34.4, + "p75": 34.4, + "p90": 34.4, + "n": 1 + }, + { + "month": "2022-09", + "mean": 6.6, + "median": 6.6, + "p10": 6.6, + "p25": 6.6, + "p75": 6.6, + "p90": 6.6, + "n": 1 + }, + { + "month": "2022-12", + "mean": 51.7, + "median": 51.7, + "p10": 51.7, + "p25": 51.7, + "p75": 51.7, + "p90": 51.7, + "n": 1 + }, + { + "month": "2023-02", + "mean": 31.2, + "median": 31.2, + "p10": 31.2, + "p25": 31.2, + "p75": 31.2, + "p90": 31.2, + "n": 1 + }, + { + "month": "2023-05", + "mean": 18.0, + "median": 18.0, + "p10": 18.0, + "p25": 18.0, + "p75": 18.0, + "p90": 18.0, + "n": 1 + }, + { + "month": "2023-08", + "mean": 58.2, + "median": 58.2, + "p10": 58.2, + "p25": 58.2, + "p75": 58.2, + "p90": 58.2, + "n": 1 + }, + { + "month": "2023-11", + "mean": 24.6, + "median": 24.6, + "p10": 24.6, + "p25": 24.6, + "p75": 24.6, + "p90": 24.6, + "n": 1 + }, + { + "month": "2024-01", + "mean": 36.9, + "median": 36.9, + "p10": 36.9, + "p25": 36.9, + "p75": 36.9, + "p90": 36.9, + "n": 1 + }, + { + "month": "2024-04", + "mean": 14.8, + "median": 14.8, + "p10": 14.8, + "p25": 14.8, + "p75": 14.8, + "p90": 14.8, + "n": 1 + }, + { + "month": "2024-07", + "mean": 86.1, + "median": 86.1, + "p10": 86.1, + "p25": 86.1, + "p75": 86.1, + "p90": 86.1, + "n": 1 + }, + { + "month": "2024-10", + "mean": 28.7, + "median": 28.7, + "p10": 28.7, + "p25": 28.7, + "p75": 28.7, + "p90": 28.7, + "n": 1 + }, + { + "month": "2025-01", + "mean": 9.8, + "median": 9.8, + "p10": 9.8, + "p25": 9.8, + "p75": 9.8, + "p90": 9.8, + "n": 1 + }, + { + "month": "2025-04", + "mean": 39.4, + "median": 39.4, + "p10": 39.4, + "p25": 39.4, + "p75": 39.4, + "p90": 39.4, + "n": 1 + }, + { + "month": "2025-09", + "mean": 36.6, + "median": 36.1, + "p10": 32.6, + "p25": 33.6, + "p75": 39.4, + "p90": 40.8, + "n": 5 + }, + { + "month": "2025-10", + "mean": 32.6, + "median": 32.8, + "p10": 27.4, + "p25": 30.3, + "p75": 36.1, + "p90": 37.6, + "n": 5 + }, + { + "month": "2025-11", + "mean": 29.0, + "median": 29.5, + "p10": 23.5, + "p25": 25.4, + "p75": 32.8, + "p90": 34.3, + "n": 5 + }, + { + "month": "2025-12", + "mean": 33.5, + "median": 32.0, + "p10": 28.4, + "p25": 30.3, + "p75": 37.7, + "p90": 39.2, + "n": 5 + }, + { + "month": "2026-01", + "mean": 29.5, + "median": 28.7, + "p10": 25.1, + "p25": 27.1, + "p75": 31.2, + "p90": 34.6, + "n": 5 + }, + { + "month": "2026-02", + "mean": 33.9, + "median": 33.6, + "p10": 30.0, + "p25": 32.0, + "p75": 36.1, + "p90": 38.0, + "n": 5 + }, + { + "month": "2026-03", + "mean": 33.3, + "median": 32.8, + "p10": 29.4, + "p25": 30.3, + "p75": 36.1, + "p90": 37.6, + "n": 5 + }, + { + "month": "2026-04", + "mean": 29.4, + "median": 29.5, + "p10": 24.1, + "p25": 27.1, + "p75": 32.8, + "p90": 34.3, + "n": 5 + }, + { + "month": "2026-05", + "mean": 33.9, + "median": 34.4, + "p10": 28.4, + "p25": 30.3, + "p75": 37.7, + "p90": 39.2, + "n": 5 + } + ], + "stats": { + "n": 59, + "mean": 33.0, + "median": 32.8, + "std": 13.3, + "min": 6.6, + "max": 86.1, + "p25": 28.7, + "p75": 36.9, + "p85": 39.4, + "p95": 45.1 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 98.3, + "annotations": [ + { + "date": "2023-09-01", + "label": "Supplier change for Highland Arabica" + } + ], + "cost": null, + "detail_rows": { + "columns": [ + { + "key": "matnr", + "sap_field": "MATNR", + "sap_table": "EKPO", + "label": "Material", + "unit": null + }, + { + "key": "po_number", + "sap_field": "EBELN", + "sap_table": "EKKO", + "label": "PO Number", + "unit": null + }, + { + "key": "po_item", + "sap_field": "EBELP", + "sap_table": "EKPO", + "label": "PO Item", + "unit": null + }, + { + "key": "vendor_id", + "sap_field": "LIFNR", + "sap_table": "EKKO", + "label": "Vendor (LIFNR)", + "unit": null + }, + { + "key": "vendor_name", + "sap_field": "NAME1", + "sap_table": "LFA1", + "label": "Vendor Name", + "unit": null + }, + { + "key": "po_date", + "sap_field": "BEDAT", + "sap_table": "EKKO", + "label": "PO Date", + "unit": null + }, + { + "key": "promised_date", + "sap_field": "EINDT", + "sap_table": "EKET", + "label": "Promised Date", + "unit": null + }, + { + "key": "sched_qty", + "sap_field": "MENGE", + "sap_table": "EKET", + "label": "Scheduled Qty", + "unit": null + }, + { + "key": "gr_qty_to_date", + "sap_field": "WEMNG", + "sap_table": "EKET", + "label": "GR Qty (to date)", + "unit": null + }, + { + "key": "gr_mblnr", + "sap_field": "MBLNR", + "sap_table": "MSEG", + "label": "Goods Receipt Document", + "unit": null + }, + { + "key": "first_gr_date", + "sap_field": "BUDAT", + "sap_table": "MKPF", + "label": "Goods Receipt Date", + "unit": null + }, + { + "key": "days_vs_promised", + "sap_field": null, + "sap_table": null, + "label": "Days vs Promised", + "unit": "d" + }, + { + "key": "lead_time_days", + "sap_field": null, + "sap_table": null, + "label": "Lead Time (days)", + "unit": "d" + } + ], + "rows": [ + { + "matnr": "demo_highland_arabica", + "po_number": "4500000003", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-14", + "promised_date": "2025-06-05", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000003", + "first_gr_date": "2025-06-03", + "days_vs_promised": -2, + "lead_time_days": 20 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000000", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-04-23", + "promised_date": "2025-06-08", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000000", + "first_gr_date": "2025-06-06", + "days_vs_promised": -2, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000005", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-27", + "promised_date": "2025-06-16", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000005", + "first_gr_date": "2025-06-13", + "days_vs_promised": -3, + "lead_time_days": 17 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000001", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-01", + "promised_date": "2025-06-17", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000001", + "first_gr_date": "2025-06-15", + "days_vs_promised": -2, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000002", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-06", + "promised_date": "2025-06-20", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000002", + "first_gr_date": "2025-06-20", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000004", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-22", + "promised_date": "2025-06-24", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000004", + "first_gr_date": "2025-06-21", + "days_vs_promised": -3, + "lead_time_days": 30 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000006", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-02", + "promised_date": "2025-07-10", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000006", + "first_gr_date": "2025-07-09", + "days_vs_promised": -1, + "lead_time_days": 37 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000007", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-11", + "promised_date": "2025-07-06", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000007", + "first_gr_date": "2025-07-10", + "days_vs_promised": 4, + "lead_time_days": 29 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000009", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-25", + "promised_date": "2025-07-23", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000009", + "first_gr_date": "2025-07-21", + "days_vs_promised": -2, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000010", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-30", + "promised_date": "2025-07-26", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000010", + "first_gr_date": "2025-07-26", + "days_vs_promised": 0, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000008", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-19", + "promised_date": "2025-08-07", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000008", + "first_gr_date": "2025-08-07", + "days_vs_promised": 0, + "lead_time_days": 49 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000012", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-07-15", + "promised_date": "2025-08-07", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000012", + "first_gr_date": "2025-08-07", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000013", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-07-23", + "promised_date": "2025-08-20", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000013", + "first_gr_date": "2025-08-20", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000014", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-07-28", + "promised_date": "2025-08-23", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000014", + "first_gr_date": "2025-08-23", + "days_vs_promised": 0, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000011", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-07-07", + "promised_date": "2025-08-19", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000011", + "first_gr_date": "2025-08-25", + "days_vs_promised": 6, + "lead_time_days": 49 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000015", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-08-04", + "promised_date": "2025-08-27", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000015", + "first_gr_date": "2025-08-27", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000016", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-08-13", + "promised_date": "2025-09-25", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000016", + "first_gr_date": "2025-09-25", + "days_vs_promised": 0, + "lead_time_days": 43 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000019", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-09-04", + "promised_date": "2025-09-28", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000019", + "first_gr_date": "2025-09-27", + "days_vs_promised": -1, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000020", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-09-09", + "promised_date": "2025-10-03", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000020", + "first_gr_date": "2025-10-03", + "days_vs_promised": 0, + "lead_time_days": 24 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000017", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-08-21", + "promised_date": "2025-10-05", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000017", + "first_gr_date": "2025-10-05", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000018", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-08-26", + "promised_date": "2025-10-12", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000018", + "first_gr_date": "2025-10-10", + "days_vs_promised": -2, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000022", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-09-23", + "promised_date": "2025-10-17", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000022", + "first_gr_date": "2025-10-16", + "days_vs_promised": -1, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000021", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-09-17", + "promised_date": "2025-10-22", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000021", + "first_gr_date": "2025-10-19", + "days_vs_promised": -3, + "lead_time_days": 32 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000023", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-01", + "promised_date": "2025-10-29", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000023", + "first_gr_date": "2025-10-31", + "days_vs_promised": 2, + "lead_time_days": 30 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000024", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-08", + "promised_date": "2025-11-01", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000024", + "first_gr_date": "2025-11-01", + "days_vs_promised": 0, + "lead_time_days": 24 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000025", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-14", + "promised_date": "2025-11-19", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000025", + "first_gr_date": "2025-11-17", + "days_vs_promised": -2, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000027", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-29", + "promised_date": "2025-12-01", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000027", + "first_gr_date": "2025-11-29", + "days_vs_promised": -2, + "lead_time_days": 31 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000028", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-11-04", + "promised_date": "2025-12-03", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000028", + "first_gr_date": "2025-12-03", + "days_vs_promised": 0, + "lead_time_days": 29 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000026", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-21", + "promised_date": "2025-12-04", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000026", + "first_gr_date": "2025-12-04", + "days_vs_promised": 0, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000029", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-11-10", + "promised_date": "2025-12-19", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000029", + "first_gr_date": "2025-12-19", + "days_vs_promised": 0, + "lead_time_days": 39 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000030", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-11-20", + "promised_date": "2025-12-23", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000030", + "first_gr_date": "2025-12-24", + "days_vs_promised": 1, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000034", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000034", + "first_gr_date": "2026-01-11", + "days_vs_promised": -2, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000031", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-11-27", + "promised_date": "2026-01-13", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000031", + "first_gr_date": "2026-01-13", + "days_vs_promised": 0, + "lead_time_days": 47 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000033", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-10", + "promised_date": "2026-01-15", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000033", + "first_gr_date": "2026-01-13", + "days_vs_promised": -2, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000035", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-24", + "promised_date": "2026-01-13", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000035", + "first_gr_date": "2026-01-13", + "days_vs_promised": 0, + "lead_time_days": 20 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000032", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-04", + "promised_date": "2026-01-17", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000032", + "first_gr_date": "2026-01-17", + "days_vs_promised": 0, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000036", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-31", + "promised_date": "2026-02-01", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000036", + "first_gr_date": "2026-01-31", + "days_vs_promised": -1, + "lead_time_days": 31 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000037", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-01-08", + "promised_date": "2026-02-10", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000037", + "first_gr_date": "2026-02-08", + "days_vs_promised": -2, + "lead_time_days": 31 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000038", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-01-13", + "promised_date": "2026-02-13", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000038", + "first_gr_date": "2026-02-11", + "days_vs_promised": -2, + "lead_time_days": 29 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000040", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-01-29", + "promised_date": "2026-02-25", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000040", + "first_gr_date": "2026-02-25", + "days_vs_promised": 0, + "lead_time_days": 27 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000039", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-01-20", + "promised_date": "2026-03-01", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000039", + "first_gr_date": "2026-03-01", + "days_vs_promised": 0, + "lead_time_days": 40 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000041", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-02-03", + "promised_date": "2026-03-07", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000041", + "first_gr_date": "2026-03-07", + "days_vs_promised": 0, + "lead_time_days": 32 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000042", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-02-11", + "promised_date": "2026-03-18", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000042", + "first_gr_date": "2026-03-18", + "days_vs_promised": 0, + "lead_time_days": 35 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000043", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-02-16", + "promised_date": "2026-03-23", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000043", + "first_gr_date": "2026-03-22", + "days_vs_promised": -1, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000044", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-02-26", + "promised_date": "2026-03-24", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000044", + "first_gr_date": "2026-03-24", + "days_vs_promised": 0, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000045", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-04", + "promised_date": "2026-03-27", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000045", + "first_gr_date": "2026-03-27", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000057", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-02", + "promised_date": "2026-04-01", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000057", + "first_gr_date": "2026-04-01", + "days_vs_promised": 0, + "lead_time_days": 30 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000068", + "po_item": "00010", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-02-24", + "promised_date": "2026-04-03", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000068", + "first_gr_date": "2026-04-07", + "days_vs_promised": 4, + "lead_time_days": 42 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000069", + "po_item": "00020", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-04", + "promised_date": "2026-04-06", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000069", + "first_gr_date": "2026-04-09", + "days_vs_promised": 3, + "lead_time_days": 36 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000056", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-25", + "promised_date": "2026-04-09", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000056", + "first_gr_date": "2026-04-10", + "days_vs_promised": 1, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000058", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-11", + "promised_date": "2026-04-07", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000058", + "first_gr_date": "2026-04-12", + "days_vs_promised": 5, + "lead_time_days": 32 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000071", + "po_item": "00040", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-17", + "promised_date": "2026-04-16", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000071", + "first_gr_date": "2026-04-13", + "days_vs_promised": -3, + "lead_time_days": 27 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000060", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-24", + "promised_date": "2026-04-13", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000060", + "first_gr_date": "2026-04-14", + "days_vs_promised": 1, + "lead_time_days": 21 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000048", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-25", + "promised_date": "2026-04-22", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000048", + "first_gr_date": "2026-04-22", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000050", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-04-07", + "promised_date": "2026-04-30", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000050", + "first_gr_date": "2026-04-27", + "days_vs_promised": -3, + "lead_time_days": 20 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000046", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-10", + "promised_date": "2026-04-26", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000046", + "first_gr_date": "2026-04-29", + "days_vs_promised": 3, + "lead_time_days": 50 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000047", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-18", + "promised_date": "2026-05-03", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000047", + "first_gr_date": "2026-05-01", + "days_vs_promised": -2, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000059", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000059", + "first_gr_date": "2026-05-01", + "days_vs_promised": 0, + "lead_time_days": 46 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000049", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-31", + "promised_date": "2026-05-09", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000049", + "first_gr_date": "2026-05-06", + "days_vs_promised": -3, + "lead_time_days": 36 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000074", + "po_item": "00020", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-04-08", + "promised_date": "2026-05-06", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000074", + "first_gr_date": "2026-05-06", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000063", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-13", + "promised_date": "2026-05-07", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000063", + "first_gr_date": "2026-05-07", + "days_vs_promised": 0, + "lead_time_days": 24 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000051", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-04-15", + "promised_date": "2026-05-11", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000051", + "first_gr_date": "2026-05-11", + "days_vs_promised": 0, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000070", + "po_item": "00030", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-09", + "promised_date": "2026-04-22", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000070", + "first_gr_date": "2026-05-12", + "days_vs_promised": 20, + "lead_time_days": 64 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000075", + "po_item": "00030", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-04-13", + "promised_date": "2026-05-18", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000075", + "first_gr_date": "2026-05-15", + "days_vs_promised": -3, + "lead_time_days": 32 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000061", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-01", + "promised_date": "2026-05-21", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000061", + "first_gr_date": "2026-05-18", + "days_vs_promised": -3, + "lead_time_days": 47 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000065", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-27", + "promised_date": "2026-05-19", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000065", + "first_gr_date": "2026-05-19", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000072", + "po_item": "00050", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-24", + "promised_date": "2026-05-03", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000072", + "first_gr_date": "2026-05-21", + "days_vs_promised": 18, + "lead_time_days": 58 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000062", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000062", + "first_gr_date": "2026-05-27", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000053", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-04-28", + "promised_date": "2026-05-29", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000053", + "first_gr_date": "2026-05-29", + "days_vs_promised": 0, + "lead_time_days": 31 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000077", + "po_item": "00050", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-04-29", + "promised_date": "2026-06-02", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000077", + "first_gr_date": "2026-06-02", + "days_vs_promised": 0, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000078", + "po_item": "00010", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-05-06", + "promised_date": "2026-06-06", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000078", + "first_gr_date": "2026-06-03", + "days_vs_promised": -3, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000076", + "po_item": "00040", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-04-20", + "promised_date": "2026-06-04", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000076", + "first_gr_date": "2026-06-04", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000064", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-21", + "promised_date": "2026-06-06", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000064", + "first_gr_date": "2026-06-05", + "days_vs_promised": -1, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000052", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-04-22", + "promised_date": "2026-06-06", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000052", + "first_gr_date": "2026-06-06", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000073", + "po_item": "00010", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-31", + "promised_date": "2026-05-08", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000073", + "first_gr_date": "2026-06-07", + "days_vs_promised": 30, + "lead_time_days": 68 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000079", + "po_item": "00020", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-05-12", + "promised_date": "2026-06-09", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000079", + "first_gr_date": "2026-06-09", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000054", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-05-07", + "promised_date": "2026-06-13", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000054", + "first_gr_date": "2026-06-13", + "days_vs_promised": 0, + "lead_time_days": 37 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000055", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-05-11", + "promised_date": "2026-06-15", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000055", + "first_gr_date": "2026-06-13", + "days_vs_promised": -2, + "lead_time_days": 33 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000066", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-05-04", + "promised_date": "2026-06-16", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000066", + "first_gr_date": "2026-06-16", + "days_vs_promised": 0, + "lead_time_days": 43 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000067", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-05-14", + "promised_date": "2026-06-04", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000067", + "first_gr_date": "2026-06-22", + "days_vs_promised": 18, + "lead_time_days": 39 + } + ] + }, + "ref_date_col": "first_gr_date", + "n_batches": null, + "n_movements": 14, + "yield_data": null, + "consumption_data": null, + "supplier_otif": { + "primary_vendor": { + "id": "D0002", + "name": "Cascadia Coffee Traders" + }, + "vendors": [ + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "n_lines": 56, + "n_late": 5, + "on_time_pct": 91.1, + "in_full_pct": 100.0, + "otif_pct": 91.1, + "mean_days_late_all": 0.29, + "mean_days_late_when_late": 3.2, + "median_days_late_when_late": 3, + "max_days_late": 6, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 8.9, + "ge_3d_pct": 5.4, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + } + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "n_lines": 12, + "n_late": 4, + "on_time_pct": 66.7, + "in_full_pct": 100.0, + "otif_pct": 66.7, + "mean_days_late_all": 2.08, + "mean_days_late_when_late": 6.2, + "median_days_late_when_late": 3.0, + "max_days_late": 18, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 33.3, + "ge_3d_pct": 16.7, + "ge_7d_pct": 8.3, + "ge_14d_pct": 8.3 + } + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "n_lines": 12, + "n_late": 5, + "on_time_pct": 58.3, + "in_full_pct": 100.0, + "otif_pct": 58.3, + "mean_days_late_all": 6.25, + "mean_days_late_when_late": 15, + "median_days_late_when_late": 18, + "max_days_late": 30, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 41.7, + "ge_3d_pct": 41.7, + "ge_7d_pct": 25.0, + "ge_14d_pct": 25.0 + } + } + ], + "worst_events": [ + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000073", + "po_item": "00010", + "po_date": "2026-03-31", + "promised_date": "2026-05-08", + "first_gr_date": "2026-06-07", + "days_late": 30, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000070", + "po_item": "00030", + "po_date": "2026-03-09", + "promised_date": "2026-04-22", + "first_gr_date": "2026-05-12", + "days_late": 20, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000067", + "po_item": "00020", + "po_date": "2026-05-14", + "promised_date": "2026-06-04", + "first_gr_date": "2026-06-22", + "days_late": 18, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000072", + "po_item": "00050", + "po_date": "2026-03-24", + "promised_date": "2026-05-03", + "first_gr_date": "2026-05-21", + "days_late": 18, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000011", + "po_item": "00020", + "po_date": "2025-07-07", + "promised_date": "2025-08-19", + "first_gr_date": "2025-08-25", + "days_late": 6, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000058", + "po_item": "00030", + "po_date": "2026-03-11", + "promised_date": "2026-04-07", + "first_gr_date": "2026-04-12", + "days_late": 5, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0 + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000007", + "po_item": "00030", + "po_date": "2025-06-11", + "promised_date": "2025-07-06", + "first_gr_date": "2025-07-10", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000068", + "po_item": "00010", + "po_date": "2026-02-24", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-07", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000046", + "po_item": "00020", + "po_date": "2026-03-10", + "promised_date": "2026-04-26", + "first_gr_date": "2026-04-29", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000069", + "po_item": "00020", + "po_date": "2026-03-04", + "promised_date": "2026-04-06", + "first_gr_date": "2026-04-09", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + } + ], + "coverage_pct": 100.0, + "n_lines": 80, + "data_quality_note": "100% in-full across every line \u2014 likely WEMNG = MENGE is auto-stamped at goods receipt rather than measured. Treat the in-full metric as a data-entry artifact at this site.", + "tolerance_days": 0, + "under_tolerance_pct": 0.05, + "lines": [ + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000000", + "po_item": "00010", + "po_date": "2025-04-23", + "promised_date": "2025-06-08", + "first_gr_date": "2025-06-06", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000001", + "po_item": "00020", + "po_date": "2025-05-01", + "promised_date": "2025-06-17", + "first_gr_date": "2025-06-15", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000002", + "po_item": "00030", + "po_date": "2025-05-06", + "promised_date": "2025-06-20", + "first_gr_date": "2025-06-20", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000003", + "po_item": "00040", + "po_date": "2025-05-14", + "promised_date": "2025-06-05", + "first_gr_date": "2025-06-03", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000004", + "po_item": "00050", + "po_date": "2025-05-22", + "promised_date": "2025-06-24", + "first_gr_date": "2025-06-21", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000005", + "po_item": "00010", + "po_date": "2025-05-27", + "promised_date": "2025-06-16", + "first_gr_date": "2025-06-13", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000006", + "po_item": "00020", + "po_date": "2025-06-02", + "promised_date": "2025-07-10", + "first_gr_date": "2025-07-09", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000007", + "po_item": "00030", + "po_date": "2025-06-11", + "promised_date": "2025-07-06", + "first_gr_date": "2025-07-10", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000008", + "po_item": "00040", + "po_date": "2025-06-19", + "promised_date": "2025-08-07", + "first_gr_date": "2025-08-07", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000009", + "po_item": "00050", + "po_date": "2025-06-25", + "promised_date": "2025-07-23", + "first_gr_date": "2025-07-21", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000010", + "po_item": "00010", + "po_date": "2025-06-30", + "promised_date": "2025-07-26", + "first_gr_date": "2025-07-26", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000011", + "po_item": "00020", + "po_date": "2025-07-07", + "promised_date": "2025-08-19", + "first_gr_date": "2025-08-25", + "days_late": 6, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000012", + "po_item": "00030", + "po_date": "2025-07-15", + "promised_date": "2025-08-07", + "first_gr_date": "2025-08-07", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000013", + "po_item": "00040", + "po_date": "2025-07-23", + "promised_date": "2025-08-20", + "first_gr_date": "2025-08-20", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000014", + "po_item": "00050", + "po_date": "2025-07-28", + "promised_date": "2025-08-23", + "first_gr_date": "2025-08-23", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000015", + "po_item": "00010", + "po_date": "2025-08-04", + "promised_date": "2025-08-27", + "first_gr_date": "2025-08-27", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000016", + "po_item": "00020", + "po_date": "2025-08-13", + "promised_date": "2025-09-25", + "first_gr_date": "2025-09-25", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000017", + "po_item": "00030", + "po_date": "2025-08-21", + "promised_date": "2025-10-05", + "first_gr_date": "2025-10-05", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000018", + "po_item": "00040", + "po_date": "2025-08-26", + "promised_date": "2025-10-12", + "first_gr_date": "2025-10-10", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000019", + "po_item": "00050", + "po_date": "2025-09-04", + "promised_date": "2025-09-28", + "first_gr_date": "2025-09-27", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000020", + "po_item": "00010", + "po_date": "2025-09-09", + "promised_date": "2025-10-03", + "first_gr_date": "2025-10-03", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000021", + "po_item": "00020", + "po_date": "2025-09-17", + "promised_date": "2025-10-22", + "first_gr_date": "2025-10-19", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000022", + "po_item": "00030", + "po_date": "2025-09-23", + "promised_date": "2025-10-17", + "first_gr_date": "2025-10-16", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000023", + "po_item": "00040", + "po_date": "2025-10-01", + "promised_date": "2025-10-29", + "first_gr_date": "2025-10-31", + "days_late": 2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000024", + "po_item": "00050", + "po_date": "2025-10-08", + "promised_date": "2025-11-01", + "first_gr_date": "2025-11-01", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000025", + "po_item": "00010", + "po_date": "2025-10-14", + "promised_date": "2025-11-19", + "first_gr_date": "2025-11-17", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000026", + "po_item": "00020", + "po_date": "2025-10-21", + "promised_date": "2025-12-04", + "first_gr_date": "2025-12-04", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000027", + "po_item": "00030", + "po_date": "2025-10-29", + "promised_date": "2025-12-01", + "first_gr_date": "2025-11-29", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000028", + "po_item": "00040", + "po_date": "2025-11-04", + "promised_date": "2025-12-03", + "first_gr_date": "2025-12-03", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000029", + "po_item": "00050", + "po_date": "2025-11-10", + "promised_date": "2025-12-19", + "first_gr_date": "2025-12-19", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000030", + "po_item": "00010", + "po_date": "2025-11-20", + "promised_date": "2025-12-23", + "first_gr_date": "2025-12-24", + "days_late": 1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000031", + "po_item": "00020", + "po_date": "2025-11-27", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-13", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000032", + "po_item": "00030", + "po_date": "2025-12-04", + "promised_date": "2026-01-17", + "first_gr_date": "2026-01-17", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000033", + "po_item": "00040", + "po_date": "2025-12-10", + "promised_date": "2026-01-15", + "first_gr_date": "2026-01-13", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000034", + "po_item": "00050", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-11", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000035", + "po_item": "00010", + "po_date": "2025-12-24", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-13", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000036", + "po_item": "00020", + "po_date": "2025-12-31", + "promised_date": "2026-02-01", + "first_gr_date": "2026-01-31", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000037", + "po_item": "00030", + "po_date": "2026-01-08", + "promised_date": "2026-02-10", + "first_gr_date": "2026-02-08", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000038", + "po_item": "00040", + "po_date": "2026-01-13", + "promised_date": "2026-02-13", + "first_gr_date": "2026-02-11", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000039", + "po_item": "00050", + "po_date": "2026-01-20", + "promised_date": "2026-03-01", + "first_gr_date": "2026-03-01", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000040", + "po_item": "00010", + "po_date": "2026-01-29", + "promised_date": "2026-02-25", + "first_gr_date": "2026-02-25", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000041", + "po_item": "00020", + "po_date": "2026-02-03", + "promised_date": "2026-03-07", + "first_gr_date": "2026-03-07", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000042", + "po_item": "00030", + "po_date": "2026-02-11", + "promised_date": "2026-03-18", + "first_gr_date": "2026-03-18", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000043", + "po_item": "00040", + "po_date": "2026-02-16", + "promised_date": "2026-03-23", + "first_gr_date": "2026-03-22", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000044", + "po_item": "00050", + "po_date": "2026-02-26", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-24", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000045", + "po_item": "00010", + "po_date": "2026-03-04", + "promised_date": "2026-03-27", + "first_gr_date": "2026-03-27", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000046", + "po_item": "00020", + "po_date": "2026-03-10", + "promised_date": "2026-04-26", + "first_gr_date": "2026-04-29", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000047", + "po_item": "00030", + "po_date": "2026-03-18", + "promised_date": "2026-05-03", + "first_gr_date": "2026-05-01", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000048", + "po_item": "00040", + "po_date": "2026-03-25", + "promised_date": "2026-04-22", + "first_gr_date": "2026-04-22", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000049", + "po_item": "00050", + "po_date": "2026-03-31", + "promised_date": "2026-05-09", + "first_gr_date": "2026-05-06", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000050", + "po_item": "00010", + "po_date": "2026-04-07", + "promised_date": "2026-04-30", + "first_gr_date": "2026-04-27", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000051", + "po_item": "00020", + "po_date": "2026-04-15", + "promised_date": "2026-05-11", + "first_gr_date": "2026-05-11", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000052", + "po_item": "00030", + "po_date": "2026-04-22", + "promised_date": "2026-06-06", + "first_gr_date": "2026-06-06", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000053", + "po_item": "00040", + "po_date": "2026-04-28", + "promised_date": "2026-05-29", + "first_gr_date": "2026-05-29", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000054", + "po_item": "00050", + "po_date": "2026-05-07", + "promised_date": "2026-06-13", + "first_gr_date": "2026-06-13", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000055", + "po_item": "00010", + "po_date": "2026-05-11", + "promised_date": "2026-06-15", + "first_gr_date": "2026-06-13", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000056", + "po_item": "00010", + "po_date": "2026-02-25", + "promised_date": "2026-04-09", + "first_gr_date": "2026-04-10", + "days_late": 1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000057", + "po_item": "00020", + "po_date": "2026-03-02", + "promised_date": "2026-04-01", + "first_gr_date": "2026-04-01", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000058", + "po_item": "00030", + "po_date": "2026-03-11", + "promised_date": "2026-04-07", + "first_gr_date": "2026-04-12", + "days_late": 5, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000059", + "po_item": "00040", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "first_gr_date": "2026-05-01", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000060", + "po_item": "00050", + "po_date": "2026-03-24", + "promised_date": "2026-04-13", + "first_gr_date": "2026-04-14", + "days_late": 1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000061", + "po_item": "00010", + "po_date": "2026-04-01", + "promised_date": "2026-05-21", + "first_gr_date": "2026-05-18", + "days_late": -3, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000062", + "po_item": "00020", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "first_gr_date": "2026-05-27", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000063", + "po_item": "00030", + "po_date": "2026-04-13", + "promised_date": "2026-05-07", + "first_gr_date": "2026-05-07", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000064", + "po_item": "00040", + "po_date": "2026-04-21", + "promised_date": "2026-06-06", + "first_gr_date": "2026-06-05", + "days_late": -1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000065", + "po_item": "00050", + "po_date": "2026-04-27", + "promised_date": "2026-05-19", + "first_gr_date": "2026-05-19", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000066", + "po_item": "00010", + "po_date": "2026-05-04", + "promised_date": "2026-06-16", + "first_gr_date": "2026-06-16", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000067", + "po_item": "00020", + "po_date": "2026-05-14", + "promised_date": "2026-06-04", + "first_gr_date": "2026-06-22", + "days_late": 18, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000068", + "po_item": "00010", + "po_date": "2026-02-24", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-07", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000069", + "po_item": "00020", + "po_date": "2026-03-04", + "promised_date": "2026-04-06", + "first_gr_date": "2026-04-09", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000070", + "po_item": "00030", + "po_date": "2026-03-09", + "promised_date": "2026-04-22", + "first_gr_date": "2026-05-12", + "days_late": 20, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000071", + "po_item": "00040", + "po_date": "2026-03-17", + "promised_date": "2026-04-16", + "first_gr_date": "2026-04-13", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000072", + "po_item": "00050", + "po_date": "2026-03-24", + "promised_date": "2026-05-03", + "first_gr_date": "2026-05-21", + "days_late": 18, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000073", + "po_item": "00010", + "po_date": "2026-03-31", + "promised_date": "2026-05-08", + "first_gr_date": "2026-06-07", + "days_late": 30, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000074", + "po_item": "00020", + "po_date": "2026-04-08", + "promised_date": "2026-05-06", + "first_gr_date": "2026-05-06", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000075", + "po_item": "00030", + "po_date": "2026-04-13", + "promised_date": "2026-05-18", + "first_gr_date": "2026-05-15", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000076", + "po_item": "00040", + "po_date": "2026-04-20", + "promised_date": "2026-06-04", + "first_gr_date": "2026-06-04", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000077", + "po_item": "00050", + "po_date": "2026-04-29", + "promised_date": "2026-06-02", + "first_gr_date": "2026-06-02", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000078", + "po_item": "00010", + "po_date": "2026-05-06", + "promised_date": "2026-06-06", + "first_gr_date": "2026-06-03", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000079", + "po_item": "00020", + "po_date": "2026-05-12", + "promised_date": "2026-06-09", + "first_gr_date": "2026-06-09", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + } + ] + }, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/procurement_lowland_robusta.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/procurement_lowland_robusta.json new file mode 100644 index 00000000000..59fb911a279 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/procurement_lowland_robusta.json @@ -0,0 +1,2575 @@ +{ + "id": "procurement_lowland_robusta", + "label": "Procurement: Lowland Robusta", + "type": "procurement", + "durations": [ + 26.2, 39.4, 4.1, 54.9, 20.5, 33.6, 12.3, 67.2, 31.2, 16.4, 42.6, 8.2, 36.1, + 23.0, 28.7, 14.8, 45.1, 21.3, 21.3, 23.8, 25.4, 27.9, 30.3, 21.3, 23.0, + 25.4, 27.1, 29.5, 27.1, 29.5, 31.2, 34.4, 23.0, 26.2, 28.7, 31.2, 19.7, + 23.0, 32.8, 35.3, 23.8, 27.1, 28.7, 32.8, 21.3, 23.8, 25.4, 27.9, 18.0, + 21.3, 23.0, 25.4, 27.1, 25.4, 27.1, 29.5, 31.2, 34.4, 24.6, 26.2, 28.7, + 31.2, 19.7 + ], + "observations": [ + { + "date": "2022-02-08", + "value": 26.2 + }, + { + "date": "2022-04-19", + "value": 39.4 + }, + { + "date": "2022-07-11", + "value": 4.1 + }, + { + "date": "2022-09-28", + "value": 54.9 + }, + { + "date": "2022-12-15", + "value": 20.5 + }, + { + "date": "2023-03-07", + "value": 33.6 + }, + { + "date": "2023-05-22", + "value": 12.3 + }, + { + "date": "2023-08-09", + "value": 67.2 + }, + { + "date": "2023-10-30", + "value": 31.2 + }, + { + "date": "2024-01-16", + "value": 16.4 + }, + { + "date": "2024-03-25", + "value": 42.6 + }, + { + "date": "2024-06-12", + "value": 8.2 + }, + { + "date": "2024-08-28", + "value": 36.1 + }, + { + "date": "2024-11-14", + "value": 23.0 + }, + { + "date": "2025-01-06", + "value": 28.7 + }, + { + "date": "2025-03-18", + "value": 14.8 + }, + { + "date": "2025-05-29", + "value": 45.1 + }, + { + "date": "2025-08-12", + "value": 21.3 + }, + { + "date": "2025-09-04", + "value": 21.3 + }, + { + "date": "2025-09-10", + "value": 23.8 + }, + { + "date": "2025-09-16", + "value": 25.4 + }, + { + "date": "2025-09-22", + "value": 27.9 + }, + { + "date": "2025-09-28", + "value": 30.3 + }, + { + "date": "2025-10-05", + "value": 21.3 + }, + { + "date": "2025-10-11", + "value": 23.0 + }, + { + "date": "2025-10-17", + "value": 25.4 + }, + { + "date": "2025-10-23", + "value": 27.1 + }, + { + "date": "2025-10-29", + "value": 29.5 + }, + { + "date": "2025-11-06", + "value": 27.1 + }, + { + "date": "2025-11-12", + "value": 29.5 + }, + { + "date": "2025-11-18", + "value": 31.2 + }, + { + "date": "2025-11-24", + "value": 34.4 + }, + { + "date": "2025-11-30", + "value": 23.0 + }, + { + "date": "2025-12-04", + "value": 26.2 + }, + { + "date": "2025-12-10", + "value": 28.7 + }, + { + "date": "2025-12-16", + "value": 31.2 + }, + { + "date": "2025-12-22", + "value": 19.7 + }, + { + "date": "2025-12-28", + "value": 23.0 + }, + { + "date": "2026-01-05", + "value": 32.8 + }, + { + "date": "2026-01-11", + "value": 35.3 + }, + { + "date": "2026-01-17", + "value": 23.8 + }, + { + "date": "2026-01-23", + "value": 27.1 + }, + { + "date": "2026-01-29", + "value": 28.7 + }, + { + "date": "2026-02-06", + "value": 32.8 + }, + { + "date": "2026-02-12", + "value": 21.3 + }, + { + "date": "2026-02-18", + "value": 23.8 + }, + { + "date": "2026-02-24", + "value": 25.4 + }, + { + "date": "2026-02-30", + "value": 27.9 + }, + { + "date": "2026-03-04", + "value": 18.0 + }, + { + "date": "2026-03-10", + "value": 21.3 + }, + { + "date": "2026-03-16", + "value": 23.0 + }, + { + "date": "2026-03-22", + "value": 25.4 + }, + { + "date": "2026-03-28", + "value": 27.1 + }, + { + "date": "2026-04-05", + "value": 25.4 + }, + { + "date": "2026-04-11", + "value": 27.1 + }, + { + "date": "2026-04-17", + "value": 29.5 + }, + { + "date": "2026-04-23", + "value": 31.2 + }, + { + "date": "2026-04-29", + "value": 34.4 + }, + { + "date": "2026-05-06", + "value": 24.6 + }, + { + "date": "2026-05-12", + "value": 26.2 + }, + { + "date": "2026-05-18", + "value": 28.7 + }, + { + "date": "2026-05-24", + "value": 31.2 + }, + { + "date": "2026-05-30", + "value": 19.7 + } + ], + "monthly": [ + { + "month": "2022-02", + "mean": 26.2, + "median": 26.2, + "p10": 26.2, + "p25": 26.2, + "p75": 26.2, + "p90": 26.2, + "n": 1 + }, + { + "month": "2022-04", + "mean": 39.4, + "median": 39.4, + "p10": 39.4, + "p25": 39.4, + "p75": 39.4, + "p90": 39.4, + "n": 1 + }, + { + "month": "2022-07", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-09", + "mean": 54.9, + "median": 54.9, + "p10": 54.9, + "p25": 54.9, + "p75": 54.9, + "p90": 54.9, + "n": 1 + }, + { + "month": "2022-12", + "mean": 20.5, + "median": 20.5, + "p10": 20.5, + "p25": 20.5, + "p75": 20.5, + "p90": 20.5, + "n": 1 + }, + { + "month": "2023-03", + "mean": 33.6, + "median": 33.6, + "p10": 33.6, + "p25": 33.6, + "p75": 33.6, + "p90": 33.6, + "n": 1 + }, + { + "month": "2023-05", + "mean": 12.3, + "median": 12.3, + "p10": 12.3, + "p25": 12.3, + "p75": 12.3, + "p90": 12.3, + "n": 1 + }, + { + "month": "2023-08", + "mean": 67.2, + "median": 67.2, + "p10": 67.2, + "p25": 67.2, + "p75": 67.2, + "p90": 67.2, + "n": 1 + }, + { + "month": "2023-10", + "mean": 31.2, + "median": 31.2, + "p10": 31.2, + "p25": 31.2, + "p75": 31.2, + "p90": 31.2, + "n": 1 + }, + { + "month": "2024-01", + "mean": 16.4, + "median": 16.4, + "p10": 16.4, + "p25": 16.4, + "p75": 16.4, + "p90": 16.4, + "n": 1 + }, + { + "month": "2024-03", + "mean": 42.6, + "median": 42.6, + "p10": 42.6, + "p25": 42.6, + "p75": 42.6, + "p90": 42.6, + "n": 1 + }, + { + "month": "2024-06", + "mean": 8.2, + "median": 8.2, + "p10": 8.2, + "p25": 8.2, + "p75": 8.2, + "p90": 8.2, + "n": 1 + }, + { + "month": "2024-08", + "mean": 36.1, + "median": 36.1, + "p10": 36.1, + "p25": 36.1, + "p75": 36.1, + "p90": 36.1, + "n": 1 + }, + { + "month": "2024-11", + "mean": 23.0, + "median": 23.0, + "p10": 23.0, + "p25": 23.0, + "p75": 23.0, + "p90": 23.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 28.7, + "median": 28.7, + "p10": 28.7, + "p25": 28.7, + "p75": 28.7, + "p90": 28.7, + "n": 1 + }, + { + "month": "2025-03", + "mean": 14.8, + "median": 14.8, + "p10": 14.8, + "p25": 14.8, + "p75": 14.8, + "p90": 14.8, + "n": 1 + }, + { + "month": "2025-05", + "mean": 45.1, + "median": 45.1, + "p10": 45.1, + "p25": 45.1, + "p75": 45.1, + "p90": 45.1, + "n": 1 + }, + { + "month": "2025-08", + "mean": 21.3, + "median": 21.3, + "p10": 21.3, + "p25": 21.3, + "p75": 21.3, + "p90": 21.3, + "n": 1 + }, + { + "month": "2025-09", + "mean": 25.7, + "median": 25.4, + "p10": 22.3, + "p25": 23.8, + "p75": 27.9, + "p90": 29.4, + "n": 5 + }, + { + "month": "2025-10", + "mean": 25.3, + "median": 25.4, + "p10": 22.0, + "p25": 23.0, + "p75": 27.1, + "p90": 28.5, + "n": 5 + }, + { + "month": "2025-11", + "mean": 29.0, + "median": 29.5, + "p10": 24.6, + "p25": 27.1, + "p75": 31.2, + "p90": 33.1, + "n": 5 + }, + { + "month": "2025-12", + "mean": 25.7, + "median": 26.2, + "p10": 21.0, + "p25": 23.0, + "p75": 28.7, + "p90": 30.2, + "n": 5 + }, + { + "month": "2026-01", + "mean": 29.5, + "median": 28.7, + "p10": 25.1, + "p25": 27.1, + "p75": 32.8, + "p90": 34.3, + "n": 5 + }, + { + "month": "2026-02", + "mean": 26.2, + "median": 25.4, + "p10": 22.3, + "p25": 23.8, + "p75": 27.9, + "p90": 30.8, + "n": 5 + }, + { + "month": "2026-03", + "mean": 23.0, + "median": 23.0, + "p10": 19.4, + "p25": 21.3, + "p75": 25.4, + "p90": 26.4, + "n": 5 + }, + { + "month": "2026-04", + "mean": 29.5, + "median": 29.5, + "p10": 26.1, + "p25": 27.1, + "p75": 31.2, + "p90": 33.1, + "n": 5 + }, + { + "month": "2026-05", + "mean": 26.1, + "median": 26.2, + "p10": 21.6, + "p25": 24.6, + "p75": 28.7, + "p90": 30.2, + "n": 5 + } + ], + "stats": { + "n": 63, + "mean": 27.4, + "median": 27.1, + "std": 11.4, + "min": 4.1, + "max": 67.2, + "p25": 23.0, + "p75": 31.2, + "p85": 32.8, + "p95": 39.4 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 96.8, + "annotations": [], + "cost": null, + "detail_rows": { + "columns": [ + { + "key": "matnr", + "sap_field": "MATNR", + "sap_table": "EKPO", + "label": "Material", + "unit": null + }, + { + "key": "po_number", + "sap_field": "EBELN", + "sap_table": "EKKO", + "label": "PO Number", + "unit": null + }, + { + "key": "po_item", + "sap_field": "EBELP", + "sap_table": "EKPO", + "label": "PO Item", + "unit": null + }, + { + "key": "vendor_id", + "sap_field": "LIFNR", + "sap_table": "EKKO", + "label": "Vendor (LIFNR)", + "unit": null + }, + { + "key": "vendor_name", + "sap_field": "NAME1", + "sap_table": "LFA1", + "label": "Vendor Name", + "unit": null + }, + { + "key": "po_date", + "sap_field": "BEDAT", + "sap_table": "EKKO", + "label": "PO Date", + "unit": null + }, + { + "key": "promised_date", + "sap_field": "EINDT", + "sap_table": "EKET", + "label": "Promised Date", + "unit": null + }, + { + "key": "sched_qty", + "sap_field": "MENGE", + "sap_table": "EKET", + "label": "Scheduled Qty", + "unit": null + }, + { + "key": "gr_qty_to_date", + "sap_field": "WEMNG", + "sap_table": "EKET", + "label": "GR Qty (to date)", + "unit": null + }, + { + "key": "gr_mblnr", + "sap_field": "MBLNR", + "sap_table": "MSEG", + "label": "Goods Receipt Document", + "unit": null + }, + { + "key": "first_gr_date", + "sap_field": "BUDAT", + "sap_table": "MKPF", + "label": "Goods Receipt Date", + "unit": null + }, + { + "key": "days_vs_promised", + "sap_field": null, + "sap_table": null, + "label": "Days vs Promised", + "unit": "d" + }, + { + "key": "lead_time_days", + "sap_field": null, + "sap_table": null, + "label": "Lead Time (days)", + "unit": "d" + } + ], + "rows": [ + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000081", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-08-07", + "promised_date": "2025-08-30", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000081", + "first_gr_date": "2025-08-29", + "days_vs_promised": -1, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000082", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-08-11", + "promised_date": "2025-09-05", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000082", + "first_gr_date": "2025-09-03", + "days_vs_promised": -2, + "lead_time_days": 23 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000080", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-07-29", + "promised_date": "2025-09-10", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000080", + "first_gr_date": "2025-09-08", + "days_vs_promised": -2, + "lead_time_days": 41 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000083", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-08-19", + "promised_date": "2025-09-16", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000083", + "first_gr_date": "2025-09-16", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000084", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-08-27", + "promised_date": "2025-10-02", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000084", + "first_gr_date": "2025-10-01", + "days_vs_promised": -1, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000086", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-10", + "promised_date": "2025-10-14", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000086", + "first_gr_date": "2025-10-14", + "days_vs_promised": 0, + "lead_time_days": 34 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000088", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-22", + "promised_date": "2025-10-14", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000088", + "first_gr_date": "2025-10-14", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000085", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-04", + "promised_date": "2025-10-21", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000085", + "first_gr_date": "2025-10-19", + "days_vs_promised": -2, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000087", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-15", + "promised_date": "2025-10-23", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000087", + "first_gr_date": "2025-10-22", + "days_vs_promised": -1, + "lead_time_days": 37 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000089", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-29", + "promised_date": "2025-11-02", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000089", + "first_gr_date": "2025-11-01", + "days_vs_promised": -1, + "lead_time_days": 33 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000090", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-10-08", + "promised_date": "2025-11-07", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000090", + "first_gr_date": "2025-11-06", + "days_vs_promised": -1, + "lead_time_days": 29 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000093", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-10-27", + "promised_date": "2025-11-23", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000093", + "first_gr_date": "2025-11-23", + "days_vs_promised": 0, + "lead_time_days": 27 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000094", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-11-04", + "promised_date": "2025-11-25", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000094", + "first_gr_date": "2025-11-25", + "days_vs_promised": 0, + "lead_time_days": 21 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000091", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-10-14", + "promised_date": "2025-12-02", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000091", + "first_gr_date": "2025-11-30", + "days_vs_promised": -2, + "lead_time_days": 47 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000092", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-10-20", + "promised_date": "2025-12-08", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000092", + "first_gr_date": "2025-12-07", + "days_vs_promised": -1, + "lead_time_days": 48 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000095", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-11-11", + "promised_date": "2025-12-23", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000095", + "first_gr_date": "2025-12-20", + "days_vs_promised": -3, + "lead_time_days": 39 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000099", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-09", + "promised_date": "2025-12-30", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000099", + "first_gr_date": "2025-12-27", + "days_vs_promised": -3, + "lead_time_days": 18 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000096", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-11-20", + "promised_date": "2025-12-28", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000096", + "first_gr_date": "2025-12-28", + "days_vs_promised": 0, + "lead_time_days": 38 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000098", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-03", + "promised_date": "2025-12-28", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000098", + "first_gr_date": "2025-12-28", + "days_vs_promised": 0, + "lead_time_days": 25 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000097", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-11-25", + "promised_date": "2025-12-31", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000097", + "first_gr_date": "2025-12-30", + "days_vs_promised": -1, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000101", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-23", + "promised_date": "2026-01-15", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000101", + "first_gr_date": "2026-01-15", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000102", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-31", + "promised_date": "2026-01-20", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000102", + "first_gr_date": "2026-01-20", + "days_vs_promised": 0, + "lead_time_days": 20 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000100", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-17", + "promised_date": "2026-02-04", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000100", + "first_gr_date": "2026-02-04", + "days_vs_promised": 0, + "lead_time_days": 49 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000122", + "po_item": "00010", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-01-12", + "promised_date": "2026-02-04", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000122", + "first_gr_date": "2026-02-04", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000104", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-01-14", + "promised_date": "2026-02-09", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000104", + "first_gr_date": "2026-02-08", + "days_vs_promised": -1, + "lead_time_days": 25 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000103", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-01-06", + "promised_date": "2026-02-13", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000103", + "first_gr_date": "2026-02-13", + "days_vs_promised": 0, + "lead_time_days": 38 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000105", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-01-19", + "promised_date": "2026-02-23", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000105", + "first_gr_date": "2026-02-23", + "days_vs_promised": 0, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000125", + "po_item": "00040", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-02-02", + "promised_date": "2026-02-24", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000125", + "first_gr_date": "2026-02-24", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000123", + "po_item": "00020", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-01-20", + "promised_date": "2026-02-27", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000123", + "first_gr_date": "2026-02-27", + "days_vs_promised": 0, + "lead_time_days": 38 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000107", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-02-05", + "promised_date": "2026-03-02", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000107", + "first_gr_date": "2026-03-02", + "days_vs_promised": 0, + "lead_time_days": 25 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000124", + "po_item": "00030", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-01-29", + "promised_date": "2026-03-10", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000124", + "first_gr_date": "2026-03-07", + "days_vs_promised": -3, + "lead_time_days": 37 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000106", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-01-27", + "promised_date": "2026-03-16", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000106", + "first_gr_date": "2026-03-13", + "days_vs_promised": -3, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000126", + "po_item": "00050", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-02-09", + "promised_date": "2026-03-14", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000126", + "first_gr_date": "2026-03-14", + "days_vs_promised": 0, + "lead_time_days": 33 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000127", + "po_item": "00010", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-02-17", + "promised_date": "2026-03-24", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000127", + "first_gr_date": "2026-03-23", + "days_vs_promised": -1, + "lead_time_days": 34 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000108", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-02-12", + "promised_date": "2026-03-24", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000108", + "first_gr_date": "2026-03-24", + "days_vs_promised": 0, + "lead_time_days": 40 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000128", + "po_item": "00020", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-02-23", + "promised_date": "2026-03-24", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000128", + "first_gr_date": "2026-03-24", + "days_vs_promised": 0, + "lead_time_days": 29 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000110", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-02-24", + "promised_date": "2026-03-27", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000110", + "first_gr_date": "2026-03-25", + "days_vs_promised": -2, + "lead_time_days": 29 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000109", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-02-17", + "promised_date": "2026-04-06", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000109", + "first_gr_date": "2026-04-06", + "days_vs_promised": 0, + "lead_time_days": 48 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000129", + "po_item": "00030", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-03-04", + "promised_date": "2026-04-11", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000129", + "first_gr_date": "2026-04-08", + "days_vs_promised": -3, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000114", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-03-23", + "promised_date": "2026-04-13", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000114", + "first_gr_date": "2026-04-11", + "days_vs_promised": -2, + "lead_time_days": 19 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000111", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-03-05", + "promised_date": "2026-04-15", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000111", + "first_gr_date": "2026-04-12", + "days_vs_promised": -3, + "lead_time_days": 38 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000112", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-03-09", + "promised_date": "2026-04-13", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000112", + "first_gr_date": "2026-04-13", + "days_vs_promised": 0, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000130", + "po_item": "00040", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-03-09", + "promised_date": "2026-04-17", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000130", + "first_gr_date": "2026-04-17", + "days_vs_promised": 0, + "lead_time_days": 39 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000115", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-01", + "promised_date": "2026-04-23", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000115", + "first_gr_date": "2026-04-23", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000134", + "po_item": "00030", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-06", + "promised_date": "2026-05-03", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000134", + "first_gr_date": "2026-04-30", + "days_vs_promised": -3, + "lead_time_days": 24 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000113", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-03-17", + "promised_date": "2026-05-04", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000113", + "first_gr_date": "2026-05-01", + "days_vs_promised": -3, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000131", + "po_item": "00050", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000131", + "first_gr_date": "2026-05-01", + "days_vs_promised": 0, + "lead_time_days": 46 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000117", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-15", + "promised_date": "2026-05-05", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000117", + "first_gr_date": "2026-05-05", + "days_vs_promised": 0, + "lead_time_days": 20 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000136", + "po_item": "00050", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-20", + "promised_date": "2026-05-10", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000136", + "first_gr_date": "2026-05-08", + "days_vs_promised": -2, + "lead_time_days": 18 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000132", + "po_item": "00010", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-03-25", + "promised_date": "2026-05-11", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000132", + "first_gr_date": "2026-05-09", + "days_vs_promised": -2, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000133", + "po_item": "00020", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-02", + "promised_date": "2026-05-13", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000133", + "first_gr_date": "2026-05-13", + "days_vs_promised": 0, + "lead_time_days": 41 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000135", + "po_item": "00040", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-15", + "promised_date": "2026-05-18", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000135", + "first_gr_date": "2026-05-18", + "days_vs_promised": 0, + "lead_time_days": 33 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000116", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-06", + "promised_date": "2026-05-21", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000116", + "first_gr_date": "2026-05-21", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000138", + "po_item": "00020", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-05-06", + "promised_date": "2026-05-28", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000138", + "first_gr_date": "2026-05-28", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000118", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-20", + "promised_date": "2026-06-01", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000118", + "first_gr_date": "2026-05-31", + "days_vs_promised": -1, + "lead_time_days": 41 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000139", + "po_item": "00030", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-05-14", + "promised_date": "2026-06-03", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000139", + "first_gr_date": "2026-05-31", + "days_vs_promised": -3, + "lead_time_days": 17 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000137", + "po_item": "00010", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-29", + "promised_date": "2026-06-01", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000137", + "first_gr_date": "2026-06-01", + "days_vs_promised": 0, + "lead_time_days": 33 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000120", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-05-06", + "promised_date": "2026-06-08", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000120", + "first_gr_date": "2026-06-05", + "days_vs_promised": -3, + "lead_time_days": 30 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000119", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-30", + "promised_date": "2026-06-17", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000119", + "first_gr_date": "2026-06-17", + "days_vs_promised": 0, + "lead_time_days": 48 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000121", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-05-13", + "promised_date": "2026-06-19", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000121", + "first_gr_date": "2026-06-19", + "days_vs_promised": 0, + "lead_time_days": 37 + } + ] + }, + "ref_date_col": "first_gr_date", + "n_batches": null, + "n_movements": 18, + "yield_data": null, + "consumption_data": null, + "supplier_otif": { + "primary_vendor": { + "id": "D0004", + "name": "Riverbend Reliable Supply" + }, + "vendors": [ + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "n_lines": 42, + "n_late": 0, + "on_time_pct": 100.0, + "in_full_pct": 100.0, + "otif_pct": 100.0, + "mean_days_late_all": 0, + "mean_days_late_when_late": null, + "median_days_late_when_late": null, + "max_days_late": 0, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 0.0, + "ge_3d_pct": 0.0, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + } + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "n_lines": 18, + "n_late": 0, + "on_time_pct": 100.0, + "in_full_pct": 100.0, + "otif_pct": 100.0, + "mean_days_late_all": 0, + "mean_days_late_when_late": null, + "median_days_late_when_late": null, + "max_days_late": 0, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 0.0, + "ge_3d_pct": 0.0, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + } + } + ], + "worst_events": [], + "coverage_pct": 100.0, + "n_lines": 60, + "data_quality_note": "100% in-full across every line \u2014 likely WEMNG = MENGE is auto-stamped at goods receipt rather than measured. Treat the in-full metric as a data-entry artifact at this site.", + "tolerance_days": 0, + "under_tolerance_pct": 0.05, + "lines": [ + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000080", + "po_item": "00010", + "po_date": "2025-07-29", + "promised_date": "2025-09-10", + "first_gr_date": "2025-09-08", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000081", + "po_item": "00020", + "po_date": "2025-08-07", + "promised_date": "2025-08-30", + "first_gr_date": "2025-08-29", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000082", + "po_item": "00030", + "po_date": "2025-08-11", + "promised_date": "2025-09-05", + "first_gr_date": "2025-09-03", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000083", + "po_item": "00040", + "po_date": "2025-08-19", + "promised_date": "2025-09-16", + "first_gr_date": "2025-09-16", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000084", + "po_item": "00050", + "po_date": "2025-08-27", + "promised_date": "2025-10-02", + "first_gr_date": "2025-10-01", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000085", + "po_item": "00010", + "po_date": "2025-09-04", + "promised_date": "2025-10-21", + "first_gr_date": "2025-10-19", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000086", + "po_item": "00020", + "po_date": "2025-09-10", + "promised_date": "2025-10-14", + "first_gr_date": "2025-10-14", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000087", + "po_item": "00030", + "po_date": "2025-09-15", + "promised_date": "2025-10-23", + "first_gr_date": "2025-10-22", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000088", + "po_item": "00040", + "po_date": "2025-09-22", + "promised_date": "2025-10-14", + "first_gr_date": "2025-10-14", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000089", + "po_item": "00050", + "po_date": "2025-09-29", + "promised_date": "2025-11-02", + "first_gr_date": "2025-11-01", + "days_late": -1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000090", + "po_item": "00010", + "po_date": "2025-10-08", + "promised_date": "2025-11-07", + "first_gr_date": "2025-11-06", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000091", + "po_item": "00020", + "po_date": "2025-10-14", + "promised_date": "2025-12-02", + "first_gr_date": "2025-11-30", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000092", + "po_item": "00030", + "po_date": "2025-10-20", + "promised_date": "2025-12-08", + "first_gr_date": "2025-12-07", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000093", + "po_item": "00040", + "po_date": "2025-10-27", + "promised_date": "2025-11-23", + "first_gr_date": "2025-11-23", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000094", + "po_item": "00050", + "po_date": "2025-11-04", + "promised_date": "2025-11-25", + "first_gr_date": "2025-11-25", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000095", + "po_item": "00010", + "po_date": "2025-11-11", + "promised_date": "2025-12-23", + "first_gr_date": "2025-12-20", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000096", + "po_item": "00020", + "po_date": "2025-11-20", + "promised_date": "2025-12-28", + "first_gr_date": "2025-12-28", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000097", + "po_item": "00030", + "po_date": "2025-11-25", + "promised_date": "2025-12-31", + "first_gr_date": "2025-12-30", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000098", + "po_item": "00040", + "po_date": "2025-12-03", + "promised_date": "2025-12-28", + "first_gr_date": "2025-12-28", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000099", + "po_item": "00050", + "po_date": "2025-12-09", + "promised_date": "2025-12-30", + "first_gr_date": "2025-12-27", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000100", + "po_item": "00010", + "po_date": "2025-12-17", + "promised_date": "2026-02-04", + "first_gr_date": "2026-02-04", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000101", + "po_item": "00020", + "po_date": "2025-12-23", + "promised_date": "2026-01-15", + "first_gr_date": "2026-01-15", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000102", + "po_item": "00030", + "po_date": "2025-12-31", + "promised_date": "2026-01-20", + "first_gr_date": "2026-01-20", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000103", + "po_item": "00040", + "po_date": "2026-01-06", + "promised_date": "2026-02-13", + "first_gr_date": "2026-02-13", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000104", + "po_item": "00050", + "po_date": "2026-01-14", + "promised_date": "2026-02-09", + "first_gr_date": "2026-02-08", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000105", + "po_item": "00010", + "po_date": "2026-01-19", + "promised_date": "2026-02-23", + "first_gr_date": "2026-02-23", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000106", + "po_item": "00020", + "po_date": "2026-01-27", + "promised_date": "2026-03-16", + "first_gr_date": "2026-03-13", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000107", + "po_item": "00030", + "po_date": "2026-02-05", + "promised_date": "2026-03-02", + "first_gr_date": "2026-03-02", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000108", + "po_item": "00040", + "po_date": "2026-02-12", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-24", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000109", + "po_item": "00050", + "po_date": "2026-02-17", + "promised_date": "2026-04-06", + "first_gr_date": "2026-04-06", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000110", + "po_item": "00010", + "po_date": "2026-02-24", + "promised_date": "2026-03-27", + "first_gr_date": "2026-03-25", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000111", + "po_item": "00020", + "po_date": "2026-03-05", + "promised_date": "2026-04-15", + "first_gr_date": "2026-04-12", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000112", + "po_item": "00030", + "po_date": "2026-03-09", + "promised_date": "2026-04-13", + "first_gr_date": "2026-04-13", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000113", + "po_item": "00040", + "po_date": "2026-03-17", + "promised_date": "2026-05-04", + "first_gr_date": "2026-05-01", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000114", + "po_item": "00050", + "po_date": "2026-03-23", + "promised_date": "2026-04-13", + "first_gr_date": "2026-04-11", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000115", + "po_item": "00010", + "po_date": "2026-04-01", + "promised_date": "2026-04-23", + "first_gr_date": "2026-04-23", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000116", + "po_item": "00020", + "po_date": "2026-04-06", + "promised_date": "2026-05-21", + "first_gr_date": "2026-05-21", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000117", + "po_item": "00030", + "po_date": "2026-04-15", + "promised_date": "2026-05-05", + "first_gr_date": "2026-05-05", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000118", + "po_item": "00040", + "po_date": "2026-04-20", + "promised_date": "2026-06-01", + "first_gr_date": "2026-05-31", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000119", + "po_item": "00050", + "po_date": "2026-04-30", + "promised_date": "2026-06-17", + "first_gr_date": "2026-06-17", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000120", + "po_item": "00010", + "po_date": "2026-05-06", + "promised_date": "2026-06-08", + "first_gr_date": "2026-06-05", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000121", + "po_item": "00020", + "po_date": "2026-05-13", + "promised_date": "2026-06-19", + "first_gr_date": "2026-06-19", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000122", + "po_item": "00010", + "po_date": "2026-01-12", + "promised_date": "2026-02-04", + "first_gr_date": "2026-02-04", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000123", + "po_item": "00020", + "po_date": "2026-01-20", + "promised_date": "2026-02-27", + "first_gr_date": "2026-02-27", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000124", + "po_item": "00030", + "po_date": "2026-01-29", + "promised_date": "2026-03-10", + "first_gr_date": "2026-03-07", + "days_late": -3, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000125", + "po_item": "00040", + "po_date": "2026-02-02", + "promised_date": "2026-02-24", + "first_gr_date": "2026-02-24", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000126", + "po_item": "00050", + "po_date": "2026-02-09", + "promised_date": "2026-03-14", + "first_gr_date": "2026-03-14", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000127", + "po_item": "00010", + "po_date": "2026-02-17", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-23", + "days_late": -1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000128", + "po_item": "00020", + "po_date": "2026-02-23", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-24", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000129", + "po_item": "00030", + "po_date": "2026-03-04", + "promised_date": "2026-04-11", + "first_gr_date": "2026-04-08", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000130", + "po_item": "00040", + "po_date": "2026-03-09", + "promised_date": "2026-04-17", + "first_gr_date": "2026-04-17", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000131", + "po_item": "00050", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "first_gr_date": "2026-05-01", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000132", + "po_item": "00010", + "po_date": "2026-03-25", + "promised_date": "2026-05-11", + "first_gr_date": "2026-05-09", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000133", + "po_item": "00020", + "po_date": "2026-04-02", + "promised_date": "2026-05-13", + "first_gr_date": "2026-05-13", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000134", + "po_item": "00030", + "po_date": "2026-04-06", + "promised_date": "2026-05-03", + "first_gr_date": "2026-04-30", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000135", + "po_item": "00040", + "po_date": "2026-04-15", + "promised_date": "2026-05-18", + "first_gr_date": "2026-05-18", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000136", + "po_item": "00050", + "po_date": "2026-04-20", + "promised_date": "2026-05-10", + "first_gr_date": "2026-05-08", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000137", + "po_item": "00010", + "po_date": "2026-04-29", + "promised_date": "2026-06-01", + "first_gr_date": "2026-06-01", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000138", + "po_item": "00020", + "po_date": "2026-05-06", + "promised_date": "2026-05-28", + "first_gr_date": "2026-05-28", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000139", + "po_item": "00030", + "po_date": "2026-05-14", + "promised_date": "2026-06-03", + "first_gr_date": "2026-05-31", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + } + ] + }, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/procurement_washed_bourbon.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/procurement_washed_bourbon.json new file mode 100644 index 00000000000..632d0e613a2 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/procurement_washed_bourbon.json @@ -0,0 +1,2251 @@ +{ + "id": "procurement_washed_bourbon", + "label": "Procurement: Washed Bourbon", + "type": "procurement", + "durations": [ + 28.7, 13.1, 50.8, 5.7, 32.8, 20.5, 39.4, 9.8, 24.6, 11.5, 24.6, 15.6, 18.0, + 18.9, 20.5, 18.9, 20.5, 22.1, 23.8, 25.4, 18.9, 20.5, 22.1, 23.8, 25.4, + 18.0, 19.7, 21.3, 23.0, 14.8, 23.0, 24.6, 26.2, 18.0, 19.7, 22.1, 24.6, + 15.6, 18.0, 18.9, 27.9, 18.9, 20.5, 22.1, 23.8, 16.4, 18.9, 20.5, 22.1, + 23.8, 16.4, 18.0, 19.7, 21.3, 23.0 + ], + "observations": [ + { + "date": "2022-05-03", + "value": 28.7 + }, + { + "date": "2022-10-18", + "value": 13.1 + }, + { + "date": "2023-01-24", + "value": 50.8 + }, + { + "date": "2023-06-15", + "value": 5.7 + }, + { + "date": "2023-09-28", + "value": 32.8 + }, + { + "date": "2024-02-12", + "value": 20.5 + }, + { + "date": "2024-05-07", + "value": 39.4 + }, + { + "date": "2024-09-19", + "value": 9.8 + }, + { + "date": "2025-02-04", + "value": 24.6 + }, + { + "date": "2025-06-10", + "value": 11.5 + }, + { + "date": "2025-09-06", + "value": 24.6 + }, + { + "date": "2025-09-12", + "value": 15.6 + }, + { + "date": "2025-09-18", + "value": 18.0 + }, + { + "date": "2025-09-24", + "value": 18.9 + }, + { + "date": "2025-09-30", + "value": 20.5 + }, + { + "date": "2025-10-04", + "value": 18.9 + }, + { + "date": "2025-10-10", + "value": 20.5 + }, + { + "date": "2025-10-16", + "value": 22.1 + }, + { + "date": "2025-10-22", + "value": 23.8 + }, + { + "date": "2025-10-28", + "value": 25.4 + }, + { + "date": "2025-11-05", + "value": 18.9 + }, + { + "date": "2025-11-11", + "value": 20.5 + }, + { + "date": "2025-11-17", + "value": 22.1 + }, + { + "date": "2025-11-23", + "value": 23.8 + }, + { + "date": "2025-11-29", + "value": 25.4 + }, + { + "date": "2025-12-06", + "value": 18.0 + }, + { + "date": "2025-12-12", + "value": 19.7 + }, + { + "date": "2025-12-18", + "value": 21.3 + }, + { + "date": "2025-12-24", + "value": 23.0 + }, + { + "date": "2025-12-30", + "value": 14.8 + }, + { + "date": "2026-01-04", + "value": 23.0 + }, + { + "date": "2026-01-10", + "value": 24.6 + }, + { + "date": "2026-01-16", + "value": 26.2 + }, + { + "date": "2026-01-22", + "value": 18.0 + }, + { + "date": "2026-01-28", + "value": 19.7 + }, + { + "date": "2026-02-05", + "value": 22.1 + }, + { + "date": "2026-02-11", + "value": 24.6 + }, + { + "date": "2026-02-17", + "value": 15.6 + }, + { + "date": "2026-02-23", + "value": 18.0 + }, + { + "date": "2026-02-29", + "value": 18.9 + }, + { + "date": "2026-03-06", + "value": 27.9 + }, + { + "date": "2026-03-12", + "value": 18.9 + }, + { + "date": "2026-03-18", + "value": 20.5 + }, + { + "date": "2026-03-24", + "value": 22.1 + }, + { + "date": "2026-03-30", + "value": 23.8 + }, + { + "date": "2026-04-04", + "value": 16.4 + }, + { + "date": "2026-04-10", + "value": 18.9 + }, + { + "date": "2026-04-16", + "value": 20.5 + }, + { + "date": "2026-04-22", + "value": 22.1 + }, + { + "date": "2026-04-28", + "value": 23.8 + }, + { + "date": "2026-05-05", + "value": 16.4 + }, + { + "date": "2026-05-11", + "value": 18.0 + }, + { + "date": "2026-05-17", + "value": 19.7 + }, + { + "date": "2026-05-23", + "value": 21.3 + }, + { + "date": "2026-05-29", + "value": 23.0 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 28.7, + "median": 28.7, + "p10": 28.7, + "p25": 28.7, + "p75": 28.7, + "p90": 28.7, + "n": 1 + }, + { + "month": "2022-10", + "mean": 13.1, + "median": 13.1, + "p10": 13.1, + "p25": 13.1, + "p75": 13.1, + "p90": 13.1, + "n": 1 + }, + { + "month": "2023-01", + "mean": 50.8, + "median": 50.8, + "p10": 50.8, + "p25": 50.8, + "p75": 50.8, + "p90": 50.8, + "n": 1 + }, + { + "month": "2023-06", + "mean": 5.7, + "median": 5.7, + "p10": 5.7, + "p25": 5.7, + "p75": 5.7, + "p90": 5.7, + "n": 1 + }, + { + "month": "2023-09", + "mean": 32.8, + "median": 32.8, + "p10": 32.8, + "p25": 32.8, + "p75": 32.8, + "p90": 32.8, + "n": 1 + }, + { + "month": "2024-02", + "mean": 20.5, + "median": 20.5, + "p10": 20.5, + "p25": 20.5, + "p75": 20.5, + "p90": 20.5, + "n": 1 + }, + { + "month": "2024-05", + "mean": 39.4, + "median": 39.4, + "p10": 39.4, + "p25": 39.4, + "p75": 39.4, + "p90": 39.4, + "n": 1 + }, + { + "month": "2024-09", + "mean": 9.8, + "median": 9.8, + "p10": 9.8, + "p25": 9.8, + "p75": 9.8, + "p90": 9.8, + "n": 1 + }, + { + "month": "2025-02", + "mean": 24.6, + "median": 24.6, + "p10": 24.6, + "p25": 24.6, + "p75": 24.6, + "p90": 24.6, + "n": 1 + }, + { + "month": "2025-06", + "mean": 11.5, + "median": 11.5, + "p10": 11.5, + "p25": 11.5, + "p75": 11.5, + "p90": 11.5, + "n": 1 + }, + { + "month": "2025-09", + "mean": 19.5, + "median": 18.9, + "p10": 16.6, + "p25": 18.0, + "p75": 20.5, + "p90": 23.0, + "n": 5 + }, + { + "month": "2025-10", + "mean": 22.1, + "median": 22.1, + "p10": 19.5, + "p25": 20.5, + "p75": 23.8, + "p90": 24.8, + "n": 5 + }, + { + "month": "2025-11", + "mean": 22.1, + "median": 22.1, + "p10": 19.5, + "p25": 20.5, + "p75": 23.8, + "p90": 24.8, + "n": 5 + }, + { + "month": "2025-12", + "mean": 19.4, + "median": 19.7, + "p10": 16.1, + "p25": 18.0, + "p75": 21.3, + "p90": 22.3, + "n": 5 + }, + { + "month": "2026-01", + "mean": 22.3, + "median": 23.0, + "p10": 18.7, + "p25": 19.7, + "p75": 24.6, + "p90": 25.6, + "n": 5 + }, + { + "month": "2026-02", + "mean": 19.8, + "median": 18.9, + "p10": 16.6, + "p25": 18.0, + "p75": 22.1, + "p90": 23.6, + "n": 5 + }, + { + "month": "2026-03", + "mean": 22.6, + "median": 22.1, + "p10": 19.5, + "p25": 20.5, + "p75": 23.8, + "p90": 26.2, + "n": 5 + }, + { + "month": "2026-04", + "mean": 20.3, + "median": 20.5, + "p10": 17.4, + "p25": 18.9, + "p75": 22.1, + "p90": 23.1, + "n": 5 + }, + { + "month": "2026-05", + "mean": 19.7, + "median": 19.7, + "p10": 17.1, + "p25": 18.0, + "p75": 21.3, + "p90": 22.3, + "n": 5 + } + ], + "stats": { + "n": 55, + "mean": 21.4, + "median": 20.5, + "std": 8.0, + "min": 5.7, + "max": 50.8, + "p25": 18.0, + "p75": 23.8, + "p85": 24.6, + "p95": 28.7 + }, + "plifz": 7, + "plifz_note": null, + "pct_exceeding_plifz": 98.2, + "annotations": [], + "cost": null, + "detail_rows": { + "columns": [ + { + "key": "matnr", + "sap_field": "MATNR", + "sap_table": "EKPO", + "label": "Material", + "unit": null + }, + { + "key": "po_number", + "sap_field": "EBELN", + "sap_table": "EKKO", + "label": "PO Number", + "unit": null + }, + { + "key": "po_item", + "sap_field": "EBELP", + "sap_table": "EKPO", + "label": "PO Item", + "unit": null + }, + { + "key": "vendor_id", + "sap_field": "LIFNR", + "sap_table": "EKKO", + "label": "Vendor (LIFNR)", + "unit": null + }, + { + "key": "vendor_name", + "sap_field": "NAME1", + "sap_table": "LFA1", + "label": "Vendor Name", + "unit": null + }, + { + "key": "po_date", + "sap_field": "BEDAT", + "sap_table": "EKKO", + "label": "PO Date", + "unit": null + }, + { + "key": "promised_date", + "sap_field": "EINDT", + "sap_table": "EKET", + "label": "Promised Date", + "unit": null + }, + { + "key": "sched_qty", + "sap_field": "MENGE", + "sap_table": "EKET", + "label": "Scheduled Qty", + "unit": null + }, + { + "key": "gr_qty_to_date", + "sap_field": "WEMNG", + "sap_table": "EKET", + "label": "GR Qty (to date)", + "unit": null + }, + { + "key": "gr_mblnr", + "sap_field": "MBLNR", + "sap_table": "MSEG", + "label": "Goods Receipt Document", + "unit": null + }, + { + "key": "first_gr_date", + "sap_field": "BUDAT", + "sap_table": "MKPF", + "label": "Goods Receipt Date", + "unit": null + }, + { + "key": "days_vs_promised", + "sap_field": null, + "sap_table": null, + "label": "Days vs Promised", + "unit": "d" + }, + { + "key": "lead_time_days", + "sap_field": null, + "sap_table": null, + "label": "Lead Time (days)", + "unit": "d" + } + ], + "rows": [ + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000142", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-09-29", + "promised_date": "2025-10-29", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000142", + "first_gr_date": "2025-10-29", + "days_vs_promised": 0, + "lead_time_days": 30 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000141", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-09-23", + "promised_date": "2025-11-02", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000141", + "first_gr_date": "2025-11-02", + "days_vs_promised": 0, + "lead_time_days": 40 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000140", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-09-18", + "promised_date": "2025-10-14", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000140", + "first_gr_date": "2025-11-07", + "days_vs_promised": 24, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000143", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-10-09", + "promised_date": "2025-11-07", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000143", + "first_gr_date": "2025-11-07", + "days_vs_promised": 0, + "lead_time_days": 29 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000144", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-10-13", + "promised_date": "2025-11-10", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000144", + "first_gr_date": "2025-11-10", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000146", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-10-28", + "promised_date": "2025-12-05", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000146", + "first_gr_date": "2025-12-03", + "days_vs_promised": -2, + "lead_time_days": 36 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000145", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-10-22", + "promised_date": "2025-12-11", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000145", + "first_gr_date": "2025-12-11", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000148", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-11-10", + "promised_date": "2025-12-21", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000148", + "first_gr_date": "2025-12-21", + "days_vs_promised": 0, + "lead_time_days": 41 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000147", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-11-03", + "promised_date": "2025-12-23", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000147", + "first_gr_date": "2025-12-23", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000150", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-11-24", + "promised_date": "2026-01-09", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000150", + "first_gr_date": "2026-01-06", + "days_vs_promised": -3, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000149", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-11-18", + "promised_date": "2026-01-07", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000149", + "first_gr_date": "2026-01-07", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000151", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-01", + "promised_date": "2026-01-16", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000151", + "first_gr_date": "2026-01-13", + "days_vs_promised": -3, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000153", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000153", + "first_gr_date": "2026-01-13", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000155", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-29", + "promised_date": "2026-01-20", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000155", + "first_gr_date": "2026-01-20", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000152", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-08", + "promised_date": "2026-01-26", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000152", + "first_gr_date": "2026-01-26", + "days_vs_promised": 0, + "lead_time_days": 49 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000154", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-22", + "promised_date": "2026-02-02", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000154", + "first_gr_date": "2026-01-31", + "days_vs_promised": -2, + "lead_time_days": 40 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000156", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-01-07", + "promised_date": "2026-02-17", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000156", + "first_gr_date": "2026-02-14", + "days_vs_promised": -3, + "lead_time_days": 38 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000158", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-01-21", + "promised_date": "2026-02-15", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000158", + "first_gr_date": "2026-02-15", + "days_vs_promised": 0, + "lead_time_days": 25 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000157", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-01-15", + "promised_date": "2026-02-27", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000157", + "first_gr_date": "2026-02-27", + "days_vs_promised": 0, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000159", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-01-27", + "promised_date": "2026-03-06", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000159", + "first_gr_date": "2026-03-06", + "days_vs_promised": 0, + "lead_time_days": 38 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000176", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-12", + "promised_date": "2026-03-07", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000176", + "first_gr_date": "2026-03-07", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000160", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-02-02", + "promised_date": "2026-03-08", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000160", + "first_gr_date": "2026-03-08", + "days_vs_promised": 0, + "lead_time_days": 34 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000175", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-03", + "promised_date": "2026-03-10", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000175", + "first_gr_date": "2026-03-10", + "days_vs_promised": 0, + "lead_time_days": 35 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000178", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-25", + "promised_date": "2026-03-19", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000178", + "first_gr_date": "2026-03-19", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000161", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-02-12", + "promised_date": "2026-03-19", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000161", + "first_gr_date": "2026-03-20", + "days_vs_promised": 1, + "lead_time_days": 36 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000179", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-04", + "promised_date": "2026-03-30", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000179", + "first_gr_date": "2026-03-29", + "days_vs_promised": -1, + "lead_time_days": 25 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000162", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-02-17", + "promised_date": "2026-03-20", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000162", + "first_gr_date": "2026-04-01", + "days_vs_promised": 12, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000180", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-12", + "promised_date": "2026-04-02", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000180", + "first_gr_date": "2026-04-02", + "days_vs_promised": 0, + "lead_time_days": 21 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000177", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-17", + "promised_date": "2026-04-03", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000177", + "first_gr_date": "2026-04-05", + "days_vs_promised": 2, + "lead_time_days": 47 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000165", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-10", + "promised_date": "2026-04-07", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000165", + "first_gr_date": "2026-04-07", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000164", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-03", + "promised_date": "2026-04-10", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000164", + "first_gr_date": "2026-04-09", + "days_vs_promised": -1, + "lead_time_days": 37 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000163", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-02-23", + "promised_date": "2026-04-10", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000163", + "first_gr_date": "2026-04-10", + "days_vs_promised": 0, + "lead_time_days": 46 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000166", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-17", + "promised_date": "2026-04-11", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000166", + "first_gr_date": "2026-04-10", + "days_vs_promised": -1, + "lead_time_days": 24 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000167", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-26", + "promised_date": "2026-04-16", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000167", + "first_gr_date": "2026-04-16", + "days_vs_promised": 0, + "lead_time_days": 21 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000181", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-19", + "promised_date": "2026-04-24", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000181", + "first_gr_date": "2026-04-24", + "days_vs_promised": 0, + "lead_time_days": 36 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000182", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-24", + "promised_date": "2026-04-28", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000182", + "first_gr_date": "2026-04-25", + "days_vs_promised": -3, + "lead_time_days": 32 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000183", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-01", + "promised_date": "2026-04-26", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000183", + "first_gr_date": "2026-04-26", + "days_vs_promised": 0, + "lead_time_days": 25 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000168", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-30", + "promised_date": "2026-05-01", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000168", + "first_gr_date": "2026-04-30", + "days_vs_promised": -1, + "lead_time_days": 31 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000171", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-04-23", + "promised_date": "2026-05-14", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000171", + "first_gr_date": "2026-05-11", + "days_vs_promised": -3, + "lead_time_days": 18 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000185", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-14", + "promised_date": "2026-05-11", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000185", + "first_gr_date": "2026-05-11", + "days_vs_promised": 0, + "lead_time_days": 27 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000184", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-06", + "promised_date": "2026-05-16", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000184", + "first_gr_date": "2026-05-16", + "days_vs_promised": 0, + "lead_time_days": 40 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000169", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000169", + "first_gr_date": "2026-05-27", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000170", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-04-14", + "promised_date": "2026-05-29", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000170", + "first_gr_date": "2026-05-27", + "days_vs_promised": -2, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000174", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-05-13", + "promised_date": "2026-06-05", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000174", + "first_gr_date": "2026-06-03", + "days_vs_promised": -2, + "lead_time_days": 21 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000172", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-04-30", + "promised_date": "2026-06-11", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000172", + "first_gr_date": "2026-06-09", + "days_vs_promised": -2, + "lead_time_days": 40 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000186", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-21", + "promised_date": "2026-06-10", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000186", + "first_gr_date": "2026-06-15", + "days_vs_promised": 5, + "lead_time_days": 55 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000189", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-05-12", + "promised_date": "2026-06-16", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000189", + "first_gr_date": "2026-06-17", + "days_vs_promised": 1, + "lead_time_days": 36 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000187", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-30", + "promised_date": "2026-06-18", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000187", + "first_gr_date": "2026-06-18", + "days_vs_promised": 0, + "lead_time_days": 49 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000188", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-05-04", + "promised_date": "2026-06-21", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000188", + "first_gr_date": "2026-06-21", + "days_vs_promised": 0, + "lead_time_days": 48 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000173", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-05-05", + "promised_date": "2026-06-24", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000173", + "first_gr_date": "2026-07-02", + "days_vs_promised": 8, + "lead_time_days": 58 + } + ] + }, + "ref_date_col": "first_gr_date", + "n_batches": null, + "n_movements": 10, + "yield_data": null, + "consumption_data": null, + "supplier_otif": { + "primary_vendor": { + "id": "D0005", + "name": "Midland Mid-Tier Partners" + }, + "vendors": [ + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "n_lines": 35, + "n_late": 4, + "on_time_pct": 88.6, + "in_full_pct": 100.0, + "otif_pct": 88.6, + "mean_days_late_all": 1.29, + "mean_days_late_when_late": 11.2, + "median_days_late_when_late": 10.0, + "max_days_late": 24, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 11.4, + "ge_3d_pct": 8.6, + "ge_7d_pct": 8.6, + "ge_14d_pct": 2.9 + } + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "n_lines": 15, + "n_late": 3, + "on_time_pct": 80.0, + "in_full_pct": 100.0, + "otif_pct": 80.0, + "mean_days_late_all": 0.53, + "mean_days_late_when_late": 2.7, + "median_days_late_when_late": 2, + "max_days_late": 5, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 20.0, + "ge_3d_pct": 6.7, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + } + } + ], + "worst_events": [ + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000140", + "po_item": "00010", + "po_date": "2025-09-18", + "promised_date": "2025-10-14", + "first_gr_date": "2025-11-07", + "days_late": 24, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000162", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-03-20", + "first_gr_date": "2026-04-01", + "days_late": 12, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000173", + "po_item": "00040", + "po_date": "2026-05-05", + "promised_date": "2026-06-24", + "first_gr_date": "2026-07-02", + "days_late": 8, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000186", + "po_item": "00020", + "po_date": "2026-04-21", + "promised_date": "2026-06-10", + "first_gr_date": "2026-06-15", + "days_late": 5, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000177", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-05", + "days_late": 2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0 + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000161", + "po_item": "00020", + "po_date": "2026-02-12", + "promised_date": "2026-03-19", + "first_gr_date": "2026-03-20", + "days_late": 1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000189", + "po_item": "00050", + "po_date": "2026-05-12", + "promised_date": "2026-06-16", + "first_gr_date": "2026-06-17", + "days_late": 1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + } + ], + "coverage_pct": 100.0, + "n_lines": 50, + "data_quality_note": "100% in-full across every line \u2014 likely WEMNG = MENGE is auto-stamped at goods receipt rather than measured. Treat the in-full metric as a data-entry artifact at this site.", + "tolerance_days": 0, + "under_tolerance_pct": 0.05, + "lines": [ + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000140", + "po_item": "00010", + "po_date": "2025-09-18", + "promised_date": "2025-10-14", + "first_gr_date": "2025-11-07", + "days_late": 24, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000141", + "po_item": "00020", + "po_date": "2025-09-23", + "promised_date": "2025-11-02", + "first_gr_date": "2025-11-02", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000142", + "po_item": "00030", + "po_date": "2025-09-29", + "promised_date": "2025-10-29", + "first_gr_date": "2025-10-29", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000143", + "po_item": "00040", + "po_date": "2025-10-09", + "promised_date": "2025-11-07", + "first_gr_date": "2025-11-07", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000144", + "po_item": "00050", + "po_date": "2025-10-13", + "promised_date": "2025-11-10", + "first_gr_date": "2025-11-10", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000145", + "po_item": "00010", + "po_date": "2025-10-22", + "promised_date": "2025-12-11", + "first_gr_date": "2025-12-11", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000146", + "po_item": "00020", + "po_date": "2025-10-28", + "promised_date": "2025-12-05", + "first_gr_date": "2025-12-03", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000147", + "po_item": "00030", + "po_date": "2025-11-03", + "promised_date": "2025-12-23", + "first_gr_date": "2025-12-23", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000148", + "po_item": "00040", + "po_date": "2025-11-10", + "promised_date": "2025-12-21", + "first_gr_date": "2025-12-21", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000149", + "po_item": "00050", + "po_date": "2025-11-18", + "promised_date": "2026-01-07", + "first_gr_date": "2026-01-07", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000150", + "po_item": "00010", + "po_date": "2025-11-24", + "promised_date": "2026-01-09", + "first_gr_date": "2026-01-06", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000151", + "po_item": "00020", + "po_date": "2025-12-01", + "promised_date": "2026-01-16", + "first_gr_date": "2026-01-13", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000152", + "po_item": "00030", + "po_date": "2025-12-08", + "promised_date": "2026-01-26", + "first_gr_date": "2026-01-26", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000153", + "po_item": "00040", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-13", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000154", + "po_item": "00050", + "po_date": "2025-12-22", + "promised_date": "2026-02-02", + "first_gr_date": "2026-01-31", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000155", + "po_item": "00010", + "po_date": "2025-12-29", + "promised_date": "2026-01-20", + "first_gr_date": "2026-01-20", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000156", + "po_item": "00020", + "po_date": "2026-01-07", + "promised_date": "2026-02-17", + "first_gr_date": "2026-02-14", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000157", + "po_item": "00030", + "po_date": "2026-01-15", + "promised_date": "2026-02-27", + "first_gr_date": "2026-02-27", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000158", + "po_item": "00040", + "po_date": "2026-01-21", + "promised_date": "2026-02-15", + "first_gr_date": "2026-02-15", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000159", + "po_item": "00050", + "po_date": "2026-01-27", + "promised_date": "2026-03-06", + "first_gr_date": "2026-03-06", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000160", + "po_item": "00010", + "po_date": "2026-02-02", + "promised_date": "2026-03-08", + "first_gr_date": "2026-03-08", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000161", + "po_item": "00020", + "po_date": "2026-02-12", + "promised_date": "2026-03-19", + "first_gr_date": "2026-03-20", + "days_late": 1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000162", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-03-20", + "first_gr_date": "2026-04-01", + "days_late": 12, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000163", + "po_item": "00040", + "po_date": "2026-02-23", + "promised_date": "2026-04-10", + "first_gr_date": "2026-04-10", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000164", + "po_item": "00050", + "po_date": "2026-03-03", + "promised_date": "2026-04-10", + "first_gr_date": "2026-04-09", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000165", + "po_item": "00010", + "po_date": "2026-03-10", + "promised_date": "2026-04-07", + "first_gr_date": "2026-04-07", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000166", + "po_item": "00020", + "po_date": "2026-03-17", + "promised_date": "2026-04-11", + "first_gr_date": "2026-04-10", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000167", + "po_item": "00030", + "po_date": "2026-03-26", + "promised_date": "2026-04-16", + "first_gr_date": "2026-04-16", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000168", + "po_item": "00040", + "po_date": "2026-03-30", + "promised_date": "2026-05-01", + "first_gr_date": "2026-04-30", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000169", + "po_item": "00050", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "first_gr_date": "2026-05-27", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000170", + "po_item": "00010", + "po_date": "2026-04-14", + "promised_date": "2026-05-29", + "first_gr_date": "2026-05-27", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000171", + "po_item": "00020", + "po_date": "2026-04-23", + "promised_date": "2026-05-14", + "first_gr_date": "2026-05-11", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000172", + "po_item": "00030", + "po_date": "2026-04-30", + "promised_date": "2026-06-11", + "first_gr_date": "2026-06-09", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000173", + "po_item": "00040", + "po_date": "2026-05-05", + "promised_date": "2026-06-24", + "first_gr_date": "2026-07-02", + "days_late": 8, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000174", + "po_item": "00050", + "po_date": "2026-05-13", + "promised_date": "2026-06-05", + "first_gr_date": "2026-06-03", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000175", + "po_item": "00010", + "po_date": "2026-02-03", + "promised_date": "2026-03-10", + "first_gr_date": "2026-03-10", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000176", + "po_item": "00020", + "po_date": "2026-02-12", + "promised_date": "2026-03-07", + "first_gr_date": "2026-03-07", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000177", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-05", + "days_late": 2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000178", + "po_item": "00040", + "po_date": "2026-02-25", + "promised_date": "2026-03-19", + "first_gr_date": "2026-03-19", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000179", + "po_item": "00050", + "po_date": "2026-03-04", + "promised_date": "2026-03-30", + "first_gr_date": "2026-03-29", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000180", + "po_item": "00010", + "po_date": "2026-03-12", + "promised_date": "2026-04-02", + "first_gr_date": "2026-04-02", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000181", + "po_item": "00020", + "po_date": "2026-03-19", + "promised_date": "2026-04-24", + "first_gr_date": "2026-04-24", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000182", + "po_item": "00030", + "po_date": "2026-03-24", + "promised_date": "2026-04-28", + "first_gr_date": "2026-04-25", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000183", + "po_item": "00040", + "po_date": "2026-04-01", + "promised_date": "2026-04-26", + "first_gr_date": "2026-04-26", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000184", + "po_item": "00050", + "po_date": "2026-04-06", + "promised_date": "2026-05-16", + "first_gr_date": "2026-05-16", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000185", + "po_item": "00010", + "po_date": "2026-04-14", + "promised_date": "2026-05-11", + "first_gr_date": "2026-05-11", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000186", + "po_item": "00020", + "po_date": "2026-04-21", + "promised_date": "2026-06-10", + "first_gr_date": "2026-06-15", + "days_late": 5, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000187", + "po_item": "00030", + "po_date": "2026-04-30", + "promised_date": "2026-06-18", + "first_gr_date": "2026-06-18", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000188", + "po_item": "00040", + "po_date": "2026-05-04", + "promised_date": "2026-06-21", + "first_gr_date": "2026-06-21", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000189", + "po_item": "00050", + "po_date": "2026-05-12", + "promised_date": "2026-06-16", + "first_gr_date": "2026-06-17", + "days_late": 1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + } + ] + }, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/prod_duration_green_blend.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/prod_duration_green_blend.json new file mode 100644 index 00000000000..608c3bd3dc0 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/prod_duration_green_blend.json @@ -0,0 +1,924 @@ +{ + "id": "prod_duration_green_blend", + "label": "Production: Green Blend", + "type": "production", + "durations": [ + 2.5, 4.1, 1.6, 5.7, 3.3, 4.9, 2.5, 11.5, 3.3, 6.6, 2.5, 4.1, 0.8, 4.9, 2.5, + 3.3, 3.3, 3.3, 2.5, 3.3, 3.3, 3.3, 3.3, 4.1, 4.1, 4.1, 3.3, 4.1, 4.1, 2.5, + 3.3, 4.1, 2.5, 2.5, 4.1, 2.5, 3.3, 3.3, 2.5, 2.5, 3.3, 3.3, 3.3, 3.3, 4.1, + 4.1, 3.3, 3.3, 4.1, 4.1 + ], + "observations": [ + { + "date": "2022-04-18", + "value": 2.5 + }, + { + "date": "2022-07-05", + "value": 4.1 + }, + { + "date": "2022-10-12", + "value": 1.6 + }, + { + "date": "2023-01-20", + "value": 5.7 + }, + { + "date": "2023-04-15", + "value": 3.3 + }, + { + "date": "2023-07-28", + "value": 4.9 + }, + { + "date": "2023-10-05", + "value": 2.5 + }, + { + "date": "2024-01-12", + "value": 11.5 + }, + { + "date": "2024-04-22", + "value": 3.3 + }, + { + "date": "2024-07-10", + "value": 6.6 + }, + { + "date": "2024-10-18", + "value": 2.5 + }, + { + "date": "2025-01-25", + "value": 4.1 + }, + { + "date": "2025-05-08", + "value": 0.8 + }, + { + "date": "2025-08-15", + "value": 4.9 + }, + { + "date": "2025-09-04", + "value": 2.5 + }, + { + "date": "2025-09-10", + "value": 3.3 + }, + { + "date": "2025-09-16", + "value": 3.3 + }, + { + "date": "2025-09-22", + "value": 3.3 + }, + { + "date": "2025-10-05", + "value": 2.5 + }, + { + "date": "2025-10-11", + "value": 3.3 + }, + { + "date": "2025-10-17", + "value": 3.3 + }, + { + "date": "2025-10-23", + "value": 3.3 + }, + { + "date": "2025-11-06", + "value": 3.3 + }, + { + "date": "2025-11-12", + "value": 4.1 + }, + { + "date": "2025-11-18", + "value": 4.1 + }, + { + "date": "2025-11-24", + "value": 4.1 + }, + { + "date": "2025-12-04", + "value": 3.3 + }, + { + "date": "2025-12-10", + "value": 4.1 + }, + { + "date": "2025-12-16", + "value": 4.1 + }, + { + "date": "2025-12-22", + "value": 2.5 + }, + { + "date": "2026-01-05", + "value": 3.3 + }, + { + "date": "2026-01-11", + "value": 4.1 + }, + { + "date": "2026-01-17", + "value": 2.5 + }, + { + "date": "2026-01-23", + "value": 2.5 + }, + { + "date": "2026-02-06", + "value": 4.1 + }, + { + "date": "2026-02-12", + "value": 2.5 + }, + { + "date": "2026-02-18", + "value": 3.3 + }, + { + "date": "2026-02-24", + "value": 3.3 + }, + { + "date": "2026-03-04", + "value": 2.5 + }, + { + "date": "2026-03-10", + "value": 2.5 + }, + { + "date": "2026-03-16", + "value": 3.3 + }, + { + "date": "2026-03-22", + "value": 3.3 + }, + { + "date": "2026-04-05", + "value": 3.3 + }, + { + "date": "2026-04-11", + "value": 3.3 + }, + { + "date": "2026-04-17", + "value": 4.1 + }, + { + "date": "2026-04-23", + "value": 4.1 + }, + { + "date": "2026-05-06", + "value": 3.3 + }, + { + "date": "2026-05-12", + "value": 3.3 + }, + { + "date": "2026-05-18", + "value": 4.1 + }, + { + "date": "2026-05-24", + "value": 4.1 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2022-07", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-10", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2023-01", + "mean": 5.7, + "median": 5.7, + "p10": 5.7, + "p25": 5.7, + "p75": 5.7, + "p90": 5.7, + "n": 1 + }, + { + "month": "2023-04", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2023-07", + "mean": 4.9, + "median": 4.9, + "p10": 4.9, + "p25": 4.9, + "p75": 4.9, + "p90": 4.9, + "n": 1 + }, + { + "month": "2023-10", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 11.5, + "median": 11.5, + "p10": 11.5, + "p25": 11.5, + "p75": 11.5, + "p90": 11.5, + "n": 1 + }, + { + "month": "2024-04", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2024-07", + "mean": 6.6, + "median": 6.6, + "p10": 6.6, + "p25": 6.6, + "p75": 6.6, + "p90": 6.6, + "n": 1 + }, + { + "month": "2024-10", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2025-01", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-05", + "mean": 0.8, + "median": 0.8, + "p10": 0.8, + "p25": 0.8, + "p75": 0.8, + "p90": 0.8, + "n": 1 + }, + { + "month": "2025-08", + "mean": 4.9, + "median": 4.9, + "p10": 4.9, + "p25": 4.9, + "p75": 4.9, + "p90": 4.9, + "n": 1 + }, + { + "month": "2025-09", + "mean": 3.1, + "median": 3.3, + "p10": 2.7, + "p25": 3.1, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2025-10", + "mean": 3.1, + "median": 3.3, + "p10": 2.7, + "p25": 3.1, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2025-11", + "mean": 3.9, + "median": 4.1, + "p10": 3.5, + "p25": 3.9, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2025-12", + "mean": 3.5, + "median": 3.7, + "p10": 2.7, + "p25": 3.1, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2026-01", + "mean": 3.1, + "median": 2.9, + "p10": 2.5, + "p25": 2.5, + "p75": 3.5, + "p90": 3.9, + "n": 4 + }, + { + "month": "2026-02", + "mean": 3.3, + "median": 3.3, + "p10": 2.7, + "p25": 3.1, + "p75": 3.5, + "p90": 3.9, + "n": 4 + }, + { + "month": "2026-03", + "mean": 2.9, + "median": 2.9, + "p10": 2.5, + "p25": 2.5, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2026-04", + "mean": 3.7, + "median": 3.7, + "p10": 3.3, + "p25": 3.3, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2026-05", + "mean": 3.7, + "median": 3.7, + "p10": 3.3, + "p25": 3.3, + "p75": 4.1, + "p90": 4.1, + "n": 4 + } + ], + "stats": { + "n": 50, + "mean": 3.6, + "median": 3.3, + "std": 1.8, + "min": 0.8, + "max": 11.5, + "p25": 2.5, + "p75": 4.1, + "p85": 4.1, + "p95": 4.9 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 10.0, + "annotations": [], + "cost": null, + "detail_rows": null, + "ref_date_col": null, + "n_batches": 50, + "n_movements": null, + "yield_data": { + "values": [ + 98.2, 99.5, 97.8, 100.2, 96.5, 99.0, 98.8, 97.2, 99.5, 100.8, 98.0, 97.5, + 99.2, 98.5, 98.4, 98.6, 98.9, 99.1, 98.3, 98.5, 98.8, 99.1, 99.0, 99.3, + 99.6, 98.2, 99.0, 99.3, 97.9, 98.2, 98.9, 97.6, 97.9, 98.1, 98.1, 98.4, + 98.6, 98.9, 98.1, 98.3, 98.5, 98.8, 98.8, 99.0, 99.3, 99.6, 98.7, 99.0, + 99.3, 97.9 + ], + "observations": [ + { + "date": "2022-04-21", + "value": 98.2 + }, + { + "date": "2022-07-10", + "value": 99.5 + }, + { + "date": "2022-10-14", + "value": 97.8 + }, + { + "date": "2023-01-27", + "value": 100.2 + }, + { + "date": "2023-04-19", + "value": 96.5 + }, + { + "date": "2023-08-03", + "value": 99.0 + }, + { + "date": "2023-10-08", + "value": 98.8 + }, + { + "date": "2024-01-26", + "value": 97.2 + }, + { + "date": "2024-04-26", + "value": 99.5 + }, + { + "date": "2024-07-18", + "value": 100.8 + }, + { + "date": "2024-10-21", + "value": 98.0 + }, + { + "date": "2025-01-30", + "value": 97.5 + }, + { + "date": "2025-05-09", + "value": 99.2 + }, + { + "date": "2025-08-21", + "value": 98.5 + }, + { + "date": "2025-09-05", + "value": 98.4 + }, + { + "date": "2025-09-11", + "value": 98.6 + }, + { + "date": "2025-09-17", + "value": 98.9 + }, + { + "date": "2025-09-23", + "value": 99.1 + }, + { + "date": "2025-10-06", + "value": 98.3 + }, + { + "date": "2025-10-12", + "value": 98.5 + }, + { + "date": "2025-10-18", + "value": 98.8 + }, + { + "date": "2025-10-24", + "value": 99.1 + }, + { + "date": "2025-11-04", + "value": 99.0 + }, + { + "date": "2025-11-10", + "value": 99.3 + }, + { + "date": "2025-11-16", + "value": 99.6 + }, + { + "date": "2025-11-22", + "value": 98.2 + }, + { + "date": "2025-12-05", + "value": 99.0 + }, + { + "date": "2025-12-11", + "value": 99.3 + }, + { + "date": "2025-12-17", + "value": 97.9 + }, + { + "date": "2025-12-23", + "value": 98.2 + }, + { + "date": "2026-01-06", + "value": 98.9 + }, + { + "date": "2026-01-12", + "value": 97.6 + }, + { + "date": "2026-01-18", + "value": 97.9 + }, + { + "date": "2026-01-24", + "value": 98.1 + }, + { + "date": "2026-02-04", + "value": 98.1 + }, + { + "date": "2026-02-10", + "value": 98.4 + }, + { + "date": "2026-02-16", + "value": 98.6 + }, + { + "date": "2026-02-22", + "value": 98.9 + }, + { + "date": "2026-03-05", + "value": 98.1 + }, + { + "date": "2026-03-11", + "value": 98.3 + }, + { + "date": "2026-03-17", + "value": 98.5 + }, + { + "date": "2026-03-23", + "value": 98.8 + }, + { + "date": "2026-04-06", + "value": 98.8 + }, + { + "date": "2026-04-12", + "value": 99.0 + }, + { + "date": "2026-04-18", + "value": 99.3 + }, + { + "date": "2026-04-24", + "value": 99.6 + }, + { + "date": "2026-05-04", + "value": 98.7 + }, + { + "date": "2026-05-10", + "value": 99.0 + }, + { + "date": "2026-05-16", + "value": 99.3 + }, + { + "date": "2026-05-22", + "value": 97.9 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 98.2, + "median": 98.2, + "p10": 98.2, + "p25": 98.2, + "p75": 98.2, + "p90": 98.2, + "n": 1 + }, + { + "month": "2022-07", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2022-10", + "mean": 97.8, + "median": 97.8, + "p10": 97.8, + "p25": 97.8, + "p75": 97.8, + "p90": 97.8, + "n": 1 + }, + { + "month": "2023-01", + "mean": 100.2, + "median": 100.2, + "p10": 100.2, + "p25": 100.2, + "p75": 100.2, + "p90": 100.2, + "n": 1 + }, + { + "month": "2023-04", + "mean": 96.5, + "median": 96.5, + "p10": 96.5, + "p25": 96.5, + "p75": 96.5, + "p90": 96.5, + "n": 1 + }, + { + "month": "2023-08", + "mean": 99.0, + "median": 99.0, + "p10": 99.0, + "p25": 99.0, + "p75": 99.0, + "p90": 99.0, + "n": 1 + }, + { + "month": "2023-10", + "mean": 98.8, + "median": 98.8, + "p10": 98.8, + "p25": 98.8, + "p75": 98.8, + "p90": 98.8, + "n": 1 + }, + { + "month": "2024-01", + "mean": 97.2, + "median": 97.2, + "p10": 97.2, + "p25": 97.2, + "p75": 97.2, + "p90": 97.2, + "n": 1 + }, + { + "month": "2024-04", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2024-07", + "mean": 100.8, + "median": 100.8, + "p10": 100.8, + "p25": 100.8, + "p75": 100.8, + "p90": 100.8, + "n": 1 + }, + { + "month": "2024-10", + "mean": 98.0, + "median": 98.0, + "p10": 98.0, + "p25": 98.0, + "p75": 98.0, + "p90": 98.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 97.5, + "median": 97.5, + "p10": 97.5, + "p25": 97.5, + "p75": 97.5, + "p90": 97.5, + "n": 1 + }, + { + "month": "2025-05", + "mean": 99.2, + "median": 99.2, + "p10": 99.2, + "p25": 99.2, + "p75": 99.2, + "p90": 99.2, + "n": 1 + }, + { + "month": "2025-08", + "mean": 98.5, + "median": 98.5, + "p10": 98.5, + "p25": 98.5, + "p75": 98.5, + "p90": 98.5, + "n": 1 + }, + { + "month": "2025-09", + "mean": 98.8, + "median": 98.8, + "p10": 98.5, + "p25": 98.6, + "p75": 99.0, + "p90": 99.0, + "n": 4 + }, + { + "month": "2025-10", + "mean": 98.7, + "median": 98.7, + "p10": 98.4, + "p25": 98.5, + "p75": 98.9, + "p90": 99.0, + "n": 4 + }, + { + "month": "2025-11", + "mean": 99.0, + "median": 99.2, + "p10": 98.4, + "p25": 98.8, + "p75": 99.4, + "p90": 99.5, + "n": 4 + }, + { + "month": "2025-12", + "mean": 98.6, + "median": 98.6, + "p10": 98.0, + "p25": 98.1, + "p75": 99.1, + "p90": 99.2, + "n": 4 + }, + { + "month": "2026-01", + "mean": 98.1, + "median": 98.0, + "p10": 97.7, + "p25": 97.8, + "p75": 98.3, + "p90": 98.7, + "n": 4 + }, + { + "month": "2026-02", + "mean": 98.5, + "median": 98.5, + "p10": 98.2, + "p25": 98.3, + "p75": 98.7, + "p90": 98.8, + "n": 4 + }, + { + "month": "2026-03", + "mean": 98.4, + "median": 98.4, + "p10": 98.2, + "p25": 98.3, + "p75": 98.6, + "p90": 98.7, + "n": 4 + }, + { + "month": "2026-04", + "mean": 99.2, + "median": 99.2, + "p10": 98.9, + "p25": 99.0, + "p75": 99.4, + "p90": 99.5, + "n": 4 + }, + { + "month": "2026-05", + "mean": 98.7, + "median": 98.9, + "p10": 98.1, + "p25": 98.5, + "p75": 99.1, + "p90": 99.2, + "n": 4 + } + ], + "stats": { + "n": 50, + "mean": 98.7, + "median": 98.8, + "std": 0.7, + "min": 96.5, + "max": 100.8, + "p25": 98.2, + "p75": 99.1, + "p85": 99.3, + "p95": 99.6 + }, + "reference": 100.0 + }, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/prod_duration_harbor_dark_roast.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/prod_duration_harbor_dark_roast.json new file mode 100644 index 00000000000..de3cb1d23c1 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/prod_duration_harbor_dark_roast.json @@ -0,0 +1,1148 @@ +{ + "id": "prod_duration_harbor_dark_roast", + "label": "Production: Harbor Dark Roast", + "type": "production", + "durations": [ + 1.6, 2.5, 0.8, 3.3, 1.6, 4.1, 2.5, 5.7, 1.6, 3.3, 0.8, 2.5, 8.2, 2.5, 1.6, + 4.1, 0.0, 3.3, 2.5, 1.6, 4.9, 2.5, 3.3, 3.3, 2.5, 2.5, 3.3, 1.6, 2.5, 2.5, + 1.6, 1.6, 2.5, 2.5, 2.5, 2.5, 2.5, 3.3, 2.5, 2.5, 2.5, 3.3, 3.3, 3.3, 3.3, + 2.5, 2.5, 3.3, 1.6, 2.5, 2.5, 1.6, 1.6, 2.5, 2.5, 2.5, 2.5, 2.5 + ], + "observations": [ + { + "date": "2022-05-20", + "value": 1.6 + }, + { + "date": "2022-06-10", + "value": 2.5 + }, + { + "date": "2022-07-15", + "value": 0.8 + }, + { + "date": "2022-08-22", + "value": 3.3 + }, + { + "date": "2022-10-05", + "value": 1.6 + }, + { + "date": "2022-11-18", + "value": 4.1 + }, + { + "date": "2023-01-10", + "value": 2.5 + }, + { + "date": "2023-03-25", + "value": 5.7 + }, + { + "date": "2023-05-12", + "value": 1.6 + }, + { + "date": "2023-07-08", + "value": 3.3 + }, + { + "date": "2023-09-15", + "value": 0.8 + }, + { + "date": "2023-11-22", + "value": 2.5 + }, + { + "date": "2024-01-18", + "value": 8.2 + }, + { + "date": "2024-03-08", + "value": 2.5 + }, + { + "date": "2024-05-15", + "value": 1.6 + }, + { + "date": "2024-07-22", + "value": 4.1 + }, + { + "date": "2024-09-10", + "value": 0.0 + }, + { + "date": "2024-11-05", + "value": 3.3 + }, + { + "date": "2025-01-15", + "value": 2.5 + }, + { + "date": "2025-03-20", + "value": 1.6 + }, + { + "date": "2025-05-28", + "value": 4.9 + }, + { + "date": "2025-08-05", + "value": 2.5 + }, + { + "date": "2025-09-05", + "value": 3.3 + }, + { + "date": "2025-09-11", + "value": 3.3 + }, + { + "date": "2025-09-17", + "value": 2.5 + }, + { + "date": "2025-09-23", + "value": 2.5 + }, + { + "date": "2025-10-06", + "value": 3.3 + }, + { + "date": "2025-10-12", + "value": 1.6 + }, + { + "date": "2025-10-18", + "value": 2.5 + }, + { + "date": "2025-10-24", + "value": 2.5 + }, + { + "date": "2025-11-04", + "value": 1.6 + }, + { + "date": "2025-11-10", + "value": 1.6 + }, + { + "date": "2025-11-16", + "value": 2.5 + }, + { + "date": "2025-11-22", + "value": 2.5 + }, + { + "date": "2025-12-05", + "value": 2.5 + }, + { + "date": "2025-12-11", + "value": 2.5 + }, + { + "date": "2025-12-17", + "value": 2.5 + }, + { + "date": "2025-12-23", + "value": 3.3 + }, + { + "date": "2026-01-06", + "value": 2.5 + }, + { + "date": "2026-01-12", + "value": 2.5 + }, + { + "date": "2026-01-18", + "value": 2.5 + }, + { + "date": "2026-01-24", + "value": 3.3 + }, + { + "date": "2026-02-04", + "value": 3.3 + }, + { + "date": "2026-02-10", + "value": 3.3 + }, + { + "date": "2026-02-16", + "value": 3.3 + }, + { + "date": "2026-02-22", + "value": 2.5 + }, + { + "date": "2026-03-05", + "value": 2.5 + }, + { + "date": "2026-03-11", + "value": 3.3 + }, + { + "date": "2026-03-17", + "value": 1.6 + }, + { + "date": "2026-03-23", + "value": 2.5 + }, + { + "date": "2026-04-06", + "value": 2.5 + }, + { + "date": "2026-04-12", + "value": 1.6 + }, + { + "date": "2026-04-18", + "value": 1.6 + }, + { + "date": "2026-04-24", + "value": 2.5 + }, + { + "date": "2026-05-04", + "value": 2.5 + }, + { + "date": "2026-05-10", + "value": 2.5 + }, + { + "date": "2026-05-16", + "value": 2.5 + }, + { + "date": "2026-05-22", + "value": 2.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2022-06", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2022-07", + "mean": 0.8, + "median": 0.8, + "p10": 0.8, + "p25": 0.8, + "p75": 0.8, + "p90": 0.8, + "n": 1 + }, + { + "month": "2022-08", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2022-10", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2022-11", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2023-01", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2023-03", + "mean": 5.7, + "median": 5.7, + "p10": 5.7, + "p25": 5.7, + "p75": 5.7, + "p90": 5.7, + "n": 1 + }, + { + "month": "2023-05", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2023-07", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2023-09", + "mean": 0.8, + "median": 0.8, + "p10": 0.8, + "p25": 0.8, + "p75": 0.8, + "p90": 0.8, + "n": 1 + }, + { + "month": "2023-11", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 8.2, + "median": 8.2, + "p10": 8.2, + "p25": 8.2, + "p75": 8.2, + "p90": 8.2, + "n": 1 + }, + { + "month": "2024-03", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2024-05", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2024-07", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-09", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2025-01", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2025-03", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2025-05", + "mean": 4.9, + "median": 4.9, + "p10": 4.9, + "p25": 4.9, + "p75": 4.9, + "p90": 4.9, + "n": 1 + }, + { + "month": "2025-08", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2025-09", + "mean": 2.9, + "median": 2.9, + "p10": 2.5, + "p25": 2.5, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2025-10", + "mean": 2.5, + "median": 2.5, + "p10": 1.9, + "p25": 2.3, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2025-11", + "mean": 2.0, + "median": 2.0, + "p10": 1.6, + "p25": 1.6, + "p75": 2.5, + "p90": 2.5, + "n": 4 + }, + { + "month": "2025-12", + "mean": 2.7, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-01", + "mean": 2.7, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-02", + "mean": 3.1, + "median": 3.3, + "p10": 2.7, + "p25": 3.1, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2026-03", + "mean": 2.5, + "median": 2.5, + "p10": 1.9, + "p25": 2.3, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-04", + "mean": 2.0, + "median": 2.0, + "p10": 1.6, + "p25": 1.6, + "p75": 2.5, + "p90": 2.5, + "n": 4 + }, + { + "month": "2026-05", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 4 + } + ], + "stats": { + "n": 58, + "mean": 2.6, + "median": 2.5, + "std": 1.4, + "min": 0.0, + "max": 8.2, + "p25": 2.5, + "p75": 3.3, + "p85": 3.3, + "p95": 4.1 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 5.2, + "annotations": [], + "cost": null, + "detail_rows": null, + "ref_date_col": null, + "n_batches": 58, + "n_movements": null, + "yield_data": { + "values": [ + 99.0, 98.5, 99.8, 97.2, 99.5, 98.0, 100.2, 98.8, 99.2, 97.5, 99.0, 98.5, + 100.5, 99.2, 98.0, 97.8, 99.5, 98.2, 99.0, 98.8, 99.5, 97.0, 98.9, 99.1, + 99.4, 99.6, 98.8, 99.0, 99.3, 99.6, 99.5, 99.8, 100.1, 98.7, 99.5, 99.8, + 98.4, 98.7, 99.4, 98.1, 98.4, 98.6, 98.6, 98.9, 99.1, 99.4, 98.6, 98.8, + 99.0, 99.3, 99.3, 99.5, 99.8, 100.1, 99.2, 99.5, 99.8, 98.4 + ], + "observations": [ + { + "date": "2022-05-22", + "value": 99.0 + }, + { + "date": "2022-06-13", + "value": 98.5 + }, + { + "date": "2022-07-16", + "value": 99.8 + }, + { + "date": "2022-08-26", + "value": 97.2 + }, + { + "date": "2022-10-07", + "value": 99.5 + }, + { + "date": "2022-11-23", + "value": 98.0 + }, + { + "date": "2023-01-13", + "value": 100.2 + }, + { + "date": "2023-04-01", + "value": 98.8 + }, + { + "date": "2023-05-14", + "value": 99.2 + }, + { + "date": "2023-07-12", + "value": 97.5 + }, + { + "date": "2023-09-16", + "value": 99.0 + }, + { + "date": "2023-11-25", + "value": 98.5 + }, + { + "date": "2024-01-28", + "value": 100.5 + }, + { + "date": "2024-03-11", + "value": 99.2 + }, + { + "date": "2024-05-17", + "value": 98.0 + }, + { + "date": "2024-07-27", + "value": 97.8 + }, + { + "date": "2024-09-10", + "value": 99.5 + }, + { + "date": "2024-11-09", + "value": 98.2 + }, + { + "date": "2025-01-18", + "value": 99.0 + }, + { + "date": "2025-03-22", + "value": 98.8 + }, + { + "date": "2025-06-03", + "value": 99.5 + }, + { + "date": "2025-08-08", + "value": 97.0 + }, + { + "date": "2025-09-05", + "value": 98.9 + }, + { + "date": "2025-09-11", + "value": 99.1 + }, + { + "date": "2025-09-17", + "value": 99.4 + }, + { + "date": "2025-09-23", + "value": 99.6 + }, + { + "date": "2025-10-06", + "value": 98.8 + }, + { + "date": "2025-10-12", + "value": 99.0 + }, + { + "date": "2025-10-18", + "value": 99.3 + }, + { + "date": "2025-10-24", + "value": 99.6 + }, + { + "date": "2025-11-04", + "value": 99.5 + }, + { + "date": "2025-11-10", + "value": 99.8 + }, + { + "date": "2025-11-16", + "value": 100.1 + }, + { + "date": "2025-11-22", + "value": 98.7 + }, + { + "date": "2025-12-05", + "value": 99.5 + }, + { + "date": "2025-12-11", + "value": 99.8 + }, + { + "date": "2025-12-17", + "value": 98.4 + }, + { + "date": "2025-12-23", + "value": 98.7 + }, + { + "date": "2026-01-06", + "value": 99.4 + }, + { + "date": "2026-01-12", + "value": 98.1 + }, + { + "date": "2026-01-18", + "value": 98.4 + }, + { + "date": "2026-01-24", + "value": 98.6 + }, + { + "date": "2026-02-04", + "value": 98.6 + }, + { + "date": "2026-02-10", + "value": 98.9 + }, + { + "date": "2026-02-16", + "value": 99.1 + }, + { + "date": "2026-02-22", + "value": 99.4 + }, + { + "date": "2026-03-05", + "value": 98.6 + }, + { + "date": "2026-03-11", + "value": 98.8 + }, + { + "date": "2026-03-17", + "value": 99.0 + }, + { + "date": "2026-03-23", + "value": 99.3 + }, + { + "date": "2026-04-06", + "value": 99.3 + }, + { + "date": "2026-04-12", + "value": 99.5 + }, + { + "date": "2026-04-18", + "value": 99.8 + }, + { + "date": "2026-04-24", + "value": 100.1 + }, + { + "date": "2026-05-04", + "value": 99.2 + }, + { + "date": "2026-05-10", + "value": 99.5 + }, + { + "date": "2026-05-16", + "value": 99.8 + }, + { + "date": "2026-05-22", + "value": 98.4 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 99.0, + "median": 99.0, + "p10": 99.0, + "p25": 99.0, + "p75": 99.0, + "p90": 99.0, + "n": 1 + }, + { + "month": "2022-06", + "mean": 98.5, + "median": 98.5, + "p10": 98.5, + "p25": 98.5, + "p75": 98.5, + "p90": 98.5, + "n": 1 + }, + { + "month": "2022-07", + "mean": 99.8, + "median": 99.8, + "p10": 99.8, + "p25": 99.8, + "p75": 99.8, + "p90": 99.8, + "n": 1 + }, + { + "month": "2022-08", + "mean": 97.2, + "median": 97.2, + "p10": 97.2, + "p25": 97.2, + "p75": 97.2, + "p90": 97.2, + "n": 1 + }, + { + "month": "2022-10", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2022-11", + "mean": 98.0, + "median": 98.0, + "p10": 98.0, + "p25": 98.0, + "p75": 98.0, + "p90": 98.0, + "n": 1 + }, + { + "month": "2023-01", + "mean": 100.2, + "median": 100.2, + "p10": 100.2, + "p25": 100.2, + "p75": 100.2, + "p90": 100.2, + "n": 1 + }, + { + "month": "2023-04", + "mean": 98.8, + "median": 98.8, + "p10": 98.8, + "p25": 98.8, + "p75": 98.8, + "p90": 98.8, + "n": 1 + }, + { + "month": "2023-05", + "mean": 99.2, + "median": 99.2, + "p10": 99.2, + "p25": 99.2, + "p75": 99.2, + "p90": 99.2, + "n": 1 + }, + { + "month": "2023-07", + "mean": 97.5, + "median": 97.5, + "p10": 97.5, + "p25": 97.5, + "p75": 97.5, + "p90": 97.5, + "n": 1 + }, + { + "month": "2023-09", + "mean": 99.0, + "median": 99.0, + "p10": 99.0, + "p25": 99.0, + "p75": 99.0, + "p90": 99.0, + "n": 1 + }, + { + "month": "2023-11", + "mean": 98.5, + "median": 98.5, + "p10": 98.5, + "p25": 98.5, + "p75": 98.5, + "p90": 98.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 100.5, + "median": 100.5, + "p10": 100.5, + "p25": 100.5, + "p75": 100.5, + "p90": 100.5, + "n": 1 + }, + { + "month": "2024-03", + "mean": 99.2, + "median": 99.2, + "p10": 99.2, + "p25": 99.2, + "p75": 99.2, + "p90": 99.2, + "n": 1 + }, + { + "month": "2024-05", + "mean": 98.0, + "median": 98.0, + "p10": 98.0, + "p25": 98.0, + "p75": 98.0, + "p90": 98.0, + "n": 1 + }, + { + "month": "2024-07", + "mean": 97.8, + "median": 97.8, + "p10": 97.8, + "p25": 97.8, + "p75": 97.8, + "p90": 97.8, + "n": 1 + }, + { + "month": "2024-09", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2024-11", + "mean": 98.2, + "median": 98.2, + "p10": 98.2, + "p25": 98.2, + "p75": 98.2, + "p90": 98.2, + "n": 1 + }, + { + "month": "2025-01", + "mean": 99.0, + "median": 99.0, + "p10": 99.0, + "p25": 99.0, + "p75": 99.0, + "p90": 99.0, + "n": 1 + }, + { + "month": "2025-03", + "mean": 98.8, + "median": 98.8, + "p10": 98.8, + "p25": 98.8, + "p75": 98.8, + "p90": 98.8, + "n": 1 + }, + { + "month": "2025-06", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2025-08", + "mean": 97.0, + "median": 97.0, + "p10": 97.0, + "p25": 97.0, + "p75": 97.0, + "p90": 97.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 99.3, + "median": 99.3, + "p10": 99.0, + "p25": 99.1, + "p75": 99.5, + "p90": 99.5, + "n": 4 + }, + { + "month": "2025-10", + "mean": 99.2, + "median": 99.2, + "p10": 98.9, + "p25": 99.0, + "p75": 99.4, + "p90": 99.5, + "n": 4 + }, + { + "month": "2025-11", + "mean": 99.5, + "median": 99.7, + "p10": 98.9, + "p25": 99.3, + "p75": 99.9, + "p90": 100.0, + "n": 4 + }, + { + "month": "2025-12", + "mean": 99.1, + "median": 99.1, + "p10": 98.5, + "p25": 98.6, + "p75": 99.6, + "p90": 99.7, + "n": 4 + }, + { + "month": "2026-01", + "mean": 98.6, + "median": 98.5, + "p10": 98.2, + "p25": 98.3, + "p75": 98.8, + "p90": 99.2, + "n": 4 + }, + { + "month": "2026-02", + "mean": 99.0, + "median": 99.0, + "p10": 98.7, + "p25": 98.8, + "p75": 99.2, + "p90": 99.3, + "n": 4 + }, + { + "month": "2026-03", + "mean": 98.9, + "median": 98.9, + "p10": 98.7, + "p25": 98.8, + "p75": 99.1, + "p90": 99.2, + "n": 4 + }, + { + "month": "2026-04", + "mean": 99.7, + "median": 99.7, + "p10": 99.4, + "p25": 99.5, + "p75": 99.9, + "p90": 100.0, + "n": 4 + }, + { + "month": "2026-05", + "mean": 99.2, + "median": 99.4, + "p10": 98.6, + "p25": 99.0, + "p75": 99.6, + "p90": 99.7, + "n": 4 + } + ], + "stats": { + "n": 58, + "mean": 99.0, + "median": 99.1, + "std": 0.7, + "min": 97.0, + "max": 100.5, + "p25": 98.6, + "p75": 99.5, + "p85": 99.7, + "p95": 100.1 + }, + "reference": 100.0 + }, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/prod_to_qa_pla.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/prod_to_qa_pla.json new file mode 100644 index 00000000000..a7af38894ba --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/prod_to_qa_pla.json @@ -0,0 +1,581 @@ +{ + "id": "prod_to_qa_pla", + "label": "Production \u2192 QA Release (PL-A)", + "type": "qa_hold", + "durations": [ + 1.6, 0.8, 2.5, 1.6, 4.1, 1.6, 3.3, 2.5, 4.9, 1.6, 10.7, 2.5, 5.7, 0.8, 3.3, + 4.1, 1.6, 0.0, 2.5, 6.6, 1.6, 4.1, 1.6, 2.5, 2.5, 2.5, 2.5, 2.5, 3.3, 3.3, + 2.5, 2.5, 2.5, 3.3, 2.5, 2.5, 2.5, 1.6, 3.3, 3.3, 2.5, 2.5, 3.3, 1.6, 2.5, + 2.5, 2.5, 2.5, 2.5, 3.3, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5, 2.5 + ], + "observations": [ + { + "date": "2022-05-22", + "value": 1.6 + }, + { + "date": "2022-06-13", + "value": 0.8 + }, + { + "date": "2022-07-16", + "value": 2.5 + }, + { + "date": "2022-08-26", + "value": 1.6 + }, + { + "date": "2022-10-07", + "value": 4.1 + }, + { + "date": "2022-11-23", + "value": 1.6 + }, + { + "date": "2023-01-13", + "value": 3.3 + }, + { + "date": "2023-04-01", + "value": 2.5 + }, + { + "date": "2023-05-14", + "value": 4.9 + }, + { + "date": "2023-07-12", + "value": 1.6 + }, + { + "date": "2023-09-16", + "value": 10.7 + }, + { + "date": "2023-11-25", + "value": 2.5 + }, + { + "date": "2024-01-28", + "value": 5.7 + }, + { + "date": "2024-03-11", + "value": 0.8 + }, + { + "date": "2024-05-17", + "value": 3.3 + }, + { + "date": "2024-07-27", + "value": 4.1 + }, + { + "date": "2024-09-10", + "value": 1.6 + }, + { + "date": "2024-11-09", + "value": 0.0 + }, + { + "date": "2025-01-18", + "value": 2.5 + }, + { + "date": "2025-03-22", + "value": 6.6 + }, + { + "date": "2025-06-03", + "value": 1.6 + }, + { + "date": "2025-08-08", + "value": 4.1 + }, + { + "date": "2025-09-04", + "value": 1.6 + }, + { + "date": "2025-09-10", + "value": 2.5 + }, + { + "date": "2025-09-16", + "value": 2.5 + }, + { + "date": "2025-09-22", + "value": 2.5 + }, + { + "date": "2025-10-05", + "value": 2.5 + }, + { + "date": "2025-10-11", + "value": 2.5 + }, + { + "date": "2025-10-17", + "value": 3.3 + }, + { + "date": "2025-10-23", + "value": 3.3 + }, + { + "date": "2025-11-06", + "value": 2.5 + }, + { + "date": "2025-11-12", + "value": 2.5 + }, + { + "date": "2025-11-18", + "value": 2.5 + }, + { + "date": "2025-11-24", + "value": 3.3 + }, + { + "date": "2025-12-04", + "value": 2.5 + }, + { + "date": "2025-12-10", + "value": 2.5 + }, + { + "date": "2025-12-16", + "value": 2.5 + }, + { + "date": "2025-12-22", + "value": 1.6 + }, + { + "date": "2026-01-05", + "value": 3.3 + }, + { + "date": "2026-01-11", + "value": 3.3 + }, + { + "date": "2026-01-17", + "value": 2.5 + }, + { + "date": "2026-01-23", + "value": 2.5 + }, + { + "date": "2026-02-06", + "value": 3.3 + }, + { + "date": "2026-02-12", + "value": 1.6 + }, + { + "date": "2026-02-18", + "value": 2.5 + }, + { + "date": "2026-02-24", + "value": 2.5 + }, + { + "date": "2026-03-04", + "value": 2.5 + }, + { + "date": "2026-03-10", + "value": 2.5 + }, + { + "date": "2026-03-16", + "value": 2.5 + }, + { + "date": "2026-03-22", + "value": 3.3 + }, + { + "date": "2026-04-05", + "value": 2.5 + }, + { + "date": "2026-04-11", + "value": 2.5 + }, + { + "date": "2026-04-17", + "value": 2.5 + }, + { + "date": "2026-04-23", + "value": 2.5 + }, + { + "date": "2026-05-06", + "value": 2.5 + }, + { + "date": "2026-05-12", + "value": 2.5 + }, + { + "date": "2026-05-18", + "value": 2.5 + }, + { + "date": "2026-05-24", + "value": 2.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2022-06", + "mean": 0.8, + "median": 0.8, + "p10": 0.8, + "p25": 0.8, + "p75": 0.8, + "p90": 0.8, + "n": 1 + }, + { + "month": "2022-07", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2022-08", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2022-10", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-11", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2023-01", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2023-04", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2023-05", + "mean": 4.9, + "median": 4.9, + "p10": 4.9, + "p25": 4.9, + "p75": 4.9, + "p90": 4.9, + "n": 1 + }, + { + "month": "2023-07", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2023-09", + "mean": 10.7, + "median": 10.7, + "p10": 10.7, + "p25": 10.7, + "p75": 10.7, + "p90": 10.7, + "n": 1 + }, + { + "month": "2023-11", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 5.7, + "median": 5.7, + "p10": 5.7, + "p25": 5.7, + "p75": 5.7, + "p90": 5.7, + "n": 1 + }, + { + "month": "2024-03", + "mean": 0.8, + "median": 0.8, + "p10": 0.8, + "p25": 0.8, + "p75": 0.8, + "p90": 0.8, + "n": 1 + }, + { + "month": "2024-05", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2024-07", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-09", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2024-11", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2025-03", + "mean": 6.6, + "median": 6.6, + "p10": 6.6, + "p25": 6.6, + "p75": 6.6, + "p90": 6.6, + "n": 1 + }, + { + "month": "2025-06", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2025-08", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-09", + "mean": 2.3, + "median": 2.5, + "p10": 1.9, + "p25": 2.3, + "p75": 2.5, + "p90": 2.5, + "n": 4 + }, + { + "month": "2025-10", + "mean": 2.9, + "median": 2.9, + "p10": 2.5, + "p25": 2.5, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2025-11", + "mean": 2.7, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2025-12", + "mean": 2.3, + "median": 2.5, + "p10": 1.9, + "p25": 2.3, + "p75": 2.5, + "p90": 2.5, + "n": 4 + }, + { + "month": "2026-01", + "mean": 2.9, + "median": 2.9, + "p10": 2.5, + "p25": 2.5, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2026-02", + "mean": 2.5, + "median": 2.5, + "p10": 1.9, + "p25": 2.3, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-03", + "mean": 2.7, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-04", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 4 + }, + { + "month": "2026-05", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 4 + } + ], + "stats": { + "n": 58, + "mean": 2.8, + "median": 2.5, + "std": 1.8, + "min": 0.0, + "max": 10.7, + "p25": 2.5, + "p75": 3.3, + "p85": 3.3, + "p95": 4.9 + }, + "plifz": 5, + "plifz_note": "WEBAZ (GR processing days)", + "pct_exceeding_plifz": 6.9, + "annotations": [], + "cost": null, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": null, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/raw_dwell_highland_arabica.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/raw_dwell_highland_arabica.json new file mode 100644 index 00000000000..3c72d9f9217 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/raw_dwell_highland_arabica.json @@ -0,0 +1,1513 @@ +{ + "id": "raw_dwell_highland_arabica", + "label": "Raw Material Dwell: Highland Arabica", + "type": "raw_material_dwell", + "durations": [ + 28.7, 50.8, 14.8, 72.2, 34.4, 45.1, 24.6, 59, 20.5, 39.4, 12.3, 77.9, 106.6, + 36.9, 31.2, 53.3, 18, 64, 4.1, 45.1, 32.8, 23, 69.7, 41, 90.2, 26.2, 55.8, + 36.9, 75.4, 16.4, 47.6, 28.7, 34.4, 61.5, 9.8, 39.4, 49.2, 31.2, 40.2, 44.3, + 27.9, 32, 34.4, 50, 33.6, 37.7, 40.2, 43.5, 29.5, 33.6, 36.1, 39.4, 42.6, + 29.5, 32, 35.3, 38.5, 41.8, 38.5, 41, 44.3, 47.6, 32, 36.9, 40.2, 44.3, + 27.9, 32, 45.9, 50, 33.6, 37.7, 40.2, 45.9, 29.5, 33.6, 36.1, 39.4, 26.2, + 29.5, 32, 35.3, 38.5 + ], + "observations": [ + { + "date": "2022-04-02", + "value": 28.7 + }, + { + "date": "2022-04-15", + "value": 50.8 + }, + { + "date": "2022-04-28", + "value": 14.8 + }, + { + "date": "2022-08-05", + "value": 72.2 + }, + { + "date": "2022-08-12", + "value": 34.4 + }, + { + "date": "2022-08-20", + "value": 45.1 + }, + { + "date": "2022-08-28", + "value": 24.6 + }, + { + "date": "2023-01-10", + "value": 59 + }, + { + "date": "2023-01-22", + "value": 20.5 + }, + { + "date": "2023-01-30", + "value": 39.4 + }, + { + "date": "2023-06-05", + "value": 12.3 + }, + { + "date": "2023-06-18", + "value": 77.9 + }, + { + "date": "2023-10-03", + "value": 106.6 + }, + { + "date": "2023-10-10", + "value": 36.9 + }, + { + "date": "2023-10-18", + "value": 31.2 + }, + { + "date": "2023-10-25", + "value": 53.3 + }, + { + "date": "2023-10-30", + "value": 18 + }, + { + "date": "2024-03-05", + "value": 64 + }, + { + "date": "2024-03-12", + "value": 4.1 + }, + { + "date": "2024-03-20", + "value": 45.1 + }, + { + "date": "2024-03-28", + "value": 32.8 + }, + { + "date": "2024-07-08", + "value": 23 + }, + { + "date": "2024-07-15", + "value": 69.7 + }, + { + "date": "2024-07-22", + "value": 41 + }, + { + "date": "2024-11-04", + "value": 90.2 + }, + { + "date": "2024-11-11", + "value": 26.2 + }, + { + "date": "2024-11-18", + "value": 55.8 + }, + { + "date": "2024-11-25", + "value": 36.9 + }, + { + "date": "2024-11-30", + "value": 75.4 + }, + { + "date": "2025-03-03", + "value": 16.4 + }, + { + "date": "2025-03-10", + "value": 47.6 + }, + { + "date": "2025-03-17", + "value": 28.7 + }, + { + "date": "2025-03-24", + "value": 34.4 + }, + { + "date": "2025-07-02", + "value": 61.5 + }, + { + "date": "2025-07-09", + "value": 9.8 + }, + { + "date": "2025-07-16", + "value": 39.4 + }, + { + "date": "2025-07-23", + "value": 49.2 + }, + { + "date": "2025-07-30", + "value": 31.2 + }, + { + "date": "2025-09-05", + "value": 40.2 + }, + { + "date": "2025-09-11", + "value": 44.3 + }, + { + "date": "2025-09-17", + "value": 27.9 + }, + { + "date": "2025-09-23", + "value": 32 + }, + { + "date": "2025-09-29", + "value": 34.4 + }, + { + "date": "2025-10-06", + "value": 50 + }, + { + "date": "2025-10-12", + "value": 33.6 + }, + { + "date": "2025-10-18", + "value": 37.7 + }, + { + "date": "2025-10-24", + "value": 40.2 + }, + { + "date": "2025-10-30", + "value": 43.5 + }, + { + "date": "2025-11-04", + "value": 29.5 + }, + { + "date": "2025-11-10", + "value": 33.6 + }, + { + "date": "2025-11-16", + "value": 36.1 + }, + { + "date": "2025-11-22", + "value": 39.4 + }, + { + "date": "2025-11-28", + "value": 42.6 + }, + { + "date": "2025-12-05", + "value": 29.5 + }, + { + "date": "2025-12-11", + "value": 32 + }, + { + "date": "2025-12-17", + "value": 35.3 + }, + { + "date": "2025-12-23", + "value": 38.5 + }, + { + "date": "2025-12-29", + "value": 41.8 + }, + { + "date": "2026-01-06", + "value": 38.5 + }, + { + "date": "2026-01-12", + "value": 41 + }, + { + "date": "2026-01-18", + "value": 44.3 + }, + { + "date": "2026-01-24", + "value": 47.6 + }, + { + "date": "2026-01-30", + "value": 32 + }, + { + "date": "2026-02-04", + "value": 36.9 + }, + { + "date": "2026-02-10", + "value": 40.2 + }, + { + "date": "2026-02-16", + "value": 44.3 + }, + { + "date": "2026-02-22", + "value": 27.9 + }, + { + "date": "2026-02-28", + "value": 32 + }, + { + "date": "2026-03-05", + "value": 45.9 + }, + { + "date": "2026-03-11", + "value": 50 + }, + { + "date": "2026-03-17", + "value": 33.6 + }, + { + "date": "2026-03-23", + "value": 37.7 + }, + { + "date": "2026-03-29", + "value": 40.2 + }, + { + "date": "2026-04-06", + "value": 45.9 + }, + { + "date": "2026-04-12", + "value": 29.5 + }, + { + "date": "2026-04-18", + "value": 33.6 + }, + { + "date": "2026-04-24", + "value": 36.1 + }, + { + "date": "2026-04-30", + "value": 39.4 + }, + { + "date": "2026-05-04", + "value": 26.2 + }, + { + "date": "2026-05-10", + "value": 29.5 + }, + { + "date": "2026-05-16", + "value": 32 + }, + { + "date": "2026-05-22", + "value": 35.3 + }, + { + "date": "2026-05-28", + "value": 38.5 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 31.4, + "median": 28.7, + "p10": 17.5, + "p25": 21.7, + "p75": 39.8, + "p90": 46.4, + "n": 3, + "total_kg_days": 483000 + }, + { + "month": "2022-08", + "mean": 44.1, + "median": 39.8, + "p10": 27.6, + "p25": 32, + "p75": 51.9, + "p90": 64, + "n": 4, + "total_kg_days": 903000 + }, + { + "month": "2023-01", + "mean": 39.6, + "median": 39.4, + "p10": 24.3, + "p25": 29.9, + "p75": 49.2, + "p90": 55.1, + "n": 3, + "total_kg_days": 609000 + }, + { + "month": "2023-06", + "mean": 45.1, + "median": 45.1, + "p10": 18.9, + "p25": 28.7, + "p75": 61.5, + "p90": 71.3, + "n": 2, + "total_kg_days": 462000 + }, + { + "month": "2023-10", + "mean": 49.2, + "median": 36.9, + "p10": 23.3, + "p25": 31.2, + "p75": 53.3, + "p90": 85.3, + "n": 5, + "total_kg_days": 1260000 + }, + { + "month": "2024-03", + "mean": 36.5, + "median": 38.9, + "p10": 12.7, + "p25": 25.7, + "p75": 49.9, + "p90": 58.3, + "n": 4, + "total_kg_days": 747600 + }, + { + "month": "2024-07", + "mean": 44.5, + "median": 41, + "p10": 26.6, + "p25": 32, + "p75": 55.3, + "p90": 64, + "n": 3, + "total_kg_days": 684600 + }, + { + "month": "2024-11", + "mean": 56.9, + "median": 55.8, + "p10": 30.5, + "p25": 36.9, + "p75": 75.4, + "p90": 84.3, + "n": 5, + "total_kg_days": 1457400 + }, + { + "month": "2025-03", + "mean": 31.8, + "median": 31.6, + "p10": 20.1, + "p25": 25.7, + "p75": 37.7, + "p90": 43.6, + "n": 4, + "total_kg_days": 651000 + }, + { + "month": "2025-07", + "mean": 38.2, + "median": 39.4, + "p10": 18.4, + "p25": 31.2, + "p75": 49.2, + "p90": 56.6, + "n": 5, + "total_kg_days": 978600 + }, + { + "month": "2025-09", + "mean": 35.8, + "median": 34.4, + "p10": 29.5, + "p25": 32, + "p75": 40.2, + "p90": 42.6, + "n": 5, + "total_kg_days": 915600 + }, + { + "month": "2025-10", + "mean": 41, + "median": 40.2, + "p10": 35.3, + "p25": 37.7, + "p75": 43.5, + "p90": 47.4, + "n": 5, + "total_kg_days": 1050000 + }, + { + "month": "2025-11", + "mean": 36.2, + "median": 36.1, + "p10": 31.2, + "p25": 33.6, + "p75": 39.4, + "p90": 41.3, + "n": 5, + "total_kg_days": 928200 + }, + { + "month": "2025-12", + "mean": 35.4, + "median": 35.3, + "p10": 30.5, + "p25": 32, + "p75": 38.5, + "p90": 40.5, + "n": 5, + "total_kg_days": 907200 + }, + { + "month": "2026-01", + "mean": 40.7, + "median": 41, + "p10": 34.6, + "p25": 38.5, + "p75": 44.3, + "p90": 46.2, + "n": 5, + "total_kg_days": 1041600 + }, + { + "month": "2026-02", + "mean": 36.2, + "median": 36.9, + "p10": 29.5, + "p25": 32, + "p75": 40.2, + "p90": 42.6, + "n": 5, + "total_kg_days": 928200 + }, + { + "month": "2026-03", + "mean": 41.5, + "median": 40.2, + "p10": 35.3, + "p25": 37.7, + "p75": 45.9, + "p90": 48.4, + "n": 5, + "total_kg_days": 1062600 + }, + { + "month": "2026-04", + "mean": 36.9, + "median": 36.1, + "p10": 31.2, + "p25": 33.6, + "p75": 39.4, + "p90": 43.3, + "n": 5, + "total_kg_days": 945000 + }, + { + "month": "2026-05", + "mean": 32.3, + "median": 32, + "p10": 27.6, + "p25": 29.5, + "p75": 35.3, + "p90": 37.2, + "n": 5, + "total_kg_days": 827400 + } + ], + "stats": { + "n": 83, + "mean": 39.6, + "median": 37.7, + "std": 19.8, + "min": 4.1, + "max": 106.6, + "p25": 31.2, + "p75": 44.3, + "p85": 50, + "p95": 69.7 + }, + "plifz": 30, + "plifz_note": null, + "pct_exceeding_plifz": 89.2, + "annotations": [ + { + "date": "2023-09-01", + "label": "Supplier change for Highland Arabica" + } + ], + "cost": { + "unit_price": 2.624, + "currency": "CHF", + "mean_qty": 4200, + "monthly": [ + { + "month": "2022-04", + "n_events": 3, + "total_kg_days": 483000 + }, + { + "month": "2022-08", + "n_events": 4, + "total_kg_days": 903000 + }, + { + "month": "2023-01", + "n_events": 3, + "total_kg_days": 609000 + }, + { + "month": "2023-06", + "n_events": 2, + "total_kg_days": 462000 + }, + { + "month": "2023-10", + "n_events": 5, + "total_kg_days": 1260000 + }, + { + "month": "2024-03", + "n_events": 4, + "total_kg_days": 747600 + }, + { + "month": "2024-07", + "n_events": 3, + "total_kg_days": 684600 + }, + { + "month": "2024-11", + "n_events": 5, + "total_kg_days": 1457400 + }, + { + "month": "2025-03", + "n_events": 4, + "total_kg_days": 651000 + }, + { + "month": "2025-07", + "n_events": 5, + "total_kg_days": 978600 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 915600 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1050000 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 928200 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 907200 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1041600 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 928200 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1062600 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 945000 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 827400 + } + ] + }, + "detail_rows": { + "columns": [ + { + "key": "batch", + "source_field": "CHARG", + "source_table": "MSEG", + "label": "Batch" + }, + { + "key": "consumption_date", + "source_field": "BUDAT", + "source_table": "MKPF", + "label": "Consumption Date" + }, + { + "key": "dwell_days", + "source_field": null, + "source_table": null, + "label": "Dwell Days", + "unit": "d" + }, + { + "key": "kg_days", + "source_field": null, + "source_table": null, + "label": "Inventory kg-days", + "unit": "kg·d" + }, + { + "key": "cons_matnr", + "source_field": "MATNR", + "source_table": "MSEG", + "label": "Consuming Material" + }, + { + "key": "cons_material_name", + "source_field": "MAKTX", + "source_table": "MAKT", + "label": "Consuming Material Name" + }, + { + "key": "cons_in_current_recipe", + "source_field": null, + "source_table": null, + "label": "In Current Recipe" + } + ], + "rows": [ + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-001", + "consumption_date": "2022-04-02", + "dwell_days": 28.7, + "kg_days": 161000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-002", + "consumption_date": "2022-04-15", + "dwell_days": 50.8, + "kg_days": 161000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-003", + "consumption_date": "2022-04-28", + "dwell_days": 14.8, + "kg_days": 161000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-004", + "consumption_date": "2022-08-05", + "dwell_days": 72.2, + "kg_days": 225750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-005", + "consumption_date": "2022-08-12", + "dwell_days": 34.4, + "kg_days": 225750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-006", + "consumption_date": "2022-08-20", + "dwell_days": 45.1, + "kg_days": 225750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-007", + "consumption_date": "2022-08-28", + "dwell_days": 24.6, + "kg_days": 225750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-008", + "consumption_date": "2023-01-10", + "dwell_days": 59, + "kg_days": 203000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-009", + "consumption_date": "2023-01-22", + "dwell_days": 20.5, + "kg_days": 203000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-010", + "consumption_date": "2023-01-30", + "dwell_days": 39.4, + "kg_days": 203000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-011", + "consumption_date": "2023-06-05", + "dwell_days": 12.3, + "kg_days": 231000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-012", + "consumption_date": "2023-06-18", + "dwell_days": 77.9, + "kg_days": 231000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-013", + "consumption_date": "2023-10-03", + "dwell_days": 106.6, + "kg_days": 252000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-014", + "consumption_date": "2023-10-10", + "dwell_days": 36.9, + "kg_days": 252000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-015", + "consumption_date": "2023-10-18", + "dwell_days": 31.2, + "kg_days": 252000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-016", + "consumption_date": "2023-10-25", + "dwell_days": 53.3, + "kg_days": 252000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-017", + "consumption_date": "2023-10-30", + "dwell_days": 18, + "kg_days": 252000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-018", + "consumption_date": "2024-03-05", + "dwell_days": 64, + "kg_days": 186900, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-019", + "consumption_date": "2024-03-12", + "dwell_days": 4.1, + "kg_days": 186900, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-020", + "consumption_date": "2024-03-20", + "dwell_days": 45.1, + "kg_days": 186900, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-021", + "consumption_date": "2024-03-28", + "dwell_days": 32.8, + "kg_days": 186900, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-022", + "consumption_date": "2024-07-08", + "dwell_days": 23, + "kg_days": 228200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-023", + "consumption_date": "2024-07-15", + "dwell_days": 69.7, + "kg_days": 228200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-024", + "consumption_date": "2024-07-22", + "dwell_days": 41, + "kg_days": 228200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-025", + "consumption_date": "2024-11-04", + "dwell_days": 90.2, + "kg_days": 291480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-026", + "consumption_date": "2024-11-11", + "dwell_days": 26.2, + "kg_days": 291480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-027", + "consumption_date": "2024-11-18", + "dwell_days": 55.8, + "kg_days": 291480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-028", + "consumption_date": "2024-11-25", + "dwell_days": 36.9, + "kg_days": 291480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-029", + "consumption_date": "2024-11-30", + "dwell_days": 75.4, + "kg_days": 291480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-030", + "consumption_date": "2025-03-03", + "dwell_days": 16.4, + "kg_days": 162750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-031", + "consumption_date": "2025-03-10", + "dwell_days": 47.6, + "kg_days": 162750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-032", + "consumption_date": "2025-03-17", + "dwell_days": 28.7, + "kg_days": 162750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-033", + "consumption_date": "2025-03-24", + "dwell_days": 34.4, + "kg_days": 162750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-034", + "consumption_date": "2025-07-02", + "dwell_days": 61.5, + "kg_days": 195720, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-035", + "consumption_date": "2025-07-09", + "dwell_days": 9.8, + "kg_days": 195720, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-036", + "consumption_date": "2025-07-16", + "dwell_days": 39.4, + "kg_days": 195720, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-037", + "consumption_date": "2025-07-23", + "dwell_days": 49.2, + "kg_days": 195720, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-038", + "consumption_date": "2025-07-30", + "dwell_days": 31.2, + "kg_days": 195720, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-039", + "consumption_date": "2025-09-05", + "dwell_days": 40.2, + "kg_days": 183120, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-040", + "consumption_date": "2025-09-11", + "dwell_days": 44.3, + "kg_days": 183120, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-041", + "consumption_date": "2025-09-17", + "dwell_days": 27.9, + "kg_days": 183120, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-042", + "consumption_date": "2025-09-23", + "dwell_days": 32, + "kg_days": 183120, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-043", + "consumption_date": "2025-09-29", + "dwell_days": 34.4, + "kg_days": 183120, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-044", + "consumption_date": "2025-10-06", + "dwell_days": 50, + "kg_days": 210000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-045", + "consumption_date": "2025-10-12", + "dwell_days": 33.6, + "kg_days": 210000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-046", + "consumption_date": "2025-10-18", + "dwell_days": 37.7, + "kg_days": 210000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-047", + "consumption_date": "2025-10-24", + "dwell_days": 40.2, + "kg_days": 210000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-048", + "consumption_date": "2025-10-30", + "dwell_days": 43.5, + "kg_days": 210000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-049", + "consumption_date": "2025-11-04", + "dwell_days": 29.5, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-050", + "consumption_date": "2025-11-10", + "dwell_days": 33.6, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-051", + "consumption_date": "2025-11-16", + "dwell_days": 36.1, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-052", + "consumption_date": "2025-11-22", + "dwell_days": 39.4, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-053", + "consumption_date": "2025-11-28", + "dwell_days": 42.6, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-054", + "consumption_date": "2025-12-05", + "dwell_days": 29.5, + "kg_days": 181440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-055", + "consumption_date": "2025-12-11", + "dwell_days": 32, + "kg_days": 181440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-056", + "consumption_date": "2025-12-17", + "dwell_days": 35.3, + "kg_days": 181440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-057", + "consumption_date": "2025-12-23", + "dwell_days": 38.5, + "kg_days": 181440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-058", + "consumption_date": "2025-12-29", + "dwell_days": 41.8, + "kg_days": 181440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-059", + "consumption_date": "2026-01-06", + "dwell_days": 38.5, + "kg_days": 208320, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-060", + "consumption_date": "2026-01-12", + "dwell_days": 41, + "kg_days": 208320, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-061", + "consumption_date": "2026-01-18", + "dwell_days": 44.3, + "kg_days": 208320, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-062", + "consumption_date": "2026-01-24", + "dwell_days": 47.6, + "kg_days": 208320, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-063", + "consumption_date": "2026-01-30", + "dwell_days": 32, + "kg_days": 208320, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-064", + "consumption_date": "2026-02-04", + "dwell_days": 36.9, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-065", + "consumption_date": "2026-02-10", + "dwell_days": 40.2, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-066", + "consumption_date": "2026-02-16", + "dwell_days": 44.3, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-067", + "consumption_date": "2026-02-22", + "dwell_days": 27.9, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-068", + "consumption_date": "2026-02-28", + "dwell_days": 32, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-069", + "consumption_date": "2026-03-05", + "dwell_days": 45.9, + "kg_days": 212520, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-070", + "consumption_date": "2026-03-11", + "dwell_days": 50, + "kg_days": 212520, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-071", + "consumption_date": "2026-03-17", + "dwell_days": 33.6, + "kg_days": 212520, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-072", + "consumption_date": "2026-03-23", + "dwell_days": 37.7, + "kg_days": 212520, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-073", + "consumption_date": "2026-03-29", + "dwell_days": 40.2, + "kg_days": 212520, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-074", + "consumption_date": "2026-04-06", + "dwell_days": 45.9, + "kg_days": 189000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-075", + "consumption_date": "2026-04-12", + "dwell_days": 29.5, + "kg_days": 189000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-076", + "consumption_date": "2026-04-18", + "dwell_days": 33.6, + "kg_days": 189000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-077", + "consumption_date": "2026-04-24", + "dwell_days": 36.1, + "kg_days": 189000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-078", + "consumption_date": "2026-04-30", + "dwell_days": 39.4, + "kg_days": 189000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-079", + "consumption_date": "2026-05-04", + "dwell_days": 26.2, + "kg_days": 165480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-080", + "consumption_date": "2026-05-10", + "dwell_days": 29.5, + "kg_days": 165480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-081", + "consumption_date": "2026-05-16", + "dwell_days": 32, + "kg_days": 165480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-082", + "consumption_date": "2026-05-22", + "dwell_days": 35.3, + "kg_days": 165480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-083", + "consumption_date": "2026-05-28", + "dwell_days": 38.5, + "kg_days": 165480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-OTHER-01", + "consumption_date": "2026-05-16", + "dwell_days": 36.8, + "kg_days": 40000, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 0 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-OTHER-02", + "consumption_date": "2026-05-22", + "dwell_days": 40.6, + "kg_days": 44125, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 0 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-OTHER-03", + "consumption_date": "2026-05-28", + "dwell_days": 44.3, + "kg_days": 48125, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 0 + } + ] + }, + "ref_date_col": "consumption_date", + "n_batches": null, + "n_movements": 38, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0", + "value_col": "dwell_days" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/raw_dwell_lowland_robusta.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/raw_dwell_lowland_robusta.json new file mode 100644 index 00000000000..8278926b9ea --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/raw_dwell_lowland_robusta.json @@ -0,0 +1,1261 @@ +{ + "id": "raw_dwell_lowland_robusta", + "label": "Raw Material Dwell: Lowland Robusta", + "type": "raw_material_dwell", + "durations": [ + 23, 36.9, 9.8, 50.8, 27.1, 64, 16.4, 45.1, 6.6, 34.4, 53.3, 31.2, 12.3, 59, + 20.5, 39.4, 2.5, 69.7, 24.6, 45.1, 18, 32.8, 80.4, 14.8, 32, 33.6, 36.9, + 24.6, 27.9, 31.2, 33.6, 22.1, 24.6, 26.2, 31.2, 18.9, 22.1, 23.8, 26.2, 23, + 26.2, 27.9, 30.3, 32.8, 23, 25.4, 27.1, 29.5, 32, 29.5, 32, 33.6, 36.9, + 24.6, 28.7, 31.2, 33.6, 22.1, 24.6, 27.9, 31.2, 18.9, 22.1, 23.8, 35.3, 23, + 26.2, 27.9, 30.3 + ], + "observations": [ + { + "date": "2022-05-02", + "value": 23 + }, + { + "date": "2022-05-10", + "value": 36.9 + }, + { + "date": "2022-05-18", + "value": 9.8 + }, + { + "date": "2022-05-25", + "value": 50.8 + }, + { + "date": "2023-02-06", + "value": 27.1 + }, + { + "date": "2023-02-14", + "value": 64 + }, + { + "date": "2023-02-22", + "value": 16.4 + }, + { + "date": "2023-02-28", + "value": 45.1 + }, + { + "date": "2023-09-05", + "value": 6.6 + }, + { + "date": "2023-09-15", + "value": 34.4 + }, + { + "date": "2023-09-25", + "value": 53.3 + }, + { + "date": "2024-04-03", + "value": 31.2 + }, + { + "date": "2024-04-10", + "value": 12.3 + }, + { + "date": "2024-04-17", + "value": 59 + }, + { + "date": "2024-04-24", + "value": 20.5 + }, + { + "date": "2024-10-02", + "value": 39.4 + }, + { + "date": "2024-10-09", + "value": 2.5 + }, + { + "date": "2024-10-16", + "value": 69.7 + }, + { + "date": "2024-10-23", + "value": 24.6 + }, + { + "date": "2024-10-30", + "value": 45.1 + }, + { + "date": "2025-04-07", + "value": 18 + }, + { + "date": "2025-04-14", + "value": 32.8 + }, + { + "date": "2025-04-21", + "value": 80.4 + }, + { + "date": "2025-04-28", + "value": 14.8 + }, + { + "date": "2025-09-04", + "value": 32 + }, + { + "date": "2025-09-10", + "value": 33.6 + }, + { + "date": "2025-09-16", + "value": 36.9 + }, + { + "date": "2025-09-22", + "value": 24.6 + }, + { + "date": "2025-09-28", + "value": 27.9 + }, + { + "date": "2025-10-05", + "value": 31.2 + }, + { + "date": "2025-10-11", + "value": 33.6 + }, + { + "date": "2025-10-17", + "value": 22.1 + }, + { + "date": "2025-10-23", + "value": 24.6 + }, + { + "date": "2025-10-29", + "value": 26.2 + }, + { + "date": "2025-11-06", + "value": 31.2 + }, + { + "date": "2025-11-12", + "value": 18.9 + }, + { + "date": "2025-11-18", + "value": 22.1 + }, + { + "date": "2025-11-24", + "value": 23.8 + }, + { + "date": "2025-11-30", + "value": 26.2 + }, + { + "date": "2025-12-04", + "value": 23 + }, + { + "date": "2025-12-10", + "value": 26.2 + }, + { + "date": "2025-12-16", + "value": 27.9 + }, + { + "date": "2025-12-22", + "value": 30.3 + }, + { + "date": "2025-12-28", + "value": 32.8 + }, + { + "date": "2026-01-05", + "value": 23 + }, + { + "date": "2026-01-11", + "value": 25.4 + }, + { + "date": "2026-01-17", + "value": 27.1 + }, + { + "date": "2026-01-23", + "value": 29.5 + }, + { + "date": "2026-01-29", + "value": 32 + }, + { + "date": "2026-02-06", + "value": 29.5 + }, + { + "date": "2026-02-12", + "value": 32 + }, + { + "date": "2026-02-18", + "value": 33.6 + }, + { + "date": "2026-02-24", + "value": 36.9 + }, + { + "date": "2026-02-30", + "value": 24.6 + }, + { + "date": "2026-03-04", + "value": 28.7 + }, + { + "date": "2026-03-10", + "value": 31.2 + }, + { + "date": "2026-03-16", + "value": 33.6 + }, + { + "date": "2026-03-22", + "value": 22.1 + }, + { + "date": "2026-03-28", + "value": 24.6 + }, + { + "date": "2026-04-05", + "value": 27.9 + }, + { + "date": "2026-04-11", + "value": 31.2 + }, + { + "date": "2026-04-17", + "value": 18.9 + }, + { + "date": "2026-04-23", + "value": 22.1 + }, + { + "date": "2026-04-29", + "value": 23.8 + }, + { + "date": "2026-05-06", + "value": 35.3 + }, + { + "date": "2026-05-12", + "value": 23 + }, + { + "date": "2026-05-18", + "value": 26.2 + }, + { + "date": "2026-05-24", + "value": 27.9 + }, + { + "date": "2026-05-30", + "value": 30.3 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 30.2, + "median": 29.9, + "p10": 13.8, + "p25": 19.7, + "p75": 40.4, + "p90": 46.7, + "n": 4, + "total_kg_days": 955500 + }, + { + "month": "2023-02", + "mean": 38.1, + "median": 36.1, + "p10": 19.6, + "p25": 24.4, + "p75": 49.9, + "p90": 58.3, + "n": 4, + "total_kg_days": 1209000 + }, + { + "month": "2023-09", + "mean": 31.4, + "median": 34.4, + "p10": 12.1, + "p25": 20.5, + "p75": 43.9, + "p90": 49.5, + "n": 3, + "total_kg_days": 747500 + }, + { + "month": "2024-04", + "mean": 30.7, + "median": 25.8, + "p10": 14.8, + "p25": 18.4, + "p75": 38.1, + "p90": 50.7, + "n": 4, + "total_kg_days": 975000 + }, + { + "month": "2024-10", + "mean": 36.2, + "median": 39.4, + "p10": 11.3, + "p25": 24.6, + "p75": 45.1, + "p90": 59.9, + "n": 5, + "total_kg_days": 1436500 + }, + { + "month": "2025-04", + "mean": 36.5, + "median": 25.4, + "p10": 15.7, + "p25": 17.2, + "p75": 44.7, + "p90": 66.1, + "n": 4, + "total_kg_days": 1157000 + }, + { + "month": "2025-09", + "mean": 31, + "median": 32, + "p10": 25.9, + "p25": 27.9, + "p75": 33.6, + "p90": 35.6, + "n": 5, + "total_kg_days": 1228500 + }, + { + "month": "2025-10", + "mean": 27.6, + "median": 26.2, + "p10": 23.1, + "p25": 24.6, + "p75": 31.2, + "p90": 32.6, + "n": 5, + "total_kg_days": 1092000 + }, + { + "month": "2025-11", + "mean": 24.4, + "median": 23.8, + "p10": 20.2, + "p25": 22.1, + "p75": 26.2, + "p90": 29.2, + "n": 5, + "total_kg_days": 968500 + }, + { + "month": "2025-12", + "mean": 28, + "median": 27.9, + "p10": 24.3, + "p25": 26.2, + "p75": 30.3, + "p90": 31.8, + "n": 5, + "total_kg_days": 1111500 + }, + { + "month": "2026-01", + "mean": 27.4, + "median": 27.1, + "p10": 23.9, + "p25": 25.4, + "p75": 29.5, + "p90": 31, + "n": 5, + "total_kg_days": 1085500 + }, + { + "month": "2026-02", + "mean": 31.3, + "median": 32, + "p10": 26.6, + "p25": 29.5, + "p75": 33.6, + "p90": 35.6, + "n": 5, + "total_kg_days": 1241500 + }, + { + "month": "2026-03", + "mean": 28, + "median": 28.7, + "p10": 23.1, + "p25": 24.6, + "p75": 31.2, + "p90": 32.6, + "n": 5, + "total_kg_days": 1111500 + }, + { + "month": "2026-04", + "mean": 24.8, + "median": 23.8, + "p10": 20.2, + "p25": 22.1, + "p75": 27.9, + "p90": 29.8, + "n": 5, + "total_kg_days": 981500 + }, + { + "month": "2026-05", + "mean": 28.5, + "median": 27.9, + "p10": 24.3, + "p25": 26.2, + "p75": 30.3, + "p90": 33.3, + "n": 5, + "total_kg_days": 1131000 + } + ], + "stats": { + "n": 69, + "mean": 30, + "median": 27.9, + "std": 15.8, + "min": 2.5, + "max": 80.4, + "p25": 23, + "p75": 33.6, + "p85": 36.9, + "p95": 53.3 + }, + "plifz": 21, + "plifz_note": null, + "pct_exceeding_plifz": 91.3, + "annotations": [], + "cost": { + "unit_price": 1.476, + "currency": "CHF", + "mean_qty": 6500, + "monthly": [ + { + "month": "2022-05", + "n_events": 4, + "total_kg_days": 955500 + }, + { + "month": "2023-02", + "n_events": 4, + "total_kg_days": 1209000 + }, + { + "month": "2023-09", + "n_events": 3, + "total_kg_days": 747500 + }, + { + "month": "2024-04", + "n_events": 4, + "total_kg_days": 975000 + }, + { + "month": "2024-10", + "n_events": 5, + "total_kg_days": 1436500 + }, + { + "month": "2025-04", + "n_events": 4, + "total_kg_days": 1157000 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 1228500 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1092000 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 968500 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 1111500 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1085500 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 1241500 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1111500 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 981500 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 1131000 + } + ] + }, + "detail_rows": { + "columns": [ + { + "key": "batch", + "source_field": "CHARG", + "source_table": "MSEG", + "label": "Batch" + }, + { + "key": "consumption_date", + "source_field": "BUDAT", + "source_table": "MKPF", + "label": "Consumption Date" + }, + { + "key": "dwell_days", + "source_field": null, + "source_table": null, + "label": "Dwell Days", + "unit": "d" + }, + { + "key": "kg_days", + "source_field": null, + "source_table": null, + "label": "Inventory kg-days", + "unit": "kg·d" + }, + { + "key": "cons_matnr", + "source_field": "MATNR", + "source_table": "MSEG", + "label": "Consuming Material" + }, + { + "key": "cons_material_name", + "source_field": "MAKTX", + "source_table": "MAKT", + "label": "Consuming Material Name" + }, + { + "key": "cons_in_current_recipe", + "source_field": null, + "source_table": null, + "label": "In Current Recipe" + } + ], + "rows": [ + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-001", + "consumption_date": "2022-05-02", + "dwell_days": 23, + "kg_days": 238875, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-002", + "consumption_date": "2022-05-10", + "dwell_days": 36.9, + "kg_days": 238875, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-003", + "consumption_date": "2022-05-18", + "dwell_days": 9.8, + "kg_days": 238875, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-004", + "consumption_date": "2022-05-25", + "dwell_days": 50.8, + "kg_days": 238875, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-005", + "consumption_date": "2023-02-06", + "dwell_days": 27.1, + "kg_days": 302250, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-006", + "consumption_date": "2023-02-14", + "dwell_days": 64, + "kg_days": 302250, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-007", + "consumption_date": "2023-02-22", + "dwell_days": 16.4, + "kg_days": 302250, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-008", + "consumption_date": "2023-02-28", + "dwell_days": 45.1, + "kg_days": 302250, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-009", + "consumption_date": "2023-09-05", + "dwell_days": 6.6, + "kg_days": 249166.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-010", + "consumption_date": "2023-09-15", + "dwell_days": 34.4, + "kg_days": 249166.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-011", + "consumption_date": "2023-09-25", + "dwell_days": 53.3, + "kg_days": 249166.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-012", + "consumption_date": "2024-04-03", + "dwell_days": 31.2, + "kg_days": 243750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-013", + "consumption_date": "2024-04-10", + "dwell_days": 12.3, + "kg_days": 243750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-014", + "consumption_date": "2024-04-17", + "dwell_days": 59, + "kg_days": 243750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-015", + "consumption_date": "2024-04-24", + "dwell_days": 20.5, + "kg_days": 243750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-016", + "consumption_date": "2024-10-02", + "dwell_days": 39.4, + "kg_days": 287300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-017", + "consumption_date": "2024-10-09", + "dwell_days": 2.5, + "kg_days": 287300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-018", + "consumption_date": "2024-10-16", + "dwell_days": 69.7, + "kg_days": 287300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-019", + "consumption_date": "2024-10-23", + "dwell_days": 24.6, + "kg_days": 287300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-020", + "consumption_date": "2024-10-30", + "dwell_days": 45.1, + "kg_days": 287300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-021", + "consumption_date": "2025-04-07", + "dwell_days": 18, + "kg_days": 289250, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-022", + "consumption_date": "2025-04-14", + "dwell_days": 32.8, + "kg_days": 289250, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-023", + "consumption_date": "2025-04-21", + "dwell_days": 80.4, + "kg_days": 289250, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-024", + "consumption_date": "2025-04-28", + "dwell_days": 14.8, + "kg_days": 289250, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-025", + "consumption_date": "2025-09-04", + "dwell_days": 32, + "kg_days": 245700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-026", + "consumption_date": "2025-09-10", + "dwell_days": 33.6, + "kg_days": 245700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-027", + "consumption_date": "2025-09-16", + "dwell_days": 36.9, + "kg_days": 245700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-028", + "consumption_date": "2025-09-22", + "dwell_days": 24.6, + "kg_days": 245700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-029", + "consumption_date": "2025-09-28", + "dwell_days": 27.9, + "kg_days": 245700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-030", + "consumption_date": "2025-10-05", + "dwell_days": 31.2, + "kg_days": 218400, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-031", + "consumption_date": "2025-10-11", + "dwell_days": 33.6, + "kg_days": 218400, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-032", + "consumption_date": "2025-10-17", + "dwell_days": 22.1, + "kg_days": 218400, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-033", + "consumption_date": "2025-10-23", + "dwell_days": 24.6, + "kg_days": 218400, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-034", + "consumption_date": "2025-10-29", + "dwell_days": 26.2, + "kg_days": 218400, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-035", + "consumption_date": "2025-11-06", + "dwell_days": 31.2, + "kg_days": 193700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-036", + "consumption_date": "2025-11-12", + "dwell_days": 18.9, + "kg_days": 193700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-037", + "consumption_date": "2025-11-18", + "dwell_days": 22.1, + "kg_days": 193700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-038", + "consumption_date": "2025-11-24", + "dwell_days": 23.8, + "kg_days": 193700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-039", + "consumption_date": "2025-11-30", + "dwell_days": 26.2, + "kg_days": 193700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-040", + "consumption_date": "2025-12-04", + "dwell_days": 23, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-041", + "consumption_date": "2025-12-10", + "dwell_days": 26.2, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-042", + "consumption_date": "2025-12-16", + "dwell_days": 27.9, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-043", + "consumption_date": "2025-12-22", + "dwell_days": 30.3, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-044", + "consumption_date": "2025-12-28", + "dwell_days": 32.8, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-045", + "consumption_date": "2026-01-05", + "dwell_days": 23, + "kg_days": 217100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-046", + "consumption_date": "2026-01-11", + "dwell_days": 25.4, + "kg_days": 217100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-047", + "consumption_date": "2026-01-17", + "dwell_days": 27.1, + "kg_days": 217100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-048", + "consumption_date": "2026-01-23", + "dwell_days": 29.5, + "kg_days": 217100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-049", + "consumption_date": "2026-01-29", + "dwell_days": 32, + "kg_days": 217100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-050", + "consumption_date": "2026-02-06", + "dwell_days": 29.5, + "kg_days": 248300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-051", + "consumption_date": "2026-02-12", + "dwell_days": 32, + "kg_days": 248300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-052", + "consumption_date": "2026-02-18", + "dwell_days": 33.6, + "kg_days": 248300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-053", + "consumption_date": "2026-02-24", + "dwell_days": 36.9, + "kg_days": 248300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-054", + "consumption_date": "2026-02-30", + "dwell_days": 24.6, + "kg_days": 248300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-055", + "consumption_date": "2026-03-04", + "dwell_days": 28.7, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-056", + "consumption_date": "2026-03-10", + "dwell_days": 31.2, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-057", + "consumption_date": "2026-03-16", + "dwell_days": 33.6, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-058", + "consumption_date": "2026-03-22", + "dwell_days": 22.1, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-059", + "consumption_date": "2026-03-28", + "dwell_days": 24.6, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-060", + "consumption_date": "2026-04-05", + "dwell_days": 27.9, + "kg_days": 196300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-061", + "consumption_date": "2026-04-11", + "dwell_days": 31.2, + "kg_days": 196300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-062", + "consumption_date": "2026-04-17", + "dwell_days": 18.9, + "kg_days": 196300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-063", + "consumption_date": "2026-04-23", + "dwell_days": 22.1, + "kg_days": 196300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-064", + "consumption_date": "2026-04-29", + "dwell_days": 23.8, + "kg_days": 196300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-065", + "consumption_date": "2026-05-06", + "dwell_days": 35.3, + "kg_days": 226200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-066", + "consumption_date": "2026-05-12", + "dwell_days": 23, + "kg_days": 226200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-067", + "consumption_date": "2026-05-18", + "dwell_days": 26.2, + "kg_days": 226200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-068", + "consumption_date": "2026-05-24", + "dwell_days": 27.9, + "kg_days": 226200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-069", + "consumption_date": "2026-05-30", + "dwell_days": 30.3, + "kg_days": 226200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-OTHER-01", + "consumption_date": "2026-05-18", + "dwell_days": 30.1, + "kg_days": 32750, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 0 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-OTHER-02", + "consumption_date": "2026-05-24", + "dwell_days": 32.1, + "kg_days": 34875, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 0 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-OTHER-03", + "consumption_date": "2026-05-30", + "dwell_days": 34.8, + "kg_days": 37875, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 0 + } + ] + }, + "ref_date_col": "consumption_date", + "n_batches": null, + "n_movements": 42, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0", + "value_col": "dwell_days" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/raw_dwell_washed_bourbon.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/raw_dwell_washed_bourbon.json new file mode 100644 index 00000000000..758fbb5974e --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/raw_dwell_washed_bourbon.json @@ -0,0 +1,1274 @@ +{ + "id": "raw_dwell_washed_bourbon", + "label": "Raw Material Dwell: Washed Bourbon", + "type": "raw_material_dwell", + "durations": [ + 32.8, 18, 55.8, 3.3, 45.1, 94.3, 24.6, 50.8, 14.8, 69.7, 28.7, 59, 8.2, + 39.4, 77.9, 23, 42.6, 12.3, 64, 34.4, 6.6, 53.3, 27.1, 82, 16.4, 33.6, 36.9, + 39.4, 42.6, 27.9, 32.8, 36.1, 39.4, 24.6, 27.9, 41, 44.3, 29.5, 33.6, 36.1, + 41, 26.2, 29.5, 32, 35.3, 23, 26.2, 28.7, 31.2, 34.4, 32, 33.6, 36.9, 39.4, + 42.6, 30.3, 32.8, 36.1, 39.4, 24.6, 38.5, 41, 44.3, 29.5, 33.6, 37.7, 41, + 26.2, 29.5, 32 + ], + "observations": [ + { + "date": "2022-06-05", + "value": 32.8 + }, + { + "date": "2022-06-15", + "value": 18 + }, + { + "date": "2022-06-25", + "value": 55.8 + }, + { + "date": "2023-03-08", + "value": 3.3 + }, + { + "date": "2023-03-15", + "value": 45.1 + }, + { + "date": "2023-03-22", + "value": 94.3 + }, + { + "date": "2023-03-29", + "value": 24.6 + }, + { + "date": "2023-11-06", + "value": 50.8 + }, + { + "date": "2023-11-13", + "value": 14.8 + }, + { + "date": "2023-11-20", + "value": 69.7 + }, + { + "date": "2024-06-03", + "value": 28.7 + }, + { + "date": "2024-06-10", + "value": 59 + }, + { + "date": "2024-06-17", + "value": 8.2 + }, + { + "date": "2024-06-24", + "value": 39.4 + }, + { + "date": "2024-06-30", + "value": 77.9 + }, + { + "date": "2025-01-07", + "value": 23 + }, + { + "date": "2025-01-14", + "value": 42.6 + }, + { + "date": "2025-01-21", + "value": 12.3 + }, + { + "date": "2025-01-28", + "value": 64 + }, + { + "date": "2025-08-04", + "value": 34.4 + }, + { + "date": "2025-08-08", + "value": 6.6 + }, + { + "date": "2025-08-12", + "value": 53.3 + }, + { + "date": "2025-08-16", + "value": 27.1 + }, + { + "date": "2025-08-20", + "value": 82 + }, + { + "date": "2025-08-24", + "value": 16.4 + }, + { + "date": "2025-09-06", + "value": 33.6 + }, + { + "date": "2025-09-12", + "value": 36.9 + }, + { + "date": "2025-09-18", + "value": 39.4 + }, + { + "date": "2025-09-24", + "value": 42.6 + }, + { + "date": "2025-09-30", + "value": 27.9 + }, + { + "date": "2025-10-04", + "value": 32.8 + }, + { + "date": "2025-10-10", + "value": 36.1 + }, + { + "date": "2025-10-16", + "value": 39.4 + }, + { + "date": "2025-10-22", + "value": 24.6 + }, + { + "date": "2025-10-28", + "value": 27.9 + }, + { + "date": "2025-11-05", + "value": 41 + }, + { + "date": "2025-11-11", + "value": 44.3 + }, + { + "date": "2025-11-17", + "value": 29.5 + }, + { + "date": "2025-11-23", + "value": 33.6 + }, + { + "date": "2025-11-29", + "value": 36.1 + }, + { + "date": "2025-12-06", + "value": 41 + }, + { + "date": "2025-12-12", + "value": 26.2 + }, + { + "date": "2025-12-18", + "value": 29.5 + }, + { + "date": "2025-12-24", + "value": 32 + }, + { + "date": "2025-12-30", + "value": 35.3 + }, + { + "date": "2026-01-04", + "value": 23 + }, + { + "date": "2026-01-10", + "value": 26.2 + }, + { + "date": "2026-01-16", + "value": 28.7 + }, + { + "date": "2026-01-22", + "value": 31.2 + }, + { + "date": "2026-01-28", + "value": 34.4 + }, + { + "date": "2026-02-05", + "value": 32 + }, + { + "date": "2026-02-11", + "value": 33.6 + }, + { + "date": "2026-02-17", + "value": 36.9 + }, + { + "date": "2026-02-23", + "value": 39.4 + }, + { + "date": "2026-02-29", + "value": 42.6 + }, + { + "date": "2026-03-06", + "value": 30.3 + }, + { + "date": "2026-03-12", + "value": 32.8 + }, + { + "date": "2026-03-18", + "value": 36.1 + }, + { + "date": "2026-03-24", + "value": 39.4 + }, + { + "date": "2026-03-30", + "value": 24.6 + }, + { + "date": "2026-04-04", + "value": 38.5 + }, + { + "date": "2026-04-10", + "value": 41 + }, + { + "date": "2026-04-16", + "value": 44.3 + }, + { + "date": "2026-04-22", + "value": 29.5 + }, + { + "date": "2026-04-28", + "value": 33.6 + }, + { + "date": "2026-05-05", + "value": 37.7 + }, + { + "date": "2026-05-11", + "value": 41 + }, + { + "date": "2026-05-17", + "value": 26.2 + }, + { + "date": "2026-05-23", + "value": 29.5 + }, + { + "date": "2026-05-29", + "value": 32 + } + ], + "monthly": [ + { + "month": "2022-06", + "mean": 35.5, + "median": 32.8, + "p10": 21, + "p25": 25.4, + "p75": 44.3, + "p90": 51.2, + "n": 3, + "total_kg_days": 364000 + }, + { + "month": "2023-03", + "mean": 41.8, + "median": 34.9, + "p10": 9.7, + "p25": 19.3, + "p75": 57.4, + "p90": 79.5, + "n": 4, + "total_kg_days": 571200 + }, + { + "month": "2023-11", + "mean": 45.1, + "median": 50.8, + "p10": 22, + "p25": 32.8, + "p75": 60.3, + "p90": 65.9, + "n": 3, + "total_kg_days": 462000 + }, + { + "month": "2024-06", + "mean": 42.6, + "median": 39.4, + "p10": 16.4, + "p25": 28.7, + "p75": 59, + "p90": 70.4, + "n": 5, + "total_kg_days": 728000 + }, + { + "month": "2025-01", + "mean": 35.5, + "median": 32.8, + "p10": 15.5, + "p25": 20.3, + "p75": 48, + "p90": 57.6, + "n": 4, + "total_kg_days": 484400 + }, + { + "month": "2025-08", + "mean": 36.7, + "median": 30.7, + "p10": 11.5, + "p25": 19.1, + "p75": 48.6, + "p90": 67.6, + "n": 6, + "total_kg_days": 750400 + }, + { + "month": "2025-09", + "mean": 36.1, + "median": 36.9, + "p10": 30.2, + "p25": 33.6, + "p75": 39.4, + "p90": 41.3, + "n": 5, + "total_kg_days": 616000 + }, + { + "month": "2025-10", + "mean": 32.1, + "median": 32.8, + "p10": 25.9, + "p25": 27.9, + "p75": 36.1, + "p90": 38, + "n": 5, + "total_kg_days": 548800 + }, + { + "month": "2025-11", + "mean": 36.9, + "median": 36.1, + "p10": 31.2, + "p25": 33.6, + "p75": 41, + "p90": 43, + "n": 5, + "total_kg_days": 630000 + }, + { + "month": "2025-12", + "mean": 32.8, + "median": 32, + "p10": 27.6, + "p25": 29.5, + "p75": 35.3, + "p90": 38.7, + "n": 5, + "total_kg_days": 560000 + }, + { + "month": "2026-01", + "mean": 28.7, + "median": 28.7, + "p10": 24.3, + "p25": 26.2, + "p75": 31.2, + "p90": 33.1, + "n": 5, + "total_kg_days": 490000 + }, + { + "month": "2026-02", + "mean": 36.9, + "median": 36.9, + "p10": 32.6, + "p25": 33.6, + "p75": 39.4, + "p90": 41.3, + "n": 5, + "total_kg_days": 630000 + }, + { + "month": "2026-03", + "mean": 32.6, + "median": 32.8, + "p10": 26.9, + "p25": 30.3, + "p75": 36.1, + "p90": 38, + "n": 5, + "total_kg_days": 557200 + }, + { + "month": "2026-04", + "mean": 37.4, + "median": 38.5, + "p10": 31.2, + "p25": 33.6, + "p75": 41, + "p90": 43, + "n": 5, + "total_kg_days": 638400 + }, + { + "month": "2026-05", + "mean": 33.3, + "median": 32, + "p10": 27.6, + "p25": 29.5, + "p75": 37.7, + "p90": 39.7, + "n": 5, + "total_kg_days": 568400 + } + ], + "stats": { + "n": 70, + "mean": 36, + "median": 33.6, + "std": 19.1, + "min": 3.3, + "max": 94.3, + "p25": 27.9, + "p75": 41, + "p85": 44.3, + "p95": 64 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 95.7, + "annotations": [], + "cost": { + "unit_price": 4.51, + "currency": "CHF", + "mean_qty": 2800, + "monthly": [ + { + "month": "2022-06", + "n_events": 3, + "total_kg_days": 364000 + }, + { + "month": "2023-03", + "n_events": 4, + "total_kg_days": 571200 + }, + { + "month": "2023-11", + "n_events": 3, + "total_kg_days": 462000 + }, + { + "month": "2024-06", + "n_events": 5, + "total_kg_days": 728000 + }, + { + "month": "2025-01", + "n_events": 4, + "total_kg_days": 484400 + }, + { + "month": "2025-08", + "n_events": 6, + "total_kg_days": 750400 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 616000 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 548800 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 630000 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 560000 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 490000 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 630000 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 557200 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 638400 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 568400 + } + ] + }, + "detail_rows": { + "columns": [ + { + "key": "batch", + "source_field": "CHARG", + "source_table": "MSEG", + "label": "Batch" + }, + { + "key": "consumption_date", + "source_field": "BUDAT", + "source_table": "MKPF", + "label": "Consumption Date" + }, + { + "key": "dwell_days", + "source_field": null, + "source_table": null, + "label": "Dwell Days", + "unit": "d" + }, + { + "key": "kg_days", + "source_field": null, + "source_table": null, + "label": "Inventory kg-days", + "unit": "kg·d" + }, + { + "key": "cons_matnr", + "source_field": "MATNR", + "source_table": "MSEG", + "label": "Consuming Material" + }, + { + "key": "cons_material_name", + "source_field": "MAKTX", + "source_table": "MAKT", + "label": "Consuming Material Name" + }, + { + "key": "cons_in_current_recipe", + "source_field": null, + "source_table": null, + "label": "In Current Recipe" + } + ], + "rows": [ + { + "batch": "RAW_DWELL_WASHED_BOURBON-001", + "consumption_date": "2022-06-05", + "dwell_days": 32.8, + "kg_days": 121333.3, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-002", + "consumption_date": "2022-06-15", + "dwell_days": 18, + "kg_days": 121333.3, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-003", + "consumption_date": "2022-06-25", + "dwell_days": 55.8, + "kg_days": 121333.3, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-004", + "consumption_date": "2023-03-08", + "dwell_days": 3.3, + "kg_days": 142800, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-005", + "consumption_date": "2023-03-15", + "dwell_days": 45.1, + "kg_days": 142800, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-006", + "consumption_date": "2023-03-22", + "dwell_days": 94.3, + "kg_days": 142800, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-007", + "consumption_date": "2023-03-29", + "dwell_days": 24.6, + "kg_days": 142800, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-008", + "consumption_date": "2023-11-06", + "dwell_days": 50.8, + "kg_days": 154000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-009", + "consumption_date": "2023-11-13", + "dwell_days": 14.8, + "kg_days": 154000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-010", + "consumption_date": "2023-11-20", + "dwell_days": 69.7, + "kg_days": 154000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-011", + "consumption_date": "2024-06-03", + "dwell_days": 28.7, + "kg_days": 145600, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-012", + "consumption_date": "2024-06-10", + "dwell_days": 59, + "kg_days": 145600, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-013", + "consumption_date": "2024-06-17", + "dwell_days": 8.2, + "kg_days": 145600, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-014", + "consumption_date": "2024-06-24", + "dwell_days": 39.4, + "kg_days": 145600, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-015", + "consumption_date": "2024-06-30", + "dwell_days": 77.9, + "kg_days": 145600, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-016", + "consumption_date": "2025-01-07", + "dwell_days": 23, + "kg_days": 121100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-017", + "consumption_date": "2025-01-14", + "dwell_days": 42.6, + "kg_days": 121100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-018", + "consumption_date": "2025-01-21", + "dwell_days": 12.3, + "kg_days": 121100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-019", + "consumption_date": "2025-01-28", + "dwell_days": 64, + "kg_days": 121100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-020", + "consumption_date": "2025-08-04", + "dwell_days": 34.4, + "kg_days": 125066.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-021", + "consumption_date": "2025-08-08", + "dwell_days": 6.6, + "kg_days": 125066.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-022", + "consumption_date": "2025-08-12", + "dwell_days": 53.3, + "kg_days": 125066.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-023", + "consumption_date": "2025-08-16", + "dwell_days": 27.1, + "kg_days": 125066.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-024", + "consumption_date": "2025-08-20", + "dwell_days": 82, + "kg_days": 125066.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-025", + "consumption_date": "2025-08-24", + "dwell_days": 16.4, + "kg_days": 125066.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-026", + "consumption_date": "2025-09-06", + "dwell_days": 33.6, + "kg_days": 123200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-027", + "consumption_date": "2025-09-12", + "dwell_days": 36.9, + "kg_days": 123200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-028", + "consumption_date": "2025-09-18", + "dwell_days": 39.4, + "kg_days": 123200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-029", + "consumption_date": "2025-09-24", + "dwell_days": 42.6, + "kg_days": 123200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-030", + "consumption_date": "2025-09-30", + "dwell_days": 27.9, + "kg_days": 123200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-031", + "consumption_date": "2025-10-04", + "dwell_days": 32.8, + "kg_days": 109760, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-032", + "consumption_date": "2025-10-10", + "dwell_days": 36.1, + "kg_days": 109760, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-033", + "consumption_date": "2025-10-16", + "dwell_days": 39.4, + "kg_days": 109760, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-034", + "consumption_date": "2025-10-22", + "dwell_days": 24.6, + "kg_days": 109760, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-035", + "consumption_date": "2025-10-28", + "dwell_days": 27.9, + "kg_days": 109760, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-036", + "consumption_date": "2025-11-05", + "dwell_days": 41, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-037", + "consumption_date": "2025-11-11", + "dwell_days": 44.3, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-038", + "consumption_date": "2025-11-17", + "dwell_days": 29.5, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-039", + "consumption_date": "2025-11-23", + "dwell_days": 33.6, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-040", + "consumption_date": "2025-11-29", + "dwell_days": 36.1, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-041", + "consumption_date": "2025-12-06", + "dwell_days": 41, + "kg_days": 112000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-042", + "consumption_date": "2025-12-12", + "dwell_days": 26.2, + "kg_days": 112000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-043", + "consumption_date": "2025-12-18", + "dwell_days": 29.5, + "kg_days": 112000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-044", + "consumption_date": "2025-12-24", + "dwell_days": 32, + "kg_days": 112000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-045", + "consumption_date": "2025-12-30", + "dwell_days": 35.3, + "kg_days": 112000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-046", + "consumption_date": "2026-01-04", + "dwell_days": 23, + "kg_days": 98000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-047", + "consumption_date": "2026-01-10", + "dwell_days": 26.2, + "kg_days": 98000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-048", + "consumption_date": "2026-01-16", + "dwell_days": 28.7, + "kg_days": 98000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-049", + "consumption_date": "2026-01-22", + "dwell_days": 31.2, + "kg_days": 98000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-050", + "consumption_date": "2026-01-28", + "dwell_days": 34.4, + "kg_days": 98000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-051", + "consumption_date": "2026-02-05", + "dwell_days": 32, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-052", + "consumption_date": "2026-02-11", + "dwell_days": 33.6, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-053", + "consumption_date": "2026-02-17", + "dwell_days": 36.9, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-054", + "consumption_date": "2026-02-23", + "dwell_days": 39.4, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-055", + "consumption_date": "2026-02-29", + "dwell_days": 42.6, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-056", + "consumption_date": "2026-03-06", + "dwell_days": 30.3, + "kg_days": 111440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-057", + "consumption_date": "2026-03-12", + "dwell_days": 32.8, + "kg_days": 111440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-058", + "consumption_date": "2026-03-18", + "dwell_days": 36.1, + "kg_days": 111440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-059", + "consumption_date": "2026-03-24", + "dwell_days": 39.4, + "kg_days": 111440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-060", + "consumption_date": "2026-03-30", + "dwell_days": 24.6, + "kg_days": 111440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-061", + "consumption_date": "2026-04-04", + "dwell_days": 38.5, + "kg_days": 127680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-062", + "consumption_date": "2026-04-10", + "dwell_days": 41, + "kg_days": 127680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-063", + "consumption_date": "2026-04-16", + "dwell_days": 44.3, + "kg_days": 127680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-064", + "consumption_date": "2026-04-22", + "dwell_days": 29.5, + "kg_days": 127680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-065", + "consumption_date": "2026-04-28", + "dwell_days": 33.6, + "kg_days": 127680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-066", + "consumption_date": "2026-05-05", + "dwell_days": 37.7, + "kg_days": 113680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-067", + "consumption_date": "2026-05-11", + "dwell_days": 41, + "kg_days": 113680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-068", + "consumption_date": "2026-05-17", + "dwell_days": 26.2, + "kg_days": 113680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-069", + "consumption_date": "2026-05-23", + "dwell_days": 29.5, + "kg_days": 113680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-070", + "consumption_date": "2026-05-29", + "dwell_days": 32, + "kg_days": 113680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-OTHER-01", + "consumption_date": "2026-05-17", + "dwell_days": 30.1, + "kg_days": 32750, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 0 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-OTHER-02", + "consumption_date": "2026-05-23", + "dwell_days": 33.9, + "kg_days": 36875, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 0 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-OTHER-03", + "consumption_date": "2026-05-29", + "dwell_days": 36.8, + "kg_days": 40000, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 0 + } + ] + }, + "ref_date_col": "consumption_date", + "n_batches": null, + "n_movements": 25, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0", + "value_col": "dwell_days" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/transit_pla_hub1.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/transit_pla_hub1.json new file mode 100644 index 00000000000..b98d937052b --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/riverside-decaf/steps/transit_pla_hub1.json @@ -0,0 +1,437 @@ +{ + "id": "transit_pla_hub1", + "label": "Transit PL-A \u2192 HUB-1", + "type": "transit", + "durations": [ + 23.0, 28.7, 18.0, 34.4, 24.6, 45.1, 20.5, 31.2, 12.3, 26.2, 23.0, 36.9, + 24.6, 18.0, 29.5, 31.2, 32.0, 21.3, 29.5, 18.9, 21.3, 22.1, 25.4, 27.1, + 22.1, 23.8, 26.2, 21.3, 23.8, 25.4, 27.1, 29.5, 32.0, 27.1, 29.5, 18.9, + 32.8, 22.1, 25.4, 19.7, 22.1, 23.8 + ], + "observations": [ + { + "date": "2022-07-20", + "value": 23.0 + }, + { + "date": "2022-11-30", + "value": 28.7 + }, + { + "date": "2023-03-15", + "value": 18.0 + }, + { + "date": "2023-07-10", + "value": 34.4 + }, + { + "date": "2023-10-25", + "value": 24.6 + }, + { + "date": "2024-02-08", + "value": 45.1 + }, + { + "date": "2024-05-20", + "value": 20.5 + }, + { + "date": "2024-08-12", + "value": 31.2 + }, + { + "date": "2024-11-05", + "value": 12.3 + }, + { + "date": "2025-01-22", + "value": 26.2 + }, + { + "date": "2025-04-10", + "value": 23.0 + }, + { + "date": "2025-06-18", + "value": 36.9 + }, + { + "date": "2025-07-15", + "value": 24.6 + }, + { + "date": "2025-08-05", + "value": 18.0 + }, + { + "date": "2025-09-05", + "value": 29.5 + }, + { + "date": "2025-09-10", + "value": 31.2 + }, + { + "date": "2025-09-11", + "value": 32.0 + }, + { + "date": "2025-09-17", + "value": 21.3 + }, + { + "date": "2025-10-06", + "value": 29.5 + }, + { + "date": "2025-10-12", + "value": 18.9 + }, + { + "date": "2025-10-18", + "value": 21.3 + }, + { + "date": "2025-11-04", + "value": 22.1 + }, + { + "date": "2025-11-10", + "value": 25.4 + }, + { + "date": "2025-11-16", + "value": 27.1 + }, + { + "date": "2025-12-05", + "value": 22.1 + }, + { + "date": "2025-12-11", + "value": 23.8 + }, + { + "date": "2025-12-17", + "value": 26.2 + }, + { + "date": "2026-01-06", + "value": 21.3 + }, + { + "date": "2026-01-12", + "value": 23.8 + }, + { + "date": "2026-01-18", + "value": 25.4 + }, + { + "date": "2026-02-04", + "value": 27.1 + }, + { + "date": "2026-02-10", + "value": 29.5 + }, + { + "date": "2026-02-16", + "value": 32.0 + }, + { + "date": "2026-03-05", + "value": 27.1 + }, + { + "date": "2026-03-11", + "value": 29.5 + }, + { + "date": "2026-03-17", + "value": 18.9 + }, + { + "date": "2026-04-06", + "value": 32.8 + }, + { + "date": "2026-04-12", + "value": 22.1 + }, + { + "date": "2026-04-18", + "value": 25.4 + }, + { + "date": "2026-05-04", + "value": 19.7 + }, + { + "date": "2026-05-10", + "value": 22.1 + }, + { + "date": "2026-05-16", + "value": 23.8 + } + ], + "monthly": [ + { + "month": "2022-07", + "mean": 23.0, + "median": 23.0, + "p10": 23.0, + "p25": 23.0, + "p75": 23.0, + "p90": 23.0, + "n": 1 + }, + { + "month": "2022-11", + "mean": 28.7, + "median": 28.7, + "p10": 28.7, + "p25": 28.7, + "p75": 28.7, + "p90": 28.7, + "n": 1 + }, + { + "month": "2023-03", + "mean": 18.0, + "median": 18.0, + "p10": 18.0, + "p25": 18.0, + "p75": 18.0, + "p90": 18.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 34.4, + "median": 34.4, + "p10": 34.4, + "p25": 34.4, + "p75": 34.4, + "p90": 34.4, + "n": 1 + }, + { + "month": "2023-10", + "mean": 24.6, + "median": 24.6, + "p10": 24.6, + "p25": 24.6, + "p75": 24.6, + "p90": 24.6, + "n": 1 + }, + { + "month": "2024-02", + "mean": 45.1, + "median": 45.1, + "p10": 45.1, + "p25": 45.1, + "p75": 45.1, + "p90": 45.1, + "n": 1 + }, + { + "month": "2024-05", + "mean": 20.5, + "median": 20.5, + "p10": 20.5, + "p25": 20.5, + "p75": 20.5, + "p90": 20.5, + "n": 1 + }, + { + "month": "2024-08", + "mean": 31.2, + "median": 31.2, + "p10": 31.2, + "p25": 31.2, + "p75": 31.2, + "p90": 31.2, + "n": 1 + }, + { + "month": "2024-11", + "mean": 12.3, + "median": 12.3, + "p10": 12.3, + "p25": 12.3, + "p75": 12.3, + "p90": 12.3, + "n": 1 + }, + { + "month": "2025-01", + "mean": 26.2, + "median": 26.2, + "p10": 26.2, + "p25": 26.2, + "p75": 26.2, + "p90": 26.2, + "n": 1 + }, + { + "month": "2025-04", + "mean": 23.0, + "median": 23.0, + "p10": 23.0, + "p25": 23.0, + "p75": 23.0, + "p90": 23.0, + "n": 1 + }, + { + "month": "2025-06", + "mean": 36.9, + "median": 36.9, + "p10": 36.9, + "p25": 36.9, + "p75": 36.9, + "p90": 36.9, + "n": 1 + }, + { + "month": "2025-07", + "mean": 24.6, + "median": 24.6, + "p10": 24.6, + "p25": 24.6, + "p75": 24.6, + "p90": 24.6, + "n": 1 + }, + { + "month": "2025-08", + "mean": 18.0, + "median": 18.0, + "p10": 18.0, + "p25": 18.0, + "p75": 18.0, + "p90": 18.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 28.5, + "median": 30.3, + "p10": 23.8, + "p25": 27.5, + "p75": 31.4, + "p90": 31.7, + "n": 4 + }, + { + "month": "2025-10", + "mean": 23.2, + "median": 21.3, + "p10": 19.4, + "p25": 20.1, + "p75": 25.4, + "p90": 27.9, + "n": 3 + }, + { + "month": "2025-11", + "mean": 24.8, + "median": 25.4, + "p10": 22.8, + "p25": 23.8, + "p75": 26.2, + "p90": 26.7, + "n": 3 + }, + { + "month": "2025-12", + "mean": 24.0, + "median": 23.8, + "p10": 22.5, + "p25": 23.0, + "p75": 25.0, + "p90": 25.7, + "n": 3 + }, + { + "month": "2026-01", + "mean": 23.5, + "median": 23.8, + "p10": 21.8, + "p25": 22.5, + "p75": 24.6, + "p90": 25.1, + "n": 3 + }, + { + "month": "2026-02", + "mean": 29.5, + "median": 29.5, + "p10": 27.6, + "p25": 28.3, + "p75": 30.7, + "p90": 31.5, + "n": 3 + }, + { + "month": "2026-03", + "mean": 25.2, + "median": 27.1, + "p10": 20.5, + "p25": 23.0, + "p75": 28.3, + "p90": 29.0, + "n": 3 + }, + { + "month": "2026-04", + "mean": 26.8, + "median": 25.4, + "p10": 22.8, + "p25": 23.8, + "p75": 29.1, + "p90": 31.3, + "n": 3 + }, + { + "month": "2026-05", + "mean": 21.9, + "median": 22.1, + "p10": 20.2, + "p25": 20.9, + "p75": 23.0, + "p90": 23.5, + "n": 3 + } + ], + "stats": { + "n": 42, + "mean": 25.7, + "median": 24.6, + "std": 7.1, + "min": 12.3, + "max": 45.1, + "p25": 22.1, + "p75": 29.5, + "p85": 31.2, + "p95": 32.8 + }, + "plifz": 28, + "plifz_note": null, + "pct_exceeding_plifz": 61.9, + "annotations": [], + "cost": null, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": 15, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/site/harbor-roastery/summary.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/site/harbor-roastery/summary.json new file mode 100644 index 00000000000..c249c987fc8 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/site/harbor-roastery/summary.json @@ -0,0 +1,29435 @@ +{ + "schema_version": "1.0", + "site_id": "harbor-roastery", + "generated_at": "2026-06-17T16:40:29Z", + "products": [ + { + "id": "harbor-dark-roast", + "name": "Harbor Dark Roast", + "nodes": [ + { + "id": "procurement_highland_arabica", + "label": "Procurement: Highland Arabica", + "type": "procurement", + "material": "90000100001", + "plant": "PL-A", + "stats": { + "n": 59, + "mean": 40.2, + "median": 40.0, + "std": 13.3, + "min": 8, + "max": 105, + "p25": 35.0, + "p75": 45.0, + "p85": 48.0, + "p95": 55.8 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 98.3, + "cost": null, + "observations": [ + { + "date": "2022-03-15", + "value": 55 + }, + { + "date": "2022-06-10", + "value": 42 + }, + { + "date": "2022-09-22", + "value": 8 + }, + { + "date": "2022-12-05", + "value": 63 + }, + { + "date": "2023-02-14", + "value": 38 + }, + { + "date": "2023-05-30", + "value": 22 + }, + { + "date": "2023-08-17", + "value": 71 + }, + { + "date": "2023-11-02", + "value": 30 + }, + { + "date": "2024-01-25", + "value": 45 + }, + { + "date": "2024-04-11", + "value": 18 + }, + { + "date": "2024-07-09", + "value": 105 + }, + { + "date": "2024-10-03", + "value": 35 + }, + { + "date": "2025-01-20", + "value": 12 + }, + { + "date": "2025-04-08", + "value": 48 + }, + { + "date": "2025-09-05", + "value": 39 + }, + { + "date": "2025-09-11", + "value": 41 + }, + { + "date": "2025-09-17", + "value": 44 + }, + { + "date": "2025-09-23", + "value": 48 + }, + { + "date": "2025-09-29", + "value": 51 + }, + { + "date": "2025-10-06", + "value": 37 + }, + { + "date": "2025-10-12", + "value": 40 + }, + { + "date": "2025-10-18", + "value": 44 + }, + { + "date": "2025-10-24", + "value": 47 + }, + { + "date": "2025-10-30", + "value": 31 + }, + { + "date": "2025-11-04", + "value": 36 + }, + { + "date": "2025-11-10", + "value": 40 + }, + { + "date": "2025-11-16", + "value": 43 + }, + { + "date": "2025-11-22", + "value": 27 + }, + { + "date": "2025-11-28", + "value": 31 + }, + { + "date": "2025-12-05", + "value": 46 + }, + { + "date": "2025-12-11", + "value": 49 + }, + { + "date": "2025-12-17", + "value": 33 + }, + { + "date": "2025-12-23", + "value": 37 + }, + { + "date": "2025-12-29", + "value": 39 + }, + { + "date": "2026-01-06", + "value": 45 + }, + { + "date": "2026-01-12", + "value": 29 + }, + { + "date": "2026-01-18", + "value": 33 + }, + { + "date": "2026-01-24", + "value": 35 + }, + { + "date": "2026-01-30", + "value": 38 + }, + { + "date": "2026-02-04", + "value": 35 + }, + { + "date": "2026-02-10", + "value": 39 + }, + { + "date": "2026-02-16", + "value": 41 + }, + { + "date": "2026-02-22", + "value": 44 + }, + { + "date": "2026-02-28", + "value": 48 + }, + { + "date": "2026-03-05", + "value": 35 + }, + { + "date": "2026-03-11", + "value": 37 + }, + { + "date": "2026-03-17", + "value": 40 + }, + { + "date": "2026-03-23", + "value": 44 + }, + { + "date": "2026-03-29", + "value": 47 + }, + { + "date": "2026-04-06", + "value": 33 + }, + { + "date": "2026-04-12", + "value": 36 + }, + { + "date": "2026-04-18", + "value": 40 + }, + { + "date": "2026-04-24", + "value": 43 + }, + { + "date": "2026-04-30", + "value": 27 + }, + { + "date": "2026-05-04", + "value": 42 + }, + { + "date": "2026-05-10", + "value": 46 + }, + { + "date": "2026-05-16", + "value": 49 + }, + { + "date": "2026-05-22", + "value": 33 + }, + { + "date": "2026-05-28", + "value": 37 + } + ], + "monthly": [ + { + "month": "2022-03", + "mean": 55.0, + "median": 55.0, + "p10": 55.0, + "p25": 55.0, + "p75": 55.0, + "p90": 55.0, + "n": 1 + }, + { + "month": "2022-06", + "mean": 42.0, + "median": 42.0, + "p10": 42.0, + "p25": 42.0, + "p75": 42.0, + "p90": 42.0, + "n": 1 + }, + { + "month": "2022-09", + "mean": 8.0, + "median": 8.0, + "p10": 8.0, + "p25": 8.0, + "p75": 8.0, + "p90": 8.0, + "n": 1 + }, + { + "month": "2022-12", + "mean": 63.0, + "median": 63.0, + "p10": 63.0, + "p25": 63.0, + "p75": 63.0, + "p90": 63.0, + "n": 1 + }, + { + "month": "2023-02", + "mean": 38.0, + "median": 38.0, + "p10": 38.0, + "p25": 38.0, + "p75": 38.0, + "p90": 38.0, + "n": 1 + }, + { + "month": "2023-05", + "mean": 22.0, + "median": 22.0, + "p10": 22.0, + "p25": 22.0, + "p75": 22.0, + "p90": 22.0, + "n": 1 + }, + { + "month": "2023-08", + "mean": 71.0, + "median": 71.0, + "p10": 71.0, + "p25": 71.0, + "p75": 71.0, + "p90": 71.0, + "n": 1 + }, + { + "month": "2023-11", + "mean": 30.0, + "median": 30.0, + "p10": 30.0, + "p25": 30.0, + "p75": 30.0, + "p90": 30.0, + "n": 1 + }, + { + "month": "2024-01", + "mean": 45.0, + "median": 45.0, + "p10": 45.0, + "p25": 45.0, + "p75": 45.0, + "p90": 45.0, + "n": 1 + }, + { + "month": "2024-04", + "mean": 18.0, + "median": 18.0, + "p10": 18.0, + "p25": 18.0, + "p75": 18.0, + "p90": 18.0, + "n": 1 + }, + { + "month": "2024-07", + "mean": 105.0, + "median": 105.0, + "p10": 105.0, + "p25": 105.0, + "p75": 105.0, + "p90": 105.0, + "n": 1 + }, + { + "month": "2024-10", + "mean": 35.0, + "median": 35.0, + "p10": 35.0, + "p25": 35.0, + "p75": 35.0, + "p90": 35.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 12.0, + "median": 12.0, + "p10": 12.0, + "p25": 12.0, + "p75": 12.0, + "p90": 12.0, + "n": 1 + }, + { + "month": "2025-04", + "mean": 48.0, + "median": 48.0, + "p10": 48.0, + "p25": 48.0, + "p75": 48.0, + "p90": 48.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 44.6, + "median": 44.0, + "p10": 39.8, + "p25": 41.0, + "p75": 48.0, + "p90": 49.8, + "n": 5 + }, + { + "month": "2025-10", + "mean": 39.8, + "median": 40.0, + "p10": 33.4, + "p25": 37.0, + "p75": 44.0, + "p90": 45.8, + "n": 5 + }, + { + "month": "2025-11", + "mean": 35.4, + "median": 36.0, + "p10": 28.6, + "p25": 31.0, + "p75": 40.0, + "p90": 41.8, + "n": 5 + }, + { + "month": "2025-12", + "mean": 40.8, + "median": 39.0, + "p10": 34.6, + "p25": 37.0, + "p75": 46.0, + "p90": 47.8, + "n": 5 + }, + { + "month": "2026-01", + "mean": 36.0, + "median": 35.0, + "p10": 30.6, + "p25": 33.0, + "p75": 38.0, + "p90": 42.2, + "n": 5 + }, + { + "month": "2026-02", + "mean": 41.4, + "median": 41.0, + "p10": 36.6, + "p25": 39.0, + "p75": 44.0, + "p90": 46.4, + "n": 5 + }, + { + "month": "2026-03", + "mean": 40.6, + "median": 40.0, + "p10": 35.8, + "p25": 37.0, + "p75": 44.0, + "p90": 45.8, + "n": 5 + }, + { + "month": "2026-04", + "mean": 35.8, + "median": 36.0, + "p10": 29.4, + "p25": 33.0, + "p75": 40.0, + "p90": 41.8, + "n": 5 + }, + { + "month": "2026-05", + "mean": 41.4, + "median": 42.0, + "p10": 34.6, + "p25": 37.0, + "p75": 46.0, + "p90": 47.8, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "procurement_lowland_robusta", + "label": "Procurement: Lowland Robusta", + "type": "procurement", + "material": "90000100002", + "plant": "PL-A", + "stats": { + "n": 63, + "mean": 33.4, + "median": 33.0, + "std": 11.4, + "min": 5, + "max": 82, + "p25": 28.0, + "p75": 38.0, + "p85": 40.7, + "p95": 51.6 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 96.8, + "cost": null, + "observations": [ + { + "date": "2022-02-08", + "value": 32 + }, + { + "date": "2022-04-19", + "value": 48 + }, + { + "date": "2022-07-11", + "value": 5 + }, + { + "date": "2022-09-28", + "value": 67 + }, + { + "date": "2022-12-15", + "value": 25 + }, + { + "date": "2023-03-07", + "value": 41 + }, + { + "date": "2023-05-22", + "value": 15 + }, + { + "date": "2023-08-09", + "value": 82 + }, + { + "date": "2023-10-30", + "value": 38 + }, + { + "date": "2024-01-16", + "value": 20 + }, + { + "date": "2024-03-25", + "value": 52 + }, + { + "date": "2024-06-12", + "value": 10 + }, + { + "date": "2024-08-28", + "value": 44 + }, + { + "date": "2024-11-14", + "value": 28 + }, + { + "date": "2025-01-06", + "value": 35 + }, + { + "date": "2025-03-18", + "value": 18 + }, + { + "date": "2025-05-29", + "value": 55 + }, + { + "date": "2025-08-12", + "value": 26 + }, + { + "date": "2025-09-04", + "value": 26 + }, + { + "date": "2025-09-10", + "value": 29 + }, + { + "date": "2025-09-16", + "value": 31 + }, + { + "date": "2025-09-22", + "value": 34 + }, + { + "date": "2025-09-28", + "value": 37 + }, + { + "date": "2025-10-05", + "value": 26 + }, + { + "date": "2025-10-11", + "value": 28 + }, + { + "date": "2025-10-17", + "value": 31 + }, + { + "date": "2025-10-23", + "value": 33 + }, + { + "date": "2025-10-29", + "value": 36 + }, + { + "date": "2025-11-06", + "value": 33 + }, + { + "date": "2025-11-12", + "value": 36 + }, + { + "date": "2025-11-18", + "value": 38 + }, + { + "date": "2025-11-24", + "value": 42 + }, + { + "date": "2025-11-30", + "value": 28 + }, + { + "date": "2025-12-04", + "value": 32 + }, + { + "date": "2025-12-10", + "value": 35 + }, + { + "date": "2025-12-16", + "value": 38 + }, + { + "date": "2025-12-22", + "value": 24 + }, + { + "date": "2025-12-28", + "value": 28 + }, + { + "date": "2026-01-05", + "value": 40 + }, + { + "date": "2026-01-11", + "value": 43 + }, + { + "date": "2026-01-17", + "value": 29 + }, + { + "date": "2026-01-23", + "value": 33 + }, + { + "date": "2026-01-29", + "value": 35 + }, + { + "date": "2026-02-06", + "value": 40 + }, + { + "date": "2026-02-12", + "value": 26 + }, + { + "date": "2026-02-18", + "value": 29 + }, + { + "date": "2026-02-24", + "value": 31 + }, + { + "date": "2026-02-30", + "value": 34 + }, + { + "date": "2026-03-04", + "value": 22 + }, + { + "date": "2026-03-10", + "value": 26 + }, + { + "date": "2026-03-16", + "value": 28 + }, + { + "date": "2026-03-22", + "value": 31 + }, + { + "date": "2026-03-28", + "value": 33 + }, + { + "date": "2026-04-05", + "value": 31 + }, + { + "date": "2026-04-11", + "value": 33 + }, + { + "date": "2026-04-17", + "value": 36 + }, + { + "date": "2026-04-23", + "value": 38 + }, + { + "date": "2026-04-29", + "value": 42 + }, + { + "date": "2026-05-06", + "value": 30 + }, + { + "date": "2026-05-12", + "value": 32 + }, + { + "date": "2026-05-18", + "value": 35 + }, + { + "date": "2026-05-24", + "value": 38 + }, + { + "date": "2026-05-30", + "value": 24 + } + ], + "monthly": [ + { + "month": "2022-02", + "mean": 32.0, + "median": 32.0, + "p10": 32.0, + "p25": 32.0, + "p75": 32.0, + "p90": 32.0, + "n": 1 + }, + { + "month": "2022-04", + "mean": 48.0, + "median": 48.0, + "p10": 48.0, + "p25": 48.0, + "p75": 48.0, + "p90": 48.0, + "n": 1 + }, + { + "month": "2022-07", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2022-09", + "mean": 67.0, + "median": 67.0, + "p10": 67.0, + "p25": 67.0, + "p75": 67.0, + "p90": 67.0, + "n": 1 + }, + { + "month": "2022-12", + "mean": 25.0, + "median": 25.0, + "p10": 25.0, + "p25": 25.0, + "p75": 25.0, + "p90": 25.0, + "n": 1 + }, + { + "month": "2023-03", + "mean": 41.0, + "median": 41.0, + "p10": 41.0, + "p25": 41.0, + "p75": 41.0, + "p90": 41.0, + "n": 1 + }, + { + "month": "2023-05", + "mean": 15.0, + "median": 15.0, + "p10": 15.0, + "p25": 15.0, + "p75": 15.0, + "p90": 15.0, + "n": 1 + }, + { + "month": "2023-08", + "mean": 82.0, + "median": 82.0, + "p10": 82.0, + "p25": 82.0, + "p75": 82.0, + "p90": 82.0, + "n": 1 + }, + { + "month": "2023-10", + "mean": 38.0, + "median": 38.0, + "p10": 38.0, + "p25": 38.0, + "p75": 38.0, + "p90": 38.0, + "n": 1 + }, + { + "month": "2024-01", + "mean": 20.0, + "median": 20.0, + "p10": 20.0, + "p25": 20.0, + "p75": 20.0, + "p90": 20.0, + "n": 1 + }, + { + "month": "2024-03", + "mean": 52.0, + "median": 52.0, + "p10": 52.0, + "p25": 52.0, + "p75": 52.0, + "p90": 52.0, + "n": 1 + }, + { + "month": "2024-06", + "mean": 10.0, + "median": 10.0, + "p10": 10.0, + "p25": 10.0, + "p75": 10.0, + "p90": 10.0, + "n": 1 + }, + { + "month": "2024-08", + "mean": 44.0, + "median": 44.0, + "p10": 44.0, + "p25": 44.0, + "p75": 44.0, + "p90": 44.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 28.0, + "median": 28.0, + "p10": 28.0, + "p25": 28.0, + "p75": 28.0, + "p90": 28.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 35.0, + "median": 35.0, + "p10": 35.0, + "p25": 35.0, + "p75": 35.0, + "p90": 35.0, + "n": 1 + }, + { + "month": "2025-03", + "mean": 18.0, + "median": 18.0, + "p10": 18.0, + "p25": 18.0, + "p75": 18.0, + "p90": 18.0, + "n": 1 + }, + { + "month": "2025-05", + "mean": 55.0, + "median": 55.0, + "p10": 55.0, + "p25": 55.0, + "p75": 55.0, + "p90": 55.0, + "n": 1 + }, + { + "month": "2025-08", + "mean": 26.0, + "median": 26.0, + "p10": 26.0, + "p25": 26.0, + "p75": 26.0, + "p90": 26.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 31.4, + "median": 31.0, + "p10": 27.2, + "p25": 29.0, + "p75": 34.0, + "p90": 35.8, + "n": 5 + }, + { + "month": "2025-10", + "mean": 30.8, + "median": 31.0, + "p10": 26.8, + "p25": 28.0, + "p75": 33.0, + "p90": 34.8, + "n": 5 + }, + { + "month": "2025-11", + "mean": 35.4, + "median": 36.0, + "p10": 30.0, + "p25": 33.0, + "p75": 38.0, + "p90": 40.4, + "n": 5 + }, + { + "month": "2025-12", + "mean": 31.4, + "median": 32.0, + "p10": 25.6, + "p25": 28.0, + "p75": 35.0, + "p90": 36.8, + "n": 5 + }, + { + "month": "2026-01", + "mean": 36.0, + "median": 35.0, + "p10": 30.6, + "p25": 33.0, + "p75": 40.0, + "p90": 41.8, + "n": 5 + }, + { + "month": "2026-02", + "mean": 32.0, + "median": 31.0, + "p10": 27.2, + "p25": 29.0, + "p75": 34.0, + "p90": 37.6, + "n": 5 + }, + { + "month": "2026-03", + "mean": 28.0, + "median": 28.0, + "p10": 23.6, + "p25": 26.0, + "p75": 31.0, + "p90": 32.2, + "n": 5 + }, + { + "month": "2026-04", + "mean": 36.0, + "median": 36.0, + "p10": 31.8, + "p25": 33.0, + "p75": 38.0, + "p90": 40.4, + "n": 5 + }, + { + "month": "2026-05", + "mean": 31.8, + "median": 32.0, + "p10": 26.4, + "p25": 30.0, + "p75": 35.0, + "p90": 36.8, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "procurement_washed_bourbon", + "label": "Procurement: Washed Bourbon", + "type": "procurement", + "material": "90000100003", + "plant": "PL-A", + "stats": { + "n": 55, + "mean": 26.1, + "median": 25.0, + "std": 8.0, + "min": 7, + "max": 62, + "p25": 22.5, + "p75": 29.0, + "p85": 30.0, + "p95": 36.5 + }, + "plifz": 7, + "plifz_note": null, + "pct_exceeding_plifz": 98.2, + "cost": null, + "observations": [ + { + "date": "2022-05-03", + "value": 35 + }, + { + "date": "2022-10-18", + "value": 16 + }, + { + "date": "2023-01-24", + "value": 62 + }, + { + "date": "2023-06-15", + "value": 7 + }, + { + "date": "2023-09-28", + "value": 40 + }, + { + "date": "2024-02-12", + "value": 25 + }, + { + "date": "2024-05-07", + "value": 48 + }, + { + "date": "2024-09-19", + "value": 12 + }, + { + "date": "2025-02-04", + "value": 30 + }, + { + "date": "2025-06-10", + "value": 14 + }, + { + "date": "2025-09-06", + "value": 30 + }, + { + "date": "2025-09-12", + "value": 19 + }, + { + "date": "2025-09-18", + "value": 22 + }, + { + "date": "2025-09-24", + "value": 23 + }, + { + "date": "2025-09-30", + "value": 25 + }, + { + "date": "2025-10-04", + "value": 23 + }, + { + "date": "2025-10-10", + "value": 25 + }, + { + "date": "2025-10-16", + "value": 27 + }, + { + "date": "2025-10-22", + "value": 29 + }, + { + "date": "2025-10-28", + "value": 31 + }, + { + "date": "2025-11-05", + "value": 23 + }, + { + "date": "2025-11-11", + "value": 25 + }, + { + "date": "2025-11-17", + "value": 27 + }, + { + "date": "2025-11-23", + "value": 29 + }, + { + "date": "2025-11-29", + "value": 31 + }, + { + "date": "2025-12-06", + "value": 22 + }, + { + "date": "2025-12-12", + "value": 24 + }, + { + "date": "2025-12-18", + "value": 26 + }, + { + "date": "2025-12-24", + "value": 28 + }, + { + "date": "2025-12-30", + "value": 18 + }, + { + "date": "2026-01-04", + "value": 28 + }, + { + "date": "2026-01-10", + "value": 30 + }, + { + "date": "2026-01-16", + "value": 32 + }, + { + "date": "2026-01-22", + "value": 22 + }, + { + "date": "2026-01-28", + "value": 24 + }, + { + "date": "2026-02-05", + "value": 27 + }, + { + "date": "2026-02-11", + "value": 30 + }, + { + "date": "2026-02-17", + "value": 19 + }, + { + "date": "2026-02-23", + "value": 22 + }, + { + "date": "2026-02-29", + "value": 23 + }, + { + "date": "2026-03-06", + "value": 34 + }, + { + "date": "2026-03-12", + "value": 23 + }, + { + "date": "2026-03-18", + "value": 25 + }, + { + "date": "2026-03-24", + "value": 27 + }, + { + "date": "2026-03-30", + "value": 29 + }, + { + "date": "2026-04-04", + "value": 20 + }, + { + "date": "2026-04-10", + "value": 23 + }, + { + "date": "2026-04-16", + "value": 25 + }, + { + "date": "2026-04-22", + "value": 27 + }, + { + "date": "2026-04-28", + "value": 29 + }, + { + "date": "2026-05-05", + "value": 20 + }, + { + "date": "2026-05-11", + "value": 22 + }, + { + "date": "2026-05-17", + "value": 24 + }, + { + "date": "2026-05-23", + "value": 26 + }, + { + "date": "2026-05-29", + "value": 28 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 35.0, + "median": 35.0, + "p10": 35.0, + "p25": 35.0, + "p75": 35.0, + "p90": 35.0, + "n": 1 + }, + { + "month": "2022-10", + "mean": 16.0, + "median": 16.0, + "p10": 16.0, + "p25": 16.0, + "p75": 16.0, + "p90": 16.0, + "n": 1 + }, + { + "month": "2023-01", + "mean": 62.0, + "median": 62.0, + "p10": 62.0, + "p25": 62.0, + "p75": 62.0, + "p90": 62.0, + "n": 1 + }, + { + "month": "2023-06", + "mean": 7.0, + "median": 7.0, + "p10": 7.0, + "p25": 7.0, + "p75": 7.0, + "p90": 7.0, + "n": 1 + }, + { + "month": "2023-09", + "mean": 40.0, + "median": 40.0, + "p10": 40.0, + "p25": 40.0, + "p75": 40.0, + "p90": 40.0, + "n": 1 + }, + { + "month": "2024-02", + "mean": 25.0, + "median": 25.0, + "p10": 25.0, + "p25": 25.0, + "p75": 25.0, + "p90": 25.0, + "n": 1 + }, + { + "month": "2024-05", + "mean": 48.0, + "median": 48.0, + "p10": 48.0, + "p25": 48.0, + "p75": 48.0, + "p90": 48.0, + "n": 1 + }, + { + "month": "2024-09", + "mean": 12.0, + "median": 12.0, + "p10": 12.0, + "p25": 12.0, + "p75": 12.0, + "p90": 12.0, + "n": 1 + }, + { + "month": "2025-02", + "mean": 30.0, + "median": 30.0, + "p10": 30.0, + "p25": 30.0, + "p75": 30.0, + "p90": 30.0, + "n": 1 + }, + { + "month": "2025-06", + "mean": 14.0, + "median": 14.0, + "p10": 14.0, + "p25": 14.0, + "p75": 14.0, + "p90": 14.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 23.8, + "median": 23.0, + "p10": 20.2, + "p25": 22.0, + "p75": 25.0, + "p90": 28.0, + "n": 5 + }, + { + "month": "2025-10", + "mean": 27.0, + "median": 27.0, + "p10": 23.8, + "p25": 25.0, + "p75": 29.0, + "p90": 30.2, + "n": 5 + }, + { + "month": "2025-11", + "mean": 27.0, + "median": 27.0, + "p10": 23.8, + "p25": 25.0, + "p75": 29.0, + "p90": 30.2, + "n": 5 + }, + { + "month": "2025-12", + "mean": 23.6, + "median": 24.0, + "p10": 19.6, + "p25": 22.0, + "p75": 26.0, + "p90": 27.2, + "n": 5 + }, + { + "month": "2026-01", + "mean": 27.2, + "median": 28.0, + "p10": 22.8, + "p25": 24.0, + "p75": 30.0, + "p90": 31.2, + "n": 5 + }, + { + "month": "2026-02", + "mean": 24.2, + "median": 23.0, + "p10": 20.2, + "p25": 22.0, + "p75": 27.0, + "p90": 28.8, + "n": 5 + }, + { + "month": "2026-03", + "mean": 27.6, + "median": 27.0, + "p10": 23.8, + "p25": 25.0, + "p75": 29.0, + "p90": 32.0, + "n": 5 + }, + { + "month": "2026-04", + "mean": 24.8, + "median": 25.0, + "p10": 21.2, + "p25": 23.0, + "p75": 27.0, + "p90": 28.2, + "n": 5 + }, + { + "month": "2026-05", + "mean": 24.0, + "median": 24.0, + "p10": 20.8, + "p25": 22.0, + "p75": 26.0, + "p90": 27.2, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_highland_arabica", + "label": "Raw Material Dwell: Highland Arabica", + "type": "raw_material_dwell", + "material": "90000100001", + "plant": "PL-A", + "stats": { + "n": 83, + "mean": 48.3, + "median": 46.0, + "std": 19.8, + "min": 5, + "max": 130, + "p25": 38.5, + "p75": 54.5, + "p85": 61.0, + "p95": 87.7 + }, + "plifz": 30, + "plifz_note": null, + "pct_exceeding_plifz": 89.2, + "cost": { + "unit_price": 3.2, + "currency": "CHF", + "mean_qty": 4200.0, + "monthly": [ + { + "month": "2022-04", + "n_events": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "n_events": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "n_events": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "n_events": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "n_events": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "n_events": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "n_events": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "n_events": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "n_events": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "n_events": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 827400.0 + } + ] + }, + "observations": [ + { + "date": "2022-04-02", + "value": 35 + }, + { + "date": "2022-04-15", + "value": 62 + }, + { + "date": "2022-04-28", + "value": 18 + }, + { + "date": "2022-08-05", + "value": 88 + }, + { + "date": "2022-08-12", + "value": 42 + }, + { + "date": "2022-08-20", + "value": 55 + }, + { + "date": "2022-08-28", + "value": 30 + }, + { + "date": "2023-01-10", + "value": 72 + }, + { + "date": "2023-01-22", + "value": 25 + }, + { + "date": "2023-01-30", + "value": 48 + }, + { + "date": "2023-06-05", + "value": 15 + }, + { + "date": "2023-06-18", + "value": 95 + }, + { + "date": "2023-10-03", + "value": 130 + }, + { + "date": "2023-10-10", + "value": 45 + }, + { + "date": "2023-10-18", + "value": 38 + }, + { + "date": "2023-10-25", + "value": 65 + }, + { + "date": "2023-10-30", + "value": 22 + }, + { + "date": "2024-03-05", + "value": 78 + }, + { + "date": "2024-03-12", + "value": 5 + }, + { + "date": "2024-03-20", + "value": 55 + }, + { + "date": "2024-03-28", + "value": 40 + }, + { + "date": "2024-07-08", + "value": 28 + }, + { + "date": "2024-07-15", + "value": 85 + }, + { + "date": "2024-07-22", + "value": 50 + }, + { + "date": "2024-11-04", + "value": 110 + }, + { + "date": "2024-11-11", + "value": 32 + }, + { + "date": "2024-11-18", + "value": 68 + }, + { + "date": "2024-11-25", + "value": 45 + }, + { + "date": "2024-11-30", + "value": 92 + }, + { + "date": "2025-03-03", + "value": 20 + }, + { + "date": "2025-03-10", + "value": 58 + }, + { + "date": "2025-03-17", + "value": 35 + }, + { + "date": "2025-03-24", + "value": 42 + }, + { + "date": "2025-07-02", + "value": 75 + }, + { + "date": "2025-07-09", + "value": 12 + }, + { + "date": "2025-07-16", + "value": 48 + }, + { + "date": "2025-07-23", + "value": 60 + }, + { + "date": "2025-07-30", + "value": 38 + }, + { + "date": "2025-09-05", + "value": 49 + }, + { + "date": "2025-09-11", + "value": 54 + }, + { + "date": "2025-09-17", + "value": 34 + }, + { + "date": "2025-09-23", + "value": 39 + }, + { + "date": "2025-09-29", + "value": 42 + }, + { + "date": "2025-10-06", + "value": 61 + }, + { + "date": "2025-10-12", + "value": 41 + }, + { + "date": "2025-10-18", + "value": 46 + }, + { + "date": "2025-10-24", + "value": 49 + }, + { + "date": "2025-10-30", + "value": 53 + }, + { + "date": "2025-11-04", + "value": 36 + }, + { + "date": "2025-11-10", + "value": 41 + }, + { + "date": "2025-11-16", + "value": 44 + }, + { + "date": "2025-11-22", + "value": 48 + }, + { + "date": "2025-11-28", + "value": 52 + }, + { + "date": "2025-12-05", + "value": 36 + }, + { + "date": "2025-12-11", + "value": 39 + }, + { + "date": "2025-12-17", + "value": 43 + }, + { + "date": "2025-12-23", + "value": 47 + }, + { + "date": "2025-12-29", + "value": 51 + }, + { + "date": "2026-01-06", + "value": 47 + }, + { + "date": "2026-01-12", + "value": 50 + }, + { + "date": "2026-01-18", + "value": 54 + }, + { + "date": "2026-01-24", + "value": 58 + }, + { + "date": "2026-01-30", + "value": 39 + }, + { + "date": "2026-02-04", + "value": 45 + }, + { + "date": "2026-02-10", + "value": 49 + }, + { + "date": "2026-02-16", + "value": 54 + }, + { + "date": "2026-02-22", + "value": 34 + }, + { + "date": "2026-02-28", + "value": 39 + }, + { + "date": "2026-03-05", + "value": 56 + }, + { + "date": "2026-03-11", + "value": 61 + }, + { + "date": "2026-03-17", + "value": 41 + }, + { + "date": "2026-03-23", + "value": 46 + }, + { + "date": "2026-03-29", + "value": 49 + }, + { + "date": "2026-04-06", + "value": 56 + }, + { + "date": "2026-04-12", + "value": 36 + }, + { + "date": "2026-04-18", + "value": 41 + }, + { + "date": "2026-04-24", + "value": 44 + }, + { + "date": "2026-04-30", + "value": 48 + }, + { + "date": "2026-05-04", + "value": 32 + }, + { + "date": "2026-05-10", + "value": 36 + }, + { + "date": "2026-05-16", + "value": 39 + }, + { + "date": "2026-05-22", + "value": 43 + }, + { + "date": "2026-05-28", + "value": 47 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 38.3, + "median": 35.0, + "p10": 21.4, + "p25": 26.5, + "p75": 48.5, + "p90": 56.6, + "n": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "mean": 53.8, + "median": 48.5, + "p10": 33.6, + "p25": 39.0, + "p75": 63.3, + "p90": 78.1, + "n": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "mean": 48.3, + "median": 48.0, + "p10": 29.6, + "p25": 36.5, + "p75": 60.0, + "p90": 67.2, + "n": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "mean": 55.0, + "median": 55.0, + "p10": 23.0, + "p25": 35.0, + "p75": 75.0, + "p90": 87.0, + "n": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "mean": 60.0, + "median": 45.0, + "p10": 28.4, + "p25": 38.0, + "p75": 65.0, + "p90": 104.0, + "n": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "mean": 44.5, + "median": 47.5, + "p10": 15.5, + "p25": 31.3, + "p75": 60.8, + "p90": 71.1, + "n": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "mean": 54.3, + "median": 50.0, + "p10": 32.4, + "p25": 39.0, + "p75": 67.5, + "p90": 78.0, + "n": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "mean": 69.4, + "median": 68.0, + "p10": 37.2, + "p25": 45.0, + "p75": 92.0, + "p90": 102.8, + "n": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "mean": 38.8, + "median": 38.5, + "p10": 24.5, + "p25": 31.3, + "p75": 46.0, + "p90": 53.2, + "n": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "mean": 46.6, + "median": 48.0, + "p10": 22.4, + "p25": 38.0, + "p75": 60.0, + "p90": 69.0, + "n": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "mean": 43.6, + "median": 42.0, + "p10": 36.0, + "p25": 39.0, + "p75": 49.0, + "p90": 52.0, + "n": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "mean": 50.0, + "median": 49.0, + "p10": 43.0, + "p25": 46.0, + "p75": 53.0, + "p90": 57.8, + "n": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "mean": 44.2, + "median": 44.0, + "p10": 38.0, + "p25": 41.0, + "p75": 48.0, + "p90": 50.4, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "mean": 43.2, + "median": 43.0, + "p10": 37.2, + "p25": 39.0, + "p75": 47.0, + "p90": 49.4, + "n": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "mean": 49.6, + "median": 50.0, + "p10": 42.2, + "p25": 47.0, + "p75": 54.0, + "p90": 56.4, + "n": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "mean": 44.2, + "median": 45.0, + "p10": 36.0, + "p25": 39.0, + "p75": 49.0, + "p90": 52.0, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "mean": 50.6, + "median": 49.0, + "p10": 43.0, + "p25": 46.0, + "p75": 56.0, + "p90": 59.0, + "n": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "mean": 45.0, + "median": 44.0, + "p10": 38.0, + "p25": 41.0, + "p75": 48.0, + "p90": 52.8, + "n": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "mean": 39.4, + "median": 39.0, + "p10": 33.6, + "p25": 36.0, + "p75": 43.0, + "p90": 45.4, + "n": 5, + "total_kg_days": 827400.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_lowland_robusta", + "label": "Raw Material Dwell: Lowland Robusta", + "type": "raw_material_dwell", + "material": "90000100002", + "plant": "PL-A", + "stats": { + "n": 69, + "mean": 36.6, + "median": 34.0, + "std": 15.8, + "min": 3, + "max": 98, + "p25": 28.0, + "p75": 41.0, + "p85": 45.0, + "p95": 69.2 + }, + "plifz": 21, + "plifz_note": null, + "pct_exceeding_plifz": 91.3, + "cost": { + "unit_price": 1.8, + "currency": "CHF", + "mean_qty": 6500.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "n_events": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "n_events": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "n_events": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "n_events": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "n_events": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 1131000.0 + } + ] + }, + "observations": [ + { + "date": "2022-05-02", + "value": 28 + }, + { + "date": "2022-05-10", + "value": 45 + }, + { + "date": "2022-05-18", + "value": 12 + }, + { + "date": "2022-05-25", + "value": 62 + }, + { + "date": "2023-02-06", + "value": 33 + }, + { + "date": "2023-02-14", + "value": 78 + }, + { + "date": "2023-02-22", + "value": 20 + }, + { + "date": "2023-02-28", + "value": 55 + }, + { + "date": "2023-09-05", + "value": 8 + }, + { + "date": "2023-09-15", + "value": 42 + }, + { + "date": "2023-09-25", + "value": 65 + }, + { + "date": "2024-04-03", + "value": 38 + }, + { + "date": "2024-04-10", + "value": 15 + }, + { + "date": "2024-04-17", + "value": 72 + }, + { + "date": "2024-04-24", + "value": 25 + }, + { + "date": "2024-10-02", + "value": 48 + }, + { + "date": "2024-10-09", + "value": 3 + }, + { + "date": "2024-10-16", + "value": 85 + }, + { + "date": "2024-10-23", + "value": 30 + }, + { + "date": "2024-10-30", + "value": 55 + }, + { + "date": "2025-04-07", + "value": 22 + }, + { + "date": "2025-04-14", + "value": 40 + }, + { + "date": "2025-04-21", + "value": 98 + }, + { + "date": "2025-04-28", + "value": 18 + }, + { + "date": "2025-09-04", + "value": 39 + }, + { + "date": "2025-09-10", + "value": 41 + }, + { + "date": "2025-09-16", + "value": 45 + }, + { + "date": "2025-09-22", + "value": 30 + }, + { + "date": "2025-09-28", + "value": 34 + }, + { + "date": "2025-10-05", + "value": 38 + }, + { + "date": "2025-10-11", + "value": 41 + }, + { + "date": "2025-10-17", + "value": 27 + }, + { + "date": "2025-10-23", + "value": 30 + }, + { + "date": "2025-10-29", + "value": 32 + }, + { + "date": "2025-11-06", + "value": 38 + }, + { + "date": "2025-11-12", + "value": 23 + }, + { + "date": "2025-11-18", + "value": 27 + }, + { + "date": "2025-11-24", + "value": 29 + }, + { + "date": "2025-11-30", + "value": 32 + }, + { + "date": "2025-12-04", + "value": 28 + }, + { + "date": "2025-12-10", + "value": 32 + }, + { + "date": "2025-12-16", + "value": 34 + }, + { + "date": "2025-12-22", + "value": 37 + }, + { + "date": "2025-12-28", + "value": 40 + }, + { + "date": "2026-01-05", + "value": 28 + }, + { + "date": "2026-01-11", + "value": 31 + }, + { + "date": "2026-01-17", + "value": 33 + }, + { + "date": "2026-01-23", + "value": 36 + }, + { + "date": "2026-01-29", + "value": 39 + }, + { + "date": "2026-02-06", + "value": 36 + }, + { + "date": "2026-02-12", + "value": 39 + }, + { + "date": "2026-02-18", + "value": 41 + }, + { + "date": "2026-02-24", + "value": 45 + }, + { + "date": "2026-02-30", + "value": 30 + }, + { + "date": "2026-03-04", + "value": 35 + }, + { + "date": "2026-03-10", + "value": 38 + }, + { + "date": "2026-03-16", + "value": 41 + }, + { + "date": "2026-03-22", + "value": 27 + }, + { + "date": "2026-03-28", + "value": 30 + }, + { + "date": "2026-04-05", + "value": 34 + }, + { + "date": "2026-04-11", + "value": 38 + }, + { + "date": "2026-04-17", + "value": 23 + }, + { + "date": "2026-04-23", + "value": 27 + }, + { + "date": "2026-04-29", + "value": 29 + }, + { + "date": "2026-05-06", + "value": 43 + }, + { + "date": "2026-05-12", + "value": 28 + }, + { + "date": "2026-05-18", + "value": 32 + }, + { + "date": "2026-05-24", + "value": 34 + }, + { + "date": "2026-05-30", + "value": 37 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 36.8, + "median": 36.5, + "p10": 16.8, + "p25": 24.0, + "p75": 49.3, + "p90": 56.9, + "n": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "mean": 46.5, + "median": 44.0, + "p10": 23.9, + "p25": 29.8, + "p75": 60.8, + "p90": 71.1, + "n": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "mean": 38.3, + "median": 42.0, + "p10": 14.8, + "p25": 25.0, + "p75": 53.5, + "p90": 60.4, + "n": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "mean": 37.5, + "median": 31.5, + "p10": 18.0, + "p25": 22.5, + "p75": 46.5, + "p90": 61.8, + "n": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "mean": 44.2, + "median": 48.0, + "p10": 13.8, + "p25": 30.0, + "p75": 55.0, + "p90": 73.0, + "n": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "mean": 44.5, + "median": 31.0, + "p10": 19.2, + "p25": 21.0, + "p75": 54.5, + "p90": 80.6, + "n": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "mean": 37.8, + "median": 39.0, + "p10": 31.6, + "p25": 34.0, + "p75": 41.0, + "p90": 43.4, + "n": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "mean": 33.6, + "median": 32.0, + "p10": 28.2, + "p25": 30.0, + "p75": 38.0, + "p90": 39.8, + "n": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "mean": 29.8, + "median": 29.0, + "p10": 24.6, + "p25": 27.0, + "p75": 32.0, + "p90": 35.6, + "n": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "mean": 34.2, + "median": 34.0, + "p10": 29.6, + "p25": 32.0, + "p75": 37.0, + "p90": 38.8, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "mean": 33.4, + "median": 33.0, + "p10": 29.2, + "p25": 31.0, + "p75": 36.0, + "p90": 37.8, + "n": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "mean": 38.2, + "median": 39.0, + "p10": 32.4, + "p25": 36.0, + "p75": 41.0, + "p90": 43.4, + "n": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "mean": 34.2, + "median": 35.0, + "p10": 28.2, + "p25": 30.0, + "p75": 38.0, + "p90": 39.8, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "mean": 30.2, + "median": 29.0, + "p10": 24.6, + "p25": 27.0, + "p75": 34.0, + "p90": 36.4, + "n": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "mean": 34.8, + "median": 34.0, + "p10": 29.6, + "p25": 32.0, + "p75": 37.0, + "p90": 40.6, + "n": 5, + "total_kg_days": 1131000.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_washed_bourbon", + "label": "Raw Material Dwell: Washed Bourbon", + "type": "raw_material_dwell", + "material": "90000100003", + "plant": "PL-A", + "stats": { + "n": 70, + "mean": 43.9, + "median": 41.0, + "std": 19.1, + "min": 4, + "max": 115, + "p25": 34.3, + "p75": 50.0, + "p85": 54.0, + "p95": 81.9 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 95.7, + "cost": { + "unit_price": 5.5, + "currency": "CHF", + "mean_qty": 2800.0, + "monthly": [ + { + "month": "2022-06", + "n_events": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "n_events": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "n_events": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "n_events": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "n_events": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "n_events": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 568400.0 + } + ] + }, + "observations": [ + { + "date": "2022-06-05", + "value": 40 + }, + { + "date": "2022-06-15", + "value": 22 + }, + { + "date": "2022-06-25", + "value": 68 + }, + { + "date": "2023-03-08", + "value": 4 + }, + { + "date": "2023-03-15", + "value": 55 + }, + { + "date": "2023-03-22", + "value": 115 + }, + { + "date": "2023-03-29", + "value": 30 + }, + { + "date": "2023-11-06", + "value": 62 + }, + { + "date": "2023-11-13", + "value": 18 + }, + { + "date": "2023-11-20", + "value": 85 + }, + { + "date": "2024-06-03", + "value": 35 + }, + { + "date": "2024-06-10", + "value": 72 + }, + { + "date": "2024-06-17", + "value": 10 + }, + { + "date": "2024-06-24", + "value": 48 + }, + { + "date": "2024-06-30", + "value": 95 + }, + { + "date": "2025-01-07", + "value": 28 + }, + { + "date": "2025-01-14", + "value": 52 + }, + { + "date": "2025-01-21", + "value": 15 + }, + { + "date": "2025-01-28", + "value": 78 + }, + { + "date": "2025-08-04", + "value": 42 + }, + { + "date": "2025-08-08", + "value": 8 + }, + { + "date": "2025-08-12", + "value": 65 + }, + { + "date": "2025-08-16", + "value": 33 + }, + { + "date": "2025-08-20", + "value": 100 + }, + { + "date": "2025-08-24", + "value": 20 + }, + { + "date": "2025-09-06", + "value": 41 + }, + { + "date": "2025-09-12", + "value": 45 + }, + { + "date": "2025-09-18", + "value": 48 + }, + { + "date": "2025-09-24", + "value": 52 + }, + { + "date": "2025-09-30", + "value": 34 + }, + { + "date": "2025-10-04", + "value": 40 + }, + { + "date": "2025-10-10", + "value": 44 + }, + { + "date": "2025-10-16", + "value": 48 + }, + { + "date": "2025-10-22", + "value": 30 + }, + { + "date": "2025-10-28", + "value": 34 + }, + { + "date": "2025-11-05", + "value": 50 + }, + { + "date": "2025-11-11", + "value": 54 + }, + { + "date": "2025-11-17", + "value": 36 + }, + { + "date": "2025-11-23", + "value": 41 + }, + { + "date": "2025-11-29", + "value": 44 + }, + { + "date": "2025-12-06", + "value": 50 + }, + { + "date": "2025-12-12", + "value": 32 + }, + { + "date": "2025-12-18", + "value": 36 + }, + { + "date": "2025-12-24", + "value": 39 + }, + { + "date": "2025-12-30", + "value": 43 + }, + { + "date": "2026-01-04", + "value": 28 + }, + { + "date": "2026-01-10", + "value": 32 + }, + { + "date": "2026-01-16", + "value": 35 + }, + { + "date": "2026-01-22", + "value": 38 + }, + { + "date": "2026-01-28", + "value": 42 + }, + { + "date": "2026-02-05", + "value": 39 + }, + { + "date": "2026-02-11", + "value": 41 + }, + { + "date": "2026-02-17", + "value": 45 + }, + { + "date": "2026-02-23", + "value": 48 + }, + { + "date": "2026-02-29", + "value": 52 + }, + { + "date": "2026-03-06", + "value": 37 + }, + { + "date": "2026-03-12", + "value": 40 + }, + { + "date": "2026-03-18", + "value": 44 + }, + { + "date": "2026-03-24", + "value": 48 + }, + { + "date": "2026-03-30", + "value": 30 + }, + { + "date": "2026-04-04", + "value": 47 + }, + { + "date": "2026-04-10", + "value": 50 + }, + { + "date": "2026-04-16", + "value": 54 + }, + { + "date": "2026-04-22", + "value": 36 + }, + { + "date": "2026-04-28", + "value": 41 + }, + { + "date": "2026-05-05", + "value": 46 + }, + { + "date": "2026-05-11", + "value": 50 + }, + { + "date": "2026-05-17", + "value": 32 + }, + { + "date": "2026-05-23", + "value": 36 + }, + { + "date": "2026-05-29", + "value": 39 + } + ], + "monthly": [ + { + "month": "2022-06", + "mean": 43.3, + "median": 40.0, + "p10": 25.6, + "p25": 31.0, + "p75": 54.0, + "p90": 62.4, + "n": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "mean": 51.0, + "median": 42.5, + "p10": 11.8, + "p25": 23.5, + "p75": 70.0, + "p90": 97.0, + "n": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "mean": 55.0, + "median": 62.0, + "p10": 26.8, + "p25": 40.0, + "p75": 73.5, + "p90": 80.4, + "n": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "mean": 52.0, + "median": 48.0, + "p10": 20.0, + "p25": 35.0, + "p75": 72.0, + "p90": 85.8, + "n": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "mean": 43.3, + "median": 40.0, + "p10": 18.9, + "p25": 24.8, + "p75": 58.5, + "p90": 70.2, + "n": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "mean": 44.7, + "median": 37.5, + "p10": 14.0, + "p25": 23.3, + "p75": 59.3, + "p90": 82.5, + "n": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "mean": 44.0, + "median": 45.0, + "p10": 36.8, + "p25": 41.0, + "p75": 48.0, + "p90": 50.4, + "n": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "mean": 39.2, + "median": 40.0, + "p10": 31.6, + "p25": 34.0, + "p75": 44.0, + "p90": 46.4, + "n": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "mean": 45.0, + "median": 44.0, + "p10": 38.0, + "p25": 41.0, + "p75": 50.0, + "p90": 52.4, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "mean": 40.0, + "median": 39.0, + "p10": 33.6, + "p25": 36.0, + "p75": 43.0, + "p90": 47.2, + "n": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "mean": 35.0, + "median": 35.0, + "p10": 29.6, + "p25": 32.0, + "p75": 38.0, + "p90": 40.4, + "n": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "mean": 45.0, + "median": 45.0, + "p10": 39.8, + "p25": 41.0, + "p75": 48.0, + "p90": 50.4, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "mean": 39.8, + "median": 40.0, + "p10": 32.8, + "p25": 37.0, + "p75": 44.0, + "p90": 46.4, + "n": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "mean": 45.6, + "median": 47.0, + "p10": 38.0, + "p25": 41.0, + "p75": 50.0, + "p90": 52.4, + "n": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "mean": 40.6, + "median": 39.0, + "p10": 33.6, + "p25": 36.0, + "p75": 46.0, + "p90": 48.4, + "n": 5, + "total_kg_days": 568400.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "prod_duration_green_blend", + "label": "Production: Green Blend", + "type": "production", + "material": "90000200001", + "plant": "PL-A", + "stats": { + "n": 50, + "mean": 4.4, + "median": 4.0, + "std": 1.8, + "min": 1, + "max": 14, + "p25": 3.3, + "p75": 5.0, + "p85": 5.0, + "p95": 6.6 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 10.0, + "cost": null, + "observations": [ + { + "date": "2022-04-18", + "value": 3 + }, + { + "date": "2022-07-05", + "value": 5 + }, + { + "date": "2022-10-12", + "value": 2 + }, + { + "date": "2023-01-20", + "value": 7 + }, + { + "date": "2023-04-15", + "value": 4 + }, + { + "date": "2023-07-28", + "value": 6 + }, + { + "date": "2023-10-05", + "value": 3 + }, + { + "date": "2024-01-12", + "value": 14 + }, + { + "date": "2024-04-22", + "value": 4 + }, + { + "date": "2024-07-10", + "value": 8 + }, + { + "date": "2024-10-18", + "value": 3 + }, + { + "date": "2025-01-25", + "value": 5 + }, + { + "date": "2025-05-08", + "value": 1 + }, + { + "date": "2025-08-15", + "value": 6 + }, + { + "date": "2025-09-04", + "value": 3 + }, + { + "date": "2025-09-10", + "value": 4 + }, + { + "date": "2025-09-16", + "value": 4 + }, + { + "date": "2025-09-22", + "value": 4 + }, + { + "date": "2025-10-05", + "value": 3 + }, + { + "date": "2025-10-11", + "value": 4 + }, + { + "date": "2025-10-17", + "value": 4 + }, + { + "date": "2025-10-23", + "value": 4 + }, + { + "date": "2025-11-06", + "value": 4 + }, + { + "date": "2025-11-12", + "value": 5 + }, + { + "date": "2025-11-18", + "value": 5 + }, + { + "date": "2025-11-24", + "value": 5 + }, + { + "date": "2025-12-04", + "value": 4 + }, + { + "date": "2025-12-10", + "value": 5 + }, + { + "date": "2025-12-16", + "value": 5 + }, + { + "date": "2025-12-22", + "value": 3 + }, + { + "date": "2026-01-05", + "value": 4 + }, + { + "date": "2026-01-11", + "value": 5 + }, + { + "date": "2026-01-17", + "value": 3 + }, + { + "date": "2026-01-23", + "value": 3 + }, + { + "date": "2026-02-06", + "value": 5 + }, + { + "date": "2026-02-12", + "value": 3 + }, + { + "date": "2026-02-18", + "value": 4 + }, + { + "date": "2026-02-24", + "value": 4 + }, + { + "date": "2026-03-04", + "value": 3 + }, + { + "date": "2026-03-10", + "value": 3 + }, + { + "date": "2026-03-16", + "value": 4 + }, + { + "date": "2026-03-22", + "value": 4 + }, + { + "date": "2026-04-05", + "value": 4 + }, + { + "date": "2026-04-11", + "value": 4 + }, + { + "date": "2026-04-17", + "value": 5 + }, + { + "date": "2026-04-23", + "value": 5 + }, + { + "date": "2026-05-06", + "value": 4 + }, + { + "date": "2026-05-12", + "value": 4 + }, + { + "date": "2026-05-18", + "value": 5 + }, + { + "date": "2026-05-24", + "value": 5 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2022-07", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2023-01", + "mean": 7.0, + "median": 7.0, + "p10": 7.0, + "p25": 7.0, + "p75": 7.0, + "p90": 7.0, + "n": 1 + }, + { + "month": "2023-04", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 6.0, + "median": 6.0, + "p10": 6.0, + "p25": 6.0, + "p75": 6.0, + "p90": 6.0, + "n": 1 + }, + { + "month": "2023-10", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2024-01", + "mean": 14.0, + "median": 14.0, + "p10": 14.0, + "p25": 14.0, + "p75": 14.0, + "p90": 14.0, + "n": 1 + }, + { + "month": "2024-04", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2024-07", + "mean": 8.0, + "median": 8.0, + "p10": 8.0, + "p25": 8.0, + "p75": 8.0, + "p90": 8.0, + "n": 1 + }, + { + "month": "2024-10", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2025-05", + "mean": 1.0, + "median": 1.0, + "p10": 1.0, + "p25": 1.0, + "p75": 1.0, + "p90": 1.0, + "n": 1 + }, + { + "month": "2025-08", + "mean": 6.0, + "median": 6.0, + "p10": 6.0, + "p25": 6.0, + "p75": 6.0, + "p90": 6.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 3.8, + "median": 4.0, + "p10": 3.3, + "p25": 3.8, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2025-10", + "mean": 3.8, + "median": 4.0, + "p10": 3.3, + "p25": 3.8, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2025-11", + "mean": 4.8, + "median": 5.0, + "p10": 4.3, + "p25": 4.8, + "p75": 5.0, + "p90": 5.0, + "n": 4 + }, + { + "month": "2025-12", + "mean": 4.3, + "median": 4.5, + "p10": 3.3, + "p25": 3.8, + "p75": 5.0, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-01", + "mean": 3.8, + "median": 3.5, + "p10": 3.0, + "p25": 3.0, + "p75": 4.3, + "p90": 4.7, + "n": 4 + }, + { + "month": "2026-02", + "mean": 4.0, + "median": 4.0, + "p10": 3.3, + "p25": 3.8, + "p75": 4.3, + "p90": 4.7, + "n": 4 + }, + { + "month": "2026-03", + "mean": 3.5, + "median": 3.5, + "p10": 3.0, + "p25": 3.0, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2026-04", + "mean": 4.5, + "median": 4.5, + "p10": 4.0, + "p25": 4.0, + "p75": 5.0, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-05", + "mean": 4.5, + "median": 4.5, + "p10": 4.0, + "p25": 4.0, + "p75": 5.0, + "p90": 5.0, + "n": 4 + } + ], + "n_batches": 50, + "n_movements": null, + "yield_summary": { + "median": 98.5, + "mean": 97.2, + "reference": 100.0, + "n": 50 + }, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 0.9, + "mean_slack": 5.1, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 0.9 + }, + "direct": { + "binding_share": 0.9, + "mean_slack": 7.2, + "next_bottleneck_days": 27.4, + "expected_marginal_per_day": 0.9 + }, + "hub-1": { + "binding_share": 0.9, + "mean_slack": 2.0, + "next_bottleneck_days": 31.3, + "expected_marginal_per_day": 0.9 + } + } + }, + { + "id": "intermed_dwell_green_blend", + "label": "Intermediate Dwell: Green Blend", + "type": "intermediate_dwell", + "material": "90000200001", + "plant": "PL-A", + "stats": { + "n": 73, + "mean": 17.4, + "median": 16.0, + "std": 9.0, + "min": 2, + "max": 55, + "p25": 13.0, + "p75": 19.0, + "p85": 20.4, + "p95": 37.0 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 87.7, + "cost": { + "unit_price": 12.5, + "currency": "CHF", + "mean_qty": 3200.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "n_events": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "n_events": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "n_events": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "n_events": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "n_events": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "n_events": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 249600.0 + } + ] + }, + "observations": [ + { + "date": "2022-05-05", + "value": 12 + }, + { + "date": "2022-05-15", + "value": 25 + }, + { + "date": "2022-05-22", + "value": 8 + }, + { + "date": "2022-11-03", + "value": 35 + }, + { + "date": "2022-11-10", + "value": 15 + }, + { + "date": "2022-11-18", + "value": 5 + }, + { + "date": "2022-11-25", + "value": 22 + }, + { + "date": "2023-05-08", + "value": 18 + }, + { + "date": "2023-05-15", + "value": 40 + }, + { + "date": "2023-05-22", + "value": 10 + }, + { + "date": "2023-11-06", + "value": 55 + }, + { + "date": "2023-11-13", + "value": 2 + }, + { + "date": "2023-11-20", + "value": 28 + }, + { + "date": "2023-11-27", + "value": 15 + }, + { + "date": "2023-11-30", + "value": 8 + }, + { + "date": "2024-05-06", + "value": 20 + }, + { + "date": "2024-05-13", + "value": 45 + }, + { + "date": "2024-05-20", + "value": 12 + }, + { + "date": "2024-05-27", + "value": 3 + }, + { + "date": "2024-11-04", + "value": 18 + }, + { + "date": "2024-11-11", + "value": 30 + }, + { + "date": "2024-11-18", + "value": 8 + }, + { + "date": "2025-05-05", + "value": 22 + }, + { + "date": "2025-05-09", + "value": 35 + }, + { + "date": "2025-05-13", + "value": 5 + }, + { + "date": "2025-05-17", + "value": 15 + }, + { + "date": "2025-05-21", + "value": 42 + }, + { + "date": "2025-05-25", + "value": 10 + }, + { + "date": "2025-09-05", + "value": 14 + }, + { + "date": "2025-09-11", + "value": 16 + }, + { + "date": "2025-09-17", + "value": 17 + }, + { + "date": "2025-09-23", + "value": 18 + }, + { + "date": "2025-09-29", + "value": 19 + }, + { + "date": "2025-10-06", + "value": 14 + }, + { + "date": "2025-10-12", + "value": 15 + }, + { + "date": "2025-10-18", + "value": 16 + }, + { + "date": "2025-10-24", + "value": 18 + }, + { + "date": "2025-10-30", + "value": 11 + }, + { + "date": "2025-11-04", + "value": 18 + }, + { + "date": "2025-11-10", + "value": 19 + }, + { + "date": "2025-11-16", + "value": 20 + }, + { + "date": "2025-11-22", + "value": 14 + }, + { + "date": "2025-11-28", + "value": 15 + }, + { + "date": "2025-12-05", + "value": 17 + }, + { + "date": "2025-12-11", + "value": 19 + }, + { + "date": "2025-12-17", + "value": 12 + }, + { + "date": "2025-12-23", + "value": 14 + }, + { + "date": "2025-12-29", + "value": 15 + }, + { + "date": "2026-01-06", + "value": 17 + }, + { + "date": "2026-01-12", + "value": 11 + }, + { + "date": "2026-01-18", + "value": 12 + }, + { + "date": "2026-01-24", + "value": 13 + }, + { + "date": "2026-01-30", + "value": 14 + }, + { + "date": "2026-02-04", + "value": 13 + }, + { + "date": "2026-02-10", + "value": 14 + }, + { + "date": "2026-02-16", + "value": 16 + }, + { + "date": "2026-02-22", + "value": 17 + }, + { + "date": "2026-02-28", + "value": 18 + }, + { + "date": "2026-03-05", + "value": 13 + }, + { + "date": "2026-03-11", + "value": 14 + }, + { + "date": "2026-03-17", + "value": 15 + }, + { + "date": "2026-03-23", + "value": 16 + }, + { + "date": "2026-03-29", + "value": 18 + }, + { + "date": "2026-04-06", + "value": 16 + }, + { + "date": "2026-04-12", + "value": 18 + }, + { + "date": "2026-04-18", + "value": 19 + }, + { + "date": "2026-04-24", + "value": 20 + }, + { + "date": "2026-04-30", + "value": 14 + }, + { + "date": "2026-05-04", + "value": 16 + }, + { + "date": "2026-05-10", + "value": 17 + }, + { + "date": "2026-05-16", + "value": 19 + }, + { + "date": "2026-05-22", + "value": 12 + }, + { + "date": "2026-05-28", + "value": 14 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 15.0, + "median": 12.0, + "p10": 8.8, + "p25": 10.0, + "p75": 18.5, + "p90": 22.4, + "n": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "mean": 19.3, + "median": 18.5, + "p10": 8.0, + "p25": 12.5, + "p75": 25.3, + "p90": 31.1, + "n": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "mean": 22.7, + "median": 18.0, + "p10": 11.6, + "p25": 14.0, + "p75": 29.0, + "p90": 35.6, + "n": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "mean": 21.6, + "median": 15.0, + "p10": 4.4, + "p25": 8.0, + "p75": 28.0, + "p90": 44.2, + "n": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "mean": 20.0, + "median": 16.0, + "p10": 5.7, + "p25": 9.8, + "p75": 26.3, + "p90": 37.5, + "n": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "mean": 18.7, + "median": 18.0, + "p10": 10.0, + "p25": 13.0, + "p75": 24.0, + "p90": 27.6, + "n": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "mean": 21.5, + "median": 18.5, + "p10": 7.5, + "p25": 11.3, + "p75": 31.8, + "p90": 38.5, + "n": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "mean": 16.8, + "median": 17.0, + "p10": 14.8, + "p25": 16.0, + "p75": 18.0, + "p90": 18.6, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "mean": 14.8, + "median": 15.0, + "p10": 12.2, + "p25": 14.0, + "p75": 16.0, + "p90": 17.2, + "n": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "mean": 17.2, + "median": 18.0, + "p10": 14.4, + "p25": 15.0, + "p75": 19.0, + "p90": 19.6, + "n": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "mean": 15.4, + "median": 15.0, + "p10": 12.8, + "p25": 14.0, + "p75": 17.0, + "p90": 18.2, + "n": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "mean": 13.4, + "median": 13.0, + "p10": 11.4, + "p25": 12.0, + "p75": 14.0, + "p90": 15.8, + "n": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "mean": 15.6, + "median": 16.0, + "p10": 13.4, + "p25": 14.0, + "p75": 17.0, + "p90": 17.6, + "n": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "mean": 15.2, + "median": 15.0, + "p10": 13.4, + "p25": 14.0, + "p75": 16.0, + "p90": 17.2, + "n": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "mean": 17.4, + "median": 18.0, + "p10": 14.8, + "p25": 16.0, + "p75": 19.0, + "p90": 19.6, + "n": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "mean": 15.6, + "median": 16.0, + "p10": 12.8, + "p25": 14.0, + "p75": 17.0, + "p90": 18.2, + "n": 5, + "total_kg_days": 249600.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 0.9, + "mean_slack": 5.1, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 0.9 + }, + "direct": { + "binding_share": 0.9, + "mean_slack": 7.2, + "next_bottleneck_days": 27.4, + "expected_marginal_per_day": 0.9 + }, + "hub-1": { + "binding_share": 0.9, + "mean_slack": 2.0, + "next_bottleneck_days": 31.3, + "expected_marginal_per_day": 0.9 + } + } + }, + { + "id": "prod_duration_harbor_dark_roast", + "label": "Production: Harbor Dark Roast", + "type": "production", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 58, + "mean": 3.2, + "median": 3.0, + "std": 1.4, + "min": 0, + "max": 10, + "p25": 3.0, + "p75": 4.0, + "p85": 4.0, + "p95": 5.2 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 5.2, + "cost": null, + "observations": [ + { + "date": "2022-05-20", + "value": 2 + }, + { + "date": "2022-06-10", + "value": 3 + }, + { + "date": "2022-07-15", + "value": 1 + }, + { + "date": "2022-08-22", + "value": 4 + }, + { + "date": "2022-10-05", + "value": 2 + }, + { + "date": "2022-11-18", + "value": 5 + }, + { + "date": "2023-01-10", + "value": 3 + }, + { + "date": "2023-03-25", + "value": 7 + }, + { + "date": "2023-05-12", + "value": 2 + }, + { + "date": "2023-07-08", + "value": 4 + }, + { + "date": "2023-09-15", + "value": 1 + }, + { + "date": "2023-11-22", + "value": 3 + }, + { + "date": "2024-01-18", + "value": 10 + }, + { + "date": "2024-03-08", + "value": 3 + }, + { + "date": "2024-05-15", + "value": 2 + }, + { + "date": "2024-07-22", + "value": 5 + }, + { + "date": "2024-09-10", + "value": 0 + }, + { + "date": "2024-11-05", + "value": 4 + }, + { + "date": "2025-01-15", + "value": 3 + }, + { + "date": "2025-03-20", + "value": 2 + }, + { + "date": "2025-05-28", + "value": 6 + }, + { + "date": "2025-08-05", + "value": 3 + }, + { + "date": "2025-09-05", + "value": 4 + }, + { + "date": "2025-09-11", + "value": 4 + }, + { + "date": "2025-09-17", + "value": 3 + }, + { + "date": "2025-09-23", + "value": 3 + }, + { + "date": "2025-10-06", + "value": 4 + }, + { + "date": "2025-10-12", + "value": 2 + }, + { + "date": "2025-10-18", + "value": 3 + }, + { + "date": "2025-10-24", + "value": 3 + }, + { + "date": "2025-11-04", + "value": 2 + }, + { + "date": "2025-11-10", + "value": 2 + }, + { + "date": "2025-11-16", + "value": 3 + }, + { + "date": "2025-11-22", + "value": 3 + }, + { + "date": "2025-12-05", + "value": 3 + }, + { + "date": "2025-12-11", + "value": 3 + }, + { + "date": "2025-12-17", + "value": 3 + }, + { + "date": "2025-12-23", + "value": 4 + }, + { + "date": "2026-01-06", + "value": 3 + }, + { + "date": "2026-01-12", + "value": 3 + }, + { + "date": "2026-01-18", + "value": 3 + }, + { + "date": "2026-01-24", + "value": 4 + }, + { + "date": "2026-02-04", + "value": 4 + }, + { + "date": "2026-02-10", + "value": 4 + }, + { + "date": "2026-02-16", + "value": 4 + }, + { + "date": "2026-02-22", + "value": 3 + }, + { + "date": "2026-03-05", + "value": 3 + }, + { + "date": "2026-03-11", + "value": 4 + }, + { + "date": "2026-03-17", + "value": 2 + }, + { + "date": "2026-03-23", + "value": 3 + }, + { + "date": "2026-04-06", + "value": 3 + }, + { + "date": "2026-04-12", + "value": 2 + }, + { + "date": "2026-04-18", + "value": 2 + }, + { + "date": "2026-04-24", + "value": 3 + }, + { + "date": "2026-05-04", + "value": 3 + }, + { + "date": "2026-05-10", + "value": 3 + }, + { + "date": "2026-05-16", + "value": 3 + }, + { + "date": "2026-05-22", + "value": 3 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2022-06", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2022-07", + "mean": 1.0, + "median": 1.0, + "p10": 1.0, + "p25": 1.0, + "p75": 1.0, + "p90": 1.0, + "n": 1 + }, + { + "month": "2022-08", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2022-11", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2023-01", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2023-03", + "mean": 7.0, + "median": 7.0, + "p10": 7.0, + "p25": 7.0, + "p75": 7.0, + "p90": 7.0, + "n": 1 + }, + { + "month": "2023-05", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2023-09", + "mean": 1.0, + "median": 1.0, + "p10": 1.0, + "p25": 1.0, + "p75": 1.0, + "p90": 1.0, + "n": 1 + }, + { + "month": "2023-11", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2024-01", + "mean": 10.0, + "median": 10.0, + "p10": 10.0, + "p25": 10.0, + "p75": 10.0, + "p90": 10.0, + "n": 1 + }, + { + "month": "2024-03", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2024-05", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2024-07", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2024-09", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2025-03", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2025-05", + "mean": 6.0, + "median": 6.0, + "p10": 6.0, + "p25": 6.0, + "p75": 6.0, + "p90": 6.0, + "n": 1 + }, + { + "month": "2025-08", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 3.5, + "median": 3.5, + "p10": 3.0, + "p25": 3.0, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2025-10", + "mean": 3.0, + "median": 3.0, + "p10": 2.3, + "p25": 2.8, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2025-11", + "mean": 2.5, + "median": 2.5, + "p10": 2.0, + "p25": 2.0, + "p75": 3.0, + "p90": 3.0, + "n": 4 + }, + { + "month": "2025-12", + "mean": 3.3, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2026-01", + "mean": 3.3, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2026-02", + "mean": 3.8, + "median": 4.0, + "p10": 3.3, + "p25": 3.8, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2026-03", + "mean": 3.0, + "median": 3.0, + "p10": 2.3, + "p25": 2.8, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2026-04", + "mean": 2.5, + "median": 2.5, + "p10": 2.0, + "p25": 2.0, + "p75": 3.0, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-05", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 4 + } + ], + "n_batches": 58, + "n_movements": null, + "yield_summary": { + "median": 99.2, + "mean": 98.5, + "reference": 100.0, + "n": 58 + }, + "consumption_summary": { + "median_variance": 2.1, + "mean_variance": 3.4, + "n_components": 3, + "n": 58 + }, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 4.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 3.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 4.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "prod_to_qa_pla", + "label": "Production \u2192 QA Release (PL-A)", + "type": "qa_hold", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 58, + "mean": 3.4, + "median": 3.0, + "std": 1.8, + "min": 0, + "max": 13, + "p25": 3.0, + "p75": 4.0, + "p85": 4.0, + "p95": 6.2 + }, + "plifz": 5, + "plifz_note": "WEBAZ (GR processing days)", + "pct_exceeding_plifz": 6.9, + "cost": null, + "observations": [ + { + "date": "2022-05-22", + "value": 2 + }, + { + "date": "2022-06-13", + "value": 1 + }, + { + "date": "2022-07-16", + "value": 3 + }, + { + "date": "2022-08-26", + "value": 2 + }, + { + "date": "2022-10-07", + "value": 5 + }, + { + "date": "2022-11-23", + "value": 2 + }, + { + "date": "2023-01-13", + "value": 4 + }, + { + "date": "2023-04-01", + "value": 3 + }, + { + "date": "2023-05-14", + "value": 6 + }, + { + "date": "2023-07-12", + "value": 2 + }, + { + "date": "2023-09-16", + "value": 13 + }, + { + "date": "2023-11-25", + "value": 3 + }, + { + "date": "2024-01-28", + "value": 7 + }, + { + "date": "2024-03-11", + "value": 1 + }, + { + "date": "2024-05-17", + "value": 4 + }, + { + "date": "2024-07-27", + "value": 5 + }, + { + "date": "2024-09-10", + "value": 2 + }, + { + "date": "2024-11-09", + "value": 0 + }, + { + "date": "2025-01-18", + "value": 3 + }, + { + "date": "2025-03-22", + "value": 8 + }, + { + "date": "2025-06-03", + "value": 2 + }, + { + "date": "2025-08-08", + "value": 5 + }, + { + "date": "2025-09-04", + "value": 2 + }, + { + "date": "2025-09-10", + "value": 3 + }, + { + "date": "2025-09-16", + "value": 3 + }, + { + "date": "2025-09-22", + "value": 3 + }, + { + "date": "2025-10-05", + "value": 3 + }, + { + "date": "2025-10-11", + "value": 3 + }, + { + "date": "2025-10-17", + "value": 4 + }, + { + "date": "2025-10-23", + "value": 4 + }, + { + "date": "2025-11-06", + "value": 3 + }, + { + "date": "2025-11-12", + "value": 3 + }, + { + "date": "2025-11-18", + "value": 3 + }, + { + "date": "2025-11-24", + "value": 4 + }, + { + "date": "2025-12-04", + "value": 3 + }, + { + "date": "2025-12-10", + "value": 3 + }, + { + "date": "2025-12-16", + "value": 3 + }, + { + "date": "2025-12-22", + "value": 2 + }, + { + "date": "2026-01-05", + "value": 4 + }, + { + "date": "2026-01-11", + "value": 4 + }, + { + "date": "2026-01-17", + "value": 3 + }, + { + "date": "2026-01-23", + "value": 3 + }, + { + "date": "2026-02-06", + "value": 4 + }, + { + "date": "2026-02-12", + "value": 2 + }, + { + "date": "2026-02-18", + "value": 3 + }, + { + "date": "2026-02-24", + "value": 3 + }, + { + "date": "2026-03-04", + "value": 3 + }, + { + "date": "2026-03-10", + "value": 3 + }, + { + "date": "2026-03-16", + "value": 3 + }, + { + "date": "2026-03-22", + "value": 4 + }, + { + "date": "2026-04-05", + "value": 3 + }, + { + "date": "2026-04-11", + "value": 3 + }, + { + "date": "2026-04-17", + "value": 3 + }, + { + "date": "2026-04-23", + "value": 3 + }, + { + "date": "2026-05-06", + "value": 3 + }, + { + "date": "2026-05-12", + "value": 3 + }, + { + "date": "2026-05-18", + "value": 3 + }, + { + "date": "2026-05-24", + "value": 3 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2022-06", + "mean": 1.0, + "median": 1.0, + "p10": 1.0, + "p25": 1.0, + "p75": 1.0, + "p90": 1.0, + "n": 1 + }, + { + "month": "2022-07", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2022-08", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2022-10", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2022-11", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2023-01", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2023-04", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2023-05", + "mean": 6.0, + "median": 6.0, + "p10": 6.0, + "p25": 6.0, + "p75": 6.0, + "p90": 6.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2023-09", + "mean": 13.0, + "median": 13.0, + "p10": 13.0, + "p25": 13.0, + "p75": 13.0, + "p90": 13.0, + "n": 1 + }, + { + "month": "2023-11", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2024-01", + "mean": 7.0, + "median": 7.0, + "p10": 7.0, + "p25": 7.0, + "p75": 7.0, + "p90": 7.0, + "n": 1 + }, + { + "month": "2024-03", + "mean": 1.0, + "median": 1.0, + "p10": 1.0, + "p25": 1.0, + "p75": 1.0, + "p90": 1.0, + "n": 1 + }, + { + "month": "2024-05", + "mean": 4.0, + "median": 4.0, + "p10": 4.0, + "p25": 4.0, + "p75": 4.0, + "p90": 4.0, + "n": 1 + }, + { + "month": "2024-07", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2024-09", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 1 + }, + { + "month": "2025-03", + "mean": 8.0, + "median": 8.0, + "p10": 8.0, + "p25": 8.0, + "p75": 8.0, + "p90": 8.0, + "n": 1 + }, + { + "month": "2025-06", + "mean": 2.0, + "median": 2.0, + "p10": 2.0, + "p25": 2.0, + "p75": 2.0, + "p90": 2.0, + "n": 1 + }, + { + "month": "2025-08", + "mean": 5.0, + "median": 5.0, + "p10": 5.0, + "p25": 5.0, + "p75": 5.0, + "p90": 5.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 2.8, + "median": 3.0, + "p10": 2.3, + "p25": 2.8, + "p75": 3.0, + "p90": 3.0, + "n": 4 + }, + { + "month": "2025-10", + "mean": 3.5, + "median": 3.5, + "p10": 3.0, + "p25": 3.0, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2025-11", + "mean": 3.3, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2025-12", + "mean": 2.8, + "median": 3.0, + "p10": 2.3, + "p25": 2.8, + "p75": 3.0, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-01", + "mean": 3.5, + "median": 3.5, + "p10": 3.0, + "p25": 3.0, + "p75": 4.0, + "p90": 4.0, + "n": 4 + }, + { + "month": "2026-02", + "mean": 3.0, + "median": 3.0, + "p10": 2.3, + "p25": 2.8, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2026-03", + "mean": 3.3, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.3, + "p90": 3.7, + "n": 4 + }, + { + "month": "2026-04", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-05", + "mean": 3.0, + "median": 3.0, + "p10": 3.0, + "p25": 3.0, + "p75": 3.0, + "p90": 3.0, + "n": 4 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": { + "median": 99.2, + "mean": 98.5, + "reference": 100.0, + "n": 58 + }, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 7.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 7.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 6.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "post_qa_ship_pla", + "label": "Post-QA Dwell (PL-A)", + "type": "post_qa_ship", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 57, + "mean": 12.7, + "median": 12.0, + "std": 5.6, + "min": 2, + "max": 42, + "p25": 10.0, + "p75": 14.0, + "p85": 15.0, + "p95": 20.4 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "cost": { + "unit_price": 28.5, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2023-03", + "n_events": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "n_events": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "n_events": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 264000.0 + } + ] + }, + "observations": [ + { + "date": "2023-03-10", + "value": 8 + }, + { + "date": "2023-03-25", + "value": 22 + }, + { + "date": "2023-09-20", + "value": 42 + }, + { + "date": "2024-03-15", + "value": 6 + }, + { + "date": "2024-03-28", + "value": 18 + }, + { + "date": "2024-09-05", + "value": 28 + }, + { + "date": "2024-09-15", + "value": 12 + }, + { + "date": "2024-09-25", + "value": 2 + }, + { + "date": "2025-03-10", + "value": 15 + }, + { + "date": "2025-03-22", + "value": 5 + }, + { + "date": "2025-07-08", + "value": 20 + }, + { + "date": "2025-07-22", + "value": 4 + }, + { + "date": "2025-09-05", + "value": 14 + }, + { + "date": "2025-09-11", + "value": 15 + }, + { + "date": "2025-09-17", + "value": 10 + }, + { + "date": "2025-09-23", + "value": 11 + }, + { + "date": "2025-09-29", + "value": 12 + }, + { + "date": "2025-10-06", + "value": 14 + }, + { + "date": "2025-10-12", + "value": 8 + }, + { + "date": "2025-10-18", + "value": 10 + }, + { + "date": "2025-10-24", + "value": 11 + }, + { + "date": "2025-10-30", + "value": 11 + }, + { + "date": "2025-11-04", + "value": 10 + }, + { + "date": "2025-11-10", + "value": 12 + }, + { + "date": "2025-11-16", + "value": 12 + }, + { + "date": "2025-11-22", + "value": 13 + }, + { + "date": "2025-11-28", + "value": 14 + }, + { + "date": "2025-12-05", + "value": 10 + }, + { + "date": "2025-12-11", + "value": 11 + }, + { + "date": "2025-12-17", + "value": 12 + }, + { + "date": "2025-12-23", + "value": 13 + }, + { + "date": "2025-12-29", + "value": 14 + }, + { + "date": "2026-01-06", + "value": 13 + }, + { + "date": "2026-01-12", + "value": 14 + }, + { + "date": "2026-01-18", + "value": 15 + }, + { + "date": "2026-01-24", + "value": 16 + }, + { + "date": "2026-01-30", + "value": 11 + }, + { + "date": "2026-02-04", + "value": 13 + }, + { + "date": "2026-02-10", + "value": 14 + }, + { + "date": "2026-02-16", + "value": 15 + }, + { + "date": "2026-02-22", + "value": 10 + }, + { + "date": "2026-02-28", + "value": 11 + }, + { + "date": "2026-03-05", + "value": 13 + }, + { + "date": "2026-03-11", + "value": 14 + }, + { + "date": "2026-03-17", + "value": 8 + }, + { + "date": "2026-03-23", + "value": 10 + }, + { + "date": "2026-03-29", + "value": 11 + }, + { + "date": "2026-04-06", + "value": 16 + }, + { + "date": "2026-04-12", + "value": 10 + }, + { + "date": "2026-04-18", + "value": 12 + }, + { + "date": "2026-04-24", + "value": 12 + }, + { + "date": "2026-04-30", + "value": 13 + }, + { + "date": "2026-05-04", + "value": 9 + }, + { + "date": "2026-05-10", + "value": 10 + }, + { + "date": "2026-05-16", + "value": 11 + }, + { + "date": "2026-05-22", + "value": 12 + }, + { + "date": "2026-05-28", + "value": 13 + } + ], + "monthly": [ + { + "month": "2023-03", + "mean": 15.0, + "median": 15.0, + "p10": 9.4, + "p25": 11.5, + "p75": 18.5, + "p90": 20.6, + "n": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "mean": 42.0, + "median": 42.0, + "p10": 42.0, + "p25": 42.0, + "p75": 42.0, + "p90": 42.0, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "mean": 12.0, + "median": 12.0, + "p10": 7.2, + "p25": 9.0, + "p75": 15.0, + "p90": 16.8, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "mean": 14.0, + "median": 12.0, + "p10": 4.0, + "p25": 7.0, + "p75": 20.0, + "p90": 24.8, + "n": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "mean": 10.0, + "median": 10.0, + "p10": 6.0, + "p25": 7.5, + "p75": 12.5, + "p90": 14.0, + "n": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "mean": 12.0, + "median": 12.0, + "p10": 5.6, + "p25": 8.0, + "p75": 16.0, + "p90": 18.4, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "mean": 12.4, + "median": 12.0, + "p10": 10.4, + "p25": 11.0, + "p75": 14.0, + "p90": 14.6, + "n": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "mean": 10.8, + "median": 11.0, + "p10": 8.8, + "p25": 10.0, + "p75": 11.0, + "p90": 12.8, + "n": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "mean": 12.2, + "median": 12.0, + "p10": 10.8, + "p25": 12.0, + "p75": 13.0, + "p90": 13.6, + "n": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "mean": 12.0, + "median": 12.0, + "p10": 10.4, + "p25": 11.0, + "p75": 13.0, + "p90": 13.6, + "n": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "mean": 13.8, + "median": 14.0, + "p10": 11.8, + "p25": 13.0, + "p75": 15.0, + "p90": 15.6, + "n": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "mean": 12.6, + "median": 13.0, + "p10": 10.4, + "p25": 11.0, + "p75": 14.0, + "p90": 14.6, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "mean": 11.2, + "median": 11.0, + "p10": 8.8, + "p25": 10.0, + "p75": 13.0, + "p90": 13.6, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "mean": 12.6, + "median": 12.0, + "p10": 10.8, + "p25": 12.0, + "p75": 13.0, + "p90": 14.8, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "mean": 11.0, + "median": 11.0, + "p10": 9.4, + "p25": 10.0, + "p75": 12.0, + "p90": 12.6, + "n": 5, + "total_kg_days": 264000.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "direct_ship_pla", + "label": "Direct-to-Customer Ship", + "type": "transit", + "material": "90000300001", + "plant": "PL-A\u2192Customer", + "stats": { + "n": 35, + "mean": 20.9, + "median": 21.0, + "std": 4.6, + "min": 12, + "max": 38, + "p25": 18.5, + "p75": 23.0, + "p85": 24.9, + "p95": 26.6 + }, + "plifz": null, + "plifz_note": "No planning parameter set", + "pct_exceeding_plifz": null, + "cost": null, + "observations": [ + { + "date": "2023-04-05", + "value": 18 + }, + { + "date": "2023-10-12", + "value": 25 + }, + { + "date": "2024-04-08", + "value": 12 + }, + { + "date": "2024-09-20", + "value": 38 + }, + { + "date": "2024-10-15", + "value": 20 + }, + { + "date": "2025-03-25", + "value": 15 + }, + { + "date": "2025-04-10", + "value": 28 + }, + { + "date": "2025-07-30", + "value": 24 + }, + { + "date": "2025-09-04", + "value": 17 + }, + { + "date": "2025-09-10", + "value": 19 + }, + { + "date": "2025-09-16", + "value": 21 + }, + { + "date": "2025-10-05", + "value": 17 + }, + { + "date": "2025-10-11", + "value": 19 + }, + { + "date": "2025-10-17", + "value": 20 + }, + { + "date": "2025-11-06", + "value": 22 + }, + { + "date": "2025-11-12", + "value": 23 + }, + { + "date": "2025-11-18", + "value": 25 + }, + { + "date": "2025-12-04", + "value": 21 + }, + { + "date": "2025-12-10", + "value": 23 + }, + { + "date": "2025-12-16", + "value": 25 + }, + { + "date": "2026-01-05", + "value": 21 + }, + { + "date": "2026-01-11", + "value": 23 + }, + { + "date": "2026-01-17", + "value": 14 + }, + { + "date": "2026-02-06", + "value": 26 + }, + { + "date": "2026-02-12", + "value": 17 + }, + { + "date": "2026-02-18", + "value": 19 + }, + { + "date": "2026-03-04", + "value": 15 + }, + { + "date": "2026-03-10", + "value": 17 + }, + { + "date": "2026-03-16", + "value": 19 + }, + { + "date": "2026-04-05", + "value": 20 + }, + { + "date": "2026-04-11", + "value": 22 + }, + { + "date": "2026-04-17", + "value": 23 + }, + { + "date": "2026-05-06", + "value": 20 + }, + { + "date": "2026-05-12", + "value": 21 + }, + { + "date": "2026-05-18", + "value": 23 + } + ], + "monthly": [ + { + "month": "2023-04", + "mean": 18.0, + "median": 18.0, + "p10": 18.0, + "p25": 18.0, + "p75": 18.0, + "p90": 18.0, + "n": 1 + }, + { + "month": "2023-10", + "mean": 25.0, + "median": 25.0, + "p10": 25.0, + "p25": 25.0, + "p75": 25.0, + "p90": 25.0, + "n": 1 + }, + { + "month": "2024-04", + "mean": 12.0, + "median": 12.0, + "p10": 12.0, + "p25": 12.0, + "p75": 12.0, + "p90": 12.0, + "n": 1 + }, + { + "month": "2024-09", + "mean": 38.0, + "median": 38.0, + "p10": 38.0, + "p25": 38.0, + "p75": 38.0, + "p90": 38.0, + "n": 1 + }, + { + "month": "2024-10", + "mean": 20.0, + "median": 20.0, + "p10": 20.0, + "p25": 20.0, + "p75": 20.0, + "p90": 20.0, + "n": 1 + }, + { + "month": "2025-03", + "mean": 15.0, + "median": 15.0, + "p10": 15.0, + "p25": 15.0, + "p75": 15.0, + "p90": 15.0, + "n": 1 + }, + { + "month": "2025-04", + "mean": 28.0, + "median": 28.0, + "p10": 28.0, + "p25": 28.0, + "p75": 28.0, + "p90": 28.0, + "n": 1 + }, + { + "month": "2025-07", + "mean": 24.0, + "median": 24.0, + "p10": 24.0, + "p25": 24.0, + "p75": 24.0, + "p90": 24.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 19.0, + "median": 19.0, + "p10": 17.4, + "p25": 18.0, + "p75": 20.0, + "p90": 20.6, + "n": 3 + }, + { + "month": "2025-10", + "mean": 18.7, + "median": 19.0, + "p10": 17.4, + "p25": 18.0, + "p75": 19.5, + "p90": 19.8, + "n": 3 + }, + { + "month": "2025-11", + "mean": 23.3, + "median": 23.0, + "p10": 22.2, + "p25": 22.5, + "p75": 24.0, + "p90": 24.6, + "n": 3 + }, + { + "month": "2025-12", + "mean": 23.0, + "median": 23.0, + "p10": 21.4, + "p25": 22.0, + "p75": 24.0, + "p90": 24.6, + "n": 3 + }, + { + "month": "2026-01", + "mean": 19.3, + "median": 21.0, + "p10": 15.4, + "p25": 17.5, + "p75": 22.0, + "p90": 22.6, + "n": 3 + }, + { + "month": "2026-02", + "mean": 20.7, + "median": 19.0, + "p10": 17.4, + "p25": 18.0, + "p75": 22.5, + "p90": 24.6, + "n": 3 + }, + { + "month": "2026-03", + "mean": 17.0, + "median": 17.0, + "p10": 15.4, + "p25": 16.0, + "p75": 18.0, + "p90": 18.6, + "n": 3 + }, + { + "month": "2026-04", + "mean": 21.7, + "median": 22.0, + "p10": 20.4, + "p25": 21.0, + "p75": 22.5, + "p90": 22.8, + "n": 3 + }, + { + "month": "2026-05", + "mean": 21.3, + "median": 21.0, + "p10": 20.2, + "p25": 20.5, + "p75": 22.0, + "p90": 22.6, + "n": 3 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 22.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 22.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "transit_pla_hub1", + "label": "Transit PL-A \u2192 HUB-1", + "type": "transit", + "material": "90000300001", + "plant": "PL-A\u2192HUB-1", + "stats": { + "n": 42, + "mean": 31.3, + "median": 30.5, + "std": 7.1, + "min": 15, + "max": 55, + "p25": 27.0, + "p75": 36.0, + "p85": 38.0, + "p95": 41.9 + }, + "plifz": 28, + "plifz_note": null, + "pct_exceeding_plifz": 61.9, + "cost": null, + "observations": [ + { + "date": "2022-07-20", + "value": 28 + }, + { + "date": "2022-11-30", + "value": 35 + }, + { + "date": "2023-03-15", + "value": 22 + }, + { + "date": "2023-07-10", + "value": 42 + }, + { + "date": "2023-10-25", + "value": 30 + }, + { + "date": "2024-02-08", + "value": 55 + }, + { + "date": "2024-05-20", + "value": 25 + }, + { + "date": "2024-08-12", + "value": 38 + }, + { + "date": "2024-11-05", + "value": 15 + }, + { + "date": "2025-01-22", + "value": 32 + }, + { + "date": "2025-04-10", + "value": 28 + }, + { + "date": "2025-06-18", + "value": 45 + }, + { + "date": "2025-07-15", + "value": 30 + }, + { + "date": "2025-08-05", + "value": 22 + }, + { + "date": "2025-09-05", + "value": 36 + }, + { + "date": "2025-09-10", + "value": 38 + }, + { + "date": "2025-09-11", + "value": 39 + }, + { + "date": "2025-09-17", + "value": 26 + }, + { + "date": "2025-10-06", + "value": 36 + }, + { + "date": "2025-10-12", + "value": 23 + }, + { + "date": "2025-10-18", + "value": 26 + }, + { + "date": "2025-11-04", + "value": 27 + }, + { + "date": "2025-11-10", + "value": 31 + }, + { + "date": "2025-11-16", + "value": 33 + }, + { + "date": "2025-12-05", + "value": 27 + }, + { + "date": "2025-12-11", + "value": 29 + }, + { + "date": "2025-12-17", + "value": 32 + }, + { + "date": "2026-01-06", + "value": 26 + }, + { + "date": "2026-01-12", + "value": 29 + }, + { + "date": "2026-01-18", + "value": 31 + }, + { + "date": "2026-02-04", + "value": 33 + }, + { + "date": "2026-02-10", + "value": 36 + }, + { + "date": "2026-02-16", + "value": 39 + }, + { + "date": "2026-03-05", + "value": 33 + }, + { + "date": "2026-03-11", + "value": 36 + }, + { + "date": "2026-03-17", + "value": 23 + }, + { + "date": "2026-04-06", + "value": 40 + }, + { + "date": "2026-04-12", + "value": 27 + }, + { + "date": "2026-04-18", + "value": 31 + }, + { + "date": "2026-05-04", + "value": 24 + }, + { + "date": "2026-05-10", + "value": 27 + }, + { + "date": "2026-05-16", + "value": 29 + } + ], + "monthly": [ + { + "month": "2022-07", + "mean": 28.0, + "median": 28.0, + "p10": 28.0, + "p25": 28.0, + "p75": 28.0, + "p90": 28.0, + "n": 1 + }, + { + "month": "2022-11", + "mean": 35.0, + "median": 35.0, + "p10": 35.0, + "p25": 35.0, + "p75": 35.0, + "p90": 35.0, + "n": 1 + }, + { + "month": "2023-03", + "mean": 22.0, + "median": 22.0, + "p10": 22.0, + "p25": 22.0, + "p75": 22.0, + "p90": 22.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 42.0, + "median": 42.0, + "p10": 42.0, + "p25": 42.0, + "p75": 42.0, + "p90": 42.0, + "n": 1 + }, + { + "month": "2023-10", + "mean": 30.0, + "median": 30.0, + "p10": 30.0, + "p25": 30.0, + "p75": 30.0, + "p90": 30.0, + "n": 1 + }, + { + "month": "2024-02", + "mean": 55.0, + "median": 55.0, + "p10": 55.0, + "p25": 55.0, + "p75": 55.0, + "p90": 55.0, + "n": 1 + }, + { + "month": "2024-05", + "mean": 25.0, + "median": 25.0, + "p10": 25.0, + "p25": 25.0, + "p75": 25.0, + "p90": 25.0, + "n": 1 + }, + { + "month": "2024-08", + "mean": 38.0, + "median": 38.0, + "p10": 38.0, + "p25": 38.0, + "p75": 38.0, + "p90": 38.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 15.0, + "median": 15.0, + "p10": 15.0, + "p25": 15.0, + "p75": 15.0, + "p90": 15.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 32.0, + "median": 32.0, + "p10": 32.0, + "p25": 32.0, + "p75": 32.0, + "p90": 32.0, + "n": 1 + }, + { + "month": "2025-04", + "mean": 28.0, + "median": 28.0, + "p10": 28.0, + "p25": 28.0, + "p75": 28.0, + "p90": 28.0, + "n": 1 + }, + { + "month": "2025-06", + "mean": 45.0, + "median": 45.0, + "p10": 45.0, + "p25": 45.0, + "p75": 45.0, + "p90": 45.0, + "n": 1 + }, + { + "month": "2025-07", + "mean": 30.0, + "median": 30.0, + "p10": 30.0, + "p25": 30.0, + "p75": 30.0, + "p90": 30.0, + "n": 1 + }, + { + "month": "2025-08", + "mean": 22.0, + "median": 22.0, + "p10": 22.0, + "p25": 22.0, + "p75": 22.0, + "p90": 22.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 34.8, + "median": 37.0, + "p10": 29.0, + "p25": 33.5, + "p75": 38.3, + "p90": 38.7, + "n": 4 + }, + { + "month": "2025-10", + "mean": 28.3, + "median": 26.0, + "p10": 23.6, + "p25": 24.5, + "p75": 31.0, + "p90": 34.0, + "n": 3 + }, + { + "month": "2025-11", + "mean": 30.3, + "median": 31.0, + "p10": 27.8, + "p25": 29.0, + "p75": 32.0, + "p90": 32.6, + "n": 3 + }, + { + "month": "2025-12", + "mean": 29.3, + "median": 29.0, + "p10": 27.4, + "p25": 28.0, + "p75": 30.5, + "p90": 31.4, + "n": 3 + }, + { + "month": "2026-01", + "mean": 28.7, + "median": 29.0, + "p10": 26.6, + "p25": 27.5, + "p75": 30.0, + "p90": 30.6, + "n": 3 + }, + { + "month": "2026-02", + "mean": 36.0, + "median": 36.0, + "p10": 33.6, + "p25": 34.5, + "p75": 37.5, + "p90": 38.4, + "n": 3 + }, + { + "month": "2026-03", + "mean": 30.7, + "median": 33.0, + "p10": 25.0, + "p25": 28.0, + "p75": 34.5, + "p90": 35.4, + "n": 3 + }, + { + "month": "2026-04", + "mean": 32.7, + "median": 31.0, + "p10": 27.8, + "p25": 29.0, + "p75": 35.5, + "p90": 38.2, + "n": 3 + }, + { + "month": "2026-05", + "mean": 26.7, + "median": 27.0, + "p10": 24.6, + "p25": 25.5, + "p75": 28.0, + "p90": 28.6, + "n": 3 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "dest_dwell_hub1", + "label": "Destination Dwell (HUB-1)", + "type": "destination_dwell", + "material": "90000300001", + "plant": "HUB-1", + "stats": { + "n": 37, + "mean": 45.0, + "median": 44.0, + "std": 14.0, + "min": 10, + "max": 95, + "p25": 36.0, + "p75": 49.0, + "p85": 53.0, + "p95": 67.6 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "cost": { + "unit_price": 28.5, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2022-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "n_events": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "n_events": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "n_events": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "n_events": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "n_events": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "n_events": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "n_events": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "n_events": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "n_events": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "n_events": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "n_events": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "n_events": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "n_events": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "n_events": 3, + "total_kg_days": 585600.0 + } + ] + }, + "observations": [ + { + "date": "2022-09-15", + "value": 42 + }, + { + "date": "2023-05-05", + "value": 65 + }, + { + "date": "2023-05-20", + "value": 28 + }, + { + "date": "2024-01-10", + "value": 95 + }, + { + "date": "2024-01-25", + "value": 35 + }, + { + "date": "2024-08-15", + "value": 10 + }, + { + "date": "2025-02-05", + "value": 78 + }, + { + "date": "2025-02-18", + "value": 55 + }, + { + "date": "2025-08-10", + "value": 42 + }, + { + "date": "2025-08-20", + "value": 32 + }, + { + "date": "2025-09-06", + "value": 39 + }, + { + "date": "2025-09-12", + "value": 42 + }, + { + "date": "2025-09-18", + "value": 46 + }, + { + "date": "2025-10-04", + "value": 49 + }, + { + "date": "2025-10-10", + "value": 53 + }, + { + "date": "2025-10-16", + "value": 57 + }, + { + "date": "2025-11-05", + "value": 48 + }, + { + "date": "2025-11-11", + "value": 52 + }, + { + "date": "2025-11-17", + "value": 34 + }, + { + "date": "2025-12-06", + "value": 48 + }, + { + "date": "2025-12-12", + "value": 30 + }, + { + "date": "2025-12-18", + "value": 34 + }, + { + "date": "2026-01-04", + "value": 36 + }, + { + "date": "2026-01-10", + "value": 41 + }, + { + "date": "2026-01-16", + "value": 43 + }, + { + "date": "2026-02-05", + "value": 36 + }, + { + "date": "2026-02-11", + "value": 39 + }, + { + "date": "2026-02-17", + "value": 42 + }, + { + "date": "2026-03-06", + "value": 46 + }, + { + "date": "2026-03-12", + "value": 49 + }, + { + "date": "2026-03-18", + "value": 53 + }, + { + "date": "2026-04-04", + "value": 45 + }, + { + "date": "2026-04-10", + "value": 48 + }, + { + "date": "2026-04-16", + "value": 52 + }, + { + "date": "2026-05-05", + "value": 44 + }, + { + "date": "2026-05-11", + "value": 48 + }, + { + "date": "2026-05-17", + "value": 30 + } + ], + "monthly": [ + { + "month": "2022-09", + "mean": 42.0, + "median": 42.0, + "p10": 42.0, + "p25": 42.0, + "p75": 42.0, + "p90": 42.0, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "mean": 46.5, + "median": 46.5, + "p10": 31.7, + "p25": 37.3, + "p75": 55.8, + "p90": 61.3, + "n": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "mean": 65.0, + "median": 65.0, + "p10": 41.0, + "p25": 50.0, + "p75": 80.0, + "p90": 89.0, + "n": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "mean": 10.0, + "median": 10.0, + "p10": 10.0, + "p25": 10.0, + "p75": 10.0, + "p90": 10.0, + "n": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "mean": 66.5, + "median": 66.5, + "p10": 57.3, + "p25": 60.8, + "p75": 72.3, + "p90": 75.7, + "n": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "mean": 37.0, + "median": 37.0, + "p10": 33.0, + "p25": 34.5, + "p75": 39.5, + "p90": 41.0, + "n": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "mean": 42.3, + "median": 42.0, + "p10": 39.6, + "p25": 40.5, + "p75": 44.0, + "p90": 45.2, + "n": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "mean": 53.0, + "median": 53.0, + "p10": 49.8, + "p25": 51.0, + "p75": 55.0, + "p90": 56.2, + "n": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "mean": 44.7, + "median": 48.0, + "p10": 36.8, + "p25": 41.0, + "p75": 50.0, + "p90": 51.2, + "n": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "mean": 37.3, + "median": 34.0, + "p10": 30.8, + "p25": 32.0, + "p75": 41.0, + "p90": 45.2, + "n": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "mean": 40.0, + "median": 41.0, + "p10": 37.0, + "p25": 38.5, + "p75": 42.0, + "p90": 42.6, + "n": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "mean": 39.0, + "median": 39.0, + "p10": 36.6, + "p25": 37.5, + "p75": 40.5, + "p90": 41.4, + "n": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "mean": 49.3, + "median": 49.0, + "p10": 46.6, + "p25": 47.5, + "p75": 51.0, + "p90": 52.2, + "n": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "mean": 48.3, + "median": 48.0, + "p10": 45.6, + "p25": 46.5, + "p75": 50.0, + "p90": 51.2, + "n": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "mean": 40.7, + "median": 44.0, + "p10": 32.8, + "p25": 37.0, + "p75": 46.0, + "p90": 47.2, + "n": 3, + "total_kg_days": 585600.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 45.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 45.0, + "expected_marginal_per_day": 1.0 + } + } + } + ] + }, + { + "id": "summit-medium-roast", + "name": "Summit Medium Roast", + "nodes": [ + { + "id": "procurement_highland_arabica", + "label": "Procurement: Highland Arabica", + "type": "procurement", + "material": "90000100001", + "plant": "PL-A", + "stats": { + "n": 59, + "mean": 47.4, + "median": 47.2, + "std": 15.7, + "min": 9.4, + "max": 123.9, + "p25": 41.3, + "p75": 53.1, + "p85": 56.6, + "p95": 65.8 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 98.3, + "cost": null, + "observations": [ + { + "date": "2022-03-15", + "value": 64.9 + }, + { + "date": "2022-06-10", + "value": 49.6 + }, + { + "date": "2022-09-22", + "value": 9.4 + }, + { + "date": "2022-12-05", + "value": 74.3 + }, + { + "date": "2023-02-14", + "value": 44.8 + }, + { + "date": "2023-05-30", + "value": 26.0 + }, + { + "date": "2023-08-17", + "value": 83.8 + }, + { + "date": "2023-11-02", + "value": 35.4 + }, + { + "date": "2024-01-25", + "value": 53.1 + }, + { + "date": "2024-04-11", + "value": 21.2 + }, + { + "date": "2024-07-09", + "value": 123.9 + }, + { + "date": "2024-10-03", + "value": 41.3 + }, + { + "date": "2025-01-20", + "value": 14.2 + }, + { + "date": "2025-04-08", + "value": 56.6 + }, + { + "date": "2025-09-05", + "value": 46.0 + }, + { + "date": "2025-09-11", + "value": 48.4 + }, + { + "date": "2025-09-17", + "value": 51.9 + }, + { + "date": "2025-09-23", + "value": 56.6 + }, + { + "date": "2025-09-29", + "value": 60.2 + }, + { + "date": "2025-10-06", + "value": 43.7 + }, + { + "date": "2025-10-12", + "value": 47.2 + }, + { + "date": "2025-10-18", + "value": 51.9 + }, + { + "date": "2025-10-24", + "value": 55.5 + }, + { + "date": "2025-10-30", + "value": 36.6 + }, + { + "date": "2025-11-04", + "value": 42.5 + }, + { + "date": "2025-11-10", + "value": 47.2 + }, + { + "date": "2025-11-16", + "value": 50.7 + }, + { + "date": "2025-11-22", + "value": 31.9 + }, + { + "date": "2025-11-28", + "value": 36.6 + }, + { + "date": "2025-12-05", + "value": 54.3 + }, + { + "date": "2025-12-11", + "value": 57.8 + }, + { + "date": "2025-12-17", + "value": 38.9 + }, + { + "date": "2025-12-23", + "value": 43.7 + }, + { + "date": "2025-12-29", + "value": 46.0 + }, + { + "date": "2026-01-06", + "value": 53.1 + }, + { + "date": "2026-01-12", + "value": 34.2 + }, + { + "date": "2026-01-18", + "value": 38.9 + }, + { + "date": "2026-01-24", + "value": 41.3 + }, + { + "date": "2026-01-30", + "value": 44.8 + }, + { + "date": "2026-02-04", + "value": 41.3 + }, + { + "date": "2026-02-10", + "value": 46.0 + }, + { + "date": "2026-02-16", + "value": 48.4 + }, + { + "date": "2026-02-22", + "value": 51.9 + }, + { + "date": "2026-02-28", + "value": 56.6 + }, + { + "date": "2026-03-05", + "value": 41.3 + }, + { + "date": "2026-03-11", + "value": 43.7 + }, + { + "date": "2026-03-17", + "value": 47.2 + }, + { + "date": "2026-03-23", + "value": 51.9 + }, + { + "date": "2026-03-29", + "value": 55.5 + }, + { + "date": "2026-04-06", + "value": 38.9 + }, + { + "date": "2026-04-12", + "value": 42.5 + }, + { + "date": "2026-04-18", + "value": 47.2 + }, + { + "date": "2026-04-24", + "value": 50.7 + }, + { + "date": "2026-04-30", + "value": 31.9 + }, + { + "date": "2026-05-04", + "value": 49.6 + }, + { + "date": "2026-05-10", + "value": 54.3 + }, + { + "date": "2026-05-16", + "value": 57.8 + }, + { + "date": "2026-05-22", + "value": 38.9 + }, + { + "date": "2026-05-28", + "value": 43.7 + } + ], + "monthly": [ + { + "month": "2022-03", + "mean": 64.9, + "median": 64.9, + "p10": 64.9, + "p25": 64.9, + "p75": 64.9, + "p90": 64.9, + "n": 1 + }, + { + "month": "2022-06", + "mean": 49.6, + "median": 49.6, + "p10": 49.6, + "p25": 49.6, + "p75": 49.6, + "p90": 49.6, + "n": 1 + }, + { + "month": "2022-09", + "mean": 9.4, + "median": 9.4, + "p10": 9.4, + "p25": 9.4, + "p75": 9.4, + "p90": 9.4, + "n": 1 + }, + { + "month": "2022-12", + "mean": 74.3, + "median": 74.3, + "p10": 74.3, + "p25": 74.3, + "p75": 74.3, + "p90": 74.3, + "n": 1 + }, + { + "month": "2023-02", + "mean": 44.8, + "median": 44.8, + "p10": 44.8, + "p25": 44.8, + "p75": 44.8, + "p90": 44.8, + "n": 1 + }, + { + "month": "2023-05", + "mean": 26.0, + "median": 26.0, + "p10": 26.0, + "p25": 26.0, + "p75": 26.0, + "p90": 26.0, + "n": 1 + }, + { + "month": "2023-08", + "mean": 83.8, + "median": 83.8, + "p10": 83.8, + "p25": 83.8, + "p75": 83.8, + "p90": 83.8, + "n": 1 + }, + { + "month": "2023-11", + "mean": 35.4, + "median": 35.4, + "p10": 35.4, + "p25": 35.4, + "p75": 35.4, + "p90": 35.4, + "n": 1 + }, + { + "month": "2024-01", + "mean": 53.1, + "median": 53.1, + "p10": 53.1, + "p25": 53.1, + "p75": 53.1, + "p90": 53.1, + "n": 1 + }, + { + "month": "2024-04", + "mean": 21.2, + "median": 21.2, + "p10": 21.2, + "p25": 21.2, + "p75": 21.2, + "p90": 21.2, + "n": 1 + }, + { + "month": "2024-07", + "mean": 123.9, + "median": 123.9, + "p10": 123.9, + "p25": 123.9, + "p75": 123.9, + "p90": 123.9, + "n": 1 + }, + { + "month": "2024-10", + "mean": 41.3, + "median": 41.3, + "p10": 41.3, + "p25": 41.3, + "p75": 41.3, + "p90": 41.3, + "n": 1 + }, + { + "month": "2025-01", + "mean": 14.2, + "median": 14.2, + "p10": 14.2, + "p25": 14.2, + "p75": 14.2, + "p90": 14.2, + "n": 1 + }, + { + "month": "2025-04", + "mean": 56.6, + "median": 56.6, + "p10": 56.6, + "p25": 56.6, + "p75": 56.6, + "p90": 56.6, + "n": 1 + }, + { + "month": "2025-09", + "mean": 52.6, + "median": 51.9, + "p10": 47.0, + "p25": 48.4, + "p75": 56.6, + "p90": 58.8, + "n": 5 + }, + { + "month": "2025-10", + "mean": 47.0, + "median": 47.2, + "p10": 39.4, + "p25": 43.7, + "p75": 51.9, + "p90": 54.0, + "n": 5 + }, + { + "month": "2025-11", + "mean": 41.8, + "median": 42.5, + "p10": 33.7, + "p25": 36.6, + "p75": 47.2, + "p90": 49.3, + "n": 5 + }, + { + "month": "2025-12", + "mean": 48.1, + "median": 46.0, + "p10": 40.8, + "p25": 43.7, + "p75": 54.3, + "p90": 56.4, + "n": 5 + }, + { + "month": "2026-01", + "mean": 42.5, + "median": 41.3, + "p10": 36.1, + "p25": 38.9, + "p75": 44.8, + "p90": 49.8, + "n": 5 + }, + { + "month": "2026-02", + "mean": 48.9, + "median": 48.4, + "p10": 43.2, + "p25": 46.0, + "p75": 51.9, + "p90": 54.8, + "n": 5 + }, + { + "month": "2026-03", + "mean": 47.9, + "median": 47.2, + "p10": 42.2, + "p25": 43.7, + "p75": 51.9, + "p90": 54.0, + "n": 5 + }, + { + "month": "2026-04", + "mean": 42.2, + "median": 42.5, + "p10": 34.7, + "p25": 38.9, + "p75": 47.2, + "p90": 49.3, + "n": 5 + }, + { + "month": "2026-05", + "mean": 48.9, + "median": 49.6, + "p10": 40.8, + "p25": 43.7, + "p75": 54.3, + "p90": 56.4, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "procurement_lowland_robusta", + "label": "Procurement: Lowland Robusta", + "type": "procurement", + "material": "90000100002", + "plant": "PL-A", + "stats": { + "n": 63, + "mean": 39.4, + "median": 38.9, + "std": 13.5, + "min": 5.9, + "max": 96.8, + "p25": 33.0, + "p75": 44.8, + "p85": 48.0, + "p95": 60.9 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 96.8, + "cost": null, + "observations": [ + { + "date": "2022-02-08", + "value": 37.8 + }, + { + "date": "2022-04-19", + "value": 56.6 + }, + { + "date": "2022-07-11", + "value": 5.9 + }, + { + "date": "2022-09-28", + "value": 79.1 + }, + { + "date": "2022-12-15", + "value": 29.5 + }, + { + "date": "2023-03-07", + "value": 48.4 + }, + { + "date": "2023-05-22", + "value": 17.7 + }, + { + "date": "2023-08-09", + "value": 96.8 + }, + { + "date": "2023-10-30", + "value": 44.8 + }, + { + "date": "2024-01-16", + "value": 23.6 + }, + { + "date": "2024-03-25", + "value": 61.4 + }, + { + "date": "2024-06-12", + "value": 11.8 + }, + { + "date": "2024-08-28", + "value": 51.9 + }, + { + "date": "2024-11-14", + "value": 33.0 + }, + { + "date": "2025-01-06", + "value": 41.3 + }, + { + "date": "2025-03-18", + "value": 21.2 + }, + { + "date": "2025-05-29", + "value": 64.9 + }, + { + "date": "2025-08-12", + "value": 30.7 + }, + { + "date": "2025-09-04", + "value": 30.7 + }, + { + "date": "2025-09-10", + "value": 34.2 + }, + { + "date": "2025-09-16", + "value": 36.6 + }, + { + "date": "2025-09-22", + "value": 40.1 + }, + { + "date": "2025-09-28", + "value": 43.7 + }, + { + "date": "2025-10-05", + "value": 30.7 + }, + { + "date": "2025-10-11", + "value": 33.0 + }, + { + "date": "2025-10-17", + "value": 36.6 + }, + { + "date": "2025-10-23", + "value": 38.9 + }, + { + "date": "2025-10-29", + "value": 42.5 + }, + { + "date": "2025-11-06", + "value": 38.9 + }, + { + "date": "2025-11-12", + "value": 42.5 + }, + { + "date": "2025-11-18", + "value": 44.8 + }, + { + "date": "2025-11-24", + "value": 49.6 + }, + { + "date": "2025-11-30", + "value": 33.0 + }, + { + "date": "2025-12-04", + "value": 37.8 + }, + { + "date": "2025-12-10", + "value": 41.3 + }, + { + "date": "2025-12-16", + "value": 44.8 + }, + { + "date": "2025-12-22", + "value": 28.3 + }, + { + "date": "2025-12-28", + "value": 33.0 + }, + { + "date": "2026-01-05", + "value": 47.2 + }, + { + "date": "2026-01-11", + "value": 50.7 + }, + { + "date": "2026-01-17", + "value": 34.2 + }, + { + "date": "2026-01-23", + "value": 38.9 + }, + { + "date": "2026-01-29", + "value": 41.3 + }, + { + "date": "2026-02-06", + "value": 47.2 + }, + { + "date": "2026-02-12", + "value": 30.7 + }, + { + "date": "2026-02-18", + "value": 34.2 + }, + { + "date": "2026-02-24", + "value": 36.6 + }, + { + "date": "2026-02-30", + "value": 40.1 + }, + { + "date": "2026-03-04", + "value": 26.0 + }, + { + "date": "2026-03-10", + "value": 30.7 + }, + { + "date": "2026-03-16", + "value": 33.0 + }, + { + "date": "2026-03-22", + "value": 36.6 + }, + { + "date": "2026-03-28", + "value": 38.9 + }, + { + "date": "2026-04-05", + "value": 36.6 + }, + { + "date": "2026-04-11", + "value": 38.9 + }, + { + "date": "2026-04-17", + "value": 42.5 + }, + { + "date": "2026-04-23", + "value": 44.8 + }, + { + "date": "2026-04-29", + "value": 49.6 + }, + { + "date": "2026-05-06", + "value": 35.4 + }, + { + "date": "2026-05-12", + "value": 37.8 + }, + { + "date": "2026-05-18", + "value": 41.3 + }, + { + "date": "2026-05-24", + "value": 44.8 + }, + { + "date": "2026-05-30", + "value": 28.3 + } + ], + "monthly": [ + { + "month": "2022-02", + "mean": 37.8, + "median": 37.8, + "p10": 37.8, + "p25": 37.8, + "p75": 37.8, + "p90": 37.8, + "n": 1 + }, + { + "month": "2022-04", + "mean": 56.6, + "median": 56.6, + "p10": 56.6, + "p25": 56.6, + "p75": 56.6, + "p90": 56.6, + "n": 1 + }, + { + "month": "2022-07", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2022-09", + "mean": 79.1, + "median": 79.1, + "p10": 79.1, + "p25": 79.1, + "p75": 79.1, + "p90": 79.1, + "n": 1 + }, + { + "month": "2022-12", + "mean": 29.5, + "median": 29.5, + "p10": 29.5, + "p25": 29.5, + "p75": 29.5, + "p90": 29.5, + "n": 1 + }, + { + "month": "2023-03", + "mean": 48.4, + "median": 48.4, + "p10": 48.4, + "p25": 48.4, + "p75": 48.4, + "p90": 48.4, + "n": 1 + }, + { + "month": "2023-05", + "mean": 17.7, + "median": 17.7, + "p10": 17.7, + "p25": 17.7, + "p75": 17.7, + "p90": 17.7, + "n": 1 + }, + { + "month": "2023-08", + "mean": 96.8, + "median": 96.8, + "p10": 96.8, + "p25": 96.8, + "p75": 96.8, + "p90": 96.8, + "n": 1 + }, + { + "month": "2023-10", + "mean": 44.8, + "median": 44.8, + "p10": 44.8, + "p25": 44.8, + "p75": 44.8, + "p90": 44.8, + "n": 1 + }, + { + "month": "2024-01", + "mean": 23.6, + "median": 23.6, + "p10": 23.6, + "p25": 23.6, + "p75": 23.6, + "p90": 23.6, + "n": 1 + }, + { + "month": "2024-03", + "mean": 61.4, + "median": 61.4, + "p10": 61.4, + "p25": 61.4, + "p75": 61.4, + "p90": 61.4, + "n": 1 + }, + { + "month": "2024-06", + "mean": 11.8, + "median": 11.8, + "p10": 11.8, + "p25": 11.8, + "p75": 11.8, + "p90": 11.8, + "n": 1 + }, + { + "month": "2024-08", + "mean": 51.9, + "median": 51.9, + "p10": 51.9, + "p25": 51.9, + "p75": 51.9, + "p90": 51.9, + "n": 1 + }, + { + "month": "2024-11", + "mean": 33.0, + "median": 33.0, + "p10": 33.0, + "p25": 33.0, + "p75": 33.0, + "p90": 33.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 41.3, + "median": 41.3, + "p10": 41.3, + "p25": 41.3, + "p75": 41.3, + "p90": 41.3, + "n": 1 + }, + { + "month": "2025-03", + "mean": 21.2, + "median": 21.2, + "p10": 21.2, + "p25": 21.2, + "p75": 21.2, + "p90": 21.2, + "n": 1 + }, + { + "month": "2025-05", + "mean": 64.9, + "median": 64.9, + "p10": 64.9, + "p25": 64.9, + "p75": 64.9, + "p90": 64.9, + "n": 1 + }, + { + "month": "2025-08", + "mean": 30.7, + "median": 30.7, + "p10": 30.7, + "p25": 30.7, + "p75": 30.7, + "p90": 30.7, + "n": 1 + }, + { + "month": "2025-09", + "mean": 37.1, + "median": 36.6, + "p10": 32.1, + "p25": 34.2, + "p75": 40.1, + "p90": 42.2, + "n": 5 + }, + { + "month": "2025-10", + "mean": 36.3, + "median": 36.6, + "p10": 31.6, + "p25": 33.0, + "p75": 38.9, + "p90": 41.1, + "n": 5 + }, + { + "month": "2025-11", + "mean": 41.8, + "median": 42.5, + "p10": 35.4, + "p25": 38.9, + "p75": 44.8, + "p90": 47.7, + "n": 5 + }, + { + "month": "2025-12", + "mean": 37.1, + "median": 37.8, + "p10": 30.2, + "p25": 33.0, + "p75": 41.3, + "p90": 43.4, + "n": 5 + }, + { + "month": "2026-01", + "mean": 42.5, + "median": 41.3, + "p10": 36.1, + "p25": 38.9, + "p75": 47.2, + "p90": 49.3, + "n": 5 + }, + { + "month": "2026-02", + "mean": 37.8, + "median": 36.6, + "p10": 32.1, + "p25": 34.2, + "p75": 40.1, + "p90": 44.4, + "n": 5 + }, + { + "month": "2026-03", + "mean": 33.0, + "median": 33.0, + "p10": 27.8, + "p25": 30.7, + "p75": 36.6, + "p90": 38.0, + "n": 5 + }, + { + "month": "2026-04", + "mean": 42.5, + "median": 42.5, + "p10": 37.5, + "p25": 38.9, + "p75": 44.8, + "p90": 47.7, + "n": 5 + }, + { + "month": "2026-05", + "mean": 37.5, + "median": 37.8, + "p10": 31.2, + "p25": 35.4, + "p75": 41.3, + "p90": 43.4, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "procurement_washed_bourbon", + "label": "Procurement: Washed Bourbon", + "type": "procurement", + "material": "90000100003", + "plant": "PL-A", + "stats": { + "n": 55, + "mean": 30.8, + "median": 29.5, + "std": 9.4, + "min": 8.3, + "max": 73.2, + "p25": 26.5, + "p75": 34.2, + "p85": 35.4, + "p95": 43.1 + }, + "plifz": 7, + "plifz_note": null, + "pct_exceeding_plifz": 98.2, + "cost": null, + "observations": [ + { + "date": "2022-05-03", + "value": 41.3 + }, + { + "date": "2022-10-18", + "value": 18.9 + }, + { + "date": "2023-01-24", + "value": 73.2 + }, + { + "date": "2023-06-15", + "value": 8.3 + }, + { + "date": "2023-09-28", + "value": 47.2 + }, + { + "date": "2024-02-12", + "value": 29.5 + }, + { + "date": "2024-05-07", + "value": 56.6 + }, + { + "date": "2024-09-19", + "value": 14.2 + }, + { + "date": "2025-02-04", + "value": 35.4 + }, + { + "date": "2025-06-10", + "value": 16.5 + }, + { + "date": "2025-09-06", + "value": 35.4 + }, + { + "date": "2025-09-12", + "value": 22.4 + }, + { + "date": "2025-09-18", + "value": 26.0 + }, + { + "date": "2025-09-24", + "value": 27.1 + }, + { + "date": "2025-09-30", + "value": 29.5 + }, + { + "date": "2025-10-04", + "value": 27.1 + }, + { + "date": "2025-10-10", + "value": 29.5 + }, + { + "date": "2025-10-16", + "value": 31.9 + }, + { + "date": "2025-10-22", + "value": 34.2 + }, + { + "date": "2025-10-28", + "value": 36.6 + }, + { + "date": "2025-11-05", + "value": 27.1 + }, + { + "date": "2025-11-11", + "value": 29.5 + }, + { + "date": "2025-11-17", + "value": 31.9 + }, + { + "date": "2025-11-23", + "value": 34.2 + }, + { + "date": "2025-11-29", + "value": 36.6 + }, + { + "date": "2025-12-06", + "value": 26.0 + }, + { + "date": "2025-12-12", + "value": 28.3 + }, + { + "date": "2025-12-18", + "value": 30.7 + }, + { + "date": "2025-12-24", + "value": 33.0 + }, + { + "date": "2025-12-30", + "value": 21.2 + }, + { + "date": "2026-01-04", + "value": 33.0 + }, + { + "date": "2026-01-10", + "value": 35.4 + }, + { + "date": "2026-01-16", + "value": 37.8 + }, + { + "date": "2026-01-22", + "value": 26.0 + }, + { + "date": "2026-01-28", + "value": 28.3 + }, + { + "date": "2026-02-05", + "value": 31.9 + }, + { + "date": "2026-02-11", + "value": 35.4 + }, + { + "date": "2026-02-17", + "value": 22.4 + }, + { + "date": "2026-02-23", + "value": 26.0 + }, + { + "date": "2026-02-29", + "value": 27.1 + }, + { + "date": "2026-03-06", + "value": 40.1 + }, + { + "date": "2026-03-12", + "value": 27.1 + }, + { + "date": "2026-03-18", + "value": 29.5 + }, + { + "date": "2026-03-24", + "value": 31.9 + }, + { + "date": "2026-03-30", + "value": 34.2 + }, + { + "date": "2026-04-04", + "value": 23.6 + }, + { + "date": "2026-04-10", + "value": 27.1 + }, + { + "date": "2026-04-16", + "value": 29.5 + }, + { + "date": "2026-04-22", + "value": 31.9 + }, + { + "date": "2026-04-28", + "value": 34.2 + }, + { + "date": "2026-05-05", + "value": 23.6 + }, + { + "date": "2026-05-11", + "value": 26.0 + }, + { + "date": "2026-05-17", + "value": 28.3 + }, + { + "date": "2026-05-23", + "value": 30.7 + }, + { + "date": "2026-05-29", + "value": 33.0 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 41.3, + "median": 41.3, + "p10": 41.3, + "p25": 41.3, + "p75": 41.3, + "p90": 41.3, + "n": 1 + }, + { + "month": "2022-10", + "mean": 18.9, + "median": 18.9, + "p10": 18.9, + "p25": 18.9, + "p75": 18.9, + "p90": 18.9, + "n": 1 + }, + { + "month": "2023-01", + "mean": 73.2, + "median": 73.2, + "p10": 73.2, + "p25": 73.2, + "p75": 73.2, + "p90": 73.2, + "n": 1 + }, + { + "month": "2023-06", + "mean": 8.3, + "median": 8.3, + "p10": 8.3, + "p25": 8.3, + "p75": 8.3, + "p90": 8.3, + "n": 1 + }, + { + "month": "2023-09", + "mean": 47.2, + "median": 47.2, + "p10": 47.2, + "p25": 47.2, + "p75": 47.2, + "p90": 47.2, + "n": 1 + }, + { + "month": "2024-02", + "mean": 29.5, + "median": 29.5, + "p10": 29.5, + "p25": 29.5, + "p75": 29.5, + "p90": 29.5, + "n": 1 + }, + { + "month": "2024-05", + "mean": 56.6, + "median": 56.6, + "p10": 56.6, + "p25": 56.6, + "p75": 56.6, + "p90": 56.6, + "n": 1 + }, + { + "month": "2024-09", + "mean": 14.2, + "median": 14.2, + "p10": 14.2, + "p25": 14.2, + "p75": 14.2, + "p90": 14.2, + "n": 1 + }, + { + "month": "2025-02", + "mean": 35.4, + "median": 35.4, + "p10": 35.4, + "p25": 35.4, + "p75": 35.4, + "p90": 35.4, + "n": 1 + }, + { + "month": "2025-06", + "mean": 16.5, + "median": 16.5, + "p10": 16.5, + "p25": 16.5, + "p75": 16.5, + "p90": 16.5, + "n": 1 + }, + { + "month": "2025-09", + "mean": 28.1, + "median": 27.1, + "p10": 23.8, + "p25": 26.0, + "p75": 29.5, + "p90": 33.0, + "n": 5 + }, + { + "month": "2025-10", + "mean": 31.9, + "median": 31.9, + "p10": 28.1, + "p25": 29.5, + "p75": 34.2, + "p90": 35.6, + "n": 5 + }, + { + "month": "2025-11", + "mean": 31.9, + "median": 31.9, + "p10": 28.1, + "p25": 29.5, + "p75": 34.2, + "p90": 35.6, + "n": 5 + }, + { + "month": "2025-12", + "mean": 27.8, + "median": 28.3, + "p10": 23.1, + "p25": 26.0, + "p75": 30.7, + "p90": 32.1, + "n": 5 + }, + { + "month": "2026-01", + "mean": 32.1, + "median": 33.0, + "p10": 26.9, + "p25": 28.3, + "p75": 35.4, + "p90": 36.8, + "n": 5 + }, + { + "month": "2026-02", + "mean": 28.6, + "median": 27.1, + "p10": 23.8, + "p25": 26.0, + "p75": 31.9, + "p90": 34.0, + "n": 5 + }, + { + "month": "2026-03", + "mean": 32.6, + "median": 31.9, + "p10": 28.1, + "p25": 29.5, + "p75": 34.2, + "p90": 37.8, + "n": 5 + }, + { + "month": "2026-04", + "mean": 29.3, + "median": 29.5, + "p10": 25.0, + "p25": 27.1, + "p75": 31.9, + "p90": 33.3, + "n": 5 + }, + { + "month": "2026-05", + "mean": 28.3, + "median": 28.3, + "p10": 24.5, + "p25": 26.0, + "p75": 30.7, + "p90": 32.1, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_highland_arabica", + "label": "Raw Material Dwell: Highland Arabica", + "type": "raw_material_dwell", + "material": "90000100001", + "plant": "PL-A", + "stats": { + "n": 83, + "mean": 57.0, + "median": 54.3, + "std": 23.4, + "min": 5.9, + "max": 153.4, + "p25": 45.4, + "p75": 64.3, + "p85": 72.0, + "p95": 103.5 + }, + "plifz": 30, + "plifz_note": null, + "pct_exceeding_plifz": 89.2, + "cost": { + "unit_price": 3.776, + "currency": "CHF", + "mean_qty": 4200.0, + "monthly": [ + { + "month": "2022-04", + "n_events": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "n_events": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "n_events": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "n_events": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "n_events": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "n_events": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "n_events": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "n_events": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "n_events": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "n_events": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 827400.0 + } + ] + }, + "observations": [ + { + "date": "2022-04-02", + "value": 41.3 + }, + { + "date": "2022-04-15", + "value": 73.2 + }, + { + "date": "2022-04-28", + "value": 21.2 + }, + { + "date": "2022-08-05", + "value": 103.8 + }, + { + "date": "2022-08-12", + "value": 49.6 + }, + { + "date": "2022-08-20", + "value": 64.9 + }, + { + "date": "2022-08-28", + "value": 35.4 + }, + { + "date": "2023-01-10", + "value": 85.0 + }, + { + "date": "2023-01-22", + "value": 29.5 + }, + { + "date": "2023-01-30", + "value": 56.6 + }, + { + "date": "2023-06-05", + "value": 17.7 + }, + { + "date": "2023-06-18", + "value": 112.1 + }, + { + "date": "2023-10-03", + "value": 153.4 + }, + { + "date": "2023-10-10", + "value": 53.1 + }, + { + "date": "2023-10-18", + "value": 44.8 + }, + { + "date": "2023-10-25", + "value": 76.7 + }, + { + "date": "2023-10-30", + "value": 26.0 + }, + { + "date": "2024-03-05", + "value": 92.0 + }, + { + "date": "2024-03-12", + "value": 5.9 + }, + { + "date": "2024-03-20", + "value": 64.9 + }, + { + "date": "2024-03-28", + "value": 47.2 + }, + { + "date": "2024-07-08", + "value": 33.0 + }, + { + "date": "2024-07-15", + "value": 100.3 + }, + { + "date": "2024-07-22", + "value": 59.0 + }, + { + "date": "2024-11-04", + "value": 129.8 + }, + { + "date": "2024-11-11", + "value": 37.8 + }, + { + "date": "2024-11-18", + "value": 80.2 + }, + { + "date": "2024-11-25", + "value": 53.1 + }, + { + "date": "2024-11-30", + "value": 108.6 + }, + { + "date": "2025-03-03", + "value": 23.6 + }, + { + "date": "2025-03-10", + "value": 68.4 + }, + { + "date": "2025-03-17", + "value": 41.3 + }, + { + "date": "2025-03-24", + "value": 49.6 + }, + { + "date": "2025-07-02", + "value": 88.5 + }, + { + "date": "2025-07-09", + "value": 14.2 + }, + { + "date": "2025-07-16", + "value": 56.6 + }, + { + "date": "2025-07-23", + "value": 70.8 + }, + { + "date": "2025-07-30", + "value": 44.8 + }, + { + "date": "2025-09-05", + "value": 57.8 + }, + { + "date": "2025-09-11", + "value": 63.7 + }, + { + "date": "2025-09-17", + "value": 40.1 + }, + { + "date": "2025-09-23", + "value": 46.0 + }, + { + "date": "2025-09-29", + "value": 49.6 + }, + { + "date": "2025-10-06", + "value": 72.0 + }, + { + "date": "2025-10-12", + "value": 48.4 + }, + { + "date": "2025-10-18", + "value": 54.3 + }, + { + "date": "2025-10-24", + "value": 57.8 + }, + { + "date": "2025-10-30", + "value": 62.5 + }, + { + "date": "2025-11-04", + "value": 42.5 + }, + { + "date": "2025-11-10", + "value": 48.4 + }, + { + "date": "2025-11-16", + "value": 51.9 + }, + { + "date": "2025-11-22", + "value": 56.6 + }, + { + "date": "2025-11-28", + "value": 61.4 + }, + { + "date": "2025-12-05", + "value": 42.5 + }, + { + "date": "2025-12-11", + "value": 46.0 + }, + { + "date": "2025-12-17", + "value": 50.7 + }, + { + "date": "2025-12-23", + "value": 55.5 + }, + { + "date": "2025-12-29", + "value": 60.2 + }, + { + "date": "2026-01-06", + "value": 55.5 + }, + { + "date": "2026-01-12", + "value": 59.0 + }, + { + "date": "2026-01-18", + "value": 63.7 + }, + { + "date": "2026-01-24", + "value": 68.4 + }, + { + "date": "2026-01-30", + "value": 46.0 + }, + { + "date": "2026-02-04", + "value": 53.1 + }, + { + "date": "2026-02-10", + "value": 57.8 + }, + { + "date": "2026-02-16", + "value": 63.7 + }, + { + "date": "2026-02-22", + "value": 40.1 + }, + { + "date": "2026-02-28", + "value": 46.0 + }, + { + "date": "2026-03-05", + "value": 66.1 + }, + { + "date": "2026-03-11", + "value": 72.0 + }, + { + "date": "2026-03-17", + "value": 48.4 + }, + { + "date": "2026-03-23", + "value": 54.3 + }, + { + "date": "2026-03-29", + "value": 57.8 + }, + { + "date": "2026-04-06", + "value": 66.1 + }, + { + "date": "2026-04-12", + "value": 42.5 + }, + { + "date": "2026-04-18", + "value": 48.4 + }, + { + "date": "2026-04-24", + "value": 51.9 + }, + { + "date": "2026-04-30", + "value": 56.6 + }, + { + "date": "2026-05-04", + "value": 37.8 + }, + { + "date": "2026-05-10", + "value": 42.5 + }, + { + "date": "2026-05-16", + "value": 46.0 + }, + { + "date": "2026-05-22", + "value": 50.7 + }, + { + "date": "2026-05-28", + "value": 55.5 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 45.2, + "median": 41.3, + "p10": 25.3, + "p25": 31.3, + "p75": 57.2, + "p90": 66.8, + "n": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "mean": 63.5, + "median": 57.2, + "p10": 39.6, + "p25": 46.0, + "p75": 74.7, + "p90": 92.2, + "n": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "mean": 57.0, + "median": 56.6, + "p10": 34.9, + "p25": 43.1, + "p75": 70.8, + "p90": 79.3, + "n": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "mean": 64.9, + "median": 64.9, + "p10": 27.1, + "p25": 41.3, + "p75": 88.5, + "p90": 102.7, + "n": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "mean": 70.8, + "median": 53.1, + "p10": 33.5, + "p25": 44.8, + "p75": 76.7, + "p90": 122.7, + "n": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "mean": 52.5, + "median": 56.0, + "p10": 18.3, + "p25": 36.9, + "p75": 71.7, + "p90": 83.9, + "n": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "mean": 64.1, + "median": 59.0, + "p10": 38.2, + "p25": 46.0, + "p75": 79.6, + "p90": 92.0, + "n": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "mean": 81.9, + "median": 80.2, + "p10": 43.9, + "p25": 53.1, + "p75": 108.6, + "p90": 121.3, + "n": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "mean": 45.8, + "median": 45.4, + "p10": 28.9, + "p25": 36.9, + "p75": 54.3, + "p90": 62.8, + "n": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "mean": 55.0, + "median": 56.6, + "p10": 26.4, + "p25": 44.8, + "p75": 70.8, + "p90": 81.4, + "n": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "mean": 51.4, + "median": 49.6, + "p10": 42.5, + "p25": 46.0, + "p75": 57.8, + "p90": 61.4, + "n": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "mean": 59.0, + "median": 57.8, + "p10": 50.7, + "p25": 54.3, + "p75": 62.5, + "p90": 68.2, + "n": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "mean": 52.2, + "median": 51.9, + "p10": 44.8, + "p25": 48.4, + "p75": 56.6, + "p90": 59.5, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "mean": 51.0, + "median": 50.7, + "p10": 43.9, + "p25": 46.0, + "p75": 55.5, + "p90": 58.3, + "n": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "mean": 58.5, + "median": 59.0, + "p10": 49.8, + "p25": 55.5, + "p75": 63.7, + "p90": 66.6, + "n": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "mean": 52.2, + "median": 53.1, + "p10": 42.5, + "p25": 46.0, + "p75": 57.8, + "p90": 61.4, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "mean": 59.7, + "median": 57.8, + "p10": 50.7, + "p25": 54.3, + "p75": 66.1, + "p90": 69.6, + "n": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "mean": 53.1, + "median": 51.9, + "p10": 44.8, + "p25": 48.4, + "p75": 56.6, + "p90": 62.3, + "n": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "mean": 46.5, + "median": 46.0, + "p10": 39.6, + "p25": 42.5, + "p75": 50.7, + "p90": 53.6, + "n": 5, + "total_kg_days": 827400.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_lowland_robusta", + "label": "Raw Material Dwell: Lowland Robusta", + "type": "raw_material_dwell", + "material": "90000100002", + "plant": "PL-A", + "stats": { + "n": 69, + "mean": 43.2, + "median": 40.1, + "std": 18.6, + "min": 3.5, + "max": 115.6, + "p25": 33.0, + "p75": 48.4, + "p85": 53.1, + "p95": 81.7 + }, + "plifz": 21, + "plifz_note": null, + "pct_exceeding_plifz": 91.3, + "cost": { + "unit_price": 2.124, + "currency": "CHF", + "mean_qty": 6500.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "n_events": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "n_events": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "n_events": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "n_events": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "n_events": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 1131000.0 + } + ] + }, + "observations": [ + { + "date": "2022-05-02", + "value": 33.0 + }, + { + "date": "2022-05-10", + "value": 53.1 + }, + { + "date": "2022-05-18", + "value": 14.2 + }, + { + "date": "2022-05-25", + "value": 73.2 + }, + { + "date": "2023-02-06", + "value": 38.9 + }, + { + "date": "2023-02-14", + "value": 92.0 + }, + { + "date": "2023-02-22", + "value": 23.6 + }, + { + "date": "2023-02-28", + "value": 64.9 + }, + { + "date": "2023-09-05", + "value": 9.4 + }, + { + "date": "2023-09-15", + "value": 49.6 + }, + { + "date": "2023-09-25", + "value": 76.7 + }, + { + "date": "2024-04-03", + "value": 44.8 + }, + { + "date": "2024-04-10", + "value": 17.7 + }, + { + "date": "2024-04-17", + "value": 85.0 + }, + { + "date": "2024-04-24", + "value": 29.5 + }, + { + "date": "2024-10-02", + "value": 56.6 + }, + { + "date": "2024-10-09", + "value": 3.5 + }, + { + "date": "2024-10-16", + "value": 100.3 + }, + { + "date": "2024-10-23", + "value": 35.4 + }, + { + "date": "2024-10-30", + "value": 64.9 + }, + { + "date": "2025-04-07", + "value": 26.0 + }, + { + "date": "2025-04-14", + "value": 47.2 + }, + { + "date": "2025-04-21", + "value": 115.6 + }, + { + "date": "2025-04-28", + "value": 21.2 + }, + { + "date": "2025-09-04", + "value": 46.0 + }, + { + "date": "2025-09-10", + "value": 48.4 + }, + { + "date": "2025-09-16", + "value": 53.1 + }, + { + "date": "2025-09-22", + "value": 35.4 + }, + { + "date": "2025-09-28", + "value": 40.1 + }, + { + "date": "2025-10-05", + "value": 44.8 + }, + { + "date": "2025-10-11", + "value": 48.4 + }, + { + "date": "2025-10-17", + "value": 31.9 + }, + { + "date": "2025-10-23", + "value": 35.4 + }, + { + "date": "2025-10-29", + "value": 37.8 + }, + { + "date": "2025-11-06", + "value": 44.8 + }, + { + "date": "2025-11-12", + "value": 27.1 + }, + { + "date": "2025-11-18", + "value": 31.9 + }, + { + "date": "2025-11-24", + "value": 34.2 + }, + { + "date": "2025-11-30", + "value": 37.8 + }, + { + "date": "2025-12-04", + "value": 33.0 + }, + { + "date": "2025-12-10", + "value": 37.8 + }, + { + "date": "2025-12-16", + "value": 40.1 + }, + { + "date": "2025-12-22", + "value": 43.7 + }, + { + "date": "2025-12-28", + "value": 47.2 + }, + { + "date": "2026-01-05", + "value": 33.0 + }, + { + "date": "2026-01-11", + "value": 36.6 + }, + { + "date": "2026-01-17", + "value": 38.9 + }, + { + "date": "2026-01-23", + "value": 42.5 + }, + { + "date": "2026-01-29", + "value": 46.0 + }, + { + "date": "2026-02-06", + "value": 42.5 + }, + { + "date": "2026-02-12", + "value": 46.0 + }, + { + "date": "2026-02-18", + "value": 48.4 + }, + { + "date": "2026-02-24", + "value": 53.1 + }, + { + "date": "2026-02-30", + "value": 35.4 + }, + { + "date": "2026-03-04", + "value": 41.3 + }, + { + "date": "2026-03-10", + "value": 44.8 + }, + { + "date": "2026-03-16", + "value": 48.4 + }, + { + "date": "2026-03-22", + "value": 31.9 + }, + { + "date": "2026-03-28", + "value": 35.4 + }, + { + "date": "2026-04-05", + "value": 40.1 + }, + { + "date": "2026-04-11", + "value": 44.8 + }, + { + "date": "2026-04-17", + "value": 27.1 + }, + { + "date": "2026-04-23", + "value": 31.9 + }, + { + "date": "2026-04-29", + "value": 34.2 + }, + { + "date": "2026-05-06", + "value": 50.7 + }, + { + "date": "2026-05-12", + "value": 33.0 + }, + { + "date": "2026-05-18", + "value": 37.8 + }, + { + "date": "2026-05-24", + "value": 40.1 + }, + { + "date": "2026-05-30", + "value": 43.7 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 43.4, + "median": 43.1, + "p10": 19.8, + "p25": 28.3, + "p75": 58.2, + "p90": 67.1, + "n": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "mean": 54.9, + "median": 51.9, + "p10": 28.2, + "p25": 35.2, + "p75": 71.7, + "p90": 83.9, + "n": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "mean": 45.2, + "median": 49.6, + "p10": 17.5, + "p25": 29.5, + "p75": 63.1, + "p90": 71.3, + "n": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "mean": 44.2, + "median": 37.2, + "p10": 21.2, + "p25": 26.5, + "p75": 54.9, + "p90": 72.9, + "n": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "mean": 52.2, + "median": 56.6, + "p10": 16.3, + "p25": 35.4, + "p75": 64.9, + "p90": 86.1, + "n": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "mean": 52.5, + "median": 36.6, + "p10": 22.7, + "p25": 24.8, + "p75": 64.3, + "p90": 95.1, + "n": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "mean": 44.6, + "median": 46.0, + "p10": 37.3, + "p25": 40.1, + "p75": 48.4, + "p90": 51.2, + "n": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "mean": 39.6, + "median": 37.8, + "p10": 33.3, + "p25": 35.4, + "p75": 44.8, + "p90": 47.0, + "n": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "mean": 35.2, + "median": 34.2, + "p10": 29.0, + "p25": 31.9, + "p75": 37.8, + "p90": 42.0, + "n": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "mean": 40.4, + "median": 40.1, + "p10": 34.9, + "p25": 37.8, + "p75": 43.7, + "p90": 45.8, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "mean": 39.4, + "median": 38.9, + "p10": 34.5, + "p25": 36.6, + "p75": 42.5, + "p90": 44.6, + "n": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "mean": 45.1, + "median": 46.0, + "p10": 38.2, + "p25": 42.5, + "p75": 48.4, + "p90": 51.2, + "n": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "mean": 40.4, + "median": 41.3, + "p10": 33.3, + "p25": 35.4, + "p75": 44.8, + "p90": 47.0, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "mean": 35.6, + "median": 34.2, + "p10": 29.0, + "p25": 31.9, + "p75": 40.1, + "p90": 43.0, + "n": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "mean": 41.1, + "median": 40.1, + "p10": 34.9, + "p25": 37.8, + "p75": 43.7, + "p90": 47.9, + "n": 5, + "total_kg_days": 1131000.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_washed_bourbon", + "label": "Raw Material Dwell: Washed Bourbon", + "type": "raw_material_dwell", + "material": "90000100003", + "plant": "PL-A", + "stats": { + "n": 70, + "mean": 51.8, + "median": 48.4, + "std": 22.5, + "min": 4.7, + "max": 135.7, + "p25": 40.5, + "p75": 59.0, + "p85": 63.7, + "p95": 96.6 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 95.7, + "cost": { + "unit_price": 6.49, + "currency": "CHF", + "mean_qty": 2800.0, + "monthly": [ + { + "month": "2022-06", + "n_events": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "n_events": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "n_events": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "n_events": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "n_events": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "n_events": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 568400.0 + } + ] + }, + "observations": [ + { + "date": "2022-06-05", + "value": 47.2 + }, + { + "date": "2022-06-15", + "value": 26.0 + }, + { + "date": "2022-06-25", + "value": 80.2 + }, + { + "date": "2023-03-08", + "value": 4.7 + }, + { + "date": "2023-03-15", + "value": 64.9 + }, + { + "date": "2023-03-22", + "value": 135.7 + }, + { + "date": "2023-03-29", + "value": 35.4 + }, + { + "date": "2023-11-06", + "value": 73.2 + }, + { + "date": "2023-11-13", + "value": 21.2 + }, + { + "date": "2023-11-20", + "value": 100.3 + }, + { + "date": "2024-06-03", + "value": 41.3 + }, + { + "date": "2024-06-10", + "value": 85.0 + }, + { + "date": "2024-06-17", + "value": 11.8 + }, + { + "date": "2024-06-24", + "value": 56.6 + }, + { + "date": "2024-06-30", + "value": 112.1 + }, + { + "date": "2025-01-07", + "value": 33.0 + }, + { + "date": "2025-01-14", + "value": 61.4 + }, + { + "date": "2025-01-21", + "value": 17.7 + }, + { + "date": "2025-01-28", + "value": 92.0 + }, + { + "date": "2025-08-04", + "value": 49.6 + }, + { + "date": "2025-08-08", + "value": 9.4 + }, + { + "date": "2025-08-12", + "value": 76.7 + }, + { + "date": "2025-08-16", + "value": 38.9 + }, + { + "date": "2025-08-20", + "value": 118.0 + }, + { + "date": "2025-08-24", + "value": 23.6 + }, + { + "date": "2025-09-06", + "value": 48.4 + }, + { + "date": "2025-09-12", + "value": 53.1 + }, + { + "date": "2025-09-18", + "value": 56.6 + }, + { + "date": "2025-09-24", + "value": 61.4 + }, + { + "date": "2025-09-30", + "value": 40.1 + }, + { + "date": "2025-10-04", + "value": 47.2 + }, + { + "date": "2025-10-10", + "value": 51.9 + }, + { + "date": "2025-10-16", + "value": 56.6 + }, + { + "date": "2025-10-22", + "value": 35.4 + }, + { + "date": "2025-10-28", + "value": 40.1 + }, + { + "date": "2025-11-05", + "value": 59.0 + }, + { + "date": "2025-11-11", + "value": 63.7 + }, + { + "date": "2025-11-17", + "value": 42.5 + }, + { + "date": "2025-11-23", + "value": 48.4 + }, + { + "date": "2025-11-29", + "value": 51.9 + }, + { + "date": "2025-12-06", + "value": 59.0 + }, + { + "date": "2025-12-12", + "value": 37.8 + }, + { + "date": "2025-12-18", + "value": 42.5 + }, + { + "date": "2025-12-24", + "value": 46.0 + }, + { + "date": "2025-12-30", + "value": 50.7 + }, + { + "date": "2026-01-04", + "value": 33.0 + }, + { + "date": "2026-01-10", + "value": 37.8 + }, + { + "date": "2026-01-16", + "value": 41.3 + }, + { + "date": "2026-01-22", + "value": 44.8 + }, + { + "date": "2026-01-28", + "value": 49.6 + }, + { + "date": "2026-02-05", + "value": 46.0 + }, + { + "date": "2026-02-11", + "value": 48.4 + }, + { + "date": "2026-02-17", + "value": 53.1 + }, + { + "date": "2026-02-23", + "value": 56.6 + }, + { + "date": "2026-02-29", + "value": 61.4 + }, + { + "date": "2026-03-06", + "value": 43.7 + }, + { + "date": "2026-03-12", + "value": 47.2 + }, + { + "date": "2026-03-18", + "value": 51.9 + }, + { + "date": "2026-03-24", + "value": 56.6 + }, + { + "date": "2026-03-30", + "value": 35.4 + }, + { + "date": "2026-04-04", + "value": 55.5 + }, + { + "date": "2026-04-10", + "value": 59.0 + }, + { + "date": "2026-04-16", + "value": 63.7 + }, + { + "date": "2026-04-22", + "value": 42.5 + }, + { + "date": "2026-04-28", + "value": 48.4 + }, + { + "date": "2026-05-05", + "value": 54.3 + }, + { + "date": "2026-05-11", + "value": 59.0 + }, + { + "date": "2026-05-17", + "value": 37.8 + }, + { + "date": "2026-05-23", + "value": 42.5 + }, + { + "date": "2026-05-29", + "value": 46.0 + } + ], + "monthly": [ + { + "month": "2022-06", + "mean": 51.1, + "median": 47.2, + "p10": 30.2, + "p25": 36.6, + "p75": 63.7, + "p90": 73.6, + "n": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "mean": 60.2, + "median": 50.1, + "p10": 13.9, + "p25": 27.7, + "p75": 82.6, + "p90": 114.5, + "n": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "mean": 64.9, + "median": 73.2, + "p10": 31.6, + "p25": 47.2, + "p75": 86.7, + "p90": 94.9, + "n": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "mean": 61.4, + "median": 56.6, + "p10": 23.6, + "p25": 41.3, + "p75": 85.0, + "p90": 101.2, + "n": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "mean": 51.1, + "median": 47.2, + "p10": 22.3, + "p25": 29.3, + "p75": 69.0, + "p90": 82.8, + "n": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "mean": 52.7, + "median": 44.2, + "p10": 16.5, + "p25": 27.5, + "p75": 70.0, + "p90": 97.3, + "n": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "mean": 51.9, + "median": 53.1, + "p10": 43.4, + "p25": 48.4, + "p75": 56.6, + "p90": 59.5, + "n": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "mean": 46.3, + "median": 47.2, + "p10": 37.3, + "p25": 40.1, + "p75": 51.9, + "p90": 54.8, + "n": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "mean": 53.1, + "median": 51.9, + "p10": 44.8, + "p25": 48.4, + "p75": 59.0, + "p90": 61.8, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "mean": 47.2, + "median": 46.0, + "p10": 39.6, + "p25": 42.5, + "p75": 50.7, + "p90": 55.7, + "n": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "mean": 41.3, + "median": 41.3, + "p10": 34.9, + "p25": 37.8, + "p75": 44.8, + "p90": 47.7, + "n": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "mean": 53.1, + "median": 53.1, + "p10": 47.0, + "p25": 48.4, + "p75": 56.6, + "p90": 59.5, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "mean": 47.0, + "median": 47.2, + "p10": 38.7, + "p25": 43.7, + "p75": 51.9, + "p90": 54.8, + "n": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "mean": 53.8, + "median": 55.5, + "p10": 44.8, + "p25": 48.4, + "p75": 59.0, + "p90": 61.8, + "n": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "mean": 47.9, + "median": 46.0, + "p10": 39.6, + "p25": 42.5, + "p75": 54.3, + "p90": 57.1, + "n": 5, + "total_kg_days": 568400.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "prod_duration_green_blend", + "label": "Production: Green Blend", + "type": "production", + "material": "90000200001", + "plant": "PL-A", + "stats": { + "n": 50, + "mean": 5.2, + "median": 4.7, + "std": 2.1, + "min": 1.2, + "max": 16.5, + "p25": 3.9, + "p75": 5.9, + "p85": 5.9, + "p95": 7.8 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 10.0, + "cost": null, + "observations": [ + { + "date": "2022-04-18", + "value": 3.5 + }, + { + "date": "2022-07-05", + "value": 5.9 + }, + { + "date": "2022-10-12", + "value": 2.4 + }, + { + "date": "2023-01-20", + "value": 8.3 + }, + { + "date": "2023-04-15", + "value": 4.7 + }, + { + "date": "2023-07-28", + "value": 7.1 + }, + { + "date": "2023-10-05", + "value": 3.5 + }, + { + "date": "2024-01-12", + "value": 16.5 + }, + { + "date": "2024-04-22", + "value": 4.7 + }, + { + "date": "2024-07-10", + "value": 9.4 + }, + { + "date": "2024-10-18", + "value": 3.5 + }, + { + "date": "2025-01-25", + "value": 5.9 + }, + { + "date": "2025-05-08", + "value": 1.2 + }, + { + "date": "2025-08-15", + "value": 7.1 + }, + { + "date": "2025-09-04", + "value": 3.5 + }, + { + "date": "2025-09-10", + "value": 4.7 + }, + { + "date": "2025-09-16", + "value": 4.7 + }, + { + "date": "2025-09-22", + "value": 4.7 + }, + { + "date": "2025-10-05", + "value": 3.5 + }, + { + "date": "2025-10-11", + "value": 4.7 + }, + { + "date": "2025-10-17", + "value": 4.7 + }, + { + "date": "2025-10-23", + "value": 4.7 + }, + { + "date": "2025-11-06", + "value": 4.7 + }, + { + "date": "2025-11-12", + "value": 5.9 + }, + { + "date": "2025-11-18", + "value": 5.9 + }, + { + "date": "2025-11-24", + "value": 5.9 + }, + { + "date": "2025-12-04", + "value": 4.7 + }, + { + "date": "2025-12-10", + "value": 5.9 + }, + { + "date": "2025-12-16", + "value": 5.9 + }, + { + "date": "2025-12-22", + "value": 3.5 + }, + { + "date": "2026-01-05", + "value": 4.7 + }, + { + "date": "2026-01-11", + "value": 5.9 + }, + { + "date": "2026-01-17", + "value": 3.5 + }, + { + "date": "2026-01-23", + "value": 3.5 + }, + { + "date": "2026-02-06", + "value": 5.9 + }, + { + "date": "2026-02-12", + "value": 3.5 + }, + { + "date": "2026-02-18", + "value": 4.7 + }, + { + "date": "2026-02-24", + "value": 4.7 + }, + { + "date": "2026-03-04", + "value": 3.5 + }, + { + "date": "2026-03-10", + "value": 3.5 + }, + { + "date": "2026-03-16", + "value": 4.7 + }, + { + "date": "2026-03-22", + "value": 4.7 + }, + { + "date": "2026-04-05", + "value": 4.7 + }, + { + "date": "2026-04-11", + "value": 4.7 + }, + { + "date": "2026-04-17", + "value": 5.9 + }, + { + "date": "2026-04-23", + "value": 5.9 + }, + { + "date": "2026-05-06", + "value": 4.7 + }, + { + "date": "2026-05-12", + "value": 4.7 + }, + { + "date": "2026-05-18", + "value": 5.9 + }, + { + "date": "2026-05-24", + "value": 5.9 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2022-07", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2023-01", + "mean": 8.3, + "median": 8.3, + "p10": 8.3, + "p25": 8.3, + "p75": 8.3, + "p90": 8.3, + "n": 1 + }, + { + "month": "2023-04", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2023-07", + "mean": 7.1, + "median": 7.1, + "p10": 7.1, + "p25": 7.1, + "p75": 7.1, + "p90": 7.1, + "n": 1 + }, + { + "month": "2023-10", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 16.5, + "median": 16.5, + "p10": 16.5, + "p25": 16.5, + "p75": 16.5, + "p90": 16.5, + "n": 1 + }, + { + "month": "2024-04", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2024-07", + "mean": 9.4, + "median": 9.4, + "p10": 9.4, + "p25": 9.4, + "p75": 9.4, + "p90": 9.4, + "n": 1 + }, + { + "month": "2024-10", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2025-01", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2025-05", + "mean": 1.2, + "median": 1.2, + "p10": 1.2, + "p25": 1.2, + "p75": 1.2, + "p90": 1.2, + "n": 1 + }, + { + "month": "2025-08", + "mean": 7.1, + "median": 7.1, + "p10": 7.1, + "p25": 7.1, + "p75": 7.1, + "p90": 7.1, + "n": 1 + }, + { + "month": "2025-09", + "mean": 4.5, + "median": 4.7, + "p10": 3.9, + "p25": 4.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2025-10", + "mean": 4.5, + "median": 4.7, + "p10": 3.9, + "p25": 4.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2025-11", + "mean": 5.7, + "median": 5.9, + "p10": 5.1, + "p25": 5.7, + "p75": 5.9, + "p90": 5.9, + "n": 4 + }, + { + "month": "2025-12", + "mean": 5.1, + "median": 5.3, + "p10": 3.9, + "p25": 4.5, + "p75": 5.9, + "p90": 5.9, + "n": 4 + }, + { + "month": "2026-01", + "mean": 4.5, + "median": 4.1, + "p10": 3.5, + "p25": 3.5, + "p75": 5.1, + "p90": 5.5, + "n": 4 + }, + { + "month": "2026-02", + "mean": 4.7, + "median": 4.7, + "p10": 3.9, + "p25": 4.5, + "p75": 5.1, + "p90": 5.5, + "n": 4 + }, + { + "month": "2026-03", + "mean": 4.1, + "median": 4.1, + "p10": 3.5, + "p25": 3.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2026-04", + "mean": 5.3, + "median": 5.3, + "p10": 4.7, + "p25": 4.7, + "p75": 5.9, + "p90": 5.9, + "n": 4 + }, + { + "month": "2026-05", + "mean": 5.3, + "median": 5.3, + "p10": 4.7, + "p25": 4.7, + "p75": 5.9, + "p90": 5.9, + "n": 4 + } + ], + "n_batches": 50, + "n_movements": null, + "yield_summary": { + "median": 98.5, + "mean": 97.2, + "reference": 100.0, + "n": 50 + }, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 0.9, + "mean_slack": 5.1, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 0.9 + }, + "direct": { + "binding_share": 0.9, + "mean_slack": 7.2, + "next_bottleneck_days": 27.4, + "expected_marginal_per_day": 0.9 + }, + "hub-1": { + "binding_share": 0.9, + "mean_slack": 2.0, + "next_bottleneck_days": 31.3, + "expected_marginal_per_day": 0.9 + } + } + }, + { + "id": "intermed_dwell_green_blend", + "label": "Intermediate Dwell: Green Blend", + "type": "intermediate_dwell", + "material": "90000200001", + "plant": "PL-A", + "stats": { + "n": 73, + "mean": 20.5, + "median": 18.9, + "std": 10.6, + "min": 2.4, + "max": 64.9, + "p25": 15.3, + "p75": 22.4, + "p85": 24.1, + "p95": 43.7 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 87.7, + "cost": { + "unit_price": 14.75, + "currency": "CHF", + "mean_qty": 3200.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "n_events": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "n_events": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "n_events": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "n_events": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "n_events": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "n_events": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 249600.0 + } + ] + }, + "observations": [ + { + "date": "2022-05-05", + "value": 14.2 + }, + { + "date": "2022-05-15", + "value": 29.5 + }, + { + "date": "2022-05-22", + "value": 9.4 + }, + { + "date": "2022-11-03", + "value": 41.3 + }, + { + "date": "2022-11-10", + "value": 17.7 + }, + { + "date": "2022-11-18", + "value": 5.9 + }, + { + "date": "2022-11-25", + "value": 26.0 + }, + { + "date": "2023-05-08", + "value": 21.2 + }, + { + "date": "2023-05-15", + "value": 47.2 + }, + { + "date": "2023-05-22", + "value": 11.8 + }, + { + "date": "2023-11-06", + "value": 64.9 + }, + { + "date": "2023-11-13", + "value": 2.4 + }, + { + "date": "2023-11-20", + "value": 33.0 + }, + { + "date": "2023-11-27", + "value": 17.7 + }, + { + "date": "2023-11-30", + "value": 9.4 + }, + { + "date": "2024-05-06", + "value": 23.6 + }, + { + "date": "2024-05-13", + "value": 53.1 + }, + { + "date": "2024-05-20", + "value": 14.2 + }, + { + "date": "2024-05-27", + "value": 3.5 + }, + { + "date": "2024-11-04", + "value": 21.2 + }, + { + "date": "2024-11-11", + "value": 35.4 + }, + { + "date": "2024-11-18", + "value": 9.4 + }, + { + "date": "2025-05-05", + "value": 26.0 + }, + { + "date": "2025-05-09", + "value": 41.3 + }, + { + "date": "2025-05-13", + "value": 5.9 + }, + { + "date": "2025-05-17", + "value": 17.7 + }, + { + "date": "2025-05-21", + "value": 49.6 + }, + { + "date": "2025-05-25", + "value": 11.8 + }, + { + "date": "2025-09-05", + "value": 16.5 + }, + { + "date": "2025-09-11", + "value": 18.9 + }, + { + "date": "2025-09-17", + "value": 20.1 + }, + { + "date": "2025-09-23", + "value": 21.2 + }, + { + "date": "2025-09-29", + "value": 22.4 + }, + { + "date": "2025-10-06", + "value": 16.5 + }, + { + "date": "2025-10-12", + "value": 17.7 + }, + { + "date": "2025-10-18", + "value": 18.9 + }, + { + "date": "2025-10-24", + "value": 21.2 + }, + { + "date": "2025-10-30", + "value": 13.0 + }, + { + "date": "2025-11-04", + "value": 21.2 + }, + { + "date": "2025-11-10", + "value": 22.4 + }, + { + "date": "2025-11-16", + "value": 23.6 + }, + { + "date": "2025-11-22", + "value": 16.5 + }, + { + "date": "2025-11-28", + "value": 17.7 + }, + { + "date": "2025-12-05", + "value": 20.1 + }, + { + "date": "2025-12-11", + "value": 22.4 + }, + { + "date": "2025-12-17", + "value": 14.2 + }, + { + "date": "2025-12-23", + "value": 16.5 + }, + { + "date": "2025-12-29", + "value": 17.7 + }, + { + "date": "2026-01-06", + "value": 20.1 + }, + { + "date": "2026-01-12", + "value": 13.0 + }, + { + "date": "2026-01-18", + "value": 14.2 + }, + { + "date": "2026-01-24", + "value": 15.3 + }, + { + "date": "2026-01-30", + "value": 16.5 + }, + { + "date": "2026-02-04", + "value": 15.3 + }, + { + "date": "2026-02-10", + "value": 16.5 + }, + { + "date": "2026-02-16", + "value": 18.9 + }, + { + "date": "2026-02-22", + "value": 20.1 + }, + { + "date": "2026-02-28", + "value": 21.2 + }, + { + "date": "2026-03-05", + "value": 15.3 + }, + { + "date": "2026-03-11", + "value": 16.5 + }, + { + "date": "2026-03-17", + "value": 17.7 + }, + { + "date": "2026-03-23", + "value": 18.9 + }, + { + "date": "2026-03-29", + "value": 21.2 + }, + { + "date": "2026-04-06", + "value": 18.9 + }, + { + "date": "2026-04-12", + "value": 21.2 + }, + { + "date": "2026-04-18", + "value": 22.4 + }, + { + "date": "2026-04-24", + "value": 23.6 + }, + { + "date": "2026-04-30", + "value": 16.5 + }, + { + "date": "2026-05-04", + "value": 18.9 + }, + { + "date": "2026-05-10", + "value": 20.1 + }, + { + "date": "2026-05-16", + "value": 22.4 + }, + { + "date": "2026-05-22", + "value": 14.2 + }, + { + "date": "2026-05-28", + "value": 16.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 17.7, + "median": 14.2, + "p10": 10.4, + "p25": 11.8, + "p75": 21.8, + "p90": 26.4, + "n": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "mean": 22.8, + "median": 21.8, + "p10": 9.4, + "p25": 14.8, + "p75": 29.9, + "p90": 36.7, + "n": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "mean": 26.8, + "median": 21.2, + "p10": 13.7, + "p25": 16.5, + "p75": 34.2, + "p90": 42.0, + "n": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "mean": 25.5, + "median": 17.7, + "p10": 5.2, + "p25": 9.4, + "p75": 33.0, + "p90": 52.2, + "n": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "mean": 23.6, + "median": 18.9, + "p10": 6.7, + "p25": 11.6, + "p75": 31.0, + "p90": 44.2, + "n": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "mean": 22.1, + "median": 21.2, + "p10": 11.8, + "p25": 15.3, + "p75": 28.3, + "p90": 32.6, + "n": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "mean": 25.4, + "median": 21.8, + "p10": 8.8, + "p25": 13.3, + "p75": 37.5, + "p90": 45.4, + "n": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "mean": 19.8, + "median": 20.1, + "p10": 17.5, + "p25": 18.9, + "p75": 21.2, + "p90": 21.9, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "mean": 17.5, + "median": 17.7, + "p10": 14.4, + "p25": 16.5, + "p75": 18.9, + "p90": 20.3, + "n": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "mean": 20.3, + "median": 21.2, + "p10": 17.0, + "p25": 17.7, + "p75": 22.4, + "p90": 23.1, + "n": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "mean": 18.2, + "median": 17.7, + "p10": 15.1, + "p25": 16.5, + "p75": 20.1, + "p90": 21.5, + "n": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "mean": 15.8, + "median": 15.3, + "p10": 13.5, + "p25": 14.2, + "p75": 16.5, + "p90": 18.6, + "n": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "mean": 18.4, + "median": 18.9, + "p10": 15.8, + "p25": 16.5, + "p75": 20.1, + "p90": 20.8, + "n": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "mean": 17.9, + "median": 17.7, + "p10": 15.8, + "p25": 16.5, + "p75": 18.9, + "p90": 20.3, + "n": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "mean": 20.5, + "median": 21.2, + "p10": 17.5, + "p25": 18.9, + "p75": 22.4, + "p90": 23.1, + "n": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "mean": 18.4, + "median": 18.9, + "p10": 15.1, + "p25": 16.5, + "p75": 20.1, + "p90": 21.5, + "n": 5, + "total_kg_days": 249600.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 0.9, + "mean_slack": 5.1, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 0.9 + }, + "direct": { + "binding_share": 0.9, + "mean_slack": 7.2, + "next_bottleneck_days": 27.4, + "expected_marginal_per_day": 0.9 + }, + "hub-1": { + "binding_share": 0.9, + "mean_slack": 2.0, + "next_bottleneck_days": 31.3, + "expected_marginal_per_day": 0.9 + } + } + }, + { + "id": "prod_duration_harbor_dark_roast", + "label": "Production: Harbor Dark Roast", + "type": "production", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 58, + "mean": 3.8, + "median": 3.5, + "std": 1.7, + "min": 0.0, + "max": 11.8, + "p25": 3.5, + "p75": 4.7, + "p85": 4.7, + "p95": 6.1 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 5.2, + "cost": null, + "observations": [ + { + "date": "2022-05-20", + "value": 2.4 + }, + { + "date": "2022-06-10", + "value": 3.5 + }, + { + "date": "2022-07-15", + "value": 1.2 + }, + { + "date": "2022-08-22", + "value": 4.7 + }, + { + "date": "2022-10-05", + "value": 2.4 + }, + { + "date": "2022-11-18", + "value": 5.9 + }, + { + "date": "2023-01-10", + "value": 3.5 + }, + { + "date": "2023-03-25", + "value": 8.3 + }, + { + "date": "2023-05-12", + "value": 2.4 + }, + { + "date": "2023-07-08", + "value": 4.7 + }, + { + "date": "2023-09-15", + "value": 1.2 + }, + { + "date": "2023-11-22", + "value": 3.5 + }, + { + "date": "2024-01-18", + "value": 11.8 + }, + { + "date": "2024-03-08", + "value": 3.5 + }, + { + "date": "2024-05-15", + "value": 2.4 + }, + { + "date": "2024-07-22", + "value": 5.9 + }, + { + "date": "2024-09-10", + "value": 0.0 + }, + { + "date": "2024-11-05", + "value": 4.7 + }, + { + "date": "2025-01-15", + "value": 3.5 + }, + { + "date": "2025-03-20", + "value": 2.4 + }, + { + "date": "2025-05-28", + "value": 7.1 + }, + { + "date": "2025-08-05", + "value": 3.5 + }, + { + "date": "2025-09-05", + "value": 4.7 + }, + { + "date": "2025-09-11", + "value": 4.7 + }, + { + "date": "2025-09-17", + "value": 3.5 + }, + { + "date": "2025-09-23", + "value": 3.5 + }, + { + "date": "2025-10-06", + "value": 4.7 + }, + { + "date": "2025-10-12", + "value": 2.4 + }, + { + "date": "2025-10-18", + "value": 3.5 + }, + { + "date": "2025-10-24", + "value": 3.5 + }, + { + "date": "2025-11-04", + "value": 2.4 + }, + { + "date": "2025-11-10", + "value": 2.4 + }, + { + "date": "2025-11-16", + "value": 3.5 + }, + { + "date": "2025-11-22", + "value": 3.5 + }, + { + "date": "2025-12-05", + "value": 3.5 + }, + { + "date": "2025-12-11", + "value": 3.5 + }, + { + "date": "2025-12-17", + "value": 3.5 + }, + { + "date": "2025-12-23", + "value": 4.7 + }, + { + "date": "2026-01-06", + "value": 3.5 + }, + { + "date": "2026-01-12", + "value": 3.5 + }, + { + "date": "2026-01-18", + "value": 3.5 + }, + { + "date": "2026-01-24", + "value": 4.7 + }, + { + "date": "2026-02-04", + "value": 4.7 + }, + { + "date": "2026-02-10", + "value": 4.7 + }, + { + "date": "2026-02-16", + "value": 4.7 + }, + { + "date": "2026-02-22", + "value": 3.5 + }, + { + "date": "2026-03-05", + "value": 3.5 + }, + { + "date": "2026-03-11", + "value": 4.7 + }, + { + "date": "2026-03-17", + "value": 2.4 + }, + { + "date": "2026-03-23", + "value": 3.5 + }, + { + "date": "2026-04-06", + "value": 3.5 + }, + { + "date": "2026-04-12", + "value": 2.4 + }, + { + "date": "2026-04-18", + "value": 2.4 + }, + { + "date": "2026-04-24", + "value": 3.5 + }, + { + "date": "2026-05-04", + "value": 3.5 + }, + { + "date": "2026-05-10", + "value": 3.5 + }, + { + "date": "2026-05-16", + "value": 3.5 + }, + { + "date": "2026-05-22", + "value": 3.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2022-06", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2022-07", + "mean": 1.2, + "median": 1.2, + "p10": 1.2, + "p25": 1.2, + "p75": 1.2, + "p90": 1.2, + "n": 1 + }, + { + "month": "2022-08", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2022-11", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2023-01", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2023-03", + "mean": 8.3, + "median": 8.3, + "p10": 8.3, + "p25": 8.3, + "p75": 8.3, + "p90": 8.3, + "n": 1 + }, + { + "month": "2023-05", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2023-07", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2023-09", + "mean": 1.2, + "median": 1.2, + "p10": 1.2, + "p25": 1.2, + "p75": 1.2, + "p90": 1.2, + "n": 1 + }, + { + "month": "2023-11", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 11.8, + "median": 11.8, + "p10": 11.8, + "p25": 11.8, + "p75": 11.8, + "p90": 11.8, + "n": 1 + }, + { + "month": "2024-03", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2024-05", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2024-07", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2024-09", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2025-01", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2025-03", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2025-05", + "mean": 7.1, + "median": 7.1, + "p10": 7.1, + "p25": 7.1, + "p75": 7.1, + "p90": 7.1, + "n": 1 + }, + { + "month": "2025-08", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2025-09", + "mean": 4.1, + "median": 4.1, + "p10": 3.5, + "p25": 3.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2025-10", + "mean": 3.5, + "median": 3.5, + "p10": 2.7, + "p25": 3.3, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2025-11", + "mean": 2.9, + "median": 2.9, + "p10": 2.4, + "p25": 2.4, + "p75": 3.5, + "p90": 3.5, + "n": 4 + }, + { + "month": "2025-12", + "mean": 3.9, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2026-01", + "mean": 3.9, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2026-02", + "mean": 4.5, + "median": 4.7, + "p10": 3.9, + "p25": 4.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2026-03", + "mean": 3.5, + "median": 3.5, + "p10": 2.7, + "p25": 3.3, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2026-04", + "mean": 2.9, + "median": 2.9, + "p10": 2.4, + "p25": 2.4, + "p75": 3.5, + "p90": 3.5, + "n": 4 + }, + { + "month": "2026-05", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 4 + } + ], + "n_batches": 58, + "n_movements": null, + "yield_summary": { + "median": 99.2, + "mean": 98.5, + "reference": 100.0, + "n": 58 + }, + "consumption_summary": { + "median_variance": 2.1, + "mean_variance": 3.4, + "n_components": 3, + "n": 58 + }, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 4.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 3.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 4.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "prod_to_qa_pla", + "label": "Production \u2192 QA Release (PL-A)", + "type": "qa_hold", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 58, + "mean": 4.0, + "median": 3.5, + "std": 2.1, + "min": 0.0, + "max": 15.3, + "p25": 3.5, + "p75": 4.7, + "p85": 4.7, + "p95": 7.3 + }, + "plifz": 5, + "plifz_note": "WEBAZ (GR processing days)", + "pct_exceeding_plifz": 6.9, + "cost": null, + "observations": [ + { + "date": "2022-05-22", + "value": 2.4 + }, + { + "date": "2022-06-13", + "value": 1.2 + }, + { + "date": "2022-07-16", + "value": 3.5 + }, + { + "date": "2022-08-26", + "value": 2.4 + }, + { + "date": "2022-10-07", + "value": 5.9 + }, + { + "date": "2022-11-23", + "value": 2.4 + }, + { + "date": "2023-01-13", + "value": 4.7 + }, + { + "date": "2023-04-01", + "value": 3.5 + }, + { + "date": "2023-05-14", + "value": 7.1 + }, + { + "date": "2023-07-12", + "value": 2.4 + }, + { + "date": "2023-09-16", + "value": 15.3 + }, + { + "date": "2023-11-25", + "value": 3.5 + }, + { + "date": "2024-01-28", + "value": 8.3 + }, + { + "date": "2024-03-11", + "value": 1.2 + }, + { + "date": "2024-05-17", + "value": 4.7 + }, + { + "date": "2024-07-27", + "value": 5.9 + }, + { + "date": "2024-09-10", + "value": 2.4 + }, + { + "date": "2024-11-09", + "value": 0.0 + }, + { + "date": "2025-01-18", + "value": 3.5 + }, + { + "date": "2025-03-22", + "value": 9.4 + }, + { + "date": "2025-06-03", + "value": 2.4 + }, + { + "date": "2025-08-08", + "value": 5.9 + }, + { + "date": "2025-09-04", + "value": 2.4 + }, + { + "date": "2025-09-10", + "value": 3.5 + }, + { + "date": "2025-09-16", + "value": 3.5 + }, + { + "date": "2025-09-22", + "value": 3.5 + }, + { + "date": "2025-10-05", + "value": 3.5 + }, + { + "date": "2025-10-11", + "value": 3.5 + }, + { + "date": "2025-10-17", + "value": 4.7 + }, + { + "date": "2025-10-23", + "value": 4.7 + }, + { + "date": "2025-11-06", + "value": 3.5 + }, + { + "date": "2025-11-12", + "value": 3.5 + }, + { + "date": "2025-11-18", + "value": 3.5 + }, + { + "date": "2025-11-24", + "value": 4.7 + }, + { + "date": "2025-12-04", + "value": 3.5 + }, + { + "date": "2025-12-10", + "value": 3.5 + }, + { + "date": "2025-12-16", + "value": 3.5 + }, + { + "date": "2025-12-22", + "value": 2.4 + }, + { + "date": "2026-01-05", + "value": 4.7 + }, + { + "date": "2026-01-11", + "value": 4.7 + }, + { + "date": "2026-01-17", + "value": 3.5 + }, + { + "date": "2026-01-23", + "value": 3.5 + }, + { + "date": "2026-02-06", + "value": 4.7 + }, + { + "date": "2026-02-12", + "value": 2.4 + }, + { + "date": "2026-02-18", + "value": 3.5 + }, + { + "date": "2026-02-24", + "value": 3.5 + }, + { + "date": "2026-03-04", + "value": 3.5 + }, + { + "date": "2026-03-10", + "value": 3.5 + }, + { + "date": "2026-03-16", + "value": 3.5 + }, + { + "date": "2026-03-22", + "value": 4.7 + }, + { + "date": "2026-04-05", + "value": 3.5 + }, + { + "date": "2026-04-11", + "value": 3.5 + }, + { + "date": "2026-04-17", + "value": 3.5 + }, + { + "date": "2026-04-23", + "value": 3.5 + }, + { + "date": "2026-05-06", + "value": 3.5 + }, + { + "date": "2026-05-12", + "value": 3.5 + }, + { + "date": "2026-05-18", + "value": 3.5 + }, + { + "date": "2026-05-24", + "value": 3.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2022-06", + "mean": 1.2, + "median": 1.2, + "p10": 1.2, + "p25": 1.2, + "p75": 1.2, + "p90": 1.2, + "n": 1 + }, + { + "month": "2022-07", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2022-08", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2022-10", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2022-11", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2023-01", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2023-04", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2023-05", + "mean": 7.1, + "median": 7.1, + "p10": 7.1, + "p25": 7.1, + "p75": 7.1, + "p90": 7.1, + "n": 1 + }, + { + "month": "2023-07", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2023-09", + "mean": 15.3, + "median": 15.3, + "p10": 15.3, + "p25": 15.3, + "p75": 15.3, + "p90": 15.3, + "n": 1 + }, + { + "month": "2023-11", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 8.3, + "median": 8.3, + "p10": 8.3, + "p25": 8.3, + "p75": 8.3, + "p90": 8.3, + "n": 1 + }, + { + "month": "2024-03", + "mean": 1.2, + "median": 1.2, + "p10": 1.2, + "p25": 1.2, + "p75": 1.2, + "p90": 1.2, + "n": 1 + }, + { + "month": "2024-05", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2024-07", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2024-09", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2024-11", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2025-03", + "mean": 9.4, + "median": 9.4, + "p10": 9.4, + "p25": 9.4, + "p75": 9.4, + "p90": 9.4, + "n": 1 + }, + { + "month": "2025-06", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2025-08", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2025-09", + "mean": 3.3, + "median": 3.5, + "p10": 2.7, + "p25": 3.3, + "p75": 3.5, + "p90": 3.5, + "n": 4 + }, + { + "month": "2025-10", + "mean": 4.1, + "median": 4.1, + "p10": 3.5, + "p25": 3.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2025-11", + "mean": 3.9, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2025-12", + "mean": 3.3, + "median": 3.5, + "p10": 2.7, + "p25": 3.3, + "p75": 3.5, + "p90": 3.5, + "n": 4 + }, + { + "month": "2026-01", + "mean": 4.1, + "median": 4.1, + "p10": 3.5, + "p25": 3.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2026-02", + "mean": 3.5, + "median": 3.5, + "p10": 2.7, + "p25": 3.3, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2026-03", + "mean": 3.9, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2026-04", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 4 + }, + { + "month": "2026-05", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 4 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": { + "median": 99.2, + "mean": 98.5, + "reference": 100.0, + "n": 58 + }, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 7.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 7.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 6.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "post_qa_ship_pla", + "label": "Post-QA Dwell (PL-A)", + "type": "post_qa_ship", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 57, + "mean": 15.0, + "median": 14.2, + "std": 6.6, + "min": 2.4, + "max": 49.6, + "p25": 11.8, + "p75": 16.5, + "p85": 17.7, + "p95": 24.1 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "cost": { + "unit_price": 33.63, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2023-03", + "n_events": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "n_events": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "n_events": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 264000.0 + } + ] + }, + "observations": [ + { + "date": "2023-03-10", + "value": 9.4 + }, + { + "date": "2023-03-25", + "value": 26.0 + }, + { + "date": "2023-09-20", + "value": 49.6 + }, + { + "date": "2024-03-15", + "value": 7.1 + }, + { + "date": "2024-03-28", + "value": 21.2 + }, + { + "date": "2024-09-05", + "value": 33.0 + }, + { + "date": "2024-09-15", + "value": 14.2 + }, + { + "date": "2024-09-25", + "value": 2.4 + }, + { + "date": "2025-03-10", + "value": 17.7 + }, + { + "date": "2025-03-22", + "value": 5.9 + }, + { + "date": "2025-07-08", + "value": 23.6 + }, + { + "date": "2025-07-22", + "value": 4.7 + }, + { + "date": "2025-09-05", + "value": 16.5 + }, + { + "date": "2025-09-11", + "value": 17.7 + }, + { + "date": "2025-09-17", + "value": 11.8 + }, + { + "date": "2025-09-23", + "value": 13.0 + }, + { + "date": "2025-09-29", + "value": 14.2 + }, + { + "date": "2025-10-06", + "value": 16.5 + }, + { + "date": "2025-10-12", + "value": 9.4 + }, + { + "date": "2025-10-18", + "value": 11.8 + }, + { + "date": "2025-10-24", + "value": 13.0 + }, + { + "date": "2025-10-30", + "value": 13.0 + }, + { + "date": "2025-11-04", + "value": 11.8 + }, + { + "date": "2025-11-10", + "value": 14.2 + }, + { + "date": "2025-11-16", + "value": 14.2 + }, + { + "date": "2025-11-22", + "value": 15.3 + }, + { + "date": "2025-11-28", + "value": 16.5 + }, + { + "date": "2025-12-05", + "value": 11.8 + }, + { + "date": "2025-12-11", + "value": 13.0 + }, + { + "date": "2025-12-17", + "value": 14.2 + }, + { + "date": "2025-12-23", + "value": 15.3 + }, + { + "date": "2025-12-29", + "value": 16.5 + }, + { + "date": "2026-01-06", + "value": 15.3 + }, + { + "date": "2026-01-12", + "value": 16.5 + }, + { + "date": "2026-01-18", + "value": 17.7 + }, + { + "date": "2026-01-24", + "value": 18.9 + }, + { + "date": "2026-01-30", + "value": 13.0 + }, + { + "date": "2026-02-04", + "value": 15.3 + }, + { + "date": "2026-02-10", + "value": 16.5 + }, + { + "date": "2026-02-16", + "value": 17.7 + }, + { + "date": "2026-02-22", + "value": 11.8 + }, + { + "date": "2026-02-28", + "value": 13.0 + }, + { + "date": "2026-03-05", + "value": 15.3 + }, + { + "date": "2026-03-11", + "value": 16.5 + }, + { + "date": "2026-03-17", + "value": 9.4 + }, + { + "date": "2026-03-23", + "value": 11.8 + }, + { + "date": "2026-03-29", + "value": 13.0 + }, + { + "date": "2026-04-06", + "value": 18.9 + }, + { + "date": "2026-04-12", + "value": 11.8 + }, + { + "date": "2026-04-18", + "value": 14.2 + }, + { + "date": "2026-04-24", + "value": 14.2 + }, + { + "date": "2026-04-30", + "value": 15.3 + }, + { + "date": "2026-05-04", + "value": 10.6 + }, + { + "date": "2026-05-10", + "value": 11.8 + }, + { + "date": "2026-05-16", + "value": 13.0 + }, + { + "date": "2026-05-22", + "value": 14.2 + }, + { + "date": "2026-05-28", + "value": 15.3 + } + ], + "monthly": [ + { + "month": "2023-03", + "mean": 17.7, + "median": 17.7, + "p10": 11.1, + "p25": 13.6, + "p75": 21.8, + "p90": 24.3, + "n": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "mean": 49.6, + "median": 49.6, + "p10": 49.6, + "p25": 49.6, + "p75": 49.6, + "p90": 49.6, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "mean": 14.2, + "median": 14.2, + "p10": 8.5, + "p25": 10.6, + "p75": 17.7, + "p90": 19.8, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "mean": 16.5, + "median": 14.2, + "p10": 4.7, + "p25": 8.3, + "p75": 23.6, + "p90": 29.3, + "n": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "mean": 11.8, + "median": 11.8, + "p10": 7.1, + "p25": 8.8, + "p75": 14.8, + "p90": 16.5, + "n": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "mean": 14.2, + "median": 14.2, + "p10": 6.6, + "p25": 9.4, + "p75": 18.9, + "p90": 21.7, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "mean": 14.6, + "median": 14.2, + "p10": 12.3, + "p25": 13.0, + "p75": 16.5, + "p90": 17.2, + "n": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "mean": 12.7, + "median": 13.0, + "p10": 10.4, + "p25": 11.8, + "p75": 13.0, + "p90": 15.1, + "n": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "mean": 14.4, + "median": 14.2, + "p10": 12.7, + "p25": 14.2, + "p75": 15.3, + "p90": 16.0, + "n": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "mean": 14.2, + "median": 14.2, + "p10": 12.3, + "p25": 13.0, + "p75": 15.3, + "p90": 16.0, + "n": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "mean": 16.3, + "median": 16.5, + "p10": 13.9, + "p25": 15.3, + "p75": 17.7, + "p90": 18.4, + "n": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "mean": 14.9, + "median": 15.3, + "p10": 12.3, + "p25": 13.0, + "p75": 16.5, + "p90": 17.2, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "mean": 13.2, + "median": 13.0, + "p10": 10.4, + "p25": 11.8, + "p75": 15.3, + "p90": 16.0, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "mean": 14.9, + "median": 14.2, + "p10": 12.7, + "p25": 14.2, + "p75": 15.3, + "p90": 17.5, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "mean": 13.0, + "median": 13.0, + "p10": 11.1, + "p25": 11.8, + "p75": 14.2, + "p90": 14.9, + "n": 5, + "total_kg_days": 264000.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "direct_ship_pla", + "label": "Direct-to-Customer Ship", + "type": "transit", + "material": "90000300001", + "plant": "PL-A\u2192Customer", + "stats": { + "n": 35, + "mean": 24.7, + "median": 24.8, + "std": 5.4, + "min": 14.2, + "max": 44.8, + "p25": 21.8, + "p75": 27.1, + "p85": 29.4, + "p95": 31.4 + }, + "plifz": null, + "plifz_note": "No planning parameter set", + "pct_exceeding_plifz": null, + "cost": null, + "observations": [ + { + "date": "2023-04-05", + "value": 21.2 + }, + { + "date": "2023-10-12", + "value": 29.5 + }, + { + "date": "2024-04-08", + "value": 14.2 + }, + { + "date": "2024-09-20", + "value": 44.8 + }, + { + "date": "2024-10-15", + "value": 23.6 + }, + { + "date": "2025-03-25", + "value": 17.7 + }, + { + "date": "2025-04-10", + "value": 33.0 + }, + { + "date": "2025-07-30", + "value": 28.3 + }, + { + "date": "2025-09-04", + "value": 20.1 + }, + { + "date": "2025-09-10", + "value": 22.4 + }, + { + "date": "2025-09-16", + "value": 24.8 + }, + { + "date": "2025-10-05", + "value": 20.1 + }, + { + "date": "2025-10-11", + "value": 22.4 + }, + { + "date": "2025-10-17", + "value": 23.6 + }, + { + "date": "2025-11-06", + "value": 26.0 + }, + { + "date": "2025-11-12", + "value": 27.1 + }, + { + "date": "2025-11-18", + "value": 29.5 + }, + { + "date": "2025-12-04", + "value": 24.8 + }, + { + "date": "2025-12-10", + "value": 27.1 + }, + { + "date": "2025-12-16", + "value": 29.5 + }, + { + "date": "2026-01-05", + "value": 24.8 + }, + { + "date": "2026-01-11", + "value": 27.1 + }, + { + "date": "2026-01-17", + "value": 16.5 + }, + { + "date": "2026-02-06", + "value": 30.7 + }, + { + "date": "2026-02-12", + "value": 20.1 + }, + { + "date": "2026-02-18", + "value": 22.4 + }, + { + "date": "2026-03-04", + "value": 17.7 + }, + { + "date": "2026-03-10", + "value": 20.1 + }, + { + "date": "2026-03-16", + "value": 22.4 + }, + { + "date": "2026-04-05", + "value": 23.6 + }, + { + "date": "2026-04-11", + "value": 26.0 + }, + { + "date": "2026-04-17", + "value": 27.1 + }, + { + "date": "2026-05-06", + "value": 23.6 + }, + { + "date": "2026-05-12", + "value": 24.8 + }, + { + "date": "2026-05-18", + "value": 27.1 + } + ], + "monthly": [ + { + "month": "2023-04", + "mean": 21.2, + "median": 21.2, + "p10": 21.2, + "p25": 21.2, + "p75": 21.2, + "p90": 21.2, + "n": 1 + }, + { + "month": "2023-10", + "mean": 29.5, + "median": 29.5, + "p10": 29.5, + "p25": 29.5, + "p75": 29.5, + "p90": 29.5, + "n": 1 + }, + { + "month": "2024-04", + "mean": 14.2, + "median": 14.2, + "p10": 14.2, + "p25": 14.2, + "p75": 14.2, + "p90": 14.2, + "n": 1 + }, + { + "month": "2024-09", + "mean": 44.8, + "median": 44.8, + "p10": 44.8, + "p25": 44.8, + "p75": 44.8, + "p90": 44.8, + "n": 1 + }, + { + "month": "2024-10", + "mean": 23.6, + "median": 23.6, + "p10": 23.6, + "p25": 23.6, + "p75": 23.6, + "p90": 23.6, + "n": 1 + }, + { + "month": "2025-03", + "mean": 17.7, + "median": 17.7, + "p10": 17.7, + "p25": 17.7, + "p75": 17.7, + "p90": 17.7, + "n": 1 + }, + { + "month": "2025-04", + "mean": 33.0, + "median": 33.0, + "p10": 33.0, + "p25": 33.0, + "p75": 33.0, + "p90": 33.0, + "n": 1 + }, + { + "month": "2025-07", + "mean": 28.3, + "median": 28.3, + "p10": 28.3, + "p25": 28.3, + "p75": 28.3, + "p90": 28.3, + "n": 1 + }, + { + "month": "2025-09", + "mean": 22.4, + "median": 22.4, + "p10": 20.5, + "p25": 21.2, + "p75": 23.6, + "p90": 24.3, + "n": 3 + }, + { + "month": "2025-10", + "mean": 22.1, + "median": 22.4, + "p10": 20.5, + "p25": 21.2, + "p75": 23.0, + "p90": 23.4, + "n": 3 + }, + { + "month": "2025-11", + "mean": 27.5, + "median": 27.1, + "p10": 26.2, + "p25": 26.5, + "p75": 28.3, + "p90": 29.0, + "n": 3 + }, + { + "month": "2025-12", + "mean": 27.1, + "median": 27.1, + "p10": 25.3, + "p25": 26.0, + "p75": 28.3, + "p90": 29.0, + "n": 3 + }, + { + "month": "2026-01", + "mean": 22.8, + "median": 24.8, + "p10": 18.2, + "p25": 20.6, + "p75": 26.0, + "p90": 26.7, + "n": 3 + }, + { + "month": "2026-02", + "mean": 24.4, + "median": 22.4, + "p10": 20.5, + "p25": 21.2, + "p75": 26.5, + "p90": 29.0, + "n": 3 + }, + { + "month": "2026-03", + "mean": 20.1, + "median": 20.1, + "p10": 18.2, + "p25": 18.9, + "p75": 21.2, + "p90": 21.9, + "n": 3 + }, + { + "month": "2026-04", + "mean": 25.6, + "median": 26.0, + "p10": 24.1, + "p25": 24.8, + "p75": 26.5, + "p90": 26.9, + "n": 3 + }, + { + "month": "2026-05", + "mean": 25.1, + "median": 24.8, + "p10": 23.8, + "p25": 24.2, + "p75": 26.0, + "p90": 26.7, + "n": 3 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 22.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 22.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "transit_pla_hub1", + "label": "Transit PL-A \u2192 HUB-1", + "type": "transit", + "material": "90000300001", + "plant": "PL-A\u2192HUB-1", + "stats": { + "n": 42, + "mean": 36.9, + "median": 36.0, + "std": 8.4, + "min": 17.7, + "max": 64.9, + "p25": 31.9, + "p75": 42.5, + "p85": 44.8, + "p95": 49.4 + }, + "plifz": 28, + "plifz_note": null, + "pct_exceeding_plifz": 61.9, + "cost": null, + "observations": [ + { + "date": "2022-07-20", + "value": 33.0 + }, + { + "date": "2022-11-30", + "value": 41.3 + }, + { + "date": "2023-03-15", + "value": 26.0 + }, + { + "date": "2023-07-10", + "value": 49.6 + }, + { + "date": "2023-10-25", + "value": 35.4 + }, + { + "date": "2024-02-08", + "value": 64.9 + }, + { + "date": "2024-05-20", + "value": 29.5 + }, + { + "date": "2024-08-12", + "value": 44.8 + }, + { + "date": "2024-11-05", + "value": 17.7 + }, + { + "date": "2025-01-22", + "value": 37.8 + }, + { + "date": "2025-04-10", + "value": 33.0 + }, + { + "date": "2025-06-18", + "value": 53.1 + }, + { + "date": "2025-07-15", + "value": 35.4 + }, + { + "date": "2025-08-05", + "value": 26.0 + }, + { + "date": "2025-09-05", + "value": 42.5 + }, + { + "date": "2025-09-10", + "value": 44.8 + }, + { + "date": "2025-09-11", + "value": 46.0 + }, + { + "date": "2025-09-17", + "value": 30.7 + }, + { + "date": "2025-10-06", + "value": 42.5 + }, + { + "date": "2025-10-12", + "value": 27.1 + }, + { + "date": "2025-10-18", + "value": 30.7 + }, + { + "date": "2025-11-04", + "value": 31.9 + }, + { + "date": "2025-11-10", + "value": 36.6 + }, + { + "date": "2025-11-16", + "value": 38.9 + }, + { + "date": "2025-12-05", + "value": 31.9 + }, + { + "date": "2025-12-11", + "value": 34.2 + }, + { + "date": "2025-12-17", + "value": 37.8 + }, + { + "date": "2026-01-06", + "value": 30.7 + }, + { + "date": "2026-01-12", + "value": 34.2 + }, + { + "date": "2026-01-18", + "value": 36.6 + }, + { + "date": "2026-02-04", + "value": 38.9 + }, + { + "date": "2026-02-10", + "value": 42.5 + }, + { + "date": "2026-02-16", + "value": 46.0 + }, + { + "date": "2026-03-05", + "value": 38.9 + }, + { + "date": "2026-03-11", + "value": 42.5 + }, + { + "date": "2026-03-17", + "value": 27.1 + }, + { + "date": "2026-04-06", + "value": 47.2 + }, + { + "date": "2026-04-12", + "value": 31.9 + }, + { + "date": "2026-04-18", + "value": 36.6 + }, + { + "date": "2026-05-04", + "value": 28.3 + }, + { + "date": "2026-05-10", + "value": 31.9 + }, + { + "date": "2026-05-16", + "value": 34.2 + } + ], + "monthly": [ + { + "month": "2022-07", + "mean": 33.0, + "median": 33.0, + "p10": 33.0, + "p25": 33.0, + "p75": 33.0, + "p90": 33.0, + "n": 1 + }, + { + "month": "2022-11", + "mean": 41.3, + "median": 41.3, + "p10": 41.3, + "p25": 41.3, + "p75": 41.3, + "p90": 41.3, + "n": 1 + }, + { + "month": "2023-03", + "mean": 26.0, + "median": 26.0, + "p10": 26.0, + "p25": 26.0, + "p75": 26.0, + "p90": 26.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 49.6, + "median": 49.6, + "p10": 49.6, + "p25": 49.6, + "p75": 49.6, + "p90": 49.6, + "n": 1 + }, + { + "month": "2023-10", + "mean": 35.4, + "median": 35.4, + "p10": 35.4, + "p25": 35.4, + "p75": 35.4, + "p90": 35.4, + "n": 1 + }, + { + "month": "2024-02", + "mean": 64.9, + "median": 64.9, + "p10": 64.9, + "p25": 64.9, + "p75": 64.9, + "p90": 64.9, + "n": 1 + }, + { + "month": "2024-05", + "mean": 29.5, + "median": 29.5, + "p10": 29.5, + "p25": 29.5, + "p75": 29.5, + "p90": 29.5, + "n": 1 + }, + { + "month": "2024-08", + "mean": 44.8, + "median": 44.8, + "p10": 44.8, + "p25": 44.8, + "p75": 44.8, + "p90": 44.8, + "n": 1 + }, + { + "month": "2024-11", + "mean": 17.7, + "median": 17.7, + "p10": 17.7, + "p25": 17.7, + "p75": 17.7, + "p90": 17.7, + "n": 1 + }, + { + "month": "2025-01", + "mean": 37.8, + "median": 37.8, + "p10": 37.8, + "p25": 37.8, + "p75": 37.8, + "p90": 37.8, + "n": 1 + }, + { + "month": "2025-04", + "mean": 33.0, + "median": 33.0, + "p10": 33.0, + "p25": 33.0, + "p75": 33.0, + "p90": 33.0, + "n": 1 + }, + { + "month": "2025-06", + "mean": 53.1, + "median": 53.1, + "p10": 53.1, + "p25": 53.1, + "p75": 53.1, + "p90": 53.1, + "n": 1 + }, + { + "month": "2025-07", + "mean": 35.4, + "median": 35.4, + "p10": 35.4, + "p25": 35.4, + "p75": 35.4, + "p90": 35.4, + "n": 1 + }, + { + "month": "2025-08", + "mean": 26.0, + "median": 26.0, + "p10": 26.0, + "p25": 26.0, + "p75": 26.0, + "p90": 26.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 41.1, + "median": 43.7, + "p10": 34.2, + "p25": 39.5, + "p75": 45.2, + "p90": 45.7, + "n": 4 + }, + { + "month": "2025-10", + "mean": 33.4, + "median": 30.7, + "p10": 27.8, + "p25": 28.9, + "p75": 36.6, + "p90": 40.1, + "n": 3 + }, + { + "month": "2025-11", + "mean": 35.8, + "median": 36.6, + "p10": 32.8, + "p25": 34.2, + "p75": 37.8, + "p90": 38.5, + "n": 3 + }, + { + "month": "2025-12", + "mean": 34.6, + "median": 34.2, + "p10": 32.3, + "p25": 33.0, + "p75": 36.0, + "p90": 37.1, + "n": 3 + }, + { + "month": "2026-01", + "mean": 33.9, + "median": 34.2, + "p10": 31.4, + "p25": 32.4, + "p75": 35.4, + "p90": 36.1, + "n": 3 + }, + { + "month": "2026-02", + "mean": 42.5, + "median": 42.5, + "p10": 39.6, + "p25": 40.7, + "p75": 44.2, + "p90": 45.3, + "n": 3 + }, + { + "month": "2026-03", + "mean": 36.2, + "median": 38.9, + "p10": 29.5, + "p25": 33.0, + "p75": 40.7, + "p90": 41.8, + "n": 3 + }, + { + "month": "2026-04", + "mean": 38.6, + "median": 36.6, + "p10": 32.8, + "p25": 34.2, + "p75": 41.9, + "p90": 45.1, + "n": 3 + }, + { + "month": "2026-05", + "mean": 31.5, + "median": 31.9, + "p10": 29.0, + "p25": 30.1, + "p75": 33.0, + "p90": 33.7, + "n": 3 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "dest_dwell_hub1", + "label": "Destination Dwell (HUB-1)", + "type": "destination_dwell", + "material": "90000300001", + "plant": "HUB-1", + "stats": { + "n": 37, + "mean": 53.1, + "median": 51.9, + "std": 16.5, + "min": 11.8, + "max": 112.1, + "p25": 42.5, + "p75": 57.8, + "p85": 62.5, + "p95": 79.8 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "cost": { + "unit_price": 33.63, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2022-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "n_events": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "n_events": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "n_events": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "n_events": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "n_events": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "n_events": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "n_events": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "n_events": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "n_events": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "n_events": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "n_events": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "n_events": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "n_events": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "n_events": 3, + "total_kg_days": 585600.0 + } + ] + }, + "observations": [ + { + "date": "2022-09-15", + "value": 49.6 + }, + { + "date": "2023-05-05", + "value": 76.7 + }, + { + "date": "2023-05-20", + "value": 33.0 + }, + { + "date": "2024-01-10", + "value": 112.1 + }, + { + "date": "2024-01-25", + "value": 41.3 + }, + { + "date": "2024-08-15", + "value": 11.8 + }, + { + "date": "2025-02-05", + "value": 92.0 + }, + { + "date": "2025-02-18", + "value": 64.9 + }, + { + "date": "2025-08-10", + "value": 49.6 + }, + { + "date": "2025-08-20", + "value": 37.8 + }, + { + "date": "2025-09-06", + "value": 46.0 + }, + { + "date": "2025-09-12", + "value": 49.6 + }, + { + "date": "2025-09-18", + "value": 54.3 + }, + { + "date": "2025-10-04", + "value": 57.8 + }, + { + "date": "2025-10-10", + "value": 62.5 + }, + { + "date": "2025-10-16", + "value": 67.3 + }, + { + "date": "2025-11-05", + "value": 56.6 + }, + { + "date": "2025-11-11", + "value": 61.4 + }, + { + "date": "2025-11-17", + "value": 40.1 + }, + { + "date": "2025-12-06", + "value": 56.6 + }, + { + "date": "2025-12-12", + "value": 35.4 + }, + { + "date": "2025-12-18", + "value": 40.1 + }, + { + "date": "2026-01-04", + "value": 42.5 + }, + { + "date": "2026-01-10", + "value": 48.4 + }, + { + "date": "2026-01-16", + "value": 50.7 + }, + { + "date": "2026-02-05", + "value": 42.5 + }, + { + "date": "2026-02-11", + "value": 46.0 + }, + { + "date": "2026-02-17", + "value": 49.6 + }, + { + "date": "2026-03-06", + "value": 54.3 + }, + { + "date": "2026-03-12", + "value": 57.8 + }, + { + "date": "2026-03-18", + "value": 62.5 + }, + { + "date": "2026-04-04", + "value": 53.1 + }, + { + "date": "2026-04-10", + "value": 56.6 + }, + { + "date": "2026-04-16", + "value": 61.4 + }, + { + "date": "2026-05-05", + "value": 51.9 + }, + { + "date": "2026-05-11", + "value": 56.6 + }, + { + "date": "2026-05-17", + "value": 35.4 + } + ], + "monthly": [ + { + "month": "2022-09", + "mean": 49.6, + "median": 49.6, + "p10": 49.6, + "p25": 49.6, + "p75": 49.6, + "p90": 49.6, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "mean": 54.9, + "median": 54.9, + "p10": 37.4, + "p25": 44.0, + "p75": 65.8, + "p90": 72.3, + "n": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "mean": 76.7, + "median": 76.7, + "p10": 48.4, + "p25": 59.0, + "p75": 94.4, + "p90": 105.0, + "n": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "mean": 11.8, + "median": 11.8, + "p10": 11.8, + "p25": 11.8, + "p75": 11.8, + "p90": 11.8, + "n": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "mean": 78.5, + "median": 78.5, + "p10": 67.6, + "p25": 71.7, + "p75": 85.3, + "p90": 89.3, + "n": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "mean": 43.7, + "median": 43.7, + "p10": 38.9, + "p25": 40.7, + "p75": 46.6, + "p90": 48.4, + "n": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "mean": 49.9, + "median": 49.6, + "p10": 46.7, + "p25": 47.8, + "p75": 51.9, + "p90": 53.3, + "n": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "mean": 62.5, + "median": 62.5, + "p10": 58.8, + "p25": 60.2, + "p75": 64.9, + "p90": 66.3, + "n": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "mean": 52.7, + "median": 56.6, + "p10": 43.4, + "p25": 48.4, + "p75": 59.0, + "p90": 60.4, + "n": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "mean": 44.0, + "median": 40.1, + "p10": 36.3, + "p25": 37.8, + "p75": 48.4, + "p90": 53.3, + "n": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "mean": 47.2, + "median": 48.4, + "p10": 43.7, + "p25": 45.4, + "p75": 49.6, + "p90": 50.3, + "n": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "mean": 46.0, + "median": 46.0, + "p10": 43.2, + "p25": 44.2, + "p75": 47.8, + "p90": 48.9, + "n": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "mean": 58.2, + "median": 57.8, + "p10": 55.0, + "p25": 56.0, + "p75": 60.2, + "p90": 61.6, + "n": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "mean": 57.0, + "median": 56.6, + "p10": 53.8, + "p25": 54.9, + "p75": 59.0, + "p90": 60.4, + "n": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "mean": 48.0, + "median": 51.9, + "p10": 38.7, + "p25": 43.7, + "p75": 54.3, + "p90": 55.7, + "n": 3, + "total_kg_days": 585600.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 45.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 45.0, + "expected_marginal_per_day": 1.0 + } + } + } + ] + }, + { + "id": "riverside-decaf", + "name": "Riverside Decaf", + "nodes": [ + { + "id": "procurement_highland_arabica", + "label": "Procurement: Highland Arabica", + "type": "procurement", + "material": "90000100001", + "plant": "PL-A", + "stats": { + "n": 59, + "mean": 33.0, + "median": 32.8, + "std": 10.9, + "min": 6.6, + "max": 86.1, + "p25": 28.7, + "p75": 36.9, + "p85": 39.4, + "p95": 45.8 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 98.3, + "cost": null, + "observations": [ + { + "date": "2022-03-15", + "value": 45.1 + }, + { + "date": "2022-06-10", + "value": 34.4 + }, + { + "date": "2022-09-22", + "value": 6.6 + }, + { + "date": "2022-12-05", + "value": 51.7 + }, + { + "date": "2023-02-14", + "value": 31.2 + }, + { + "date": "2023-05-30", + "value": 18.0 + }, + { + "date": "2023-08-17", + "value": 58.2 + }, + { + "date": "2023-11-02", + "value": 24.6 + }, + { + "date": "2024-01-25", + "value": 36.9 + }, + { + "date": "2024-04-11", + "value": 14.8 + }, + { + "date": "2024-07-09", + "value": 86.1 + }, + { + "date": "2024-10-03", + "value": 28.7 + }, + { + "date": "2025-01-20", + "value": 9.8 + }, + { + "date": "2025-04-08", + "value": 39.4 + }, + { + "date": "2025-09-05", + "value": 32.0 + }, + { + "date": "2025-09-11", + "value": 33.6 + }, + { + "date": "2025-09-17", + "value": 36.1 + }, + { + "date": "2025-09-23", + "value": 39.4 + }, + { + "date": "2025-09-29", + "value": 41.8 + }, + { + "date": "2025-10-06", + "value": 30.3 + }, + { + "date": "2025-10-12", + "value": 32.8 + }, + { + "date": "2025-10-18", + "value": 36.1 + }, + { + "date": "2025-10-24", + "value": 38.5 + }, + { + "date": "2025-10-30", + "value": 25.4 + }, + { + "date": "2025-11-04", + "value": 29.5 + }, + { + "date": "2025-11-10", + "value": 32.8 + }, + { + "date": "2025-11-16", + "value": 35.3 + }, + { + "date": "2025-11-22", + "value": 22.1 + }, + { + "date": "2025-11-28", + "value": 25.4 + }, + { + "date": "2025-12-05", + "value": 37.7 + }, + { + "date": "2025-12-11", + "value": 40.2 + }, + { + "date": "2025-12-17", + "value": 27.1 + }, + { + "date": "2025-12-23", + "value": 30.3 + }, + { + "date": "2025-12-29", + "value": 32.0 + }, + { + "date": "2026-01-06", + "value": 36.9 + }, + { + "date": "2026-01-12", + "value": 23.8 + }, + { + "date": "2026-01-18", + "value": 27.1 + }, + { + "date": "2026-01-24", + "value": 28.7 + }, + { + "date": "2026-01-30", + "value": 31.2 + }, + { + "date": "2026-02-04", + "value": 28.7 + }, + { + "date": "2026-02-10", + "value": 32.0 + }, + { + "date": "2026-02-16", + "value": 33.6 + }, + { + "date": "2026-02-22", + "value": 36.1 + }, + { + "date": "2026-02-28", + "value": 39.4 + }, + { + "date": "2026-03-05", + "value": 28.7 + }, + { + "date": "2026-03-11", + "value": 30.3 + }, + { + "date": "2026-03-17", + "value": 32.8 + }, + { + "date": "2026-03-23", + "value": 36.1 + }, + { + "date": "2026-03-29", + "value": 38.5 + }, + { + "date": "2026-04-06", + "value": 27.1 + }, + { + "date": "2026-04-12", + "value": 29.5 + }, + { + "date": "2026-04-18", + "value": 32.8 + }, + { + "date": "2026-04-24", + "value": 35.3 + }, + { + "date": "2026-04-30", + "value": 22.1 + }, + { + "date": "2026-05-04", + "value": 34.4 + }, + { + "date": "2026-05-10", + "value": 37.7 + }, + { + "date": "2026-05-16", + "value": 40.2 + }, + { + "date": "2026-05-22", + "value": 27.1 + }, + { + "date": "2026-05-28", + "value": 30.3 + } + ], + "monthly": [ + { + "month": "2022-03", + "mean": 45.1, + "median": 45.1, + "p10": 45.1, + "p25": 45.1, + "p75": 45.1, + "p90": 45.1, + "n": 1 + }, + { + "month": "2022-06", + "mean": 34.4, + "median": 34.4, + "p10": 34.4, + "p25": 34.4, + "p75": 34.4, + "p90": 34.4, + "n": 1 + }, + { + "month": "2022-09", + "mean": 6.6, + "median": 6.6, + "p10": 6.6, + "p25": 6.6, + "p75": 6.6, + "p90": 6.6, + "n": 1 + }, + { + "month": "2022-12", + "mean": 51.7, + "median": 51.7, + "p10": 51.7, + "p25": 51.7, + "p75": 51.7, + "p90": 51.7, + "n": 1 + }, + { + "month": "2023-02", + "mean": 31.2, + "median": 31.2, + "p10": 31.2, + "p25": 31.2, + "p75": 31.2, + "p90": 31.2, + "n": 1 + }, + { + "month": "2023-05", + "mean": 18.0, + "median": 18.0, + "p10": 18.0, + "p25": 18.0, + "p75": 18.0, + "p90": 18.0, + "n": 1 + }, + { + "month": "2023-08", + "mean": 58.2, + "median": 58.2, + "p10": 58.2, + "p25": 58.2, + "p75": 58.2, + "p90": 58.2, + "n": 1 + }, + { + "month": "2023-11", + "mean": 24.6, + "median": 24.6, + "p10": 24.6, + "p25": 24.6, + "p75": 24.6, + "p90": 24.6, + "n": 1 + }, + { + "month": "2024-01", + "mean": 36.9, + "median": 36.9, + "p10": 36.9, + "p25": 36.9, + "p75": 36.9, + "p90": 36.9, + "n": 1 + }, + { + "month": "2024-04", + "mean": 14.8, + "median": 14.8, + "p10": 14.8, + "p25": 14.8, + "p75": 14.8, + "p90": 14.8, + "n": 1 + }, + { + "month": "2024-07", + "mean": 86.1, + "median": 86.1, + "p10": 86.1, + "p25": 86.1, + "p75": 86.1, + "p90": 86.1, + "n": 1 + }, + { + "month": "2024-10", + "mean": 28.7, + "median": 28.7, + "p10": 28.7, + "p25": 28.7, + "p75": 28.7, + "p90": 28.7, + "n": 1 + }, + { + "month": "2025-01", + "mean": 9.8, + "median": 9.8, + "p10": 9.8, + "p25": 9.8, + "p75": 9.8, + "p90": 9.8, + "n": 1 + }, + { + "month": "2025-04", + "mean": 39.4, + "median": 39.4, + "p10": 39.4, + "p25": 39.4, + "p75": 39.4, + "p90": 39.4, + "n": 1 + }, + { + "month": "2025-09", + "mean": 36.6, + "median": 36.1, + "p10": 32.6, + "p25": 33.6, + "p75": 39.4, + "p90": 40.8, + "n": 5 + }, + { + "month": "2025-10", + "mean": 32.6, + "median": 32.8, + "p10": 27.4, + "p25": 30.3, + "p75": 36.1, + "p90": 37.6, + "n": 5 + }, + { + "month": "2025-11", + "mean": 29.0, + "median": 29.5, + "p10": 23.5, + "p25": 25.4, + "p75": 32.8, + "p90": 34.3, + "n": 5 + }, + { + "month": "2025-12", + "mean": 33.5, + "median": 32.0, + "p10": 28.4, + "p25": 30.3, + "p75": 37.7, + "p90": 39.2, + "n": 5 + }, + { + "month": "2026-01", + "mean": 29.5, + "median": 28.7, + "p10": 25.1, + "p25": 27.1, + "p75": 31.2, + "p90": 34.6, + "n": 5 + }, + { + "month": "2026-02", + "mean": 33.9, + "median": 33.6, + "p10": 30.0, + "p25": 32.0, + "p75": 36.1, + "p90": 38.0, + "n": 5 + }, + { + "month": "2026-03", + "mean": 33.3, + "median": 32.8, + "p10": 29.4, + "p25": 30.3, + "p75": 36.1, + "p90": 37.6, + "n": 5 + }, + { + "month": "2026-04", + "mean": 29.4, + "median": 29.5, + "p10": 24.1, + "p25": 27.1, + "p75": 32.8, + "p90": 34.3, + "n": 5 + }, + { + "month": "2026-05", + "mean": 33.9, + "median": 34.4, + "p10": 28.4, + "p25": 30.3, + "p75": 37.7, + "p90": 39.2, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "procurement_lowland_robusta", + "label": "Procurement: Lowland Robusta", + "type": "procurement", + "material": "90000100002", + "plant": "PL-A", + "stats": { + "n": 63, + "mean": 27.4, + "median": 27.1, + "std": 9.3, + "min": 4.1, + "max": 67.2, + "p25": 23.0, + "p75": 31.2, + "p85": 33.4, + "p95": 42.3 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 96.8, + "cost": null, + "observations": [ + { + "date": "2022-02-08", + "value": 26.2 + }, + { + "date": "2022-04-19", + "value": 39.4 + }, + { + "date": "2022-07-11", + "value": 4.1 + }, + { + "date": "2022-09-28", + "value": 54.9 + }, + { + "date": "2022-12-15", + "value": 20.5 + }, + { + "date": "2023-03-07", + "value": 33.6 + }, + { + "date": "2023-05-22", + "value": 12.3 + }, + { + "date": "2023-08-09", + "value": 67.2 + }, + { + "date": "2023-10-30", + "value": 31.2 + }, + { + "date": "2024-01-16", + "value": 16.4 + }, + { + "date": "2024-03-25", + "value": 42.6 + }, + { + "date": "2024-06-12", + "value": 8.2 + }, + { + "date": "2024-08-28", + "value": 36.1 + }, + { + "date": "2024-11-14", + "value": 23.0 + }, + { + "date": "2025-01-06", + "value": 28.7 + }, + { + "date": "2025-03-18", + "value": 14.8 + }, + { + "date": "2025-05-29", + "value": 45.1 + }, + { + "date": "2025-08-12", + "value": 21.3 + }, + { + "date": "2025-09-04", + "value": 21.3 + }, + { + "date": "2025-09-10", + "value": 23.8 + }, + { + "date": "2025-09-16", + "value": 25.4 + }, + { + "date": "2025-09-22", + "value": 27.9 + }, + { + "date": "2025-09-28", + "value": 30.3 + }, + { + "date": "2025-10-05", + "value": 21.3 + }, + { + "date": "2025-10-11", + "value": 23.0 + }, + { + "date": "2025-10-17", + "value": 25.4 + }, + { + "date": "2025-10-23", + "value": 27.1 + }, + { + "date": "2025-10-29", + "value": 29.5 + }, + { + "date": "2025-11-06", + "value": 27.1 + }, + { + "date": "2025-11-12", + "value": 29.5 + }, + { + "date": "2025-11-18", + "value": 31.2 + }, + { + "date": "2025-11-24", + "value": 34.4 + }, + { + "date": "2025-11-30", + "value": 23.0 + }, + { + "date": "2025-12-04", + "value": 26.2 + }, + { + "date": "2025-12-10", + "value": 28.7 + }, + { + "date": "2025-12-16", + "value": 31.2 + }, + { + "date": "2025-12-22", + "value": 19.7 + }, + { + "date": "2025-12-28", + "value": 23.0 + }, + { + "date": "2026-01-05", + "value": 32.8 + }, + { + "date": "2026-01-11", + "value": 35.3 + }, + { + "date": "2026-01-17", + "value": 23.8 + }, + { + "date": "2026-01-23", + "value": 27.1 + }, + { + "date": "2026-01-29", + "value": 28.7 + }, + { + "date": "2026-02-06", + "value": 32.8 + }, + { + "date": "2026-02-12", + "value": 21.3 + }, + { + "date": "2026-02-18", + "value": 23.8 + }, + { + "date": "2026-02-24", + "value": 25.4 + }, + { + "date": "2026-02-30", + "value": 27.9 + }, + { + "date": "2026-03-04", + "value": 18.0 + }, + { + "date": "2026-03-10", + "value": 21.3 + }, + { + "date": "2026-03-16", + "value": 23.0 + }, + { + "date": "2026-03-22", + "value": 25.4 + }, + { + "date": "2026-03-28", + "value": 27.1 + }, + { + "date": "2026-04-05", + "value": 25.4 + }, + { + "date": "2026-04-11", + "value": 27.1 + }, + { + "date": "2026-04-17", + "value": 29.5 + }, + { + "date": "2026-04-23", + "value": 31.2 + }, + { + "date": "2026-04-29", + "value": 34.4 + }, + { + "date": "2026-05-06", + "value": 24.6 + }, + { + "date": "2026-05-12", + "value": 26.2 + }, + { + "date": "2026-05-18", + "value": 28.7 + }, + { + "date": "2026-05-24", + "value": 31.2 + }, + { + "date": "2026-05-30", + "value": 19.7 + } + ], + "monthly": [ + { + "month": "2022-02", + "mean": 26.2, + "median": 26.2, + "p10": 26.2, + "p25": 26.2, + "p75": 26.2, + "p90": 26.2, + "n": 1 + }, + { + "month": "2022-04", + "mean": 39.4, + "median": 39.4, + "p10": 39.4, + "p25": 39.4, + "p75": 39.4, + "p90": 39.4, + "n": 1 + }, + { + "month": "2022-07", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-09", + "mean": 54.9, + "median": 54.9, + "p10": 54.9, + "p25": 54.9, + "p75": 54.9, + "p90": 54.9, + "n": 1 + }, + { + "month": "2022-12", + "mean": 20.5, + "median": 20.5, + "p10": 20.5, + "p25": 20.5, + "p75": 20.5, + "p90": 20.5, + "n": 1 + }, + { + "month": "2023-03", + "mean": 33.6, + "median": 33.6, + "p10": 33.6, + "p25": 33.6, + "p75": 33.6, + "p90": 33.6, + "n": 1 + }, + { + "month": "2023-05", + "mean": 12.3, + "median": 12.3, + "p10": 12.3, + "p25": 12.3, + "p75": 12.3, + "p90": 12.3, + "n": 1 + }, + { + "month": "2023-08", + "mean": 67.2, + "median": 67.2, + "p10": 67.2, + "p25": 67.2, + "p75": 67.2, + "p90": 67.2, + "n": 1 + }, + { + "month": "2023-10", + "mean": 31.2, + "median": 31.2, + "p10": 31.2, + "p25": 31.2, + "p75": 31.2, + "p90": 31.2, + "n": 1 + }, + { + "month": "2024-01", + "mean": 16.4, + "median": 16.4, + "p10": 16.4, + "p25": 16.4, + "p75": 16.4, + "p90": 16.4, + "n": 1 + }, + { + "month": "2024-03", + "mean": 42.6, + "median": 42.6, + "p10": 42.6, + "p25": 42.6, + "p75": 42.6, + "p90": 42.6, + "n": 1 + }, + { + "month": "2024-06", + "mean": 8.2, + "median": 8.2, + "p10": 8.2, + "p25": 8.2, + "p75": 8.2, + "p90": 8.2, + "n": 1 + }, + { + "month": "2024-08", + "mean": 36.1, + "median": 36.1, + "p10": 36.1, + "p25": 36.1, + "p75": 36.1, + "p90": 36.1, + "n": 1 + }, + { + "month": "2024-11", + "mean": 23.0, + "median": 23.0, + "p10": 23.0, + "p25": 23.0, + "p75": 23.0, + "p90": 23.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 28.7, + "median": 28.7, + "p10": 28.7, + "p25": 28.7, + "p75": 28.7, + "p90": 28.7, + "n": 1 + }, + { + "month": "2025-03", + "mean": 14.8, + "median": 14.8, + "p10": 14.8, + "p25": 14.8, + "p75": 14.8, + "p90": 14.8, + "n": 1 + }, + { + "month": "2025-05", + "mean": 45.1, + "median": 45.1, + "p10": 45.1, + "p25": 45.1, + "p75": 45.1, + "p90": 45.1, + "n": 1 + }, + { + "month": "2025-08", + "mean": 21.3, + "median": 21.3, + "p10": 21.3, + "p25": 21.3, + "p75": 21.3, + "p90": 21.3, + "n": 1 + }, + { + "month": "2025-09", + "mean": 25.7, + "median": 25.4, + "p10": 22.3, + "p25": 23.8, + "p75": 27.9, + "p90": 29.4, + "n": 5 + }, + { + "month": "2025-10", + "mean": 25.3, + "median": 25.4, + "p10": 22.0, + "p25": 23.0, + "p75": 27.1, + "p90": 28.5, + "n": 5 + }, + { + "month": "2025-11", + "mean": 29.0, + "median": 29.5, + "p10": 24.6, + "p25": 27.1, + "p75": 31.2, + "p90": 33.1, + "n": 5 + }, + { + "month": "2025-12", + "mean": 25.7, + "median": 26.2, + "p10": 21.0, + "p25": 23.0, + "p75": 28.7, + "p90": 30.2, + "n": 5 + }, + { + "month": "2026-01", + "mean": 29.5, + "median": 28.7, + "p10": 25.1, + "p25": 27.1, + "p75": 32.8, + "p90": 34.3, + "n": 5 + }, + { + "month": "2026-02", + "mean": 26.2, + "median": 25.4, + "p10": 22.3, + "p25": 23.8, + "p75": 27.9, + "p90": 30.8, + "n": 5 + }, + { + "month": "2026-03", + "mean": 23.0, + "median": 23.0, + "p10": 19.4, + "p25": 21.3, + "p75": 25.4, + "p90": 26.4, + "n": 5 + }, + { + "month": "2026-04", + "mean": 29.5, + "median": 29.5, + "p10": 26.1, + "p25": 27.1, + "p75": 31.2, + "p90": 33.1, + "n": 5 + }, + { + "month": "2026-05", + "mean": 26.1, + "median": 26.2, + "p10": 21.6, + "p25": 24.6, + "p75": 28.7, + "p90": 30.2, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "procurement_washed_bourbon", + "label": "Procurement: Washed Bourbon", + "type": "procurement", + "material": "90000100003", + "plant": "PL-A", + "stats": { + "n": 55, + "mean": 21.4, + "median": 20.5, + "std": 6.6, + "min": 5.7, + "max": 50.8, + "p25": 18.4, + "p75": 23.8, + "p85": 24.6, + "p95": 29.9 + }, + "plifz": 7, + "plifz_note": null, + "pct_exceeding_plifz": 98.2, + "cost": null, + "observations": [ + { + "date": "2022-05-03", + "value": 28.7 + }, + { + "date": "2022-10-18", + "value": 13.1 + }, + { + "date": "2023-01-24", + "value": 50.8 + }, + { + "date": "2023-06-15", + "value": 5.7 + }, + { + "date": "2023-09-28", + "value": 32.8 + }, + { + "date": "2024-02-12", + "value": 20.5 + }, + { + "date": "2024-05-07", + "value": 39.4 + }, + { + "date": "2024-09-19", + "value": 9.8 + }, + { + "date": "2025-02-04", + "value": 24.6 + }, + { + "date": "2025-06-10", + "value": 11.5 + }, + { + "date": "2025-09-06", + "value": 24.6 + }, + { + "date": "2025-09-12", + "value": 15.6 + }, + { + "date": "2025-09-18", + "value": 18.0 + }, + { + "date": "2025-09-24", + "value": 18.9 + }, + { + "date": "2025-09-30", + "value": 20.5 + }, + { + "date": "2025-10-04", + "value": 18.9 + }, + { + "date": "2025-10-10", + "value": 20.5 + }, + { + "date": "2025-10-16", + "value": 22.1 + }, + { + "date": "2025-10-22", + "value": 23.8 + }, + { + "date": "2025-10-28", + "value": 25.4 + }, + { + "date": "2025-11-05", + "value": 18.9 + }, + { + "date": "2025-11-11", + "value": 20.5 + }, + { + "date": "2025-11-17", + "value": 22.1 + }, + { + "date": "2025-11-23", + "value": 23.8 + }, + { + "date": "2025-11-29", + "value": 25.4 + }, + { + "date": "2025-12-06", + "value": 18.0 + }, + { + "date": "2025-12-12", + "value": 19.7 + }, + { + "date": "2025-12-18", + "value": 21.3 + }, + { + "date": "2025-12-24", + "value": 23.0 + }, + { + "date": "2025-12-30", + "value": 14.8 + }, + { + "date": "2026-01-04", + "value": 23.0 + }, + { + "date": "2026-01-10", + "value": 24.6 + }, + { + "date": "2026-01-16", + "value": 26.2 + }, + { + "date": "2026-01-22", + "value": 18.0 + }, + { + "date": "2026-01-28", + "value": 19.7 + }, + { + "date": "2026-02-05", + "value": 22.1 + }, + { + "date": "2026-02-11", + "value": 24.6 + }, + { + "date": "2026-02-17", + "value": 15.6 + }, + { + "date": "2026-02-23", + "value": 18.0 + }, + { + "date": "2026-02-29", + "value": 18.9 + }, + { + "date": "2026-03-06", + "value": 27.9 + }, + { + "date": "2026-03-12", + "value": 18.9 + }, + { + "date": "2026-03-18", + "value": 20.5 + }, + { + "date": "2026-03-24", + "value": 22.1 + }, + { + "date": "2026-03-30", + "value": 23.8 + }, + { + "date": "2026-04-04", + "value": 16.4 + }, + { + "date": "2026-04-10", + "value": 18.9 + }, + { + "date": "2026-04-16", + "value": 20.5 + }, + { + "date": "2026-04-22", + "value": 22.1 + }, + { + "date": "2026-04-28", + "value": 23.8 + }, + { + "date": "2026-05-05", + "value": 16.4 + }, + { + "date": "2026-05-11", + "value": 18.0 + }, + { + "date": "2026-05-17", + "value": 19.7 + }, + { + "date": "2026-05-23", + "value": 21.3 + }, + { + "date": "2026-05-29", + "value": 23.0 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 28.7, + "median": 28.7, + "p10": 28.7, + "p25": 28.7, + "p75": 28.7, + "p90": 28.7, + "n": 1 + }, + { + "month": "2022-10", + "mean": 13.1, + "median": 13.1, + "p10": 13.1, + "p25": 13.1, + "p75": 13.1, + "p90": 13.1, + "n": 1 + }, + { + "month": "2023-01", + "mean": 50.8, + "median": 50.8, + "p10": 50.8, + "p25": 50.8, + "p75": 50.8, + "p90": 50.8, + "n": 1 + }, + { + "month": "2023-06", + "mean": 5.7, + "median": 5.7, + "p10": 5.7, + "p25": 5.7, + "p75": 5.7, + "p90": 5.7, + "n": 1 + }, + { + "month": "2023-09", + "mean": 32.8, + "median": 32.8, + "p10": 32.8, + "p25": 32.8, + "p75": 32.8, + "p90": 32.8, + "n": 1 + }, + { + "month": "2024-02", + "mean": 20.5, + "median": 20.5, + "p10": 20.5, + "p25": 20.5, + "p75": 20.5, + "p90": 20.5, + "n": 1 + }, + { + "month": "2024-05", + "mean": 39.4, + "median": 39.4, + "p10": 39.4, + "p25": 39.4, + "p75": 39.4, + "p90": 39.4, + "n": 1 + }, + { + "month": "2024-09", + "mean": 9.8, + "median": 9.8, + "p10": 9.8, + "p25": 9.8, + "p75": 9.8, + "p90": 9.8, + "n": 1 + }, + { + "month": "2025-02", + "mean": 24.6, + "median": 24.6, + "p10": 24.6, + "p25": 24.6, + "p75": 24.6, + "p90": 24.6, + "n": 1 + }, + { + "month": "2025-06", + "mean": 11.5, + "median": 11.5, + "p10": 11.5, + "p25": 11.5, + "p75": 11.5, + "p90": 11.5, + "n": 1 + }, + { + "month": "2025-09", + "mean": 19.5, + "median": 18.9, + "p10": 16.6, + "p25": 18.0, + "p75": 20.5, + "p90": 23.0, + "n": 5 + }, + { + "month": "2025-10", + "mean": 22.1, + "median": 22.1, + "p10": 19.5, + "p25": 20.5, + "p75": 23.8, + "p90": 24.8, + "n": 5 + }, + { + "month": "2025-11", + "mean": 22.1, + "median": 22.1, + "p10": 19.5, + "p25": 20.5, + "p75": 23.8, + "p90": 24.8, + "n": 5 + }, + { + "month": "2025-12", + "mean": 19.4, + "median": 19.7, + "p10": 16.1, + "p25": 18.0, + "p75": 21.3, + "p90": 22.3, + "n": 5 + }, + { + "month": "2026-01", + "mean": 22.3, + "median": 23.0, + "p10": 18.7, + "p25": 19.7, + "p75": 24.6, + "p90": 25.6, + "n": 5 + }, + { + "month": "2026-02", + "mean": 19.8, + "median": 18.9, + "p10": 16.6, + "p25": 18.0, + "p75": 22.1, + "p90": 23.6, + "n": 5 + }, + { + "month": "2026-03", + "mean": 22.6, + "median": 22.1, + "p10": 19.5, + "p25": 20.5, + "p75": 23.8, + "p90": 26.2, + "n": 5 + }, + { + "month": "2026-04", + "mean": 20.3, + "median": 20.5, + "p10": 17.4, + "p25": 18.9, + "p75": 22.1, + "p90": 23.1, + "n": 5 + }, + { + "month": "2026-05", + "mean": 19.7, + "median": 19.7, + "p10": 17.1, + "p25": 18.0, + "p75": 21.3, + "p90": 22.3, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_highland_arabica", + "label": "Raw Material Dwell: Highland Arabica", + "type": "raw_material_dwell", + "material": "90000100001", + "plant": "PL-A", + "stats": { + "n": 83, + "mean": 39.6, + "median": 37.7, + "std": 16.2, + "min": 4.1, + "max": 106.6, + "p25": 31.6, + "p75": 44.7, + "p85": 50.0, + "p95": 71.9 + }, + "plifz": 30, + "plifz_note": null, + "pct_exceeding_plifz": 89.2, + "cost": { + "unit_price": 2.624, + "currency": "CHF", + "mean_qty": 4200.0, + "monthly": [ + { + "month": "2022-04", + "n_events": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "n_events": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "n_events": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "n_events": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "n_events": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "n_events": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "n_events": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "n_events": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "n_events": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "n_events": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 827400.0 + } + ] + }, + "observations": [ + { + "date": "2022-04-02", + "value": 28.7 + }, + { + "date": "2022-04-15", + "value": 50.8 + }, + { + "date": "2022-04-28", + "value": 14.8 + }, + { + "date": "2022-08-05", + "value": 72.2 + }, + { + "date": "2022-08-12", + "value": 34.4 + }, + { + "date": "2022-08-20", + "value": 45.1 + }, + { + "date": "2022-08-28", + "value": 24.6 + }, + { + "date": "2023-01-10", + "value": 59.0 + }, + { + "date": "2023-01-22", + "value": 20.5 + }, + { + "date": "2023-01-30", + "value": 39.4 + }, + { + "date": "2023-06-05", + "value": 12.3 + }, + { + "date": "2023-06-18", + "value": 77.9 + }, + { + "date": "2023-10-03", + "value": 106.6 + }, + { + "date": "2023-10-10", + "value": 36.9 + }, + { + "date": "2023-10-18", + "value": 31.2 + }, + { + "date": "2023-10-25", + "value": 53.3 + }, + { + "date": "2023-10-30", + "value": 18.0 + }, + { + "date": "2024-03-05", + "value": 64.0 + }, + { + "date": "2024-03-12", + "value": 4.1 + }, + { + "date": "2024-03-20", + "value": 45.1 + }, + { + "date": "2024-03-28", + "value": 32.8 + }, + { + "date": "2024-07-08", + "value": 23.0 + }, + { + "date": "2024-07-15", + "value": 69.7 + }, + { + "date": "2024-07-22", + "value": 41.0 + }, + { + "date": "2024-11-04", + "value": 90.2 + }, + { + "date": "2024-11-11", + "value": 26.2 + }, + { + "date": "2024-11-18", + "value": 55.8 + }, + { + "date": "2024-11-25", + "value": 36.9 + }, + { + "date": "2024-11-30", + "value": 75.4 + }, + { + "date": "2025-03-03", + "value": 16.4 + }, + { + "date": "2025-03-10", + "value": 47.6 + }, + { + "date": "2025-03-17", + "value": 28.7 + }, + { + "date": "2025-03-24", + "value": 34.4 + }, + { + "date": "2025-07-02", + "value": 61.5 + }, + { + "date": "2025-07-09", + "value": 9.8 + }, + { + "date": "2025-07-16", + "value": 39.4 + }, + { + "date": "2025-07-23", + "value": 49.2 + }, + { + "date": "2025-07-30", + "value": 31.2 + }, + { + "date": "2025-09-05", + "value": 40.2 + }, + { + "date": "2025-09-11", + "value": 44.3 + }, + { + "date": "2025-09-17", + "value": 27.9 + }, + { + "date": "2025-09-23", + "value": 32.0 + }, + { + "date": "2025-09-29", + "value": 34.4 + }, + { + "date": "2025-10-06", + "value": 50.0 + }, + { + "date": "2025-10-12", + "value": 33.6 + }, + { + "date": "2025-10-18", + "value": 37.7 + }, + { + "date": "2025-10-24", + "value": 40.2 + }, + { + "date": "2025-10-30", + "value": 43.5 + }, + { + "date": "2025-11-04", + "value": 29.5 + }, + { + "date": "2025-11-10", + "value": 33.6 + }, + { + "date": "2025-11-16", + "value": 36.1 + }, + { + "date": "2025-11-22", + "value": 39.4 + }, + { + "date": "2025-11-28", + "value": 42.6 + }, + { + "date": "2025-12-05", + "value": 29.5 + }, + { + "date": "2025-12-11", + "value": 32.0 + }, + { + "date": "2025-12-17", + "value": 35.3 + }, + { + "date": "2025-12-23", + "value": 38.5 + }, + { + "date": "2025-12-29", + "value": 41.8 + }, + { + "date": "2026-01-06", + "value": 38.5 + }, + { + "date": "2026-01-12", + "value": 41.0 + }, + { + "date": "2026-01-18", + "value": 44.3 + }, + { + "date": "2026-01-24", + "value": 47.6 + }, + { + "date": "2026-01-30", + "value": 32.0 + }, + { + "date": "2026-02-04", + "value": 36.9 + }, + { + "date": "2026-02-10", + "value": 40.2 + }, + { + "date": "2026-02-16", + "value": 44.3 + }, + { + "date": "2026-02-22", + "value": 27.9 + }, + { + "date": "2026-02-28", + "value": 32.0 + }, + { + "date": "2026-03-05", + "value": 45.9 + }, + { + "date": "2026-03-11", + "value": 50.0 + }, + { + "date": "2026-03-17", + "value": 33.6 + }, + { + "date": "2026-03-23", + "value": 37.7 + }, + { + "date": "2026-03-29", + "value": 40.2 + }, + { + "date": "2026-04-06", + "value": 45.9 + }, + { + "date": "2026-04-12", + "value": 29.5 + }, + { + "date": "2026-04-18", + "value": 33.6 + }, + { + "date": "2026-04-24", + "value": 36.1 + }, + { + "date": "2026-04-30", + "value": 39.4 + }, + { + "date": "2026-05-04", + "value": 26.2 + }, + { + "date": "2026-05-10", + "value": 29.5 + }, + { + "date": "2026-05-16", + "value": 32.0 + }, + { + "date": "2026-05-22", + "value": 35.3 + }, + { + "date": "2026-05-28", + "value": 38.5 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 31.4, + "median": 28.7, + "p10": 17.5, + "p25": 21.7, + "p75": 39.8, + "p90": 46.4, + "n": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "mean": 44.1, + "median": 39.8, + "p10": 27.6, + "p25": 32.0, + "p75": 51.9, + "p90": 64.0, + "n": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "mean": 39.6, + "median": 39.4, + "p10": 24.3, + "p25": 29.9, + "p75": 49.2, + "p90": 55.1, + "n": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "mean": 45.1, + "median": 45.1, + "p10": 18.9, + "p25": 28.7, + "p75": 61.5, + "p90": 71.3, + "n": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "mean": 49.2, + "median": 36.9, + "p10": 23.3, + "p25": 31.2, + "p75": 53.3, + "p90": 85.3, + "n": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "mean": 36.5, + "median": 38.9, + "p10": 12.7, + "p25": 25.7, + "p75": 49.9, + "p90": 58.3, + "n": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "mean": 44.5, + "median": 41.0, + "p10": 26.6, + "p25": 32.0, + "p75": 55.3, + "p90": 64.0, + "n": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "mean": 56.9, + "median": 55.8, + "p10": 30.5, + "p25": 36.9, + "p75": 75.4, + "p90": 84.3, + "n": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "mean": 31.8, + "median": 31.6, + "p10": 20.1, + "p25": 25.7, + "p75": 37.7, + "p90": 43.6, + "n": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "mean": 38.2, + "median": 39.4, + "p10": 18.4, + "p25": 31.2, + "p75": 49.2, + "p90": 56.6, + "n": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "mean": 35.8, + "median": 34.4, + "p10": 29.5, + "p25": 32.0, + "p75": 40.2, + "p90": 42.6, + "n": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "mean": 41.0, + "median": 40.2, + "p10": 35.3, + "p25": 37.7, + "p75": 43.5, + "p90": 47.4, + "n": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "mean": 36.2, + "median": 36.1, + "p10": 31.2, + "p25": 33.6, + "p75": 39.4, + "p90": 41.3, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "mean": 35.4, + "median": 35.3, + "p10": 30.5, + "p25": 32.0, + "p75": 38.5, + "p90": 40.5, + "n": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "mean": 40.7, + "median": 41.0, + "p10": 34.6, + "p25": 38.5, + "p75": 44.3, + "p90": 46.2, + "n": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "mean": 36.2, + "median": 36.9, + "p10": 29.5, + "p25": 32.0, + "p75": 40.2, + "p90": 42.6, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "mean": 41.5, + "median": 40.2, + "p10": 35.3, + "p25": 37.7, + "p75": 45.9, + "p90": 48.4, + "n": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "mean": 36.9, + "median": 36.1, + "p10": 31.2, + "p25": 33.6, + "p75": 39.4, + "p90": 43.3, + "n": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "mean": 32.3, + "median": 32.0, + "p10": 27.6, + "p25": 29.5, + "p75": 35.3, + "p90": 37.2, + "n": 5, + "total_kg_days": 827400.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_lowland_robusta", + "label": "Raw Material Dwell: Lowland Robusta", + "type": "raw_material_dwell", + "material": "90000100002", + "plant": "PL-A", + "stats": { + "n": 69, + "mean": 30.0, + "median": 27.9, + "std": 13.0, + "min": 2.5, + "max": 80.4, + "p25": 23.0, + "p75": 33.6, + "p85": 36.9, + "p95": 56.7 + }, + "plifz": 21, + "plifz_note": null, + "pct_exceeding_plifz": 91.3, + "cost": { + "unit_price": 1.476, + "currency": "CHF", + "mean_qty": 6500.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "n_events": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "n_events": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "n_events": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "n_events": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "n_events": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 1131000.0 + } + ] + }, + "observations": [ + { + "date": "2022-05-02", + "value": 23.0 + }, + { + "date": "2022-05-10", + "value": 36.9 + }, + { + "date": "2022-05-18", + "value": 9.8 + }, + { + "date": "2022-05-25", + "value": 50.8 + }, + { + "date": "2023-02-06", + "value": 27.1 + }, + { + "date": "2023-02-14", + "value": 64.0 + }, + { + "date": "2023-02-22", + "value": 16.4 + }, + { + "date": "2023-02-28", + "value": 45.1 + }, + { + "date": "2023-09-05", + "value": 6.6 + }, + { + "date": "2023-09-15", + "value": 34.4 + }, + { + "date": "2023-09-25", + "value": 53.3 + }, + { + "date": "2024-04-03", + "value": 31.2 + }, + { + "date": "2024-04-10", + "value": 12.3 + }, + { + "date": "2024-04-17", + "value": 59.0 + }, + { + "date": "2024-04-24", + "value": 20.5 + }, + { + "date": "2024-10-02", + "value": 39.4 + }, + { + "date": "2024-10-09", + "value": 2.5 + }, + { + "date": "2024-10-16", + "value": 69.7 + }, + { + "date": "2024-10-23", + "value": 24.6 + }, + { + "date": "2024-10-30", + "value": 45.1 + }, + { + "date": "2025-04-07", + "value": 18.0 + }, + { + "date": "2025-04-14", + "value": 32.8 + }, + { + "date": "2025-04-21", + "value": 80.4 + }, + { + "date": "2025-04-28", + "value": 14.8 + }, + { + "date": "2025-09-04", + "value": 32.0 + }, + { + "date": "2025-09-10", + "value": 33.6 + }, + { + "date": "2025-09-16", + "value": 36.9 + }, + { + "date": "2025-09-22", + "value": 24.6 + }, + { + "date": "2025-09-28", + "value": 27.9 + }, + { + "date": "2025-10-05", + "value": 31.2 + }, + { + "date": "2025-10-11", + "value": 33.6 + }, + { + "date": "2025-10-17", + "value": 22.1 + }, + { + "date": "2025-10-23", + "value": 24.6 + }, + { + "date": "2025-10-29", + "value": 26.2 + }, + { + "date": "2025-11-06", + "value": 31.2 + }, + { + "date": "2025-11-12", + "value": 18.9 + }, + { + "date": "2025-11-18", + "value": 22.1 + }, + { + "date": "2025-11-24", + "value": 23.8 + }, + { + "date": "2025-11-30", + "value": 26.2 + }, + { + "date": "2025-12-04", + "value": 23.0 + }, + { + "date": "2025-12-10", + "value": 26.2 + }, + { + "date": "2025-12-16", + "value": 27.9 + }, + { + "date": "2025-12-22", + "value": 30.3 + }, + { + "date": "2025-12-28", + "value": 32.8 + }, + { + "date": "2026-01-05", + "value": 23.0 + }, + { + "date": "2026-01-11", + "value": 25.4 + }, + { + "date": "2026-01-17", + "value": 27.1 + }, + { + "date": "2026-01-23", + "value": 29.5 + }, + { + "date": "2026-01-29", + "value": 32.0 + }, + { + "date": "2026-02-06", + "value": 29.5 + }, + { + "date": "2026-02-12", + "value": 32.0 + }, + { + "date": "2026-02-18", + "value": 33.6 + }, + { + "date": "2026-02-24", + "value": 36.9 + }, + { + "date": "2026-02-30", + "value": 24.6 + }, + { + "date": "2026-03-04", + "value": 28.7 + }, + { + "date": "2026-03-10", + "value": 31.2 + }, + { + "date": "2026-03-16", + "value": 33.6 + }, + { + "date": "2026-03-22", + "value": 22.1 + }, + { + "date": "2026-03-28", + "value": 24.6 + }, + { + "date": "2026-04-05", + "value": 27.9 + }, + { + "date": "2026-04-11", + "value": 31.2 + }, + { + "date": "2026-04-17", + "value": 18.9 + }, + { + "date": "2026-04-23", + "value": 22.1 + }, + { + "date": "2026-04-29", + "value": 23.8 + }, + { + "date": "2026-05-06", + "value": 35.3 + }, + { + "date": "2026-05-12", + "value": 23.0 + }, + { + "date": "2026-05-18", + "value": 26.2 + }, + { + "date": "2026-05-24", + "value": 27.9 + }, + { + "date": "2026-05-30", + "value": 30.3 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 30.2, + "median": 29.9, + "p10": 13.8, + "p25": 19.7, + "p75": 40.4, + "p90": 46.7, + "n": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "mean": 38.1, + "median": 36.1, + "p10": 19.6, + "p25": 24.4, + "p75": 49.9, + "p90": 58.3, + "n": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "mean": 31.4, + "median": 34.4, + "p10": 12.1, + "p25": 20.5, + "p75": 43.9, + "p90": 49.5, + "n": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "mean": 30.7, + "median": 25.8, + "p10": 14.8, + "p25": 18.4, + "p75": 38.1, + "p90": 50.7, + "n": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "mean": 36.2, + "median": 39.4, + "p10": 11.3, + "p25": 24.6, + "p75": 45.1, + "p90": 59.9, + "n": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "mean": 36.5, + "median": 25.4, + "p10": 15.7, + "p25": 17.2, + "p75": 44.7, + "p90": 66.1, + "n": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "mean": 31.0, + "median": 32.0, + "p10": 25.9, + "p25": 27.9, + "p75": 33.6, + "p90": 35.6, + "n": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "mean": 27.6, + "median": 26.2, + "p10": 23.1, + "p25": 24.6, + "p75": 31.2, + "p90": 32.6, + "n": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "mean": 24.4, + "median": 23.8, + "p10": 20.2, + "p25": 22.1, + "p75": 26.2, + "p90": 29.2, + "n": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "mean": 28.0, + "median": 27.9, + "p10": 24.3, + "p25": 26.2, + "p75": 30.3, + "p90": 31.8, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "mean": 27.4, + "median": 27.1, + "p10": 23.9, + "p25": 25.4, + "p75": 29.5, + "p90": 31.0, + "n": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "mean": 31.3, + "median": 32.0, + "p10": 26.6, + "p25": 29.5, + "p75": 33.6, + "p90": 35.6, + "n": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "mean": 28.0, + "median": 28.7, + "p10": 23.1, + "p25": 24.6, + "p75": 31.2, + "p90": 32.6, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "mean": 24.8, + "median": 23.8, + "p10": 20.2, + "p25": 22.1, + "p75": 27.9, + "p90": 29.8, + "n": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "mean": 28.5, + "median": 27.9, + "p10": 24.3, + "p25": 26.2, + "p75": 30.3, + "p90": 33.3, + "n": 5, + "total_kg_days": 1131000.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_washed_bourbon", + "label": "Raw Material Dwell: Washed Bourbon", + "type": "raw_material_dwell", + "material": "90000100003", + "plant": "PL-A", + "stats": { + "n": 70, + "mean": 36.0, + "median": 33.6, + "std": 15.7, + "min": 3.3, + "max": 94.3, + "p25": 28.1, + "p75": 41.0, + "p85": 44.3, + "p95": 67.2 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 95.7, + "cost": { + "unit_price": 4.51, + "currency": "CHF", + "mean_qty": 2800.0, + "monthly": [ + { + "month": "2022-06", + "n_events": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "n_events": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "n_events": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "n_events": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "n_events": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "n_events": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 568400.0 + } + ] + }, + "observations": [ + { + "date": "2022-06-05", + "value": 32.8 + }, + { + "date": "2022-06-15", + "value": 18.0 + }, + { + "date": "2022-06-25", + "value": 55.8 + }, + { + "date": "2023-03-08", + "value": 3.3 + }, + { + "date": "2023-03-15", + "value": 45.1 + }, + { + "date": "2023-03-22", + "value": 94.3 + }, + { + "date": "2023-03-29", + "value": 24.6 + }, + { + "date": "2023-11-06", + "value": 50.8 + }, + { + "date": "2023-11-13", + "value": 14.8 + }, + { + "date": "2023-11-20", + "value": 69.7 + }, + { + "date": "2024-06-03", + "value": 28.7 + }, + { + "date": "2024-06-10", + "value": 59.0 + }, + { + "date": "2024-06-17", + "value": 8.2 + }, + { + "date": "2024-06-24", + "value": 39.4 + }, + { + "date": "2024-06-30", + "value": 77.9 + }, + { + "date": "2025-01-07", + "value": 23.0 + }, + { + "date": "2025-01-14", + "value": 42.6 + }, + { + "date": "2025-01-21", + "value": 12.3 + }, + { + "date": "2025-01-28", + "value": 64.0 + }, + { + "date": "2025-08-04", + "value": 34.4 + }, + { + "date": "2025-08-08", + "value": 6.6 + }, + { + "date": "2025-08-12", + "value": 53.3 + }, + { + "date": "2025-08-16", + "value": 27.1 + }, + { + "date": "2025-08-20", + "value": 82.0 + }, + { + "date": "2025-08-24", + "value": 16.4 + }, + { + "date": "2025-09-06", + "value": 33.6 + }, + { + "date": "2025-09-12", + "value": 36.9 + }, + { + "date": "2025-09-18", + "value": 39.4 + }, + { + "date": "2025-09-24", + "value": 42.6 + }, + { + "date": "2025-09-30", + "value": 27.9 + }, + { + "date": "2025-10-04", + "value": 32.8 + }, + { + "date": "2025-10-10", + "value": 36.1 + }, + { + "date": "2025-10-16", + "value": 39.4 + }, + { + "date": "2025-10-22", + "value": 24.6 + }, + { + "date": "2025-10-28", + "value": 27.9 + }, + { + "date": "2025-11-05", + "value": 41.0 + }, + { + "date": "2025-11-11", + "value": 44.3 + }, + { + "date": "2025-11-17", + "value": 29.5 + }, + { + "date": "2025-11-23", + "value": 33.6 + }, + { + "date": "2025-11-29", + "value": 36.1 + }, + { + "date": "2025-12-06", + "value": 41.0 + }, + { + "date": "2025-12-12", + "value": 26.2 + }, + { + "date": "2025-12-18", + "value": 29.5 + }, + { + "date": "2025-12-24", + "value": 32.0 + }, + { + "date": "2025-12-30", + "value": 35.3 + }, + { + "date": "2026-01-04", + "value": 23.0 + }, + { + "date": "2026-01-10", + "value": 26.2 + }, + { + "date": "2026-01-16", + "value": 28.7 + }, + { + "date": "2026-01-22", + "value": 31.2 + }, + { + "date": "2026-01-28", + "value": 34.4 + }, + { + "date": "2026-02-05", + "value": 32.0 + }, + { + "date": "2026-02-11", + "value": 33.6 + }, + { + "date": "2026-02-17", + "value": 36.9 + }, + { + "date": "2026-02-23", + "value": 39.4 + }, + { + "date": "2026-02-29", + "value": 42.6 + }, + { + "date": "2026-03-06", + "value": 30.3 + }, + { + "date": "2026-03-12", + "value": 32.8 + }, + { + "date": "2026-03-18", + "value": 36.1 + }, + { + "date": "2026-03-24", + "value": 39.4 + }, + { + "date": "2026-03-30", + "value": 24.6 + }, + { + "date": "2026-04-04", + "value": 38.5 + }, + { + "date": "2026-04-10", + "value": 41.0 + }, + { + "date": "2026-04-16", + "value": 44.3 + }, + { + "date": "2026-04-22", + "value": 29.5 + }, + { + "date": "2026-04-28", + "value": 33.6 + }, + { + "date": "2026-05-05", + "value": 37.7 + }, + { + "date": "2026-05-11", + "value": 41.0 + }, + { + "date": "2026-05-17", + "value": 26.2 + }, + { + "date": "2026-05-23", + "value": 29.5 + }, + { + "date": "2026-05-29", + "value": 32.0 + } + ], + "monthly": [ + { + "month": "2022-06", + "mean": 35.5, + "median": 32.8, + "p10": 21.0, + "p25": 25.4, + "p75": 44.3, + "p90": 51.2, + "n": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "mean": 41.8, + "median": 34.9, + "p10": 9.7, + "p25": 19.3, + "p75": 57.4, + "p90": 79.5, + "n": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "mean": 45.1, + "median": 50.8, + "p10": 22.0, + "p25": 32.8, + "p75": 60.3, + "p90": 65.9, + "n": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "mean": 42.6, + "median": 39.4, + "p10": 16.4, + "p25": 28.7, + "p75": 59.0, + "p90": 70.4, + "n": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "mean": 35.5, + "median": 32.8, + "p10": 15.5, + "p25": 20.3, + "p75": 48.0, + "p90": 57.6, + "n": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "mean": 36.7, + "median": 30.7, + "p10": 11.5, + "p25": 19.1, + "p75": 48.6, + "p90": 67.6, + "n": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "mean": 36.1, + "median": 36.9, + "p10": 30.2, + "p25": 33.6, + "p75": 39.4, + "p90": 41.3, + "n": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "mean": 32.1, + "median": 32.8, + "p10": 25.9, + "p25": 27.9, + "p75": 36.1, + "p90": 38.0, + "n": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "mean": 36.9, + "median": 36.1, + "p10": 31.2, + "p25": 33.6, + "p75": 41.0, + "p90": 43.0, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "mean": 32.8, + "median": 32.0, + "p10": 27.6, + "p25": 29.5, + "p75": 35.3, + "p90": 38.7, + "n": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "mean": 28.7, + "median": 28.7, + "p10": 24.3, + "p25": 26.2, + "p75": 31.2, + "p90": 33.1, + "n": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "mean": 36.9, + "median": 36.9, + "p10": 32.6, + "p25": 33.6, + "p75": 39.4, + "p90": 41.3, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "mean": 32.6, + "median": 32.8, + "p10": 26.9, + "p25": 30.3, + "p75": 36.1, + "p90": 38.0, + "n": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "mean": 37.4, + "median": 38.5, + "p10": 31.2, + "p25": 33.6, + "p75": 41.0, + "p90": 43.0, + "n": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "mean": 33.3, + "median": 32.0, + "p10": 27.6, + "p25": 29.5, + "p75": 37.7, + "p90": 39.7, + "n": 5, + "total_kg_days": 568400.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "prod_duration_green_blend", + "label": "Production: Green Blend", + "type": "production", + "material": "90000200001", + "plant": "PL-A", + "stats": { + "n": 50, + "mean": 3.6, + "median": 3.3, + "std": 1.5, + "min": 0.8, + "max": 11.5, + "p25": 2.7, + "p75": 4.1, + "p85": 4.1, + "p95": 5.4 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 10.0, + "cost": null, + "observations": [ + { + "date": "2022-04-18", + "value": 2.5 + }, + { + "date": "2022-07-05", + "value": 4.1 + }, + { + "date": "2022-10-12", + "value": 1.6 + }, + { + "date": "2023-01-20", + "value": 5.7 + }, + { + "date": "2023-04-15", + "value": 3.3 + }, + { + "date": "2023-07-28", + "value": 4.9 + }, + { + "date": "2023-10-05", + "value": 2.5 + }, + { + "date": "2024-01-12", + "value": 11.5 + }, + { + "date": "2024-04-22", + "value": 3.3 + }, + { + "date": "2024-07-10", + "value": 6.6 + }, + { + "date": "2024-10-18", + "value": 2.5 + }, + { + "date": "2025-01-25", + "value": 4.1 + }, + { + "date": "2025-05-08", + "value": 0.8 + }, + { + "date": "2025-08-15", + "value": 4.9 + }, + { + "date": "2025-09-04", + "value": 2.5 + }, + { + "date": "2025-09-10", + "value": 3.3 + }, + { + "date": "2025-09-16", + "value": 3.3 + }, + { + "date": "2025-09-22", + "value": 3.3 + }, + { + "date": "2025-10-05", + "value": 2.5 + }, + { + "date": "2025-10-11", + "value": 3.3 + }, + { + "date": "2025-10-17", + "value": 3.3 + }, + { + "date": "2025-10-23", + "value": 3.3 + }, + { + "date": "2025-11-06", + "value": 3.3 + }, + { + "date": "2025-11-12", + "value": 4.1 + }, + { + "date": "2025-11-18", + "value": 4.1 + }, + { + "date": "2025-11-24", + "value": 4.1 + }, + { + "date": "2025-12-04", + "value": 3.3 + }, + { + "date": "2025-12-10", + "value": 4.1 + }, + { + "date": "2025-12-16", + "value": 4.1 + }, + { + "date": "2025-12-22", + "value": 2.5 + }, + { + "date": "2026-01-05", + "value": 3.3 + }, + { + "date": "2026-01-11", + "value": 4.1 + }, + { + "date": "2026-01-17", + "value": 2.5 + }, + { + "date": "2026-01-23", + "value": 2.5 + }, + { + "date": "2026-02-06", + "value": 4.1 + }, + { + "date": "2026-02-12", + "value": 2.5 + }, + { + "date": "2026-02-18", + "value": 3.3 + }, + { + "date": "2026-02-24", + "value": 3.3 + }, + { + "date": "2026-03-04", + "value": 2.5 + }, + { + "date": "2026-03-10", + "value": 2.5 + }, + { + "date": "2026-03-16", + "value": 3.3 + }, + { + "date": "2026-03-22", + "value": 3.3 + }, + { + "date": "2026-04-05", + "value": 3.3 + }, + { + "date": "2026-04-11", + "value": 3.3 + }, + { + "date": "2026-04-17", + "value": 4.1 + }, + { + "date": "2026-04-23", + "value": 4.1 + }, + { + "date": "2026-05-06", + "value": 3.3 + }, + { + "date": "2026-05-12", + "value": 3.3 + }, + { + "date": "2026-05-18", + "value": 4.1 + }, + { + "date": "2026-05-24", + "value": 4.1 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2022-07", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-10", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2023-01", + "mean": 5.7, + "median": 5.7, + "p10": 5.7, + "p25": 5.7, + "p75": 5.7, + "p90": 5.7, + "n": 1 + }, + { + "month": "2023-04", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2023-07", + "mean": 4.9, + "median": 4.9, + "p10": 4.9, + "p25": 4.9, + "p75": 4.9, + "p90": 4.9, + "n": 1 + }, + { + "month": "2023-10", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 11.5, + "median": 11.5, + "p10": 11.5, + "p25": 11.5, + "p75": 11.5, + "p90": 11.5, + "n": 1 + }, + { + "month": "2024-04", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2024-07", + "mean": 6.6, + "median": 6.6, + "p10": 6.6, + "p25": 6.6, + "p75": 6.6, + "p90": 6.6, + "n": 1 + }, + { + "month": "2024-10", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2025-01", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-05", + "mean": 0.8, + "median": 0.8, + "p10": 0.8, + "p25": 0.8, + "p75": 0.8, + "p90": 0.8, + "n": 1 + }, + { + "month": "2025-08", + "mean": 4.9, + "median": 4.9, + "p10": 4.9, + "p25": 4.9, + "p75": 4.9, + "p90": 4.9, + "n": 1 + }, + { + "month": "2025-09", + "mean": 3.1, + "median": 3.3, + "p10": 2.7, + "p25": 3.1, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2025-10", + "mean": 3.1, + "median": 3.3, + "p10": 2.7, + "p25": 3.1, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2025-11", + "mean": 3.9, + "median": 4.1, + "p10": 3.5, + "p25": 3.9, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2025-12", + "mean": 3.5, + "median": 3.7, + "p10": 2.7, + "p25": 3.1, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2026-01", + "mean": 3.1, + "median": 2.9, + "p10": 2.5, + "p25": 2.5, + "p75": 3.5, + "p90": 3.9, + "n": 4 + }, + { + "month": "2026-02", + "mean": 3.3, + "median": 3.3, + "p10": 2.7, + "p25": 3.1, + "p75": 3.5, + "p90": 3.9, + "n": 4 + }, + { + "month": "2026-03", + "mean": 2.9, + "median": 2.9, + "p10": 2.5, + "p25": 2.5, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2026-04", + "mean": 3.7, + "median": 3.7, + "p10": 3.3, + "p25": 3.3, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2026-05", + "mean": 3.7, + "median": 3.7, + "p10": 3.3, + "p25": 3.3, + "p75": 4.1, + "p90": 4.1, + "n": 4 + } + ], + "n_batches": 50, + "n_movements": null, + "yield_summary": { + "median": 98.5, + "mean": 97.2, + "reference": 100.0, + "n": 50 + }, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 0.9, + "mean_slack": 5.1, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 0.9 + }, + "direct": { + "binding_share": 0.9, + "mean_slack": 7.2, + "next_bottleneck_days": 27.4, + "expected_marginal_per_day": 0.9 + }, + "hub-1": { + "binding_share": 0.9, + "mean_slack": 2.0, + "next_bottleneck_days": 31.3, + "expected_marginal_per_day": 0.9 + } + } + }, + { + "id": "intermed_dwell_green_blend", + "label": "Intermediate Dwell: Green Blend", + "type": "intermediate_dwell", + "material": "90000200001", + "plant": "PL-A", + "stats": { + "n": 73, + "mean": 14.3, + "median": 13.1, + "std": 7.4, + "min": 1.6, + "max": 45.1, + "p25": 10.7, + "p75": 15.6, + "p85": 16.7, + "p95": 30.3 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 87.7, + "cost": { + "unit_price": 10.25, + "currency": "CHF", + "mean_qty": 3200.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "n_events": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "n_events": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "n_events": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "n_events": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "n_events": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "n_events": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 249600.0 + } + ] + }, + "observations": [ + { + "date": "2022-05-05", + "value": 9.8 + }, + { + "date": "2022-05-15", + "value": 20.5 + }, + { + "date": "2022-05-22", + "value": 6.6 + }, + { + "date": "2022-11-03", + "value": 28.7 + }, + { + "date": "2022-11-10", + "value": 12.3 + }, + { + "date": "2022-11-18", + "value": 4.1 + }, + { + "date": "2022-11-25", + "value": 18.0 + }, + { + "date": "2023-05-08", + "value": 14.8 + }, + { + "date": "2023-05-15", + "value": 32.8 + }, + { + "date": "2023-05-22", + "value": 8.2 + }, + { + "date": "2023-11-06", + "value": 45.1 + }, + { + "date": "2023-11-13", + "value": 1.6 + }, + { + "date": "2023-11-20", + "value": 23.0 + }, + { + "date": "2023-11-27", + "value": 12.3 + }, + { + "date": "2023-11-30", + "value": 6.6 + }, + { + "date": "2024-05-06", + "value": 16.4 + }, + { + "date": "2024-05-13", + "value": 36.9 + }, + { + "date": "2024-05-20", + "value": 9.8 + }, + { + "date": "2024-05-27", + "value": 2.5 + }, + { + "date": "2024-11-04", + "value": 14.8 + }, + { + "date": "2024-11-11", + "value": 24.6 + }, + { + "date": "2024-11-18", + "value": 6.6 + }, + { + "date": "2025-05-05", + "value": 18.0 + }, + { + "date": "2025-05-09", + "value": 28.7 + }, + { + "date": "2025-05-13", + "value": 4.1 + }, + { + "date": "2025-05-17", + "value": 12.3 + }, + { + "date": "2025-05-21", + "value": 34.4 + }, + { + "date": "2025-05-25", + "value": 8.2 + }, + { + "date": "2025-09-05", + "value": 11.5 + }, + { + "date": "2025-09-11", + "value": 13.1 + }, + { + "date": "2025-09-17", + "value": 13.9 + }, + { + "date": "2025-09-23", + "value": 14.8 + }, + { + "date": "2025-09-29", + "value": 15.6 + }, + { + "date": "2025-10-06", + "value": 11.5 + }, + { + "date": "2025-10-12", + "value": 12.3 + }, + { + "date": "2025-10-18", + "value": 13.1 + }, + { + "date": "2025-10-24", + "value": 14.8 + }, + { + "date": "2025-10-30", + "value": 9.0 + }, + { + "date": "2025-11-04", + "value": 14.8 + }, + { + "date": "2025-11-10", + "value": 15.6 + }, + { + "date": "2025-11-16", + "value": 16.4 + }, + { + "date": "2025-11-22", + "value": 11.5 + }, + { + "date": "2025-11-28", + "value": 12.3 + }, + { + "date": "2025-12-05", + "value": 13.9 + }, + { + "date": "2025-12-11", + "value": 15.6 + }, + { + "date": "2025-12-17", + "value": 9.8 + }, + { + "date": "2025-12-23", + "value": 11.5 + }, + { + "date": "2025-12-29", + "value": 12.3 + }, + { + "date": "2026-01-06", + "value": 13.9 + }, + { + "date": "2026-01-12", + "value": 9.0 + }, + { + "date": "2026-01-18", + "value": 9.8 + }, + { + "date": "2026-01-24", + "value": 10.7 + }, + { + "date": "2026-01-30", + "value": 11.5 + }, + { + "date": "2026-02-04", + "value": 10.7 + }, + { + "date": "2026-02-10", + "value": 11.5 + }, + { + "date": "2026-02-16", + "value": 13.1 + }, + { + "date": "2026-02-22", + "value": 13.9 + }, + { + "date": "2026-02-28", + "value": 14.8 + }, + { + "date": "2026-03-05", + "value": 10.7 + }, + { + "date": "2026-03-11", + "value": 11.5 + }, + { + "date": "2026-03-17", + "value": 12.3 + }, + { + "date": "2026-03-23", + "value": 13.1 + }, + { + "date": "2026-03-29", + "value": 14.8 + }, + { + "date": "2026-04-06", + "value": 13.1 + }, + { + "date": "2026-04-12", + "value": 14.8 + }, + { + "date": "2026-04-18", + "value": 15.6 + }, + { + "date": "2026-04-24", + "value": 16.4 + }, + { + "date": "2026-04-30", + "value": 11.5 + }, + { + "date": "2026-05-04", + "value": 13.1 + }, + { + "date": "2026-05-10", + "value": 13.9 + }, + { + "date": "2026-05-16", + "value": 15.6 + }, + { + "date": "2026-05-22", + "value": 9.8 + }, + { + "date": "2026-05-28", + "value": 11.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 12.3, + "median": 9.8, + "p10": 7.2, + "p25": 8.2, + "p75": 15.2, + "p90": 18.4, + "n": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "mean": 15.8, + "median": 15.2, + "p10": 6.6, + "p25": 10.2, + "p75": 20.7, + "p90": 25.5, + "n": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "mean": 18.6, + "median": 14.8, + "p10": 9.5, + "p25": 11.5, + "p75": 23.8, + "p90": 29.2, + "n": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "mean": 17.7, + "median": 12.3, + "p10": 3.6, + "p25": 6.6, + "p75": 23.0, + "p90": 36.2, + "n": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "mean": 16.4, + "median": 13.1, + "p10": 4.7, + "p25": 8.0, + "p75": 21.6, + "p90": 30.7, + "n": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "mean": 15.3, + "median": 14.8, + "p10": 8.2, + "p25": 10.7, + "p75": 19.7, + "p90": 22.6, + "n": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "mean": 17.6, + "median": 15.2, + "p10": 6.1, + "p25": 9.3, + "p75": 26.1, + "p90": 31.6, + "n": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "mean": 13.8, + "median": 13.9, + "p10": 12.1, + "p25": 13.1, + "p75": 14.8, + "p90": 15.3, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "mean": 12.1, + "median": 12.3, + "p10": 10.0, + "p25": 11.5, + "p75": 13.1, + "p90": 14.1, + "n": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "mean": 14.1, + "median": 14.8, + "p10": 11.8, + "p25": 12.3, + "p75": 15.6, + "p90": 16.1, + "n": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "mean": 12.6, + "median": 12.3, + "p10": 10.5, + "p25": 11.5, + "p75": 13.9, + "p90": 14.9, + "n": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "mean": 11.0, + "median": 10.7, + "p10": 9.3, + "p25": 9.8, + "p75": 11.5, + "p90": 13.0, + "n": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "mean": 12.8, + "median": 13.1, + "p10": 11.0, + "p25": 11.5, + "p75": 13.9, + "p90": 14.4, + "n": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "mean": 12.5, + "median": 12.3, + "p10": 11.0, + "p25": 11.5, + "p75": 13.1, + "p90": 14.1, + "n": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "mean": 14.3, + "median": 14.8, + "p10": 12.1, + "p25": 13.1, + "p75": 15.6, + "p90": 16.1, + "n": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "mean": 12.8, + "median": 13.1, + "p10": 10.5, + "p25": 11.5, + "p75": 13.9, + "p90": 14.9, + "n": 5, + "total_kg_days": 249600.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 0.9, + "mean_slack": 5.1, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 0.9 + }, + "direct": { + "binding_share": 0.9, + "mean_slack": 7.2, + "next_bottleneck_days": 27.4, + "expected_marginal_per_day": 0.9 + }, + "hub-1": { + "binding_share": 0.9, + "mean_slack": 2.0, + "next_bottleneck_days": 31.3, + "expected_marginal_per_day": 0.9 + } + } + }, + { + "id": "prod_duration_harbor_dark_roast", + "label": "Production: Harbor Dark Roast", + "type": "production", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 58, + "mean": 2.6, + "median": 2.5, + "std": 1.1, + "min": 0.0, + "max": 8.2, + "p25": 2.5, + "p75": 3.3, + "p85": 3.3, + "p95": 4.3 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 5.2, + "cost": null, + "observations": [ + { + "date": "2022-05-20", + "value": 1.6 + }, + { + "date": "2022-06-10", + "value": 2.5 + }, + { + "date": "2022-07-15", + "value": 0.8 + }, + { + "date": "2022-08-22", + "value": 3.3 + }, + { + "date": "2022-10-05", + "value": 1.6 + }, + { + "date": "2022-11-18", + "value": 4.1 + }, + { + "date": "2023-01-10", + "value": 2.5 + }, + { + "date": "2023-03-25", + "value": 5.7 + }, + { + "date": "2023-05-12", + "value": 1.6 + }, + { + "date": "2023-07-08", + "value": 3.3 + }, + { + "date": "2023-09-15", + "value": 0.8 + }, + { + "date": "2023-11-22", + "value": 2.5 + }, + { + "date": "2024-01-18", + "value": 8.2 + }, + { + "date": "2024-03-08", + "value": 2.5 + }, + { + "date": "2024-05-15", + "value": 1.6 + }, + { + "date": "2024-07-22", + "value": 4.1 + }, + { + "date": "2024-09-10", + "value": 0.0 + }, + { + "date": "2024-11-05", + "value": 3.3 + }, + { + "date": "2025-01-15", + "value": 2.5 + }, + { + "date": "2025-03-20", + "value": 1.6 + }, + { + "date": "2025-05-28", + "value": 4.9 + }, + { + "date": "2025-08-05", + "value": 2.5 + }, + { + "date": "2025-09-05", + "value": 3.3 + }, + { + "date": "2025-09-11", + "value": 3.3 + }, + { + "date": "2025-09-17", + "value": 2.5 + }, + { + "date": "2025-09-23", + "value": 2.5 + }, + { + "date": "2025-10-06", + "value": 3.3 + }, + { + "date": "2025-10-12", + "value": 1.6 + }, + { + "date": "2025-10-18", + "value": 2.5 + }, + { + "date": "2025-10-24", + "value": 2.5 + }, + { + "date": "2025-11-04", + "value": 1.6 + }, + { + "date": "2025-11-10", + "value": 1.6 + }, + { + "date": "2025-11-16", + "value": 2.5 + }, + { + "date": "2025-11-22", + "value": 2.5 + }, + { + "date": "2025-12-05", + "value": 2.5 + }, + { + "date": "2025-12-11", + "value": 2.5 + }, + { + "date": "2025-12-17", + "value": 2.5 + }, + { + "date": "2025-12-23", + "value": 3.3 + }, + { + "date": "2026-01-06", + "value": 2.5 + }, + { + "date": "2026-01-12", + "value": 2.5 + }, + { + "date": "2026-01-18", + "value": 2.5 + }, + { + "date": "2026-01-24", + "value": 3.3 + }, + { + "date": "2026-02-04", + "value": 3.3 + }, + { + "date": "2026-02-10", + "value": 3.3 + }, + { + "date": "2026-02-16", + "value": 3.3 + }, + { + "date": "2026-02-22", + "value": 2.5 + }, + { + "date": "2026-03-05", + "value": 2.5 + }, + { + "date": "2026-03-11", + "value": 3.3 + }, + { + "date": "2026-03-17", + "value": 1.6 + }, + { + "date": "2026-03-23", + "value": 2.5 + }, + { + "date": "2026-04-06", + "value": 2.5 + }, + { + "date": "2026-04-12", + "value": 1.6 + }, + { + "date": "2026-04-18", + "value": 1.6 + }, + { + "date": "2026-04-24", + "value": 2.5 + }, + { + "date": "2026-05-04", + "value": 2.5 + }, + { + "date": "2026-05-10", + "value": 2.5 + }, + { + "date": "2026-05-16", + "value": 2.5 + }, + { + "date": "2026-05-22", + "value": 2.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2022-06", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2022-07", + "mean": 0.8, + "median": 0.8, + "p10": 0.8, + "p25": 0.8, + "p75": 0.8, + "p90": 0.8, + "n": 1 + }, + { + "month": "2022-08", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2022-10", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2022-11", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2023-01", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2023-03", + "mean": 5.7, + "median": 5.7, + "p10": 5.7, + "p25": 5.7, + "p75": 5.7, + "p90": 5.7, + "n": 1 + }, + { + "month": "2023-05", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2023-07", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2023-09", + "mean": 0.8, + "median": 0.8, + "p10": 0.8, + "p25": 0.8, + "p75": 0.8, + "p90": 0.8, + "n": 1 + }, + { + "month": "2023-11", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 8.2, + "median": 8.2, + "p10": 8.2, + "p25": 8.2, + "p75": 8.2, + "p90": 8.2, + "n": 1 + }, + { + "month": "2024-03", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2024-05", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2024-07", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-09", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2025-01", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2025-03", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2025-05", + "mean": 4.9, + "median": 4.9, + "p10": 4.9, + "p25": 4.9, + "p75": 4.9, + "p90": 4.9, + "n": 1 + }, + { + "month": "2025-08", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2025-09", + "mean": 2.9, + "median": 2.9, + "p10": 2.5, + "p25": 2.5, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2025-10", + "mean": 2.5, + "median": 2.5, + "p10": 1.9, + "p25": 2.3, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2025-11", + "mean": 2.0, + "median": 2.0, + "p10": 1.6, + "p25": 1.6, + "p75": 2.5, + "p90": 2.5, + "n": 4 + }, + { + "month": "2025-12", + "mean": 2.7, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-01", + "mean": 2.7, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-02", + "mean": 3.1, + "median": 3.3, + "p10": 2.7, + "p25": 3.1, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2026-03", + "mean": 2.5, + "median": 2.5, + "p10": 1.9, + "p25": 2.3, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-04", + "mean": 2.0, + "median": 2.0, + "p10": 1.6, + "p25": 1.6, + "p75": 2.5, + "p90": 2.5, + "n": 4 + }, + { + "month": "2026-05", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 4 + } + ], + "n_batches": 58, + "n_movements": null, + "yield_summary": { + "median": 99.2, + "mean": 98.5, + "reference": 100.0, + "n": 58 + }, + "consumption_summary": { + "median_variance": 2.1, + "mean_variance": 3.4, + "n_components": 3, + "n": 58 + }, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 4.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 3.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 4.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "prod_to_qa_pla", + "label": "Production \u2192 QA Release (PL-A)", + "type": "qa_hold", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 58, + "mean": 2.8, + "median": 2.5, + "std": 1.5, + "min": 0.0, + "max": 10.7, + "p25": 2.5, + "p75": 3.3, + "p85": 3.3, + "p95": 5.1 + }, + "plifz": 5, + "plifz_note": "WEBAZ (GR processing days)", + "pct_exceeding_plifz": 6.9, + "cost": null, + "observations": [ + { + "date": "2022-05-22", + "value": 1.6 + }, + { + "date": "2022-06-13", + "value": 0.8 + }, + { + "date": "2022-07-16", + "value": 2.5 + }, + { + "date": "2022-08-26", + "value": 1.6 + }, + { + "date": "2022-10-07", + "value": 4.1 + }, + { + "date": "2022-11-23", + "value": 1.6 + }, + { + "date": "2023-01-13", + "value": 3.3 + }, + { + "date": "2023-04-01", + "value": 2.5 + }, + { + "date": "2023-05-14", + "value": 4.9 + }, + { + "date": "2023-07-12", + "value": 1.6 + }, + { + "date": "2023-09-16", + "value": 10.7 + }, + { + "date": "2023-11-25", + "value": 2.5 + }, + { + "date": "2024-01-28", + "value": 5.7 + }, + { + "date": "2024-03-11", + "value": 0.8 + }, + { + "date": "2024-05-17", + "value": 3.3 + }, + { + "date": "2024-07-27", + "value": 4.1 + }, + { + "date": "2024-09-10", + "value": 1.6 + }, + { + "date": "2024-11-09", + "value": 0.0 + }, + { + "date": "2025-01-18", + "value": 2.5 + }, + { + "date": "2025-03-22", + "value": 6.6 + }, + { + "date": "2025-06-03", + "value": 1.6 + }, + { + "date": "2025-08-08", + "value": 4.1 + }, + { + "date": "2025-09-04", + "value": 1.6 + }, + { + "date": "2025-09-10", + "value": 2.5 + }, + { + "date": "2025-09-16", + "value": 2.5 + }, + { + "date": "2025-09-22", + "value": 2.5 + }, + { + "date": "2025-10-05", + "value": 2.5 + }, + { + "date": "2025-10-11", + "value": 2.5 + }, + { + "date": "2025-10-17", + "value": 3.3 + }, + { + "date": "2025-10-23", + "value": 3.3 + }, + { + "date": "2025-11-06", + "value": 2.5 + }, + { + "date": "2025-11-12", + "value": 2.5 + }, + { + "date": "2025-11-18", + "value": 2.5 + }, + { + "date": "2025-11-24", + "value": 3.3 + }, + { + "date": "2025-12-04", + "value": 2.5 + }, + { + "date": "2025-12-10", + "value": 2.5 + }, + { + "date": "2025-12-16", + "value": 2.5 + }, + { + "date": "2025-12-22", + "value": 1.6 + }, + { + "date": "2026-01-05", + "value": 3.3 + }, + { + "date": "2026-01-11", + "value": 3.3 + }, + { + "date": "2026-01-17", + "value": 2.5 + }, + { + "date": "2026-01-23", + "value": 2.5 + }, + { + "date": "2026-02-06", + "value": 3.3 + }, + { + "date": "2026-02-12", + "value": 1.6 + }, + { + "date": "2026-02-18", + "value": 2.5 + }, + { + "date": "2026-02-24", + "value": 2.5 + }, + { + "date": "2026-03-04", + "value": 2.5 + }, + { + "date": "2026-03-10", + "value": 2.5 + }, + { + "date": "2026-03-16", + "value": 2.5 + }, + { + "date": "2026-03-22", + "value": 3.3 + }, + { + "date": "2026-04-05", + "value": 2.5 + }, + { + "date": "2026-04-11", + "value": 2.5 + }, + { + "date": "2026-04-17", + "value": 2.5 + }, + { + "date": "2026-04-23", + "value": 2.5 + }, + { + "date": "2026-05-06", + "value": 2.5 + }, + { + "date": "2026-05-12", + "value": 2.5 + }, + { + "date": "2026-05-18", + "value": 2.5 + }, + { + "date": "2026-05-24", + "value": 2.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2022-06", + "mean": 0.8, + "median": 0.8, + "p10": 0.8, + "p25": 0.8, + "p75": 0.8, + "p90": 0.8, + "n": 1 + }, + { + "month": "2022-07", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2022-08", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2022-10", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-11", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2023-01", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2023-04", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2023-05", + "mean": 4.9, + "median": 4.9, + "p10": 4.9, + "p25": 4.9, + "p75": 4.9, + "p90": 4.9, + "n": 1 + }, + { + "month": "2023-07", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2023-09", + "mean": 10.7, + "median": 10.7, + "p10": 10.7, + "p25": 10.7, + "p75": 10.7, + "p90": 10.7, + "n": 1 + }, + { + "month": "2023-11", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 5.7, + "median": 5.7, + "p10": 5.7, + "p25": 5.7, + "p75": 5.7, + "p90": 5.7, + "n": 1 + }, + { + "month": "2024-03", + "mean": 0.8, + "median": 0.8, + "p10": 0.8, + "p25": 0.8, + "p75": 0.8, + "p90": 0.8, + "n": 1 + }, + { + "month": "2024-05", + "mean": 3.3, + "median": 3.3, + "p10": 3.3, + "p25": 3.3, + "p75": 3.3, + "p90": 3.3, + "n": 1 + }, + { + "month": "2024-07", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-09", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2024-11", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 1 + }, + { + "month": "2025-03", + "mean": 6.6, + "median": 6.6, + "p10": 6.6, + "p25": 6.6, + "p75": 6.6, + "p90": 6.6, + "n": 1 + }, + { + "month": "2025-06", + "mean": 1.6, + "median": 1.6, + "p10": 1.6, + "p25": 1.6, + "p75": 1.6, + "p90": 1.6, + "n": 1 + }, + { + "month": "2025-08", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-09", + "mean": 2.3, + "median": 2.5, + "p10": 1.9, + "p25": 2.3, + "p75": 2.5, + "p90": 2.5, + "n": 4 + }, + { + "month": "2025-10", + "mean": 2.9, + "median": 2.9, + "p10": 2.5, + "p25": 2.5, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2025-11", + "mean": 2.7, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2025-12", + "mean": 2.3, + "median": 2.5, + "p10": 1.9, + "p25": 2.3, + "p75": 2.5, + "p90": 2.5, + "n": 4 + }, + { + "month": "2026-01", + "mean": 2.9, + "median": 2.9, + "p10": 2.5, + "p25": 2.5, + "p75": 3.3, + "p90": 3.3, + "n": 4 + }, + { + "month": "2026-02", + "mean": 2.5, + "median": 2.5, + "p10": 1.9, + "p25": 2.3, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-03", + "mean": 2.7, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.7, + "p90": 3.0, + "n": 4 + }, + { + "month": "2026-04", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 4 + }, + { + "month": "2026-05", + "mean": 2.5, + "median": 2.5, + "p10": 2.5, + "p25": 2.5, + "p75": 2.5, + "p90": 2.5, + "n": 4 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": { + "median": 99.2, + "mean": 98.5, + "reference": 100.0, + "n": 58 + }, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 7.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 7.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 6.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "post_qa_ship_pla", + "label": "Post-QA Dwell (PL-A)", + "type": "post_qa_ship", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 57, + "mean": 10.4, + "median": 9.8, + "std": 4.6, + "min": 1.6, + "max": 34.4, + "p25": 8.2, + "p75": 11.5, + "p85": 12.3, + "p95": 16.7 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "cost": { + "unit_price": 23.37, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2023-03", + "n_events": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "n_events": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "n_events": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 264000.0 + } + ] + }, + "observations": [ + { + "date": "2023-03-10", + "value": 6.6 + }, + { + "date": "2023-03-25", + "value": 18.0 + }, + { + "date": "2023-09-20", + "value": 34.4 + }, + { + "date": "2024-03-15", + "value": 4.9 + }, + { + "date": "2024-03-28", + "value": 14.8 + }, + { + "date": "2024-09-05", + "value": 23.0 + }, + { + "date": "2024-09-15", + "value": 9.8 + }, + { + "date": "2024-09-25", + "value": 1.6 + }, + { + "date": "2025-03-10", + "value": 12.3 + }, + { + "date": "2025-03-22", + "value": 4.1 + }, + { + "date": "2025-07-08", + "value": 16.4 + }, + { + "date": "2025-07-22", + "value": 3.3 + }, + { + "date": "2025-09-05", + "value": 11.5 + }, + { + "date": "2025-09-11", + "value": 12.3 + }, + { + "date": "2025-09-17", + "value": 8.2 + }, + { + "date": "2025-09-23", + "value": 9.0 + }, + { + "date": "2025-09-29", + "value": 9.8 + }, + { + "date": "2025-10-06", + "value": 11.5 + }, + { + "date": "2025-10-12", + "value": 6.6 + }, + { + "date": "2025-10-18", + "value": 8.2 + }, + { + "date": "2025-10-24", + "value": 9.0 + }, + { + "date": "2025-10-30", + "value": 9.0 + }, + { + "date": "2025-11-04", + "value": 8.2 + }, + { + "date": "2025-11-10", + "value": 9.8 + }, + { + "date": "2025-11-16", + "value": 9.8 + }, + { + "date": "2025-11-22", + "value": 10.7 + }, + { + "date": "2025-11-28", + "value": 11.5 + }, + { + "date": "2025-12-05", + "value": 8.2 + }, + { + "date": "2025-12-11", + "value": 9.0 + }, + { + "date": "2025-12-17", + "value": 9.8 + }, + { + "date": "2025-12-23", + "value": 10.7 + }, + { + "date": "2025-12-29", + "value": 11.5 + }, + { + "date": "2026-01-06", + "value": 10.7 + }, + { + "date": "2026-01-12", + "value": 11.5 + }, + { + "date": "2026-01-18", + "value": 12.3 + }, + { + "date": "2026-01-24", + "value": 13.1 + }, + { + "date": "2026-01-30", + "value": 9.0 + }, + { + "date": "2026-02-04", + "value": 10.7 + }, + { + "date": "2026-02-10", + "value": 11.5 + }, + { + "date": "2026-02-16", + "value": 12.3 + }, + { + "date": "2026-02-22", + "value": 8.2 + }, + { + "date": "2026-02-28", + "value": 9.0 + }, + { + "date": "2026-03-05", + "value": 10.7 + }, + { + "date": "2026-03-11", + "value": 11.5 + }, + { + "date": "2026-03-17", + "value": 6.6 + }, + { + "date": "2026-03-23", + "value": 8.2 + }, + { + "date": "2026-03-29", + "value": 9.0 + }, + { + "date": "2026-04-06", + "value": 13.1 + }, + { + "date": "2026-04-12", + "value": 8.2 + }, + { + "date": "2026-04-18", + "value": 9.8 + }, + { + "date": "2026-04-24", + "value": 9.8 + }, + { + "date": "2026-04-30", + "value": 10.7 + }, + { + "date": "2026-05-04", + "value": 7.4 + }, + { + "date": "2026-05-10", + "value": 8.2 + }, + { + "date": "2026-05-16", + "value": 9.0 + }, + { + "date": "2026-05-22", + "value": 9.8 + }, + { + "date": "2026-05-28", + "value": 10.7 + } + ], + "monthly": [ + { + "month": "2023-03", + "mean": 12.3, + "median": 12.3, + "p10": 7.7, + "p25": 9.4, + "p75": 15.2, + "p90": 16.9, + "n": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "mean": 34.4, + "median": 34.4, + "p10": 34.4, + "p25": 34.4, + "p75": 34.4, + "p90": 34.4, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "mean": 9.8, + "median": 9.8, + "p10": 5.9, + "p25": 7.4, + "p75": 12.3, + "p90": 13.8, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "mean": 11.5, + "median": 9.8, + "p10": 3.3, + "p25": 5.7, + "p75": 16.4, + "p90": 20.3, + "n": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "mean": 8.2, + "median": 8.2, + "p10": 4.9, + "p25": 6.1, + "p75": 10.2, + "p90": 11.5, + "n": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "mean": 9.8, + "median": 9.8, + "p10": 4.6, + "p25": 6.6, + "p75": 13.1, + "p90": 15.1, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "mean": 10.2, + "median": 9.8, + "p10": 8.5, + "p25": 9.0, + "p75": 11.5, + "p90": 12.0, + "n": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "mean": 8.9, + "median": 9.0, + "p10": 7.2, + "p25": 8.2, + "p75": 9.0, + "p90": 10.5, + "n": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "mean": 10.0, + "median": 9.8, + "p10": 8.9, + "p25": 9.8, + "p75": 10.7, + "p90": 11.2, + "n": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "mean": 9.8, + "median": 9.8, + "p10": 8.5, + "p25": 9.0, + "p75": 10.7, + "p90": 11.2, + "n": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "mean": 11.3, + "median": 11.5, + "p10": 9.7, + "p25": 10.7, + "p75": 12.3, + "p90": 12.8, + "n": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "mean": 10.3, + "median": 10.7, + "p10": 8.5, + "p25": 9.0, + "p75": 11.5, + "p90": 12.0, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "mean": 9.2, + "median": 9.0, + "p10": 7.2, + "p25": 8.2, + "p75": 10.7, + "p90": 11.2, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "mean": 10.3, + "median": 9.8, + "p10": 8.9, + "p25": 9.8, + "p75": 10.7, + "p90": 12.1, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "mean": 9.0, + "median": 9.0, + "p10": 7.7, + "p25": 8.2, + "p75": 9.8, + "p90": 10.3, + "n": 5, + "total_kg_days": 264000.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "direct_ship_pla", + "label": "Direct-to-Customer Ship", + "type": "transit", + "material": "90000300001", + "plant": "PL-A\u2192Customer", + "stats": { + "n": 35, + "mean": 17.1, + "median": 17.2, + "std": 3.8, + "min": 9.8, + "max": 31.2, + "p25": 15.2, + "p75": 18.9, + "p85": 20.4, + "p95": 21.8 + }, + "plifz": null, + "plifz_note": "No planning parameter set", + "pct_exceeding_plifz": null, + "cost": null, + "observations": [ + { + "date": "2023-04-05", + "value": 14.8 + }, + { + "date": "2023-10-12", + "value": 20.5 + }, + { + "date": "2024-04-08", + "value": 9.8 + }, + { + "date": "2024-09-20", + "value": 31.2 + }, + { + "date": "2024-10-15", + "value": 16.4 + }, + { + "date": "2025-03-25", + "value": 12.3 + }, + { + "date": "2025-04-10", + "value": 23.0 + }, + { + "date": "2025-07-30", + "value": 19.7 + }, + { + "date": "2025-09-04", + "value": 13.9 + }, + { + "date": "2025-09-10", + "value": 15.6 + }, + { + "date": "2025-09-16", + "value": 17.2 + }, + { + "date": "2025-10-05", + "value": 13.9 + }, + { + "date": "2025-10-11", + "value": 15.6 + }, + { + "date": "2025-10-17", + "value": 16.4 + }, + { + "date": "2025-11-06", + "value": 18.0 + }, + { + "date": "2025-11-12", + "value": 18.9 + }, + { + "date": "2025-11-18", + "value": 20.5 + }, + { + "date": "2025-12-04", + "value": 17.2 + }, + { + "date": "2025-12-10", + "value": 18.9 + }, + { + "date": "2025-12-16", + "value": 20.5 + }, + { + "date": "2026-01-05", + "value": 17.2 + }, + { + "date": "2026-01-11", + "value": 18.9 + }, + { + "date": "2026-01-17", + "value": 11.5 + }, + { + "date": "2026-02-06", + "value": 21.3 + }, + { + "date": "2026-02-12", + "value": 13.9 + }, + { + "date": "2026-02-18", + "value": 15.6 + }, + { + "date": "2026-03-04", + "value": 12.3 + }, + { + "date": "2026-03-10", + "value": 13.9 + }, + { + "date": "2026-03-16", + "value": 15.6 + }, + { + "date": "2026-04-05", + "value": 16.4 + }, + { + "date": "2026-04-11", + "value": 18.0 + }, + { + "date": "2026-04-17", + "value": 18.9 + }, + { + "date": "2026-05-06", + "value": 16.4 + }, + { + "date": "2026-05-12", + "value": 17.2 + }, + { + "date": "2026-05-18", + "value": 18.9 + } + ], + "monthly": [ + { + "month": "2023-04", + "mean": 14.8, + "median": 14.8, + "p10": 14.8, + "p25": 14.8, + "p75": 14.8, + "p90": 14.8, + "n": 1 + }, + { + "month": "2023-10", + "mean": 20.5, + "median": 20.5, + "p10": 20.5, + "p25": 20.5, + "p75": 20.5, + "p90": 20.5, + "n": 1 + }, + { + "month": "2024-04", + "mean": 9.8, + "median": 9.8, + "p10": 9.8, + "p25": 9.8, + "p75": 9.8, + "p90": 9.8, + "n": 1 + }, + { + "month": "2024-09", + "mean": 31.2, + "median": 31.2, + "p10": 31.2, + "p25": 31.2, + "p75": 31.2, + "p90": 31.2, + "n": 1 + }, + { + "month": "2024-10", + "mean": 16.4, + "median": 16.4, + "p10": 16.4, + "p25": 16.4, + "p75": 16.4, + "p90": 16.4, + "n": 1 + }, + { + "month": "2025-03", + "mean": 12.3, + "median": 12.3, + "p10": 12.3, + "p25": 12.3, + "p75": 12.3, + "p90": 12.3, + "n": 1 + }, + { + "month": "2025-04", + "mean": 23.0, + "median": 23.0, + "p10": 23.0, + "p25": 23.0, + "p75": 23.0, + "p90": 23.0, + "n": 1 + }, + { + "month": "2025-07", + "mean": 19.7, + "median": 19.7, + "p10": 19.7, + "p25": 19.7, + "p75": 19.7, + "p90": 19.7, + "n": 1 + }, + { + "month": "2025-09", + "mean": 15.6, + "median": 15.6, + "p10": 14.3, + "p25": 14.8, + "p75": 16.4, + "p90": 16.9, + "n": 3 + }, + { + "month": "2025-10", + "mean": 15.3, + "median": 15.6, + "p10": 14.3, + "p25": 14.8, + "p75": 16.0, + "p90": 16.2, + "n": 3 + }, + { + "month": "2025-11", + "mean": 19.1, + "median": 18.9, + "p10": 18.2, + "p25": 18.4, + "p75": 19.7, + "p90": 20.2, + "n": 3 + }, + { + "month": "2025-12", + "mean": 18.9, + "median": 18.9, + "p10": 17.5, + "p25": 18.0, + "p75": 19.7, + "p90": 20.2, + "n": 3 + }, + { + "month": "2026-01", + "mean": 15.8, + "median": 17.2, + "p10": 12.6, + "p25": 14.3, + "p75": 18.0, + "p90": 18.5, + "n": 3 + }, + { + "month": "2026-02", + "mean": 17.0, + "median": 15.6, + "p10": 14.3, + "p25": 14.8, + "p75": 18.4, + "p90": 20.2, + "n": 3 + }, + { + "month": "2026-03", + "mean": 13.9, + "median": 13.9, + "p10": 12.6, + "p25": 13.1, + "p75": 14.8, + "p90": 15.3, + "n": 3 + }, + { + "month": "2026-04", + "mean": 17.8, + "median": 18.0, + "p10": 16.7, + "p25": 17.2, + "p75": 18.4, + "p90": 18.7, + "n": 3 + }, + { + "month": "2026-05", + "mean": 17.5, + "median": 17.2, + "p10": 16.6, + "p25": 16.8, + "p75": 18.0, + "p90": 18.5, + "n": 3 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 22.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 22.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "transit_pla_hub1", + "label": "Transit PL-A \u2192 HUB-1", + "type": "transit", + "material": "90000300001", + "plant": "PL-A\u2192HUB-1", + "stats": { + "n": 42, + "mean": 25.7, + "median": 25.0, + "std": 5.8, + "min": 12.3, + "max": 45.1, + "p25": 22.1, + "p75": 29.5, + "p85": 31.2, + "p95": 34.4 + }, + "plifz": 28, + "plifz_note": null, + "pct_exceeding_plifz": 61.9, + "cost": null, + "observations": [ + { + "date": "2022-07-20", + "value": 23.0 + }, + { + "date": "2022-11-30", + "value": 28.7 + }, + { + "date": "2023-03-15", + "value": 18.0 + }, + { + "date": "2023-07-10", + "value": 34.4 + }, + { + "date": "2023-10-25", + "value": 24.6 + }, + { + "date": "2024-02-08", + "value": 45.1 + }, + { + "date": "2024-05-20", + "value": 20.5 + }, + { + "date": "2024-08-12", + "value": 31.2 + }, + { + "date": "2024-11-05", + "value": 12.3 + }, + { + "date": "2025-01-22", + "value": 26.2 + }, + { + "date": "2025-04-10", + "value": 23.0 + }, + { + "date": "2025-06-18", + "value": 36.9 + }, + { + "date": "2025-07-15", + "value": 24.6 + }, + { + "date": "2025-08-05", + "value": 18.0 + }, + { + "date": "2025-09-05", + "value": 29.5 + }, + { + "date": "2025-09-10", + "value": 31.2 + }, + { + "date": "2025-09-11", + "value": 32.0 + }, + { + "date": "2025-09-17", + "value": 21.3 + }, + { + "date": "2025-10-06", + "value": 29.5 + }, + { + "date": "2025-10-12", + "value": 18.9 + }, + { + "date": "2025-10-18", + "value": 21.3 + }, + { + "date": "2025-11-04", + "value": 22.1 + }, + { + "date": "2025-11-10", + "value": 25.4 + }, + { + "date": "2025-11-16", + "value": 27.1 + }, + { + "date": "2025-12-05", + "value": 22.1 + }, + { + "date": "2025-12-11", + "value": 23.8 + }, + { + "date": "2025-12-17", + "value": 26.2 + }, + { + "date": "2026-01-06", + "value": 21.3 + }, + { + "date": "2026-01-12", + "value": 23.8 + }, + { + "date": "2026-01-18", + "value": 25.4 + }, + { + "date": "2026-02-04", + "value": 27.1 + }, + { + "date": "2026-02-10", + "value": 29.5 + }, + { + "date": "2026-02-16", + "value": 32.0 + }, + { + "date": "2026-03-05", + "value": 27.1 + }, + { + "date": "2026-03-11", + "value": 29.5 + }, + { + "date": "2026-03-17", + "value": 18.9 + }, + { + "date": "2026-04-06", + "value": 32.8 + }, + { + "date": "2026-04-12", + "value": 22.1 + }, + { + "date": "2026-04-18", + "value": 25.4 + }, + { + "date": "2026-05-04", + "value": 19.7 + }, + { + "date": "2026-05-10", + "value": 22.1 + }, + { + "date": "2026-05-16", + "value": 23.8 + } + ], + "monthly": [ + { + "month": "2022-07", + "mean": 23.0, + "median": 23.0, + "p10": 23.0, + "p25": 23.0, + "p75": 23.0, + "p90": 23.0, + "n": 1 + }, + { + "month": "2022-11", + "mean": 28.7, + "median": 28.7, + "p10": 28.7, + "p25": 28.7, + "p75": 28.7, + "p90": 28.7, + "n": 1 + }, + { + "month": "2023-03", + "mean": 18.0, + "median": 18.0, + "p10": 18.0, + "p25": 18.0, + "p75": 18.0, + "p90": 18.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 34.4, + "median": 34.4, + "p10": 34.4, + "p25": 34.4, + "p75": 34.4, + "p90": 34.4, + "n": 1 + }, + { + "month": "2023-10", + "mean": 24.6, + "median": 24.6, + "p10": 24.6, + "p25": 24.6, + "p75": 24.6, + "p90": 24.6, + "n": 1 + }, + { + "month": "2024-02", + "mean": 45.1, + "median": 45.1, + "p10": 45.1, + "p25": 45.1, + "p75": 45.1, + "p90": 45.1, + "n": 1 + }, + { + "month": "2024-05", + "mean": 20.5, + "median": 20.5, + "p10": 20.5, + "p25": 20.5, + "p75": 20.5, + "p90": 20.5, + "n": 1 + }, + { + "month": "2024-08", + "mean": 31.2, + "median": 31.2, + "p10": 31.2, + "p25": 31.2, + "p75": 31.2, + "p90": 31.2, + "n": 1 + }, + { + "month": "2024-11", + "mean": 12.3, + "median": 12.3, + "p10": 12.3, + "p25": 12.3, + "p75": 12.3, + "p90": 12.3, + "n": 1 + }, + { + "month": "2025-01", + "mean": 26.2, + "median": 26.2, + "p10": 26.2, + "p25": 26.2, + "p75": 26.2, + "p90": 26.2, + "n": 1 + }, + { + "month": "2025-04", + "mean": 23.0, + "median": 23.0, + "p10": 23.0, + "p25": 23.0, + "p75": 23.0, + "p90": 23.0, + "n": 1 + }, + { + "month": "2025-06", + "mean": 36.9, + "median": 36.9, + "p10": 36.9, + "p25": 36.9, + "p75": 36.9, + "p90": 36.9, + "n": 1 + }, + { + "month": "2025-07", + "mean": 24.6, + "median": 24.6, + "p10": 24.6, + "p25": 24.6, + "p75": 24.6, + "p90": 24.6, + "n": 1 + }, + { + "month": "2025-08", + "mean": 18.0, + "median": 18.0, + "p10": 18.0, + "p25": 18.0, + "p75": 18.0, + "p90": 18.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 28.5, + "median": 30.3, + "p10": 23.8, + "p25": 27.5, + "p75": 31.4, + "p90": 31.7, + "n": 4 + }, + { + "month": "2025-10", + "mean": 23.2, + "median": 21.3, + "p10": 19.4, + "p25": 20.1, + "p75": 25.4, + "p90": 27.9, + "n": 3 + }, + { + "month": "2025-11", + "mean": 24.8, + "median": 25.4, + "p10": 22.8, + "p25": 23.8, + "p75": 26.2, + "p90": 26.7, + "n": 3 + }, + { + "month": "2025-12", + "mean": 24.0, + "median": 23.8, + "p10": 22.5, + "p25": 23.0, + "p75": 25.0, + "p90": 25.7, + "n": 3 + }, + { + "month": "2026-01", + "mean": 23.5, + "median": 23.8, + "p10": 21.8, + "p25": 22.5, + "p75": 24.6, + "p90": 25.1, + "n": 3 + }, + { + "month": "2026-02", + "mean": 29.5, + "median": 29.5, + "p10": 27.6, + "p25": 28.3, + "p75": 30.7, + "p90": 31.5, + "n": 3 + }, + { + "month": "2026-03", + "mean": 25.2, + "median": 27.1, + "p10": 20.5, + "p25": 23.0, + "p75": 28.3, + "p90": 29.0, + "n": 3 + }, + { + "month": "2026-04", + "mean": 26.8, + "median": 25.4, + "p10": 22.8, + "p25": 23.8, + "p75": 29.1, + "p90": 31.3, + "n": 3 + }, + { + "month": "2026-05", + "mean": 21.9, + "median": 22.1, + "p10": 20.2, + "p25": 20.9, + "p75": 23.0, + "p90": 23.5, + "n": 3 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "dest_dwell_hub1", + "label": "Destination Dwell (HUB-1)", + "type": "destination_dwell", + "material": "90000300001", + "plant": "HUB-1", + "stats": { + "n": 37, + "mean": 36.9, + "median": 36.1, + "std": 11.5, + "min": 8.2, + "max": 77.9, + "p25": 29.5, + "p75": 40.2, + "p85": 43.5, + "p95": 55.4 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "cost": { + "unit_price": 23.37, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2022-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "n_events": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "n_events": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "n_events": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "n_events": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "n_events": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "n_events": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "n_events": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "n_events": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "n_events": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "n_events": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "n_events": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "n_events": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "n_events": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "n_events": 3, + "total_kg_days": 585600.0 + } + ] + }, + "observations": [ + { + "date": "2022-09-15", + "value": 34.4 + }, + { + "date": "2023-05-05", + "value": 53.3 + }, + { + "date": "2023-05-20", + "value": 23.0 + }, + { + "date": "2024-01-10", + "value": 77.9 + }, + { + "date": "2024-01-25", + "value": 28.7 + }, + { + "date": "2024-08-15", + "value": 8.2 + }, + { + "date": "2025-02-05", + "value": 64.0 + }, + { + "date": "2025-02-18", + "value": 45.1 + }, + { + "date": "2025-08-10", + "value": 34.4 + }, + { + "date": "2025-08-20", + "value": 26.2 + }, + { + "date": "2025-09-06", + "value": 32.0 + }, + { + "date": "2025-09-12", + "value": 34.4 + }, + { + "date": "2025-09-18", + "value": 37.7 + }, + { + "date": "2025-10-04", + "value": 40.2 + }, + { + "date": "2025-10-10", + "value": 43.5 + }, + { + "date": "2025-10-16", + "value": 46.7 + }, + { + "date": "2025-11-05", + "value": 39.4 + }, + { + "date": "2025-11-11", + "value": 42.6 + }, + { + "date": "2025-11-17", + "value": 27.9 + }, + { + "date": "2025-12-06", + "value": 39.4 + }, + { + "date": "2025-12-12", + "value": 24.6 + }, + { + "date": "2025-12-18", + "value": 27.9 + }, + { + "date": "2026-01-04", + "value": 29.5 + }, + { + "date": "2026-01-10", + "value": 33.6 + }, + { + "date": "2026-01-16", + "value": 35.3 + }, + { + "date": "2026-02-05", + "value": 29.5 + }, + { + "date": "2026-02-11", + "value": 32.0 + }, + { + "date": "2026-02-17", + "value": 34.4 + }, + { + "date": "2026-03-06", + "value": 37.7 + }, + { + "date": "2026-03-12", + "value": 40.2 + }, + { + "date": "2026-03-18", + "value": 43.5 + }, + { + "date": "2026-04-04", + "value": 36.9 + }, + { + "date": "2026-04-10", + "value": 39.4 + }, + { + "date": "2026-04-16", + "value": 42.6 + }, + { + "date": "2026-05-05", + "value": 36.1 + }, + { + "date": "2026-05-11", + "value": 39.4 + }, + { + "date": "2026-05-17", + "value": 24.6 + } + ], + "monthly": [ + { + "month": "2022-09", + "mean": 34.4, + "median": 34.4, + "p10": 34.4, + "p25": 34.4, + "p75": 34.4, + "p90": 34.4, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "mean": 38.1, + "median": 38.1, + "p10": 26.0, + "p25": 30.6, + "p75": 45.8, + "p90": 50.3, + "n": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "mean": 53.3, + "median": 53.3, + "p10": 33.6, + "p25": 41.0, + "p75": 65.6, + "p90": 73.0, + "n": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "mean": 8.2, + "median": 8.2, + "p10": 8.2, + "p25": 8.2, + "p75": 8.2, + "p90": 8.2, + "n": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "mean": 54.5, + "median": 54.5, + "p10": 47.0, + "p25": 49.9, + "p75": 59.3, + "p90": 62.1, + "n": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "mean": 30.3, + "median": 30.3, + "p10": 27.1, + "p25": 28.3, + "p75": 32.4, + "p90": 33.6, + "n": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "mean": 34.7, + "median": 34.4, + "p10": 32.5, + "p25": 33.2, + "p75": 36.1, + "p90": 37.1, + "n": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "mean": 43.5, + "median": 43.5, + "p10": 40.8, + "p25": 41.8, + "p75": 45.1, + "p90": 46.1, + "n": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "mean": 36.7, + "median": 39.4, + "p10": 30.2, + "p25": 33.6, + "p75": 41.0, + "p90": 42.0, + "n": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "mean": 30.6, + "median": 27.9, + "p10": 25.3, + "p25": 26.2, + "p75": 33.6, + "p90": 37.1, + "n": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "mean": 32.8, + "median": 33.6, + "p10": 30.3, + "p25": 31.6, + "p75": 34.4, + "p90": 34.9, + "n": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "mean": 32.0, + "median": 32.0, + "p10": 30.0, + "p25": 30.7, + "p75": 33.2, + "p90": 33.9, + "n": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "mean": 40.4, + "median": 40.2, + "p10": 38.2, + "p25": 38.9, + "p75": 41.8, + "p90": 42.8, + "n": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "mean": 39.6, + "median": 39.4, + "p10": 37.4, + "p25": 38.1, + "p75": 41.0, + "p90": 42.0, + "n": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "mean": 33.4, + "median": 36.1, + "p10": 26.9, + "p25": 30.3, + "p75": 37.7, + "p90": 38.7, + "n": 3, + "total_kg_days": 585600.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 45.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 45.0, + "expected_marginal_per_day": 1.0 + } + } + } + ] + }, + { + "id": "meadow-espresso", + "name": "Meadow Espresso", + "nodes": [ + { + "id": "procurement_highland_arabica", + "label": "Procurement: Highland Arabica", + "type": "procurement", + "material": "90000100001", + "plant": "PL-A", + "stats": { + "n": 59, + "mean": 54.3, + "median": 54.0, + "std": 18.0, + "min": 10.8, + "max": 141.8, + "p25": 47.2, + "p75": 60.8, + "p85": 64.8, + "p95": 75.3 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 98.3, + "cost": null, + "observations": [ + { + "date": "2022-03-15", + "value": 74.2 + }, + { + "date": "2022-06-10", + "value": 56.7 + }, + { + "date": "2022-09-22", + "value": 10.8 + }, + { + "date": "2022-12-05", + "value": 85.1 + }, + { + "date": "2023-02-14", + "value": 51.3 + }, + { + "date": "2023-05-30", + "value": 29.7 + }, + { + "date": "2023-08-17", + "value": 95.9 + }, + { + "date": "2023-11-02", + "value": 40.5 + }, + { + "date": "2024-01-25", + "value": 60.8 + }, + { + "date": "2024-04-11", + "value": 24.3 + }, + { + "date": "2024-07-09", + "value": 141.8 + }, + { + "date": "2024-10-03", + "value": 47.2 + }, + { + "date": "2025-01-20", + "value": 16.2 + }, + { + "date": "2025-04-08", + "value": 64.8 + }, + { + "date": "2025-09-05", + "value": 52.7 + }, + { + "date": "2025-09-11", + "value": 55.4 + }, + { + "date": "2025-09-17", + "value": 59.4 + }, + { + "date": "2025-09-23", + "value": 64.8 + }, + { + "date": "2025-09-29", + "value": 68.9 + }, + { + "date": "2025-10-06", + "value": 50.0 + }, + { + "date": "2025-10-12", + "value": 54.0 + }, + { + "date": "2025-10-18", + "value": 59.4 + }, + { + "date": "2025-10-24", + "value": 63.5 + }, + { + "date": "2025-10-30", + "value": 41.9 + }, + { + "date": "2025-11-04", + "value": 48.6 + }, + { + "date": "2025-11-10", + "value": 54.0 + }, + { + "date": "2025-11-16", + "value": 58.1 + }, + { + "date": "2025-11-22", + "value": 36.5 + }, + { + "date": "2025-11-28", + "value": 41.9 + }, + { + "date": "2025-12-05", + "value": 62.1 + }, + { + "date": "2025-12-11", + "value": 66.2 + }, + { + "date": "2025-12-17", + "value": 44.6 + }, + { + "date": "2025-12-23", + "value": 50.0 + }, + { + "date": "2025-12-29", + "value": 52.7 + }, + { + "date": "2026-01-06", + "value": 60.8 + }, + { + "date": "2026-01-12", + "value": 39.2 + }, + { + "date": "2026-01-18", + "value": 44.6 + }, + { + "date": "2026-01-24", + "value": 47.2 + }, + { + "date": "2026-01-30", + "value": 51.3 + }, + { + "date": "2026-02-04", + "value": 47.2 + }, + { + "date": "2026-02-10", + "value": 52.7 + }, + { + "date": "2026-02-16", + "value": 55.4 + }, + { + "date": "2026-02-22", + "value": 59.4 + }, + { + "date": "2026-02-28", + "value": 64.8 + }, + { + "date": "2026-03-05", + "value": 47.2 + }, + { + "date": "2026-03-11", + "value": 50.0 + }, + { + "date": "2026-03-17", + "value": 54.0 + }, + { + "date": "2026-03-23", + "value": 59.4 + }, + { + "date": "2026-03-29", + "value": 63.5 + }, + { + "date": "2026-04-06", + "value": 44.6 + }, + { + "date": "2026-04-12", + "value": 48.6 + }, + { + "date": "2026-04-18", + "value": 54.0 + }, + { + "date": "2026-04-24", + "value": 58.1 + }, + { + "date": "2026-04-30", + "value": 36.5 + }, + { + "date": "2026-05-04", + "value": 56.7 + }, + { + "date": "2026-05-10", + "value": 62.1 + }, + { + "date": "2026-05-16", + "value": 66.2 + }, + { + "date": "2026-05-22", + "value": 44.6 + }, + { + "date": "2026-05-28", + "value": 50.0 + } + ], + "monthly": [ + { + "month": "2022-03", + "mean": 74.2, + "median": 74.2, + "p10": 74.2, + "p25": 74.2, + "p75": 74.2, + "p90": 74.2, + "n": 1 + }, + { + "month": "2022-06", + "mean": 56.7, + "median": 56.7, + "p10": 56.7, + "p25": 56.7, + "p75": 56.7, + "p90": 56.7, + "n": 1 + }, + { + "month": "2022-09", + "mean": 10.8, + "median": 10.8, + "p10": 10.8, + "p25": 10.8, + "p75": 10.8, + "p90": 10.8, + "n": 1 + }, + { + "month": "2022-12", + "mean": 85.1, + "median": 85.1, + "p10": 85.1, + "p25": 85.1, + "p75": 85.1, + "p90": 85.1, + "n": 1 + }, + { + "month": "2023-02", + "mean": 51.3, + "median": 51.3, + "p10": 51.3, + "p25": 51.3, + "p75": 51.3, + "p90": 51.3, + "n": 1 + }, + { + "month": "2023-05", + "mean": 29.7, + "median": 29.7, + "p10": 29.7, + "p25": 29.7, + "p75": 29.7, + "p90": 29.7, + "n": 1 + }, + { + "month": "2023-08", + "mean": 95.9, + "median": 95.9, + "p10": 95.9, + "p25": 95.9, + "p75": 95.9, + "p90": 95.9, + "n": 1 + }, + { + "month": "2023-11", + "mean": 40.5, + "median": 40.5, + "p10": 40.5, + "p25": 40.5, + "p75": 40.5, + "p90": 40.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 60.8, + "median": 60.8, + "p10": 60.8, + "p25": 60.8, + "p75": 60.8, + "p90": 60.8, + "n": 1 + }, + { + "month": "2024-04", + "mean": 24.3, + "median": 24.3, + "p10": 24.3, + "p25": 24.3, + "p75": 24.3, + "p90": 24.3, + "n": 1 + }, + { + "month": "2024-07", + "mean": 141.8, + "median": 141.8, + "p10": 141.8, + "p25": 141.8, + "p75": 141.8, + "p90": 141.8, + "n": 1 + }, + { + "month": "2024-10", + "mean": 47.2, + "median": 47.2, + "p10": 47.2, + "p25": 47.2, + "p75": 47.2, + "p90": 47.2, + "n": 1 + }, + { + "month": "2025-01", + "mean": 16.2, + "median": 16.2, + "p10": 16.2, + "p25": 16.2, + "p75": 16.2, + "p90": 16.2, + "n": 1 + }, + { + "month": "2025-04", + "mean": 64.8, + "median": 64.8, + "p10": 64.8, + "p25": 64.8, + "p75": 64.8, + "p90": 64.8, + "n": 1 + }, + { + "month": "2025-09", + "mean": 60.2, + "median": 59.4, + "p10": 53.7, + "p25": 55.4, + "p75": 64.8, + "p90": 67.2, + "n": 5 + }, + { + "month": "2025-10", + "mean": 53.7, + "median": 54.0, + "p10": 45.1, + "p25": 50.0, + "p75": 59.4, + "p90": 61.8, + "n": 5 + }, + { + "month": "2025-11", + "mean": 47.8, + "median": 48.6, + "p10": 38.6, + "p25": 41.9, + "p75": 54.0, + "p90": 56.4, + "n": 5 + }, + { + "month": "2025-12", + "mean": 55.1, + "median": 52.7, + "p10": 46.7, + "p25": 50.0, + "p75": 62.1, + "p90": 64.5, + "n": 5 + }, + { + "month": "2026-01", + "mean": 48.6, + "median": 47.2, + "p10": 41.3, + "p25": 44.6, + "p75": 51.3, + "p90": 57.0, + "n": 5 + }, + { + "month": "2026-02", + "mean": 55.9, + "median": 55.4, + "p10": 49.4, + "p25": 52.7, + "p75": 59.4, + "p90": 62.6, + "n": 5 + }, + { + "month": "2026-03", + "mean": 54.8, + "median": 54.0, + "p10": 48.3, + "p25": 50.0, + "p75": 59.4, + "p90": 61.8, + "n": 5 + }, + { + "month": "2026-04", + "mean": 48.3, + "median": 48.6, + "p10": 39.7, + "p25": 44.6, + "p75": 54.0, + "p90": 56.4, + "n": 5 + }, + { + "month": "2026-05", + "mean": 55.9, + "median": 56.7, + "p10": 46.7, + "p25": 50.0, + "p75": 62.1, + "p90": 64.5, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "procurement_lowland_robusta", + "label": "Procurement: Lowland Robusta", + "type": "procurement", + "material": "90000100002", + "plant": "PL-A", + "stats": { + "n": 63, + "mean": 45.1, + "median": 44.6, + "std": 15.4, + "min": 6.8, + "max": 110.7, + "p25": 37.8, + "p75": 51.3, + "p85": 54.9, + "p95": 69.7 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 96.8, + "cost": null, + "observations": [ + { + "date": "2022-02-08", + "value": 43.2 + }, + { + "date": "2022-04-19", + "value": 64.8 + }, + { + "date": "2022-07-11", + "value": 6.8 + }, + { + "date": "2022-09-28", + "value": 90.5 + }, + { + "date": "2022-12-15", + "value": 33.8 + }, + { + "date": "2023-03-07", + "value": 55.4 + }, + { + "date": "2023-05-22", + "value": 20.2 + }, + { + "date": "2023-08-09", + "value": 110.7 + }, + { + "date": "2023-10-30", + "value": 51.3 + }, + { + "date": "2024-01-16", + "value": 27.0 + }, + { + "date": "2024-03-25", + "value": 70.2 + }, + { + "date": "2024-06-12", + "value": 13.5 + }, + { + "date": "2024-08-28", + "value": 59.4 + }, + { + "date": "2024-11-14", + "value": 37.8 + }, + { + "date": "2025-01-06", + "value": 47.2 + }, + { + "date": "2025-03-18", + "value": 24.3 + }, + { + "date": "2025-05-29", + "value": 74.2 + }, + { + "date": "2025-08-12", + "value": 35.1 + }, + { + "date": "2025-09-04", + "value": 35.1 + }, + { + "date": "2025-09-10", + "value": 39.2 + }, + { + "date": "2025-09-16", + "value": 41.9 + }, + { + "date": "2025-09-22", + "value": 45.9 + }, + { + "date": "2025-09-28", + "value": 50.0 + }, + { + "date": "2025-10-05", + "value": 35.1 + }, + { + "date": "2025-10-11", + "value": 37.8 + }, + { + "date": "2025-10-17", + "value": 41.9 + }, + { + "date": "2025-10-23", + "value": 44.6 + }, + { + "date": "2025-10-29", + "value": 48.6 + }, + { + "date": "2025-11-06", + "value": 44.6 + }, + { + "date": "2025-11-12", + "value": 48.6 + }, + { + "date": "2025-11-18", + "value": 51.3 + }, + { + "date": "2025-11-24", + "value": 56.7 + }, + { + "date": "2025-11-30", + "value": 37.8 + }, + { + "date": "2025-12-04", + "value": 43.2 + }, + { + "date": "2025-12-10", + "value": 47.2 + }, + { + "date": "2025-12-16", + "value": 51.3 + }, + { + "date": "2025-12-22", + "value": 32.4 + }, + { + "date": "2025-12-28", + "value": 37.8 + }, + { + "date": "2026-01-05", + "value": 54.0 + }, + { + "date": "2026-01-11", + "value": 58.1 + }, + { + "date": "2026-01-17", + "value": 39.2 + }, + { + "date": "2026-01-23", + "value": 44.6 + }, + { + "date": "2026-01-29", + "value": 47.2 + }, + { + "date": "2026-02-06", + "value": 54.0 + }, + { + "date": "2026-02-12", + "value": 35.1 + }, + { + "date": "2026-02-18", + "value": 39.2 + }, + { + "date": "2026-02-24", + "value": 41.9 + }, + { + "date": "2026-02-30", + "value": 45.9 + }, + { + "date": "2026-03-04", + "value": 29.7 + }, + { + "date": "2026-03-10", + "value": 35.1 + }, + { + "date": "2026-03-16", + "value": 37.8 + }, + { + "date": "2026-03-22", + "value": 41.9 + }, + { + "date": "2026-03-28", + "value": 44.6 + }, + { + "date": "2026-04-05", + "value": 41.9 + }, + { + "date": "2026-04-11", + "value": 44.6 + }, + { + "date": "2026-04-17", + "value": 48.6 + }, + { + "date": "2026-04-23", + "value": 51.3 + }, + { + "date": "2026-04-29", + "value": 56.7 + }, + { + "date": "2026-05-06", + "value": 40.5 + }, + { + "date": "2026-05-12", + "value": 43.2 + }, + { + "date": "2026-05-18", + "value": 47.2 + }, + { + "date": "2026-05-24", + "value": 51.3 + }, + { + "date": "2026-05-30", + "value": 32.4 + } + ], + "monthly": [ + { + "month": "2022-02", + "mean": 43.2, + "median": 43.2, + "p10": 43.2, + "p25": 43.2, + "p75": 43.2, + "p90": 43.2, + "n": 1 + }, + { + "month": "2022-04", + "mean": 64.8, + "median": 64.8, + "p10": 64.8, + "p25": 64.8, + "p75": 64.8, + "p90": 64.8, + "n": 1 + }, + { + "month": "2022-07", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2022-09", + "mean": 90.5, + "median": 90.5, + "p10": 90.5, + "p25": 90.5, + "p75": 90.5, + "p90": 90.5, + "n": 1 + }, + { + "month": "2022-12", + "mean": 33.8, + "median": 33.8, + "p10": 33.8, + "p25": 33.8, + "p75": 33.8, + "p90": 33.8, + "n": 1 + }, + { + "month": "2023-03", + "mean": 55.4, + "median": 55.4, + "p10": 55.4, + "p25": 55.4, + "p75": 55.4, + "p90": 55.4, + "n": 1 + }, + { + "month": "2023-05", + "mean": 20.2, + "median": 20.2, + "p10": 20.2, + "p25": 20.2, + "p75": 20.2, + "p90": 20.2, + "n": 1 + }, + { + "month": "2023-08", + "mean": 110.7, + "median": 110.7, + "p10": 110.7, + "p25": 110.7, + "p75": 110.7, + "p90": 110.7, + "n": 1 + }, + { + "month": "2023-10", + "mean": 51.3, + "median": 51.3, + "p10": 51.3, + "p25": 51.3, + "p75": 51.3, + "p90": 51.3, + "n": 1 + }, + { + "month": "2024-01", + "mean": 27.0, + "median": 27.0, + "p10": 27.0, + "p25": 27.0, + "p75": 27.0, + "p90": 27.0, + "n": 1 + }, + { + "month": "2024-03", + "mean": 70.2, + "median": 70.2, + "p10": 70.2, + "p25": 70.2, + "p75": 70.2, + "p90": 70.2, + "n": 1 + }, + { + "month": "2024-06", + "mean": 13.5, + "median": 13.5, + "p10": 13.5, + "p25": 13.5, + "p75": 13.5, + "p90": 13.5, + "n": 1 + }, + { + "month": "2024-08", + "mean": 59.4, + "median": 59.4, + "p10": 59.4, + "p25": 59.4, + "p75": 59.4, + "p90": 59.4, + "n": 1 + }, + { + "month": "2024-11", + "mean": 37.8, + "median": 37.8, + "p10": 37.8, + "p25": 37.8, + "p75": 37.8, + "p90": 37.8, + "n": 1 + }, + { + "month": "2025-01", + "mean": 47.2, + "median": 47.2, + "p10": 47.2, + "p25": 47.2, + "p75": 47.2, + "p90": 47.2, + "n": 1 + }, + { + "month": "2025-03", + "mean": 24.3, + "median": 24.3, + "p10": 24.3, + "p25": 24.3, + "p75": 24.3, + "p90": 24.3, + "n": 1 + }, + { + "month": "2025-05", + "mean": 74.2, + "median": 74.2, + "p10": 74.2, + "p25": 74.2, + "p75": 74.2, + "p90": 74.2, + "n": 1 + }, + { + "month": "2025-08", + "mean": 35.1, + "median": 35.1, + "p10": 35.1, + "p25": 35.1, + "p75": 35.1, + "p90": 35.1, + "n": 1 + }, + { + "month": "2025-09", + "mean": 42.4, + "median": 41.9, + "p10": 36.7, + "p25": 39.2, + "p75": 45.9, + "p90": 48.3, + "n": 5 + }, + { + "month": "2025-10", + "mean": 41.6, + "median": 41.9, + "p10": 36.2, + "p25": 37.8, + "p75": 44.6, + "p90": 47.0, + "n": 5 + }, + { + "month": "2025-11", + "mean": 47.8, + "median": 48.6, + "p10": 40.5, + "p25": 44.6, + "p75": 51.3, + "p90": 54.5, + "n": 5 + }, + { + "month": "2025-12", + "mean": 42.4, + "median": 43.2, + "p10": 34.6, + "p25": 37.8, + "p75": 47.2, + "p90": 49.7, + "n": 5 + }, + { + "month": "2026-01", + "mean": 48.6, + "median": 47.2, + "p10": 41.3, + "p25": 44.6, + "p75": 54.0, + "p90": 56.4, + "n": 5 + }, + { + "month": "2026-02", + "mean": 43.2, + "median": 41.9, + "p10": 36.7, + "p25": 39.2, + "p75": 45.9, + "p90": 50.8, + "n": 5 + }, + { + "month": "2026-03", + "mean": 37.8, + "median": 37.8, + "p10": 31.9, + "p25": 35.1, + "p75": 41.9, + "p90": 43.5, + "n": 5 + }, + { + "month": "2026-04", + "mean": 48.6, + "median": 48.6, + "p10": 42.9, + "p25": 44.6, + "p75": 51.3, + "p90": 54.5, + "n": 5 + }, + { + "month": "2026-05", + "mean": 42.9, + "median": 43.2, + "p10": 35.6, + "p25": 40.5, + "p75": 47.2, + "p90": 49.7, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "procurement_washed_bourbon", + "label": "Procurement: Washed Bourbon", + "type": "procurement", + "material": "90000100003", + "plant": "PL-A", + "stats": { + "n": 55, + "mean": 35.2, + "median": 33.8, + "std": 10.8, + "min": 9.5, + "max": 83.7, + "p25": 30.4, + "p75": 39.2, + "p85": 40.5, + "p95": 49.3 + }, + "plifz": 7, + "plifz_note": null, + "pct_exceeding_plifz": 98.2, + "cost": null, + "observations": [ + { + "date": "2022-05-03", + "value": 47.2 + }, + { + "date": "2022-10-18", + "value": 21.6 + }, + { + "date": "2023-01-24", + "value": 83.7 + }, + { + "date": "2023-06-15", + "value": 9.5 + }, + { + "date": "2023-09-28", + "value": 54.0 + }, + { + "date": "2024-02-12", + "value": 33.8 + }, + { + "date": "2024-05-07", + "value": 64.8 + }, + { + "date": "2024-09-19", + "value": 16.2 + }, + { + "date": "2025-02-04", + "value": 40.5 + }, + { + "date": "2025-06-10", + "value": 18.9 + }, + { + "date": "2025-09-06", + "value": 40.5 + }, + { + "date": "2025-09-12", + "value": 25.7 + }, + { + "date": "2025-09-18", + "value": 29.7 + }, + { + "date": "2025-09-24", + "value": 31.1 + }, + { + "date": "2025-09-30", + "value": 33.8 + }, + { + "date": "2025-10-04", + "value": 31.1 + }, + { + "date": "2025-10-10", + "value": 33.8 + }, + { + "date": "2025-10-16", + "value": 36.5 + }, + { + "date": "2025-10-22", + "value": 39.2 + }, + { + "date": "2025-10-28", + "value": 41.9 + }, + { + "date": "2025-11-05", + "value": 31.1 + }, + { + "date": "2025-11-11", + "value": 33.8 + }, + { + "date": "2025-11-17", + "value": 36.5 + }, + { + "date": "2025-11-23", + "value": 39.2 + }, + { + "date": "2025-11-29", + "value": 41.9 + }, + { + "date": "2025-12-06", + "value": 29.7 + }, + { + "date": "2025-12-12", + "value": 32.4 + }, + { + "date": "2025-12-18", + "value": 35.1 + }, + { + "date": "2025-12-24", + "value": 37.8 + }, + { + "date": "2025-12-30", + "value": 24.3 + }, + { + "date": "2026-01-04", + "value": 37.8 + }, + { + "date": "2026-01-10", + "value": 40.5 + }, + { + "date": "2026-01-16", + "value": 43.2 + }, + { + "date": "2026-01-22", + "value": 29.7 + }, + { + "date": "2026-01-28", + "value": 32.4 + }, + { + "date": "2026-02-05", + "value": 36.5 + }, + { + "date": "2026-02-11", + "value": 40.5 + }, + { + "date": "2026-02-17", + "value": 25.7 + }, + { + "date": "2026-02-23", + "value": 29.7 + }, + { + "date": "2026-02-29", + "value": 31.1 + }, + { + "date": "2026-03-06", + "value": 45.9 + }, + { + "date": "2026-03-12", + "value": 31.1 + }, + { + "date": "2026-03-18", + "value": 33.8 + }, + { + "date": "2026-03-24", + "value": 36.5 + }, + { + "date": "2026-03-30", + "value": 39.2 + }, + { + "date": "2026-04-04", + "value": 27.0 + }, + { + "date": "2026-04-10", + "value": 31.1 + }, + { + "date": "2026-04-16", + "value": 33.8 + }, + { + "date": "2026-04-22", + "value": 36.5 + }, + { + "date": "2026-04-28", + "value": 39.2 + }, + { + "date": "2026-05-05", + "value": 27.0 + }, + { + "date": "2026-05-11", + "value": 29.7 + }, + { + "date": "2026-05-17", + "value": 32.4 + }, + { + "date": "2026-05-23", + "value": 35.1 + }, + { + "date": "2026-05-29", + "value": 37.8 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 47.2, + "median": 47.2, + "p10": 47.2, + "p25": 47.2, + "p75": 47.2, + "p90": 47.2, + "n": 1 + }, + { + "month": "2022-10", + "mean": 21.6, + "median": 21.6, + "p10": 21.6, + "p25": 21.6, + "p75": 21.6, + "p90": 21.6, + "n": 1 + }, + { + "month": "2023-01", + "mean": 83.7, + "median": 83.7, + "p10": 83.7, + "p25": 83.7, + "p75": 83.7, + "p90": 83.7, + "n": 1 + }, + { + "month": "2023-06", + "mean": 9.5, + "median": 9.5, + "p10": 9.5, + "p25": 9.5, + "p75": 9.5, + "p90": 9.5, + "n": 1 + }, + { + "month": "2023-09", + "mean": 54.0, + "median": 54.0, + "p10": 54.0, + "p25": 54.0, + "p75": 54.0, + "p90": 54.0, + "n": 1 + }, + { + "month": "2024-02", + "mean": 33.8, + "median": 33.8, + "p10": 33.8, + "p25": 33.8, + "p75": 33.8, + "p90": 33.8, + "n": 1 + }, + { + "month": "2024-05", + "mean": 64.8, + "median": 64.8, + "p10": 64.8, + "p25": 64.8, + "p75": 64.8, + "p90": 64.8, + "n": 1 + }, + { + "month": "2024-09", + "mean": 16.2, + "median": 16.2, + "p10": 16.2, + "p25": 16.2, + "p75": 16.2, + "p90": 16.2, + "n": 1 + }, + { + "month": "2025-02", + "mean": 40.5, + "median": 40.5, + "p10": 40.5, + "p25": 40.5, + "p75": 40.5, + "p90": 40.5, + "n": 1 + }, + { + "month": "2025-06", + "mean": 18.9, + "median": 18.9, + "p10": 18.9, + "p25": 18.9, + "p75": 18.9, + "p90": 18.9, + "n": 1 + }, + { + "month": "2025-09", + "mean": 32.1, + "median": 31.1, + "p10": 27.3, + "p25": 29.7, + "p75": 33.8, + "p90": 37.8, + "n": 5 + }, + { + "month": "2025-10", + "mean": 36.5, + "median": 36.5, + "p10": 32.1, + "p25": 33.8, + "p75": 39.2, + "p90": 40.8, + "n": 5 + }, + { + "month": "2025-11", + "mean": 36.5, + "median": 36.5, + "p10": 32.1, + "p25": 33.8, + "p75": 39.2, + "p90": 40.8, + "n": 5 + }, + { + "month": "2025-12", + "mean": 31.9, + "median": 32.4, + "p10": 26.5, + "p25": 29.7, + "p75": 35.1, + "p90": 36.7, + "n": 5 + }, + { + "month": "2026-01", + "mean": 36.7, + "median": 37.8, + "p10": 30.8, + "p25": 32.4, + "p75": 40.5, + "p90": 42.1, + "n": 5 + }, + { + "month": "2026-02", + "mean": 32.7, + "median": 31.1, + "p10": 27.3, + "p25": 29.7, + "p75": 36.5, + "p90": 38.9, + "n": 5 + }, + { + "month": "2026-03", + "mean": 37.3, + "median": 36.5, + "p10": 32.1, + "p25": 33.8, + "p75": 39.2, + "p90": 43.2, + "n": 5 + }, + { + "month": "2026-04", + "mean": 33.5, + "median": 33.8, + "p10": 28.6, + "p25": 31.1, + "p75": 36.5, + "p90": 38.1, + "n": 5 + }, + { + "month": "2026-05", + "mean": 32.4, + "median": 32.4, + "p10": 28.1, + "p25": 29.7, + "p75": 35.1, + "p90": 36.7, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_highland_arabica", + "label": "Raw Material Dwell: Highland Arabica", + "type": "raw_material_dwell", + "material": "90000100001", + "plant": "PL-A", + "stats": { + "n": 83, + "mean": 65.2, + "median": 62.1, + "std": 26.7, + "min": 6.8, + "max": 175.5, + "p25": 52.0, + "p75": 73.6, + "p85": 82.4, + "p95": 118.4 + }, + "plifz": 30, + "plifz_note": null, + "pct_exceeding_plifz": 89.2, + "cost": { + "unit_price": 4.32, + "currency": "CHF", + "mean_qty": 4200.0, + "monthly": [ + { + "month": "2022-04", + "n_events": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "n_events": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "n_events": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "n_events": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "n_events": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "n_events": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "n_events": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "n_events": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "n_events": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "n_events": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 827400.0 + } + ] + }, + "observations": [ + { + "date": "2022-04-02", + "value": 47.2 + }, + { + "date": "2022-04-15", + "value": 83.7 + }, + { + "date": "2022-04-28", + "value": 24.3 + }, + { + "date": "2022-08-05", + "value": 118.8 + }, + { + "date": "2022-08-12", + "value": 56.7 + }, + { + "date": "2022-08-20", + "value": 74.2 + }, + { + "date": "2022-08-28", + "value": 40.5 + }, + { + "date": "2023-01-10", + "value": 97.2 + }, + { + "date": "2023-01-22", + "value": 33.8 + }, + { + "date": "2023-01-30", + "value": 64.8 + }, + { + "date": "2023-06-05", + "value": 20.2 + }, + { + "date": "2023-06-18", + "value": 128.2 + }, + { + "date": "2023-10-03", + "value": 175.5 + }, + { + "date": "2023-10-10", + "value": 60.8 + }, + { + "date": "2023-10-18", + "value": 51.3 + }, + { + "date": "2023-10-25", + "value": 87.8 + }, + { + "date": "2023-10-30", + "value": 29.7 + }, + { + "date": "2024-03-05", + "value": 105.3 + }, + { + "date": "2024-03-12", + "value": 6.8 + }, + { + "date": "2024-03-20", + "value": 74.2 + }, + { + "date": "2024-03-28", + "value": 54.0 + }, + { + "date": "2024-07-08", + "value": 37.8 + }, + { + "date": "2024-07-15", + "value": 114.8 + }, + { + "date": "2024-07-22", + "value": 67.5 + }, + { + "date": "2024-11-04", + "value": 148.5 + }, + { + "date": "2024-11-11", + "value": 43.2 + }, + { + "date": "2024-11-18", + "value": 91.8 + }, + { + "date": "2024-11-25", + "value": 60.8 + }, + { + "date": "2024-11-30", + "value": 124.2 + }, + { + "date": "2025-03-03", + "value": 27.0 + }, + { + "date": "2025-03-10", + "value": 78.3 + }, + { + "date": "2025-03-17", + "value": 47.2 + }, + { + "date": "2025-03-24", + "value": 56.7 + }, + { + "date": "2025-07-02", + "value": 101.2 + }, + { + "date": "2025-07-09", + "value": 16.2 + }, + { + "date": "2025-07-16", + "value": 64.8 + }, + { + "date": "2025-07-23", + "value": 81.0 + }, + { + "date": "2025-07-30", + "value": 51.3 + }, + { + "date": "2025-09-05", + "value": 66.2 + }, + { + "date": "2025-09-11", + "value": 72.9 + }, + { + "date": "2025-09-17", + "value": 45.9 + }, + { + "date": "2025-09-23", + "value": 52.7 + }, + { + "date": "2025-09-29", + "value": 56.7 + }, + { + "date": "2025-10-06", + "value": 82.4 + }, + { + "date": "2025-10-12", + "value": 55.4 + }, + { + "date": "2025-10-18", + "value": 62.1 + }, + { + "date": "2025-10-24", + "value": 66.2 + }, + { + "date": "2025-10-30", + "value": 71.6 + }, + { + "date": "2025-11-04", + "value": 48.6 + }, + { + "date": "2025-11-10", + "value": 55.4 + }, + { + "date": "2025-11-16", + "value": 59.4 + }, + { + "date": "2025-11-22", + "value": 64.8 + }, + { + "date": "2025-11-28", + "value": 70.2 + }, + { + "date": "2025-12-05", + "value": 48.6 + }, + { + "date": "2025-12-11", + "value": 52.7 + }, + { + "date": "2025-12-17", + "value": 58.1 + }, + { + "date": "2025-12-23", + "value": 63.5 + }, + { + "date": "2025-12-29", + "value": 68.9 + }, + { + "date": "2026-01-06", + "value": 63.5 + }, + { + "date": "2026-01-12", + "value": 67.5 + }, + { + "date": "2026-01-18", + "value": 72.9 + }, + { + "date": "2026-01-24", + "value": 78.3 + }, + { + "date": "2026-01-30", + "value": 52.7 + }, + { + "date": "2026-02-04", + "value": 60.8 + }, + { + "date": "2026-02-10", + "value": 66.2 + }, + { + "date": "2026-02-16", + "value": 72.9 + }, + { + "date": "2026-02-22", + "value": 45.9 + }, + { + "date": "2026-02-28", + "value": 52.7 + }, + { + "date": "2026-03-05", + "value": 75.6 + }, + { + "date": "2026-03-11", + "value": 82.4 + }, + { + "date": "2026-03-17", + "value": 55.4 + }, + { + "date": "2026-03-23", + "value": 62.1 + }, + { + "date": "2026-03-29", + "value": 66.2 + }, + { + "date": "2026-04-06", + "value": 75.6 + }, + { + "date": "2026-04-12", + "value": 48.6 + }, + { + "date": "2026-04-18", + "value": 55.4 + }, + { + "date": "2026-04-24", + "value": 59.4 + }, + { + "date": "2026-04-30", + "value": 64.8 + }, + { + "date": "2026-05-04", + "value": 43.2 + }, + { + "date": "2026-05-10", + "value": 48.6 + }, + { + "date": "2026-05-16", + "value": 52.7 + }, + { + "date": "2026-05-22", + "value": 58.1 + }, + { + "date": "2026-05-28", + "value": 63.5 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 51.7, + "median": 47.2, + "p10": 28.9, + "p25": 35.8, + "p75": 65.5, + "p90": 76.4, + "n": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "mean": 72.6, + "median": 65.5, + "p10": 45.4, + "p25": 52.7, + "p75": 85.5, + "p90": 105.4, + "n": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "mean": 65.2, + "median": 64.8, + "p10": 40.0, + "p25": 49.3, + "p75": 81.0, + "p90": 90.7, + "n": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "mean": 74.2, + "median": 74.2, + "p10": 31.1, + "p25": 47.2, + "p75": 101.2, + "p90": 117.5, + "n": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "mean": 81.0, + "median": 60.8, + "p10": 38.3, + "p25": 51.3, + "p75": 87.8, + "p90": 140.4, + "n": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "mean": 60.1, + "median": 64.1, + "p10": 20.9, + "p25": 42.3, + "p75": 82.1, + "p90": 96.0, + "n": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "mean": 73.3, + "median": 67.5, + "p10": 43.7, + "p25": 52.7, + "p75": 91.1, + "p90": 105.3, + "n": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "mean": 93.7, + "median": 91.8, + "p10": 50.2, + "p25": 60.8, + "p75": 124.2, + "p90": 138.8, + "n": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "mean": 52.4, + "median": 52.0, + "p10": 33.1, + "p25": 42.3, + "p75": 62.1, + "p90": 71.8, + "n": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "mean": 62.9, + "median": 64.8, + "p10": 30.2, + "p25": 51.3, + "p75": 81.0, + "p90": 93.2, + "n": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "mean": 58.9, + "median": 56.7, + "p10": 48.6, + "p25": 52.7, + "p75": 66.2, + "p90": 70.2, + "n": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "mean": 67.5, + "median": 66.2, + "p10": 58.1, + "p25": 62.1, + "p75": 71.6, + "p90": 78.0, + "n": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "mean": 59.7, + "median": 59.4, + "p10": 51.3, + "p25": 55.4, + "p75": 64.8, + "p90": 68.0, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "mean": 58.3, + "median": 58.1, + "p10": 50.2, + "p25": 52.7, + "p75": 63.5, + "p90": 66.7, + "n": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "mean": 67.0, + "median": 67.5, + "p10": 57.0, + "p25": 63.5, + "p75": 72.9, + "p90": 76.1, + "n": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "mean": 59.7, + "median": 60.8, + "p10": 48.6, + "p25": 52.7, + "p75": 66.2, + "p90": 70.2, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "mean": 68.3, + "median": 66.2, + "p10": 58.1, + "p25": 62.1, + "p75": 75.6, + "p90": 79.7, + "n": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "mean": 60.8, + "median": 59.4, + "p10": 51.3, + "p25": 55.4, + "p75": 64.8, + "p90": 71.3, + "n": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "mean": 53.2, + "median": 52.7, + "p10": 45.4, + "p25": 48.6, + "p75": 58.1, + "p90": 61.3, + "n": 5, + "total_kg_days": 827400.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_lowland_robusta", + "label": "Raw Material Dwell: Lowland Robusta", + "type": "raw_material_dwell", + "material": "90000100002", + "plant": "PL-A", + "stats": { + "n": 69, + "mean": 49.4, + "median": 45.9, + "std": 21.3, + "min": 4.1, + "max": 132.3, + "p25": 37.8, + "p75": 55.4, + "p85": 60.8, + "p95": 93.4 + }, + "plifz": 21, + "plifz_note": null, + "pct_exceeding_plifz": 91.3, + "cost": { + "unit_price": 2.43, + "currency": "CHF", + "mean_qty": 6500.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "n_events": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "n_events": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "n_events": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "n_events": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "n_events": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 1131000.0 + } + ] + }, + "observations": [ + { + "date": "2022-05-02", + "value": 37.8 + }, + { + "date": "2022-05-10", + "value": 60.8 + }, + { + "date": "2022-05-18", + "value": 16.2 + }, + { + "date": "2022-05-25", + "value": 83.7 + }, + { + "date": "2023-02-06", + "value": 44.6 + }, + { + "date": "2023-02-14", + "value": 105.3 + }, + { + "date": "2023-02-22", + "value": 27.0 + }, + { + "date": "2023-02-28", + "value": 74.2 + }, + { + "date": "2023-09-05", + "value": 10.8 + }, + { + "date": "2023-09-15", + "value": 56.7 + }, + { + "date": "2023-09-25", + "value": 87.8 + }, + { + "date": "2024-04-03", + "value": 51.3 + }, + { + "date": "2024-04-10", + "value": 20.2 + }, + { + "date": "2024-04-17", + "value": 97.2 + }, + { + "date": "2024-04-24", + "value": 33.8 + }, + { + "date": "2024-10-02", + "value": 64.8 + }, + { + "date": "2024-10-09", + "value": 4.1 + }, + { + "date": "2024-10-16", + "value": 114.8 + }, + { + "date": "2024-10-23", + "value": 40.5 + }, + { + "date": "2024-10-30", + "value": 74.2 + }, + { + "date": "2025-04-07", + "value": 29.7 + }, + { + "date": "2025-04-14", + "value": 54.0 + }, + { + "date": "2025-04-21", + "value": 132.3 + }, + { + "date": "2025-04-28", + "value": 24.3 + }, + { + "date": "2025-09-04", + "value": 52.7 + }, + { + "date": "2025-09-10", + "value": 55.4 + }, + { + "date": "2025-09-16", + "value": 60.8 + }, + { + "date": "2025-09-22", + "value": 40.5 + }, + { + "date": "2025-09-28", + "value": 45.9 + }, + { + "date": "2025-10-05", + "value": 51.3 + }, + { + "date": "2025-10-11", + "value": 55.4 + }, + { + "date": "2025-10-17", + "value": 36.5 + }, + { + "date": "2025-10-23", + "value": 40.5 + }, + { + "date": "2025-10-29", + "value": 43.2 + }, + { + "date": "2025-11-06", + "value": 51.3 + }, + { + "date": "2025-11-12", + "value": 31.1 + }, + { + "date": "2025-11-18", + "value": 36.5 + }, + { + "date": "2025-11-24", + "value": 39.2 + }, + { + "date": "2025-11-30", + "value": 43.2 + }, + { + "date": "2025-12-04", + "value": 37.8 + }, + { + "date": "2025-12-10", + "value": 43.2 + }, + { + "date": "2025-12-16", + "value": 45.9 + }, + { + "date": "2025-12-22", + "value": 50.0 + }, + { + "date": "2025-12-28", + "value": 54.0 + }, + { + "date": "2026-01-05", + "value": 37.8 + }, + { + "date": "2026-01-11", + "value": 41.9 + }, + { + "date": "2026-01-17", + "value": 44.6 + }, + { + "date": "2026-01-23", + "value": 48.6 + }, + { + "date": "2026-01-29", + "value": 52.7 + }, + { + "date": "2026-02-06", + "value": 48.6 + }, + { + "date": "2026-02-12", + "value": 52.7 + }, + { + "date": "2026-02-18", + "value": 55.4 + }, + { + "date": "2026-02-24", + "value": 60.8 + }, + { + "date": "2026-02-30", + "value": 40.5 + }, + { + "date": "2026-03-04", + "value": 47.2 + }, + { + "date": "2026-03-10", + "value": 51.3 + }, + { + "date": "2026-03-16", + "value": 55.4 + }, + { + "date": "2026-03-22", + "value": 36.5 + }, + { + "date": "2026-03-28", + "value": 40.5 + }, + { + "date": "2026-04-05", + "value": 45.9 + }, + { + "date": "2026-04-11", + "value": 51.3 + }, + { + "date": "2026-04-17", + "value": 31.1 + }, + { + "date": "2026-04-23", + "value": 36.5 + }, + { + "date": "2026-04-29", + "value": 39.2 + }, + { + "date": "2026-05-06", + "value": 58.1 + }, + { + "date": "2026-05-12", + "value": 37.8 + }, + { + "date": "2026-05-18", + "value": 43.2 + }, + { + "date": "2026-05-24", + "value": 45.9 + }, + { + "date": "2026-05-30", + "value": 50.0 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 49.7, + "median": 49.3, + "p10": 22.7, + "p25": 32.4, + "p75": 66.6, + "p90": 76.8, + "n": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "mean": 62.8, + "median": 59.4, + "p10": 32.3, + "p25": 40.2, + "p75": 82.1, + "p90": 96.0, + "n": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "mean": 51.7, + "median": 56.7, + "p10": 20.0, + "p25": 33.8, + "p75": 72.2, + "p90": 81.5, + "n": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "mean": 50.6, + "median": 42.5, + "p10": 24.3, + "p25": 30.4, + "p75": 62.8, + "p90": 83.4, + "n": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "mean": 59.7, + "median": 64.8, + "p10": 18.6, + "p25": 40.5, + "p75": 74.2, + "p90": 98.6, + "n": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "mean": 60.1, + "median": 41.9, + "p10": 25.9, + "p25": 28.4, + "p75": 73.6, + "p90": 108.8, + "n": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "mean": 51.0, + "median": 52.7, + "p10": 42.7, + "p25": 45.9, + "p75": 55.4, + "p90": 58.6, + "n": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "mean": 45.4, + "median": 43.2, + "p10": 38.1, + "p25": 40.5, + "p75": 51.3, + "p90": 53.7, + "n": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "mean": 40.2, + "median": 39.2, + "p10": 33.2, + "p25": 36.5, + "p75": 43.2, + "p90": 48.1, + "n": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "mean": 46.2, + "median": 45.9, + "p10": 40.0, + "p25": 43.2, + "p75": 50.0, + "p90": 52.4, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "mean": 45.1, + "median": 44.6, + "p10": 39.4, + "p25": 41.9, + "p75": 48.6, + "p90": 51.0, + "n": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "mean": 51.6, + "median": 52.7, + "p10": 43.7, + "p25": 48.6, + "p75": 55.4, + "p90": 58.6, + "n": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "mean": 46.2, + "median": 47.2, + "p10": 38.1, + "p25": 40.5, + "p75": 51.3, + "p90": 53.7, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "mean": 40.8, + "median": 39.2, + "p10": 33.2, + "p25": 36.5, + "p75": 45.9, + "p90": 49.1, + "n": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "mean": 47.0, + "median": 45.9, + "p10": 40.0, + "p25": 43.2, + "p75": 50.0, + "p90": 54.8, + "n": 5, + "total_kg_days": 1131000.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_washed_bourbon", + "label": "Raw Material Dwell: Washed Bourbon", + "type": "raw_material_dwell", + "material": "90000100003", + "plant": "PL-A", + "stats": { + "n": 70, + "mean": 59.3, + "median": 55.4, + "std": 25.8, + "min": 5.4, + "max": 155.2, + "p25": 46.3, + "p75": 67.5, + "p85": 72.9, + "p95": 110.6 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 95.7, + "cost": { + "unit_price": 7.425, + "currency": "CHF", + "mean_qty": 2800.0, + "monthly": [ + { + "month": "2022-06", + "n_events": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "n_events": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "n_events": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "n_events": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "n_events": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "n_events": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 568400.0 + } + ] + }, + "observations": [ + { + "date": "2022-06-05", + "value": 54.0 + }, + { + "date": "2022-06-15", + "value": 29.7 + }, + { + "date": "2022-06-25", + "value": 91.8 + }, + { + "date": "2023-03-08", + "value": 5.4 + }, + { + "date": "2023-03-15", + "value": 74.2 + }, + { + "date": "2023-03-22", + "value": 155.2 + }, + { + "date": "2023-03-29", + "value": 40.5 + }, + { + "date": "2023-11-06", + "value": 83.7 + }, + { + "date": "2023-11-13", + "value": 24.3 + }, + { + "date": "2023-11-20", + "value": 114.8 + }, + { + "date": "2024-06-03", + "value": 47.2 + }, + { + "date": "2024-06-10", + "value": 97.2 + }, + { + "date": "2024-06-17", + "value": 13.5 + }, + { + "date": "2024-06-24", + "value": 64.8 + }, + { + "date": "2024-06-30", + "value": 128.2 + }, + { + "date": "2025-01-07", + "value": 37.8 + }, + { + "date": "2025-01-14", + "value": 70.2 + }, + { + "date": "2025-01-21", + "value": 20.2 + }, + { + "date": "2025-01-28", + "value": 105.3 + }, + { + "date": "2025-08-04", + "value": 56.7 + }, + { + "date": "2025-08-08", + "value": 10.8 + }, + { + "date": "2025-08-12", + "value": 87.8 + }, + { + "date": "2025-08-16", + "value": 44.6 + }, + { + "date": "2025-08-20", + "value": 135.0 + }, + { + "date": "2025-08-24", + "value": 27.0 + }, + { + "date": "2025-09-06", + "value": 55.4 + }, + { + "date": "2025-09-12", + "value": 60.8 + }, + { + "date": "2025-09-18", + "value": 64.8 + }, + { + "date": "2025-09-24", + "value": 70.2 + }, + { + "date": "2025-09-30", + "value": 45.9 + }, + { + "date": "2025-10-04", + "value": 54.0 + }, + { + "date": "2025-10-10", + "value": 59.4 + }, + { + "date": "2025-10-16", + "value": 64.8 + }, + { + "date": "2025-10-22", + "value": 40.5 + }, + { + "date": "2025-10-28", + "value": 45.9 + }, + { + "date": "2025-11-05", + "value": 67.5 + }, + { + "date": "2025-11-11", + "value": 72.9 + }, + { + "date": "2025-11-17", + "value": 48.6 + }, + { + "date": "2025-11-23", + "value": 55.4 + }, + { + "date": "2025-11-29", + "value": 59.4 + }, + { + "date": "2025-12-06", + "value": 67.5 + }, + { + "date": "2025-12-12", + "value": 43.2 + }, + { + "date": "2025-12-18", + "value": 48.6 + }, + { + "date": "2025-12-24", + "value": 52.7 + }, + { + "date": "2025-12-30", + "value": 58.1 + }, + { + "date": "2026-01-04", + "value": 37.8 + }, + { + "date": "2026-01-10", + "value": 43.2 + }, + { + "date": "2026-01-16", + "value": 47.2 + }, + { + "date": "2026-01-22", + "value": 51.3 + }, + { + "date": "2026-01-28", + "value": 56.7 + }, + { + "date": "2026-02-05", + "value": 52.7 + }, + { + "date": "2026-02-11", + "value": 55.4 + }, + { + "date": "2026-02-17", + "value": 60.8 + }, + { + "date": "2026-02-23", + "value": 64.8 + }, + { + "date": "2026-02-29", + "value": 70.2 + }, + { + "date": "2026-03-06", + "value": 50.0 + }, + { + "date": "2026-03-12", + "value": 54.0 + }, + { + "date": "2026-03-18", + "value": 59.4 + }, + { + "date": "2026-03-24", + "value": 64.8 + }, + { + "date": "2026-03-30", + "value": 40.5 + }, + { + "date": "2026-04-04", + "value": 63.5 + }, + { + "date": "2026-04-10", + "value": 67.5 + }, + { + "date": "2026-04-16", + "value": 72.9 + }, + { + "date": "2026-04-22", + "value": 48.6 + }, + { + "date": "2026-04-28", + "value": 55.4 + }, + { + "date": "2026-05-05", + "value": 62.1 + }, + { + "date": "2026-05-11", + "value": 67.5 + }, + { + "date": "2026-05-17", + "value": 43.2 + }, + { + "date": "2026-05-23", + "value": 48.6 + }, + { + "date": "2026-05-29", + "value": 52.7 + } + ], + "monthly": [ + { + "month": "2022-06", + "mean": 58.5, + "median": 54.0, + "p10": 34.6, + "p25": 41.9, + "p75": 72.9, + "p90": 84.2, + "n": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "mean": 68.9, + "median": 57.4, + "p10": 15.9, + "p25": 31.7, + "p75": 94.5, + "p90": 131.0, + "n": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "mean": 74.2, + "median": 83.7, + "p10": 36.2, + "p25": 54.0, + "p75": 99.2, + "p90": 108.5, + "n": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "mean": 70.2, + "median": 64.8, + "p10": 27.0, + "p25": 47.2, + "p75": 97.2, + "p90": 115.8, + "n": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "mean": 58.5, + "median": 54.0, + "p10": 25.5, + "p25": 33.5, + "p75": 79.0, + "p90": 94.8, + "n": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "mean": 60.3, + "median": 50.6, + "p10": 18.9, + "p25": 31.5, + "p75": 80.1, + "p90": 111.4, + "n": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "mean": 59.4, + "median": 60.8, + "p10": 49.7, + "p25": 55.4, + "p75": 64.8, + "p90": 68.0, + "n": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "mean": 52.9, + "median": 54.0, + "p10": 42.7, + "p25": 45.9, + "p75": 59.4, + "p90": 62.6, + "n": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "mean": 60.8, + "median": 59.4, + "p10": 51.3, + "p25": 55.4, + "p75": 67.5, + "p90": 70.7, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "mean": 54.0, + "median": 52.7, + "p10": 45.4, + "p25": 48.6, + "p75": 58.1, + "p90": 63.7, + "n": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "mean": 47.2, + "median": 47.2, + "p10": 40.0, + "p25": 43.2, + "p75": 51.3, + "p90": 54.5, + "n": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "mean": 60.8, + "median": 60.8, + "p10": 53.7, + "p25": 55.4, + "p75": 64.8, + "p90": 68.0, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "mean": 53.7, + "median": 54.0, + "p10": 44.3, + "p25": 50.0, + "p75": 59.4, + "p90": 62.6, + "n": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "mean": 61.6, + "median": 63.5, + "p10": 51.3, + "p25": 55.4, + "p75": 67.5, + "p90": 70.7, + "n": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "mean": 54.8, + "median": 52.7, + "p10": 45.4, + "p25": 48.6, + "p75": 62.1, + "p90": 65.3, + "n": 5, + "total_kg_days": 568400.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "prod_duration_green_blend", + "label": "Production: Green Blend", + "type": "production", + "material": "90000200001", + "plant": "PL-A", + "stats": { + "n": 50, + "mean": 5.9, + "median": 5.4, + "std": 2.4, + "min": 1.4, + "max": 18.9, + "p25": 4.5, + "p75": 6.8, + "p85": 6.8, + "p95": 8.9 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 10.0, + "cost": null, + "observations": [ + { + "date": "2022-04-18", + "value": 4.1 + }, + { + "date": "2022-07-05", + "value": 6.8 + }, + { + "date": "2022-10-12", + "value": 2.7 + }, + { + "date": "2023-01-20", + "value": 9.5 + }, + { + "date": "2023-04-15", + "value": 5.4 + }, + { + "date": "2023-07-28", + "value": 8.1 + }, + { + "date": "2023-10-05", + "value": 4.1 + }, + { + "date": "2024-01-12", + "value": 18.9 + }, + { + "date": "2024-04-22", + "value": 5.4 + }, + { + "date": "2024-07-10", + "value": 10.8 + }, + { + "date": "2024-10-18", + "value": 4.1 + }, + { + "date": "2025-01-25", + "value": 6.8 + }, + { + "date": "2025-05-08", + "value": 1.4 + }, + { + "date": "2025-08-15", + "value": 8.1 + }, + { + "date": "2025-09-04", + "value": 4.1 + }, + { + "date": "2025-09-10", + "value": 5.4 + }, + { + "date": "2025-09-16", + "value": 5.4 + }, + { + "date": "2025-09-22", + "value": 5.4 + }, + { + "date": "2025-10-05", + "value": 4.1 + }, + { + "date": "2025-10-11", + "value": 5.4 + }, + { + "date": "2025-10-17", + "value": 5.4 + }, + { + "date": "2025-10-23", + "value": 5.4 + }, + { + "date": "2025-11-06", + "value": 5.4 + }, + { + "date": "2025-11-12", + "value": 6.8 + }, + { + "date": "2025-11-18", + "value": 6.8 + }, + { + "date": "2025-11-24", + "value": 6.8 + }, + { + "date": "2025-12-04", + "value": 5.4 + }, + { + "date": "2025-12-10", + "value": 6.8 + }, + { + "date": "2025-12-16", + "value": 6.8 + }, + { + "date": "2025-12-22", + "value": 4.1 + }, + { + "date": "2026-01-05", + "value": 5.4 + }, + { + "date": "2026-01-11", + "value": 6.8 + }, + { + "date": "2026-01-17", + "value": 4.1 + }, + { + "date": "2026-01-23", + "value": 4.1 + }, + { + "date": "2026-02-06", + "value": 6.8 + }, + { + "date": "2026-02-12", + "value": 4.1 + }, + { + "date": "2026-02-18", + "value": 5.4 + }, + { + "date": "2026-02-24", + "value": 5.4 + }, + { + "date": "2026-03-04", + "value": 4.1 + }, + { + "date": "2026-03-10", + "value": 4.1 + }, + { + "date": "2026-03-16", + "value": 5.4 + }, + { + "date": "2026-03-22", + "value": 5.4 + }, + { + "date": "2026-04-05", + "value": 5.4 + }, + { + "date": "2026-04-11", + "value": 5.4 + }, + { + "date": "2026-04-17", + "value": 6.8 + }, + { + "date": "2026-04-23", + "value": 6.8 + }, + { + "date": "2026-05-06", + "value": 5.4 + }, + { + "date": "2026-05-12", + "value": 5.4 + }, + { + "date": "2026-05-18", + "value": 6.8 + }, + { + "date": "2026-05-24", + "value": 6.8 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-07", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2023-01", + "mean": 9.5, + "median": 9.5, + "p10": 9.5, + "p25": 9.5, + "p75": 9.5, + "p90": 9.5, + "n": 1 + }, + { + "month": "2023-04", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2023-07", + "mean": 8.1, + "median": 8.1, + "p10": 8.1, + "p25": 8.1, + "p75": 8.1, + "p90": 8.1, + "n": 1 + }, + { + "month": "2023-10", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-01", + "mean": 18.9, + "median": 18.9, + "p10": 18.9, + "p25": 18.9, + "p75": 18.9, + "p90": 18.9, + "n": 1 + }, + { + "month": "2024-04", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2024-07", + "mean": 10.8, + "median": 10.8, + "p10": 10.8, + "p25": 10.8, + "p75": 10.8, + "p90": 10.8, + "n": 1 + }, + { + "month": "2024-10", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-01", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2025-05", + "mean": 1.4, + "median": 1.4, + "p10": 1.4, + "p25": 1.4, + "p75": 1.4, + "p90": 1.4, + "n": 1 + }, + { + "month": "2025-08", + "mean": 8.1, + "median": 8.1, + "p10": 8.1, + "p25": 8.1, + "p75": 8.1, + "p90": 8.1, + "n": 1 + }, + { + "month": "2025-09", + "mean": 5.1, + "median": 5.4, + "p10": 4.5, + "p25": 5.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2025-10", + "mean": 5.1, + "median": 5.4, + "p10": 4.5, + "p25": 5.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2025-11", + "mean": 6.5, + "median": 6.8, + "p10": 5.8, + "p25": 6.5, + "p75": 6.8, + "p90": 6.8, + "n": 4 + }, + { + "month": "2025-12", + "mean": 5.8, + "median": 6.1, + "p10": 4.5, + "p25": 5.1, + "p75": 6.8, + "p90": 6.8, + "n": 4 + }, + { + "month": "2026-01", + "mean": 5.1, + "median": 4.7, + "p10": 4.1, + "p25": 4.1, + "p75": 5.8, + "p90": 6.3, + "n": 4 + }, + { + "month": "2026-02", + "mean": 5.4, + "median": 5.4, + "p10": 4.5, + "p25": 5.1, + "p75": 5.8, + "p90": 6.3, + "n": 4 + }, + { + "month": "2026-03", + "mean": 4.7, + "median": 4.7, + "p10": 4.1, + "p25": 4.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2026-04", + "mean": 6.1, + "median": 6.1, + "p10": 5.4, + "p25": 5.4, + "p75": 6.8, + "p90": 6.8, + "n": 4 + }, + { + "month": "2026-05", + "mean": 6.1, + "median": 6.1, + "p10": 5.4, + "p25": 5.4, + "p75": 6.8, + "p90": 6.8, + "n": 4 + } + ], + "n_batches": 50, + "n_movements": null, + "yield_summary": { + "median": 98.5, + "mean": 97.2, + "reference": 100.0, + "n": 50 + }, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 0.9, + "mean_slack": 5.1, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 0.9 + }, + "direct": { + "binding_share": 0.9, + "mean_slack": 7.2, + "next_bottleneck_days": 27.4, + "expected_marginal_per_day": 0.9 + }, + "hub-1": { + "binding_share": 0.9, + "mean_slack": 2.0, + "next_bottleneck_days": 31.3, + "expected_marginal_per_day": 0.9 + } + } + }, + { + "id": "intermed_dwell_green_blend", + "label": "Intermediate Dwell: Green Blend", + "type": "intermediate_dwell", + "material": "90000200001", + "plant": "PL-A", + "stats": { + "n": 73, + "mean": 23.5, + "median": 21.6, + "std": 12.2, + "min": 2.7, + "max": 74.2, + "p25": 17.6, + "p75": 25.7, + "p85": 27.5, + "p95": 50.0 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 87.7, + "cost": { + "unit_price": 16.875, + "currency": "CHF", + "mean_qty": 3200.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "n_events": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "n_events": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "n_events": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "n_events": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "n_events": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "n_events": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 249600.0 + } + ] + }, + "observations": [ + { + "date": "2022-05-05", + "value": 16.2 + }, + { + "date": "2022-05-15", + "value": 33.8 + }, + { + "date": "2022-05-22", + "value": 10.8 + }, + { + "date": "2022-11-03", + "value": 47.2 + }, + { + "date": "2022-11-10", + "value": 20.2 + }, + { + "date": "2022-11-18", + "value": 6.8 + }, + { + "date": "2022-11-25", + "value": 29.7 + }, + { + "date": "2023-05-08", + "value": 24.3 + }, + { + "date": "2023-05-15", + "value": 54.0 + }, + { + "date": "2023-05-22", + "value": 13.5 + }, + { + "date": "2023-11-06", + "value": 74.2 + }, + { + "date": "2023-11-13", + "value": 2.7 + }, + { + "date": "2023-11-20", + "value": 37.8 + }, + { + "date": "2023-11-27", + "value": 20.2 + }, + { + "date": "2023-11-30", + "value": 10.8 + }, + { + "date": "2024-05-06", + "value": 27.0 + }, + { + "date": "2024-05-13", + "value": 60.8 + }, + { + "date": "2024-05-20", + "value": 16.2 + }, + { + "date": "2024-05-27", + "value": 4.1 + }, + { + "date": "2024-11-04", + "value": 24.3 + }, + { + "date": "2024-11-11", + "value": 40.5 + }, + { + "date": "2024-11-18", + "value": 10.8 + }, + { + "date": "2025-05-05", + "value": 29.7 + }, + { + "date": "2025-05-09", + "value": 47.2 + }, + { + "date": "2025-05-13", + "value": 6.8 + }, + { + "date": "2025-05-17", + "value": 20.2 + }, + { + "date": "2025-05-21", + "value": 56.7 + }, + { + "date": "2025-05-25", + "value": 13.5 + }, + { + "date": "2025-09-05", + "value": 18.9 + }, + { + "date": "2025-09-11", + "value": 21.6 + }, + { + "date": "2025-09-17", + "value": 23.0 + }, + { + "date": "2025-09-23", + "value": 24.3 + }, + { + "date": "2025-09-29", + "value": 25.7 + }, + { + "date": "2025-10-06", + "value": 18.9 + }, + { + "date": "2025-10-12", + "value": 20.2 + }, + { + "date": "2025-10-18", + "value": 21.6 + }, + { + "date": "2025-10-24", + "value": 24.3 + }, + { + "date": "2025-10-30", + "value": 14.9 + }, + { + "date": "2025-11-04", + "value": 24.3 + }, + { + "date": "2025-11-10", + "value": 25.7 + }, + { + "date": "2025-11-16", + "value": 27.0 + }, + { + "date": "2025-11-22", + "value": 18.9 + }, + { + "date": "2025-11-28", + "value": 20.2 + }, + { + "date": "2025-12-05", + "value": 23.0 + }, + { + "date": "2025-12-11", + "value": 25.7 + }, + { + "date": "2025-12-17", + "value": 16.2 + }, + { + "date": "2025-12-23", + "value": 18.9 + }, + { + "date": "2025-12-29", + "value": 20.2 + }, + { + "date": "2026-01-06", + "value": 23.0 + }, + { + "date": "2026-01-12", + "value": 14.9 + }, + { + "date": "2026-01-18", + "value": 16.2 + }, + { + "date": "2026-01-24", + "value": 17.6 + }, + { + "date": "2026-01-30", + "value": 18.9 + }, + { + "date": "2026-02-04", + "value": 17.6 + }, + { + "date": "2026-02-10", + "value": 18.9 + }, + { + "date": "2026-02-16", + "value": 21.6 + }, + { + "date": "2026-02-22", + "value": 23.0 + }, + { + "date": "2026-02-28", + "value": 24.3 + }, + { + "date": "2026-03-05", + "value": 17.6 + }, + { + "date": "2026-03-11", + "value": 18.9 + }, + { + "date": "2026-03-17", + "value": 20.2 + }, + { + "date": "2026-03-23", + "value": 21.6 + }, + { + "date": "2026-03-29", + "value": 24.3 + }, + { + "date": "2026-04-06", + "value": 21.6 + }, + { + "date": "2026-04-12", + "value": 24.3 + }, + { + "date": "2026-04-18", + "value": 25.7 + }, + { + "date": "2026-04-24", + "value": 27.0 + }, + { + "date": "2026-04-30", + "value": 18.9 + }, + { + "date": "2026-05-04", + "value": 21.6 + }, + { + "date": "2026-05-10", + "value": 23.0 + }, + { + "date": "2026-05-16", + "value": 25.7 + }, + { + "date": "2026-05-22", + "value": 16.2 + }, + { + "date": "2026-05-28", + "value": 18.9 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 20.2, + "median": 16.2, + "p10": 11.9, + "p25": 13.5, + "p75": 25.0, + "p90": 30.2, + "n": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "mean": 26.1, + "median": 25.0, + "p10": 10.8, + "p25": 16.9, + "p75": 34.2, + "p90": 42.0, + "n": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "mean": 30.6, + "median": 24.3, + "p10": 15.7, + "p25": 18.9, + "p75": 39.2, + "p90": 48.1, + "n": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "mean": 29.2, + "median": 20.2, + "p10": 5.9, + "p25": 10.8, + "p75": 37.8, + "p90": 59.7, + "n": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "mean": 27.0, + "median": 21.6, + "p10": 7.7, + "p25": 13.2, + "p75": 35.5, + "p90": 50.6, + "n": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "mean": 25.2, + "median": 24.3, + "p10": 13.5, + "p25": 17.6, + "p75": 32.4, + "p90": 37.3, + "n": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "mean": 29.0, + "median": 25.0, + "p10": 10.1, + "p25": 15.3, + "p75": 42.9, + "p90": 52.0, + "n": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "mean": 22.7, + "median": 23.0, + "p10": 20.0, + "p25": 21.6, + "p75": 24.3, + "p90": 25.1, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "mean": 20.0, + "median": 20.2, + "p10": 16.5, + "p25": 18.9, + "p75": 21.6, + "p90": 23.2, + "n": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "mean": 23.2, + "median": 24.3, + "p10": 19.4, + "p25": 20.2, + "p75": 25.7, + "p90": 26.5, + "n": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "mean": 20.8, + "median": 20.2, + "p10": 17.3, + "p25": 18.9, + "p75": 23.0, + "p90": 24.6, + "n": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "mean": 18.1, + "median": 17.6, + "p10": 15.4, + "p25": 16.2, + "p75": 18.9, + "p90": 21.3, + "n": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "mean": 21.1, + "median": 21.6, + "p10": 18.1, + "p25": 18.9, + "p75": 23.0, + "p90": 23.8, + "n": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "mean": 20.5, + "median": 20.2, + "p10": 18.1, + "p25": 18.9, + "p75": 21.6, + "p90": 23.2, + "n": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "mean": 23.5, + "median": 24.3, + "p10": 20.0, + "p25": 21.6, + "p75": 25.7, + "p90": 26.5, + "n": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "mean": 21.1, + "median": 21.6, + "p10": 17.3, + "p25": 18.9, + "p75": 23.0, + "p90": 24.6, + "n": 5, + "total_kg_days": 249600.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 0.9, + "mean_slack": 5.1, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 0.9 + }, + "direct": { + "binding_share": 0.9, + "mean_slack": 7.2, + "next_bottleneck_days": 27.4, + "expected_marginal_per_day": 0.9 + }, + "hub-1": { + "binding_share": 0.9, + "mean_slack": 2.0, + "next_bottleneck_days": 31.3, + "expected_marginal_per_day": 0.9 + } + } + }, + { + "id": "prod_duration_harbor_dark_roast", + "label": "Production: Harbor Dark Roast", + "type": "production", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 58, + "mean": 4.3, + "median": 4.1, + "std": 1.9, + "min": 0.0, + "max": 13.5, + "p25": 4.1, + "p75": 5.4, + "p85": 5.4, + "p95": 7.0 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 5.2, + "cost": null, + "observations": [ + { + "date": "2022-05-20", + "value": 2.7 + }, + { + "date": "2022-06-10", + "value": 4.1 + }, + { + "date": "2022-07-15", + "value": 1.4 + }, + { + "date": "2022-08-22", + "value": 5.4 + }, + { + "date": "2022-10-05", + "value": 2.7 + }, + { + "date": "2022-11-18", + "value": 6.8 + }, + { + "date": "2023-01-10", + "value": 4.1 + }, + { + "date": "2023-03-25", + "value": 9.5 + }, + { + "date": "2023-05-12", + "value": 2.7 + }, + { + "date": "2023-07-08", + "value": 5.4 + }, + { + "date": "2023-09-15", + "value": 1.4 + }, + { + "date": "2023-11-22", + "value": 4.1 + }, + { + "date": "2024-01-18", + "value": 13.5 + }, + { + "date": "2024-03-08", + "value": 4.1 + }, + { + "date": "2024-05-15", + "value": 2.7 + }, + { + "date": "2024-07-22", + "value": 6.8 + }, + { + "date": "2024-09-10", + "value": 0.0 + }, + { + "date": "2024-11-05", + "value": 5.4 + }, + { + "date": "2025-01-15", + "value": 4.1 + }, + { + "date": "2025-03-20", + "value": 2.7 + }, + { + "date": "2025-05-28", + "value": 8.1 + }, + { + "date": "2025-08-05", + "value": 4.1 + }, + { + "date": "2025-09-05", + "value": 5.4 + }, + { + "date": "2025-09-11", + "value": 5.4 + }, + { + "date": "2025-09-17", + "value": 4.1 + }, + { + "date": "2025-09-23", + "value": 4.1 + }, + { + "date": "2025-10-06", + "value": 5.4 + }, + { + "date": "2025-10-12", + "value": 2.7 + }, + { + "date": "2025-10-18", + "value": 4.1 + }, + { + "date": "2025-10-24", + "value": 4.1 + }, + { + "date": "2025-11-04", + "value": 2.7 + }, + { + "date": "2025-11-10", + "value": 2.7 + }, + { + "date": "2025-11-16", + "value": 4.1 + }, + { + "date": "2025-11-22", + "value": 4.1 + }, + { + "date": "2025-12-05", + "value": 4.1 + }, + { + "date": "2025-12-11", + "value": 4.1 + }, + { + "date": "2025-12-17", + "value": 4.1 + }, + { + "date": "2025-12-23", + "value": 5.4 + }, + { + "date": "2026-01-06", + "value": 4.1 + }, + { + "date": "2026-01-12", + "value": 4.1 + }, + { + "date": "2026-01-18", + "value": 4.1 + }, + { + "date": "2026-01-24", + "value": 5.4 + }, + { + "date": "2026-02-04", + "value": 5.4 + }, + { + "date": "2026-02-10", + "value": 5.4 + }, + { + "date": "2026-02-16", + "value": 5.4 + }, + { + "date": "2026-02-22", + "value": 4.1 + }, + { + "date": "2026-03-05", + "value": 4.1 + }, + { + "date": "2026-03-11", + "value": 5.4 + }, + { + "date": "2026-03-17", + "value": 2.7 + }, + { + "date": "2026-03-23", + "value": 4.1 + }, + { + "date": "2026-04-06", + "value": 4.1 + }, + { + "date": "2026-04-12", + "value": 2.7 + }, + { + "date": "2026-04-18", + "value": 2.7 + }, + { + "date": "2026-04-24", + "value": 4.1 + }, + { + "date": "2026-05-04", + "value": 4.1 + }, + { + "date": "2026-05-10", + "value": 4.1 + }, + { + "date": "2026-05-16", + "value": 4.1 + }, + { + "date": "2026-05-22", + "value": 4.1 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2022-06", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-07", + "mean": 1.4, + "median": 1.4, + "p10": 1.4, + "p25": 1.4, + "p75": 1.4, + "p90": 1.4, + "n": 1 + }, + { + "month": "2022-08", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2022-11", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2023-01", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2023-03", + "mean": 9.5, + "median": 9.5, + "p10": 9.5, + "p25": 9.5, + "p75": 9.5, + "p90": 9.5, + "n": 1 + }, + { + "month": "2023-05", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2023-07", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2023-09", + "mean": 1.4, + "median": 1.4, + "p10": 1.4, + "p25": 1.4, + "p75": 1.4, + "p90": 1.4, + "n": 1 + }, + { + "month": "2023-11", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-01", + "mean": 13.5, + "median": 13.5, + "p10": 13.5, + "p25": 13.5, + "p75": 13.5, + "p90": 13.5, + "n": 1 + }, + { + "month": "2024-03", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-05", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2024-07", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2024-09", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2025-01", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-03", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2025-05", + "mean": 8.1, + "median": 8.1, + "p10": 8.1, + "p25": 8.1, + "p75": 8.1, + "p90": 8.1, + "n": 1 + }, + { + "month": "2025-08", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-09", + "mean": 4.7, + "median": 4.7, + "p10": 4.1, + "p25": 4.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2025-10", + "mean": 4.1, + "median": 4.1, + "p10": 3.1, + "p25": 3.8, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2025-11", + "mean": 3.4, + "median": 3.4, + "p10": 2.7, + "p25": 2.7, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2025-12", + "mean": 4.5, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-01", + "mean": 4.5, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-02", + "mean": 5.1, + "median": 5.4, + "p10": 4.5, + "p25": 5.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2026-03", + "mean": 4.1, + "median": 4.1, + "p10": 3.1, + "p25": 3.8, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-04", + "mean": 3.4, + "median": 3.4, + "p10": 2.7, + "p25": 2.7, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2026-05", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 4 + } + ], + "n_batches": 58, + "n_movements": null, + "yield_summary": { + "median": 99.2, + "mean": 98.5, + "reference": 100.0, + "n": 58 + }, + "consumption_summary": { + "median_variance": 2.1, + "mean_variance": 3.4, + "n_components": 3, + "n": 58 + }, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 4.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 3.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 4.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "prod_to_qa_pla", + "label": "Production \u2192 QA Release (PL-A)", + "type": "qa_hold", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 58, + "mean": 4.6, + "median": 4.1, + "std": 2.4, + "min": 0.0, + "max": 17.6, + "p25": 4.1, + "p75": 5.4, + "p85": 5.4, + "p95": 8.4 + }, + "plifz": 5, + "plifz_note": "WEBAZ (GR processing days)", + "pct_exceeding_plifz": 6.9, + "cost": null, + "observations": [ + { + "date": "2022-05-22", + "value": 2.7 + }, + { + "date": "2022-06-13", + "value": 1.4 + }, + { + "date": "2022-07-16", + "value": 4.1 + }, + { + "date": "2022-08-26", + "value": 2.7 + }, + { + "date": "2022-10-07", + "value": 6.8 + }, + { + "date": "2022-11-23", + "value": 2.7 + }, + { + "date": "2023-01-13", + "value": 5.4 + }, + { + "date": "2023-04-01", + "value": 4.1 + }, + { + "date": "2023-05-14", + "value": 8.1 + }, + { + "date": "2023-07-12", + "value": 2.7 + }, + { + "date": "2023-09-16", + "value": 17.6 + }, + { + "date": "2023-11-25", + "value": 4.1 + }, + { + "date": "2024-01-28", + "value": 9.5 + }, + { + "date": "2024-03-11", + "value": 1.4 + }, + { + "date": "2024-05-17", + "value": 5.4 + }, + { + "date": "2024-07-27", + "value": 6.8 + }, + { + "date": "2024-09-10", + "value": 2.7 + }, + { + "date": "2024-11-09", + "value": 0.0 + }, + { + "date": "2025-01-18", + "value": 4.1 + }, + { + "date": "2025-03-22", + "value": 10.8 + }, + { + "date": "2025-06-03", + "value": 2.7 + }, + { + "date": "2025-08-08", + "value": 6.8 + }, + { + "date": "2025-09-04", + "value": 2.7 + }, + { + "date": "2025-09-10", + "value": 4.1 + }, + { + "date": "2025-09-16", + "value": 4.1 + }, + { + "date": "2025-09-22", + "value": 4.1 + }, + { + "date": "2025-10-05", + "value": 4.1 + }, + { + "date": "2025-10-11", + "value": 4.1 + }, + { + "date": "2025-10-17", + "value": 5.4 + }, + { + "date": "2025-10-23", + "value": 5.4 + }, + { + "date": "2025-11-06", + "value": 4.1 + }, + { + "date": "2025-11-12", + "value": 4.1 + }, + { + "date": "2025-11-18", + "value": 4.1 + }, + { + "date": "2025-11-24", + "value": 5.4 + }, + { + "date": "2025-12-04", + "value": 4.1 + }, + { + "date": "2025-12-10", + "value": 4.1 + }, + { + "date": "2025-12-16", + "value": 4.1 + }, + { + "date": "2025-12-22", + "value": 2.7 + }, + { + "date": "2026-01-05", + "value": 5.4 + }, + { + "date": "2026-01-11", + "value": 5.4 + }, + { + "date": "2026-01-17", + "value": 4.1 + }, + { + "date": "2026-01-23", + "value": 4.1 + }, + { + "date": "2026-02-06", + "value": 5.4 + }, + { + "date": "2026-02-12", + "value": 2.7 + }, + { + "date": "2026-02-18", + "value": 4.1 + }, + { + "date": "2026-02-24", + "value": 4.1 + }, + { + "date": "2026-03-04", + "value": 4.1 + }, + { + "date": "2026-03-10", + "value": 4.1 + }, + { + "date": "2026-03-16", + "value": 4.1 + }, + { + "date": "2026-03-22", + "value": 5.4 + }, + { + "date": "2026-04-05", + "value": 4.1 + }, + { + "date": "2026-04-11", + "value": 4.1 + }, + { + "date": "2026-04-17", + "value": 4.1 + }, + { + "date": "2026-04-23", + "value": 4.1 + }, + { + "date": "2026-05-06", + "value": 4.1 + }, + { + "date": "2026-05-12", + "value": 4.1 + }, + { + "date": "2026-05-18", + "value": 4.1 + }, + { + "date": "2026-05-24", + "value": 4.1 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2022-06", + "mean": 1.4, + "median": 1.4, + "p10": 1.4, + "p25": 1.4, + "p75": 1.4, + "p90": 1.4, + "n": 1 + }, + { + "month": "2022-07", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2022-08", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2022-10", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2022-11", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2023-01", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2023-04", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2023-05", + "mean": 8.1, + "median": 8.1, + "p10": 8.1, + "p25": 8.1, + "p75": 8.1, + "p90": 8.1, + "n": 1 + }, + { + "month": "2023-07", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2023-09", + "mean": 17.6, + "median": 17.6, + "p10": 17.6, + "p25": 17.6, + "p75": 17.6, + "p90": 17.6, + "n": 1 + }, + { + "month": "2023-11", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2024-01", + "mean": 9.5, + "median": 9.5, + "p10": 9.5, + "p25": 9.5, + "p75": 9.5, + "p90": 9.5, + "n": 1 + }, + { + "month": "2024-03", + "mean": 1.4, + "median": 1.4, + "p10": 1.4, + "p25": 1.4, + "p75": 1.4, + "p90": 1.4, + "n": 1 + }, + { + "month": "2024-05", + "mean": 5.4, + "median": 5.4, + "p10": 5.4, + "p25": 5.4, + "p75": 5.4, + "p90": 5.4, + "n": 1 + }, + { + "month": "2024-07", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2024-09", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2024-11", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 1 + }, + { + "month": "2025-03", + "mean": 10.8, + "median": 10.8, + "p10": 10.8, + "p25": 10.8, + "p75": 10.8, + "p90": 10.8, + "n": 1 + }, + { + "month": "2025-06", + "mean": 2.7, + "median": 2.7, + "p10": 2.7, + "p25": 2.7, + "p75": 2.7, + "p90": 2.7, + "n": 1 + }, + { + "month": "2025-08", + "mean": 6.8, + "median": 6.8, + "p10": 6.8, + "p25": 6.8, + "p75": 6.8, + "p90": 6.8, + "n": 1 + }, + { + "month": "2025-09", + "mean": 3.8, + "median": 4.1, + "p10": 3.1, + "p25": 3.8, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2025-10", + "mean": 4.7, + "median": 4.7, + "p10": 4.1, + "p25": 4.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2025-11", + "mean": 4.5, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2025-12", + "mean": 3.8, + "median": 4.1, + "p10": 3.1, + "p25": 3.8, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2026-01", + "mean": 4.7, + "median": 4.7, + "p10": 4.1, + "p25": 4.1, + "p75": 5.4, + "p90": 5.4, + "n": 4 + }, + { + "month": "2026-02", + "mean": 4.1, + "median": 4.1, + "p10": 3.1, + "p25": 3.8, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-03", + "mean": 4.5, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.5, + "p90": 5.0, + "n": 4 + }, + { + "month": "2026-04", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 4 + }, + { + "month": "2026-05", + "mean": 4.1, + "median": 4.1, + "p10": 4.1, + "p25": 4.1, + "p75": 4.1, + "p90": 4.1, + "n": 4 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": { + "median": 99.2, + "mean": 98.5, + "reference": 100.0, + "n": 58 + }, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 7.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 7.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 6.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "post_qa_ship_pla", + "label": "Post-QA Dwell (PL-A)", + "type": "post_qa_ship", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 57, + "mean": 17.1, + "median": 16.2, + "std": 7.6, + "min": 2.7, + "max": 56.7, + "p25": 13.5, + "p75": 18.9, + "p85": 20.2, + "p95": 27.5 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "cost": { + "unit_price": 38.475, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2023-03", + "n_events": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "n_events": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "n_events": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 264000.0 + } + ] + }, + "observations": [ + { + "date": "2023-03-10", + "value": 10.8 + }, + { + "date": "2023-03-25", + "value": 29.7 + }, + { + "date": "2023-09-20", + "value": 56.7 + }, + { + "date": "2024-03-15", + "value": 8.1 + }, + { + "date": "2024-03-28", + "value": 24.3 + }, + { + "date": "2024-09-05", + "value": 37.8 + }, + { + "date": "2024-09-15", + "value": 16.2 + }, + { + "date": "2024-09-25", + "value": 2.7 + }, + { + "date": "2025-03-10", + "value": 20.2 + }, + { + "date": "2025-03-22", + "value": 6.8 + }, + { + "date": "2025-07-08", + "value": 27.0 + }, + { + "date": "2025-07-22", + "value": 5.4 + }, + { + "date": "2025-09-05", + "value": 18.9 + }, + { + "date": "2025-09-11", + "value": 20.2 + }, + { + "date": "2025-09-17", + "value": 13.5 + }, + { + "date": "2025-09-23", + "value": 14.9 + }, + { + "date": "2025-09-29", + "value": 16.2 + }, + { + "date": "2025-10-06", + "value": 18.9 + }, + { + "date": "2025-10-12", + "value": 10.8 + }, + { + "date": "2025-10-18", + "value": 13.5 + }, + { + "date": "2025-10-24", + "value": 14.9 + }, + { + "date": "2025-10-30", + "value": 14.9 + }, + { + "date": "2025-11-04", + "value": 13.5 + }, + { + "date": "2025-11-10", + "value": 16.2 + }, + { + "date": "2025-11-16", + "value": 16.2 + }, + { + "date": "2025-11-22", + "value": 17.6 + }, + { + "date": "2025-11-28", + "value": 18.9 + }, + { + "date": "2025-12-05", + "value": 13.5 + }, + { + "date": "2025-12-11", + "value": 14.9 + }, + { + "date": "2025-12-17", + "value": 16.2 + }, + { + "date": "2025-12-23", + "value": 17.6 + }, + { + "date": "2025-12-29", + "value": 18.9 + }, + { + "date": "2026-01-06", + "value": 17.6 + }, + { + "date": "2026-01-12", + "value": 18.9 + }, + { + "date": "2026-01-18", + "value": 20.2 + }, + { + "date": "2026-01-24", + "value": 21.6 + }, + { + "date": "2026-01-30", + "value": 14.9 + }, + { + "date": "2026-02-04", + "value": 17.6 + }, + { + "date": "2026-02-10", + "value": 18.9 + }, + { + "date": "2026-02-16", + "value": 20.2 + }, + { + "date": "2026-02-22", + "value": 13.5 + }, + { + "date": "2026-02-28", + "value": 14.9 + }, + { + "date": "2026-03-05", + "value": 17.6 + }, + { + "date": "2026-03-11", + "value": 18.9 + }, + { + "date": "2026-03-17", + "value": 10.8 + }, + { + "date": "2026-03-23", + "value": 13.5 + }, + { + "date": "2026-03-29", + "value": 14.9 + }, + { + "date": "2026-04-06", + "value": 21.6 + }, + { + "date": "2026-04-12", + "value": 13.5 + }, + { + "date": "2026-04-18", + "value": 16.2 + }, + { + "date": "2026-04-24", + "value": 16.2 + }, + { + "date": "2026-04-30", + "value": 17.6 + }, + { + "date": "2026-05-04", + "value": 12.2 + }, + { + "date": "2026-05-10", + "value": 13.5 + }, + { + "date": "2026-05-16", + "value": 14.9 + }, + { + "date": "2026-05-22", + "value": 16.2 + }, + { + "date": "2026-05-28", + "value": 17.6 + } + ], + "monthly": [ + { + "month": "2023-03", + "mean": 20.2, + "median": 20.2, + "p10": 12.7, + "p25": 15.5, + "p75": 25.0, + "p90": 27.8, + "n": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "mean": 56.7, + "median": 56.7, + "p10": 56.7, + "p25": 56.7, + "p75": 56.7, + "p90": 56.7, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "mean": 16.2, + "median": 16.2, + "p10": 9.7, + "p25": 12.2, + "p75": 20.2, + "p90": 22.7, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "mean": 18.9, + "median": 16.2, + "p10": 5.4, + "p25": 9.5, + "p75": 27.0, + "p90": 33.5, + "n": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "mean": 13.5, + "median": 13.5, + "p10": 8.1, + "p25": 10.1, + "p75": 16.9, + "p90": 18.9, + "n": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "mean": 16.2, + "median": 16.2, + "p10": 7.6, + "p25": 10.8, + "p75": 21.6, + "p90": 24.8, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "mean": 16.7, + "median": 16.2, + "p10": 14.0, + "p25": 14.9, + "p75": 18.9, + "p90": 19.7, + "n": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "mean": 14.6, + "median": 14.9, + "p10": 11.9, + "p25": 13.5, + "p75": 14.9, + "p90": 17.3, + "n": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "mean": 16.5, + "median": 16.2, + "p10": 14.6, + "p25": 16.2, + "p75": 17.6, + "p90": 18.4, + "n": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "mean": 16.2, + "median": 16.2, + "p10": 14.0, + "p25": 14.9, + "p75": 17.6, + "p90": 18.4, + "n": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "mean": 18.6, + "median": 18.9, + "p10": 15.9, + "p25": 17.6, + "p75": 20.2, + "p90": 21.1, + "n": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "mean": 17.0, + "median": 17.6, + "p10": 14.0, + "p25": 14.9, + "p75": 18.9, + "p90": 19.7, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "mean": 15.1, + "median": 14.9, + "p10": 11.9, + "p25": 13.5, + "p75": 17.6, + "p90": 18.4, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "mean": 17.0, + "median": 16.2, + "p10": 14.6, + "p25": 16.2, + "p75": 17.6, + "p90": 20.0, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "mean": 14.9, + "median": 14.9, + "p10": 12.7, + "p25": 13.5, + "p75": 16.2, + "p90": 17.0, + "n": 5, + "total_kg_days": 264000.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "direct_ship_pla", + "label": "Direct-to-Customer Ship", + "type": "transit", + "material": "90000300001", + "plant": "PL-A\u2192Customer", + "stats": { + "n": 35, + "mean": 28.2, + "median": 28.4, + "std": 6.2, + "min": 16.2, + "max": 51.3, + "p25": 25.0, + "p75": 31.1, + "p85": 33.6, + "p95": 35.9 + }, + "plifz": null, + "plifz_note": "No planning parameter set", + "pct_exceeding_plifz": null, + "cost": null, + "observations": [ + { + "date": "2023-04-05", + "value": 24.3 + }, + { + "date": "2023-10-12", + "value": 33.8 + }, + { + "date": "2024-04-08", + "value": 16.2 + }, + { + "date": "2024-09-20", + "value": 51.3 + }, + { + "date": "2024-10-15", + "value": 27.0 + }, + { + "date": "2025-03-25", + "value": 20.2 + }, + { + "date": "2025-04-10", + "value": 37.8 + }, + { + "date": "2025-07-30", + "value": 32.4 + }, + { + "date": "2025-09-04", + "value": 23.0 + }, + { + "date": "2025-09-10", + "value": 25.7 + }, + { + "date": "2025-09-16", + "value": 28.4 + }, + { + "date": "2025-10-05", + "value": 23.0 + }, + { + "date": "2025-10-11", + "value": 25.7 + }, + { + "date": "2025-10-17", + "value": 27.0 + }, + { + "date": "2025-11-06", + "value": 29.7 + }, + { + "date": "2025-11-12", + "value": 31.1 + }, + { + "date": "2025-11-18", + "value": 33.8 + }, + { + "date": "2025-12-04", + "value": 28.4 + }, + { + "date": "2025-12-10", + "value": 31.1 + }, + { + "date": "2025-12-16", + "value": 33.8 + }, + { + "date": "2026-01-05", + "value": 28.4 + }, + { + "date": "2026-01-11", + "value": 31.1 + }, + { + "date": "2026-01-17", + "value": 18.9 + }, + { + "date": "2026-02-06", + "value": 35.1 + }, + { + "date": "2026-02-12", + "value": 23.0 + }, + { + "date": "2026-02-18", + "value": 25.7 + }, + { + "date": "2026-03-04", + "value": 20.2 + }, + { + "date": "2026-03-10", + "value": 23.0 + }, + { + "date": "2026-03-16", + "value": 25.7 + }, + { + "date": "2026-04-05", + "value": 27.0 + }, + { + "date": "2026-04-11", + "value": 29.7 + }, + { + "date": "2026-04-17", + "value": 31.1 + }, + { + "date": "2026-05-06", + "value": 27.0 + }, + { + "date": "2026-05-12", + "value": 28.4 + }, + { + "date": "2026-05-18", + "value": 31.1 + } + ], + "monthly": [ + { + "month": "2023-04", + "mean": 24.3, + "median": 24.3, + "p10": 24.3, + "p25": 24.3, + "p75": 24.3, + "p90": 24.3, + "n": 1 + }, + { + "month": "2023-10", + "mean": 33.8, + "median": 33.8, + "p10": 33.8, + "p25": 33.8, + "p75": 33.8, + "p90": 33.8, + "n": 1 + }, + { + "month": "2024-04", + "mean": 16.2, + "median": 16.2, + "p10": 16.2, + "p25": 16.2, + "p75": 16.2, + "p90": 16.2, + "n": 1 + }, + { + "month": "2024-09", + "mean": 51.3, + "median": 51.3, + "p10": 51.3, + "p25": 51.3, + "p75": 51.3, + "p90": 51.3, + "n": 1 + }, + { + "month": "2024-10", + "mean": 27.0, + "median": 27.0, + "p10": 27.0, + "p25": 27.0, + "p75": 27.0, + "p90": 27.0, + "n": 1 + }, + { + "month": "2025-03", + "mean": 20.2, + "median": 20.2, + "p10": 20.2, + "p25": 20.2, + "p75": 20.2, + "p90": 20.2, + "n": 1 + }, + { + "month": "2025-04", + "mean": 37.8, + "median": 37.8, + "p10": 37.8, + "p25": 37.8, + "p75": 37.8, + "p90": 37.8, + "n": 1 + }, + { + "month": "2025-07", + "mean": 32.4, + "median": 32.4, + "p10": 32.4, + "p25": 32.4, + "p75": 32.4, + "p90": 32.4, + "n": 1 + }, + { + "month": "2025-09", + "mean": 25.7, + "median": 25.7, + "p10": 23.5, + "p25": 24.3, + "p75": 27.0, + "p90": 27.8, + "n": 3 + }, + { + "month": "2025-10", + "mean": 25.2, + "median": 25.7, + "p10": 23.5, + "p25": 24.3, + "p75": 26.3, + "p90": 26.7, + "n": 3 + }, + { + "month": "2025-11", + "mean": 31.5, + "median": 31.1, + "p10": 30.0, + "p25": 30.4, + "p75": 32.4, + "p90": 33.2, + "n": 3 + }, + { + "month": "2025-12", + "mean": 31.1, + "median": 31.1, + "p10": 28.9, + "p25": 29.7, + "p75": 32.4, + "p90": 33.2, + "n": 3 + }, + { + "month": "2026-01", + "mean": 26.1, + "median": 28.4, + "p10": 20.8, + "p25": 23.6, + "p75": 29.7, + "p90": 30.5, + "n": 3 + }, + { + "month": "2026-02", + "mean": 27.9, + "median": 25.7, + "p10": 23.5, + "p25": 24.3, + "p75": 30.4, + "p90": 33.2, + "n": 3 + }, + { + "month": "2026-03", + "mean": 23.0, + "median": 23.0, + "p10": 20.8, + "p25": 21.6, + "p75": 24.3, + "p90": 25.1, + "n": 3 + }, + { + "month": "2026-04", + "mean": 29.3, + "median": 29.7, + "p10": 27.5, + "p25": 28.4, + "p75": 30.4, + "p90": 30.8, + "n": 3 + }, + { + "month": "2026-05", + "mean": 28.8, + "median": 28.4, + "p10": 27.3, + "p25": 27.7, + "p75": 29.7, + "p90": 30.5, + "n": 3 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 22.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 22.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "transit_pla_hub1", + "label": "Transit PL-A \u2192 HUB-1", + "type": "transit", + "material": "90000300001", + "plant": "PL-A\u2192HUB-1", + "stats": { + "n": 42, + "mean": 42.3, + "median": 41.2, + "std": 9.6, + "min": 20.2, + "max": 74.2, + "p25": 36.5, + "p75": 48.6, + "p85": 51.3, + "p95": 56.6 + }, + "plifz": 28, + "plifz_note": null, + "pct_exceeding_plifz": 61.9, + "cost": null, + "observations": [ + { + "date": "2022-07-20", + "value": 37.8 + }, + { + "date": "2022-11-30", + "value": 47.2 + }, + { + "date": "2023-03-15", + "value": 29.7 + }, + { + "date": "2023-07-10", + "value": 56.7 + }, + { + "date": "2023-10-25", + "value": 40.5 + }, + { + "date": "2024-02-08", + "value": 74.2 + }, + { + "date": "2024-05-20", + "value": 33.8 + }, + { + "date": "2024-08-12", + "value": 51.3 + }, + { + "date": "2024-11-05", + "value": 20.2 + }, + { + "date": "2025-01-22", + "value": 43.2 + }, + { + "date": "2025-04-10", + "value": 37.8 + }, + { + "date": "2025-06-18", + "value": 60.8 + }, + { + "date": "2025-07-15", + "value": 40.5 + }, + { + "date": "2025-08-05", + "value": 29.7 + }, + { + "date": "2025-09-05", + "value": 48.6 + }, + { + "date": "2025-09-10", + "value": 51.3 + }, + { + "date": "2025-09-11", + "value": 52.7 + }, + { + "date": "2025-09-17", + "value": 35.1 + }, + { + "date": "2025-10-06", + "value": 48.6 + }, + { + "date": "2025-10-12", + "value": 31.1 + }, + { + "date": "2025-10-18", + "value": 35.1 + }, + { + "date": "2025-11-04", + "value": 36.5 + }, + { + "date": "2025-11-10", + "value": 41.9 + }, + { + "date": "2025-11-16", + "value": 44.6 + }, + { + "date": "2025-12-05", + "value": 36.5 + }, + { + "date": "2025-12-11", + "value": 39.2 + }, + { + "date": "2025-12-17", + "value": 43.2 + }, + { + "date": "2026-01-06", + "value": 35.1 + }, + { + "date": "2026-01-12", + "value": 39.2 + }, + { + "date": "2026-01-18", + "value": 41.9 + }, + { + "date": "2026-02-04", + "value": 44.6 + }, + { + "date": "2026-02-10", + "value": 48.6 + }, + { + "date": "2026-02-16", + "value": 52.7 + }, + { + "date": "2026-03-05", + "value": 44.6 + }, + { + "date": "2026-03-11", + "value": 48.6 + }, + { + "date": "2026-03-17", + "value": 31.1 + }, + { + "date": "2026-04-06", + "value": 54.0 + }, + { + "date": "2026-04-12", + "value": 36.5 + }, + { + "date": "2026-04-18", + "value": 41.9 + }, + { + "date": "2026-05-04", + "value": 32.4 + }, + { + "date": "2026-05-10", + "value": 36.5 + }, + { + "date": "2026-05-16", + "value": 39.2 + } + ], + "monthly": [ + { + "month": "2022-07", + "mean": 37.8, + "median": 37.8, + "p10": 37.8, + "p25": 37.8, + "p75": 37.8, + "p90": 37.8, + "n": 1 + }, + { + "month": "2022-11", + "mean": 47.2, + "median": 47.2, + "p10": 47.2, + "p25": 47.2, + "p75": 47.2, + "p90": 47.2, + "n": 1 + }, + { + "month": "2023-03", + "mean": 29.7, + "median": 29.7, + "p10": 29.7, + "p25": 29.7, + "p75": 29.7, + "p90": 29.7, + "n": 1 + }, + { + "month": "2023-07", + "mean": 56.7, + "median": 56.7, + "p10": 56.7, + "p25": 56.7, + "p75": 56.7, + "p90": 56.7, + "n": 1 + }, + { + "month": "2023-10", + "mean": 40.5, + "median": 40.5, + "p10": 40.5, + "p25": 40.5, + "p75": 40.5, + "p90": 40.5, + "n": 1 + }, + { + "month": "2024-02", + "mean": 74.2, + "median": 74.2, + "p10": 74.2, + "p25": 74.2, + "p75": 74.2, + "p90": 74.2, + "n": 1 + }, + { + "month": "2024-05", + "mean": 33.8, + "median": 33.8, + "p10": 33.8, + "p25": 33.8, + "p75": 33.8, + "p90": 33.8, + "n": 1 + }, + { + "month": "2024-08", + "mean": 51.3, + "median": 51.3, + "p10": 51.3, + "p25": 51.3, + "p75": 51.3, + "p90": 51.3, + "n": 1 + }, + { + "month": "2024-11", + "mean": 20.2, + "median": 20.2, + "p10": 20.2, + "p25": 20.2, + "p75": 20.2, + "p90": 20.2, + "n": 1 + }, + { + "month": "2025-01", + "mean": 43.2, + "median": 43.2, + "p10": 43.2, + "p25": 43.2, + "p75": 43.2, + "p90": 43.2, + "n": 1 + }, + { + "month": "2025-04", + "mean": 37.8, + "median": 37.8, + "p10": 37.8, + "p25": 37.8, + "p75": 37.8, + "p90": 37.8, + "n": 1 + }, + { + "month": "2025-06", + "mean": 60.8, + "median": 60.8, + "p10": 60.8, + "p25": 60.8, + "p75": 60.8, + "p90": 60.8, + "n": 1 + }, + { + "month": "2025-07", + "mean": 40.5, + "median": 40.5, + "p10": 40.5, + "p25": 40.5, + "p75": 40.5, + "p90": 40.5, + "n": 1 + }, + { + "month": "2025-08", + "mean": 29.7, + "median": 29.7, + "p10": 29.7, + "p25": 29.7, + "p75": 29.7, + "p90": 29.7, + "n": 1 + }, + { + "month": "2025-09", + "mean": 47.0, + "median": 50.0, + "p10": 39.2, + "p25": 45.2, + "p75": 51.7, + "p90": 52.2, + "n": 4 + }, + { + "month": "2025-10", + "mean": 38.2, + "median": 35.1, + "p10": 31.9, + "p25": 33.1, + "p75": 41.9, + "p90": 45.9, + "n": 3 + }, + { + "month": "2025-11", + "mean": 40.9, + "median": 41.9, + "p10": 37.5, + "p25": 39.2, + "p75": 43.2, + "p90": 44.0, + "n": 3 + }, + { + "month": "2025-12", + "mean": 39.6, + "median": 39.2, + "p10": 37.0, + "p25": 37.8, + "p75": 41.2, + "p90": 42.4, + "n": 3 + }, + { + "month": "2026-01", + "mean": 38.7, + "median": 39.2, + "p10": 35.9, + "p25": 37.1, + "p75": 40.5, + "p90": 41.3, + "n": 3 + }, + { + "month": "2026-02", + "mean": 48.6, + "median": 48.6, + "p10": 45.4, + "p25": 46.6, + "p75": 50.6, + "p90": 51.8, + "n": 3 + }, + { + "month": "2026-03", + "mean": 41.4, + "median": 44.6, + "p10": 33.8, + "p25": 37.8, + "p75": 46.6, + "p90": 47.8, + "n": 3 + }, + { + "month": "2026-04", + "mean": 44.1, + "median": 41.9, + "p10": 37.5, + "p25": 39.2, + "p75": 47.9, + "p90": 51.6, + "n": 3 + }, + { + "month": "2026-05", + "mean": 36.0, + "median": 36.5, + "p10": 33.2, + "p25": 34.4, + "p75": 37.8, + "p90": 38.6, + "n": 3 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "dest_dwell_hub1", + "label": "Destination Dwell (HUB-1)", + "type": "destination_dwell", + "material": "90000300001", + "plant": "HUB-1", + "stats": { + "n": 37, + "mean": 60.8, + "median": 59.4, + "std": 18.9, + "min": 13.5, + "max": 128.2, + "p25": 48.6, + "p75": 66.2, + "p85": 71.6, + "p95": 91.3 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "cost": { + "unit_price": 38.475, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2022-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "n_events": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "n_events": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "n_events": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "n_events": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "n_events": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "n_events": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "n_events": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "n_events": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "n_events": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "n_events": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "n_events": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "n_events": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "n_events": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "n_events": 3, + "total_kg_days": 585600.0 + } + ] + }, + "observations": [ + { + "date": "2022-09-15", + "value": 56.7 + }, + { + "date": "2023-05-05", + "value": 87.8 + }, + { + "date": "2023-05-20", + "value": 37.8 + }, + { + "date": "2024-01-10", + "value": 128.2 + }, + { + "date": "2024-01-25", + "value": 47.2 + }, + { + "date": "2024-08-15", + "value": 13.5 + }, + { + "date": "2025-02-05", + "value": 105.3 + }, + { + "date": "2025-02-18", + "value": 74.2 + }, + { + "date": "2025-08-10", + "value": 56.7 + }, + { + "date": "2025-08-20", + "value": 43.2 + }, + { + "date": "2025-09-06", + "value": 52.7 + }, + { + "date": "2025-09-12", + "value": 56.7 + }, + { + "date": "2025-09-18", + "value": 62.1 + }, + { + "date": "2025-10-04", + "value": 66.2 + }, + { + "date": "2025-10-10", + "value": 71.6 + }, + { + "date": "2025-10-16", + "value": 77.0 + }, + { + "date": "2025-11-05", + "value": 64.8 + }, + { + "date": "2025-11-11", + "value": 70.2 + }, + { + "date": "2025-11-17", + "value": 45.9 + }, + { + "date": "2025-12-06", + "value": 64.8 + }, + { + "date": "2025-12-12", + "value": 40.5 + }, + { + "date": "2025-12-18", + "value": 45.9 + }, + { + "date": "2026-01-04", + "value": 48.6 + }, + { + "date": "2026-01-10", + "value": 55.4 + }, + { + "date": "2026-01-16", + "value": 58.1 + }, + { + "date": "2026-02-05", + "value": 48.6 + }, + { + "date": "2026-02-11", + "value": 52.7 + }, + { + "date": "2026-02-17", + "value": 56.7 + }, + { + "date": "2026-03-06", + "value": 62.1 + }, + { + "date": "2026-03-12", + "value": 66.2 + }, + { + "date": "2026-03-18", + "value": 71.6 + }, + { + "date": "2026-04-04", + "value": 60.8 + }, + { + "date": "2026-04-10", + "value": 64.8 + }, + { + "date": "2026-04-16", + "value": 70.2 + }, + { + "date": "2026-05-05", + "value": 59.4 + }, + { + "date": "2026-05-11", + "value": 64.8 + }, + { + "date": "2026-05-17", + "value": 40.5 + } + ], + "monthly": [ + { + "month": "2022-09", + "mean": 56.7, + "median": 56.7, + "p10": 56.7, + "p25": 56.7, + "p75": 56.7, + "p90": 56.7, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "mean": 62.8, + "median": 62.8, + "p10": 42.8, + "p25": 50.4, + "p75": 75.3, + "p90": 82.8, + "n": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "mean": 87.8, + "median": 87.8, + "p10": 55.4, + "p25": 67.5, + "p75": 108.0, + "p90": 120.2, + "n": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "mean": 13.5, + "median": 13.5, + "p10": 13.5, + "p25": 13.5, + "p75": 13.5, + "p90": 13.5, + "n": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "mean": 89.8, + "median": 89.8, + "p10": 77.4, + "p25": 82.1, + "p75": 97.6, + "p90": 102.2, + "n": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "mean": 50.0, + "median": 50.0, + "p10": 44.6, + "p25": 46.6, + "p75": 53.3, + "p90": 55.4, + "n": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "mean": 57.1, + "median": 56.7, + "p10": 53.5, + "p25": 54.7, + "p75": 59.4, + "p90": 61.0, + "n": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "mean": 71.6, + "median": 71.6, + "p10": 67.2, + "p25": 68.9, + "p75": 74.2, + "p90": 75.9, + "n": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "mean": 60.3, + "median": 64.8, + "p10": 49.7, + "p25": 55.4, + "p75": 67.5, + "p90": 69.1, + "n": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "mean": 50.4, + "median": 45.9, + "p10": 41.6, + "p25": 43.2, + "p75": 55.4, + "p90": 61.0, + "n": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "mean": 54.0, + "median": 55.4, + "p10": 50.0, + "p25": 52.0, + "p75": 56.7, + "p90": 57.5, + "n": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "mean": 52.7, + "median": 52.7, + "p10": 49.4, + "p25": 50.6, + "p75": 54.7, + "p90": 55.9, + "n": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "mean": 66.6, + "median": 66.2, + "p10": 62.9, + "p25": 64.1, + "p75": 68.9, + "p90": 70.5, + "n": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "mean": 65.2, + "median": 64.8, + "p10": 61.6, + "p25": 62.8, + "p75": 67.5, + "p90": 69.1, + "n": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "mean": 54.9, + "median": 59.4, + "p10": 44.3, + "p25": 50.0, + "p75": 62.1, + "p90": 63.7, + "n": 3, + "total_kg_days": 585600.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 45.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 45.0, + "expected_marginal_per_day": 1.0 + } + } + } + ] + } + ], + "rollups": { + "total_dwell_cost": 683368.2, + "top_dwell_costs": [ + { + "product_id": "meadow-espresso", + "node_id": "dest_dwell_hub1", + "label": "Destination Dwell (HUB-1)", + "period_cost": 86981.96 + }, + { + "product_id": "summit-medium-roast", + "node_id": "dest_dwell_hub1", + "label": "Destination Dwell (HUB-1)", + "period_cost": 76367.03 + }, + { + "product_id": "harbor-dark-roast", + "node_id": "dest_dwell_hub1", + "label": "Destination Dwell (HUB-1)", + "period_cost": 65127.69 + }, + { + "product_id": "riverside-decaf", + "node_id": "dest_dwell_hub1", + "label": "Destination Dwell (HUB-1)", + "period_cost": 53888.35 + }, + { + "product_id": "meadow-espresso", + "node_id": "post_qa_ship_pla", + "label": "Post-QA Dwell (PL-A)", + "period_cost": 37852.29 + } + ], + "top_planning_mismatches": [ + { + "product_id": "meadow-espresso", + "node_id": "procurement_highland_arabica", + "label": "Procurement: Highland Arabica", + "deviation_pct": 440.0 + }, + { + "product_id": "meadow-espresso", + "node_id": "procurement_washed_bourbon", + "label": "Procurement: Washed Bourbon", + "deviation_pct": 382.9 + }, + { + "product_id": "summit-medium-roast", + "node_id": "procurement_highland_arabica", + "label": "Procurement: Highland Arabica", + "deviation_pct": 372.0 + }, + { + "product_id": "summit-medium-roast", + "node_id": "procurement_washed_bourbon", + "label": "Procurement: Washed Bourbon", + "deviation_pct": 321.4 + }, + { + "product_id": "harbor-dark-roast", + "node_id": "procurement_highland_arabica", + "label": "Procurement: Highland Arabica", + "deviation_pct": 300.0 + } + ], + "bad_planning_param_count": 30 + } +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/sites.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/sites.json new file mode 100644 index 00000000000..6dc7a646026 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/sites.json @@ -0,0 +1,6 @@ +[ + { + "slug": "harbor-roastery", + "name": "Harbor Roastery" + } +] diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/graph.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/graph.json new file mode 100644 index 00000000000..6fb785a8900 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/graph.json @@ -0,0 +1,16588 @@ +{ + "product_id": "summit-medium-roast", + "product_name": "Summit Medium Roast", + "nodes": [ + { + "id": "procurement_highland_arabica", + "label": "Procurement: Highland Arabica", + "type": "procurement", + "material": "90000100001", + "plant": "PL-A", + "stats": { + "n": 59, + "mean": 47.4, + "median": 47.2, + "std": 15.7, + "min": 9.4, + "max": 123.9, + "p25": 41.3, + "p75": 53.1, + "p85": 56.6, + "p95": 65.8 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 98.3, + "cost": null, + "observations": [ + { + "date": "2022-03-15", + "value": 64.9 + }, + { + "date": "2022-06-10", + "value": 49.6 + }, + { + "date": "2022-09-22", + "value": 9.4 + }, + { + "date": "2022-12-05", + "value": 74.3 + }, + { + "date": "2023-02-14", + "value": 44.8 + }, + { + "date": "2023-05-30", + "value": 26.0 + }, + { + "date": "2023-08-17", + "value": 83.8 + }, + { + "date": "2023-11-02", + "value": 35.4 + }, + { + "date": "2024-01-25", + "value": 53.1 + }, + { + "date": "2024-04-11", + "value": 21.2 + }, + { + "date": "2024-07-09", + "value": 123.9 + }, + { + "date": "2024-10-03", + "value": 41.3 + }, + { + "date": "2025-01-20", + "value": 14.2 + }, + { + "date": "2025-04-08", + "value": 56.6 + }, + { + "date": "2025-09-05", + "value": 46.0 + }, + { + "date": "2025-09-11", + "value": 48.4 + }, + { + "date": "2025-09-17", + "value": 51.9 + }, + { + "date": "2025-09-23", + "value": 56.6 + }, + { + "date": "2025-09-29", + "value": 60.2 + }, + { + "date": "2025-10-06", + "value": 43.7 + }, + { + "date": "2025-10-12", + "value": 47.2 + }, + { + "date": "2025-10-18", + "value": 51.9 + }, + { + "date": "2025-10-24", + "value": 55.5 + }, + { + "date": "2025-10-30", + "value": 36.6 + }, + { + "date": "2025-11-04", + "value": 42.5 + }, + { + "date": "2025-11-10", + "value": 47.2 + }, + { + "date": "2025-11-16", + "value": 50.7 + }, + { + "date": "2025-11-22", + "value": 31.9 + }, + { + "date": "2025-11-28", + "value": 36.6 + }, + { + "date": "2025-12-05", + "value": 54.3 + }, + { + "date": "2025-12-11", + "value": 57.8 + }, + { + "date": "2025-12-17", + "value": 38.9 + }, + { + "date": "2025-12-23", + "value": 43.7 + }, + { + "date": "2025-12-29", + "value": 46.0 + }, + { + "date": "2026-01-06", + "value": 53.1 + }, + { + "date": "2026-01-12", + "value": 34.2 + }, + { + "date": "2026-01-18", + "value": 38.9 + }, + { + "date": "2026-01-24", + "value": 41.3 + }, + { + "date": "2026-01-30", + "value": 44.8 + }, + { + "date": "2026-02-04", + "value": 41.3 + }, + { + "date": "2026-02-10", + "value": 46.0 + }, + { + "date": "2026-02-16", + "value": 48.4 + }, + { + "date": "2026-02-22", + "value": 51.9 + }, + { + "date": "2026-02-28", + "value": 56.6 + }, + { + "date": "2026-03-05", + "value": 41.3 + }, + { + "date": "2026-03-11", + "value": 43.7 + }, + { + "date": "2026-03-17", + "value": 47.2 + }, + { + "date": "2026-03-23", + "value": 51.9 + }, + { + "date": "2026-03-29", + "value": 55.5 + }, + { + "date": "2026-04-06", + "value": 38.9 + }, + { + "date": "2026-04-12", + "value": 42.5 + }, + { + "date": "2026-04-18", + "value": 47.2 + }, + { + "date": "2026-04-24", + "value": 50.7 + }, + { + "date": "2026-04-30", + "value": 31.9 + }, + { + "date": "2026-05-04", + "value": 49.6 + }, + { + "date": "2026-05-10", + "value": 54.3 + }, + { + "date": "2026-05-16", + "value": 57.8 + }, + { + "date": "2026-05-22", + "value": 38.9 + }, + { + "date": "2026-05-28", + "value": 43.7 + } + ], + "monthly": [ + { + "month": "2022-03", + "mean": 64.9, + "median": 64.9, + "p10": 64.9, + "p25": 64.9, + "p75": 64.9, + "p90": 64.9, + "n": 1 + }, + { + "month": "2022-06", + "mean": 49.6, + "median": 49.6, + "p10": 49.6, + "p25": 49.6, + "p75": 49.6, + "p90": 49.6, + "n": 1 + }, + { + "month": "2022-09", + "mean": 9.4, + "median": 9.4, + "p10": 9.4, + "p25": 9.4, + "p75": 9.4, + "p90": 9.4, + "n": 1 + }, + { + "month": "2022-12", + "mean": 74.3, + "median": 74.3, + "p10": 74.3, + "p25": 74.3, + "p75": 74.3, + "p90": 74.3, + "n": 1 + }, + { + "month": "2023-02", + "mean": 44.8, + "median": 44.8, + "p10": 44.8, + "p25": 44.8, + "p75": 44.8, + "p90": 44.8, + "n": 1 + }, + { + "month": "2023-05", + "mean": 26.0, + "median": 26.0, + "p10": 26.0, + "p25": 26.0, + "p75": 26.0, + "p90": 26.0, + "n": 1 + }, + { + "month": "2023-08", + "mean": 83.8, + "median": 83.8, + "p10": 83.8, + "p25": 83.8, + "p75": 83.8, + "p90": 83.8, + "n": 1 + }, + { + "month": "2023-11", + "mean": 35.4, + "median": 35.4, + "p10": 35.4, + "p25": 35.4, + "p75": 35.4, + "p90": 35.4, + "n": 1 + }, + { + "month": "2024-01", + "mean": 53.1, + "median": 53.1, + "p10": 53.1, + "p25": 53.1, + "p75": 53.1, + "p90": 53.1, + "n": 1 + }, + { + "month": "2024-04", + "mean": 21.2, + "median": 21.2, + "p10": 21.2, + "p25": 21.2, + "p75": 21.2, + "p90": 21.2, + "n": 1 + }, + { + "month": "2024-07", + "mean": 123.9, + "median": 123.9, + "p10": 123.9, + "p25": 123.9, + "p75": 123.9, + "p90": 123.9, + "n": 1 + }, + { + "month": "2024-10", + "mean": 41.3, + "median": 41.3, + "p10": 41.3, + "p25": 41.3, + "p75": 41.3, + "p90": 41.3, + "n": 1 + }, + { + "month": "2025-01", + "mean": 14.2, + "median": 14.2, + "p10": 14.2, + "p25": 14.2, + "p75": 14.2, + "p90": 14.2, + "n": 1 + }, + { + "month": "2025-04", + "mean": 56.6, + "median": 56.6, + "p10": 56.6, + "p25": 56.6, + "p75": 56.6, + "p90": 56.6, + "n": 1 + }, + { + "month": "2025-09", + "mean": 52.6, + "median": 51.9, + "p10": 47.0, + "p25": 48.4, + "p75": 56.6, + "p90": 58.8, + "n": 5 + }, + { + "month": "2025-10", + "mean": 47.0, + "median": 47.2, + "p10": 39.4, + "p25": 43.7, + "p75": 51.9, + "p90": 54.0, + "n": 5 + }, + { + "month": "2025-11", + "mean": 41.8, + "median": 42.5, + "p10": 33.7, + "p25": 36.6, + "p75": 47.2, + "p90": 49.3, + "n": 5 + }, + { + "month": "2025-12", + "mean": 48.1, + "median": 46.0, + "p10": 40.8, + "p25": 43.7, + "p75": 54.3, + "p90": 56.4, + "n": 5 + }, + { + "month": "2026-01", + "mean": 42.5, + "median": 41.3, + "p10": 36.1, + "p25": 38.9, + "p75": 44.8, + "p90": 49.8, + "n": 5 + }, + { + "month": "2026-02", + "mean": 48.9, + "median": 48.4, + "p10": 43.2, + "p25": 46.0, + "p75": 51.9, + "p90": 54.8, + "n": 5 + }, + { + "month": "2026-03", + "mean": 47.9, + "median": 47.2, + "p10": 42.2, + "p25": 43.7, + "p75": 51.9, + "p90": 54.0, + "n": 5 + }, + { + "month": "2026-04", + "mean": 42.2, + "median": 42.5, + "p10": 34.7, + "p25": 38.9, + "p75": 47.2, + "p90": 49.3, + "n": 5 + }, + { + "month": "2026-05", + "mean": 48.9, + "median": 49.6, + "p10": 40.8, + "p25": 43.7, + "p75": 54.3, + "p90": 56.4, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "procurement_lowland_robusta", + "label": "Procurement: Lowland Robusta", + "type": "procurement", + "material": "90000100002", + "plant": "PL-A", + "stats": { + "n": 63, + "mean": 39.4, + "median": 38.9, + "std": 13.5, + "min": 5.9, + "max": 96.8, + "p25": 33.0, + "p75": 44.8, + "p85": 48.0, + "p95": 60.9 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 96.8, + "cost": null, + "observations": [ + { + "date": "2022-02-08", + "value": 37.8 + }, + { + "date": "2022-04-19", + "value": 56.6 + }, + { + "date": "2022-07-11", + "value": 5.9 + }, + { + "date": "2022-09-28", + "value": 79.1 + }, + { + "date": "2022-12-15", + "value": 29.5 + }, + { + "date": "2023-03-07", + "value": 48.4 + }, + { + "date": "2023-05-22", + "value": 17.7 + }, + { + "date": "2023-08-09", + "value": 96.8 + }, + { + "date": "2023-10-30", + "value": 44.8 + }, + { + "date": "2024-01-16", + "value": 23.6 + }, + { + "date": "2024-03-25", + "value": 61.4 + }, + { + "date": "2024-06-12", + "value": 11.8 + }, + { + "date": "2024-08-28", + "value": 51.9 + }, + { + "date": "2024-11-14", + "value": 33.0 + }, + { + "date": "2025-01-06", + "value": 41.3 + }, + { + "date": "2025-03-18", + "value": 21.2 + }, + { + "date": "2025-05-29", + "value": 64.9 + }, + { + "date": "2025-08-12", + "value": 30.7 + }, + { + "date": "2025-09-04", + "value": 30.7 + }, + { + "date": "2025-09-10", + "value": 34.2 + }, + { + "date": "2025-09-16", + "value": 36.6 + }, + { + "date": "2025-09-22", + "value": 40.1 + }, + { + "date": "2025-09-28", + "value": 43.7 + }, + { + "date": "2025-10-05", + "value": 30.7 + }, + { + "date": "2025-10-11", + "value": 33.0 + }, + { + "date": "2025-10-17", + "value": 36.6 + }, + { + "date": "2025-10-23", + "value": 38.9 + }, + { + "date": "2025-10-29", + "value": 42.5 + }, + { + "date": "2025-11-06", + "value": 38.9 + }, + { + "date": "2025-11-12", + "value": 42.5 + }, + { + "date": "2025-11-18", + "value": 44.8 + }, + { + "date": "2025-11-24", + "value": 49.6 + }, + { + "date": "2025-11-30", + "value": 33.0 + }, + { + "date": "2025-12-04", + "value": 37.8 + }, + { + "date": "2025-12-10", + "value": 41.3 + }, + { + "date": "2025-12-16", + "value": 44.8 + }, + { + "date": "2025-12-22", + "value": 28.3 + }, + { + "date": "2025-12-28", + "value": 33.0 + }, + { + "date": "2026-01-05", + "value": 47.2 + }, + { + "date": "2026-01-11", + "value": 50.7 + }, + { + "date": "2026-01-17", + "value": 34.2 + }, + { + "date": "2026-01-23", + "value": 38.9 + }, + { + "date": "2026-01-29", + "value": 41.3 + }, + { + "date": "2026-02-06", + "value": 47.2 + }, + { + "date": "2026-02-12", + "value": 30.7 + }, + { + "date": "2026-02-18", + "value": 34.2 + }, + { + "date": "2026-02-24", + "value": 36.6 + }, + { + "date": "2026-02-30", + "value": 40.1 + }, + { + "date": "2026-03-04", + "value": 26.0 + }, + { + "date": "2026-03-10", + "value": 30.7 + }, + { + "date": "2026-03-16", + "value": 33.0 + }, + { + "date": "2026-03-22", + "value": 36.6 + }, + { + "date": "2026-03-28", + "value": 38.9 + }, + { + "date": "2026-04-05", + "value": 36.6 + }, + { + "date": "2026-04-11", + "value": 38.9 + }, + { + "date": "2026-04-17", + "value": 42.5 + }, + { + "date": "2026-04-23", + "value": 44.8 + }, + { + "date": "2026-04-29", + "value": 49.6 + }, + { + "date": "2026-05-06", + "value": 35.4 + }, + { + "date": "2026-05-12", + "value": 37.8 + }, + { + "date": "2026-05-18", + "value": 41.3 + }, + { + "date": "2026-05-24", + "value": 44.8 + }, + { + "date": "2026-05-30", + "value": 28.3 + } + ], + "monthly": [ + { + "month": "2022-02", + "mean": 37.8, + "median": 37.8, + "p10": 37.8, + "p25": 37.8, + "p75": 37.8, + "p90": 37.8, + "n": 1 + }, + { + "month": "2022-04", + "mean": 56.6, + "median": 56.6, + "p10": 56.6, + "p25": 56.6, + "p75": 56.6, + "p90": 56.6, + "n": 1 + }, + { + "month": "2022-07", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2022-09", + "mean": 79.1, + "median": 79.1, + "p10": 79.1, + "p25": 79.1, + "p75": 79.1, + "p90": 79.1, + "n": 1 + }, + { + "month": "2022-12", + "mean": 29.5, + "median": 29.5, + "p10": 29.5, + "p25": 29.5, + "p75": 29.5, + "p90": 29.5, + "n": 1 + }, + { + "month": "2023-03", + "mean": 48.4, + "median": 48.4, + "p10": 48.4, + "p25": 48.4, + "p75": 48.4, + "p90": 48.4, + "n": 1 + }, + { + "month": "2023-05", + "mean": 17.7, + "median": 17.7, + "p10": 17.7, + "p25": 17.7, + "p75": 17.7, + "p90": 17.7, + "n": 1 + }, + { + "month": "2023-08", + "mean": 96.8, + "median": 96.8, + "p10": 96.8, + "p25": 96.8, + "p75": 96.8, + "p90": 96.8, + "n": 1 + }, + { + "month": "2023-10", + "mean": 44.8, + "median": 44.8, + "p10": 44.8, + "p25": 44.8, + "p75": 44.8, + "p90": 44.8, + "n": 1 + }, + { + "month": "2024-01", + "mean": 23.6, + "median": 23.6, + "p10": 23.6, + "p25": 23.6, + "p75": 23.6, + "p90": 23.6, + "n": 1 + }, + { + "month": "2024-03", + "mean": 61.4, + "median": 61.4, + "p10": 61.4, + "p25": 61.4, + "p75": 61.4, + "p90": 61.4, + "n": 1 + }, + { + "month": "2024-06", + "mean": 11.8, + "median": 11.8, + "p10": 11.8, + "p25": 11.8, + "p75": 11.8, + "p90": 11.8, + "n": 1 + }, + { + "month": "2024-08", + "mean": 51.9, + "median": 51.9, + "p10": 51.9, + "p25": 51.9, + "p75": 51.9, + "p90": 51.9, + "n": 1 + }, + { + "month": "2024-11", + "mean": 33.0, + "median": 33.0, + "p10": 33.0, + "p25": 33.0, + "p75": 33.0, + "p90": 33.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 41.3, + "median": 41.3, + "p10": 41.3, + "p25": 41.3, + "p75": 41.3, + "p90": 41.3, + "n": 1 + }, + { + "month": "2025-03", + "mean": 21.2, + "median": 21.2, + "p10": 21.2, + "p25": 21.2, + "p75": 21.2, + "p90": 21.2, + "n": 1 + }, + { + "month": "2025-05", + "mean": 64.9, + "median": 64.9, + "p10": 64.9, + "p25": 64.9, + "p75": 64.9, + "p90": 64.9, + "n": 1 + }, + { + "month": "2025-08", + "mean": 30.7, + "median": 30.7, + "p10": 30.7, + "p25": 30.7, + "p75": 30.7, + "p90": 30.7, + "n": 1 + }, + { + "month": "2025-09", + "mean": 37.1, + "median": 36.6, + "p10": 32.1, + "p25": 34.2, + "p75": 40.1, + "p90": 42.2, + "n": 5 + }, + { + "month": "2025-10", + "mean": 36.3, + "median": 36.6, + "p10": 31.6, + "p25": 33.0, + "p75": 38.9, + "p90": 41.1, + "n": 5 + }, + { + "month": "2025-11", + "mean": 41.8, + "median": 42.5, + "p10": 35.4, + "p25": 38.9, + "p75": 44.8, + "p90": 47.7, + "n": 5 + }, + { + "month": "2025-12", + "mean": 37.1, + "median": 37.8, + "p10": 30.2, + "p25": 33.0, + "p75": 41.3, + "p90": 43.4, + "n": 5 + }, + { + "month": "2026-01", + "mean": 42.5, + "median": 41.3, + "p10": 36.1, + "p25": 38.9, + "p75": 47.2, + "p90": 49.3, + "n": 5 + }, + { + "month": "2026-02", + "mean": 37.8, + "median": 36.6, + "p10": 32.1, + "p25": 34.2, + "p75": 40.1, + "p90": 44.4, + "n": 5 + }, + { + "month": "2026-03", + "mean": 33.0, + "median": 33.0, + "p10": 27.8, + "p25": 30.7, + "p75": 36.6, + "p90": 38.0, + "n": 5 + }, + { + "month": "2026-04", + "mean": 42.5, + "median": 42.5, + "p10": 37.5, + "p25": 38.9, + "p75": 44.8, + "p90": 47.7, + "n": 5 + }, + { + "month": "2026-05", + "mean": 37.5, + "median": 37.8, + "p10": 31.2, + "p25": 35.4, + "p75": 41.3, + "p90": 43.4, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "procurement_washed_bourbon", + "label": "Procurement: Washed Bourbon", + "type": "procurement", + "material": "90000100003", + "plant": "PL-A", + "stats": { + "n": 55, + "mean": 30.8, + "median": 29.5, + "std": 9.4, + "min": 8.3, + "max": 73.2, + "p25": 26.5, + "p75": 34.2, + "p85": 35.4, + "p95": 43.1 + }, + "plifz": 7, + "plifz_note": null, + "pct_exceeding_plifz": 98.2, + "cost": null, + "observations": [ + { + "date": "2022-05-03", + "value": 41.3 + }, + { + "date": "2022-10-18", + "value": 18.9 + }, + { + "date": "2023-01-24", + "value": 73.2 + }, + { + "date": "2023-06-15", + "value": 8.3 + }, + { + "date": "2023-09-28", + "value": 47.2 + }, + { + "date": "2024-02-12", + "value": 29.5 + }, + { + "date": "2024-05-07", + "value": 56.6 + }, + { + "date": "2024-09-19", + "value": 14.2 + }, + { + "date": "2025-02-04", + "value": 35.4 + }, + { + "date": "2025-06-10", + "value": 16.5 + }, + { + "date": "2025-09-06", + "value": 35.4 + }, + { + "date": "2025-09-12", + "value": 22.4 + }, + { + "date": "2025-09-18", + "value": 26.0 + }, + { + "date": "2025-09-24", + "value": 27.1 + }, + { + "date": "2025-09-30", + "value": 29.5 + }, + { + "date": "2025-10-04", + "value": 27.1 + }, + { + "date": "2025-10-10", + "value": 29.5 + }, + { + "date": "2025-10-16", + "value": 31.9 + }, + { + "date": "2025-10-22", + "value": 34.2 + }, + { + "date": "2025-10-28", + "value": 36.6 + }, + { + "date": "2025-11-05", + "value": 27.1 + }, + { + "date": "2025-11-11", + "value": 29.5 + }, + { + "date": "2025-11-17", + "value": 31.9 + }, + { + "date": "2025-11-23", + "value": 34.2 + }, + { + "date": "2025-11-29", + "value": 36.6 + }, + { + "date": "2025-12-06", + "value": 26.0 + }, + { + "date": "2025-12-12", + "value": 28.3 + }, + { + "date": "2025-12-18", + "value": 30.7 + }, + { + "date": "2025-12-24", + "value": 33.0 + }, + { + "date": "2025-12-30", + "value": 21.2 + }, + { + "date": "2026-01-04", + "value": 33.0 + }, + { + "date": "2026-01-10", + "value": 35.4 + }, + { + "date": "2026-01-16", + "value": 37.8 + }, + { + "date": "2026-01-22", + "value": 26.0 + }, + { + "date": "2026-01-28", + "value": 28.3 + }, + { + "date": "2026-02-05", + "value": 31.9 + }, + { + "date": "2026-02-11", + "value": 35.4 + }, + { + "date": "2026-02-17", + "value": 22.4 + }, + { + "date": "2026-02-23", + "value": 26.0 + }, + { + "date": "2026-02-29", + "value": 27.1 + }, + { + "date": "2026-03-06", + "value": 40.1 + }, + { + "date": "2026-03-12", + "value": 27.1 + }, + { + "date": "2026-03-18", + "value": 29.5 + }, + { + "date": "2026-03-24", + "value": 31.9 + }, + { + "date": "2026-03-30", + "value": 34.2 + }, + { + "date": "2026-04-04", + "value": 23.6 + }, + { + "date": "2026-04-10", + "value": 27.1 + }, + { + "date": "2026-04-16", + "value": 29.5 + }, + { + "date": "2026-04-22", + "value": 31.9 + }, + { + "date": "2026-04-28", + "value": 34.2 + }, + { + "date": "2026-05-05", + "value": 23.6 + }, + { + "date": "2026-05-11", + "value": 26.0 + }, + { + "date": "2026-05-17", + "value": 28.3 + }, + { + "date": "2026-05-23", + "value": 30.7 + }, + { + "date": "2026-05-29", + "value": 33.0 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 41.3, + "median": 41.3, + "p10": 41.3, + "p25": 41.3, + "p75": 41.3, + "p90": 41.3, + "n": 1 + }, + { + "month": "2022-10", + "mean": 18.9, + "median": 18.9, + "p10": 18.9, + "p25": 18.9, + "p75": 18.9, + "p90": 18.9, + "n": 1 + }, + { + "month": "2023-01", + "mean": 73.2, + "median": 73.2, + "p10": 73.2, + "p25": 73.2, + "p75": 73.2, + "p90": 73.2, + "n": 1 + }, + { + "month": "2023-06", + "mean": 8.3, + "median": 8.3, + "p10": 8.3, + "p25": 8.3, + "p75": 8.3, + "p90": 8.3, + "n": 1 + }, + { + "month": "2023-09", + "mean": 47.2, + "median": 47.2, + "p10": 47.2, + "p25": 47.2, + "p75": 47.2, + "p90": 47.2, + "n": 1 + }, + { + "month": "2024-02", + "mean": 29.5, + "median": 29.5, + "p10": 29.5, + "p25": 29.5, + "p75": 29.5, + "p90": 29.5, + "n": 1 + }, + { + "month": "2024-05", + "mean": 56.6, + "median": 56.6, + "p10": 56.6, + "p25": 56.6, + "p75": 56.6, + "p90": 56.6, + "n": 1 + }, + { + "month": "2024-09", + "mean": 14.2, + "median": 14.2, + "p10": 14.2, + "p25": 14.2, + "p75": 14.2, + "p90": 14.2, + "n": 1 + }, + { + "month": "2025-02", + "mean": 35.4, + "median": 35.4, + "p10": 35.4, + "p25": 35.4, + "p75": 35.4, + "p90": 35.4, + "n": 1 + }, + { + "month": "2025-06", + "mean": 16.5, + "median": 16.5, + "p10": 16.5, + "p25": 16.5, + "p75": 16.5, + "p90": 16.5, + "n": 1 + }, + { + "month": "2025-09", + "mean": 28.1, + "median": 27.1, + "p10": 23.8, + "p25": 26.0, + "p75": 29.5, + "p90": 33.0, + "n": 5 + }, + { + "month": "2025-10", + "mean": 31.9, + "median": 31.9, + "p10": 28.1, + "p25": 29.5, + "p75": 34.2, + "p90": 35.6, + "n": 5 + }, + { + "month": "2025-11", + "mean": 31.9, + "median": 31.9, + "p10": 28.1, + "p25": 29.5, + "p75": 34.2, + "p90": 35.6, + "n": 5 + }, + { + "month": "2025-12", + "mean": 27.8, + "median": 28.3, + "p10": 23.1, + "p25": 26.0, + "p75": 30.7, + "p90": 32.1, + "n": 5 + }, + { + "month": "2026-01", + "mean": 32.1, + "median": 33.0, + "p10": 26.9, + "p25": 28.3, + "p75": 35.4, + "p90": 36.8, + "n": 5 + }, + { + "month": "2026-02", + "mean": 28.6, + "median": 27.1, + "p10": 23.8, + "p25": 26.0, + "p75": 31.9, + "p90": 34.0, + "n": 5 + }, + { + "month": "2026-03", + "mean": 32.6, + "median": 31.9, + "p10": 28.1, + "p25": 29.5, + "p75": 34.2, + "p90": 37.8, + "n": 5 + }, + { + "month": "2026-04", + "mean": 29.3, + "median": 29.5, + "p10": 25.0, + "p25": 27.1, + "p75": 31.9, + "p90": 33.3, + "n": 5 + }, + { + "month": "2026-05", + "mean": 28.3, + "median": 28.3, + "p10": 24.5, + "p25": 26.0, + "p75": 30.7, + "p90": 32.1, + "n": 5 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_highland_arabica", + "label": "Raw Material Dwell: Highland Arabica", + "type": "raw_material_dwell", + "material": "90000100001", + "plant": "PL-A", + "stats": { + "n": 83, + "mean": 57.0, + "median": 54.3, + "std": 23.4, + "min": 5.9, + "max": 153.4, + "p25": 45.4, + "p75": 64.3, + "p85": 72.0, + "p95": 103.5 + }, + "plifz": 30, + "plifz_note": null, + "pct_exceeding_plifz": 89.2, + "cost": { + "unit_price": 3.776, + "currency": "CHF", + "mean_qty": 4200.0, + "monthly": [ + { + "month": "2022-04", + "n_events": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "n_events": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "n_events": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "n_events": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "n_events": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "n_events": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "n_events": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "n_events": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "n_events": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "n_events": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 827400.0 + } + ] + }, + "observations": [ + { + "date": "2022-04-02", + "value": 41.3 + }, + { + "date": "2022-04-15", + "value": 73.2 + }, + { + "date": "2022-04-28", + "value": 21.2 + }, + { + "date": "2022-08-05", + "value": 103.8 + }, + { + "date": "2022-08-12", + "value": 49.6 + }, + { + "date": "2022-08-20", + "value": 64.9 + }, + { + "date": "2022-08-28", + "value": 35.4 + }, + { + "date": "2023-01-10", + "value": 85.0 + }, + { + "date": "2023-01-22", + "value": 29.5 + }, + { + "date": "2023-01-30", + "value": 56.6 + }, + { + "date": "2023-06-05", + "value": 17.7 + }, + { + "date": "2023-06-18", + "value": 112.1 + }, + { + "date": "2023-10-03", + "value": 153.4 + }, + { + "date": "2023-10-10", + "value": 53.1 + }, + { + "date": "2023-10-18", + "value": 44.8 + }, + { + "date": "2023-10-25", + "value": 76.7 + }, + { + "date": "2023-10-30", + "value": 26.0 + }, + { + "date": "2024-03-05", + "value": 92.0 + }, + { + "date": "2024-03-12", + "value": 5.9 + }, + { + "date": "2024-03-20", + "value": 64.9 + }, + { + "date": "2024-03-28", + "value": 47.2 + }, + { + "date": "2024-07-08", + "value": 33.0 + }, + { + "date": "2024-07-15", + "value": 100.3 + }, + { + "date": "2024-07-22", + "value": 59.0 + }, + { + "date": "2024-11-04", + "value": 129.8 + }, + { + "date": "2024-11-11", + "value": 37.8 + }, + { + "date": "2024-11-18", + "value": 80.2 + }, + { + "date": "2024-11-25", + "value": 53.1 + }, + { + "date": "2024-11-30", + "value": 108.6 + }, + { + "date": "2025-03-03", + "value": 23.6 + }, + { + "date": "2025-03-10", + "value": 68.4 + }, + { + "date": "2025-03-17", + "value": 41.3 + }, + { + "date": "2025-03-24", + "value": 49.6 + }, + { + "date": "2025-07-02", + "value": 88.5 + }, + { + "date": "2025-07-09", + "value": 14.2 + }, + { + "date": "2025-07-16", + "value": 56.6 + }, + { + "date": "2025-07-23", + "value": 70.8 + }, + { + "date": "2025-07-30", + "value": 44.8 + }, + { + "date": "2025-09-05", + "value": 57.8 + }, + { + "date": "2025-09-11", + "value": 63.7 + }, + { + "date": "2025-09-17", + "value": 40.1 + }, + { + "date": "2025-09-23", + "value": 46.0 + }, + { + "date": "2025-09-29", + "value": 49.6 + }, + { + "date": "2025-10-06", + "value": 72.0 + }, + { + "date": "2025-10-12", + "value": 48.4 + }, + { + "date": "2025-10-18", + "value": 54.3 + }, + { + "date": "2025-10-24", + "value": 57.8 + }, + { + "date": "2025-10-30", + "value": 62.5 + }, + { + "date": "2025-11-04", + "value": 42.5 + }, + { + "date": "2025-11-10", + "value": 48.4 + }, + { + "date": "2025-11-16", + "value": 51.9 + }, + { + "date": "2025-11-22", + "value": 56.6 + }, + { + "date": "2025-11-28", + "value": 61.4 + }, + { + "date": "2025-12-05", + "value": 42.5 + }, + { + "date": "2025-12-11", + "value": 46.0 + }, + { + "date": "2025-12-17", + "value": 50.7 + }, + { + "date": "2025-12-23", + "value": 55.5 + }, + { + "date": "2025-12-29", + "value": 60.2 + }, + { + "date": "2026-01-06", + "value": 55.5 + }, + { + "date": "2026-01-12", + "value": 59.0 + }, + { + "date": "2026-01-18", + "value": 63.7 + }, + { + "date": "2026-01-24", + "value": 68.4 + }, + { + "date": "2026-01-30", + "value": 46.0 + }, + { + "date": "2026-02-04", + "value": 53.1 + }, + { + "date": "2026-02-10", + "value": 57.8 + }, + { + "date": "2026-02-16", + "value": 63.7 + }, + { + "date": "2026-02-22", + "value": 40.1 + }, + { + "date": "2026-02-28", + "value": 46.0 + }, + { + "date": "2026-03-05", + "value": 66.1 + }, + { + "date": "2026-03-11", + "value": 72.0 + }, + { + "date": "2026-03-17", + "value": 48.4 + }, + { + "date": "2026-03-23", + "value": 54.3 + }, + { + "date": "2026-03-29", + "value": 57.8 + }, + { + "date": "2026-04-06", + "value": 66.1 + }, + { + "date": "2026-04-12", + "value": 42.5 + }, + { + "date": "2026-04-18", + "value": 48.4 + }, + { + "date": "2026-04-24", + "value": 51.9 + }, + { + "date": "2026-04-30", + "value": 56.6 + }, + { + "date": "2026-05-04", + "value": 37.8 + }, + { + "date": "2026-05-10", + "value": 42.5 + }, + { + "date": "2026-05-16", + "value": 46.0 + }, + { + "date": "2026-05-22", + "value": 50.7 + }, + { + "date": "2026-05-28", + "value": 55.5 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 45.2, + "median": 41.3, + "p10": 25.3, + "p25": 31.3, + "p75": 57.2, + "p90": 66.8, + "n": 3, + "total_kg_days": 483000.0 + }, + { + "month": "2022-08", + "mean": 63.5, + "median": 57.2, + "p10": 39.6, + "p25": 46.0, + "p75": 74.7, + "p90": 92.2, + "n": 4, + "total_kg_days": 903000.0 + }, + { + "month": "2023-01", + "mean": 57.0, + "median": 56.6, + "p10": 34.9, + "p25": 43.1, + "p75": 70.8, + "p90": 79.3, + "n": 3, + "total_kg_days": 609000.0 + }, + { + "month": "2023-06", + "mean": 64.9, + "median": 64.9, + "p10": 27.1, + "p25": 41.3, + "p75": 88.5, + "p90": 102.7, + "n": 2, + "total_kg_days": 462000.0 + }, + { + "month": "2023-10", + "mean": 70.8, + "median": 53.1, + "p10": 33.5, + "p25": 44.8, + "p75": 76.7, + "p90": 122.7, + "n": 5, + "total_kg_days": 1260000.0 + }, + { + "month": "2024-03", + "mean": 52.5, + "median": 56.0, + "p10": 18.3, + "p25": 36.9, + "p75": 71.7, + "p90": 83.9, + "n": 4, + "total_kg_days": 747600.0 + }, + { + "month": "2024-07", + "mean": 64.1, + "median": 59.0, + "p10": 38.2, + "p25": 46.0, + "p75": 79.6, + "p90": 92.0, + "n": 3, + "total_kg_days": 684600.0 + }, + { + "month": "2024-11", + "mean": 81.9, + "median": 80.2, + "p10": 43.9, + "p25": 53.1, + "p75": 108.6, + "p90": 121.3, + "n": 5, + "total_kg_days": 1457400.0 + }, + { + "month": "2025-03", + "mean": 45.8, + "median": 45.4, + "p10": 28.9, + "p25": 36.9, + "p75": 54.3, + "p90": 62.8, + "n": 4, + "total_kg_days": 651000.0 + }, + { + "month": "2025-07", + "mean": 55.0, + "median": 56.6, + "p10": 26.4, + "p25": 44.8, + "p75": 70.8, + "p90": 81.4, + "n": 5, + "total_kg_days": 978600.0 + }, + { + "month": "2025-09", + "mean": 51.4, + "median": 49.6, + "p10": 42.5, + "p25": 46.0, + "p75": 57.8, + "p90": 61.4, + "n": 5, + "total_kg_days": 915600.0 + }, + { + "month": "2025-10", + "mean": 59.0, + "median": 57.8, + "p10": 50.7, + "p25": 54.3, + "p75": 62.5, + "p90": 68.2, + "n": 5, + "total_kg_days": 1050000.0 + }, + { + "month": "2025-11", + "mean": 52.2, + "median": 51.9, + "p10": 44.8, + "p25": 48.4, + "p75": 56.6, + "p90": 59.5, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2025-12", + "mean": 51.0, + "median": 50.7, + "p10": 43.9, + "p25": 46.0, + "p75": 55.5, + "p90": 58.3, + "n": 5, + "total_kg_days": 907200.0 + }, + { + "month": "2026-01", + "mean": 58.5, + "median": 59.0, + "p10": 49.8, + "p25": 55.5, + "p75": 63.7, + "p90": 66.6, + "n": 5, + "total_kg_days": 1041600.0 + }, + { + "month": "2026-02", + "mean": 52.2, + "median": 53.1, + "p10": 42.5, + "p25": 46.0, + "p75": 57.8, + "p90": 61.4, + "n": 5, + "total_kg_days": 928200.0 + }, + { + "month": "2026-03", + "mean": 59.7, + "median": 57.8, + "p10": 50.7, + "p25": 54.3, + "p75": 66.1, + "p90": 69.6, + "n": 5, + "total_kg_days": 1062600.0 + }, + { + "month": "2026-04", + "mean": 53.1, + "median": 51.9, + "p10": 44.8, + "p25": 48.4, + "p75": 56.6, + "p90": 62.3, + "n": 5, + "total_kg_days": 945000.0 + }, + { + "month": "2026-05", + "mean": 46.5, + "median": 46.0, + "p10": 39.6, + "p25": 42.5, + "p75": 50.7, + "p90": 53.6, + "n": 5, + "total_kg_days": 827400.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_lowland_robusta", + "label": "Raw Material Dwell: Lowland Robusta", + "type": "raw_material_dwell", + "material": "90000100002", + "plant": "PL-A", + "stats": { + "n": 69, + "mean": 43.2, + "median": 40.1, + "std": 18.6, + "min": 3.5, + "max": 115.6, + "p25": 33.0, + "p75": 48.4, + "p85": 53.1, + "p95": 81.7 + }, + "plifz": 21, + "plifz_note": null, + "pct_exceeding_plifz": 91.3, + "cost": { + "unit_price": 2.124, + "currency": "CHF", + "mean_qty": 6500.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "n_events": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "n_events": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "n_events": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "n_events": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "n_events": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 1131000.0 + } + ] + }, + "observations": [ + { + "date": "2022-05-02", + "value": 33.0 + }, + { + "date": "2022-05-10", + "value": 53.1 + }, + { + "date": "2022-05-18", + "value": 14.2 + }, + { + "date": "2022-05-25", + "value": 73.2 + }, + { + "date": "2023-02-06", + "value": 38.9 + }, + { + "date": "2023-02-14", + "value": 92.0 + }, + { + "date": "2023-02-22", + "value": 23.6 + }, + { + "date": "2023-02-28", + "value": 64.9 + }, + { + "date": "2023-09-05", + "value": 9.4 + }, + { + "date": "2023-09-15", + "value": 49.6 + }, + { + "date": "2023-09-25", + "value": 76.7 + }, + { + "date": "2024-04-03", + "value": 44.8 + }, + { + "date": "2024-04-10", + "value": 17.7 + }, + { + "date": "2024-04-17", + "value": 85.0 + }, + { + "date": "2024-04-24", + "value": 29.5 + }, + { + "date": "2024-10-02", + "value": 56.6 + }, + { + "date": "2024-10-09", + "value": 3.5 + }, + { + "date": "2024-10-16", + "value": 100.3 + }, + { + "date": "2024-10-23", + "value": 35.4 + }, + { + "date": "2024-10-30", + "value": 64.9 + }, + { + "date": "2025-04-07", + "value": 26.0 + }, + { + "date": "2025-04-14", + "value": 47.2 + }, + { + "date": "2025-04-21", + "value": 115.6 + }, + { + "date": "2025-04-28", + "value": 21.2 + }, + { + "date": "2025-09-04", + "value": 46.0 + }, + { + "date": "2025-09-10", + "value": 48.4 + }, + { + "date": "2025-09-16", + "value": 53.1 + }, + { + "date": "2025-09-22", + "value": 35.4 + }, + { + "date": "2025-09-28", + "value": 40.1 + }, + { + "date": "2025-10-05", + "value": 44.8 + }, + { + "date": "2025-10-11", + "value": 48.4 + }, + { + "date": "2025-10-17", + "value": 31.9 + }, + { + "date": "2025-10-23", + "value": 35.4 + }, + { + "date": "2025-10-29", + "value": 37.8 + }, + { + "date": "2025-11-06", + "value": 44.8 + }, + { + "date": "2025-11-12", + "value": 27.1 + }, + { + "date": "2025-11-18", + "value": 31.9 + }, + { + "date": "2025-11-24", + "value": 34.2 + }, + { + "date": "2025-11-30", + "value": 37.8 + }, + { + "date": "2025-12-04", + "value": 33.0 + }, + { + "date": "2025-12-10", + "value": 37.8 + }, + { + "date": "2025-12-16", + "value": 40.1 + }, + { + "date": "2025-12-22", + "value": 43.7 + }, + { + "date": "2025-12-28", + "value": 47.2 + }, + { + "date": "2026-01-05", + "value": 33.0 + }, + { + "date": "2026-01-11", + "value": 36.6 + }, + { + "date": "2026-01-17", + "value": 38.9 + }, + { + "date": "2026-01-23", + "value": 42.5 + }, + { + "date": "2026-01-29", + "value": 46.0 + }, + { + "date": "2026-02-06", + "value": 42.5 + }, + { + "date": "2026-02-12", + "value": 46.0 + }, + { + "date": "2026-02-18", + "value": 48.4 + }, + { + "date": "2026-02-24", + "value": 53.1 + }, + { + "date": "2026-02-30", + "value": 35.4 + }, + { + "date": "2026-03-04", + "value": 41.3 + }, + { + "date": "2026-03-10", + "value": 44.8 + }, + { + "date": "2026-03-16", + "value": 48.4 + }, + { + "date": "2026-03-22", + "value": 31.9 + }, + { + "date": "2026-03-28", + "value": 35.4 + }, + { + "date": "2026-04-05", + "value": 40.1 + }, + { + "date": "2026-04-11", + "value": 44.8 + }, + { + "date": "2026-04-17", + "value": 27.1 + }, + { + "date": "2026-04-23", + "value": 31.9 + }, + { + "date": "2026-04-29", + "value": 34.2 + }, + { + "date": "2026-05-06", + "value": 50.7 + }, + { + "date": "2026-05-12", + "value": 33.0 + }, + { + "date": "2026-05-18", + "value": 37.8 + }, + { + "date": "2026-05-24", + "value": 40.1 + }, + { + "date": "2026-05-30", + "value": 43.7 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 43.4, + "median": 43.1, + "p10": 19.8, + "p25": 28.3, + "p75": 58.2, + "p90": 67.1, + "n": 4, + "total_kg_days": 955500.0 + }, + { + "month": "2023-02", + "mean": 54.9, + "median": 51.9, + "p10": 28.2, + "p25": 35.2, + "p75": 71.7, + "p90": 83.9, + "n": 4, + "total_kg_days": 1209000.0 + }, + { + "month": "2023-09", + "mean": 45.2, + "median": 49.6, + "p10": 17.5, + "p25": 29.5, + "p75": 63.1, + "p90": 71.3, + "n": 3, + "total_kg_days": 747500.0 + }, + { + "month": "2024-04", + "mean": 44.2, + "median": 37.2, + "p10": 21.2, + "p25": 26.5, + "p75": 54.9, + "p90": 72.9, + "n": 4, + "total_kg_days": 975000.0 + }, + { + "month": "2024-10", + "mean": 52.2, + "median": 56.6, + "p10": 16.3, + "p25": 35.4, + "p75": 64.9, + "p90": 86.1, + "n": 5, + "total_kg_days": 1436500.0 + }, + { + "month": "2025-04", + "mean": 52.5, + "median": 36.6, + "p10": 22.7, + "p25": 24.8, + "p75": 64.3, + "p90": 95.1, + "n": 4, + "total_kg_days": 1157000.0 + }, + { + "month": "2025-09", + "mean": 44.6, + "median": 46.0, + "p10": 37.3, + "p25": 40.1, + "p75": 48.4, + "p90": 51.2, + "n": 5, + "total_kg_days": 1228500.0 + }, + { + "month": "2025-10", + "mean": 39.6, + "median": 37.8, + "p10": 33.3, + "p25": 35.4, + "p75": 44.8, + "p90": 47.0, + "n": 5, + "total_kg_days": 1092000.0 + }, + { + "month": "2025-11", + "mean": 35.2, + "median": 34.2, + "p10": 29.0, + "p25": 31.9, + "p75": 37.8, + "p90": 42.0, + "n": 5, + "total_kg_days": 968500.0 + }, + { + "month": "2025-12", + "mean": 40.4, + "median": 40.1, + "p10": 34.9, + "p25": 37.8, + "p75": 43.7, + "p90": 45.8, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-01", + "mean": 39.4, + "median": 38.9, + "p10": 34.5, + "p25": 36.6, + "p75": 42.5, + "p90": 44.6, + "n": 5, + "total_kg_days": 1085500.0 + }, + { + "month": "2026-02", + "mean": 45.1, + "median": 46.0, + "p10": 38.2, + "p25": 42.5, + "p75": 48.4, + "p90": 51.2, + "n": 5, + "total_kg_days": 1241500.0 + }, + { + "month": "2026-03", + "mean": 40.4, + "median": 41.3, + "p10": 33.3, + "p25": 35.4, + "p75": 44.8, + "p90": 47.0, + "n": 5, + "total_kg_days": 1111500.0 + }, + { + "month": "2026-04", + "mean": 35.6, + "median": 34.2, + "p10": 29.0, + "p25": 31.9, + "p75": 40.1, + "p90": 43.0, + "n": 5, + "total_kg_days": 981500.0 + }, + { + "month": "2026-05", + "mean": 41.1, + "median": 40.1, + "p10": 34.9, + "p25": 37.8, + "p75": 43.7, + "p90": 47.9, + "n": 5, + "total_kg_days": 1131000.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "raw_dwell_washed_bourbon", + "label": "Raw Material Dwell: Washed Bourbon", + "type": "raw_material_dwell", + "material": "90000100003", + "plant": "PL-A", + "stats": { + "n": 70, + "mean": 51.8, + "median": 48.4, + "std": 22.5, + "min": 4.7, + "max": 135.7, + "p25": 40.5, + "p75": 59.0, + "p85": 63.7, + "p95": 96.6 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 95.7, + "cost": { + "unit_price": 6.49, + "currency": "CHF", + "mean_qty": 2800.0, + "monthly": [ + { + "month": "2022-06", + "n_events": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "n_events": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "n_events": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "n_events": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "n_events": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "n_events": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 568400.0 + } + ] + }, + "observations": [ + { + "date": "2022-06-05", + "value": 47.2 + }, + { + "date": "2022-06-15", + "value": 26.0 + }, + { + "date": "2022-06-25", + "value": 80.2 + }, + { + "date": "2023-03-08", + "value": 4.7 + }, + { + "date": "2023-03-15", + "value": 64.9 + }, + { + "date": "2023-03-22", + "value": 135.7 + }, + { + "date": "2023-03-29", + "value": 35.4 + }, + { + "date": "2023-11-06", + "value": 73.2 + }, + { + "date": "2023-11-13", + "value": 21.2 + }, + { + "date": "2023-11-20", + "value": 100.3 + }, + { + "date": "2024-06-03", + "value": 41.3 + }, + { + "date": "2024-06-10", + "value": 85.0 + }, + { + "date": "2024-06-17", + "value": 11.8 + }, + { + "date": "2024-06-24", + "value": 56.6 + }, + { + "date": "2024-06-30", + "value": 112.1 + }, + { + "date": "2025-01-07", + "value": 33.0 + }, + { + "date": "2025-01-14", + "value": 61.4 + }, + { + "date": "2025-01-21", + "value": 17.7 + }, + { + "date": "2025-01-28", + "value": 92.0 + }, + { + "date": "2025-08-04", + "value": 49.6 + }, + { + "date": "2025-08-08", + "value": 9.4 + }, + { + "date": "2025-08-12", + "value": 76.7 + }, + { + "date": "2025-08-16", + "value": 38.9 + }, + { + "date": "2025-08-20", + "value": 118.0 + }, + { + "date": "2025-08-24", + "value": 23.6 + }, + { + "date": "2025-09-06", + "value": 48.4 + }, + { + "date": "2025-09-12", + "value": 53.1 + }, + { + "date": "2025-09-18", + "value": 56.6 + }, + { + "date": "2025-09-24", + "value": 61.4 + }, + { + "date": "2025-09-30", + "value": 40.1 + }, + { + "date": "2025-10-04", + "value": 47.2 + }, + { + "date": "2025-10-10", + "value": 51.9 + }, + { + "date": "2025-10-16", + "value": 56.6 + }, + { + "date": "2025-10-22", + "value": 35.4 + }, + { + "date": "2025-10-28", + "value": 40.1 + }, + { + "date": "2025-11-05", + "value": 59.0 + }, + { + "date": "2025-11-11", + "value": 63.7 + }, + { + "date": "2025-11-17", + "value": 42.5 + }, + { + "date": "2025-11-23", + "value": 48.4 + }, + { + "date": "2025-11-29", + "value": 51.9 + }, + { + "date": "2025-12-06", + "value": 59.0 + }, + { + "date": "2025-12-12", + "value": 37.8 + }, + { + "date": "2025-12-18", + "value": 42.5 + }, + { + "date": "2025-12-24", + "value": 46.0 + }, + { + "date": "2025-12-30", + "value": 50.7 + }, + { + "date": "2026-01-04", + "value": 33.0 + }, + { + "date": "2026-01-10", + "value": 37.8 + }, + { + "date": "2026-01-16", + "value": 41.3 + }, + { + "date": "2026-01-22", + "value": 44.8 + }, + { + "date": "2026-01-28", + "value": 49.6 + }, + { + "date": "2026-02-05", + "value": 46.0 + }, + { + "date": "2026-02-11", + "value": 48.4 + }, + { + "date": "2026-02-17", + "value": 53.1 + }, + { + "date": "2026-02-23", + "value": 56.6 + }, + { + "date": "2026-02-29", + "value": 61.4 + }, + { + "date": "2026-03-06", + "value": 43.7 + }, + { + "date": "2026-03-12", + "value": 47.2 + }, + { + "date": "2026-03-18", + "value": 51.9 + }, + { + "date": "2026-03-24", + "value": 56.6 + }, + { + "date": "2026-03-30", + "value": 35.4 + }, + { + "date": "2026-04-04", + "value": 55.5 + }, + { + "date": "2026-04-10", + "value": 59.0 + }, + { + "date": "2026-04-16", + "value": 63.7 + }, + { + "date": "2026-04-22", + "value": 42.5 + }, + { + "date": "2026-04-28", + "value": 48.4 + }, + { + "date": "2026-05-05", + "value": 54.3 + }, + { + "date": "2026-05-11", + "value": 59.0 + }, + { + "date": "2026-05-17", + "value": 37.8 + }, + { + "date": "2026-05-23", + "value": 42.5 + }, + { + "date": "2026-05-29", + "value": 46.0 + } + ], + "monthly": [ + { + "month": "2022-06", + "mean": 51.1, + "median": 47.2, + "p10": 30.2, + "p25": 36.6, + "p75": 63.7, + "p90": 73.6, + "n": 3, + "total_kg_days": 364000.0 + }, + { + "month": "2023-03", + "mean": 60.2, + "median": 50.1, + "p10": 13.9, + "p25": 27.7, + "p75": 82.6, + "p90": 114.5, + "n": 4, + "total_kg_days": 571200.0 + }, + { + "month": "2023-11", + "mean": 64.9, + "median": 73.2, + "p10": 31.6, + "p25": 47.2, + "p75": 86.7, + "p90": 94.9, + "n": 3, + "total_kg_days": 462000.0 + }, + { + "month": "2024-06", + "mean": 61.4, + "median": 56.6, + "p10": 23.6, + "p25": 41.3, + "p75": 85.0, + "p90": 101.2, + "n": 5, + "total_kg_days": 728000.0 + }, + { + "month": "2025-01", + "mean": 51.1, + "median": 47.2, + "p10": 22.3, + "p25": 29.3, + "p75": 69.0, + "p90": 82.8, + "n": 4, + "total_kg_days": 484400.0 + }, + { + "month": "2025-08", + "mean": 52.7, + "median": 44.2, + "p10": 16.5, + "p25": 27.5, + "p75": 70.0, + "p90": 97.3, + "n": 6, + "total_kg_days": 750400.0 + }, + { + "month": "2025-09", + "mean": 51.9, + "median": 53.1, + "p10": 43.4, + "p25": 48.4, + "p75": 56.6, + "p90": 59.5, + "n": 5, + "total_kg_days": 616000.0 + }, + { + "month": "2025-10", + "mean": 46.3, + "median": 47.2, + "p10": 37.3, + "p25": 40.1, + "p75": 51.9, + "p90": 54.8, + "n": 5, + "total_kg_days": 548800.0 + }, + { + "month": "2025-11", + "mean": 53.1, + "median": 51.9, + "p10": 44.8, + "p25": 48.4, + "p75": 59.0, + "p90": 61.8, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2025-12", + "mean": 47.2, + "median": 46.0, + "p10": 39.6, + "p25": 42.5, + "p75": 50.7, + "p90": 55.7, + "n": 5, + "total_kg_days": 560000.0 + }, + { + "month": "2026-01", + "mean": 41.3, + "median": 41.3, + "p10": 34.9, + "p25": 37.8, + "p75": 44.8, + "p90": 47.7, + "n": 5, + "total_kg_days": 490000.0 + }, + { + "month": "2026-02", + "mean": 53.1, + "median": 53.1, + "p10": 47.0, + "p25": 48.4, + "p75": 56.6, + "p90": 59.5, + "n": 5, + "total_kg_days": 630000.0 + }, + { + "month": "2026-03", + "mean": 47.0, + "median": 47.2, + "p10": 38.7, + "p25": 43.7, + "p75": 51.9, + "p90": 54.8, + "n": 5, + "total_kg_days": 557200.0 + }, + { + "month": "2026-04", + "mean": 53.8, + "median": 55.5, + "p10": 44.8, + "p25": 48.4, + "p75": 59.0, + "p90": 61.8, + "n": 5, + "total_kg_days": 638400.0 + }, + { + "month": "2026-05", + "mean": 47.9, + "median": 46.0, + "p10": 39.6, + "p25": 42.5, + "p75": 54.3, + "p90": 57.1, + "n": 5, + "total_kg_days": 568400.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": null + }, + { + "id": "prod_duration_green_blend", + "label": "Production: Green Blend", + "type": "production", + "material": "90000200001", + "plant": "PL-A", + "stats": { + "n": 50, + "mean": 5.2, + "median": 4.7, + "std": 2.1, + "min": 1.2, + "max": 16.5, + "p25": 3.9, + "p75": 5.9, + "p85": 5.9, + "p95": 7.8 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 10.0, + "cost": null, + "observations": [ + { + "date": "2022-04-18", + "value": 3.5 + }, + { + "date": "2022-07-05", + "value": 5.9 + }, + { + "date": "2022-10-12", + "value": 2.4 + }, + { + "date": "2023-01-20", + "value": 8.3 + }, + { + "date": "2023-04-15", + "value": 4.7 + }, + { + "date": "2023-07-28", + "value": 7.1 + }, + { + "date": "2023-10-05", + "value": 3.5 + }, + { + "date": "2024-01-12", + "value": 16.5 + }, + { + "date": "2024-04-22", + "value": 4.7 + }, + { + "date": "2024-07-10", + "value": 9.4 + }, + { + "date": "2024-10-18", + "value": 3.5 + }, + { + "date": "2025-01-25", + "value": 5.9 + }, + { + "date": "2025-05-08", + "value": 1.2 + }, + { + "date": "2025-08-15", + "value": 7.1 + }, + { + "date": "2025-09-04", + "value": 3.5 + }, + { + "date": "2025-09-10", + "value": 4.7 + }, + { + "date": "2025-09-16", + "value": 4.7 + }, + { + "date": "2025-09-22", + "value": 4.7 + }, + { + "date": "2025-10-05", + "value": 3.5 + }, + { + "date": "2025-10-11", + "value": 4.7 + }, + { + "date": "2025-10-17", + "value": 4.7 + }, + { + "date": "2025-10-23", + "value": 4.7 + }, + { + "date": "2025-11-06", + "value": 4.7 + }, + { + "date": "2025-11-12", + "value": 5.9 + }, + { + "date": "2025-11-18", + "value": 5.9 + }, + { + "date": "2025-11-24", + "value": 5.9 + }, + { + "date": "2025-12-04", + "value": 4.7 + }, + { + "date": "2025-12-10", + "value": 5.9 + }, + { + "date": "2025-12-16", + "value": 5.9 + }, + { + "date": "2025-12-22", + "value": 3.5 + }, + { + "date": "2026-01-05", + "value": 4.7 + }, + { + "date": "2026-01-11", + "value": 5.9 + }, + { + "date": "2026-01-17", + "value": 3.5 + }, + { + "date": "2026-01-23", + "value": 3.5 + }, + { + "date": "2026-02-06", + "value": 5.9 + }, + { + "date": "2026-02-12", + "value": 3.5 + }, + { + "date": "2026-02-18", + "value": 4.7 + }, + { + "date": "2026-02-24", + "value": 4.7 + }, + { + "date": "2026-03-04", + "value": 3.5 + }, + { + "date": "2026-03-10", + "value": 3.5 + }, + { + "date": "2026-03-16", + "value": 4.7 + }, + { + "date": "2026-03-22", + "value": 4.7 + }, + { + "date": "2026-04-05", + "value": 4.7 + }, + { + "date": "2026-04-11", + "value": 4.7 + }, + { + "date": "2026-04-17", + "value": 5.9 + }, + { + "date": "2026-04-23", + "value": 5.9 + }, + { + "date": "2026-05-06", + "value": 4.7 + }, + { + "date": "2026-05-12", + "value": 4.7 + }, + { + "date": "2026-05-18", + "value": 5.9 + }, + { + "date": "2026-05-24", + "value": 5.9 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2022-07", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2023-01", + "mean": 8.3, + "median": 8.3, + "p10": 8.3, + "p25": 8.3, + "p75": 8.3, + "p90": 8.3, + "n": 1 + }, + { + "month": "2023-04", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2023-07", + "mean": 7.1, + "median": 7.1, + "p10": 7.1, + "p25": 7.1, + "p75": 7.1, + "p90": 7.1, + "n": 1 + }, + { + "month": "2023-10", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 16.5, + "median": 16.5, + "p10": 16.5, + "p25": 16.5, + "p75": 16.5, + "p90": 16.5, + "n": 1 + }, + { + "month": "2024-04", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2024-07", + "mean": 9.4, + "median": 9.4, + "p10": 9.4, + "p25": 9.4, + "p75": 9.4, + "p90": 9.4, + "n": 1 + }, + { + "month": "2024-10", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2025-01", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2025-05", + "mean": 1.2, + "median": 1.2, + "p10": 1.2, + "p25": 1.2, + "p75": 1.2, + "p90": 1.2, + "n": 1 + }, + { + "month": "2025-08", + "mean": 7.1, + "median": 7.1, + "p10": 7.1, + "p25": 7.1, + "p75": 7.1, + "p90": 7.1, + "n": 1 + }, + { + "month": "2025-09", + "mean": 4.5, + "median": 4.7, + "p10": 3.9, + "p25": 4.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2025-10", + "mean": 4.5, + "median": 4.7, + "p10": 3.9, + "p25": 4.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2025-11", + "mean": 5.7, + "median": 5.9, + "p10": 5.1, + "p25": 5.7, + "p75": 5.9, + "p90": 5.9, + "n": 4 + }, + { + "month": "2025-12", + "mean": 5.1, + "median": 5.3, + "p10": 3.9, + "p25": 4.5, + "p75": 5.9, + "p90": 5.9, + "n": 4 + }, + { + "month": "2026-01", + "mean": 4.5, + "median": 4.1, + "p10": 3.5, + "p25": 3.5, + "p75": 5.1, + "p90": 5.5, + "n": 4 + }, + { + "month": "2026-02", + "mean": 4.7, + "median": 4.7, + "p10": 3.9, + "p25": 4.5, + "p75": 5.1, + "p90": 5.5, + "n": 4 + }, + { + "month": "2026-03", + "mean": 4.1, + "median": 4.1, + "p10": 3.5, + "p25": 3.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2026-04", + "mean": 5.3, + "median": 5.3, + "p10": 4.7, + "p25": 4.7, + "p75": 5.9, + "p90": 5.9, + "n": 4 + }, + { + "month": "2026-05", + "mean": 5.3, + "median": 5.3, + "p10": 4.7, + "p25": 4.7, + "p75": 5.9, + "p90": 5.9, + "n": 4 + } + ], + "n_batches": 50, + "n_movements": null, + "yield_summary": { + "median": 98.5, + "mean": 97.2, + "reference": 100.0, + "n": 50 + }, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 0.9, + "mean_slack": 5.1, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 0.9 + }, + "direct": { + "binding_share": 0.9, + "mean_slack": 7.2, + "next_bottleneck_days": 27.4, + "expected_marginal_per_day": 0.9 + }, + "hub-1": { + "binding_share": 0.9, + "mean_slack": 2.0, + "next_bottleneck_days": 31.3, + "expected_marginal_per_day": 0.9 + } + } + }, + { + "id": "intermed_dwell_green_blend", + "label": "Intermediate Dwell: Green Blend", + "type": "intermediate_dwell", + "material": "90000200001", + "plant": "PL-A", + "stats": { + "n": 73, + "mean": 20.5, + "median": 18.9, + "std": 10.6, + "min": 2.4, + "max": 64.9, + "p25": 15.3, + "p75": 22.4, + "p85": 24.1, + "p95": 43.7 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 87.7, + "cost": { + "unit_price": 14.75, + "currency": "CHF", + "mean_qty": 3200.0, + "monthly": [ + { + "month": "2022-05", + "n_events": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "n_events": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "n_events": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "n_events": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "n_events": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "n_events": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "n_events": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 249600.0 + } + ] + }, + "observations": [ + { + "date": "2022-05-05", + "value": 14.2 + }, + { + "date": "2022-05-15", + "value": 29.5 + }, + { + "date": "2022-05-22", + "value": 9.4 + }, + { + "date": "2022-11-03", + "value": 41.3 + }, + { + "date": "2022-11-10", + "value": 17.7 + }, + { + "date": "2022-11-18", + "value": 5.9 + }, + { + "date": "2022-11-25", + "value": 26.0 + }, + { + "date": "2023-05-08", + "value": 21.2 + }, + { + "date": "2023-05-15", + "value": 47.2 + }, + { + "date": "2023-05-22", + "value": 11.8 + }, + { + "date": "2023-11-06", + "value": 64.9 + }, + { + "date": "2023-11-13", + "value": 2.4 + }, + { + "date": "2023-11-20", + "value": 33.0 + }, + { + "date": "2023-11-27", + "value": 17.7 + }, + { + "date": "2023-11-30", + "value": 9.4 + }, + { + "date": "2024-05-06", + "value": 23.6 + }, + { + "date": "2024-05-13", + "value": 53.1 + }, + { + "date": "2024-05-20", + "value": 14.2 + }, + { + "date": "2024-05-27", + "value": 3.5 + }, + { + "date": "2024-11-04", + "value": 21.2 + }, + { + "date": "2024-11-11", + "value": 35.4 + }, + { + "date": "2024-11-18", + "value": 9.4 + }, + { + "date": "2025-05-05", + "value": 26.0 + }, + { + "date": "2025-05-09", + "value": 41.3 + }, + { + "date": "2025-05-13", + "value": 5.9 + }, + { + "date": "2025-05-17", + "value": 17.7 + }, + { + "date": "2025-05-21", + "value": 49.6 + }, + { + "date": "2025-05-25", + "value": 11.8 + }, + { + "date": "2025-09-05", + "value": 16.5 + }, + { + "date": "2025-09-11", + "value": 18.9 + }, + { + "date": "2025-09-17", + "value": 20.1 + }, + { + "date": "2025-09-23", + "value": 21.2 + }, + { + "date": "2025-09-29", + "value": 22.4 + }, + { + "date": "2025-10-06", + "value": 16.5 + }, + { + "date": "2025-10-12", + "value": 17.7 + }, + { + "date": "2025-10-18", + "value": 18.9 + }, + { + "date": "2025-10-24", + "value": 21.2 + }, + { + "date": "2025-10-30", + "value": 13.0 + }, + { + "date": "2025-11-04", + "value": 21.2 + }, + { + "date": "2025-11-10", + "value": 22.4 + }, + { + "date": "2025-11-16", + "value": 23.6 + }, + { + "date": "2025-11-22", + "value": 16.5 + }, + { + "date": "2025-11-28", + "value": 17.7 + }, + { + "date": "2025-12-05", + "value": 20.1 + }, + { + "date": "2025-12-11", + "value": 22.4 + }, + { + "date": "2025-12-17", + "value": 14.2 + }, + { + "date": "2025-12-23", + "value": 16.5 + }, + { + "date": "2025-12-29", + "value": 17.7 + }, + { + "date": "2026-01-06", + "value": 20.1 + }, + { + "date": "2026-01-12", + "value": 13.0 + }, + { + "date": "2026-01-18", + "value": 14.2 + }, + { + "date": "2026-01-24", + "value": 15.3 + }, + { + "date": "2026-01-30", + "value": 16.5 + }, + { + "date": "2026-02-04", + "value": 15.3 + }, + { + "date": "2026-02-10", + "value": 16.5 + }, + { + "date": "2026-02-16", + "value": 18.9 + }, + { + "date": "2026-02-22", + "value": 20.1 + }, + { + "date": "2026-02-28", + "value": 21.2 + }, + { + "date": "2026-03-05", + "value": 15.3 + }, + { + "date": "2026-03-11", + "value": 16.5 + }, + { + "date": "2026-03-17", + "value": 17.7 + }, + { + "date": "2026-03-23", + "value": 18.9 + }, + { + "date": "2026-03-29", + "value": 21.2 + }, + { + "date": "2026-04-06", + "value": 18.9 + }, + { + "date": "2026-04-12", + "value": 21.2 + }, + { + "date": "2026-04-18", + "value": 22.4 + }, + { + "date": "2026-04-24", + "value": 23.6 + }, + { + "date": "2026-04-30", + "value": 16.5 + }, + { + "date": "2026-05-04", + "value": 18.9 + }, + { + "date": "2026-05-10", + "value": 20.1 + }, + { + "date": "2026-05-16", + "value": 22.4 + }, + { + "date": "2026-05-22", + "value": 14.2 + }, + { + "date": "2026-05-28", + "value": 16.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 17.7, + "median": 14.2, + "p10": 10.4, + "p25": 11.8, + "p75": 21.8, + "p90": 26.4, + "n": 3, + "total_kg_days": 144000.0 + }, + { + "month": "2022-11", + "mean": 22.8, + "median": 21.8, + "p10": 9.4, + "p25": 14.8, + "p75": 29.9, + "p90": 36.7, + "n": 4, + "total_kg_days": 246400.0 + }, + { + "month": "2023-05", + "mean": 26.8, + "median": 21.2, + "p10": 13.7, + "p25": 16.5, + "p75": 34.2, + "p90": 42.0, + "n": 3, + "total_kg_days": 217600.0 + }, + { + "month": "2023-11", + "mean": 25.5, + "median": 17.7, + "p10": 5.2, + "p25": 9.4, + "p75": 33.0, + "p90": 52.2, + "n": 5, + "total_kg_days": 345600.0 + }, + { + "month": "2024-05", + "mean": 23.6, + "median": 18.9, + "p10": 6.7, + "p25": 11.6, + "p75": 31.0, + "p90": 44.2, + "n": 4, + "total_kg_days": 256000.0 + }, + { + "month": "2024-11", + "mean": 22.1, + "median": 21.2, + "p10": 11.8, + "p25": 15.3, + "p75": 28.3, + "p90": 32.6, + "n": 3, + "total_kg_days": 179200.0 + }, + { + "month": "2025-05", + "mean": 25.4, + "median": 21.8, + "p10": 8.8, + "p25": 13.3, + "p75": 37.5, + "p90": 45.4, + "n": 6, + "total_kg_days": 412800.0 + }, + { + "month": "2025-09", + "mean": 19.8, + "median": 20.1, + "p10": 17.5, + "p25": 18.9, + "p75": 21.2, + "p90": 21.9, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2025-10", + "mean": 17.5, + "median": 17.7, + "p10": 14.4, + "p25": 16.5, + "p75": 18.9, + "p90": 20.3, + "n": 5, + "total_kg_days": 236800.0 + }, + { + "month": "2025-11", + "mean": 20.3, + "median": 21.2, + "p10": 17.0, + "p25": 17.7, + "p75": 22.4, + "p90": 23.1, + "n": 5, + "total_kg_days": 275200.0 + }, + { + "month": "2025-12", + "mean": 18.2, + "median": 17.7, + "p10": 15.1, + "p25": 16.5, + "p75": 20.1, + "p90": 21.5, + "n": 5, + "total_kg_days": 246400.0 + }, + { + "month": "2026-01", + "mean": 15.8, + "median": 15.3, + "p10": 13.5, + "p25": 14.2, + "p75": 16.5, + "p90": 18.6, + "n": 5, + "total_kg_days": 214400.0 + }, + { + "month": "2026-02", + "mean": 18.4, + "median": 18.9, + "p10": 15.8, + "p25": 16.5, + "p75": 20.1, + "p90": 20.8, + "n": 5, + "total_kg_days": 249600.0 + }, + { + "month": "2026-03", + "mean": 17.9, + "median": 17.7, + "p10": 15.8, + "p25": 16.5, + "p75": 18.9, + "p90": 20.3, + "n": 5, + "total_kg_days": 243200.0 + }, + { + "month": "2026-04", + "mean": 20.5, + "median": 21.2, + "p10": 17.5, + "p25": 18.9, + "p75": 22.4, + "p90": 23.1, + "n": 5, + "total_kg_days": 278400.0 + }, + { + "month": "2026-05", + "mean": 18.4, + "median": 18.9, + "p10": 15.1, + "p25": 16.5, + "p75": 20.1, + "p90": 21.5, + "n": 5, + "total_kg_days": 249600.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 0.9, + "mean_slack": 5.1, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 0.9 + }, + "direct": { + "binding_share": 0.9, + "mean_slack": 7.2, + "next_bottleneck_days": 27.4, + "expected_marginal_per_day": 0.9 + }, + "hub-1": { + "binding_share": 0.9, + "mean_slack": 2.0, + "next_bottleneck_days": 31.3, + "expected_marginal_per_day": 0.9 + } + } + }, + { + "id": "prod_duration_harbor_dark_roast", + "label": "Production: Harbor Dark Roast", + "type": "production", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 58, + "mean": 3.8, + "median": 3.5, + "std": 1.7, + "min": 0.0, + "max": 11.8, + "p25": 3.5, + "p75": 4.7, + "p85": 4.7, + "p95": 6.1 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 5.2, + "cost": null, + "observations": [ + { + "date": "2022-05-20", + "value": 2.4 + }, + { + "date": "2022-06-10", + "value": 3.5 + }, + { + "date": "2022-07-15", + "value": 1.2 + }, + { + "date": "2022-08-22", + "value": 4.7 + }, + { + "date": "2022-10-05", + "value": 2.4 + }, + { + "date": "2022-11-18", + "value": 5.9 + }, + { + "date": "2023-01-10", + "value": 3.5 + }, + { + "date": "2023-03-25", + "value": 8.3 + }, + { + "date": "2023-05-12", + "value": 2.4 + }, + { + "date": "2023-07-08", + "value": 4.7 + }, + { + "date": "2023-09-15", + "value": 1.2 + }, + { + "date": "2023-11-22", + "value": 3.5 + }, + { + "date": "2024-01-18", + "value": 11.8 + }, + { + "date": "2024-03-08", + "value": 3.5 + }, + { + "date": "2024-05-15", + "value": 2.4 + }, + { + "date": "2024-07-22", + "value": 5.9 + }, + { + "date": "2024-09-10", + "value": 0.0 + }, + { + "date": "2024-11-05", + "value": 4.7 + }, + { + "date": "2025-01-15", + "value": 3.5 + }, + { + "date": "2025-03-20", + "value": 2.4 + }, + { + "date": "2025-05-28", + "value": 7.1 + }, + { + "date": "2025-08-05", + "value": 3.5 + }, + { + "date": "2025-09-05", + "value": 4.7 + }, + { + "date": "2025-09-11", + "value": 4.7 + }, + { + "date": "2025-09-17", + "value": 3.5 + }, + { + "date": "2025-09-23", + "value": 3.5 + }, + { + "date": "2025-10-06", + "value": 4.7 + }, + { + "date": "2025-10-12", + "value": 2.4 + }, + { + "date": "2025-10-18", + "value": 3.5 + }, + { + "date": "2025-10-24", + "value": 3.5 + }, + { + "date": "2025-11-04", + "value": 2.4 + }, + { + "date": "2025-11-10", + "value": 2.4 + }, + { + "date": "2025-11-16", + "value": 3.5 + }, + { + "date": "2025-11-22", + "value": 3.5 + }, + { + "date": "2025-12-05", + "value": 3.5 + }, + { + "date": "2025-12-11", + "value": 3.5 + }, + { + "date": "2025-12-17", + "value": 3.5 + }, + { + "date": "2025-12-23", + "value": 4.7 + }, + { + "date": "2026-01-06", + "value": 3.5 + }, + { + "date": "2026-01-12", + "value": 3.5 + }, + { + "date": "2026-01-18", + "value": 3.5 + }, + { + "date": "2026-01-24", + "value": 4.7 + }, + { + "date": "2026-02-04", + "value": 4.7 + }, + { + "date": "2026-02-10", + "value": 4.7 + }, + { + "date": "2026-02-16", + "value": 4.7 + }, + { + "date": "2026-02-22", + "value": 3.5 + }, + { + "date": "2026-03-05", + "value": 3.5 + }, + { + "date": "2026-03-11", + "value": 4.7 + }, + { + "date": "2026-03-17", + "value": 2.4 + }, + { + "date": "2026-03-23", + "value": 3.5 + }, + { + "date": "2026-04-06", + "value": 3.5 + }, + { + "date": "2026-04-12", + "value": 2.4 + }, + { + "date": "2026-04-18", + "value": 2.4 + }, + { + "date": "2026-04-24", + "value": 3.5 + }, + { + "date": "2026-05-04", + "value": 3.5 + }, + { + "date": "2026-05-10", + "value": 3.5 + }, + { + "date": "2026-05-16", + "value": 3.5 + }, + { + "date": "2026-05-22", + "value": 3.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2022-06", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2022-07", + "mean": 1.2, + "median": 1.2, + "p10": 1.2, + "p25": 1.2, + "p75": 1.2, + "p90": 1.2, + "n": 1 + }, + { + "month": "2022-08", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2022-11", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2023-01", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2023-03", + "mean": 8.3, + "median": 8.3, + "p10": 8.3, + "p25": 8.3, + "p75": 8.3, + "p90": 8.3, + "n": 1 + }, + { + "month": "2023-05", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2023-07", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2023-09", + "mean": 1.2, + "median": 1.2, + "p10": 1.2, + "p25": 1.2, + "p75": 1.2, + "p90": 1.2, + "n": 1 + }, + { + "month": "2023-11", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 11.8, + "median": 11.8, + "p10": 11.8, + "p25": 11.8, + "p75": 11.8, + "p90": 11.8, + "n": 1 + }, + { + "month": "2024-03", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2024-05", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2024-07", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2024-09", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2025-01", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2025-03", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2025-05", + "mean": 7.1, + "median": 7.1, + "p10": 7.1, + "p25": 7.1, + "p75": 7.1, + "p90": 7.1, + "n": 1 + }, + { + "month": "2025-08", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2025-09", + "mean": 4.1, + "median": 4.1, + "p10": 3.5, + "p25": 3.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2025-10", + "mean": 3.5, + "median": 3.5, + "p10": 2.7, + "p25": 3.3, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2025-11", + "mean": 2.9, + "median": 2.9, + "p10": 2.4, + "p25": 2.4, + "p75": 3.5, + "p90": 3.5, + "n": 4 + }, + { + "month": "2025-12", + "mean": 3.9, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2026-01", + "mean": 3.9, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2026-02", + "mean": 4.5, + "median": 4.7, + "p10": 3.9, + "p25": 4.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2026-03", + "mean": 3.5, + "median": 3.5, + "p10": 2.7, + "p25": 3.3, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2026-04", + "mean": 2.9, + "median": 2.9, + "p10": 2.4, + "p25": 2.4, + "p75": 3.5, + "p90": 3.5, + "n": 4 + }, + { + "month": "2026-05", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 4 + } + ], + "n_batches": 58, + "n_movements": null, + "yield_summary": { + "median": 99.2, + "mean": 98.5, + "reference": 100.0, + "n": 58 + }, + "consumption_summary": { + "median_variance": 2.1, + "mean_variance": 3.4, + "n_components": 3, + "n": 58 + }, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 4.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 3.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 4.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "prod_to_qa_pla", + "label": "Production \u2192 QA Release (PL-A)", + "type": "qa_hold", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 58, + "mean": 4.0, + "median": 3.5, + "std": 2.1, + "min": 0.0, + "max": 15.3, + "p25": 3.5, + "p75": 4.7, + "p85": 4.7, + "p95": 7.3 + }, + "plifz": 5, + "plifz_note": "WEBAZ (GR processing days)", + "pct_exceeding_plifz": 6.9, + "cost": null, + "observations": [ + { + "date": "2022-05-22", + "value": 2.4 + }, + { + "date": "2022-06-13", + "value": 1.2 + }, + { + "date": "2022-07-16", + "value": 3.5 + }, + { + "date": "2022-08-26", + "value": 2.4 + }, + { + "date": "2022-10-07", + "value": 5.9 + }, + { + "date": "2022-11-23", + "value": 2.4 + }, + { + "date": "2023-01-13", + "value": 4.7 + }, + { + "date": "2023-04-01", + "value": 3.5 + }, + { + "date": "2023-05-14", + "value": 7.1 + }, + { + "date": "2023-07-12", + "value": 2.4 + }, + { + "date": "2023-09-16", + "value": 15.3 + }, + { + "date": "2023-11-25", + "value": 3.5 + }, + { + "date": "2024-01-28", + "value": 8.3 + }, + { + "date": "2024-03-11", + "value": 1.2 + }, + { + "date": "2024-05-17", + "value": 4.7 + }, + { + "date": "2024-07-27", + "value": 5.9 + }, + { + "date": "2024-09-10", + "value": 2.4 + }, + { + "date": "2024-11-09", + "value": 0.0 + }, + { + "date": "2025-01-18", + "value": 3.5 + }, + { + "date": "2025-03-22", + "value": 9.4 + }, + { + "date": "2025-06-03", + "value": 2.4 + }, + { + "date": "2025-08-08", + "value": 5.9 + }, + { + "date": "2025-09-04", + "value": 2.4 + }, + { + "date": "2025-09-10", + "value": 3.5 + }, + { + "date": "2025-09-16", + "value": 3.5 + }, + { + "date": "2025-09-22", + "value": 3.5 + }, + { + "date": "2025-10-05", + "value": 3.5 + }, + { + "date": "2025-10-11", + "value": 3.5 + }, + { + "date": "2025-10-17", + "value": 4.7 + }, + { + "date": "2025-10-23", + "value": 4.7 + }, + { + "date": "2025-11-06", + "value": 3.5 + }, + { + "date": "2025-11-12", + "value": 3.5 + }, + { + "date": "2025-11-18", + "value": 3.5 + }, + { + "date": "2025-11-24", + "value": 4.7 + }, + { + "date": "2025-12-04", + "value": 3.5 + }, + { + "date": "2025-12-10", + "value": 3.5 + }, + { + "date": "2025-12-16", + "value": 3.5 + }, + { + "date": "2025-12-22", + "value": 2.4 + }, + { + "date": "2026-01-05", + "value": 4.7 + }, + { + "date": "2026-01-11", + "value": 4.7 + }, + { + "date": "2026-01-17", + "value": 3.5 + }, + { + "date": "2026-01-23", + "value": 3.5 + }, + { + "date": "2026-02-06", + "value": 4.7 + }, + { + "date": "2026-02-12", + "value": 2.4 + }, + { + "date": "2026-02-18", + "value": 3.5 + }, + { + "date": "2026-02-24", + "value": 3.5 + }, + { + "date": "2026-03-04", + "value": 3.5 + }, + { + "date": "2026-03-10", + "value": 3.5 + }, + { + "date": "2026-03-16", + "value": 3.5 + }, + { + "date": "2026-03-22", + "value": 4.7 + }, + { + "date": "2026-04-05", + "value": 3.5 + }, + { + "date": "2026-04-11", + "value": 3.5 + }, + { + "date": "2026-04-17", + "value": 3.5 + }, + { + "date": "2026-04-23", + "value": 3.5 + }, + { + "date": "2026-05-06", + "value": 3.5 + }, + { + "date": "2026-05-12", + "value": 3.5 + }, + { + "date": "2026-05-18", + "value": 3.5 + }, + { + "date": "2026-05-24", + "value": 3.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2022-06", + "mean": 1.2, + "median": 1.2, + "p10": 1.2, + "p25": 1.2, + "p75": 1.2, + "p90": 1.2, + "n": 1 + }, + { + "month": "2022-07", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2022-08", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2022-10", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2022-11", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2023-01", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2023-04", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2023-05", + "mean": 7.1, + "median": 7.1, + "p10": 7.1, + "p25": 7.1, + "p75": 7.1, + "p90": 7.1, + "n": 1 + }, + { + "month": "2023-07", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2023-09", + "mean": 15.3, + "median": 15.3, + "p10": 15.3, + "p25": 15.3, + "p75": 15.3, + "p90": 15.3, + "n": 1 + }, + { + "month": "2023-11", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 8.3, + "median": 8.3, + "p10": 8.3, + "p25": 8.3, + "p75": 8.3, + "p90": 8.3, + "n": 1 + }, + { + "month": "2024-03", + "mean": 1.2, + "median": 1.2, + "p10": 1.2, + "p25": 1.2, + "p75": 1.2, + "p90": 1.2, + "n": 1 + }, + { + "month": "2024-05", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2024-07", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2024-09", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2024-11", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2025-03", + "mean": 9.4, + "median": 9.4, + "p10": 9.4, + "p25": 9.4, + "p75": 9.4, + "p90": 9.4, + "n": 1 + }, + { + "month": "2025-06", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2025-08", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2025-09", + "mean": 3.3, + "median": 3.5, + "p10": 2.7, + "p25": 3.3, + "p75": 3.5, + "p90": 3.5, + "n": 4 + }, + { + "month": "2025-10", + "mean": 4.1, + "median": 4.1, + "p10": 3.5, + "p25": 3.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2025-11", + "mean": 3.9, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2025-12", + "mean": 3.3, + "median": 3.5, + "p10": 2.7, + "p25": 3.3, + "p75": 3.5, + "p90": 3.5, + "n": 4 + }, + { + "month": "2026-01", + "mean": 4.1, + "median": 4.1, + "p10": 3.5, + "p25": 3.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2026-02", + "mean": 3.5, + "median": 3.5, + "p10": 2.7, + "p25": 3.3, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2026-03", + "mean": 3.9, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2026-04", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 4 + }, + { + "month": "2026-05", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 4 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": { + "median": 99.2, + "mean": 98.5, + "reference": 100.0, + "n": 58 + }, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 7.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 7.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 6.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "post_qa_ship_pla", + "label": "Post-QA Dwell (PL-A)", + "type": "post_qa_ship", + "material": "90000300001", + "plant": "PL-A", + "stats": { + "n": 57, + "mean": 15.0, + "median": 14.2, + "std": 6.6, + "min": 2.4, + "max": 49.6, + "p25": 11.8, + "p75": 16.5, + "p85": 17.7, + "p95": 24.1 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "cost": { + "unit_price": 33.63, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2023-03", + "n_events": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "n_events": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "n_events": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "n_events": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 264000.0 + } + ] + }, + "observations": [ + { + "date": "2023-03-10", + "value": 9.4 + }, + { + "date": "2023-03-25", + "value": 26.0 + }, + { + "date": "2023-09-20", + "value": 49.6 + }, + { + "date": "2024-03-15", + "value": 7.1 + }, + { + "date": "2024-03-28", + "value": 21.2 + }, + { + "date": "2024-09-05", + "value": 33.0 + }, + { + "date": "2024-09-15", + "value": 14.2 + }, + { + "date": "2024-09-25", + "value": 2.4 + }, + { + "date": "2025-03-10", + "value": 17.7 + }, + { + "date": "2025-03-22", + "value": 5.9 + }, + { + "date": "2025-07-08", + "value": 23.6 + }, + { + "date": "2025-07-22", + "value": 4.7 + }, + { + "date": "2025-09-05", + "value": 16.5 + }, + { + "date": "2025-09-11", + "value": 17.7 + }, + { + "date": "2025-09-17", + "value": 11.8 + }, + { + "date": "2025-09-23", + "value": 13.0 + }, + { + "date": "2025-09-29", + "value": 14.2 + }, + { + "date": "2025-10-06", + "value": 16.5 + }, + { + "date": "2025-10-12", + "value": 9.4 + }, + { + "date": "2025-10-18", + "value": 11.8 + }, + { + "date": "2025-10-24", + "value": 13.0 + }, + { + "date": "2025-10-30", + "value": 13.0 + }, + { + "date": "2025-11-04", + "value": 11.8 + }, + { + "date": "2025-11-10", + "value": 14.2 + }, + { + "date": "2025-11-16", + "value": 14.2 + }, + { + "date": "2025-11-22", + "value": 15.3 + }, + { + "date": "2025-11-28", + "value": 16.5 + }, + { + "date": "2025-12-05", + "value": 11.8 + }, + { + "date": "2025-12-11", + "value": 13.0 + }, + { + "date": "2025-12-17", + "value": 14.2 + }, + { + "date": "2025-12-23", + "value": 15.3 + }, + { + "date": "2025-12-29", + "value": 16.5 + }, + { + "date": "2026-01-06", + "value": 15.3 + }, + { + "date": "2026-01-12", + "value": 16.5 + }, + { + "date": "2026-01-18", + "value": 17.7 + }, + { + "date": "2026-01-24", + "value": 18.9 + }, + { + "date": "2026-01-30", + "value": 13.0 + }, + { + "date": "2026-02-04", + "value": 15.3 + }, + { + "date": "2026-02-10", + "value": 16.5 + }, + { + "date": "2026-02-16", + "value": 17.7 + }, + { + "date": "2026-02-22", + "value": 11.8 + }, + { + "date": "2026-02-28", + "value": 13.0 + }, + { + "date": "2026-03-05", + "value": 15.3 + }, + { + "date": "2026-03-11", + "value": 16.5 + }, + { + "date": "2026-03-17", + "value": 9.4 + }, + { + "date": "2026-03-23", + "value": 11.8 + }, + { + "date": "2026-03-29", + "value": 13.0 + }, + { + "date": "2026-04-06", + "value": 18.9 + }, + { + "date": "2026-04-12", + "value": 11.8 + }, + { + "date": "2026-04-18", + "value": 14.2 + }, + { + "date": "2026-04-24", + "value": 14.2 + }, + { + "date": "2026-04-30", + "value": 15.3 + }, + { + "date": "2026-05-04", + "value": 10.6 + }, + { + "date": "2026-05-10", + "value": 11.8 + }, + { + "date": "2026-05-16", + "value": 13.0 + }, + { + "date": "2026-05-22", + "value": 14.2 + }, + { + "date": "2026-05-28", + "value": 15.3 + } + ], + "monthly": [ + { + "month": "2023-03", + "mean": 17.7, + "median": 17.7, + "p10": 11.1, + "p25": 13.6, + "p75": 21.8, + "p90": 24.3, + "n": 2, + "total_kg_days": 144000.0 + }, + { + "month": "2023-09", + "mean": 49.6, + "median": 49.6, + "p10": 49.6, + "p25": 49.6, + "p75": 49.6, + "p90": 49.6, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2024-03", + "mean": 14.2, + "median": 14.2, + "p10": 8.5, + "p25": 10.6, + "p75": 17.7, + "p90": 19.8, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2024-09", + "mean": 16.5, + "median": 14.2, + "p10": 4.7, + "p25": 8.3, + "p75": 23.6, + "p90": 29.3, + "n": 3, + "total_kg_days": 201600.0 + }, + { + "month": "2025-03", + "mean": 11.8, + "median": 11.8, + "p10": 7.1, + "p25": 8.8, + "p75": 14.8, + "p90": 16.5, + "n": 2, + "total_kg_days": 96000.0 + }, + { + "month": "2025-07", + "mean": 14.2, + "median": 14.2, + "p10": 6.6, + "p25": 9.4, + "p75": 18.9, + "p90": 21.7, + "n": 2, + "total_kg_days": 115200.0 + }, + { + "month": "2025-09", + "mean": 14.6, + "median": 14.2, + "p10": 12.3, + "p25": 13.0, + "p75": 16.5, + "p90": 17.2, + "n": 5, + "total_kg_days": 297600.0 + }, + { + "month": "2025-10", + "mean": 12.7, + "median": 13.0, + "p10": 10.4, + "p25": 11.8, + "p75": 13.0, + "p90": 15.1, + "n": 5, + "total_kg_days": 259200.0 + }, + { + "month": "2025-11", + "mean": 14.4, + "median": 14.2, + "p10": 12.7, + "p25": 14.2, + "p75": 15.3, + "p90": 16.0, + "n": 5, + "total_kg_days": 292800.0 + }, + { + "month": "2025-12", + "mean": 14.2, + "median": 14.2, + "p10": 12.3, + "p25": 13.0, + "p75": 15.3, + "p90": 16.0, + "n": 5, + "total_kg_days": 288000.0 + }, + { + "month": "2026-01", + "mean": 16.3, + "median": 16.5, + "p10": 13.9, + "p25": 15.3, + "p75": 17.7, + "p90": 18.4, + "n": 5, + "total_kg_days": 331200.0 + }, + { + "month": "2026-02", + "mean": 14.9, + "median": 15.3, + "p10": 12.3, + "p25": 13.0, + "p75": 16.5, + "p90": 17.2, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-03", + "mean": 13.2, + "median": 13.0, + "p10": 10.4, + "p25": 11.8, + "p75": 15.3, + "p90": 16.0, + "n": 5, + "total_kg_days": 268800.0 + }, + { + "month": "2026-04", + "mean": 14.9, + "median": 14.2, + "p10": 12.7, + "p25": 14.2, + "p75": 15.3, + "p90": 17.5, + "n": 5, + "total_kg_days": 302400.0 + }, + { + "month": "2026-05", + "mean": 13.0, + "median": 13.0, + "p10": 11.1, + "p25": 11.8, + "p75": 14.2, + "p90": 14.9, + "n": 5, + "total_kg_days": 264000.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 12.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "direct_ship_pla", + "label": "Direct-to-Customer Ship", + "type": "transit", + "material": "90000300001", + "plant": "PL-A\u2192Customer", + "stats": { + "n": 35, + "mean": 24.7, + "median": 24.8, + "std": 5.4, + "min": 14.2, + "max": 44.8, + "p25": 21.8, + "p75": 27.1, + "p85": 29.4, + "p95": 31.4 + }, + "plifz": null, + "plifz_note": "No planning parameter set", + "pct_exceeding_plifz": null, + "cost": null, + "observations": [ + { + "date": "2023-04-05", + "value": 21.2 + }, + { + "date": "2023-10-12", + "value": 29.5 + }, + { + "date": "2024-04-08", + "value": 14.2 + }, + { + "date": "2024-09-20", + "value": 44.8 + }, + { + "date": "2024-10-15", + "value": 23.6 + }, + { + "date": "2025-03-25", + "value": 17.7 + }, + { + "date": "2025-04-10", + "value": 33.0 + }, + { + "date": "2025-07-30", + "value": 28.3 + }, + { + "date": "2025-09-04", + "value": 20.1 + }, + { + "date": "2025-09-10", + "value": 22.4 + }, + { + "date": "2025-09-16", + "value": 24.8 + }, + { + "date": "2025-10-05", + "value": 20.1 + }, + { + "date": "2025-10-11", + "value": 22.4 + }, + { + "date": "2025-10-17", + "value": 23.6 + }, + { + "date": "2025-11-06", + "value": 26.0 + }, + { + "date": "2025-11-12", + "value": 27.1 + }, + { + "date": "2025-11-18", + "value": 29.5 + }, + { + "date": "2025-12-04", + "value": 24.8 + }, + { + "date": "2025-12-10", + "value": 27.1 + }, + { + "date": "2025-12-16", + "value": 29.5 + }, + { + "date": "2026-01-05", + "value": 24.8 + }, + { + "date": "2026-01-11", + "value": 27.1 + }, + { + "date": "2026-01-17", + "value": 16.5 + }, + { + "date": "2026-02-06", + "value": 30.7 + }, + { + "date": "2026-02-12", + "value": 20.1 + }, + { + "date": "2026-02-18", + "value": 22.4 + }, + { + "date": "2026-03-04", + "value": 17.7 + }, + { + "date": "2026-03-10", + "value": 20.1 + }, + { + "date": "2026-03-16", + "value": 22.4 + }, + { + "date": "2026-04-05", + "value": 23.6 + }, + { + "date": "2026-04-11", + "value": 26.0 + }, + { + "date": "2026-04-17", + "value": 27.1 + }, + { + "date": "2026-05-06", + "value": 23.6 + }, + { + "date": "2026-05-12", + "value": 24.8 + }, + { + "date": "2026-05-18", + "value": 27.1 + } + ], + "monthly": [ + { + "month": "2023-04", + "mean": 21.2, + "median": 21.2, + "p10": 21.2, + "p25": 21.2, + "p75": 21.2, + "p90": 21.2, + "n": 1 + }, + { + "month": "2023-10", + "mean": 29.5, + "median": 29.5, + "p10": 29.5, + "p25": 29.5, + "p75": 29.5, + "p90": 29.5, + "n": 1 + }, + { + "month": "2024-04", + "mean": 14.2, + "median": 14.2, + "p10": 14.2, + "p25": 14.2, + "p75": 14.2, + "p90": 14.2, + "n": 1 + }, + { + "month": "2024-09", + "mean": 44.8, + "median": 44.8, + "p10": 44.8, + "p25": 44.8, + "p75": 44.8, + "p90": 44.8, + "n": 1 + }, + { + "month": "2024-10", + "mean": 23.6, + "median": 23.6, + "p10": 23.6, + "p25": 23.6, + "p75": 23.6, + "p90": 23.6, + "n": 1 + }, + { + "month": "2025-03", + "mean": 17.7, + "median": 17.7, + "p10": 17.7, + "p25": 17.7, + "p75": 17.7, + "p90": 17.7, + "n": 1 + }, + { + "month": "2025-04", + "mean": 33.0, + "median": 33.0, + "p10": 33.0, + "p25": 33.0, + "p75": 33.0, + "p90": 33.0, + "n": 1 + }, + { + "month": "2025-07", + "mean": 28.3, + "median": 28.3, + "p10": 28.3, + "p25": 28.3, + "p75": 28.3, + "p90": 28.3, + "n": 1 + }, + { + "month": "2025-09", + "mean": 22.4, + "median": 22.4, + "p10": 20.5, + "p25": 21.2, + "p75": 23.6, + "p90": 24.3, + "n": 3 + }, + { + "month": "2025-10", + "mean": 22.1, + "median": 22.4, + "p10": 20.5, + "p25": 21.2, + "p75": 23.0, + "p90": 23.4, + "n": 3 + }, + { + "month": "2025-11", + "mean": 27.5, + "median": 27.1, + "p10": 26.2, + "p25": 26.5, + "p75": 28.3, + "p90": 29.0, + "n": 3 + }, + { + "month": "2025-12", + "mean": 27.1, + "median": 27.1, + "p10": 25.3, + "p25": 26.0, + "p75": 28.3, + "p90": 29.0, + "n": 3 + }, + { + "month": "2026-01", + "mean": 22.8, + "median": 24.8, + "p10": 18.2, + "p25": 20.6, + "p75": 26.0, + "p90": 26.7, + "n": 3 + }, + { + "month": "2026-02", + "mean": 24.4, + "median": 22.4, + "p10": 20.5, + "p25": 21.2, + "p75": 26.5, + "p90": 29.0, + "n": 3 + }, + { + "month": "2026-03", + "mean": 20.1, + "median": 20.1, + "p10": 18.2, + "p25": 18.9, + "p75": 21.2, + "p90": 21.9, + "n": 3 + }, + { + "month": "2026-04", + "mean": 25.6, + "median": 26.0, + "p10": 24.1, + "p25": 24.8, + "p75": 26.5, + "p90": 26.9, + "n": 3 + }, + { + "month": "2026-05", + "mean": 25.1, + "median": 24.8, + "p10": 23.8, + "p25": 24.2, + "p75": 26.0, + "p90": 26.7, + "n": 3 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 22.0, + "expected_marginal_per_day": 1.0 + }, + "direct": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 22.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "transit_pla_hub1", + "label": "Transit PL-A \u2192 HUB-1", + "type": "transit", + "material": "90000300001", + "plant": "PL-A\u2192HUB-1", + "stats": { + "n": 42, + "mean": 36.9, + "median": 36.0, + "std": 8.4, + "min": 17.7, + "max": 64.9, + "p25": 31.9, + "p75": 42.5, + "p85": 44.8, + "p95": 49.4 + }, + "plifz": 28, + "plifz_note": null, + "pct_exceeding_plifz": 61.9, + "cost": null, + "observations": [ + { + "date": "2022-07-20", + "value": 33.0 + }, + { + "date": "2022-11-30", + "value": 41.3 + }, + { + "date": "2023-03-15", + "value": 26.0 + }, + { + "date": "2023-07-10", + "value": 49.6 + }, + { + "date": "2023-10-25", + "value": 35.4 + }, + { + "date": "2024-02-08", + "value": 64.9 + }, + { + "date": "2024-05-20", + "value": 29.5 + }, + { + "date": "2024-08-12", + "value": 44.8 + }, + { + "date": "2024-11-05", + "value": 17.7 + }, + { + "date": "2025-01-22", + "value": 37.8 + }, + { + "date": "2025-04-10", + "value": 33.0 + }, + { + "date": "2025-06-18", + "value": 53.1 + }, + { + "date": "2025-07-15", + "value": 35.4 + }, + { + "date": "2025-08-05", + "value": 26.0 + }, + { + "date": "2025-09-05", + "value": 42.5 + }, + { + "date": "2025-09-10", + "value": 44.8 + }, + { + "date": "2025-09-11", + "value": 46.0 + }, + { + "date": "2025-09-17", + "value": 30.7 + }, + { + "date": "2025-10-06", + "value": 42.5 + }, + { + "date": "2025-10-12", + "value": 27.1 + }, + { + "date": "2025-10-18", + "value": 30.7 + }, + { + "date": "2025-11-04", + "value": 31.9 + }, + { + "date": "2025-11-10", + "value": 36.6 + }, + { + "date": "2025-11-16", + "value": 38.9 + }, + { + "date": "2025-12-05", + "value": 31.9 + }, + { + "date": "2025-12-11", + "value": 34.2 + }, + { + "date": "2025-12-17", + "value": 37.8 + }, + { + "date": "2026-01-06", + "value": 30.7 + }, + { + "date": "2026-01-12", + "value": 34.2 + }, + { + "date": "2026-01-18", + "value": 36.6 + }, + { + "date": "2026-02-04", + "value": 38.9 + }, + { + "date": "2026-02-10", + "value": 42.5 + }, + { + "date": "2026-02-16", + "value": 46.0 + }, + { + "date": "2026-03-05", + "value": 38.9 + }, + { + "date": "2026-03-11", + "value": 42.5 + }, + { + "date": "2026-03-17", + "value": 27.1 + }, + { + "date": "2026-04-06", + "value": 47.2 + }, + { + "date": "2026-04-12", + "value": 31.9 + }, + { + "date": "2026-04-18", + "value": 36.6 + }, + { + "date": "2026-05-04", + "value": 28.3 + }, + { + "date": "2026-05-10", + "value": 31.9 + }, + { + "date": "2026-05-16", + "value": 34.2 + } + ], + "monthly": [ + { + "month": "2022-07", + "mean": 33.0, + "median": 33.0, + "p10": 33.0, + "p25": 33.0, + "p75": 33.0, + "p90": 33.0, + "n": 1 + }, + { + "month": "2022-11", + "mean": 41.3, + "median": 41.3, + "p10": 41.3, + "p25": 41.3, + "p75": 41.3, + "p90": 41.3, + "n": 1 + }, + { + "month": "2023-03", + "mean": 26.0, + "median": 26.0, + "p10": 26.0, + "p25": 26.0, + "p75": 26.0, + "p90": 26.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 49.6, + "median": 49.6, + "p10": 49.6, + "p25": 49.6, + "p75": 49.6, + "p90": 49.6, + "n": 1 + }, + { + "month": "2023-10", + "mean": 35.4, + "median": 35.4, + "p10": 35.4, + "p25": 35.4, + "p75": 35.4, + "p90": 35.4, + "n": 1 + }, + { + "month": "2024-02", + "mean": 64.9, + "median": 64.9, + "p10": 64.9, + "p25": 64.9, + "p75": 64.9, + "p90": 64.9, + "n": 1 + }, + { + "month": "2024-05", + "mean": 29.5, + "median": 29.5, + "p10": 29.5, + "p25": 29.5, + "p75": 29.5, + "p90": 29.5, + "n": 1 + }, + { + "month": "2024-08", + "mean": 44.8, + "median": 44.8, + "p10": 44.8, + "p25": 44.8, + "p75": 44.8, + "p90": 44.8, + "n": 1 + }, + { + "month": "2024-11", + "mean": 17.7, + "median": 17.7, + "p10": 17.7, + "p25": 17.7, + "p75": 17.7, + "p90": 17.7, + "n": 1 + }, + { + "month": "2025-01", + "mean": 37.8, + "median": 37.8, + "p10": 37.8, + "p25": 37.8, + "p75": 37.8, + "p90": 37.8, + "n": 1 + }, + { + "month": "2025-04", + "mean": 33.0, + "median": 33.0, + "p10": 33.0, + "p25": 33.0, + "p75": 33.0, + "p90": 33.0, + "n": 1 + }, + { + "month": "2025-06", + "mean": 53.1, + "median": 53.1, + "p10": 53.1, + "p25": 53.1, + "p75": 53.1, + "p90": 53.1, + "n": 1 + }, + { + "month": "2025-07", + "mean": 35.4, + "median": 35.4, + "p10": 35.4, + "p25": 35.4, + "p75": 35.4, + "p90": 35.4, + "n": 1 + }, + { + "month": "2025-08", + "mean": 26.0, + "median": 26.0, + "p10": 26.0, + "p25": 26.0, + "p75": 26.0, + "p90": 26.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 41.1, + "median": 43.7, + "p10": 34.2, + "p25": 39.5, + "p75": 45.2, + "p90": 45.7, + "n": 4 + }, + { + "month": "2025-10", + "mean": 33.4, + "median": 30.7, + "p10": 27.8, + "p25": 28.9, + "p75": 36.6, + "p90": 40.1, + "n": 3 + }, + { + "month": "2025-11", + "mean": 35.8, + "median": 36.6, + "p10": 32.8, + "p25": 34.2, + "p75": 37.8, + "p90": 38.5, + "n": 3 + }, + { + "month": "2025-12", + "mean": 34.6, + "median": 34.2, + "p10": 32.3, + "p25": 33.0, + "p75": 36.0, + "p90": 37.1, + "n": 3 + }, + { + "month": "2026-01", + "mean": 33.9, + "median": 34.2, + "p10": 31.4, + "p25": 32.4, + "p75": 35.4, + "p90": 36.1, + "n": 3 + }, + { + "month": "2026-02", + "mean": 42.5, + "median": 42.5, + "p10": 39.6, + "p25": 40.7, + "p75": 44.2, + "p90": 45.3, + "n": 3 + }, + { + "month": "2026-03", + "mean": 36.2, + "median": 38.9, + "p10": 29.5, + "p25": 33.0, + "p75": 40.7, + "p90": 41.8, + "n": 3 + }, + { + "month": "2026-04", + "mean": 38.6, + "median": 36.6, + "p10": 32.8, + "p25": 34.2, + "p75": 41.9, + "p90": 45.1, + "n": 3 + }, + { + "month": "2026-05", + "mean": 31.5, + "median": 31.9, + "p10": 29.0, + "p25": 30.1, + "p75": 33.0, + "p90": 33.7, + "n": 3 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 29.0, + "expected_marginal_per_day": 1.0 + } + } + }, + { + "id": "dest_dwell_hub1", + "label": "Destination Dwell (HUB-1)", + "type": "destination_dwell", + "material": "90000300001", + "plant": "HUB-1", + "stats": { + "n": 37, + "mean": 53.1, + "median": 51.9, + "std": 16.5, + "min": 11.8, + "max": 112.1, + "p25": 42.5, + "p75": 57.8, + "p85": 62.5, + "p95": 79.8 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "cost": { + "unit_price": 33.63, + "currency": "CHF", + "mean_qty": 4800.0, + "monthly": [ + { + "month": "2022-09", + "n_events": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "n_events": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "n_events": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "n_events": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "n_events": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "n_events": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "n_events": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "n_events": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "n_events": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "n_events": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "n_events": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "n_events": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "n_events": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "n_events": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "n_events": 3, + "total_kg_days": 585600.0 + } + ] + }, + "observations": [ + { + "date": "2022-09-15", + "value": 49.6 + }, + { + "date": "2023-05-05", + "value": 76.7 + }, + { + "date": "2023-05-20", + "value": 33.0 + }, + { + "date": "2024-01-10", + "value": 112.1 + }, + { + "date": "2024-01-25", + "value": 41.3 + }, + { + "date": "2024-08-15", + "value": 11.8 + }, + { + "date": "2025-02-05", + "value": 92.0 + }, + { + "date": "2025-02-18", + "value": 64.9 + }, + { + "date": "2025-08-10", + "value": 49.6 + }, + { + "date": "2025-08-20", + "value": 37.8 + }, + { + "date": "2025-09-06", + "value": 46.0 + }, + { + "date": "2025-09-12", + "value": 49.6 + }, + { + "date": "2025-09-18", + "value": 54.3 + }, + { + "date": "2025-10-04", + "value": 57.8 + }, + { + "date": "2025-10-10", + "value": 62.5 + }, + { + "date": "2025-10-16", + "value": 67.3 + }, + { + "date": "2025-11-05", + "value": 56.6 + }, + { + "date": "2025-11-11", + "value": 61.4 + }, + { + "date": "2025-11-17", + "value": 40.1 + }, + { + "date": "2025-12-06", + "value": 56.6 + }, + { + "date": "2025-12-12", + "value": 35.4 + }, + { + "date": "2025-12-18", + "value": 40.1 + }, + { + "date": "2026-01-04", + "value": 42.5 + }, + { + "date": "2026-01-10", + "value": 48.4 + }, + { + "date": "2026-01-16", + "value": 50.7 + }, + { + "date": "2026-02-05", + "value": 42.5 + }, + { + "date": "2026-02-11", + "value": 46.0 + }, + { + "date": "2026-02-17", + "value": 49.6 + }, + { + "date": "2026-03-06", + "value": 54.3 + }, + { + "date": "2026-03-12", + "value": 57.8 + }, + { + "date": "2026-03-18", + "value": 62.5 + }, + { + "date": "2026-04-04", + "value": 53.1 + }, + { + "date": "2026-04-10", + "value": 56.6 + }, + { + "date": "2026-04-16", + "value": 61.4 + }, + { + "date": "2026-05-05", + "value": 51.9 + }, + { + "date": "2026-05-11", + "value": 56.6 + }, + { + "date": "2026-05-17", + "value": 35.4 + } + ], + "monthly": [ + { + "month": "2022-09", + "mean": 49.6, + "median": 49.6, + "p10": 49.6, + "p25": 49.6, + "p75": 49.6, + "p90": 49.6, + "n": 1, + "total_kg_days": 201600.0 + }, + { + "month": "2023-05", + "mean": 54.9, + "median": 54.9, + "p10": 37.4, + "p25": 44.0, + "p75": 65.8, + "p90": 72.3, + "n": 2, + "total_kg_days": 446400.0 + }, + { + "month": "2024-01", + "mean": 76.7, + "median": 76.7, + "p10": 48.4, + "p25": 59.0, + "p75": 94.4, + "p90": 105.0, + "n": 2, + "total_kg_days": 624000.0 + }, + { + "month": "2024-08", + "mean": 11.8, + "median": 11.8, + "p10": 11.8, + "p25": 11.8, + "p75": 11.8, + "p90": 11.8, + "n": 1, + "total_kg_days": 48000.0 + }, + { + "month": "2025-02", + "mean": 78.5, + "median": 78.5, + "p10": 67.6, + "p25": 71.7, + "p75": 85.3, + "p90": 89.3, + "n": 2, + "total_kg_days": 638400.0 + }, + { + "month": "2025-08", + "mean": 43.7, + "median": 43.7, + "p10": 38.9, + "p25": 40.7, + "p75": 46.6, + "p90": 48.4, + "n": 2, + "total_kg_days": 355200.0 + }, + { + "month": "2025-09", + "mean": 49.9, + "median": 49.6, + "p10": 46.7, + "p25": 47.8, + "p75": 51.9, + "p90": 53.3, + "n": 3, + "total_kg_days": 609600.0 + }, + { + "month": "2025-10", + "mean": 62.5, + "median": 62.5, + "p10": 58.8, + "p25": 60.2, + "p75": 64.9, + "p90": 66.3, + "n": 3, + "total_kg_days": 763200.0 + }, + { + "month": "2025-11", + "mean": 52.7, + "median": 56.6, + "p10": 43.4, + "p25": 48.4, + "p75": 59.0, + "p90": 60.4, + "n": 3, + "total_kg_days": 643200.0 + }, + { + "month": "2025-12", + "mean": 44.0, + "median": 40.1, + "p10": 36.3, + "p25": 37.8, + "p75": 48.4, + "p90": 53.3, + "n": 3, + "total_kg_days": 537600.0 + }, + { + "month": "2026-01", + "mean": 47.2, + "median": 48.4, + "p10": 43.7, + "p25": 45.4, + "p75": 49.6, + "p90": 50.3, + "n": 3, + "total_kg_days": 576000.0 + }, + { + "month": "2026-02", + "mean": 46.0, + "median": 46.0, + "p10": 43.2, + "p25": 44.2, + "p75": 47.8, + "p90": 48.9, + "n": 3, + "total_kg_days": 561600.0 + }, + { + "month": "2026-03", + "mean": 58.2, + "median": 57.8, + "p10": 55.0, + "p25": 56.0, + "p75": 60.2, + "p90": 61.6, + "n": 3, + "total_kg_days": 710400.0 + }, + { + "month": "2026-04", + "mean": 57.0, + "median": 56.6, + "p10": 53.8, + "p25": 54.9, + "p75": 59.0, + "p90": 60.4, + "n": 3, + "total_kg_days": 696000.0 + }, + { + "month": "2026-05", + "mean": 48.0, + "median": 51.9, + "p10": 38.7, + "p25": 43.7, + "p75": 54.3, + "p90": 55.7, + "n": 3, + "total_kg_days": 585600.0 + } + ], + "n_batches": null, + "n_movements": null, + "yield_summary": null, + "consumption_summary": null, + "binding": { + "all": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 45.0, + "expected_marginal_per_day": 1.0 + }, + "hub-1": { + "binding_share": 1.0, + "mean_slack": null, + "next_bottleneck_days": 45.0, + "expected_marginal_per_day": 1.0 + } + } + } + ], + "edges": [ + { + "source": "procurement_highland_arabica", + "target": "raw_dwell_highland_arabica", + "label": "101" + }, + { + "source": "procurement_lowland_robusta", + "target": "raw_dwell_lowland_robusta", + "label": "101" + }, + { + "source": "procurement_washed_bourbon", + "target": "raw_dwell_washed_bourbon", + "label": "101" + }, + { + "source": "raw_dwell_highland_arabica", + "target": "prod_duration_green_blend", + "label": "261" + }, + { + "source": "raw_dwell_lowland_robusta", + "target": "prod_duration_green_blend", + "label": "261" + }, + { + "source": "prod_duration_green_blend", + "target": "intermed_dwell_green_blend", + "label": "101" + }, + { + "source": "raw_dwell_washed_bourbon", + "target": "prod_duration_harbor_dark_roast", + "label": "261" + }, + { + "source": "intermed_dwell_green_blend", + "target": "prod_duration_harbor_dark_roast", + "label": "261" + }, + { + "source": "prod_duration_harbor_dark_roast", + "target": "prod_to_qa_pla", + "label": "101" + }, + { + "source": "post_qa_ship_pla", + "target": "direct_ship_pla", + "label": "601" + }, + { + "source": "post_qa_ship_pla", + "target": "transit_pla_hub1", + "label": "641" + }, + { + "source": "transit_pla_hub1", + "target": "dest_dwell_hub1" + }, + { + "source": "prod_to_qa_pla", + "target": "post_qa_ship_pla" + } + ], + "pipeline_summary": { + "direct": { + "label": "Direct to customer", + "stages": [ + { + "id": "seg_proc_to_prodstart", + "label": "Procurement \u2192 Production Start", + "type": "procurement", + "mean": 29.9, + "median": 30, + "pct_of_total": 17.6, + "n": 60 + }, + { + "id": "seg_prodstart_to_prodfinish", + "label": "Production Start \u2192 Production Finish", + "type": "production", + "mean": 99.8, + "median": 101, + "pct_of_total": 58.9, + "n": 60 + }, + { + "id": "seg_prodfinish_to_qa", + "label": "Production Finish \u2192 QA Release", + "type": "qa_hold", + "mean": 6.6, + "median": 7, + "pct_of_total": 3.9, + "n": 60 + }, + { + "id": "seg_qa_to_customer", + "label": "QA Release \u2192 Customer", + "type": "transit", + "mean": 33.2, + "median": 33, + "pct_of_total": 19.6, + "n": 60 + } + ], + "total_mean": 169.5, + "total_median": 171 + }, + "hub-1": { + "label": "HUB-1", + "stages": [ + { + "id": "seg_proc_to_prodstart", + "label": "Procurement \u2192 Production Start", + "type": "procurement", + "mean": 28.4, + "median": 29, + "pct_of_total": 12.8, + "n": 40 + }, + { + "id": "seg_prodstart_to_prodfinish", + "label": "Production Start \u2192 Production Finish", + "type": "production", + "mean": 102.1, + "median": 104, + "pct_of_total": 46.1, + "n": 40 + }, + { + "id": "seg_prodfinish_to_qa", + "label": "Production Finish \u2192 QA Release", + "type": "qa_hold", + "mean": 6.2, + "median": 6, + "pct_of_total": 2.8, + "n": 40 + }, + { + "id": "seg_qa_to_customer", + "label": "QA Release \u2192 Customer", + "type": "transit", + "mean": 84.8, + "median": 88, + "pct_of_total": 38.3, + "n": 40 + } + ], + "total_mean": 221.5, + "total_median": 227 + } + }, + "annotations": [ + { + "date": "2023-09-01", + "label": "Supplier change for Highland Arabica", + "step_ids": ["procurement_highland_arabica", "raw_dwell_highland_arabica"] + }, + { + "date": "2024-01-15", + "label": "QA process revision", + "step_ids": ["qa_hold_pla"] + } + ], + "batch_timelines": { + "batches": [ + { + "batch": "BATCH-007069", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-05-27", + "earliest_gr_date": "2024-05-29", + "earliest_production_start": "2024-07-03", + "fg_receipt_date": "2024-10-28", + "qa_release_date": "2024-11-03", + "ship_date": null, + "delivery_date": "2024-12-10", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 37, + "seg_prodstart_to_prodfinish": 117, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 37, + "total_days": 197, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 94, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 112, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 70, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 39, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 52, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 14, + "direct_ship_pla": 23 + } + }, + "total_from_po": 197 + }, + { + "batch": "BATCH-767678", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-13", + "earliest_gr_date": "2024-07-15", + "earliest_production_start": "2024-07-29", + "fg_receipt_date": "2024-11-05", + "qa_release_date": "2024-11-09", + "ship_date": null, + "delivery_date": "2024-12-15", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 16, + "seg_prodstart_to_prodfinish": 99, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 36, + "total_days": 155, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 14, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 83, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 97, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 55, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 14, + "direct_ship_pla": 22 + } + }, + "total_from_po": 155 + }, + { + "batch": "BATCH-872783", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-25", + "earliest_gr_date": "2024-07-27", + "earliest_production_start": "2024-08-19", + "fg_receipt_date": "2024-11-08", + "qa_release_date": "2024-11-15", + "ship_date": null, + "delivery_date": "2024-12-20", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 81, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 35, + "total_days": 148, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 58, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 78, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 34, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 45, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "direct_ship_pla": 25 + } + }, + "total_from_po": 148 + }, + { + "batch": "BATCH-868247", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-20", + "earliest_gr_date": "2024-07-22", + "earliest_production_start": "2024-08-24", + "fg_receipt_date": "2024-11-10", + "qa_release_date": "2024-11-19", + "ship_date": null, + "delivery_date": "2024-12-26", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 78, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 37, + "total_days": 159, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 14, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 61, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 75, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 17, + "direct_ship_pla": 20 + } + }, + "total_from_po": 159 + }, + { + "batch": "BATCH-775611", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-22", + "earliest_gr_date": "2024-07-24", + "earliest_production_start": "2024-08-19", + "fg_receipt_date": "2024-11-22", + "qa_release_date": "2024-11-30", + "ship_date": null, + "delivery_date": "2024-12-31", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 95, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 31, + "total_days": 162, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 8, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 82, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 90, + "production_days": 8, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 64, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 74, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 68, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 16, + "direct_ship_pla": 15 + } + }, + "total_from_po": 162 + }, + { + "batch": "BATCH-544789", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-08", + "earliest_gr_date": "2024-07-10", + "earliest_production_start": "2024-08-05", + "fg_receipt_date": "2024-12-05", + "qa_release_date": "2024-12-12", + "ship_date": null, + "delivery_date": "2025-01-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 122, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 25, + "total_days": 182, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 24, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 94, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 118, + "production_days": 24, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 7, + "direct_ship_pla": 18 + } + }, + "total_from_po": 182 + }, + { + "batch": "BATCH-447665", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-14", + "earliest_gr_date": "2024-07-16", + "earliest_production_start": "2024-08-19", + "fg_receipt_date": "2024-12-05", + "qa_release_date": "2024-12-11", + "ship_date": null, + "delivery_date": "2025-01-11", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 36, + "seg_prodstart_to_prodfinish": 108, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 31, + "total_days": 181, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 24, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 81, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 24, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 63, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 16, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 63, + "production_days": 16, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 13, + "direct_ship_pla": 18 + } + }, + "total_from_po": 181 + }, + { + "batch": "BATCH-963613", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-24", + "earliest_gr_date": "2024-07-26", + "earliest_production_start": "2024-08-26", + "fg_receipt_date": "2024-12-12", + "qa_release_date": "2024-12-19", + "ship_date": null, + "delivery_date": "2025-01-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 108, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 29, + "total_days": 177, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 83, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 104, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 71, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "direct_ship_pla": 19 + } + }, + "total_from_po": 177 + }, + { + "batch": "BATCH-863299", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-08-05", + "earliest_gr_date": "2024-08-07", + "earliest_production_start": "2024-08-30", + "fg_receipt_date": "2024-12-21", + "qa_release_date": "2024-12-27", + "ship_date": null, + "delivery_date": "2025-01-22", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 26, + "total_days": 170, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 26, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 84, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 110, + "production_days": 26, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 69, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 14 + } + }, + "total_from_po": 170 + }, + { + "batch": "BATCH-528145", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-08-22", + "earliest_gr_date": "2024-08-24", + "earliest_production_start": "2024-09-11", + "fg_receipt_date": "2024-12-24", + "qa_release_date": "2024-12-30", + "ship_date": null, + "delivery_date": "2025-01-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 20, + "seg_prodstart_to_prodfinish": 104, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 29, + "total_days": 159, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 12, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 90, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 102, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 58, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 17 + } + }, + "total_from_po": 159 + }, + { + "batch": "BATCH-242499", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-08-17", + "earliest_gr_date": "2024-08-19", + "earliest_production_start": "2024-09-16", + "fg_receipt_date": "2024-12-26", + "qa_release_date": "2024-12-31", + "ship_date": null, + "delivery_date": "2025-02-02", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 101, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 33, + "total_days": 169, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 77, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 11, + "direct_ship_pla": 22 + } + }, + "total_from_po": 169 + }, + { + "batch": "BATCH-576635", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-29", + "earliest_gr_date": "2024-10-01", + "earliest_production_start": "2024-10-26", + "fg_receipt_date": "2024-12-31", + "qa_release_date": "2025-01-07", + "ship_date": null, + "delivery_date": "2025-02-08", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 27, + "seg_prodstart_to_prodfinish": 66, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 32, + "total_days": 132, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 47, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 64, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 57, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 8, + "direct_ship_pla": 24 + } + }, + "total_from_po": 132 + }, + { + "batch": "BATCH-221460", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-07-24", + "earliest_gr_date": "2024-07-26", + "earliest_production_start": "2024-08-28", + "fg_receipt_date": "2025-01-01", + "qa_release_date": "2025-01-08", + "ship_date": null, + "delivery_date": "2025-02-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 126, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 36, + "total_days": 204, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 99, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 120, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 66, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 78, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 6, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 13, + "direct_ship_pla": 23 + } + }, + "total_from_po": 204 + }, + { + "batch": "BATCH-666578", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-10", + "earliest_gr_date": "2024-09-12", + "earliest_production_start": "2024-10-06", + "fg_receipt_date": "2025-01-10", + "qa_release_date": "2025-01-18", + "ship_date": null, + "delivery_date": "2025-02-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 96, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 31, + "total_days": 161, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 11, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 82, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 63, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 9, + "direct_ship_pla": 22 + } + }, + "total_from_po": 161 + }, + { + "batch": "BATCH-208118", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-05", + "earliest_gr_date": "2024-09-07", + "earliest_production_start": "2024-10-19", + "fg_receipt_date": "2025-01-11", + "qa_release_date": "2025-01-19", + "ship_date": null, + "delivery_date": "2025-02-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 44, + "seg_prodstart_to_prodfinish": 84, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 36, + "total_days": 172, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 51, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 67, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 69, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 82, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 7, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 31, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 38, + "production_days": 7, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 15, + "direct_ship_pla": 21 + } + }, + "total_from_po": 172 + }, + { + "batch": "BATCH-458243", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-05", + "earliest_gr_date": "2024-09-07", + "earliest_production_start": "2024-10-04", + "fg_receipt_date": "2025-01-22", + "qa_release_date": "2025-01-29", + "ship_date": null, + "delivery_date": "2025-03-01", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 31, + "total_days": 177, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 106, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 69, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 9, + "direct_ship_pla": 22 + } + }, + "total_from_po": 177 + }, + { + "batch": "BATCH-207730", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-16", + "earliest_gr_date": "2024-09-18", + "earliest_production_start": "2024-10-14", + "fg_receipt_date": "2025-01-18", + "qa_release_date": "2025-01-22", + "ship_date": null, + "delivery_date": "2025-03-07", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 96, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 44, + "total_days": 172, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 77, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 92, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 74, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 8, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 68, + "production_days": 8, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 16, + "direct_ship_pla": 28 + } + }, + "total_from_po": 172 + }, + { + "batch": "BATCH-033995", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-08-27", + "earliest_gr_date": "2024-08-29", + "earliest_production_start": "2024-09-30", + "fg_receipt_date": "2025-01-22", + "qa_release_date": "2025-01-30", + "ship_date": null, + "delivery_date": "2025-03-12", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 34, + "seg_prodstart_to_prodfinish": 114, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 41, + "total_days": 197, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 93, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 111, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 18, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 70, + "production_days": 18, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 17, + "direct_ship_pla": 24 + } + }, + "total_from_po": 197 + }, + { + "batch": "BATCH-559161", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-10", + "earliest_gr_date": "2024-09-12", + "earliest_production_start": "2024-10-16", + "fg_receipt_date": "2025-02-14", + "qa_release_date": "2025-02-19", + "ship_date": null, + "delivery_date": "2025-03-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 36, + "seg_prodstart_to_prodfinish": 121, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 27, + "total_days": 189, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 99, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 117, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 73, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 15, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 15, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 10, + "direct_ship_pla": 17 + } + }, + "total_from_po": 189 + }, + { + "batch": "BATCH-043249", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-28", + "earliest_gr_date": "2024-09-30", + "earliest_production_start": "2024-10-27", + "fg_receipt_date": "2025-02-12", + "qa_release_date": "2025-02-15", + "ship_date": null, + "delivery_date": "2025-03-23", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 108, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 36, + "total_days": 176, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 86, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 36, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 50, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 12, + "direct_ship_pla": 24 + } + }, + "total_from_po": 176 + }, + { + "batch": "BATCH-876661", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-10-05", + "earliest_gr_date": "2024-10-07", + "earliest_production_start": "2024-11-06", + "fg_receipt_date": "2025-02-04", + "qa_release_date": "2025-02-11", + "ship_date": null, + "delivery_date": "2025-03-29", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 32, + "seg_prodstart_to_prodfinish": 90, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 46, + "total_days": 175, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 13, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 73, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 86, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 15, + "direct_ship_pla": 31 + } + }, + "total_from_po": 175 + }, + { + "batch": "BATCH-758211", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-09-24", + "earliest_gr_date": "2024-09-26", + "earliest_production_start": "2024-10-24", + "fg_receipt_date": "2025-02-22", + "qa_release_date": "2025-03-01", + "ship_date": null, + "delivery_date": "2025-04-03", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 121, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 33, + "total_days": 191, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 100, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 117, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "direct_ship_pla": 23 + } + }, + "total_from_po": 191 + }, + { + "batch": "BATCH-198568", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-10-07", + "earliest_gr_date": "2024-10-09", + "earliest_production_start": "2024-10-29", + "fg_receipt_date": "2025-02-21", + "qa_release_date": "2025-03-02", + "ship_date": null, + "delivery_date": "2025-04-09", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 22, + "seg_prodstart_to_prodfinish": 115, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 38, + "total_days": 184, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 89, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 110, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 64, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 79, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 78, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 91, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 13, + "direct_ship_pla": 25 + } + }, + "total_from_po": 184 + }, + { + "batch": "BATCH-499114", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-20", + "earliest_gr_date": "2024-11-22", + "earliest_production_start": "2024-12-17", + "fg_receipt_date": "2025-03-05", + "qa_release_date": "2025-03-14", + "ship_date": null, + "delivery_date": "2025-04-14", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 27, + "seg_prodstart_to_prodfinish": 78, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 31, + "total_days": 145, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 52, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 70, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 33, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 44, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 16, + "direct_ship_pla": 15 + } + }, + "total_from_po": 145 + }, + { + "batch": "BATCH-947566", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-10-15", + "earliest_gr_date": "2024-10-17", + "earliest_production_start": "2024-11-17", + "fg_receipt_date": "2025-03-07", + "qa_release_date": "2025-03-10", + "ship_date": null, + "delivery_date": "2025-04-19", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 40, + "total_days": 186, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 86, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 104, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 62, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 6, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 14, + "direct_ship_pla": 26 + } + }, + "total_from_po": 186 + }, + { + "batch": "BATCH-154390", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-10-25", + "earliest_gr_date": "2024-10-27", + "earliest_production_start": "2024-11-27", + "fg_receipt_date": "2025-03-10", + "qa_release_date": "2025-03-16", + "ship_date": null, + "delivery_date": "2025-04-25", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 103, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 40, + "total_days": 182, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 22, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 77, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 99, + "production_days": 22, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 67, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 82, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 44, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 57, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 28 + } + }, + "total_from_po": 182 + }, + { + "batch": "BATCH-557064", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-01", + "earliest_gr_date": "2024-12-03", + "earliest_production_start": "2025-01-02", + "fg_receipt_date": "2025-03-29", + "qa_release_date": "2025-04-05", + "ship_date": null, + "delivery_date": "2025-04-30", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 32, + "seg_prodstart_to_prodfinish": 86, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 25, + "total_days": 150, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 64, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 82, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 60, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 8, + "direct_ship_pla": 17 + } + }, + "total_from_po": 150 + }, + { + "batch": "BATCH-307333", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-17", + "earliest_gr_date": "2024-11-19", + "earliest_production_start": "2024-12-15", + "fg_receipt_date": "2025-03-27", + "qa_release_date": "2025-04-04", + "ship_date": null, + "delivery_date": "2025-05-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 102, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 32, + "total_days": 170, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 81, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 73, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 88, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 36, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 49, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 16, + "direct_ship_pla": 16 + } + }, + "total_from_po": 170 + }, + { + "batch": "BATCH-891817", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-02", + "earliest_gr_date": "2024-12-04", + "earliest_production_start": "2024-12-16", + "fg_receipt_date": "2025-03-30", + "qa_release_date": "2025-04-07", + "ship_date": null, + "delivery_date": "2025-05-11", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 14, + "seg_prodstart_to_prodfinish": 104, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 34, + "total_days": 160, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 82, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 100, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 62, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 65, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 76, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 9, + "direct_ship_pla": 25 + } + }, + "total_from_po": 160 + }, + { + "batch": "BATCH-852390", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-24", + "earliest_gr_date": "2024-11-26", + "earliest_production_start": "2024-12-29", + "fg_receipt_date": "2025-03-29", + "qa_release_date": "2025-04-06", + "ship_date": null, + "delivery_date": "2025-05-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 90, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 41, + "total_days": 174, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 70, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 86, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 37, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 52, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 14, + "direct_ship_pla": 27 + } + }, + "total_from_po": 174 + }, + { + "batch": "BATCH-412722", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-31", + "earliest_gr_date": "2025-01-02", + "earliest_production_start": "2025-01-21", + "fg_receipt_date": "2025-04-15", + "qa_release_date": "2025-04-20", + "ship_date": null, + "delivery_date": "2025-05-22", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 21, + "seg_prodstart_to_prodfinish": 84, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 32, + "total_days": 142, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 49, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 70, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 64, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 81, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 56, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 9, + "direct_ship_pla": 23 + } + }, + "total_from_po": 142 + }, + { + "batch": "BATCH-357156", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-08", + "earliest_gr_date": "2024-11-10", + "earliest_production_start": "2024-12-13", + "fg_receipt_date": "2025-04-05", + "qa_release_date": "2025-04-13", + "ship_date": null, + "delivery_date": "2025-05-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 45, + "total_days": 201, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 89, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 110, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 72, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 83, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 60, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 14, + "direct_ship_pla": 31 + } + }, + "total_from_po": 201 + }, + { + "batch": "BATCH-851698", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-04", + "earliest_gr_date": "2025-01-06", + "earliest_production_start": "2025-02-06", + "fg_receipt_date": "2025-04-22", + "qa_release_date": "2025-04-30", + "ship_date": null, + "delivery_date": "2025-06-02", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 75, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 33, + "total_days": 149, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 52, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 71, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 41, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 54, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 72, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 7, + "direct_ship_pla": 26 + } + }, + "total_from_po": 149 + }, + { + "batch": "BATCH-440021", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-29", + "earliest_gr_date": "2024-12-31", + "earliest_production_start": "2025-01-31", + "fg_receipt_date": "2025-05-05", + "qa_release_date": "2025-05-13", + "ship_date": null, + "delivery_date": "2025-06-08", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 94, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 26, + "total_days": 161, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 12, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 81, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 78, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 91, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 40, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 52, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 12, + "direct_ship_pla": 14 + } + }, + "total_from_po": 161 + }, + { + "batch": "BATCH-546123", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-12-20", + "earliest_gr_date": "2024-12-22", + "earliest_production_start": "2025-01-18", + "fg_receipt_date": "2025-05-08", + "qa_release_date": "2025-05-15", + "ship_date": null, + "delivery_date": "2025-06-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 29, + "total_days": 175, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 89, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 106, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 63, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 78, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 15, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 64, + "production_days": 15, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 11, + "direct_ship_pla": 18 + } + }, + "total_from_po": 175 + }, + { + "batch": "BATCH-990560", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2024-11-29", + "earliest_gr_date": "2024-12-01", + "earliest_production_start": "2025-01-08", + "fg_receipt_date": "2025-05-16", + "qa_release_date": "2025-05-24", + "ship_date": null, + "delivery_date": "2025-06-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 40, + "seg_prodstart_to_prodfinish": 128, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 25, + "total_days": 201, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 109, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 125, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 62, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 38, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 49, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 8, + "direct_ship_pla": 17 + } + }, + "total_from_po": 201 + }, + { + "batch": "BATCH-386297", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-03", + "earliest_gr_date": "2025-01-05", + "earliest_production_start": "2025-01-29", + "fg_receipt_date": "2025-05-19", + "qa_release_date": "2025-05-26", + "ship_date": null, + "delivery_date": "2025-06-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 29, + "total_days": 172, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 88, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 39, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 50, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 70, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 14, + "direct_ship_pla": 15 + } + }, + "total_from_po": 172 + }, + { + "batch": "BATCH-947389", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-21", + "earliest_gr_date": "2025-01-23", + "earliest_production_start": "2025-02-19", + "fg_receipt_date": "2025-05-31", + "qa_release_date": "2025-06-06", + "ship_date": null, + "delivery_date": "2025-06-29", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 101, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 23, + "total_days": 159, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 81, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 16, + "direct_ship_pla": 7 + } + }, + "total_from_po": 159 + }, + { + "batch": "BATCH-627234", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-26", + "earliest_gr_date": "2025-01-28", + "earliest_production_start": "2025-02-21", + "fg_receipt_date": "2025-05-29", + "qa_release_date": "2025-06-01", + "ship_date": null, + "delivery_date": "2025-07-05", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 34, + "total_days": 160, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 76, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 95, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 67, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 53, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 11, + "direct_ship_pla": 23 + } + }, + "total_from_po": 160 + }, + { + "batch": "BATCH-829707", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-14", + "earliest_gr_date": "2025-01-16", + "earliest_production_start": "2025-02-21", + "fg_receipt_date": "2025-06-01", + "qa_release_date": "2025-06-09", + "ship_date": null, + "delivery_date": "2025-07-10", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 38, + "seg_prodstart_to_prodfinish": 100, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 31, + "total_days": 177, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 80, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 97, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 63, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 30, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 42, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 9, + "direct_ship_pla": 22 + } + }, + "total_from_po": 177 + }, + { + "batch": "BATCH-404324", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-22", + "earliest_gr_date": "2025-02-24", + "earliest_production_start": "2025-03-24", + "fg_receipt_date": "2025-06-18", + "qa_release_date": "2025-06-27", + "ship_date": null, + "delivery_date": "2025-07-16", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 86, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 19, + "total_days": 144, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 65, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 83, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 69, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 9, + "direct_ship_pla": 10 + } + }, + "total_from_po": 144 + }, + { + "batch": "BATCH-840018", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-10", + "earliest_gr_date": "2025-02-12", + "earliest_production_start": "2025-03-15", + "fg_receipt_date": "2025-06-17", + "qa_release_date": "2025-06-21", + "ship_date": null, + "delivery_date": "2025-07-21", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 94, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 30, + "total_days": 161, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 90, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 64, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 77, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 16, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 69, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 85, + "production_days": 16, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 12, + "direct_ship_pla": 18 + } + }, + "total_from_po": 161 + }, + { + "batch": "BATCH-243511", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-01-11", + "earliest_gr_date": "2025-01-13", + "earliest_production_start": "2025-02-13", + "fg_receipt_date": "2025-06-13", + "qa_release_date": "2025-06-22", + "ship_date": null, + "delivery_date": "2025-07-27", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 120, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 35, + "total_days": 197, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 100, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 116, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 40, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 53, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 69, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 11, + "direct_ship_pla": 24 + } + }, + "total_from_po": 197 + }, + { + "batch": "BATCH-394495", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-07", + "earliest_gr_date": "2025-02-09", + "earliest_production_start": "2025-03-14", + "fg_receipt_date": "2025-06-24", + "qa_release_date": "2025-07-02", + "ship_date": null, + "delivery_date": "2025-08-01", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 102, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 30, + "total_days": 175, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 12, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 99, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 69, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 9, + "direct_ship_pla": 21 + } + }, + "total_from_po": 175 + }, + { + "batch": "BATCH-043032", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-15", + "earliest_gr_date": "2025-02-17", + "earliest_production_start": "2025-03-11", + "fg_receipt_date": "2025-06-29", + "qa_release_date": "2025-07-05", + "ship_date": null, + "delivery_date": "2025-08-07", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 24, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 33, + "total_days": 173, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 8, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 97, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 8, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 19, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 63, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 82, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 30, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 41, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 10, + "direct_ship_pla": 23 + } + }, + "total_from_po": 173 + }, + { + "batch": "BATCH-582158", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-26", + "earliest_gr_date": "2025-02-28", + "earliest_production_start": "2025-03-23", + "fg_receipt_date": "2025-06-28", + "qa_release_date": "2025-07-05", + "ship_date": null, + "delivery_date": "2025-08-12", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 38, + "total_days": 167, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 76, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 95, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 70, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 53, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 15, + "direct_ship_pla": 23 + } + }, + "total_from_po": 167 + }, + { + "batch": "BATCH-302264", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-03-30", + "earliest_gr_date": "2025-04-01", + "earliest_production_start": "2025-04-24", + "fg_receipt_date": "2025-07-16", + "qa_release_date": "2025-07-24", + "ship_date": null, + "delivery_date": "2025-08-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 83, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 24, + "total_days": 140, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 59, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 77, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 9, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 59, + "production_days": 9, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 63, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 6, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 16, + "direct_ship_pla": 8 + } + }, + "total_from_po": 140 + }, + { + "batch": "BATCH-240076", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-03-25", + "earliest_gr_date": "2025-03-27", + "earliest_production_start": "2025-04-09", + "fg_receipt_date": "2025-07-14", + "qa_release_date": "2025-07-21", + "ship_date": null, + "delivery_date": "2025-08-23", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 15, + "seg_prodstart_to_prodfinish": 96, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 33, + "total_days": 151, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 76, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 94, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 11, + "direct_ship_pla": 22 + } + }, + "total_from_po": 151 + }, + { + "batch": "BATCH-804779", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-20", + "earliest_gr_date": "2025-02-22", + "earliest_production_start": "2025-03-22", + "fg_receipt_date": "2025-07-05", + "qa_release_date": "2025-07-12", + "ship_date": null, + "delivery_date": "2025-08-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 105, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 47, + "total_days": 189, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 84, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 100, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 9, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 69, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 78, + "production_days": 9, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 12, + "direct_ship_pla": 35 + } + }, + "total_from_po": 189 + }, + { + "batch": "BATCH-731192", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-03-15", + "earliest_gr_date": "2025-03-17", + "earliest_production_start": "2025-04-23", + "fg_receipt_date": "2025-07-22", + "qa_release_date": "2025-07-27", + "ship_date": null, + "delivery_date": "2025-09-03", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 39, + "seg_prodstart_to_prodfinish": 90, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 38, + "total_days": 172, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 73, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 88, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 65, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 11, + "direct_ship_pla": 27 + } + }, + "total_from_po": 172 + }, + { + "batch": "BATCH-482639", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-02-21", + "earliest_gr_date": "2025-02-23", + "earliest_production_start": "2025-03-30", + "fg_receipt_date": "2025-07-17", + "qa_release_date": "2025-07-24", + "ship_date": null, + "delivery_date": "2025-09-08", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 37, + "seg_prodstart_to_prodfinish": 109, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 46, + "total_days": 199, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 59, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 19, + "direct_ship_pla": 27 + } + }, + "total_from_po": 199 + }, + { + "batch": "BATCH-062870", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-01", + "earliest_gr_date": "2025-04-03", + "earliest_production_start": "2025-05-04", + "fg_receipt_date": "2025-08-01", + "qa_release_date": "2025-08-07", + "ship_date": null, + "delivery_date": "2025-09-14", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 89, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 38, + "total_days": 166, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 67, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 87, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 63, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 67, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 26 + } + }, + "total_from_po": 166 + }, + { + "batch": "BATCH-231165", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-05", + "earliest_gr_date": "2025-05-07", + "earliest_production_start": "2025-06-09", + "fg_receipt_date": "2025-08-16", + "qa_release_date": "2025-08-22", + "ship_date": null, + "delivery_date": "2025-09-19", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 68, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 28, + "total_days": 137, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 43, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 63, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 62, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 64, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 14, + "direct_ship_pla": 14 + } + }, + "total_from_po": 137 + }, + { + "batch": "BATCH-213839", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-14", + "earliest_gr_date": "2025-04-16", + "earliest_production_start": "2025-05-04", + "fg_receipt_date": "2025-08-23", + "qa_release_date": "2025-08-27", + "ship_date": null, + "delivery_date": "2025-09-25", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 20, + "seg_prodstart_to_prodfinish": 111, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 29, + "total_days": 164, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 107, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 37, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 47, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 32, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 45, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 11, + "direct_ship_pla": 18 + } + }, + "total_from_po": 164 + }, + { + "batch": "BATCH-750018", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-11", + "earliest_gr_date": "2025-05-13", + "earliest_production_start": "2025-06-05", + "fg_receipt_date": "2025-08-31", + "qa_release_date": "2025-09-06", + "ship_date": null, + "delivery_date": "2025-09-30", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 87, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 24, + "total_days": 142, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 85, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 6, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 66, + "production_days": 6, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 7, + "direct_ship_pla": 17 + } + }, + "total_from_po": 142 + }, + { + "batch": "BATCH-880539", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-20", + "earliest_gr_date": "2025-04-22", + "earliest_production_start": "2025-05-26", + "fg_receipt_date": "2025-08-19", + "qa_release_date": "2025-08-26", + "ship_date": null, + "delivery_date": "2025-10-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 36, + "seg_prodstart_to_prodfinish": 85, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 41, + "total_days": 169, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 14, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 68, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 82, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 63, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 8, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 36, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 44, + "production_days": 8, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 13, + "direct_ship_pla": 28 + } + }, + "total_from_po": 169 + }, + { + "batch": "BATCH-155177", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-02", + "earliest_gr_date": "2025-05-04", + "earliest_production_start": "2025-06-18", + "fg_receipt_date": "2025-09-10", + "qa_release_date": "2025-09-16", + "ship_date": null, + "delivery_date": "2025-10-11", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 47, + "seg_prodstart_to_prodfinish": 84, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 25, + "total_days": 162, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 13, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 66, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 79, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 72, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 10, + "direct_ship_pla": 15 + } + }, + "total_from_po": 162 + }, + { + "batch": "BATCH-993261", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-29", + "earliest_gr_date": "2025-05-01", + "earliest_production_start": "2025-05-24", + "fg_receipt_date": "2025-08-30", + "qa_release_date": "2025-09-04", + "ship_date": null, + "delivery_date": "2025-10-16", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 98, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 42, + "total_days": 170, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 79, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 95, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 57, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 72, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 65, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 77, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 11, + "direct_ship_pla": 31 + } + }, + "total_from_po": 170 + }, + { + "batch": "BATCH-753433", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-27", + "earliest_gr_date": "2025-05-29", + "earliest_production_start": "2025-06-13", + "fg_receipt_date": "2025-09-23", + "qa_release_date": "2025-09-29", + "ship_date": null, + "delivery_date": "2025-10-22", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 17, + "seg_prodstart_to_prodfinish": 102, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 23, + "total_days": 148, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 11, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 87, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 41, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 50, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 8, + "direct_ship_pla": 15 + } + }, + "total_from_po": 148 + }, + { + "batch": "BATCH-476897", + "route": "direct", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-21", + "earliest_gr_date": "2025-04-23", + "earliest_production_start": "2025-05-24", + "fg_receipt_date": "2025-09-14", + "qa_release_date": "2025-09-20", + "ship_date": null, + "delivery_date": "2025-10-27", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 37, + "total_days": 189, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 93, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 109, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 74, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "direct_ship_pla": 25 + } + }, + "total_from_po": 189 + }, + { + "batch": "BATCH-521582", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-03-25", + "earliest_gr_date": "2025-03-27", + "earliest_production_start": "2025-04-09", + "fg_receipt_date": "2025-07-18", + "qa_release_date": "2025-07-27", + "ship_date": null, + "delivery_date": "2025-11-02", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 15, + "seg_prodstart_to_prodfinish": 100, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 98, + "total_days": 222, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 79, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 97, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 70, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 80, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 59, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 14, + "transit_pla_hub1": 43, + "dest_dwell_hub1": 41 + } + }, + "total_from_po": 222 + }, + { + "batch": "BATCH-281803", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-14", + "earliest_gr_date": "2025-04-16", + "earliest_production_start": "2025-05-07", + "fg_receipt_date": "2025-07-28", + "qa_release_date": "2025-08-01", + "ship_date": null, + "delivery_date": "2025-11-07", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 23, + "seg_prodstart_to_prodfinish": 82, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 98, + "total_days": 207, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 64, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 79, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 32, + "dest_dwell_hub1": 56 + } + }, + "total_from_po": 207 + }, + { + "batch": "BATCH-276962", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-05", + "earliest_gr_date": "2025-04-07", + "earliest_production_start": "2025-05-05", + "fg_receipt_date": "2025-08-17", + "qa_release_date": "2025-08-26", + "ship_date": null, + "delivery_date": "2025-11-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 104, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 79, + "total_days": 222, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 80, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 101, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 9, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 9, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 16, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 69, + "production_days": 16, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 12, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 38 + } + }, + "total_from_po": 222 + }, + { + "batch": "BATCH-217426", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-15", + "earliest_gr_date": "2025-04-17", + "earliest_production_start": "2025-05-16", + "fg_receipt_date": "2025-08-24", + "qa_release_date": "2025-09-03", + "ship_date": null, + "delivery_date": "2025-11-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 31, + "seg_prodstart_to_prodfinish": 100, + "seg_prodfinish_to_qa": 10, + "seg_qa_to_customer": 76, + "total_days": 217, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 25, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 72, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 97, + "production_days": 25, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 15, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 15, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 10, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 18, + "dest_dwell_hub1": 45 + } + }, + "total_from_po": 217 + }, + { + "batch": "BATCH-679445", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-01", + "earliest_gr_date": "2025-05-03", + "earliest_production_start": "2025-06-03", + "fg_receipt_date": "2025-08-19", + "qa_release_date": "2025-08-27", + "ship_date": null, + "delivery_date": "2025-11-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 77, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 89, + "total_days": 207, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 13, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 62, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 75, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 40, + "dest_dwell_hub1": 36 + } + }, + "total_from_po": 207 + }, + { + "batch": "BATCH-584703", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-19", + "earliest_gr_date": "2025-04-21", + "earliest_production_start": "2025-05-16", + "fg_receipt_date": "2025-09-06", + "qa_release_date": "2025-09-13", + "ship_date": null, + "delivery_date": "2025-11-29", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 27, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 77, + "total_days": 224, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 92, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 60, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 57, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 19, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 29 + } + }, + "total_from_po": 224 + }, + { + "batch": "BATCH-320907", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-03", + "earliest_gr_date": "2025-05-05", + "earliest_production_start": "2025-06-01", + "fg_receipt_date": "2025-08-12", + "qa_release_date": "2025-08-21", + "ship_date": null, + "delivery_date": "2025-12-05", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 72, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 106, + "total_days": 216, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 54, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 69, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 9, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 65, + "production_days": 9, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 17, + "transit_pla_hub1": 42, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 216 + }, + { + "batch": "BATCH-469894", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-04-09", + "earliest_gr_date": "2025-04-11", + "earliest_production_start": "2025-05-12", + "fg_receipt_date": "2025-08-29", + "qa_release_date": "2025-09-05", + "ship_date": null, + "delivery_date": "2025-12-10", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 33, + "seg_prodstart_to_prodfinish": 109, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 96, + "total_days": 245, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 89, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 105, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 71, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 45, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 56, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 38, + "dest_dwell_hub1": 48 + } + }, + "total_from_po": 245 + }, + { + "batch": "BATCH-119167", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-10", + "earliest_gr_date": "2025-05-12", + "earliest_production_start": "2025-05-30", + "fg_receipt_date": "2025-09-19", + "qa_release_date": "2025-09-26", + "ship_date": null, + "delivery_date": "2025-12-15", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 20, + "seg_prodstart_to_prodfinish": 112, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 80, + "total_days": 219, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 13, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 95, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 74, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 44 + } + }, + "total_from_po": 219 + }, + { + "batch": "BATCH-850977", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-17", + "earliest_gr_date": "2025-05-19", + "earliest_production_start": "2025-06-14", + "fg_receipt_date": "2025-09-25", + "qa_release_date": "2025-10-01", + "ship_date": null, + "delivery_date": "2025-12-21", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 103, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 81, + "total_days": 218, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 82, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 99, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 32, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 42, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 59, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 39 + } + }, + "total_from_po": 218 + }, + { + "batch": "BATCH-315004", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-21", + "earliest_gr_date": "2025-06-23", + "earliest_production_start": "2025-07-27", + "fg_receipt_date": "2025-10-06", + "qa_release_date": "2025-10-14", + "ship_date": null, + "delivery_date": "2025-12-26", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 36, + "seg_prodstart_to_prodfinish": 71, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 73, + "total_days": 188, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 14, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 49, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 63, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 67, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 40, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 54, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 22, + "dest_dwell_hub1": 38 + } + }, + "total_from_po": 188 + }, + { + "batch": "BATCH-753733", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-04", + "earliest_gr_date": "2025-06-06", + "earliest_production_start": "2025-07-04", + "fg_receipt_date": "2025-09-25", + "qa_release_date": "2025-09-28", + "ship_date": null, + "delivery_date": "2026-01-01", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 83, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 95, + "total_days": 211, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 64, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 80, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 67, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 81, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 15, + "transit_pla_hub1": 28, + "dest_dwell_hub1": 52 + } + }, + "total_from_po": 211 + }, + { + "batch": "BATCH-006984", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-29", + "earliest_gr_date": "2025-05-31", + "earliest_production_start": "2025-06-15", + "fg_receipt_date": "2025-09-20", + "qa_release_date": "2025-09-27", + "ship_date": null, + "delivery_date": "2026-01-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 17, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 101, + "total_days": 222, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 25, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 94, + "production_days": 25, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 31, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 45, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 62, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 75, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 42, + "dest_dwell_hub1": 49 + } + }, + "total_from_po": 222 + }, + { + "batch": "BATCH-962763", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-04", + "earliest_gr_date": "2025-06-06", + "earliest_production_start": "2025-07-06", + "fg_receipt_date": "2025-10-26", + "qa_release_date": "2025-11-02", + "ship_date": null, + "delivery_date": "2026-01-12", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 32, + "seg_prodstart_to_prodfinish": 112, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 71, + "total_days": 222, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 92, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 69, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 15, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 15, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 35 + } + }, + "total_from_po": 222 + }, + { + "batch": "BATCH-885445", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-04", + "earliest_gr_date": "2025-06-06", + "earliest_production_start": "2025-06-29", + "fg_receipt_date": "2025-10-03", + "qa_release_date": "2025-10-04", + "ship_date": null, + "delivery_date": "2026-01-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 25, + "seg_prodstart_to_prodfinish": 96, + "seg_prodfinish_to_qa": 1, + "seg_qa_to_customer": 105, + "total_days": 227, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 78, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 10, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 10, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 71, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 1, + "post_qa_ship_pla": 17, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 63 + } + }, + "total_from_po": 227 + }, + { + "batch": "BATCH-622159", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-05-31", + "earliest_gr_date": "2025-06-02", + "earliest_production_start": "2025-06-26", + "fg_receipt_date": "2025-10-17", + "qa_release_date": "2025-10-23", + "ship_date": null, + "delivery_date": "2026-01-23", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 92, + "total_days": 237, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 91, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 111, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 62, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 78, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 60, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 70, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 17, + "transit_pla_hub1": 28, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 237 + }, + { + "batch": "BATCH-990714", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-03", + "earliest_gr_date": "2025-06-05", + "earliest_production_start": "2025-07-02", + "fg_receipt_date": "2025-10-14", + "qa_release_date": "2025-10-18", + "ship_date": null, + "delivery_date": "2026-01-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 104, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 102, + "total_days": 239, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 84, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 100, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 55, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 15, + "transit_pla_hub1": 39, + "dest_dwell_hub1": 48 + } + }, + "total_from_po": 239 + }, + { + "batch": "BATCH-479016", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-14", + "earliest_gr_date": "2025-06-16", + "earliest_production_start": "2025-07-18", + "fg_receipt_date": "2025-11-13", + "qa_release_date": "2025-11-19", + "ship_date": null, + "delivery_date": "2026-02-03", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 34, + "seg_prodstart_to_prodfinish": 118, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 76, + "total_days": 234, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 96, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 114, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 52, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 64, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 12, + "transit_pla_hub1": 30, + "dest_dwell_hub1": 34 + } + }, + "total_from_po": 234 + }, + { + "batch": "BATCH-080863", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-26", + "earliest_gr_date": "2025-06-28", + "earliest_production_start": "2025-07-18", + "fg_receipt_date": "2025-11-08", + "qa_release_date": "2025-11-12", + "ship_date": null, + "delivery_date": "2026-02-08", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 22, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 88, + "total_days": 227, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 86, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 107, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 66, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 80, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 8, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 43, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 51, + "production_days": 8, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 6, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 28, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 227 + }, + { + "batch": "BATCH-910231", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-07-05", + "earliest_gr_date": "2025-07-07", + "earliest_production_start": "2025-08-11", + "fg_receipt_date": "2025-11-08", + "qa_release_date": "2025-11-16", + "ship_date": null, + "delivery_date": "2026-02-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 37, + "seg_prodstart_to_prodfinish": 89, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 89, + "total_days": 223, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 69, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 84, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 75, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 86, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 66, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 80, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 223 + }, + { + "batch": "BATCH-997425", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-07", + "earliest_gr_date": "2025-08-09", + "earliest_production_start": "2025-09-06", + "fg_receipt_date": "2025-12-04", + "qa_release_date": "2025-12-12", + "ship_date": null, + "delivery_date": "2026-02-19", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 89, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 69, + "total_days": 196, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 70, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 86, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 70, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 24, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 37, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 8, + "transit_pla_hub1": 31, + "dest_dwell_hub1": 30 + } + }, + "total_from_po": 196 + }, + { + "batch": "BATCH-618940", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-06-19", + "earliest_gr_date": "2025-06-21", + "earliest_production_start": "2025-07-27", + "fg_receipt_date": "2025-11-29", + "qa_release_date": "2025-12-02", + "ship_date": null, + "delivery_date": "2026-02-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 38, + "seg_prodstart_to_prodfinish": 125, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 84, + "total_days": 250, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 104, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 121, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 51, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 34, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 43, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 32, + "dest_dwell_hub1": 42 + } + }, + "total_from_po": 250 + }, + { + "batch": "BATCH-029240", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-07-14", + "earliest_gr_date": "2025-07-16", + "earliest_production_start": "2025-08-02", + "fg_receipt_date": "2025-11-19", + "qa_release_date": "2025-11-25", + "ship_date": null, + "delivery_date": "2026-03-02", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 19, + "seg_prodstart_to_prodfinish": 109, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 97, + "total_days": 231, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 83, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 104, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 77, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 88, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 15, + "transit_pla_hub1": 44, + "dest_dwell_hub1": 38 + } + }, + "total_from_po": 231 + }, + { + "batch": "BATCH-013796", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-17", + "earliest_gr_date": "2025-08-19", + "earliest_production_start": "2025-09-24", + "fg_receipt_date": "2026-01-04", + "qa_release_date": "2026-01-13", + "ship_date": null, + "delivery_date": "2026-03-07", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 38, + "seg_prodstart_to_prodfinish": 102, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 53, + "total_days": 202, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 78, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 65, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 27, + "dest_dwell_hub1": 15 + } + }, + "total_from_po": 202 + }, + { + "batch": "BATCH-563928", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-17", + "earliest_gr_date": "2025-08-19", + "earliest_production_start": "2025-09-16", + "fg_receipt_date": "2025-12-08", + "qa_release_date": "2025-12-11", + "ship_date": null, + "delivery_date": "2026-03-13", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 83, + "seg_prodfinish_to_qa": 3, + "seg_qa_to_customer": 92, + "total_days": 208, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 66, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 81, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 38, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 51, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 3, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 28, + "dest_dwell_hub1": 54 + } + }, + "total_from_po": 208 + }, + { + "batch": "BATCH-263609", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-15", + "earliest_gr_date": "2025-08-17", + "earliest_production_start": "2025-09-12", + "fg_receipt_date": "2026-01-03", + "qa_release_date": "2026-01-10", + "ship_date": null, + "delivery_date": "2026-03-18", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 7, + "seg_qa_to_customer": 67, + "total_days": 215, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 26, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 83, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 109, + "production_days": 26, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 20, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 74, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 57, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 7, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 15, + "dest_dwell_hub1": 42 + } + }, + "total_from_po": 215 + }, + { + "batch": "BATCH-786903", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-30", + "earliest_gr_date": "2025-09-01", + "earliest_production_start": "2025-09-23", + "fg_receipt_date": "2026-01-22", + "qa_release_date": "2026-01-28", + "ship_date": null, + "delivery_date": "2026-03-24", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 24, + "seg_prodstart_to_prodfinish": 121, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 55, + "total_days": 206, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 103, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 118, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 11, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 11, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 17, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 56, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 73, + "production_days": 17, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 9, + "transit_pla_hub1": 17, + "dest_dwell_hub1": 29 + } + }, + "total_from_po": 206 + }, + { + "batch": "BATCH-676932", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-15", + "earliest_gr_date": "2025-08-17", + "earliest_production_start": "2025-09-13", + "fg_receipt_date": "2025-12-19", + "qa_release_date": "2025-12-25", + "ship_date": null, + "delivery_date": "2026-03-29", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 29, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 94, + "total_days": 226, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 73, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 16, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 35, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 51, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 59, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 9, + "transit_pla_hub1": 38, + "dest_dwell_hub1": 47 + } + }, + "total_from_po": 226 + }, + { + "batch": "BATCH-341567", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-10", + "earliest_gr_date": "2025-08-12", + "earliest_production_start": "2025-09-05", + "fg_receipt_date": "2025-12-27", + "qa_release_date": "2026-01-01", + "ship_date": null, + "delivery_date": "2026-04-04", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 26, + "seg_prodstart_to_prodfinish": 113, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 93, + "total_days": 237, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 88, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 109, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 62, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 76, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 42, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 53, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 14, + "transit_pla_hub1": 23, + "dest_dwell_hub1": 56 + } + }, + "total_from_po": 237 + }, + { + "batch": "BATCH-162748", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-08-25", + "earliest_gr_date": "2025-08-27", + "earliest_production_start": "2025-09-24", + "fg_receipt_date": "2026-01-03", + "qa_release_date": "2026-01-09", + "ship_date": null, + "delivery_date": "2026-04-09", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 101, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 90, + "total_days": 227, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 80, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 98, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 68, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 33, + "dest_dwell_hub1": 46 + } + }, + "total_from_po": 227 + }, + { + "batch": "BATCH-322485", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-08", + "earliest_gr_date": "2025-10-10", + "earliest_production_start": "2025-10-27", + "fg_receipt_date": "2026-02-01", + "qa_release_date": "2026-02-10", + "ship_date": null, + "delivery_date": "2026-04-14", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 19, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 9, + "seg_qa_to_customer": 63, + "total_days": 188, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 76, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 50, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 64, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 10, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 38, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 48, + "production_days": 10, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 9, + "post_qa_ship_pla": 11, + "transit_pla_hub1": 36, + "dest_dwell_hub1": 16 + } + }, + "total_from_po": 188 + }, + { + "batch": "BATCH-780123", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-02", + "earliest_gr_date": "2025-09-04", + "earliest_production_start": "2025-10-02", + "fg_receipt_date": "2026-01-31", + "qa_release_date": "2026-02-08", + "ship_date": null, + "delivery_date": "2026-04-20", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 30, + "seg_prodstart_to_prodfinish": 121, + "seg_prodfinish_to_qa": 8, + "seg_qa_to_customer": 71, + "total_days": 230, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 101, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 118, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 55, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 67, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 71, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 3, + "prod_to_qa_pla": 8, + "post_qa_ship_pla": 6, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 40 + } + }, + "total_from_po": 230 + }, + { + "batch": "BATCH-219665", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-06", + "earliest_gr_date": "2025-10-08", + "earliest_production_start": "2025-10-22", + "fg_receipt_date": "2026-02-09", + "qa_release_date": "2026-02-15", + "ship_date": null, + "delivery_date": "2026-04-25", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 16, + "seg_prodstart_to_prodfinish": 110, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 69, + "total_days": 201, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 20, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 88, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 20, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 37, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 52, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 61, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 2, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 4, + "transit_pla_hub1": 25, + "dest_dwell_hub1": 40 + } + }, + "total_from_po": 201 + }, + { + "batch": "BATCH-254225", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-08", + "earliest_gr_date": "2025-09-10", + "earliest_production_start": "2025-09-30", + "fg_receipt_date": "2026-01-28", + "qa_release_date": "2026-02-03", + "ship_date": null, + "delivery_date": "2026-05-01", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 22, + "seg_prodstart_to_prodfinish": 120, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 87, + "total_days": 235, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 18, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 97, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 115, + "production_days": 18, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 54, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 66, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 61, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 73, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 5, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 29, + "dest_dwell_hub1": 45 + } + }, + "total_from_po": 235 + }, + { + "batch": "BATCH-311884", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-12", + "earliest_gr_date": "2025-09-14", + "earliest_production_start": "2025-10-10", + "fg_receipt_date": "2026-01-29", + "qa_release_date": "2026-02-04", + "ship_date": null, + "delivery_date": "2026-05-06", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 28, + "seg_prodstart_to_prodfinish": 111, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 91, + "total_days": 236, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 86, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 107, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 14, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 59, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 73, + "production_days": 14, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 13, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 66, + "production_days": 13, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 6, + "transit_pla_hub1": 40, + "dest_dwell_hub1": 45 + } + }, + "total_from_po": 236 + }, + { + "batch": "BATCH-534136", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-26", + "earliest_gr_date": "2025-09-28", + "earliest_production_start": "2025-11-08", + "fg_receipt_date": "2026-02-10", + "qa_release_date": "2026-02-15", + "ship_date": null, + "delivery_date": "2026-05-12", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 43, + "seg_prodstart_to_prodfinish": 94, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 86, + "total_days": 228, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 16, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 74, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 90, + "production_days": 16, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 12, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 49, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 61, + "production_days": 12, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 31, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 40, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 12, + "transit_pla_hub1": 30, + "dest_dwell_hub1": 44 + } + }, + "total_from_po": 228 + }, + { + "batch": "BATCH-718060", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-09-29", + "earliest_gr_date": "2025-10-01", + "earliest_production_start": "2025-11-09", + "fg_receipt_date": "2026-02-24", + "qa_release_date": "2026-02-28", + "ship_date": null, + "delivery_date": "2026-05-17", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 41, + "seg_prodstart_to_prodfinish": 107, + "seg_prodfinish_to_qa": 4, + "seg_qa_to_customer": 78, + "total_days": 230, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 15, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 88, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 103, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 19, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 48, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 67, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 12, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 41, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 53, + "production_days": 12, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 4, + "post_qa_ship_pla": 10, + "transit_pla_hub1": 14, + "dest_dwell_hub1": 54 + } + }, + "total_from_po": 230 + }, + { + "batch": "BATCH-802602", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-12", + "earliest_gr_date": "2025-10-14", + "earliest_production_start": "2025-11-04", + "fg_receipt_date": "2026-02-09", + "qa_release_date": "2026-02-15", + "ship_date": null, + "delivery_date": "2026-05-23", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 23, + "seg_prodstart_to_prodfinish": 97, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 97, + "total_days": 223, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 19, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 74, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 93, + "production_days": 19, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 13, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 46, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 59, + "production_days": 13, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 14, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 34, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 48, + "production_days": 14, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 7, + "transit_pla_hub1": 39, + "dest_dwell_hub1": 51 + } + }, + "total_from_po": 223 + }, + { + "batch": "BATCH-136204", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-05", + "earliest_gr_date": "2025-10-07", + "earliest_production_start": "2025-11-05", + "fg_receipt_date": "2026-02-25", + "qa_release_date": "2026-03-03", + "ship_date": null, + "delivery_date": "2026-05-28", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 31, + "seg_prodstart_to_prodfinish": 112, + "seg_prodfinish_to_qa": 6, + "seg_qa_to_customer": 86, + "total_days": 235, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 17, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 91, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 108, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 17, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 58, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 75, + "production_days": 17, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 11, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 47, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 58, + "production_days": 11, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 6, + "post_qa_ship_pla": 14, + "transit_pla_hub1": 53, + "dest_dwell_hub1": 19 + } + }, + "total_from_po": 235 + }, + { + "batch": "BATCH-949254", + "route": "hub-1", + "n_traced_materials": 6, + "earliest_po_date": "2025-10-14", + "earliest_gr_date": "2025-10-16", + "earliest_production_start": "2025-11-18", + "fg_receipt_date": "2026-02-19", + "qa_release_date": "2026-02-24", + "ship_date": null, + "delivery_date": "2026-06-03", + "delivery_source": "synthetic (demo)", + "seg_proc_to_prodstart": 35, + "seg_prodstart_to_prodfinish": 93, + "seg_prodfinish_to_qa": 5, + "seg_qa_to_customer": 99, + "total_days": 232, + "step_contributions": { + "upstream_chains": [ + { + "chain_id": "chain_0", + "steps": [ + { + "step_id": "prod_duration_green_blend", + "duration": 21, + "type": "production", + "material": "green_blend" + }, + { + "step_id": "intermed_dwell_green_blend", + "duration": 67, + "type": "intermediate_dwell", + "material": "green_blend" + } + ], + "total_days": 88, + "production_days": 21, + "earliest_event_date": null + }, + { + "chain_id": "chain_1", + "steps": [ + { + "step_id": "prod_duration_intermediate_beta", + "duration": 15, + "type": "production", + "material": "intermediate_beta" + }, + { + "step_id": "intermed_dwell_intermediate_beta", + "duration": 74, + "type": "intermediate_dwell", + "material": "intermediate_beta" + } + ], + "total_days": 89, + "production_days": 15, + "earliest_event_date": null + }, + { + "chain_id": "chain_2", + "steps": [ + { + "step_id": "prod_duration_intermediate_gamma", + "duration": 9, + "type": "production", + "material": "intermediate_gamma" + }, + { + "step_id": "intermed_dwell_intermediate_gamma", + "duration": 53, + "type": "intermediate_dwell", + "material": "intermediate_gamma" + } + ], + "total_days": 62, + "production_days": 9, + "earliest_event_date": null + } + ], + "post_production": { + "prod_duration_harbor_dark_roast": 4, + "prod_to_qa_pla": 5, + "post_qa_ship_pla": 13, + "transit_pla_hub1": 31, + "dest_dwell_hub1": 55 + } + }, + "total_from_po": 232 + } + ], + "segments": { + "seg_proc_to_prodstart": { + "label": "Procurement \u2192 Production Start", + "mean": 29.3, + "median": 30, + "p25": 25, + "p75": 34, + "n": 100 + }, + "seg_prodstart_to_prodfinish": { + "label": "Production Start \u2192 Production Finish", + "mean": 100.7, + "median": 102, + "p25": 90, + "p75": 112, + "n": 100 + }, + "seg_prodfinish_to_qa": { + "label": "Production Finish \u2192 QA Release", + "mean": 6.5, + "median": 7, + "p25": 6, + "p75": 8, + "n": 100 + }, + "seg_qa_to_customer": { + "label": "QA Release \u2192 Customer", + "mean": 53.8, + "median": 40, + "p25": 31, + "p75": 81, + "n": 100 + }, + "total_days": { + "label": "Total (GR to Delivery)", + "mean": 190.3, + "median": 188, + "p25": 167, + "p75": 222, + "n": 100 + } + }, + "per_route": { + "direct": { + "label": "Direct to customer", + "segments": { + "seg_proc_to_prodstart": { + "label": "Procurement \u2192 Production Start", + "mean": 29.9, + "median": 30, + "p25": 26, + "p75": 35, + "n": 60 + }, + "seg_prodstart_to_prodfinish": { + "label": "Production Start \u2192 Production Finish", + "mean": 99.8, + "median": 101, + "p25": 90, + "p75": 110, + "n": 60 + }, + "seg_prodfinish_to_qa": { + "label": "Production Finish \u2192 QA Release", + "mean": 6.6, + "median": 7, + "p25": 6, + "p75": 8, + "n": 60 + }, + "seg_qa_to_customer": { + "label": "QA Release \u2192 Customer", + "mean": 33.2, + "median": 33, + "p25": 29, + "p75": 38, + "n": 60 + }, + "total_days": { + "label": "Total (GR to Delivery)", + "mean": 169.5, + "median": 170, + "p25": 159, + "p75": 182, + "n": 60 + } + } + }, + "hub-1": { + "label": "HUB-1", + "segments": { + "seg_proc_to_prodstart": { + "label": "Procurement \u2192 Production Start", + "mean": 28.4, + "median": 29, + "p25": 24, + "p75": 33, + "n": 40 + }, + "seg_prodstart_to_prodfinish": { + "label": "Production Start \u2192 Production Finish", + "mean": 102.1, + "median": 104, + "p25": 96, + "p75": 113, + "n": 40 + }, + "seg_prodfinish_to_qa": { + "label": "Production Finish \u2192 QA Release", + "mean": 6.2, + "median": 6, + "p25": 5, + "p75": 8, + "n": 40 + }, + "seg_qa_to_customer": { + "label": "QA Release \u2192 Customer", + "mean": 84.8, + "median": 88, + "p25": 76, + "p75": 96, + "n": 40 + }, + "total_days": { + "label": "Total (GR to Delivery)", + "mean": 221.6, + "median": 223, + "p25": 215, + "p75": 232, + "n": 40 + } + } + } + }, + "coverage": { + "traced": 100, + "total": 100 + } + }, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/dest_dwell_hub1.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/dest_dwell_hub1.json new file mode 100644 index 00000000000..7a83ca03023 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/dest_dwell_hub1.json @@ -0,0 +1,815 @@ +{ + "id": "dest_dwell_hub1", + "label": "Destination Dwell (HUB-1)", + "type": "destination_dwell", + "durations": [ + 49.6, 76.7, 33, 112.1, 41.3, 11.8, 92, 64.9, 49.6, 37.8, 46, 49.6, 54.3, + 57.8, 62.5, 67.3, 56.6, 61.4, 40.1, 56.6, 35.4, 40.1, 42.5, 48.4, 50.7, + 42.5, 46, 49.6, 54.3, 57.8, 62.5, 53.1, 56.6, 61.4, 51.9, 56.6, 35.4 + ], + "observations": [ + { + "date": "2022-09-15", + "value": 49.6 + }, + { + "date": "2023-05-05", + "value": 76.7 + }, + { + "date": "2023-05-20", + "value": 33 + }, + { + "date": "2024-01-10", + "value": 112.1 + }, + { + "date": "2024-01-25", + "value": 41.3 + }, + { + "date": "2024-08-15", + "value": 11.8 + }, + { + "date": "2025-02-05", + "value": 92 + }, + { + "date": "2025-02-18", + "value": 64.9 + }, + { + "date": "2025-08-10", + "value": 49.6 + }, + { + "date": "2025-08-20", + "value": 37.8 + }, + { + "date": "2025-09-06", + "value": 46 + }, + { + "date": "2025-09-12", + "value": 49.6 + }, + { + "date": "2025-09-18", + "value": 54.3 + }, + { + "date": "2025-10-04", + "value": 57.8 + }, + { + "date": "2025-10-10", + "value": 62.5 + }, + { + "date": "2025-10-16", + "value": 67.3 + }, + { + "date": "2025-11-05", + "value": 56.6 + }, + { + "date": "2025-11-11", + "value": 61.4 + }, + { + "date": "2025-11-17", + "value": 40.1 + }, + { + "date": "2025-12-06", + "value": 56.6 + }, + { + "date": "2025-12-12", + "value": 35.4 + }, + { + "date": "2025-12-18", + "value": 40.1 + }, + { + "date": "2026-01-04", + "value": 42.5 + }, + { + "date": "2026-01-10", + "value": 48.4 + }, + { + "date": "2026-01-16", + "value": 50.7 + }, + { + "date": "2026-02-05", + "value": 42.5 + }, + { + "date": "2026-02-11", + "value": 46 + }, + { + "date": "2026-02-17", + "value": 49.6 + }, + { + "date": "2026-03-06", + "value": 54.3 + }, + { + "date": "2026-03-12", + "value": 57.8 + }, + { + "date": "2026-03-18", + "value": 62.5 + }, + { + "date": "2026-04-04", + "value": 53.1 + }, + { + "date": "2026-04-10", + "value": 56.6 + }, + { + "date": "2026-04-16", + "value": 61.4 + }, + { + "date": "2026-05-05", + "value": 51.9 + }, + { + "date": "2026-05-11", + "value": 56.6 + }, + { + "date": "2026-05-17", + "value": 35.4 + } + ], + "monthly": [ + { + "month": "2022-09", + "mean": 49.6, + "median": 49.6, + "p10": 49.6, + "p25": 49.6, + "p75": 49.6, + "p90": 49.6, + "n": 1, + "total_kg_days": 201600 + }, + { + "month": "2023-05", + "mean": 54.9, + "median": 54.9, + "p10": 37.4, + "p25": 44, + "p75": 65.8, + "p90": 72.3, + "n": 2, + "total_kg_days": 446400 + }, + { + "month": "2024-01", + "mean": 76.7, + "median": 76.7, + "p10": 48.4, + "p25": 59, + "p75": 94.4, + "p90": 105, + "n": 2, + "total_kg_days": 624000 + }, + { + "month": "2024-08", + "mean": 11.8, + "median": 11.8, + "p10": 11.8, + "p25": 11.8, + "p75": 11.8, + "p90": 11.8, + "n": 1, + "total_kg_days": 48000 + }, + { + "month": "2025-02", + "mean": 78.5, + "median": 78.5, + "p10": 67.6, + "p25": 71.7, + "p75": 85.3, + "p90": 89.3, + "n": 2, + "total_kg_days": 638400 + }, + { + "month": "2025-08", + "mean": 43.7, + "median": 43.7, + "p10": 38.9, + "p25": 40.7, + "p75": 46.6, + "p90": 48.4, + "n": 2, + "total_kg_days": 355200 + }, + { + "month": "2025-09", + "mean": 49.9, + "median": 49.6, + "p10": 46.7, + "p25": 47.8, + "p75": 51.9, + "p90": 53.3, + "n": 3, + "total_kg_days": 609600 + }, + { + "month": "2025-10", + "mean": 62.5, + "median": 62.5, + "p10": 58.8, + "p25": 60.2, + "p75": 64.9, + "p90": 66.3, + "n": 3, + "total_kg_days": 763200 + }, + { + "month": "2025-11", + "mean": 52.7, + "median": 56.6, + "p10": 43.4, + "p25": 48.4, + "p75": 59, + "p90": 60.4, + "n": 3, + "total_kg_days": 643200 + }, + { + "month": "2025-12", + "mean": 44, + "median": 40.1, + "p10": 36.3, + "p25": 37.8, + "p75": 48.4, + "p90": 53.3, + "n": 3, + "total_kg_days": 537600 + }, + { + "month": "2026-01", + "mean": 47.2, + "median": 48.4, + "p10": 43.7, + "p25": 45.4, + "p75": 49.6, + "p90": 50.3, + "n": 3, + "total_kg_days": 576000 + }, + { + "month": "2026-02", + "mean": 46, + "median": 46, + "p10": 43.2, + "p25": 44.2, + "p75": 47.8, + "p90": 48.9, + "n": 3, + "total_kg_days": 561600 + }, + { + "month": "2026-03", + "mean": 58.2, + "median": 57.8, + "p10": 55, + "p25": 56, + "p75": 60.2, + "p90": 61.6, + "n": 3, + "total_kg_days": 710400 + }, + { + "month": "2026-04", + "mean": 57, + "median": 56.6, + "p10": 53.8, + "p25": 54.9, + "p75": 59, + "p90": 60.4, + "n": 3, + "total_kg_days": 696000 + }, + { + "month": "2026-05", + "mean": 48, + "median": 51.9, + "p10": 38.7, + "p25": 43.7, + "p75": 54.3, + "p90": 55.7, + "n": 3, + "total_kg_days": 585600 + } + ], + "stats": { + "n": 37, + "mean": 53.1, + "median": 51.9, + "std": 14, + "min": 11.8, + "max": 112.1, + "p25": 42.5, + "p75": 57.8, + "p85": 62.5, + "p95": 76.7 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "annotations": [], + "cost": { + "unit_price": 33.63, + "currency": "CHF", + "mean_qty": 4800, + "monthly": [ + { + "month": "2022-09", + "n_events": 1, + "total_kg_days": 201600 + }, + { + "month": "2023-05", + "n_events": 2, + "total_kg_days": 446400 + }, + { + "month": "2024-01", + "n_events": 2, + "total_kg_days": 624000 + }, + { + "month": "2024-08", + "n_events": 1, + "total_kg_days": 48000 + }, + { + "month": "2025-02", + "n_events": 2, + "total_kg_days": 638400 + }, + { + "month": "2025-08", + "n_events": 2, + "total_kg_days": 355200 + }, + { + "month": "2025-09", + "n_events": 3, + "total_kg_days": 609600 + }, + { + "month": "2025-10", + "n_events": 3, + "total_kg_days": 763200 + }, + { + "month": "2025-11", + "n_events": 3, + "total_kg_days": 643200 + }, + { + "month": "2025-12", + "n_events": 3, + "total_kg_days": 537600 + }, + { + "month": "2026-01", + "n_events": 3, + "total_kg_days": 576000 + }, + { + "month": "2026-02", + "n_events": 3, + "total_kg_days": 561600 + }, + { + "month": "2026-03", + "n_events": 3, + "total_kg_days": 710400 + }, + { + "month": "2026-04", + "n_events": 3, + "total_kg_days": 696000 + }, + { + "month": "2026-05", + "n_events": 3, + "total_kg_days": 585600 + } + ] + }, + "detail_rows": { + "columns": [ + { + "key": "batch", + "source_field": "CHARG", + "source_table": "MSEG", + "label": "Batch" + }, + { + "key": "consumption_date", + "source_field": "BUDAT", + "source_table": "MKPF", + "label": "Consumption Date" + }, + { + "key": "dwell_days", + "source_field": null, + "source_table": null, + "label": "Dwell Days", + "unit": "d" + }, + { + "key": "kg_days", + "source_field": null, + "source_table": null, + "label": "Inventory kg-days", + "unit": "kg·d" + }, + { + "key": "cons_matnr", + "source_field": "MATNR", + "source_table": "MSEG", + "label": "Consuming Material" + }, + { + "key": "cons_material_name", + "source_field": "MAKTX", + "source_table": "MAKT", + "label": "Consuming Material Name" + }, + { + "key": "cons_in_current_recipe", + "source_field": null, + "source_table": null, + "label": "In Current Recipe" + } + ], + "rows": [ + { + "batch": "DEST_DWELL_HUB1-001", + "consumption_date": "2022-09-15", + "dwell_days": 49.6, + "kg_days": 201600, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-002", + "consumption_date": "2023-05-05", + "dwell_days": 76.7, + "kg_days": 223200, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-003", + "consumption_date": "2023-05-20", + "dwell_days": 33, + "kg_days": 223200, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-004", + "consumption_date": "2024-01-10", + "dwell_days": 112.1, + "kg_days": 312000, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-005", + "consumption_date": "2024-01-25", + "dwell_days": 41.3, + "kg_days": 312000, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-006", + "consumption_date": "2024-08-15", + "dwell_days": 11.8, + "kg_days": 48000, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-007", + "consumption_date": "2025-02-05", + "dwell_days": 92, + "kg_days": 319200, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-008", + "consumption_date": "2025-02-18", + "dwell_days": 64.9, + "kg_days": 319200, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-009", + "consumption_date": "2025-08-10", + "dwell_days": 49.6, + "kg_days": 177600, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-010", + "consumption_date": "2025-08-20", + "dwell_days": 37.8, + "kg_days": 177600, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-011", + "consumption_date": "2025-09-06", + "dwell_days": 46, + "kg_days": 203200, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-012", + "consumption_date": "2025-09-12", + "dwell_days": 49.6, + "kg_days": 203200, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-013", + "consumption_date": "2025-09-18", + "dwell_days": 54.3, + "kg_days": 203200, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-014", + "consumption_date": "2025-10-04", + "dwell_days": 57.8, + "kg_days": 254400, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-015", + "consumption_date": "2025-10-10", + "dwell_days": 62.5, + "kg_days": 254400, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-016", + "consumption_date": "2025-10-16", + "dwell_days": 67.3, + "kg_days": 254400, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-017", + "consumption_date": "2025-11-05", + "dwell_days": 56.6, + "kg_days": 214400, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-018", + "consumption_date": "2025-11-11", + "dwell_days": 61.4, + "kg_days": 214400, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-019", + "consumption_date": "2025-11-17", + "dwell_days": 40.1, + "kg_days": 214400, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-020", + "consumption_date": "2025-12-06", + "dwell_days": 56.6, + "kg_days": 179200, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-021", + "consumption_date": "2025-12-12", + "dwell_days": 35.4, + "kg_days": 179200, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-022", + "consumption_date": "2025-12-18", + "dwell_days": 40.1, + "kg_days": 179200, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-023", + "consumption_date": "2026-01-04", + "dwell_days": 42.5, + "kg_days": 192000, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-024", + "consumption_date": "2026-01-10", + "dwell_days": 48.4, + "kg_days": 192000, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-025", + "consumption_date": "2026-01-16", + "dwell_days": 50.7, + "kg_days": 192000, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-026", + "consumption_date": "2026-02-05", + "dwell_days": 42.5, + "kg_days": 187200, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-027", + "consumption_date": "2026-02-11", + "dwell_days": 46, + "kg_days": 187200, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-028", + "consumption_date": "2026-02-17", + "dwell_days": 49.6, + "kg_days": 187200, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-029", + "consumption_date": "2026-03-06", + "dwell_days": 54.3, + "kg_days": 236800, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-030", + "consumption_date": "2026-03-12", + "dwell_days": 57.8, + "kg_days": 236800, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-031", + "consumption_date": "2026-03-18", + "dwell_days": 62.5, + "kg_days": 236800, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-032", + "consumption_date": "2026-04-04", + "dwell_days": 53.1, + "kg_days": 232000, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-033", + "consumption_date": "2026-04-10", + "dwell_days": 56.6, + "kg_days": 232000, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-034", + "consumption_date": "2026-04-16", + "dwell_days": 61.4, + "kg_days": 232000, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-035", + "consumption_date": "2026-05-05", + "dwell_days": 51.9, + "kg_days": 195200, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-036", + "consumption_date": "2026-05-11", + "dwell_days": 56.6, + "kg_days": 195200, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "DEST_DWELL_HUB1-037", + "consumption_date": "2026-05-17", + "dwell_days": 35.4, + "kg_days": 195200, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + } + ] + }, + "ref_date_col": "consumption_date", + "n_batches": null, + "n_movements": 10, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0", + "value_col": "dwell_days" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/intermed_dwell_green_blend.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/intermed_dwell_green_blend.json new file mode 100644 index 00000000000..cb5039e15fd --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/intermed_dwell_green_blend.json @@ -0,0 +1,1302 @@ +{ + "id": "intermed_dwell_green_blend", + "label": "Intermediate Dwell: Green Blend", + "type": "intermediate_dwell", + "durations": [ + 14.2, 29.5, 9.4, 41.3, 17.7, 5.9, 26, 21.2, 47.2, 11.8, 64.9, 2.4, 33, 17.7, + 9.4, 23.6, 53.1, 14.2, 3.5, 21.2, 35.4, 9.4, 26, 41.3, 5.9, 17.7, 49.6, + 11.8, 16.5, 18.9, 20.1, 21.2, 22.4, 16.5, 17.7, 18.9, 21.2, 13, 21.2, 22.4, + 23.6, 16.5, 17.7, 20.1, 22.4, 14.2, 16.5, 17.7, 20.1, 13, 14.2, 15.3, 16.5, + 15.3, 16.5, 18.9, 20.1, 21.2, 15.3, 16.5, 17.7, 18.9, 21.2, 18.9, 21.2, + 22.4, 23.6, 16.5, 18.9, 20.1, 22.4, 14.2, 16.5 + ], + "observations": [ + { + "date": "2022-05-05", + "value": 14.2 + }, + { + "date": "2022-05-15", + "value": 29.5 + }, + { + "date": "2022-05-22", + "value": 9.4 + }, + { + "date": "2022-11-03", + "value": 41.3 + }, + { + "date": "2022-11-10", + "value": 17.7 + }, + { + "date": "2022-11-18", + "value": 5.9 + }, + { + "date": "2022-11-25", + "value": 26 + }, + { + "date": "2023-05-08", + "value": 21.2 + }, + { + "date": "2023-05-15", + "value": 47.2 + }, + { + "date": "2023-05-22", + "value": 11.8 + }, + { + "date": "2023-11-06", + "value": 64.9 + }, + { + "date": "2023-11-13", + "value": 2.4 + }, + { + "date": "2023-11-20", + "value": 33 + }, + { + "date": "2023-11-27", + "value": 17.7 + }, + { + "date": "2023-11-30", + "value": 9.4 + }, + { + "date": "2024-05-06", + "value": 23.6 + }, + { + "date": "2024-05-13", + "value": 53.1 + }, + { + "date": "2024-05-20", + "value": 14.2 + }, + { + "date": "2024-05-27", + "value": 3.5 + }, + { + "date": "2024-11-04", + "value": 21.2 + }, + { + "date": "2024-11-11", + "value": 35.4 + }, + { + "date": "2024-11-18", + "value": 9.4 + }, + { + "date": "2025-05-05", + "value": 26 + }, + { + "date": "2025-05-09", + "value": 41.3 + }, + { + "date": "2025-05-13", + "value": 5.9 + }, + { + "date": "2025-05-17", + "value": 17.7 + }, + { + "date": "2025-05-21", + "value": 49.6 + }, + { + "date": "2025-05-25", + "value": 11.8 + }, + { + "date": "2025-09-05", + "value": 16.5 + }, + { + "date": "2025-09-11", + "value": 18.9 + }, + { + "date": "2025-09-17", + "value": 20.1 + }, + { + "date": "2025-09-23", + "value": 21.2 + }, + { + "date": "2025-09-29", + "value": 22.4 + }, + { + "date": "2025-10-06", + "value": 16.5 + }, + { + "date": "2025-10-12", + "value": 17.7 + }, + { + "date": "2025-10-18", + "value": 18.9 + }, + { + "date": "2025-10-24", + "value": 21.2 + }, + { + "date": "2025-10-30", + "value": 13 + }, + { + "date": "2025-11-04", + "value": 21.2 + }, + { + "date": "2025-11-10", + "value": 22.4 + }, + { + "date": "2025-11-16", + "value": 23.6 + }, + { + "date": "2025-11-22", + "value": 16.5 + }, + { + "date": "2025-11-28", + "value": 17.7 + }, + { + "date": "2025-12-05", + "value": 20.1 + }, + { + "date": "2025-12-11", + "value": 22.4 + }, + { + "date": "2025-12-17", + "value": 14.2 + }, + { + "date": "2025-12-23", + "value": 16.5 + }, + { + "date": "2025-12-29", + "value": 17.7 + }, + { + "date": "2026-01-06", + "value": 20.1 + }, + { + "date": "2026-01-12", + "value": 13 + }, + { + "date": "2026-01-18", + "value": 14.2 + }, + { + "date": "2026-01-24", + "value": 15.3 + }, + { + "date": "2026-01-30", + "value": 16.5 + }, + { + "date": "2026-02-04", + "value": 15.3 + }, + { + "date": "2026-02-10", + "value": 16.5 + }, + { + "date": "2026-02-16", + "value": 18.9 + }, + { + "date": "2026-02-22", + "value": 20.1 + }, + { + "date": "2026-02-28", + "value": 21.2 + }, + { + "date": "2026-03-05", + "value": 15.3 + }, + { + "date": "2026-03-11", + "value": 16.5 + }, + { + "date": "2026-03-17", + "value": 17.7 + }, + { + "date": "2026-03-23", + "value": 18.9 + }, + { + "date": "2026-03-29", + "value": 21.2 + }, + { + "date": "2026-04-06", + "value": 18.9 + }, + { + "date": "2026-04-12", + "value": 21.2 + }, + { + "date": "2026-04-18", + "value": 22.4 + }, + { + "date": "2026-04-24", + "value": 23.6 + }, + { + "date": "2026-04-30", + "value": 16.5 + }, + { + "date": "2026-05-04", + "value": 18.9 + }, + { + "date": "2026-05-10", + "value": 20.1 + }, + { + "date": "2026-05-16", + "value": 22.4 + }, + { + "date": "2026-05-22", + "value": 14.2 + }, + { + "date": "2026-05-28", + "value": 16.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 17.7, + "median": 14.2, + "p10": 10.4, + "p25": 11.8, + "p75": 21.8, + "p90": 26.4, + "n": 3, + "total_kg_days": 144000 + }, + { + "month": "2022-11", + "mean": 22.8, + "median": 21.8, + "p10": 9.4, + "p25": 14.8, + "p75": 29.9, + "p90": 36.7, + "n": 4, + "total_kg_days": 246400 + }, + { + "month": "2023-05", + "mean": 26.8, + "median": 21.2, + "p10": 13.7, + "p25": 16.5, + "p75": 34.2, + "p90": 42, + "n": 3, + "total_kg_days": 217600 + }, + { + "month": "2023-11", + "mean": 25.5, + "median": 17.7, + "p10": 5.2, + "p25": 9.4, + "p75": 33, + "p90": 52.2, + "n": 5, + "total_kg_days": 345600 + }, + { + "month": "2024-05", + "mean": 23.6, + "median": 18.9, + "p10": 6.7, + "p25": 11.6, + "p75": 31, + "p90": 44.2, + "n": 4, + "total_kg_days": 256000 + }, + { + "month": "2024-11", + "mean": 22.1, + "median": 21.2, + "p10": 11.8, + "p25": 15.3, + "p75": 28.3, + "p90": 32.6, + "n": 3, + "total_kg_days": 179200 + }, + { + "month": "2025-05", + "mean": 25.4, + "median": 21.8, + "p10": 8.8, + "p25": 13.3, + "p75": 37.5, + "p90": 45.4, + "n": 6, + "total_kg_days": 412800 + }, + { + "month": "2025-09", + "mean": 19.8, + "median": 20.1, + "p10": 17.5, + "p25": 18.9, + "p75": 21.2, + "p90": 21.9, + "n": 5, + "total_kg_days": 268800 + }, + { + "month": "2025-10", + "mean": 17.5, + "median": 17.7, + "p10": 14.4, + "p25": 16.5, + "p75": 18.9, + "p90": 20.3, + "n": 5, + "total_kg_days": 236800 + }, + { + "month": "2025-11", + "mean": 20.3, + "median": 21.2, + "p10": 17, + "p25": 17.7, + "p75": 22.4, + "p90": 23.1, + "n": 5, + "total_kg_days": 275200 + }, + { + "month": "2025-12", + "mean": 18.2, + "median": 17.7, + "p10": 15.1, + "p25": 16.5, + "p75": 20.1, + "p90": 21.5, + "n": 5, + "total_kg_days": 246400 + }, + { + "month": "2026-01", + "mean": 15.8, + "median": 15.3, + "p10": 13.5, + "p25": 14.2, + "p75": 16.5, + "p90": 18.6, + "n": 5, + "total_kg_days": 214400 + }, + { + "month": "2026-02", + "mean": 18.4, + "median": 18.9, + "p10": 15.8, + "p25": 16.5, + "p75": 20.1, + "p90": 20.8, + "n": 5, + "total_kg_days": 249600 + }, + { + "month": "2026-03", + "mean": 17.9, + "median": 17.7, + "p10": 15.8, + "p25": 16.5, + "p75": 18.9, + "p90": 20.3, + "n": 5, + "total_kg_days": 243200 + }, + { + "month": "2026-04", + "mean": 20.5, + "median": 21.2, + "p10": 17.5, + "p25": 18.9, + "p75": 22.4, + "p90": 23.1, + "n": 5, + "total_kg_days": 278400 + }, + { + "month": "2026-05", + "mean": 18.4, + "median": 18.9, + "p10": 15.1, + "p25": 16.5, + "p75": 20.1, + "p90": 21.5, + "n": 5, + "total_kg_days": 249600 + } + ], + "stats": { + "n": 73, + "mean": 20.5, + "median": 18.9, + "std": 9, + "min": 2.4, + "max": 64.9, + "p25": 15.3, + "p75": 22.4, + "p85": 23.6, + "p95": 41.3 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 87.7, + "annotations": [], + "cost": { + "unit_price": 14.75, + "currency": "CHF", + "mean_qty": 3200, + "monthly": [ + { + "month": "2022-05", + "n_events": 3, + "total_kg_days": 144000 + }, + { + "month": "2022-11", + "n_events": 4, + "total_kg_days": 246400 + }, + { + "month": "2023-05", + "n_events": 3, + "total_kg_days": 217600 + }, + { + "month": "2023-11", + "n_events": 5, + "total_kg_days": 345600 + }, + { + "month": "2024-05", + "n_events": 4, + "total_kg_days": 256000 + }, + { + "month": "2024-11", + "n_events": 3, + "total_kg_days": 179200 + }, + { + "month": "2025-05", + "n_events": 6, + "total_kg_days": 412800 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 268800 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 236800 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 275200 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 246400 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 214400 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 249600 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 243200 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 278400 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 249600 + } + ] + }, + "detail_rows": { + "columns": [ + { + "key": "batch", + "source_field": "CHARG", + "source_table": "MSEG", + "label": "Batch" + }, + { + "key": "consumption_date", + "source_field": "BUDAT", + "source_table": "MKPF", + "label": "Consumption Date" + }, + { + "key": "dwell_days", + "source_field": null, + "source_table": null, + "label": "Dwell Days", + "unit": "d" + }, + { + "key": "kg_days", + "source_field": null, + "source_table": null, + "label": "Inventory kg-days", + "unit": "kg·d" + }, + { + "key": "cons_matnr", + "source_field": "MATNR", + "source_table": "MSEG", + "label": "Consuming Material" + }, + { + "key": "cons_material_name", + "source_field": "MAKTX", + "source_table": "MAKT", + "label": "Consuming Material Name" + }, + { + "key": "cons_in_current_recipe", + "source_field": null, + "source_table": null, + "label": "In Current Recipe" + } + ], + "rows": [ + { + "batch": "INTERMED_DWELL_GREEN_BLEND-001", + "consumption_date": "2022-05-05", + "dwell_days": 14.2, + "kg_days": 48000, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-002", + "consumption_date": "2022-05-15", + "dwell_days": 29.5, + "kg_days": 48000, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-003", + "consumption_date": "2022-05-22", + "dwell_days": 9.4, + "kg_days": 48000, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-004", + "consumption_date": "2022-11-03", + "dwell_days": 41.3, + "kg_days": 61600, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-005", + "consumption_date": "2022-11-10", + "dwell_days": 17.7, + "kg_days": 61600, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-006", + "consumption_date": "2022-11-18", + "dwell_days": 5.9, + "kg_days": 61600, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-007", + "consumption_date": "2022-11-25", + "dwell_days": 26, + "kg_days": 61600, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-008", + "consumption_date": "2023-05-08", + "dwell_days": 21.2, + "kg_days": 72533.3, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-009", + "consumption_date": "2023-05-15", + "dwell_days": 47.2, + "kg_days": 72533.3, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-010", + "consumption_date": "2023-05-22", + "dwell_days": 11.8, + "kg_days": 72533.3, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-011", + "consumption_date": "2023-11-06", + "dwell_days": 64.9, + "kg_days": 69120, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-012", + "consumption_date": "2023-11-13", + "dwell_days": 2.4, + "kg_days": 69120, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-013", + "consumption_date": "2023-11-20", + "dwell_days": 33, + "kg_days": 69120, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-014", + "consumption_date": "2023-11-27", + "dwell_days": 17.7, + "kg_days": 69120, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-015", + "consumption_date": "2023-11-30", + "dwell_days": 9.4, + "kg_days": 69120, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-016", + "consumption_date": "2024-05-06", + "dwell_days": 23.6, + "kg_days": 64000, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-017", + "consumption_date": "2024-05-13", + "dwell_days": 53.1, + "kg_days": 64000, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-018", + "consumption_date": "2024-05-20", + "dwell_days": 14.2, + "kg_days": 64000, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-019", + "consumption_date": "2024-05-27", + "dwell_days": 3.5, + "kg_days": 64000, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-020", + "consumption_date": "2024-11-04", + "dwell_days": 21.2, + "kg_days": 59733.3, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-021", + "consumption_date": "2024-11-11", + "dwell_days": 35.4, + "kg_days": 59733.3, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-022", + "consumption_date": "2024-11-18", + "dwell_days": 9.4, + "kg_days": 59733.3, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-023", + "consumption_date": "2025-05-05", + "dwell_days": 26, + "kg_days": 68800, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-024", + "consumption_date": "2025-05-09", + "dwell_days": 41.3, + "kg_days": 68800, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-025", + "consumption_date": "2025-05-13", + "dwell_days": 5.9, + "kg_days": 68800, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-026", + "consumption_date": "2025-05-17", + "dwell_days": 17.7, + "kg_days": 68800, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-027", + "consumption_date": "2025-05-21", + "dwell_days": 49.6, + "kg_days": 68800, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-028", + "consumption_date": "2025-05-25", + "dwell_days": 11.8, + "kg_days": 68800, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-029", + "consumption_date": "2025-09-05", + "dwell_days": 16.5, + "kg_days": 53760, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-030", + "consumption_date": "2025-09-11", + "dwell_days": 18.9, + "kg_days": 53760, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-031", + "consumption_date": "2025-09-17", + "dwell_days": 20.1, + "kg_days": 53760, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-032", + "consumption_date": "2025-09-23", + "dwell_days": 21.2, + "kg_days": 53760, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-033", + "consumption_date": "2025-09-29", + "dwell_days": 22.4, + "kg_days": 53760, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-034", + "consumption_date": "2025-10-06", + "dwell_days": 16.5, + "kg_days": 47360, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-035", + "consumption_date": "2025-10-12", + "dwell_days": 17.7, + "kg_days": 47360, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-036", + "consumption_date": "2025-10-18", + "dwell_days": 18.9, + "kg_days": 47360, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-037", + "consumption_date": "2025-10-24", + "dwell_days": 21.2, + "kg_days": 47360, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-038", + "consumption_date": "2025-10-30", + "dwell_days": 13, + "kg_days": 47360, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-039", + "consumption_date": "2025-11-04", + "dwell_days": 21.2, + "kg_days": 55040, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-040", + "consumption_date": "2025-11-10", + "dwell_days": 22.4, + "kg_days": 55040, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-041", + "consumption_date": "2025-11-16", + "dwell_days": 23.6, + "kg_days": 55040, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-042", + "consumption_date": "2025-11-22", + "dwell_days": 16.5, + "kg_days": 55040, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-043", + "consumption_date": "2025-11-28", + "dwell_days": 17.7, + "kg_days": 55040, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-044", + "consumption_date": "2025-12-05", + "dwell_days": 20.1, + "kg_days": 49280, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-045", + "consumption_date": "2025-12-11", + "dwell_days": 22.4, + "kg_days": 49280, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-046", + "consumption_date": "2025-12-17", + "dwell_days": 14.2, + "kg_days": 49280, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-047", + "consumption_date": "2025-12-23", + "dwell_days": 16.5, + "kg_days": 49280, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-048", + "consumption_date": "2025-12-29", + "dwell_days": 17.7, + "kg_days": 49280, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-049", + "consumption_date": "2026-01-06", + "dwell_days": 20.1, + "kg_days": 42880, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-050", + "consumption_date": "2026-01-12", + "dwell_days": 13, + "kg_days": 42880, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-051", + "consumption_date": "2026-01-18", + "dwell_days": 14.2, + "kg_days": 42880, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-052", + "consumption_date": "2026-01-24", + "dwell_days": 15.3, + "kg_days": 42880, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-053", + "consumption_date": "2026-01-30", + "dwell_days": 16.5, + "kg_days": 42880, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-054", + "consumption_date": "2026-02-04", + "dwell_days": 15.3, + "kg_days": 49920, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-055", + "consumption_date": "2026-02-10", + "dwell_days": 16.5, + "kg_days": 49920, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-056", + "consumption_date": "2026-02-16", + "dwell_days": 18.9, + "kg_days": 49920, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-057", + "consumption_date": "2026-02-22", + "dwell_days": 20.1, + "kg_days": 49920, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-058", + "consumption_date": "2026-02-28", + "dwell_days": 21.2, + "kg_days": 49920, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-059", + "consumption_date": "2026-03-05", + "dwell_days": 15.3, + "kg_days": 48640, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-060", + "consumption_date": "2026-03-11", + "dwell_days": 16.5, + "kg_days": 48640, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-061", + "consumption_date": "2026-03-17", + "dwell_days": 17.7, + "kg_days": 48640, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-062", + "consumption_date": "2026-03-23", + "dwell_days": 18.9, + "kg_days": 48640, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-063", + "consumption_date": "2026-03-29", + "dwell_days": 21.2, + "kg_days": 48640, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-064", + "consumption_date": "2026-04-06", + "dwell_days": 18.9, + "kg_days": 55680, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-065", + "consumption_date": "2026-04-12", + "dwell_days": 21.2, + "kg_days": 55680, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-066", + "consumption_date": "2026-04-18", + "dwell_days": 22.4, + "kg_days": 55680, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-067", + "consumption_date": "2026-04-24", + "dwell_days": 23.6, + "kg_days": 55680, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-068", + "consumption_date": "2026-04-30", + "dwell_days": 16.5, + "kg_days": 55680, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-069", + "consumption_date": "2026-05-04", + "dwell_days": 18.9, + "kg_days": 49920, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-070", + "consumption_date": "2026-05-10", + "dwell_days": 20.1, + "kg_days": 49920, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-071", + "consumption_date": "2026-05-16", + "dwell_days": 22.4, + "kg_days": 49920, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-072", + "consumption_date": "2026-05-22", + "dwell_days": 14.2, + "kg_days": 49920, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "INTERMED_DWELL_GREEN_BLEND-073", + "consumption_date": "2026-05-28", + "dwell_days": 16.5, + "kg_days": 49920, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + } + ] + }, + "ref_date_col": "consumption_date", + "n_batches": null, + "n_movements": 28, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0", + "value_col": "dwell_days" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/post_qa_ship_pla.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/post_qa_ship_pla.json new file mode 100644 index 00000000000..c2d9a5aadfb --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/post_qa_ship_pla.json @@ -0,0 +1,1077 @@ +{ + "id": "post_qa_ship_pla", + "label": "Post-QA Dwell (PL-A)", + "type": "post_qa_ship", + "durations": [ + 9.4, 26, 49.6, 7.1, 21.2, 33, 14.2, 2.4, 17.7, 5.9, 23.6, 4.7, 16.5, 17.7, + 11.8, 13, 14.2, 16.5, 9.4, 11.8, 13, 13, 11.8, 14.2, 14.2, 15.3, 16.5, 11.8, + 13, 14.2, 15.3, 16.5, 15.3, 16.5, 17.7, 18.9, 13, 15.3, 16.5, 17.7, 11.8, + 13, 15.3, 16.5, 9.4, 11.8, 13, 18.9, 11.8, 14.2, 14.2, 15.3, 10.6, 11.8, 13, + 14.2, 15.3 + ], + "observations": [ + { + "date": "2023-03-10", + "value": 9.4 + }, + { + "date": "2023-03-25", + "value": 26 + }, + { + "date": "2023-09-20", + "value": 49.6 + }, + { + "date": "2024-03-15", + "value": 7.1 + }, + { + "date": "2024-03-28", + "value": 21.2 + }, + { + "date": "2024-09-05", + "value": 33 + }, + { + "date": "2024-09-15", + "value": 14.2 + }, + { + "date": "2024-09-25", + "value": 2.4 + }, + { + "date": "2025-03-10", + "value": 17.7 + }, + { + "date": "2025-03-22", + "value": 5.9 + }, + { + "date": "2025-07-08", + "value": 23.6 + }, + { + "date": "2025-07-22", + "value": 4.7 + }, + { + "date": "2025-09-05", + "value": 16.5 + }, + { + "date": "2025-09-11", + "value": 17.7 + }, + { + "date": "2025-09-17", + "value": 11.8 + }, + { + "date": "2025-09-23", + "value": 13 + }, + { + "date": "2025-09-29", + "value": 14.2 + }, + { + "date": "2025-10-06", + "value": 16.5 + }, + { + "date": "2025-10-12", + "value": 9.4 + }, + { + "date": "2025-10-18", + "value": 11.8 + }, + { + "date": "2025-10-24", + "value": 13 + }, + { + "date": "2025-10-30", + "value": 13 + }, + { + "date": "2025-11-04", + "value": 11.8 + }, + { + "date": "2025-11-10", + "value": 14.2 + }, + { + "date": "2025-11-16", + "value": 14.2 + }, + { + "date": "2025-11-22", + "value": 15.3 + }, + { + "date": "2025-11-28", + "value": 16.5 + }, + { + "date": "2025-12-05", + "value": 11.8 + }, + { + "date": "2025-12-11", + "value": 13 + }, + { + "date": "2025-12-17", + "value": 14.2 + }, + { + "date": "2025-12-23", + "value": 15.3 + }, + { + "date": "2025-12-29", + "value": 16.5 + }, + { + "date": "2026-01-06", + "value": 15.3 + }, + { + "date": "2026-01-12", + "value": 16.5 + }, + { + "date": "2026-01-18", + "value": 17.7 + }, + { + "date": "2026-01-24", + "value": 18.9 + }, + { + "date": "2026-01-30", + "value": 13 + }, + { + "date": "2026-02-04", + "value": 15.3 + }, + { + "date": "2026-02-10", + "value": 16.5 + }, + { + "date": "2026-02-16", + "value": 17.7 + }, + { + "date": "2026-02-22", + "value": 11.8 + }, + { + "date": "2026-02-28", + "value": 13 + }, + { + "date": "2026-03-05", + "value": 15.3 + }, + { + "date": "2026-03-11", + "value": 16.5 + }, + { + "date": "2026-03-17", + "value": 9.4 + }, + { + "date": "2026-03-23", + "value": 11.8 + }, + { + "date": "2026-03-29", + "value": 13 + }, + { + "date": "2026-04-06", + "value": 18.9 + }, + { + "date": "2026-04-12", + "value": 11.8 + }, + { + "date": "2026-04-18", + "value": 14.2 + }, + { + "date": "2026-04-24", + "value": 14.2 + }, + { + "date": "2026-04-30", + "value": 15.3 + }, + { + "date": "2026-05-04", + "value": 10.6 + }, + { + "date": "2026-05-10", + "value": 11.8 + }, + { + "date": "2026-05-16", + "value": 13 + }, + { + "date": "2026-05-22", + "value": 14.2 + }, + { + "date": "2026-05-28", + "value": 15.3 + } + ], + "monthly": [ + { + "month": "2023-03", + "mean": 17.7, + "median": 17.7, + "p10": 11.1, + "p25": 13.6, + "p75": 21.8, + "p90": 24.3, + "n": 2, + "total_kg_days": 144000 + }, + { + "month": "2023-09", + "mean": 49.6, + "median": 49.6, + "p10": 49.6, + "p25": 49.6, + "p75": 49.6, + "p90": 49.6, + "n": 1, + "total_kg_days": 201600 + }, + { + "month": "2024-03", + "mean": 14.2, + "median": 14.2, + "p10": 8.5, + "p25": 10.6, + "p75": 17.7, + "p90": 19.8, + "n": 2, + "total_kg_days": 115200 + }, + { + "month": "2024-09", + "mean": 16.5, + "median": 14.2, + "p10": 4.7, + "p25": 8.3, + "p75": 23.6, + "p90": 29.3, + "n": 3, + "total_kg_days": 201600 + }, + { + "month": "2025-03", + "mean": 11.8, + "median": 11.8, + "p10": 7.1, + "p25": 8.8, + "p75": 14.8, + "p90": 16.5, + "n": 2, + "total_kg_days": 96000 + }, + { + "month": "2025-07", + "mean": 14.2, + "median": 14.2, + "p10": 6.6, + "p25": 9.4, + "p75": 18.9, + "p90": 21.7, + "n": 2, + "total_kg_days": 115200 + }, + { + "month": "2025-09", + "mean": 14.6, + "median": 14.2, + "p10": 12.3, + "p25": 13, + "p75": 16.5, + "p90": 17.2, + "n": 5, + "total_kg_days": 297600 + }, + { + "month": "2025-10", + "mean": 12.7, + "median": 13, + "p10": 10.4, + "p25": 11.8, + "p75": 13, + "p90": 15.1, + "n": 5, + "total_kg_days": 259200 + }, + { + "month": "2025-11", + "mean": 14.4, + "median": 14.2, + "p10": 12.7, + "p25": 14.2, + "p75": 15.3, + "p90": 16, + "n": 5, + "total_kg_days": 292800 + }, + { + "month": "2025-12", + "mean": 14.2, + "median": 14.2, + "p10": 12.3, + "p25": 13, + "p75": 15.3, + "p90": 16, + "n": 5, + "total_kg_days": 288000 + }, + { + "month": "2026-01", + "mean": 16.3, + "median": 16.5, + "p10": 13.9, + "p25": 15.3, + "p75": 17.7, + "p90": 18.4, + "n": 5, + "total_kg_days": 331200 + }, + { + "month": "2026-02", + "mean": 14.9, + "median": 15.3, + "p10": 12.3, + "p25": 13, + "p75": 16.5, + "p90": 17.2, + "n": 5, + "total_kg_days": 302400 + }, + { + "month": "2026-03", + "mean": 13.2, + "median": 13, + "p10": 10.4, + "p25": 11.8, + "p75": 15.3, + "p90": 16, + "n": 5, + "total_kg_days": 268800 + }, + { + "month": "2026-04", + "mean": 14.9, + "median": 14.2, + "p10": 12.7, + "p25": 14.2, + "p75": 15.3, + "p90": 17.5, + "n": 5, + "total_kg_days": 302400 + }, + { + "month": "2026-05", + "mean": 13, + "median": 13, + "p10": 11.1, + "p25": 11.8, + "p75": 14.2, + "p90": 14.9, + "n": 5, + "total_kg_days": 264000 + } + ], + "stats": { + "n": 57, + "mean": 15, + "median": 14.2, + "std": 5.6, + "min": 2.4, + "max": 49.6, + "p25": 11.8, + "p75": 16.5, + "p85": 17.7, + "p95": 23.6 + }, + "plifz": null, + "plifz_note": null, + "pct_exceeding_plifz": null, + "annotations": [], + "cost": { + "unit_price": 33.63, + "currency": "CHF", + "mean_qty": 4800, + "monthly": [ + { + "month": "2023-03", + "n_events": 2, + "total_kg_days": 144000 + }, + { + "month": "2023-09", + "n_events": 1, + "total_kg_days": 201600 + }, + { + "month": "2024-03", + "n_events": 2, + "total_kg_days": 115200 + }, + { + "month": "2024-09", + "n_events": 3, + "total_kg_days": 201600 + }, + { + "month": "2025-03", + "n_events": 2, + "total_kg_days": 96000 + }, + { + "month": "2025-07", + "n_events": 2, + "total_kg_days": 115200 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 297600 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 259200 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 292800 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 288000 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 331200 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 302400 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 268800 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 302400 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 264000 + } + ] + }, + "detail_rows": { + "columns": [ + { + "key": "batch", + "source_field": "CHARG", + "source_table": "MSEG", + "label": "Batch" + }, + { + "key": "consumption_date", + "source_field": "BUDAT", + "source_table": "MKPF", + "label": "Consumption Date" + }, + { + "key": "dwell_days", + "source_field": null, + "source_table": null, + "label": "Dwell Days", + "unit": "d" + }, + { + "key": "kg_days", + "source_field": null, + "source_table": null, + "label": "Inventory kg-days", + "unit": "kg·d" + }, + { + "key": "cons_matnr", + "source_field": "MATNR", + "source_table": "MSEG", + "label": "Consuming Material" + }, + { + "key": "cons_material_name", + "source_field": "MAKTX", + "source_table": "MAKT", + "label": "Consuming Material Name" + }, + { + "key": "cons_in_current_recipe", + "source_field": null, + "source_table": null, + "label": "In Current Recipe" + } + ], + "rows": [ + { + "batch": "POST_QA_SHIP_PLA-001", + "consumption_date": "2023-03-10", + "dwell_days": 9.4, + "kg_days": 72000, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-002", + "consumption_date": "2023-03-25", + "dwell_days": 26, + "kg_days": 72000, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-003", + "consumption_date": "2023-09-20", + "dwell_days": 49.6, + "kg_days": 201600, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-004", + "consumption_date": "2024-03-15", + "dwell_days": 7.1, + "kg_days": 57600, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-005", + "consumption_date": "2024-03-28", + "dwell_days": 21.2, + "kg_days": 57600, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-006", + "consumption_date": "2024-09-05", + "dwell_days": 33, + "kg_days": 67200, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-007", + "consumption_date": "2024-09-15", + "dwell_days": 14.2, + "kg_days": 67200, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-008", + "consumption_date": "2024-09-25", + "dwell_days": 2.4, + "kg_days": 67200, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-009", + "consumption_date": "2025-03-10", + "dwell_days": 17.7, + "kg_days": 48000, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-010", + "consumption_date": "2025-03-22", + "dwell_days": 5.9, + "kg_days": 48000, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-011", + "consumption_date": "2025-07-08", + "dwell_days": 23.6, + "kg_days": 57600, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-012", + "consumption_date": "2025-07-22", + "dwell_days": 4.7, + "kg_days": 57600, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-013", + "consumption_date": "2025-09-05", + "dwell_days": 16.5, + "kg_days": 59520, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-014", + "consumption_date": "2025-09-11", + "dwell_days": 17.7, + "kg_days": 59520, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-015", + "consumption_date": "2025-09-17", + "dwell_days": 11.8, + "kg_days": 59520, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-016", + "consumption_date": "2025-09-23", + "dwell_days": 13, + "kg_days": 59520, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-017", + "consumption_date": "2025-09-29", + "dwell_days": 14.2, + "kg_days": 59520, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-018", + "consumption_date": "2025-10-06", + "dwell_days": 16.5, + "kg_days": 51840, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-019", + "consumption_date": "2025-10-12", + "dwell_days": 9.4, + "kg_days": 51840, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-020", + "consumption_date": "2025-10-18", + "dwell_days": 11.8, + "kg_days": 51840, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-021", + "consumption_date": "2025-10-24", + "dwell_days": 13, + "kg_days": 51840, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-022", + "consumption_date": "2025-10-30", + "dwell_days": 13, + "kg_days": 51840, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-023", + "consumption_date": "2025-11-04", + "dwell_days": 11.8, + "kg_days": 58560, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-024", + "consumption_date": "2025-11-10", + "dwell_days": 14.2, + "kg_days": 58560, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-025", + "consumption_date": "2025-11-16", + "dwell_days": 14.2, + "kg_days": 58560, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-026", + "consumption_date": "2025-11-22", + "dwell_days": 15.3, + "kg_days": 58560, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-027", + "consumption_date": "2025-11-28", + "dwell_days": 16.5, + "kg_days": 58560, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-028", + "consumption_date": "2025-12-05", + "dwell_days": 11.8, + "kg_days": 57600, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-029", + "consumption_date": "2025-12-11", + "dwell_days": 13, + "kg_days": 57600, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-030", + "consumption_date": "2025-12-17", + "dwell_days": 14.2, + "kg_days": 57600, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-031", + "consumption_date": "2025-12-23", + "dwell_days": 15.3, + "kg_days": 57600, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-032", + "consumption_date": "2025-12-29", + "dwell_days": 16.5, + "kg_days": 57600, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-033", + "consumption_date": "2026-01-06", + "dwell_days": 15.3, + "kg_days": 66240, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-034", + "consumption_date": "2026-01-12", + "dwell_days": 16.5, + "kg_days": 66240, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-035", + "consumption_date": "2026-01-18", + "dwell_days": 17.7, + "kg_days": 66240, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-036", + "consumption_date": "2026-01-24", + "dwell_days": 18.9, + "kg_days": 66240, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-037", + "consumption_date": "2026-01-30", + "dwell_days": 13, + "kg_days": 66240, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-038", + "consumption_date": "2026-02-04", + "dwell_days": 15.3, + "kg_days": 60480, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-039", + "consumption_date": "2026-02-10", + "dwell_days": 16.5, + "kg_days": 60480, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-040", + "consumption_date": "2026-02-16", + "dwell_days": 17.7, + "kg_days": 60480, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-041", + "consumption_date": "2026-02-22", + "dwell_days": 11.8, + "kg_days": 60480, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-042", + "consumption_date": "2026-02-28", + "dwell_days": 13, + "kg_days": 60480, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-043", + "consumption_date": "2026-03-05", + "dwell_days": 15.3, + "kg_days": 53760, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-044", + "consumption_date": "2026-03-11", + "dwell_days": 16.5, + "kg_days": 53760, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-045", + "consumption_date": "2026-03-17", + "dwell_days": 9.4, + "kg_days": 53760, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-046", + "consumption_date": "2026-03-23", + "dwell_days": 11.8, + "kg_days": 53760, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-047", + "consumption_date": "2026-03-29", + "dwell_days": 13, + "kg_days": 53760, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-048", + "consumption_date": "2026-04-06", + "dwell_days": 18.9, + "kg_days": 60480, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-049", + "consumption_date": "2026-04-12", + "dwell_days": 11.8, + "kg_days": 60480, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-050", + "consumption_date": "2026-04-18", + "dwell_days": 14.2, + "kg_days": 60480, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-051", + "consumption_date": "2026-04-24", + "dwell_days": 14.2, + "kg_days": 60480, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-052", + "consumption_date": "2026-04-30", + "dwell_days": 15.3, + "kg_days": 60480, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-053", + "consumption_date": "2026-05-04", + "dwell_days": 10.6, + "kg_days": 52800, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-054", + "consumption_date": "2026-05-10", + "dwell_days": 11.8, + "kg_days": 52800, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-055", + "consumption_date": "2026-05-16", + "dwell_days": 13, + "kg_days": 52800, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-056", + "consumption_date": "2026-05-22", + "dwell_days": 14.2, + "kg_days": 52800, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + }, + { + "batch": "POST_QA_SHIP_PLA-057", + "consumption_date": "2026-05-28", + "dwell_days": 15.3, + "kg_days": 52800, + "cons_matnr": "90000300002", + "cons_material_name": "Summit Medium Roast", + "cons_in_current_recipe": 1 + } + ] + }, + "ref_date_col": "consumption_date", + "n_batches": null, + "n_movements": 12, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0", + "value_col": "dwell_days" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/procurement_highland_arabica.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/procurement_highland_arabica.json new file mode 100644 index 00000000000..740a22bac55 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/procurement_highland_arabica.json @@ -0,0 +1,3304 @@ +{ + "id": "procurement_highland_arabica", + "label": "Procurement: Highland Arabica", + "type": "procurement", + "durations": [ + 64.9, 49.6, 9.4, 74.3, 44.8, 26.0, 83.8, 35.4, 53.1, 21.2, 123.9, 41.3, + 14.2, 56.6, 46.0, 48.4, 51.9, 56.6, 60.2, 43.7, 47.2, 51.9, 55.5, 36.6, + 42.5, 47.2, 50.7, 31.9, 36.6, 54.3, 57.8, 38.9, 43.7, 46.0, 53.1, 34.2, + 38.9, 41.3, 44.8, 41.3, 46.0, 48.4, 51.9, 56.6, 41.3, 43.7, 47.2, 51.9, + 55.5, 38.9, 42.5, 47.2, 50.7, 31.9, 49.6, 54.3, 57.8, 38.9, 43.7 + ], + "observations": [ + { + "date": "2022-03-15", + "value": 64.9 + }, + { + "date": "2022-06-10", + "value": 49.6 + }, + { + "date": "2022-09-22", + "value": 9.4 + }, + { + "date": "2022-12-05", + "value": 74.3 + }, + { + "date": "2023-02-14", + "value": 44.8 + }, + { + "date": "2023-05-30", + "value": 26.0 + }, + { + "date": "2023-08-17", + "value": 83.8 + }, + { + "date": "2023-11-02", + "value": 35.4 + }, + { + "date": "2024-01-25", + "value": 53.1 + }, + { + "date": "2024-04-11", + "value": 21.2 + }, + { + "date": "2024-07-09", + "value": 123.9 + }, + { + "date": "2024-10-03", + "value": 41.3 + }, + { + "date": "2025-01-20", + "value": 14.2 + }, + { + "date": "2025-04-08", + "value": 56.6 + }, + { + "date": "2025-09-05", + "value": 46.0 + }, + { + "date": "2025-09-11", + "value": 48.4 + }, + { + "date": "2025-09-17", + "value": 51.9 + }, + { + "date": "2025-09-23", + "value": 56.6 + }, + { + "date": "2025-09-29", + "value": 60.2 + }, + { + "date": "2025-10-06", + "value": 43.7 + }, + { + "date": "2025-10-12", + "value": 47.2 + }, + { + "date": "2025-10-18", + "value": 51.9 + }, + { + "date": "2025-10-24", + "value": 55.5 + }, + { + "date": "2025-10-30", + "value": 36.6 + }, + { + "date": "2025-11-04", + "value": 42.5 + }, + { + "date": "2025-11-10", + "value": 47.2 + }, + { + "date": "2025-11-16", + "value": 50.7 + }, + { + "date": "2025-11-22", + "value": 31.9 + }, + { + "date": "2025-11-28", + "value": 36.6 + }, + { + "date": "2025-12-05", + "value": 54.3 + }, + { + "date": "2025-12-11", + "value": 57.8 + }, + { + "date": "2025-12-17", + "value": 38.9 + }, + { + "date": "2025-12-23", + "value": 43.7 + }, + { + "date": "2025-12-29", + "value": 46.0 + }, + { + "date": "2026-01-06", + "value": 53.1 + }, + { + "date": "2026-01-12", + "value": 34.2 + }, + { + "date": "2026-01-18", + "value": 38.9 + }, + { + "date": "2026-01-24", + "value": 41.3 + }, + { + "date": "2026-01-30", + "value": 44.8 + }, + { + "date": "2026-02-04", + "value": 41.3 + }, + { + "date": "2026-02-10", + "value": 46.0 + }, + { + "date": "2026-02-16", + "value": 48.4 + }, + { + "date": "2026-02-22", + "value": 51.9 + }, + { + "date": "2026-02-28", + "value": 56.6 + }, + { + "date": "2026-03-05", + "value": 41.3 + }, + { + "date": "2026-03-11", + "value": 43.7 + }, + { + "date": "2026-03-17", + "value": 47.2 + }, + { + "date": "2026-03-23", + "value": 51.9 + }, + { + "date": "2026-03-29", + "value": 55.5 + }, + { + "date": "2026-04-06", + "value": 38.9 + }, + { + "date": "2026-04-12", + "value": 42.5 + }, + { + "date": "2026-04-18", + "value": 47.2 + }, + { + "date": "2026-04-24", + "value": 50.7 + }, + { + "date": "2026-04-30", + "value": 31.9 + }, + { + "date": "2026-05-04", + "value": 49.6 + }, + { + "date": "2026-05-10", + "value": 54.3 + }, + { + "date": "2026-05-16", + "value": 57.8 + }, + { + "date": "2026-05-22", + "value": 38.9 + }, + { + "date": "2026-05-28", + "value": 43.7 + } + ], + "monthly": [ + { + "month": "2022-03", + "mean": 64.9, + "median": 64.9, + "p10": 64.9, + "p25": 64.9, + "p75": 64.9, + "p90": 64.9, + "n": 1 + }, + { + "month": "2022-06", + "mean": 49.6, + "median": 49.6, + "p10": 49.6, + "p25": 49.6, + "p75": 49.6, + "p90": 49.6, + "n": 1 + }, + { + "month": "2022-09", + "mean": 9.4, + "median": 9.4, + "p10": 9.4, + "p25": 9.4, + "p75": 9.4, + "p90": 9.4, + "n": 1 + }, + { + "month": "2022-12", + "mean": 74.3, + "median": 74.3, + "p10": 74.3, + "p25": 74.3, + "p75": 74.3, + "p90": 74.3, + "n": 1 + }, + { + "month": "2023-02", + "mean": 44.8, + "median": 44.8, + "p10": 44.8, + "p25": 44.8, + "p75": 44.8, + "p90": 44.8, + "n": 1 + }, + { + "month": "2023-05", + "mean": 26.0, + "median": 26.0, + "p10": 26.0, + "p25": 26.0, + "p75": 26.0, + "p90": 26.0, + "n": 1 + }, + { + "month": "2023-08", + "mean": 83.8, + "median": 83.8, + "p10": 83.8, + "p25": 83.8, + "p75": 83.8, + "p90": 83.8, + "n": 1 + }, + { + "month": "2023-11", + "mean": 35.4, + "median": 35.4, + "p10": 35.4, + "p25": 35.4, + "p75": 35.4, + "p90": 35.4, + "n": 1 + }, + { + "month": "2024-01", + "mean": 53.1, + "median": 53.1, + "p10": 53.1, + "p25": 53.1, + "p75": 53.1, + "p90": 53.1, + "n": 1 + }, + { + "month": "2024-04", + "mean": 21.2, + "median": 21.2, + "p10": 21.2, + "p25": 21.2, + "p75": 21.2, + "p90": 21.2, + "n": 1 + }, + { + "month": "2024-07", + "mean": 123.9, + "median": 123.9, + "p10": 123.9, + "p25": 123.9, + "p75": 123.9, + "p90": 123.9, + "n": 1 + }, + { + "month": "2024-10", + "mean": 41.3, + "median": 41.3, + "p10": 41.3, + "p25": 41.3, + "p75": 41.3, + "p90": 41.3, + "n": 1 + }, + { + "month": "2025-01", + "mean": 14.2, + "median": 14.2, + "p10": 14.2, + "p25": 14.2, + "p75": 14.2, + "p90": 14.2, + "n": 1 + }, + { + "month": "2025-04", + "mean": 56.6, + "median": 56.6, + "p10": 56.6, + "p25": 56.6, + "p75": 56.6, + "p90": 56.6, + "n": 1 + }, + { + "month": "2025-09", + "mean": 52.6, + "median": 51.9, + "p10": 47.0, + "p25": 48.4, + "p75": 56.6, + "p90": 58.8, + "n": 5 + }, + { + "month": "2025-10", + "mean": 47.0, + "median": 47.2, + "p10": 39.4, + "p25": 43.7, + "p75": 51.9, + "p90": 54.0, + "n": 5 + }, + { + "month": "2025-11", + "mean": 41.8, + "median": 42.5, + "p10": 33.7, + "p25": 36.6, + "p75": 47.2, + "p90": 49.3, + "n": 5 + }, + { + "month": "2025-12", + "mean": 48.1, + "median": 46.0, + "p10": 40.8, + "p25": 43.7, + "p75": 54.3, + "p90": 56.4, + "n": 5 + }, + { + "month": "2026-01", + "mean": 42.5, + "median": 41.3, + "p10": 36.1, + "p25": 38.9, + "p75": 44.8, + "p90": 49.8, + "n": 5 + }, + { + "month": "2026-02", + "mean": 48.9, + "median": 48.4, + "p10": 43.2, + "p25": 46.0, + "p75": 51.9, + "p90": 54.8, + "n": 5 + }, + { + "month": "2026-03", + "mean": 47.9, + "median": 47.2, + "p10": 42.2, + "p25": 43.7, + "p75": 51.9, + "p90": 54.0, + "n": 5 + }, + { + "month": "2026-04", + "mean": 42.2, + "median": 42.5, + "p10": 34.7, + "p25": 38.9, + "p75": 47.2, + "p90": 49.3, + "n": 5 + }, + { + "month": "2026-05", + "mean": 48.9, + "median": 49.6, + "p10": 40.8, + "p25": 43.7, + "p75": 54.3, + "p90": 56.4, + "n": 5 + } + ], + "stats": { + "n": 59, + "mean": 47.4, + "median": 47.2, + "std": 13.3, + "min": 9.4, + "max": 123.9, + "p25": 41.3, + "p75": 53.1, + "p85": 56.6, + "p95": 64.9 + }, + "plifz": 10, + "plifz_note": null, + "pct_exceeding_plifz": 98.3, + "annotations": [ + { + "date": "2023-09-01", + "label": "Supplier change for Highland Arabica" + } + ], + "cost": null, + "detail_rows": { + "columns": [ + { + "key": "matnr", + "sap_field": "MATNR", + "sap_table": "EKPO", + "label": "Material", + "unit": null + }, + { + "key": "po_number", + "sap_field": "EBELN", + "sap_table": "EKKO", + "label": "PO Number", + "unit": null + }, + { + "key": "po_item", + "sap_field": "EBELP", + "sap_table": "EKPO", + "label": "PO Item", + "unit": null + }, + { + "key": "vendor_id", + "sap_field": "LIFNR", + "sap_table": "EKKO", + "label": "Vendor (LIFNR)", + "unit": null + }, + { + "key": "vendor_name", + "sap_field": "NAME1", + "sap_table": "LFA1", + "label": "Vendor Name", + "unit": null + }, + { + "key": "po_date", + "sap_field": "BEDAT", + "sap_table": "EKKO", + "label": "PO Date", + "unit": null + }, + { + "key": "promised_date", + "sap_field": "EINDT", + "sap_table": "EKET", + "label": "Promised Date", + "unit": null + }, + { + "key": "sched_qty", + "sap_field": "MENGE", + "sap_table": "EKET", + "label": "Scheduled Qty", + "unit": null + }, + { + "key": "gr_qty_to_date", + "sap_field": "WEMNG", + "sap_table": "EKET", + "label": "GR Qty (to date)", + "unit": null + }, + { + "key": "gr_mblnr", + "sap_field": "MBLNR", + "sap_table": "MSEG", + "label": "Goods Receipt Document", + "unit": null + }, + { + "key": "first_gr_date", + "sap_field": "BUDAT", + "sap_table": "MKPF", + "label": "Goods Receipt Date", + "unit": null + }, + { + "key": "days_vs_promised", + "sap_field": null, + "sap_table": null, + "label": "Days vs Promised", + "unit": "d" + }, + { + "key": "lead_time_days", + "sap_field": null, + "sap_table": null, + "label": "Lead Time (days)", + "unit": "d" + } + ], + "rows": [ + { + "matnr": "demo_highland_arabica", + "po_number": "4500000003", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-14", + "promised_date": "2025-06-05", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000003", + "first_gr_date": "2025-06-03", + "days_vs_promised": -2, + "lead_time_days": 20 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000000", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-04-23", + "promised_date": "2025-06-08", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000000", + "first_gr_date": "2025-06-06", + "days_vs_promised": -2, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000005", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-27", + "promised_date": "2025-06-16", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000005", + "first_gr_date": "2025-06-13", + "days_vs_promised": -3, + "lead_time_days": 17 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000001", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-01", + "promised_date": "2025-06-17", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000001", + "first_gr_date": "2025-06-15", + "days_vs_promised": -2, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000002", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-06", + "promised_date": "2025-06-20", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000002", + "first_gr_date": "2025-06-20", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000004", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-05-22", + "promised_date": "2025-06-24", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000004", + "first_gr_date": "2025-06-21", + "days_vs_promised": -3, + "lead_time_days": 30 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000006", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-02", + "promised_date": "2025-07-10", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000006", + "first_gr_date": "2025-07-09", + "days_vs_promised": -1, + "lead_time_days": 37 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000007", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-11", + "promised_date": "2025-07-06", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000007", + "first_gr_date": "2025-07-10", + "days_vs_promised": 4, + "lead_time_days": 29 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000009", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-25", + "promised_date": "2025-07-23", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000009", + "first_gr_date": "2025-07-21", + "days_vs_promised": -2, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000010", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-30", + "promised_date": "2025-07-26", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000010", + "first_gr_date": "2025-07-26", + "days_vs_promised": 0, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000008", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-06-19", + "promised_date": "2025-08-07", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000008", + "first_gr_date": "2025-08-07", + "days_vs_promised": 0, + "lead_time_days": 49 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000012", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-07-15", + "promised_date": "2025-08-07", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000012", + "first_gr_date": "2025-08-07", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000013", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-07-23", + "promised_date": "2025-08-20", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000013", + "first_gr_date": "2025-08-20", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000014", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-07-28", + "promised_date": "2025-08-23", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000014", + "first_gr_date": "2025-08-23", + "days_vs_promised": 0, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000011", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-07-07", + "promised_date": "2025-08-19", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000011", + "first_gr_date": "2025-08-25", + "days_vs_promised": 6, + "lead_time_days": 49 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000015", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-08-04", + "promised_date": "2025-08-27", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000015", + "first_gr_date": "2025-08-27", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000016", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-08-13", + "promised_date": "2025-09-25", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000016", + "first_gr_date": "2025-09-25", + "days_vs_promised": 0, + "lead_time_days": 43 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000019", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-09-04", + "promised_date": "2025-09-28", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000019", + "first_gr_date": "2025-09-27", + "days_vs_promised": -1, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000020", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-09-09", + "promised_date": "2025-10-03", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000020", + "first_gr_date": "2025-10-03", + "days_vs_promised": 0, + "lead_time_days": 24 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000017", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-08-21", + "promised_date": "2025-10-05", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000017", + "first_gr_date": "2025-10-05", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000018", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-08-26", + "promised_date": "2025-10-12", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000018", + "first_gr_date": "2025-10-10", + "days_vs_promised": -2, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000022", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-09-23", + "promised_date": "2025-10-17", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000022", + "first_gr_date": "2025-10-16", + "days_vs_promised": -1, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000021", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-09-17", + "promised_date": "2025-10-22", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000021", + "first_gr_date": "2025-10-19", + "days_vs_promised": -3, + "lead_time_days": 32 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000023", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-01", + "promised_date": "2025-10-29", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000023", + "first_gr_date": "2025-10-31", + "days_vs_promised": 2, + "lead_time_days": 30 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000024", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-08", + "promised_date": "2025-11-01", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000024", + "first_gr_date": "2025-11-01", + "days_vs_promised": 0, + "lead_time_days": 24 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000025", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-14", + "promised_date": "2025-11-19", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000025", + "first_gr_date": "2025-11-17", + "days_vs_promised": -2, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000027", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-29", + "promised_date": "2025-12-01", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000027", + "first_gr_date": "2025-11-29", + "days_vs_promised": -2, + "lead_time_days": 31 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000028", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-11-04", + "promised_date": "2025-12-03", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000028", + "first_gr_date": "2025-12-03", + "days_vs_promised": 0, + "lead_time_days": 29 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000026", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-10-21", + "promised_date": "2025-12-04", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000026", + "first_gr_date": "2025-12-04", + "days_vs_promised": 0, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000029", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-11-10", + "promised_date": "2025-12-19", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000029", + "first_gr_date": "2025-12-19", + "days_vs_promised": 0, + "lead_time_days": 39 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000030", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-11-20", + "promised_date": "2025-12-23", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000030", + "first_gr_date": "2025-12-24", + "days_vs_promised": 1, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000034", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000034", + "first_gr_date": "2026-01-11", + "days_vs_promised": -2, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000031", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-11-27", + "promised_date": "2026-01-13", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000031", + "first_gr_date": "2026-01-13", + "days_vs_promised": 0, + "lead_time_days": 47 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000033", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-10", + "promised_date": "2026-01-15", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000033", + "first_gr_date": "2026-01-13", + "days_vs_promised": -2, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000035", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-24", + "promised_date": "2026-01-13", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000035", + "first_gr_date": "2026-01-13", + "days_vs_promised": 0, + "lead_time_days": 20 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000032", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-04", + "promised_date": "2026-01-17", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000032", + "first_gr_date": "2026-01-17", + "days_vs_promised": 0, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000036", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2025-12-31", + "promised_date": "2026-02-01", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000036", + "first_gr_date": "2026-01-31", + "days_vs_promised": -1, + "lead_time_days": 31 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000037", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-01-08", + "promised_date": "2026-02-10", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000037", + "first_gr_date": "2026-02-08", + "days_vs_promised": -2, + "lead_time_days": 31 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000038", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-01-13", + "promised_date": "2026-02-13", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000038", + "first_gr_date": "2026-02-11", + "days_vs_promised": -2, + "lead_time_days": 29 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000040", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-01-29", + "promised_date": "2026-02-25", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000040", + "first_gr_date": "2026-02-25", + "days_vs_promised": 0, + "lead_time_days": 27 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000039", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-01-20", + "promised_date": "2026-03-01", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000039", + "first_gr_date": "2026-03-01", + "days_vs_promised": 0, + "lead_time_days": 40 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000041", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-02-03", + "promised_date": "2026-03-07", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000041", + "first_gr_date": "2026-03-07", + "days_vs_promised": 0, + "lead_time_days": 32 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000042", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-02-11", + "promised_date": "2026-03-18", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000042", + "first_gr_date": "2026-03-18", + "days_vs_promised": 0, + "lead_time_days": 35 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000043", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-02-16", + "promised_date": "2026-03-23", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000043", + "first_gr_date": "2026-03-22", + "days_vs_promised": -1, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000044", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-02-26", + "promised_date": "2026-03-24", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000044", + "first_gr_date": "2026-03-24", + "days_vs_promised": 0, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000045", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-04", + "promised_date": "2026-03-27", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000045", + "first_gr_date": "2026-03-27", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000057", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-02", + "promised_date": "2026-04-01", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000057", + "first_gr_date": "2026-04-01", + "days_vs_promised": 0, + "lead_time_days": 30 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000068", + "po_item": "00010", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-02-24", + "promised_date": "2026-04-03", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000068", + "first_gr_date": "2026-04-07", + "days_vs_promised": 4, + "lead_time_days": 42 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000069", + "po_item": "00020", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-04", + "promised_date": "2026-04-06", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000069", + "first_gr_date": "2026-04-09", + "days_vs_promised": 3, + "lead_time_days": 36 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000056", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-25", + "promised_date": "2026-04-09", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000056", + "first_gr_date": "2026-04-10", + "days_vs_promised": 1, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000058", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-11", + "promised_date": "2026-04-07", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000058", + "first_gr_date": "2026-04-12", + "days_vs_promised": 5, + "lead_time_days": 32 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000071", + "po_item": "00040", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-17", + "promised_date": "2026-04-16", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000071", + "first_gr_date": "2026-04-13", + "days_vs_promised": -3, + "lead_time_days": 27 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000060", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-24", + "promised_date": "2026-04-13", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000060", + "first_gr_date": "2026-04-14", + "days_vs_promised": 1, + "lead_time_days": 21 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000048", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-25", + "promised_date": "2026-04-22", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000048", + "first_gr_date": "2026-04-22", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000050", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-04-07", + "promised_date": "2026-04-30", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000050", + "first_gr_date": "2026-04-27", + "days_vs_promised": -3, + "lead_time_days": 20 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000046", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-10", + "promised_date": "2026-04-26", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000046", + "first_gr_date": "2026-04-29", + "days_vs_promised": 3, + "lead_time_days": 50 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000047", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-18", + "promised_date": "2026-05-03", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000047", + "first_gr_date": "2026-05-01", + "days_vs_promised": -2, + "lead_time_days": 44 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000059", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000059", + "first_gr_date": "2026-05-01", + "days_vs_promised": 0, + "lead_time_days": 46 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000049", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-03-31", + "promised_date": "2026-05-09", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000049", + "first_gr_date": "2026-05-06", + "days_vs_promised": -3, + "lead_time_days": 36 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000074", + "po_item": "00020", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-04-08", + "promised_date": "2026-05-06", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000074", + "first_gr_date": "2026-05-06", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000063", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-13", + "promised_date": "2026-05-07", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000063", + "first_gr_date": "2026-05-07", + "days_vs_promised": 0, + "lead_time_days": 24 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000051", + "po_item": "00020", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-04-15", + "promised_date": "2026-05-11", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000051", + "first_gr_date": "2026-05-11", + "days_vs_promised": 0, + "lead_time_days": 26 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000070", + "po_item": "00030", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-09", + "promised_date": "2026-04-22", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000070", + "first_gr_date": "2026-05-12", + "days_vs_promised": 20, + "lead_time_days": 64 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000075", + "po_item": "00030", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-04-13", + "promised_date": "2026-05-18", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000075", + "first_gr_date": "2026-05-15", + "days_vs_promised": -3, + "lead_time_days": 32 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000061", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-01", + "promised_date": "2026-05-21", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000061", + "first_gr_date": "2026-05-18", + "days_vs_promised": -3, + "lead_time_days": 47 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000065", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-27", + "promised_date": "2026-05-19", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000065", + "first_gr_date": "2026-05-19", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000072", + "po_item": "00050", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-24", + "promised_date": "2026-05-03", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000072", + "first_gr_date": "2026-05-21", + "days_vs_promised": 18, + "lead_time_days": 58 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000062", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000062", + "first_gr_date": "2026-05-27", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000053", + "po_item": "00040", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-04-28", + "promised_date": "2026-05-29", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000053", + "first_gr_date": "2026-05-29", + "days_vs_promised": 0, + "lead_time_days": 31 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000077", + "po_item": "00050", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-04-29", + "promised_date": "2026-06-02", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000077", + "first_gr_date": "2026-06-02", + "days_vs_promised": 0, + "lead_time_days": 34 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000078", + "po_item": "00010", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-05-06", + "promised_date": "2026-06-06", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000078", + "first_gr_date": "2026-06-03", + "days_vs_promised": -3, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000076", + "po_item": "00040", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-04-20", + "promised_date": "2026-06-04", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000076", + "first_gr_date": "2026-06-04", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000064", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-21", + "promised_date": "2026-06-06", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000064", + "first_gr_date": "2026-06-05", + "days_vs_promised": -1, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000052", + "po_item": "00030", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-04-22", + "promised_date": "2026-06-06", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000052", + "first_gr_date": "2026-06-06", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000073", + "po_item": "00010", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-03-31", + "promised_date": "2026-05-08", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000073", + "first_gr_date": "2026-06-07", + "days_vs_promised": 30, + "lead_time_days": 68 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000079", + "po_item": "00020", + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "po_date": "2026-05-12", + "promised_date": "2026-06-09", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000079", + "first_gr_date": "2026-06-09", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000054", + "po_item": "00050", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-05-07", + "promised_date": "2026-06-13", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000054", + "first_gr_date": "2026-06-13", + "days_vs_promised": 0, + "lead_time_days": 37 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000055", + "po_item": "00010", + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "po_date": "2026-05-11", + "promised_date": "2026-06-15", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000055", + "first_gr_date": "2026-06-13", + "days_vs_promised": -2, + "lead_time_days": 33 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000066", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-05-04", + "promised_date": "2026-06-16", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000066", + "first_gr_date": "2026-06-16", + "days_vs_promised": 0, + "lead_time_days": 43 + }, + { + "matnr": "demo_highland_arabica", + "po_number": "4500000067", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-05-14", + "promised_date": "2026-06-04", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000067", + "first_gr_date": "2026-06-22", + "days_vs_promised": 18, + "lead_time_days": 39 + } + ] + }, + "ref_date_col": "first_gr_date", + "n_batches": null, + "n_movements": 14, + "yield_data": null, + "consumption_data": null, + "supplier_otif": { + "primary_vendor": { + "id": "D0002", + "name": "Cascadia Coffee Traders" + }, + "vendors": [ + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "n_lines": 56, + "n_late": 5, + "on_time_pct": 91.1, + "in_full_pct": 100.0, + "otif_pct": 91.1, + "mean_days_late_all": 0.29, + "mean_days_late_when_late": 3.2, + "median_days_late_when_late": 3, + "max_days_late": 6, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 8.9, + "ge_3d_pct": 5.4, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + } + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "n_lines": 12, + "n_late": 4, + "on_time_pct": 66.7, + "in_full_pct": 100.0, + "otif_pct": 66.7, + "mean_days_late_all": 2.08, + "mean_days_late_when_late": 6.2, + "median_days_late_when_late": 3.0, + "max_days_late": 18, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 33.3, + "ge_3d_pct": 16.7, + "ge_7d_pct": 8.3, + "ge_14d_pct": 8.3 + } + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "n_lines": 12, + "n_late": 5, + "on_time_pct": 58.3, + "in_full_pct": 100.0, + "otif_pct": 58.3, + "mean_days_late_all": 6.25, + "mean_days_late_when_late": 15, + "median_days_late_when_late": 18, + "max_days_late": 30, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 41.7, + "ge_3d_pct": 41.7, + "ge_7d_pct": 25.0, + "ge_14d_pct": 25.0 + } + } + ], + "worst_events": [ + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000073", + "po_item": "00010", + "po_date": "2026-03-31", + "promised_date": "2026-05-08", + "first_gr_date": "2026-06-07", + "days_late": 30, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000070", + "po_item": "00030", + "po_date": "2026-03-09", + "promised_date": "2026-04-22", + "first_gr_date": "2026-05-12", + "days_late": 20, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000067", + "po_item": "00020", + "po_date": "2026-05-14", + "promised_date": "2026-06-04", + "first_gr_date": "2026-06-22", + "days_late": 18, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000072", + "po_item": "00050", + "po_date": "2026-03-24", + "promised_date": "2026-05-03", + "first_gr_date": "2026-05-21", + "days_late": 18, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000011", + "po_item": "00020", + "po_date": "2025-07-07", + "promised_date": "2025-08-19", + "first_gr_date": "2025-08-25", + "days_late": 6, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000058", + "po_item": "00030", + "po_date": "2026-03-11", + "promised_date": "2026-04-07", + "first_gr_date": "2026-04-12", + "days_late": 5, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0 + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000007", + "po_item": "00030", + "po_date": "2025-06-11", + "promised_date": "2025-07-06", + "first_gr_date": "2025-07-10", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000068", + "po_item": "00010", + "po_date": "2026-02-24", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-07", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0 + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000046", + "po_item": "00020", + "po_date": "2026-03-10", + "promised_date": "2026-04-26", + "first_gr_date": "2026-04-29", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000069", + "po_item": "00020", + "po_date": "2026-03-04", + "promised_date": "2026-04-06", + "first_gr_date": "2026-04-09", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + } + ], + "coverage_pct": 100.0, + "n_lines": 80, + "data_quality_note": "100% in-full across every line \u2014 likely WEMNG = MENGE is auto-stamped at goods receipt rather than measured. Treat the in-full metric as a data-entry artifact at this site.", + "tolerance_days": 0, + "under_tolerance_pct": 0.05, + "lines": [ + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000000", + "po_item": "00010", + "po_date": "2025-04-23", + "promised_date": "2025-06-08", + "first_gr_date": "2025-06-06", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000001", + "po_item": "00020", + "po_date": "2025-05-01", + "promised_date": "2025-06-17", + "first_gr_date": "2025-06-15", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000002", + "po_item": "00030", + "po_date": "2025-05-06", + "promised_date": "2025-06-20", + "first_gr_date": "2025-06-20", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000003", + "po_item": "00040", + "po_date": "2025-05-14", + "promised_date": "2025-06-05", + "first_gr_date": "2025-06-03", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000004", + "po_item": "00050", + "po_date": "2025-05-22", + "promised_date": "2025-06-24", + "first_gr_date": "2025-06-21", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000005", + "po_item": "00010", + "po_date": "2025-05-27", + "promised_date": "2025-06-16", + "first_gr_date": "2025-06-13", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000006", + "po_item": "00020", + "po_date": "2025-06-02", + "promised_date": "2025-07-10", + "first_gr_date": "2025-07-09", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000007", + "po_item": "00030", + "po_date": "2025-06-11", + "promised_date": "2025-07-06", + "first_gr_date": "2025-07-10", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000008", + "po_item": "00040", + "po_date": "2025-06-19", + "promised_date": "2025-08-07", + "first_gr_date": "2025-08-07", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000009", + "po_item": "00050", + "po_date": "2025-06-25", + "promised_date": "2025-07-23", + "first_gr_date": "2025-07-21", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000010", + "po_item": "00010", + "po_date": "2025-06-30", + "promised_date": "2025-07-26", + "first_gr_date": "2025-07-26", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000011", + "po_item": "00020", + "po_date": "2025-07-07", + "promised_date": "2025-08-19", + "first_gr_date": "2025-08-25", + "days_late": 6, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000012", + "po_item": "00030", + "po_date": "2025-07-15", + "promised_date": "2025-08-07", + "first_gr_date": "2025-08-07", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000013", + "po_item": "00040", + "po_date": "2025-07-23", + "promised_date": "2025-08-20", + "first_gr_date": "2025-08-20", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000014", + "po_item": "00050", + "po_date": "2025-07-28", + "promised_date": "2025-08-23", + "first_gr_date": "2025-08-23", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000015", + "po_item": "00010", + "po_date": "2025-08-04", + "promised_date": "2025-08-27", + "first_gr_date": "2025-08-27", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000016", + "po_item": "00020", + "po_date": "2025-08-13", + "promised_date": "2025-09-25", + "first_gr_date": "2025-09-25", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000017", + "po_item": "00030", + "po_date": "2025-08-21", + "promised_date": "2025-10-05", + "first_gr_date": "2025-10-05", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000018", + "po_item": "00040", + "po_date": "2025-08-26", + "promised_date": "2025-10-12", + "first_gr_date": "2025-10-10", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000019", + "po_item": "00050", + "po_date": "2025-09-04", + "promised_date": "2025-09-28", + "first_gr_date": "2025-09-27", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000020", + "po_item": "00010", + "po_date": "2025-09-09", + "promised_date": "2025-10-03", + "first_gr_date": "2025-10-03", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000021", + "po_item": "00020", + "po_date": "2025-09-17", + "promised_date": "2025-10-22", + "first_gr_date": "2025-10-19", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000022", + "po_item": "00030", + "po_date": "2025-09-23", + "promised_date": "2025-10-17", + "first_gr_date": "2025-10-16", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000023", + "po_item": "00040", + "po_date": "2025-10-01", + "promised_date": "2025-10-29", + "first_gr_date": "2025-10-31", + "days_late": 2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000024", + "po_item": "00050", + "po_date": "2025-10-08", + "promised_date": "2025-11-01", + "first_gr_date": "2025-11-01", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000025", + "po_item": "00010", + "po_date": "2025-10-14", + "promised_date": "2025-11-19", + "first_gr_date": "2025-11-17", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000026", + "po_item": "00020", + "po_date": "2025-10-21", + "promised_date": "2025-12-04", + "first_gr_date": "2025-12-04", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000027", + "po_item": "00030", + "po_date": "2025-10-29", + "promised_date": "2025-12-01", + "first_gr_date": "2025-11-29", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000028", + "po_item": "00040", + "po_date": "2025-11-04", + "promised_date": "2025-12-03", + "first_gr_date": "2025-12-03", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000029", + "po_item": "00050", + "po_date": "2025-11-10", + "promised_date": "2025-12-19", + "first_gr_date": "2025-12-19", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000030", + "po_item": "00010", + "po_date": "2025-11-20", + "promised_date": "2025-12-23", + "first_gr_date": "2025-12-24", + "days_late": 1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000031", + "po_item": "00020", + "po_date": "2025-11-27", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-13", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000032", + "po_item": "00030", + "po_date": "2025-12-04", + "promised_date": "2026-01-17", + "first_gr_date": "2026-01-17", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000033", + "po_item": "00040", + "po_date": "2025-12-10", + "promised_date": "2026-01-15", + "first_gr_date": "2026-01-13", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000034", + "po_item": "00050", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-11", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000035", + "po_item": "00010", + "po_date": "2025-12-24", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-13", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000036", + "po_item": "00020", + "po_date": "2025-12-31", + "promised_date": "2026-02-01", + "first_gr_date": "2026-01-31", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000037", + "po_item": "00030", + "po_date": "2026-01-08", + "promised_date": "2026-02-10", + "first_gr_date": "2026-02-08", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000038", + "po_item": "00040", + "po_date": "2026-01-13", + "promised_date": "2026-02-13", + "first_gr_date": "2026-02-11", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000039", + "po_item": "00050", + "po_date": "2026-01-20", + "promised_date": "2026-03-01", + "first_gr_date": "2026-03-01", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000040", + "po_item": "00010", + "po_date": "2026-01-29", + "promised_date": "2026-02-25", + "first_gr_date": "2026-02-25", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000041", + "po_item": "00020", + "po_date": "2026-02-03", + "promised_date": "2026-03-07", + "first_gr_date": "2026-03-07", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000042", + "po_item": "00030", + "po_date": "2026-02-11", + "promised_date": "2026-03-18", + "first_gr_date": "2026-03-18", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000043", + "po_item": "00040", + "po_date": "2026-02-16", + "promised_date": "2026-03-23", + "first_gr_date": "2026-03-22", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000044", + "po_item": "00050", + "po_date": "2026-02-26", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-24", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000045", + "po_item": "00010", + "po_date": "2026-03-04", + "promised_date": "2026-03-27", + "first_gr_date": "2026-03-27", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000046", + "po_item": "00020", + "po_date": "2026-03-10", + "promised_date": "2026-04-26", + "first_gr_date": "2026-04-29", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000047", + "po_item": "00030", + "po_date": "2026-03-18", + "promised_date": "2026-05-03", + "first_gr_date": "2026-05-01", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000048", + "po_item": "00040", + "po_date": "2026-03-25", + "promised_date": "2026-04-22", + "first_gr_date": "2026-04-22", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000049", + "po_item": "00050", + "po_date": "2026-03-31", + "promised_date": "2026-05-09", + "first_gr_date": "2026-05-06", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000050", + "po_item": "00010", + "po_date": "2026-04-07", + "promised_date": "2026-04-30", + "first_gr_date": "2026-04-27", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000051", + "po_item": "00020", + "po_date": "2026-04-15", + "promised_date": "2026-05-11", + "first_gr_date": "2026-05-11", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000052", + "po_item": "00030", + "po_date": "2026-04-22", + "promised_date": "2026-06-06", + "first_gr_date": "2026-06-06", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000053", + "po_item": "00040", + "po_date": "2026-04-28", + "promised_date": "2026-05-29", + "first_gr_date": "2026-05-29", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000054", + "po_item": "00050", + "po_date": "2026-05-07", + "promised_date": "2026-06-13", + "first_gr_date": "2026-06-13", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0002", + "vendor_name": "Cascadia Coffee Traders", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000055", + "po_item": "00010", + "po_date": "2026-05-11", + "promised_date": "2026-06-15", + "first_gr_date": "2026-06-13", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000056", + "po_item": "00010", + "po_date": "2026-02-25", + "promised_date": "2026-04-09", + "first_gr_date": "2026-04-10", + "days_late": 1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000057", + "po_item": "00020", + "po_date": "2026-03-02", + "promised_date": "2026-04-01", + "first_gr_date": "2026-04-01", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000058", + "po_item": "00030", + "po_date": "2026-03-11", + "promised_date": "2026-04-07", + "first_gr_date": "2026-04-12", + "days_late": 5, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000059", + "po_item": "00040", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "first_gr_date": "2026-05-01", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000060", + "po_item": "00050", + "po_date": "2026-03-24", + "promised_date": "2026-04-13", + "first_gr_date": "2026-04-14", + "days_late": 1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000061", + "po_item": "00010", + "po_date": "2026-04-01", + "promised_date": "2026-05-21", + "first_gr_date": "2026-05-18", + "days_late": -3, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000062", + "po_item": "00020", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "first_gr_date": "2026-05-27", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000063", + "po_item": "00030", + "po_date": "2026-04-13", + "promised_date": "2026-05-07", + "first_gr_date": "2026-05-07", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000064", + "po_item": "00040", + "po_date": "2026-04-21", + "promised_date": "2026-06-06", + "first_gr_date": "2026-06-05", + "days_late": -1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000065", + "po_item": "00050", + "po_date": "2026-04-27", + "promised_date": "2026-05-19", + "first_gr_date": "2026-05-19", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000066", + "po_item": "00010", + "po_date": "2026-05-04", + "promised_date": "2026-06-16", + "first_gr_date": "2026-06-16", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000067", + "po_item": "00020", + "po_date": "2026-05-14", + "promised_date": "2026-06-04", + "first_gr_date": "2026-06-22", + "days_late": 18, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000068", + "po_item": "00010", + "po_date": "2026-02-24", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-07", + "days_late": 4, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000069", + "po_item": "00020", + "po_date": "2026-03-04", + "promised_date": "2026-04-06", + "first_gr_date": "2026-04-09", + "days_late": 3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000070", + "po_item": "00030", + "po_date": "2026-03-09", + "promised_date": "2026-04-22", + "first_gr_date": "2026-05-12", + "days_late": 20, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000071", + "po_item": "00040", + "po_date": "2026-03-17", + "promised_date": "2026-04-16", + "first_gr_date": "2026-04-13", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000072", + "po_item": "00050", + "po_date": "2026-03-24", + "promised_date": "2026-05-03", + "first_gr_date": "2026-05-21", + "days_late": 18, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000073", + "po_item": "00010", + "po_date": "2026-03-31", + "promised_date": "2026-05-08", + "first_gr_date": "2026-06-07", + "days_late": 30, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000074", + "po_item": "00020", + "po_date": "2026-04-08", + "promised_date": "2026-05-06", + "first_gr_date": "2026-05-06", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000075", + "po_item": "00030", + "po_date": "2026-04-13", + "promised_date": "2026-05-18", + "first_gr_date": "2026-05-15", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000076", + "po_item": "00040", + "po_date": "2026-04-20", + "promised_date": "2026-06-04", + "first_gr_date": "2026-06-04", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000077", + "po_item": "00050", + "po_date": "2026-04-29", + "promised_date": "2026-06-02", + "first_gr_date": "2026-06-02", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000078", + "po_item": "00010", + "po_date": "2026-05-06", + "promised_date": "2026-06-06", + "first_gr_date": "2026-06-03", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0006", + "vendor_name": "Latezone Trading Co.", + "matnr": "demo_highland_arabica", + "material_name": "Highland Arabica", + "po_number": "4500000079", + "po_item": "00020", + "po_date": "2026-05-12", + "promised_date": "2026-06-09", + "first_gr_date": "2026-06-09", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + } + ] + }, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/procurement_lowland_robusta.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/procurement_lowland_robusta.json new file mode 100644 index 00000000000..5dc3478c076 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/procurement_lowland_robusta.json @@ -0,0 +1,2575 @@ +{ + "id": "procurement_lowland_robusta", + "label": "Procurement: Lowland Robusta", + "type": "procurement", + "durations": [ + 37.8, 56.6, 5.9, 79.1, 29.5, 48.4, 17.7, 96.8, 44.8, 23.6, 61.4, 11.8, 51.9, + 33.0, 41.3, 21.2, 64.9, 30.7, 30.7, 34.2, 36.6, 40.1, 43.7, 30.7, 33.0, + 36.6, 38.9, 42.5, 38.9, 42.5, 44.8, 49.6, 33.0, 37.8, 41.3, 44.8, 28.3, + 33.0, 47.2, 50.7, 34.2, 38.9, 41.3, 47.2, 30.7, 34.2, 36.6, 40.1, 26.0, + 30.7, 33.0, 36.6, 38.9, 36.6, 38.9, 42.5, 44.8, 49.6, 35.4, 37.8, 41.3, + 44.8, 28.3 + ], + "observations": [ + { + "date": "2022-02-08", + "value": 37.8 + }, + { + "date": "2022-04-19", + "value": 56.6 + }, + { + "date": "2022-07-11", + "value": 5.9 + }, + { + "date": "2022-09-28", + "value": 79.1 + }, + { + "date": "2022-12-15", + "value": 29.5 + }, + { + "date": "2023-03-07", + "value": 48.4 + }, + { + "date": "2023-05-22", + "value": 17.7 + }, + { + "date": "2023-08-09", + "value": 96.8 + }, + { + "date": "2023-10-30", + "value": 44.8 + }, + { + "date": "2024-01-16", + "value": 23.6 + }, + { + "date": "2024-03-25", + "value": 61.4 + }, + { + "date": "2024-06-12", + "value": 11.8 + }, + { + "date": "2024-08-28", + "value": 51.9 + }, + { + "date": "2024-11-14", + "value": 33.0 + }, + { + "date": "2025-01-06", + "value": 41.3 + }, + { + "date": "2025-03-18", + "value": 21.2 + }, + { + "date": "2025-05-29", + "value": 64.9 + }, + { + "date": "2025-08-12", + "value": 30.7 + }, + { + "date": "2025-09-04", + "value": 30.7 + }, + { + "date": "2025-09-10", + "value": 34.2 + }, + { + "date": "2025-09-16", + "value": 36.6 + }, + { + "date": "2025-09-22", + "value": 40.1 + }, + { + "date": "2025-09-28", + "value": 43.7 + }, + { + "date": "2025-10-05", + "value": 30.7 + }, + { + "date": "2025-10-11", + "value": 33.0 + }, + { + "date": "2025-10-17", + "value": 36.6 + }, + { + "date": "2025-10-23", + "value": 38.9 + }, + { + "date": "2025-10-29", + "value": 42.5 + }, + { + "date": "2025-11-06", + "value": 38.9 + }, + { + "date": "2025-11-12", + "value": 42.5 + }, + { + "date": "2025-11-18", + "value": 44.8 + }, + { + "date": "2025-11-24", + "value": 49.6 + }, + { + "date": "2025-11-30", + "value": 33.0 + }, + { + "date": "2025-12-04", + "value": 37.8 + }, + { + "date": "2025-12-10", + "value": 41.3 + }, + { + "date": "2025-12-16", + "value": 44.8 + }, + { + "date": "2025-12-22", + "value": 28.3 + }, + { + "date": "2025-12-28", + "value": 33.0 + }, + { + "date": "2026-01-05", + "value": 47.2 + }, + { + "date": "2026-01-11", + "value": 50.7 + }, + { + "date": "2026-01-17", + "value": 34.2 + }, + { + "date": "2026-01-23", + "value": 38.9 + }, + { + "date": "2026-01-29", + "value": 41.3 + }, + { + "date": "2026-02-06", + "value": 47.2 + }, + { + "date": "2026-02-12", + "value": 30.7 + }, + { + "date": "2026-02-18", + "value": 34.2 + }, + { + "date": "2026-02-24", + "value": 36.6 + }, + { + "date": "2026-02-30", + "value": 40.1 + }, + { + "date": "2026-03-04", + "value": 26.0 + }, + { + "date": "2026-03-10", + "value": 30.7 + }, + { + "date": "2026-03-16", + "value": 33.0 + }, + { + "date": "2026-03-22", + "value": 36.6 + }, + { + "date": "2026-03-28", + "value": 38.9 + }, + { + "date": "2026-04-05", + "value": 36.6 + }, + { + "date": "2026-04-11", + "value": 38.9 + }, + { + "date": "2026-04-17", + "value": 42.5 + }, + { + "date": "2026-04-23", + "value": 44.8 + }, + { + "date": "2026-04-29", + "value": 49.6 + }, + { + "date": "2026-05-06", + "value": 35.4 + }, + { + "date": "2026-05-12", + "value": 37.8 + }, + { + "date": "2026-05-18", + "value": 41.3 + }, + { + "date": "2026-05-24", + "value": 44.8 + }, + { + "date": "2026-05-30", + "value": 28.3 + } + ], + "monthly": [ + { + "month": "2022-02", + "mean": 37.8, + "median": 37.8, + "p10": 37.8, + "p25": 37.8, + "p75": 37.8, + "p90": 37.8, + "n": 1 + }, + { + "month": "2022-04", + "mean": 56.6, + "median": 56.6, + "p10": 56.6, + "p25": 56.6, + "p75": 56.6, + "p90": 56.6, + "n": 1 + }, + { + "month": "2022-07", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2022-09", + "mean": 79.1, + "median": 79.1, + "p10": 79.1, + "p25": 79.1, + "p75": 79.1, + "p90": 79.1, + "n": 1 + }, + { + "month": "2022-12", + "mean": 29.5, + "median": 29.5, + "p10": 29.5, + "p25": 29.5, + "p75": 29.5, + "p90": 29.5, + "n": 1 + }, + { + "month": "2023-03", + "mean": 48.4, + "median": 48.4, + "p10": 48.4, + "p25": 48.4, + "p75": 48.4, + "p90": 48.4, + "n": 1 + }, + { + "month": "2023-05", + "mean": 17.7, + "median": 17.7, + "p10": 17.7, + "p25": 17.7, + "p75": 17.7, + "p90": 17.7, + "n": 1 + }, + { + "month": "2023-08", + "mean": 96.8, + "median": 96.8, + "p10": 96.8, + "p25": 96.8, + "p75": 96.8, + "p90": 96.8, + "n": 1 + }, + { + "month": "2023-10", + "mean": 44.8, + "median": 44.8, + "p10": 44.8, + "p25": 44.8, + "p75": 44.8, + "p90": 44.8, + "n": 1 + }, + { + "month": "2024-01", + "mean": 23.6, + "median": 23.6, + "p10": 23.6, + "p25": 23.6, + "p75": 23.6, + "p90": 23.6, + "n": 1 + }, + { + "month": "2024-03", + "mean": 61.4, + "median": 61.4, + "p10": 61.4, + "p25": 61.4, + "p75": 61.4, + "p90": 61.4, + "n": 1 + }, + { + "month": "2024-06", + "mean": 11.8, + "median": 11.8, + "p10": 11.8, + "p25": 11.8, + "p75": 11.8, + "p90": 11.8, + "n": 1 + }, + { + "month": "2024-08", + "mean": 51.9, + "median": 51.9, + "p10": 51.9, + "p25": 51.9, + "p75": 51.9, + "p90": 51.9, + "n": 1 + }, + { + "month": "2024-11", + "mean": 33.0, + "median": 33.0, + "p10": 33.0, + "p25": 33.0, + "p75": 33.0, + "p90": 33.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 41.3, + "median": 41.3, + "p10": 41.3, + "p25": 41.3, + "p75": 41.3, + "p90": 41.3, + "n": 1 + }, + { + "month": "2025-03", + "mean": 21.2, + "median": 21.2, + "p10": 21.2, + "p25": 21.2, + "p75": 21.2, + "p90": 21.2, + "n": 1 + }, + { + "month": "2025-05", + "mean": 64.9, + "median": 64.9, + "p10": 64.9, + "p25": 64.9, + "p75": 64.9, + "p90": 64.9, + "n": 1 + }, + { + "month": "2025-08", + "mean": 30.7, + "median": 30.7, + "p10": 30.7, + "p25": 30.7, + "p75": 30.7, + "p90": 30.7, + "n": 1 + }, + { + "month": "2025-09", + "mean": 37.1, + "median": 36.6, + "p10": 32.1, + "p25": 34.2, + "p75": 40.1, + "p90": 42.2, + "n": 5 + }, + { + "month": "2025-10", + "mean": 36.3, + "median": 36.6, + "p10": 31.6, + "p25": 33.0, + "p75": 38.9, + "p90": 41.1, + "n": 5 + }, + { + "month": "2025-11", + "mean": 41.8, + "median": 42.5, + "p10": 35.4, + "p25": 38.9, + "p75": 44.8, + "p90": 47.7, + "n": 5 + }, + { + "month": "2025-12", + "mean": 37.1, + "median": 37.8, + "p10": 30.2, + "p25": 33.0, + "p75": 41.3, + "p90": 43.4, + "n": 5 + }, + { + "month": "2026-01", + "mean": 42.5, + "median": 41.3, + "p10": 36.1, + "p25": 38.9, + "p75": 47.2, + "p90": 49.3, + "n": 5 + }, + { + "month": "2026-02", + "mean": 37.8, + "median": 36.6, + "p10": 32.1, + "p25": 34.2, + "p75": 40.1, + "p90": 44.4, + "n": 5 + }, + { + "month": "2026-03", + "mean": 33.0, + "median": 33.0, + "p10": 27.8, + "p25": 30.7, + "p75": 36.6, + "p90": 38.0, + "n": 5 + }, + { + "month": "2026-04", + "mean": 42.5, + "median": 42.5, + "p10": 37.5, + "p25": 38.9, + "p75": 44.8, + "p90": 47.7, + "n": 5 + }, + { + "month": "2026-05", + "mean": 37.5, + "median": 37.8, + "p10": 31.2, + "p25": 35.4, + "p75": 41.3, + "p90": 43.4, + "n": 5 + } + ], + "stats": { + "n": 63, + "mean": 39.4, + "median": 38.9, + "std": 11.4, + "min": 5.9, + "max": 96.8, + "p25": 33.0, + "p75": 44.8, + "p85": 47.2, + "p95": 56.6 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 96.8, + "annotations": [], + "cost": null, + "detail_rows": { + "columns": [ + { + "key": "matnr", + "sap_field": "MATNR", + "sap_table": "EKPO", + "label": "Material", + "unit": null + }, + { + "key": "po_number", + "sap_field": "EBELN", + "sap_table": "EKKO", + "label": "PO Number", + "unit": null + }, + { + "key": "po_item", + "sap_field": "EBELP", + "sap_table": "EKPO", + "label": "PO Item", + "unit": null + }, + { + "key": "vendor_id", + "sap_field": "LIFNR", + "sap_table": "EKKO", + "label": "Vendor (LIFNR)", + "unit": null + }, + { + "key": "vendor_name", + "sap_field": "NAME1", + "sap_table": "LFA1", + "label": "Vendor Name", + "unit": null + }, + { + "key": "po_date", + "sap_field": "BEDAT", + "sap_table": "EKKO", + "label": "PO Date", + "unit": null + }, + { + "key": "promised_date", + "sap_field": "EINDT", + "sap_table": "EKET", + "label": "Promised Date", + "unit": null + }, + { + "key": "sched_qty", + "sap_field": "MENGE", + "sap_table": "EKET", + "label": "Scheduled Qty", + "unit": null + }, + { + "key": "gr_qty_to_date", + "sap_field": "WEMNG", + "sap_table": "EKET", + "label": "GR Qty (to date)", + "unit": null + }, + { + "key": "gr_mblnr", + "sap_field": "MBLNR", + "sap_table": "MSEG", + "label": "Goods Receipt Document", + "unit": null + }, + { + "key": "first_gr_date", + "sap_field": "BUDAT", + "sap_table": "MKPF", + "label": "Goods Receipt Date", + "unit": null + }, + { + "key": "days_vs_promised", + "sap_field": null, + "sap_table": null, + "label": "Days vs Promised", + "unit": "d" + }, + { + "key": "lead_time_days", + "sap_field": null, + "sap_table": null, + "label": "Lead Time (days)", + "unit": "d" + } + ], + "rows": [ + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000081", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-08-07", + "promised_date": "2025-08-30", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000081", + "first_gr_date": "2025-08-29", + "days_vs_promised": -1, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000082", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-08-11", + "promised_date": "2025-09-05", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000082", + "first_gr_date": "2025-09-03", + "days_vs_promised": -2, + "lead_time_days": 23 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000080", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-07-29", + "promised_date": "2025-09-10", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000080", + "first_gr_date": "2025-09-08", + "days_vs_promised": -2, + "lead_time_days": 41 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000083", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-08-19", + "promised_date": "2025-09-16", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000083", + "first_gr_date": "2025-09-16", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000084", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-08-27", + "promised_date": "2025-10-02", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000084", + "first_gr_date": "2025-10-01", + "days_vs_promised": -1, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000086", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-10", + "promised_date": "2025-10-14", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000086", + "first_gr_date": "2025-10-14", + "days_vs_promised": 0, + "lead_time_days": 34 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000088", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-22", + "promised_date": "2025-10-14", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000088", + "first_gr_date": "2025-10-14", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000085", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-04", + "promised_date": "2025-10-21", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000085", + "first_gr_date": "2025-10-19", + "days_vs_promised": -2, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000087", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-15", + "promised_date": "2025-10-23", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000087", + "first_gr_date": "2025-10-22", + "days_vs_promised": -1, + "lead_time_days": 37 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000089", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-09-29", + "promised_date": "2025-11-02", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000089", + "first_gr_date": "2025-11-01", + "days_vs_promised": -1, + "lead_time_days": 33 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000090", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-10-08", + "promised_date": "2025-11-07", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000090", + "first_gr_date": "2025-11-06", + "days_vs_promised": -1, + "lead_time_days": 29 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000093", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-10-27", + "promised_date": "2025-11-23", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000093", + "first_gr_date": "2025-11-23", + "days_vs_promised": 0, + "lead_time_days": 27 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000094", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-11-04", + "promised_date": "2025-11-25", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000094", + "first_gr_date": "2025-11-25", + "days_vs_promised": 0, + "lead_time_days": 21 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000091", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-10-14", + "promised_date": "2025-12-02", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000091", + "first_gr_date": "2025-11-30", + "days_vs_promised": -2, + "lead_time_days": 47 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000092", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-10-20", + "promised_date": "2025-12-08", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000092", + "first_gr_date": "2025-12-07", + "days_vs_promised": -1, + "lead_time_days": 48 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000095", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-11-11", + "promised_date": "2025-12-23", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000095", + "first_gr_date": "2025-12-20", + "days_vs_promised": -3, + "lead_time_days": 39 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000099", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-09", + "promised_date": "2025-12-30", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000099", + "first_gr_date": "2025-12-27", + "days_vs_promised": -3, + "lead_time_days": 18 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000096", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-11-20", + "promised_date": "2025-12-28", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000096", + "first_gr_date": "2025-12-28", + "days_vs_promised": 0, + "lead_time_days": 38 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000098", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-03", + "promised_date": "2025-12-28", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000098", + "first_gr_date": "2025-12-28", + "days_vs_promised": 0, + "lead_time_days": 25 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000097", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-11-25", + "promised_date": "2025-12-31", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000097", + "first_gr_date": "2025-12-30", + "days_vs_promised": -1, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000101", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-23", + "promised_date": "2026-01-15", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000101", + "first_gr_date": "2026-01-15", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000102", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-31", + "promised_date": "2026-01-20", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000102", + "first_gr_date": "2026-01-20", + "days_vs_promised": 0, + "lead_time_days": 20 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000100", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2025-12-17", + "promised_date": "2026-02-04", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000100", + "first_gr_date": "2026-02-04", + "days_vs_promised": 0, + "lead_time_days": 49 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000122", + "po_item": "00010", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-01-12", + "promised_date": "2026-02-04", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000122", + "first_gr_date": "2026-02-04", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000104", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-01-14", + "promised_date": "2026-02-09", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000104", + "first_gr_date": "2026-02-08", + "days_vs_promised": -1, + "lead_time_days": 25 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000103", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-01-06", + "promised_date": "2026-02-13", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000103", + "first_gr_date": "2026-02-13", + "days_vs_promised": 0, + "lead_time_days": 38 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000105", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-01-19", + "promised_date": "2026-02-23", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000105", + "first_gr_date": "2026-02-23", + "days_vs_promised": 0, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000125", + "po_item": "00040", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-02-02", + "promised_date": "2026-02-24", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000125", + "first_gr_date": "2026-02-24", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000123", + "po_item": "00020", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-01-20", + "promised_date": "2026-02-27", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000123", + "first_gr_date": "2026-02-27", + "days_vs_promised": 0, + "lead_time_days": 38 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000107", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-02-05", + "promised_date": "2026-03-02", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000107", + "first_gr_date": "2026-03-02", + "days_vs_promised": 0, + "lead_time_days": 25 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000124", + "po_item": "00030", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-01-29", + "promised_date": "2026-03-10", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000124", + "first_gr_date": "2026-03-07", + "days_vs_promised": -3, + "lead_time_days": 37 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000106", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-01-27", + "promised_date": "2026-03-16", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000106", + "first_gr_date": "2026-03-13", + "days_vs_promised": -3, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000126", + "po_item": "00050", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-02-09", + "promised_date": "2026-03-14", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000126", + "first_gr_date": "2026-03-14", + "days_vs_promised": 0, + "lead_time_days": 33 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000127", + "po_item": "00010", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-02-17", + "promised_date": "2026-03-24", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000127", + "first_gr_date": "2026-03-23", + "days_vs_promised": -1, + "lead_time_days": 34 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000108", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-02-12", + "promised_date": "2026-03-24", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000108", + "first_gr_date": "2026-03-24", + "days_vs_promised": 0, + "lead_time_days": 40 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000128", + "po_item": "00020", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-02-23", + "promised_date": "2026-03-24", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000128", + "first_gr_date": "2026-03-24", + "days_vs_promised": 0, + "lead_time_days": 29 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000110", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-02-24", + "promised_date": "2026-03-27", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000110", + "first_gr_date": "2026-03-25", + "days_vs_promised": -2, + "lead_time_days": 29 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000109", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-02-17", + "promised_date": "2026-04-06", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000109", + "first_gr_date": "2026-04-06", + "days_vs_promised": 0, + "lead_time_days": 48 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000129", + "po_item": "00030", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-03-04", + "promised_date": "2026-04-11", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000129", + "first_gr_date": "2026-04-08", + "days_vs_promised": -3, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000114", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-03-23", + "promised_date": "2026-04-13", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000114", + "first_gr_date": "2026-04-11", + "days_vs_promised": -2, + "lead_time_days": 19 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000111", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-03-05", + "promised_date": "2026-04-15", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000111", + "first_gr_date": "2026-04-12", + "days_vs_promised": -3, + "lead_time_days": 38 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000112", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-03-09", + "promised_date": "2026-04-13", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000112", + "first_gr_date": "2026-04-13", + "days_vs_promised": 0, + "lead_time_days": 35 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000130", + "po_item": "00040", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-03-09", + "promised_date": "2026-04-17", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000130", + "first_gr_date": "2026-04-17", + "days_vs_promised": 0, + "lead_time_days": 39 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000115", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-01", + "promised_date": "2026-04-23", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000115", + "first_gr_date": "2026-04-23", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000134", + "po_item": "00030", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-06", + "promised_date": "2026-05-03", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000134", + "first_gr_date": "2026-04-30", + "days_vs_promised": -3, + "lead_time_days": 24 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000113", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-03-17", + "promised_date": "2026-05-04", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000113", + "first_gr_date": "2026-05-01", + "days_vs_promised": -3, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000131", + "po_item": "00050", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000131", + "first_gr_date": "2026-05-01", + "days_vs_promised": 0, + "lead_time_days": 46 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000117", + "po_item": "00030", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-15", + "promised_date": "2026-05-05", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000117", + "first_gr_date": "2026-05-05", + "days_vs_promised": 0, + "lead_time_days": 20 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000136", + "po_item": "00050", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-20", + "promised_date": "2026-05-10", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000136", + "first_gr_date": "2026-05-08", + "days_vs_promised": -2, + "lead_time_days": 18 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000132", + "po_item": "00010", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-03-25", + "promised_date": "2026-05-11", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000132", + "first_gr_date": "2026-05-09", + "days_vs_promised": -2, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000133", + "po_item": "00020", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-02", + "promised_date": "2026-05-13", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000133", + "first_gr_date": "2026-05-13", + "days_vs_promised": 0, + "lead_time_days": 41 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000135", + "po_item": "00040", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-15", + "promised_date": "2026-05-18", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000135", + "first_gr_date": "2026-05-18", + "days_vs_promised": 0, + "lead_time_days": 33 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000116", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-06", + "promised_date": "2026-05-21", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000116", + "first_gr_date": "2026-05-21", + "days_vs_promised": 0, + "lead_time_days": 45 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000138", + "po_item": "00020", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-05-06", + "promised_date": "2026-05-28", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000138", + "first_gr_date": "2026-05-28", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000118", + "po_item": "00040", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-20", + "promised_date": "2026-06-01", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000118", + "first_gr_date": "2026-05-31", + "days_vs_promised": -1, + "lead_time_days": 41 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000139", + "po_item": "00030", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-05-14", + "promised_date": "2026-06-03", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000139", + "first_gr_date": "2026-05-31", + "days_vs_promised": -3, + "lead_time_days": 17 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000137", + "po_item": "00010", + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "po_date": "2026-04-29", + "promised_date": "2026-06-01", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000137", + "first_gr_date": "2026-06-01", + "days_vs_promised": 0, + "lead_time_days": 33 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000120", + "po_item": "00010", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-05-06", + "promised_date": "2026-06-08", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000120", + "first_gr_date": "2026-06-05", + "days_vs_promised": -3, + "lead_time_days": 30 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000119", + "po_item": "00050", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-04-30", + "promised_date": "2026-06-17", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000119", + "first_gr_date": "2026-06-17", + "days_vs_promised": 0, + "lead_time_days": 48 + }, + { + "matnr": "demo_lowland_robusta", + "po_number": "4500000121", + "po_item": "00020", + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "po_date": "2026-05-13", + "promised_date": "2026-06-19", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000121", + "first_gr_date": "2026-06-19", + "days_vs_promised": 0, + "lead_time_days": 37 + } + ] + }, + "ref_date_col": "first_gr_date", + "n_batches": null, + "n_movements": 18, + "yield_data": null, + "consumption_data": null, + "supplier_otif": { + "primary_vendor": { + "id": "D0004", + "name": "Riverbend Reliable Supply" + }, + "vendors": [ + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "n_lines": 42, + "n_late": 0, + "on_time_pct": 100.0, + "in_full_pct": 100.0, + "otif_pct": 100.0, + "mean_days_late_all": 0, + "mean_days_late_when_late": null, + "median_days_late_when_late": null, + "max_days_late": 0, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 0.0, + "ge_3d_pct": 0.0, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + } + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "n_lines": 18, + "n_late": 0, + "on_time_pct": 100.0, + "in_full_pct": 100.0, + "otif_pct": 100.0, + "mean_days_late_all": 0, + "mean_days_late_when_late": null, + "median_days_late_when_late": null, + "max_days_late": 0, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 0.0, + "ge_3d_pct": 0.0, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + } + } + ], + "worst_events": [], + "coverage_pct": 100.0, + "n_lines": 60, + "data_quality_note": "100% in-full across every line \u2014 likely WEMNG = MENGE is auto-stamped at goods receipt rather than measured. Treat the in-full metric as a data-entry artifact at this site.", + "tolerance_days": 0, + "under_tolerance_pct": 0.05, + "lines": [ + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000080", + "po_item": "00010", + "po_date": "2025-07-29", + "promised_date": "2025-09-10", + "first_gr_date": "2025-09-08", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000081", + "po_item": "00020", + "po_date": "2025-08-07", + "promised_date": "2025-08-30", + "first_gr_date": "2025-08-29", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000082", + "po_item": "00030", + "po_date": "2025-08-11", + "promised_date": "2025-09-05", + "first_gr_date": "2025-09-03", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000083", + "po_item": "00040", + "po_date": "2025-08-19", + "promised_date": "2025-09-16", + "first_gr_date": "2025-09-16", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000084", + "po_item": "00050", + "po_date": "2025-08-27", + "promised_date": "2025-10-02", + "first_gr_date": "2025-10-01", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000085", + "po_item": "00010", + "po_date": "2025-09-04", + "promised_date": "2025-10-21", + "first_gr_date": "2025-10-19", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000086", + "po_item": "00020", + "po_date": "2025-09-10", + "promised_date": "2025-10-14", + "first_gr_date": "2025-10-14", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000087", + "po_item": "00030", + "po_date": "2025-09-15", + "promised_date": "2025-10-23", + "first_gr_date": "2025-10-22", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000088", + "po_item": "00040", + "po_date": "2025-09-22", + "promised_date": "2025-10-14", + "first_gr_date": "2025-10-14", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000089", + "po_item": "00050", + "po_date": "2025-09-29", + "promised_date": "2025-11-02", + "first_gr_date": "2025-11-01", + "days_late": -1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000090", + "po_item": "00010", + "po_date": "2025-10-08", + "promised_date": "2025-11-07", + "first_gr_date": "2025-11-06", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000091", + "po_item": "00020", + "po_date": "2025-10-14", + "promised_date": "2025-12-02", + "first_gr_date": "2025-11-30", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000092", + "po_item": "00030", + "po_date": "2025-10-20", + "promised_date": "2025-12-08", + "first_gr_date": "2025-12-07", + "days_late": -1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000093", + "po_item": "00040", + "po_date": "2025-10-27", + "promised_date": "2025-11-23", + "first_gr_date": "2025-11-23", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000094", + "po_item": "00050", + "po_date": "2025-11-04", + "promised_date": "2025-11-25", + "first_gr_date": "2025-11-25", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000095", + "po_item": "00010", + "po_date": "2025-11-11", + "promised_date": "2025-12-23", + "first_gr_date": "2025-12-20", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000096", + "po_item": "00020", + "po_date": "2025-11-20", + "promised_date": "2025-12-28", + "first_gr_date": "2025-12-28", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000097", + "po_item": "00030", + "po_date": "2025-11-25", + "promised_date": "2025-12-31", + "first_gr_date": "2025-12-30", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000098", + "po_item": "00040", + "po_date": "2025-12-03", + "promised_date": "2025-12-28", + "first_gr_date": "2025-12-28", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000099", + "po_item": "00050", + "po_date": "2025-12-09", + "promised_date": "2025-12-30", + "first_gr_date": "2025-12-27", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000100", + "po_item": "00010", + "po_date": "2025-12-17", + "promised_date": "2026-02-04", + "first_gr_date": "2026-02-04", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000101", + "po_item": "00020", + "po_date": "2025-12-23", + "promised_date": "2026-01-15", + "first_gr_date": "2026-01-15", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000102", + "po_item": "00030", + "po_date": "2025-12-31", + "promised_date": "2026-01-20", + "first_gr_date": "2026-01-20", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000103", + "po_item": "00040", + "po_date": "2026-01-06", + "promised_date": "2026-02-13", + "first_gr_date": "2026-02-13", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000104", + "po_item": "00050", + "po_date": "2026-01-14", + "promised_date": "2026-02-09", + "first_gr_date": "2026-02-08", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000105", + "po_item": "00010", + "po_date": "2026-01-19", + "promised_date": "2026-02-23", + "first_gr_date": "2026-02-23", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000106", + "po_item": "00020", + "po_date": "2026-01-27", + "promised_date": "2026-03-16", + "first_gr_date": "2026-03-13", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000107", + "po_item": "00030", + "po_date": "2026-02-05", + "promised_date": "2026-03-02", + "first_gr_date": "2026-03-02", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000108", + "po_item": "00040", + "po_date": "2026-02-12", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-24", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000109", + "po_item": "00050", + "po_date": "2026-02-17", + "promised_date": "2026-04-06", + "first_gr_date": "2026-04-06", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000110", + "po_item": "00010", + "po_date": "2026-02-24", + "promised_date": "2026-03-27", + "first_gr_date": "2026-03-25", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000111", + "po_item": "00020", + "po_date": "2026-03-05", + "promised_date": "2026-04-15", + "first_gr_date": "2026-04-12", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000112", + "po_item": "00030", + "po_date": "2026-03-09", + "promised_date": "2026-04-13", + "first_gr_date": "2026-04-13", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000113", + "po_item": "00040", + "po_date": "2026-03-17", + "promised_date": "2026-05-04", + "first_gr_date": "2026-05-01", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000114", + "po_item": "00050", + "po_date": "2026-03-23", + "promised_date": "2026-04-13", + "first_gr_date": "2026-04-11", + "days_late": -2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000115", + "po_item": "00010", + "po_date": "2026-04-01", + "promised_date": "2026-04-23", + "first_gr_date": "2026-04-23", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000116", + "po_item": "00020", + "po_date": "2026-04-06", + "promised_date": "2026-05-21", + "first_gr_date": "2026-05-21", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000117", + "po_item": "00030", + "po_date": "2026-04-15", + "promised_date": "2026-05-05", + "first_gr_date": "2026-05-05", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000118", + "po_item": "00040", + "po_date": "2026-04-20", + "promised_date": "2026-06-01", + "first_gr_date": "2026-05-31", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000119", + "po_item": "00050", + "po_date": "2026-04-30", + "promised_date": "2026-06-17", + "first_gr_date": "2026-06-17", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000120", + "po_item": "00010", + "po_date": "2026-05-06", + "promised_date": "2026-06-08", + "first_gr_date": "2026-06-05", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0004", + "vendor_name": "Riverbend Reliable Supply", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000121", + "po_item": "00020", + "po_date": "2026-05-13", + "promised_date": "2026-06-19", + "first_gr_date": "2026-06-19", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000122", + "po_item": "00010", + "po_date": "2026-01-12", + "promised_date": "2026-02-04", + "first_gr_date": "2026-02-04", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000123", + "po_item": "00020", + "po_date": "2026-01-20", + "promised_date": "2026-02-27", + "first_gr_date": "2026-02-27", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000124", + "po_item": "00030", + "po_date": "2026-01-29", + "promised_date": "2026-03-10", + "first_gr_date": "2026-03-07", + "days_late": -3, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000125", + "po_item": "00040", + "po_date": "2026-02-02", + "promised_date": "2026-02-24", + "first_gr_date": "2026-02-24", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000126", + "po_item": "00050", + "po_date": "2026-02-09", + "promised_date": "2026-03-14", + "first_gr_date": "2026-03-14", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000127", + "po_item": "00010", + "po_date": "2026-02-17", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-23", + "days_late": -1, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000128", + "po_item": "00020", + "po_date": "2026-02-23", + "promised_date": "2026-03-24", + "first_gr_date": "2026-03-24", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000129", + "po_item": "00030", + "po_date": "2026-03-04", + "promised_date": "2026-04-11", + "first_gr_date": "2026-04-08", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000130", + "po_item": "00040", + "po_date": "2026-03-09", + "promised_date": "2026-04-17", + "first_gr_date": "2026-04-17", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000131", + "po_item": "00050", + "po_date": "2026-03-16", + "promised_date": "2026-05-01", + "first_gr_date": "2026-05-01", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000132", + "po_item": "00010", + "po_date": "2026-03-25", + "promised_date": "2026-05-11", + "first_gr_date": "2026-05-09", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000133", + "po_item": "00020", + "po_date": "2026-04-02", + "promised_date": "2026-05-13", + "first_gr_date": "2026-05-13", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000134", + "po_item": "00030", + "po_date": "2026-04-06", + "promised_date": "2026-05-03", + "first_gr_date": "2026-04-30", + "days_late": -3, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000135", + "po_item": "00040", + "po_date": "2026-04-15", + "promised_date": "2026-05-18", + "first_gr_date": "2026-05-18", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000136", + "po_item": "00050", + "po_date": "2026-04-20", + "promised_date": "2026-05-10", + "first_gr_date": "2026-05-08", + "days_late": -2, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000137", + "po_item": "00010", + "po_date": "2026-04-29", + "promised_date": "2026-06-01", + "first_gr_date": "2026-06-01", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000138", + "po_item": "00020", + "po_date": "2026-05-06", + "promised_date": "2026-05-28", + "first_gr_date": "2026-05-28", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0001", + "vendor_name": "Andes Highland Coffee Co.", + "matnr": "demo_lowland_robusta", + "material_name": "Lowland Robusta", + "po_number": "4500000139", + "po_item": "00030", + "po_date": "2026-05-14", + "promised_date": "2026-06-03", + "first_gr_date": "2026-05-31", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + } + ] + }, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/procurement_washed_bourbon.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/procurement_washed_bourbon.json new file mode 100644 index 00000000000..e7ce8b6acd7 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/procurement_washed_bourbon.json @@ -0,0 +1,2251 @@ +{ + "id": "procurement_washed_bourbon", + "label": "Procurement: Washed Bourbon", + "type": "procurement", + "durations": [ + 41.3, 18.9, 73.2, 8.3, 47.2, 29.5, 56.6, 14.2, 35.4, 16.5, 35.4, 22.4, 26.0, + 27.1, 29.5, 27.1, 29.5, 31.9, 34.2, 36.6, 27.1, 29.5, 31.9, 34.2, 36.6, + 26.0, 28.3, 30.7, 33.0, 21.2, 33.0, 35.4, 37.8, 26.0, 28.3, 31.9, 35.4, + 22.4, 26.0, 27.1, 40.1, 27.1, 29.5, 31.9, 34.2, 23.6, 27.1, 29.5, 31.9, + 34.2, 23.6, 26.0, 28.3, 30.7, 33.0 + ], + "observations": [ + { + "date": "2022-05-03", + "value": 41.3 + }, + { + "date": "2022-10-18", + "value": 18.9 + }, + { + "date": "2023-01-24", + "value": 73.2 + }, + { + "date": "2023-06-15", + "value": 8.3 + }, + { + "date": "2023-09-28", + "value": 47.2 + }, + { + "date": "2024-02-12", + "value": 29.5 + }, + { + "date": "2024-05-07", + "value": 56.6 + }, + { + "date": "2024-09-19", + "value": 14.2 + }, + { + "date": "2025-02-04", + "value": 35.4 + }, + { + "date": "2025-06-10", + "value": 16.5 + }, + { + "date": "2025-09-06", + "value": 35.4 + }, + { + "date": "2025-09-12", + "value": 22.4 + }, + { + "date": "2025-09-18", + "value": 26.0 + }, + { + "date": "2025-09-24", + "value": 27.1 + }, + { + "date": "2025-09-30", + "value": 29.5 + }, + { + "date": "2025-10-04", + "value": 27.1 + }, + { + "date": "2025-10-10", + "value": 29.5 + }, + { + "date": "2025-10-16", + "value": 31.9 + }, + { + "date": "2025-10-22", + "value": 34.2 + }, + { + "date": "2025-10-28", + "value": 36.6 + }, + { + "date": "2025-11-05", + "value": 27.1 + }, + { + "date": "2025-11-11", + "value": 29.5 + }, + { + "date": "2025-11-17", + "value": 31.9 + }, + { + "date": "2025-11-23", + "value": 34.2 + }, + { + "date": "2025-11-29", + "value": 36.6 + }, + { + "date": "2025-12-06", + "value": 26.0 + }, + { + "date": "2025-12-12", + "value": 28.3 + }, + { + "date": "2025-12-18", + "value": 30.7 + }, + { + "date": "2025-12-24", + "value": 33.0 + }, + { + "date": "2025-12-30", + "value": 21.2 + }, + { + "date": "2026-01-04", + "value": 33.0 + }, + { + "date": "2026-01-10", + "value": 35.4 + }, + { + "date": "2026-01-16", + "value": 37.8 + }, + { + "date": "2026-01-22", + "value": 26.0 + }, + { + "date": "2026-01-28", + "value": 28.3 + }, + { + "date": "2026-02-05", + "value": 31.9 + }, + { + "date": "2026-02-11", + "value": 35.4 + }, + { + "date": "2026-02-17", + "value": 22.4 + }, + { + "date": "2026-02-23", + "value": 26.0 + }, + { + "date": "2026-02-29", + "value": 27.1 + }, + { + "date": "2026-03-06", + "value": 40.1 + }, + { + "date": "2026-03-12", + "value": 27.1 + }, + { + "date": "2026-03-18", + "value": 29.5 + }, + { + "date": "2026-03-24", + "value": 31.9 + }, + { + "date": "2026-03-30", + "value": 34.2 + }, + { + "date": "2026-04-04", + "value": 23.6 + }, + { + "date": "2026-04-10", + "value": 27.1 + }, + { + "date": "2026-04-16", + "value": 29.5 + }, + { + "date": "2026-04-22", + "value": 31.9 + }, + { + "date": "2026-04-28", + "value": 34.2 + }, + { + "date": "2026-05-05", + "value": 23.6 + }, + { + "date": "2026-05-11", + "value": 26.0 + }, + { + "date": "2026-05-17", + "value": 28.3 + }, + { + "date": "2026-05-23", + "value": 30.7 + }, + { + "date": "2026-05-29", + "value": 33.0 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 41.3, + "median": 41.3, + "p10": 41.3, + "p25": 41.3, + "p75": 41.3, + "p90": 41.3, + "n": 1 + }, + { + "month": "2022-10", + "mean": 18.9, + "median": 18.9, + "p10": 18.9, + "p25": 18.9, + "p75": 18.9, + "p90": 18.9, + "n": 1 + }, + { + "month": "2023-01", + "mean": 73.2, + "median": 73.2, + "p10": 73.2, + "p25": 73.2, + "p75": 73.2, + "p90": 73.2, + "n": 1 + }, + { + "month": "2023-06", + "mean": 8.3, + "median": 8.3, + "p10": 8.3, + "p25": 8.3, + "p75": 8.3, + "p90": 8.3, + "n": 1 + }, + { + "month": "2023-09", + "mean": 47.2, + "median": 47.2, + "p10": 47.2, + "p25": 47.2, + "p75": 47.2, + "p90": 47.2, + "n": 1 + }, + { + "month": "2024-02", + "mean": 29.5, + "median": 29.5, + "p10": 29.5, + "p25": 29.5, + "p75": 29.5, + "p90": 29.5, + "n": 1 + }, + { + "month": "2024-05", + "mean": 56.6, + "median": 56.6, + "p10": 56.6, + "p25": 56.6, + "p75": 56.6, + "p90": 56.6, + "n": 1 + }, + { + "month": "2024-09", + "mean": 14.2, + "median": 14.2, + "p10": 14.2, + "p25": 14.2, + "p75": 14.2, + "p90": 14.2, + "n": 1 + }, + { + "month": "2025-02", + "mean": 35.4, + "median": 35.4, + "p10": 35.4, + "p25": 35.4, + "p75": 35.4, + "p90": 35.4, + "n": 1 + }, + { + "month": "2025-06", + "mean": 16.5, + "median": 16.5, + "p10": 16.5, + "p25": 16.5, + "p75": 16.5, + "p90": 16.5, + "n": 1 + }, + { + "month": "2025-09", + "mean": 28.1, + "median": 27.1, + "p10": 23.8, + "p25": 26.0, + "p75": 29.5, + "p90": 33.0, + "n": 5 + }, + { + "month": "2025-10", + "mean": 31.9, + "median": 31.9, + "p10": 28.1, + "p25": 29.5, + "p75": 34.2, + "p90": 35.6, + "n": 5 + }, + { + "month": "2025-11", + "mean": 31.9, + "median": 31.9, + "p10": 28.1, + "p25": 29.5, + "p75": 34.2, + "p90": 35.6, + "n": 5 + }, + { + "month": "2025-12", + "mean": 27.8, + "median": 28.3, + "p10": 23.1, + "p25": 26.0, + "p75": 30.7, + "p90": 32.1, + "n": 5 + }, + { + "month": "2026-01", + "mean": 32.1, + "median": 33.0, + "p10": 26.9, + "p25": 28.3, + "p75": 35.4, + "p90": 36.8, + "n": 5 + }, + { + "month": "2026-02", + "mean": 28.6, + "median": 27.1, + "p10": 23.8, + "p25": 26.0, + "p75": 31.9, + "p90": 34.0, + "n": 5 + }, + { + "month": "2026-03", + "mean": 32.6, + "median": 31.9, + "p10": 28.1, + "p25": 29.5, + "p75": 34.2, + "p90": 37.8, + "n": 5 + }, + { + "month": "2026-04", + "mean": 29.3, + "median": 29.5, + "p10": 25.0, + "p25": 27.1, + "p75": 31.9, + "p90": 33.3, + "n": 5 + }, + { + "month": "2026-05", + "mean": 28.3, + "median": 28.3, + "p10": 24.5, + "p25": 26.0, + "p75": 30.7, + "p90": 32.1, + "n": 5 + } + ], + "stats": { + "n": 55, + "mean": 30.8, + "median": 29.5, + "std": 8.0, + "min": 8.3, + "max": 73.2, + "p25": 26.0, + "p75": 34.2, + "p85": 35.4, + "p95": 41.3 + }, + "plifz": 7, + "plifz_note": null, + "pct_exceeding_plifz": 98.2, + "annotations": [], + "cost": null, + "detail_rows": { + "columns": [ + { + "key": "matnr", + "sap_field": "MATNR", + "sap_table": "EKPO", + "label": "Material", + "unit": null + }, + { + "key": "po_number", + "sap_field": "EBELN", + "sap_table": "EKKO", + "label": "PO Number", + "unit": null + }, + { + "key": "po_item", + "sap_field": "EBELP", + "sap_table": "EKPO", + "label": "PO Item", + "unit": null + }, + { + "key": "vendor_id", + "sap_field": "LIFNR", + "sap_table": "EKKO", + "label": "Vendor (LIFNR)", + "unit": null + }, + { + "key": "vendor_name", + "sap_field": "NAME1", + "sap_table": "LFA1", + "label": "Vendor Name", + "unit": null + }, + { + "key": "po_date", + "sap_field": "BEDAT", + "sap_table": "EKKO", + "label": "PO Date", + "unit": null + }, + { + "key": "promised_date", + "sap_field": "EINDT", + "sap_table": "EKET", + "label": "Promised Date", + "unit": null + }, + { + "key": "sched_qty", + "sap_field": "MENGE", + "sap_table": "EKET", + "label": "Scheduled Qty", + "unit": null + }, + { + "key": "gr_qty_to_date", + "sap_field": "WEMNG", + "sap_table": "EKET", + "label": "GR Qty (to date)", + "unit": null + }, + { + "key": "gr_mblnr", + "sap_field": "MBLNR", + "sap_table": "MSEG", + "label": "Goods Receipt Document", + "unit": null + }, + { + "key": "first_gr_date", + "sap_field": "BUDAT", + "sap_table": "MKPF", + "label": "Goods Receipt Date", + "unit": null + }, + { + "key": "days_vs_promised", + "sap_field": null, + "sap_table": null, + "label": "Days vs Promised", + "unit": "d" + }, + { + "key": "lead_time_days", + "sap_field": null, + "sap_table": null, + "label": "Lead Time (days)", + "unit": "d" + } + ], + "rows": [ + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000142", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-09-29", + "promised_date": "2025-10-29", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000142", + "first_gr_date": "2025-10-29", + "days_vs_promised": 0, + "lead_time_days": 30 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000141", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-09-23", + "promised_date": "2025-11-02", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000141", + "first_gr_date": "2025-11-02", + "days_vs_promised": 0, + "lead_time_days": 40 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000140", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-09-18", + "promised_date": "2025-10-14", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000140", + "first_gr_date": "2025-11-07", + "days_vs_promised": 24, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000143", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-10-09", + "promised_date": "2025-11-07", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000143", + "first_gr_date": "2025-11-07", + "days_vs_promised": 0, + "lead_time_days": 29 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000144", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-10-13", + "promised_date": "2025-11-10", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000144", + "first_gr_date": "2025-11-10", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000146", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-10-28", + "promised_date": "2025-12-05", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000146", + "first_gr_date": "2025-12-03", + "days_vs_promised": -2, + "lead_time_days": 36 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000145", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-10-22", + "promised_date": "2025-12-11", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000145", + "first_gr_date": "2025-12-11", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000148", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-11-10", + "promised_date": "2025-12-21", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000148", + "first_gr_date": "2025-12-21", + "days_vs_promised": 0, + "lead_time_days": 41 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000147", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-11-03", + "promised_date": "2025-12-23", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000147", + "first_gr_date": "2025-12-23", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000150", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-11-24", + "promised_date": "2026-01-09", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000150", + "first_gr_date": "2026-01-06", + "days_vs_promised": -3, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000149", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-11-18", + "promised_date": "2026-01-07", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000149", + "first_gr_date": "2026-01-07", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000151", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-01", + "promised_date": "2026-01-16", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000151", + "first_gr_date": "2026-01-13", + "days_vs_promised": -3, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000153", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000153", + "first_gr_date": "2026-01-13", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000155", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-29", + "promised_date": "2026-01-20", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000155", + "first_gr_date": "2026-01-20", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000152", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-08", + "promised_date": "2026-01-26", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000152", + "first_gr_date": "2026-01-26", + "days_vs_promised": 0, + "lead_time_days": 49 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000154", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2025-12-22", + "promised_date": "2026-02-02", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000154", + "first_gr_date": "2026-01-31", + "days_vs_promised": -2, + "lead_time_days": 40 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000156", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-01-07", + "promised_date": "2026-02-17", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000156", + "first_gr_date": "2026-02-14", + "days_vs_promised": -3, + "lead_time_days": 38 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000158", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-01-21", + "promised_date": "2026-02-15", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000158", + "first_gr_date": "2026-02-15", + "days_vs_promised": 0, + "lead_time_days": 25 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000157", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-01-15", + "promised_date": "2026-02-27", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000157", + "first_gr_date": "2026-02-27", + "days_vs_promised": 0, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000159", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-01-27", + "promised_date": "2026-03-06", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000159", + "first_gr_date": "2026-03-06", + "days_vs_promised": 0, + "lead_time_days": 38 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000176", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-12", + "promised_date": "2026-03-07", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000176", + "first_gr_date": "2026-03-07", + "days_vs_promised": 0, + "lead_time_days": 23 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000160", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-02-02", + "promised_date": "2026-03-08", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000160", + "first_gr_date": "2026-03-08", + "days_vs_promised": 0, + "lead_time_days": 34 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000175", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-03", + "promised_date": "2026-03-10", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000175", + "first_gr_date": "2026-03-10", + "days_vs_promised": 0, + "lead_time_days": 35 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000178", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-25", + "promised_date": "2026-03-19", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000178", + "first_gr_date": "2026-03-19", + "days_vs_promised": 0, + "lead_time_days": 22 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000161", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-02-12", + "promised_date": "2026-03-19", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000161", + "first_gr_date": "2026-03-20", + "days_vs_promised": 1, + "lead_time_days": 36 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000179", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-04", + "promised_date": "2026-03-30", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000179", + "first_gr_date": "2026-03-29", + "days_vs_promised": -1, + "lead_time_days": 25 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000162", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-02-17", + "promised_date": "2026-03-20", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000162", + "first_gr_date": "2026-04-01", + "days_vs_promised": 12, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000180", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-12", + "promised_date": "2026-04-02", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000180", + "first_gr_date": "2026-04-02", + "days_vs_promised": 0, + "lead_time_days": 21 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000177", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-02-17", + "promised_date": "2026-04-03", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000177", + "first_gr_date": "2026-04-05", + "days_vs_promised": 2, + "lead_time_days": 47 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000165", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-10", + "promised_date": "2026-04-07", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000165", + "first_gr_date": "2026-04-07", + "days_vs_promised": 0, + "lead_time_days": 28 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000164", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-03", + "promised_date": "2026-04-10", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000164", + "first_gr_date": "2026-04-09", + "days_vs_promised": -1, + "lead_time_days": 37 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000163", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-02-23", + "promised_date": "2026-04-10", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000163", + "first_gr_date": "2026-04-10", + "days_vs_promised": 0, + "lead_time_days": 46 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000166", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-17", + "promised_date": "2026-04-11", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000166", + "first_gr_date": "2026-04-10", + "days_vs_promised": -1, + "lead_time_days": 24 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000167", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-26", + "promised_date": "2026-04-16", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000167", + "first_gr_date": "2026-04-16", + "days_vs_promised": 0, + "lead_time_days": 21 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000181", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-19", + "promised_date": "2026-04-24", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000181", + "first_gr_date": "2026-04-24", + "days_vs_promised": 0, + "lead_time_days": 36 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000182", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-03-24", + "promised_date": "2026-04-28", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000182", + "first_gr_date": "2026-04-25", + "days_vs_promised": -3, + "lead_time_days": 32 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000183", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-01", + "promised_date": "2026-04-26", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000183", + "first_gr_date": "2026-04-26", + "days_vs_promised": 0, + "lead_time_days": 25 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000168", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-03-30", + "promised_date": "2026-05-01", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000168", + "first_gr_date": "2026-04-30", + "days_vs_promised": -1, + "lead_time_days": 31 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000171", + "po_item": "00020", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-04-23", + "promised_date": "2026-05-14", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000171", + "first_gr_date": "2026-05-11", + "days_vs_promised": -3, + "lead_time_days": 18 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000185", + "po_item": "00010", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-14", + "promised_date": "2026-05-11", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000185", + "first_gr_date": "2026-05-11", + "days_vs_promised": 0, + "lead_time_days": 27 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000184", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-06", + "promised_date": "2026-05-16", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000184", + "first_gr_date": "2026-05-16", + "days_vs_promised": 0, + "lead_time_days": 40 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000169", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000169", + "first_gr_date": "2026-05-27", + "days_vs_promised": 0, + "lead_time_days": 50 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000170", + "po_item": "00010", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-04-14", + "promised_date": "2026-05-29", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000170", + "first_gr_date": "2026-05-27", + "days_vs_promised": -2, + "lead_time_days": 43 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000174", + "po_item": "00050", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-05-13", + "promised_date": "2026-06-05", + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "gr_mblnr": "5000000174", + "first_gr_date": "2026-06-03", + "days_vs_promised": -2, + "lead_time_days": 21 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000172", + "po_item": "00030", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-04-30", + "promised_date": "2026-06-11", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000172", + "first_gr_date": "2026-06-09", + "days_vs_promised": -2, + "lead_time_days": 40 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000186", + "po_item": "00020", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-21", + "promised_date": "2026-06-10", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000186", + "first_gr_date": "2026-06-15", + "days_vs_promised": 5, + "lead_time_days": 55 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000189", + "po_item": "00050", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-05-12", + "promised_date": "2026-06-16", + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "gr_mblnr": "5000000189", + "first_gr_date": "2026-06-17", + "days_vs_promised": 1, + "lead_time_days": 36 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000187", + "po_item": "00030", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-04-30", + "promised_date": "2026-06-18", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000187", + "first_gr_date": "2026-06-18", + "days_vs_promised": 0, + "lead_time_days": 49 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000188", + "po_item": "00040", + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "po_date": "2026-05-04", + "promised_date": "2026-06-21", + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "gr_mblnr": "5000000188", + "first_gr_date": "2026-06-21", + "days_vs_promised": 0, + "lead_time_days": 48 + }, + { + "matnr": "demo_washed_bourbon", + "po_number": "4500000173", + "po_item": "00040", + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "po_date": "2026-05-05", + "promised_date": "2026-06-24", + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "gr_mblnr": "5000000173", + "first_gr_date": "2026-07-02", + "days_vs_promised": 8, + "lead_time_days": 58 + } + ] + }, + "ref_date_col": "first_gr_date", + "n_batches": null, + "n_movements": 10, + "yield_data": null, + "consumption_data": null, + "supplier_otif": { + "primary_vendor": { + "id": "D0005", + "name": "Midland Mid-Tier Partners" + }, + "vendors": [ + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "n_lines": 35, + "n_late": 4, + "on_time_pct": 88.6, + "in_full_pct": 100.0, + "otif_pct": 88.6, + "mean_days_late_all": 1.29, + "mean_days_late_when_late": 11.2, + "median_days_late_when_late": 10.0, + "max_days_late": 24, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 11.4, + "ge_3d_pct": 8.6, + "ge_7d_pct": 8.6, + "ge_14d_pct": 2.9 + } + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "n_lines": 15, + "n_late": 3, + "on_time_pct": 80.0, + "in_full_pct": 100.0, + "otif_pct": 80.0, + "mean_days_late_all": 0.53, + "mean_days_late_when_late": 2.7, + "median_days_late_when_late": 2, + "max_days_late": 5, + "fill_rate_pct": 100.0, + "late_buckets": { + "ge_1d_pct": 20.0, + "ge_3d_pct": 6.7, + "ge_7d_pct": 0.0, + "ge_14d_pct": 0.0 + } + } + ], + "worst_events": [ + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000140", + "po_item": "00010", + "po_date": "2025-09-18", + "promised_date": "2025-10-14", + "first_gr_date": "2025-11-07", + "days_late": 24, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000162", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-03-20", + "first_gr_date": "2026-04-01", + "days_late": 12, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000173", + "po_item": "00040", + "po_date": "2026-05-05", + "promised_date": "2026-06-24", + "first_gr_date": "2026-07-02", + "days_late": 8, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000186", + "po_item": "00020", + "po_date": "2026-04-21", + "promised_date": "2026-06-10", + "first_gr_date": "2026-06-15", + "days_late": 5, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000177", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-05", + "days_late": 2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0 + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000161", + "po_item": "00020", + "po_date": "2026-02-12", + "promised_date": "2026-03-19", + "first_gr_date": "2026-03-20", + "days_late": 1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0 + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000189", + "po_item": "00050", + "po_date": "2026-05-12", + "promised_date": "2026-06-16", + "first_gr_date": "2026-06-17", + "days_late": 1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0 + } + ], + "coverage_pct": 100.0, + "n_lines": 50, + "data_quality_note": "100% in-full across every line \u2014 likely WEMNG = MENGE is auto-stamped at goods receipt rather than measured. Treat the in-full metric as a data-entry artifact at this site.", + "tolerance_days": 0, + "under_tolerance_pct": 0.05, + "lines": [ + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000140", + "po_item": "00010", + "po_date": "2025-09-18", + "promised_date": "2025-10-14", + "first_gr_date": "2025-11-07", + "days_late": 24, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000141", + "po_item": "00020", + "po_date": "2025-09-23", + "promised_date": "2025-11-02", + "first_gr_date": "2025-11-02", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000142", + "po_item": "00030", + "po_date": "2025-09-29", + "promised_date": "2025-10-29", + "first_gr_date": "2025-10-29", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000143", + "po_item": "00040", + "po_date": "2025-10-09", + "promised_date": "2025-11-07", + "first_gr_date": "2025-11-07", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000144", + "po_item": "00050", + "po_date": "2025-10-13", + "promised_date": "2025-11-10", + "first_gr_date": "2025-11-10", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000145", + "po_item": "00010", + "po_date": "2025-10-22", + "promised_date": "2025-12-11", + "first_gr_date": "2025-12-11", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000146", + "po_item": "00020", + "po_date": "2025-10-28", + "promised_date": "2025-12-05", + "first_gr_date": "2025-12-03", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000147", + "po_item": "00030", + "po_date": "2025-11-03", + "promised_date": "2025-12-23", + "first_gr_date": "2025-12-23", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000148", + "po_item": "00040", + "po_date": "2025-11-10", + "promised_date": "2025-12-21", + "first_gr_date": "2025-12-21", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000149", + "po_item": "00050", + "po_date": "2025-11-18", + "promised_date": "2026-01-07", + "first_gr_date": "2026-01-07", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000150", + "po_item": "00010", + "po_date": "2025-11-24", + "promised_date": "2026-01-09", + "first_gr_date": "2026-01-06", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000151", + "po_item": "00020", + "po_date": "2025-12-01", + "promised_date": "2026-01-16", + "first_gr_date": "2026-01-13", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000152", + "po_item": "00030", + "po_date": "2025-12-08", + "promised_date": "2026-01-26", + "first_gr_date": "2026-01-26", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000153", + "po_item": "00040", + "po_date": "2025-12-16", + "promised_date": "2026-01-13", + "first_gr_date": "2026-01-13", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000154", + "po_item": "00050", + "po_date": "2025-12-22", + "promised_date": "2026-02-02", + "first_gr_date": "2026-01-31", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000155", + "po_item": "00010", + "po_date": "2025-12-29", + "promised_date": "2026-01-20", + "first_gr_date": "2026-01-20", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000156", + "po_item": "00020", + "po_date": "2026-01-07", + "promised_date": "2026-02-17", + "first_gr_date": "2026-02-14", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000157", + "po_item": "00030", + "po_date": "2026-01-15", + "promised_date": "2026-02-27", + "first_gr_date": "2026-02-27", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000158", + "po_item": "00040", + "po_date": "2026-01-21", + "promised_date": "2026-02-15", + "first_gr_date": "2026-02-15", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000159", + "po_item": "00050", + "po_date": "2026-01-27", + "promised_date": "2026-03-06", + "first_gr_date": "2026-03-06", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000160", + "po_item": "00010", + "po_date": "2026-02-02", + "promised_date": "2026-03-08", + "first_gr_date": "2026-03-08", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000161", + "po_item": "00020", + "po_date": "2026-02-12", + "promised_date": "2026-03-19", + "first_gr_date": "2026-03-20", + "days_late": 1, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000162", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-03-20", + "first_gr_date": "2026-04-01", + "days_late": 12, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000163", + "po_item": "00040", + "po_date": "2026-02-23", + "promised_date": "2026-04-10", + "first_gr_date": "2026-04-10", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000164", + "po_item": "00050", + "po_date": "2026-03-03", + "promised_date": "2026-04-10", + "first_gr_date": "2026-04-09", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000165", + "po_item": "00010", + "po_date": "2026-03-10", + "promised_date": "2026-04-07", + "first_gr_date": "2026-04-07", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000166", + "po_item": "00020", + "po_date": "2026-03-17", + "promised_date": "2026-04-11", + "first_gr_date": "2026-04-10", + "days_late": -1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000167", + "po_item": "00030", + "po_date": "2026-03-26", + "promised_date": "2026-04-16", + "first_gr_date": "2026-04-16", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000168", + "po_item": "00040", + "po_date": "2026-03-30", + "promised_date": "2026-05-01", + "first_gr_date": "2026-04-30", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000169", + "po_item": "00050", + "po_date": "2026-04-07", + "promised_date": "2026-05-27", + "first_gr_date": "2026-05-27", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000170", + "po_item": "00010", + "po_date": "2026-04-14", + "promised_date": "2026-05-29", + "first_gr_date": "2026-05-27", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000171", + "po_item": "00020", + "po_date": "2026-04-23", + "promised_date": "2026-05-14", + "first_gr_date": "2026-05-11", + "days_late": -3, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000172", + "po_item": "00030", + "po_date": "2026-04-30", + "promised_date": "2026-06-11", + "first_gr_date": "2026-06-09", + "days_late": -2, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000173", + "po_item": "00040", + "po_date": "2026-05-05", + "promised_date": "2026-06-24", + "first_gr_date": "2026-07-02", + "days_late": 8, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0005", + "vendor_name": "Midland Mid-Tier Partners", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000174", + "po_item": "00050", + "po_date": "2026-05-13", + "promised_date": "2026-06-05", + "first_gr_date": "2026-06-03", + "days_late": -2, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000175", + "po_item": "00010", + "po_date": "2026-02-03", + "promised_date": "2026-03-10", + "first_gr_date": "2026-03-10", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000176", + "po_item": "00020", + "po_date": "2026-02-12", + "promised_date": "2026-03-07", + "first_gr_date": "2026-03-07", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000177", + "po_item": "00030", + "po_date": "2026-02-17", + "promised_date": "2026-04-03", + "first_gr_date": "2026-04-05", + "days_late": 2, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000178", + "po_item": "00040", + "po_date": "2026-02-25", + "promised_date": "2026-03-19", + "first_gr_date": "2026-03-19", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000179", + "po_item": "00050", + "po_date": "2026-03-04", + "promised_date": "2026-03-30", + "first_gr_date": "2026-03-29", + "days_late": -1, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000180", + "po_item": "00010", + "po_date": "2026-03-12", + "promised_date": "2026-04-02", + "first_gr_date": "2026-04-02", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000181", + "po_item": "00020", + "po_date": "2026-03-19", + "promised_date": "2026-04-24", + "first_gr_date": "2026-04-24", + "days_late": 0, + "sched_qty": 500.0, + "gr_qty_to_date": 500.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000182", + "po_item": "00030", + "po_date": "2026-03-24", + "promised_date": "2026-04-28", + "first_gr_date": "2026-04-25", + "days_late": -3, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000183", + "po_item": "00040", + "po_date": "2026-04-01", + "promised_date": "2026-04-26", + "first_gr_date": "2026-04-26", + "days_late": 0, + "sched_qty": 200.0, + "gr_qty_to_date": 200.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000184", + "po_item": "00050", + "po_date": "2026-04-06", + "promised_date": "2026-05-16", + "first_gr_date": "2026-05-16", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000185", + "po_item": "00010", + "po_date": "2026-04-14", + "promised_date": "2026-05-11", + "first_gr_date": "2026-05-11", + "days_late": 0, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000186", + "po_item": "00020", + "po_date": "2026-04-21", + "promised_date": "2026-06-10", + "first_gr_date": "2026-06-15", + "days_late": 5, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000187", + "po_item": "00030", + "po_date": "2026-04-30", + "promised_date": "2026-06-18", + "first_gr_date": "2026-06-18", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000188", + "po_item": "00040", + "po_date": "2026-05-04", + "promised_date": "2026-06-21", + "first_gr_date": "2026-06-21", + "days_late": 0, + "sched_qty": 100.0, + "gr_qty_to_date": 100.0, + "on_time": true, + "in_full": true + }, + { + "vendor_id": "D0003", + "vendor_name": "Harbor City Coffee Importers", + "matnr": "demo_washed_bourbon", + "material_name": "Washed Bourbon", + "po_number": "4500000189", + "po_item": "00050", + "po_date": "2026-05-12", + "promised_date": "2026-06-16", + "first_gr_date": "2026-06-17", + "days_late": 1, + "sched_qty": 1000.0, + "gr_qty_to_date": 1000.0, + "on_time": false, + "in_full": true + } + ] + }, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/prod_duration_green_blend.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/prod_duration_green_blend.json new file mode 100644 index 00000000000..38dc72177a2 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/prod_duration_green_blend.json @@ -0,0 +1,924 @@ +{ + "id": "prod_duration_green_blend", + "label": "Production: Green Blend", + "type": "production", + "durations": [ + 3.5, 5.9, 2.4, 8.3, 4.7, 7.1, 3.5, 16.5, 4.7, 9.4, 3.5, 5.9, 1.2, 7.1, 3.5, + 4.7, 4.7, 4.7, 3.5, 4.7, 4.7, 4.7, 4.7, 5.9, 5.9, 5.9, 4.7, 5.9, 5.9, 3.5, + 4.7, 5.9, 3.5, 3.5, 5.9, 3.5, 4.7, 4.7, 3.5, 3.5, 4.7, 4.7, 4.7, 4.7, 5.9, + 5.9, 4.7, 4.7, 5.9, 5.9 + ], + "observations": [ + { + "date": "2022-04-18", + "value": 3.5 + }, + { + "date": "2022-07-05", + "value": 5.9 + }, + { + "date": "2022-10-12", + "value": 2.4 + }, + { + "date": "2023-01-20", + "value": 8.3 + }, + { + "date": "2023-04-15", + "value": 4.7 + }, + { + "date": "2023-07-28", + "value": 7.1 + }, + { + "date": "2023-10-05", + "value": 3.5 + }, + { + "date": "2024-01-12", + "value": 16.5 + }, + { + "date": "2024-04-22", + "value": 4.7 + }, + { + "date": "2024-07-10", + "value": 9.4 + }, + { + "date": "2024-10-18", + "value": 3.5 + }, + { + "date": "2025-01-25", + "value": 5.9 + }, + { + "date": "2025-05-08", + "value": 1.2 + }, + { + "date": "2025-08-15", + "value": 7.1 + }, + { + "date": "2025-09-04", + "value": 3.5 + }, + { + "date": "2025-09-10", + "value": 4.7 + }, + { + "date": "2025-09-16", + "value": 4.7 + }, + { + "date": "2025-09-22", + "value": 4.7 + }, + { + "date": "2025-10-05", + "value": 3.5 + }, + { + "date": "2025-10-11", + "value": 4.7 + }, + { + "date": "2025-10-17", + "value": 4.7 + }, + { + "date": "2025-10-23", + "value": 4.7 + }, + { + "date": "2025-11-06", + "value": 4.7 + }, + { + "date": "2025-11-12", + "value": 5.9 + }, + { + "date": "2025-11-18", + "value": 5.9 + }, + { + "date": "2025-11-24", + "value": 5.9 + }, + { + "date": "2025-12-04", + "value": 4.7 + }, + { + "date": "2025-12-10", + "value": 5.9 + }, + { + "date": "2025-12-16", + "value": 5.9 + }, + { + "date": "2025-12-22", + "value": 3.5 + }, + { + "date": "2026-01-05", + "value": 4.7 + }, + { + "date": "2026-01-11", + "value": 5.9 + }, + { + "date": "2026-01-17", + "value": 3.5 + }, + { + "date": "2026-01-23", + "value": 3.5 + }, + { + "date": "2026-02-06", + "value": 5.9 + }, + { + "date": "2026-02-12", + "value": 3.5 + }, + { + "date": "2026-02-18", + "value": 4.7 + }, + { + "date": "2026-02-24", + "value": 4.7 + }, + { + "date": "2026-03-04", + "value": 3.5 + }, + { + "date": "2026-03-10", + "value": 3.5 + }, + { + "date": "2026-03-16", + "value": 4.7 + }, + { + "date": "2026-03-22", + "value": 4.7 + }, + { + "date": "2026-04-05", + "value": 4.7 + }, + { + "date": "2026-04-11", + "value": 4.7 + }, + { + "date": "2026-04-17", + "value": 5.9 + }, + { + "date": "2026-04-23", + "value": 5.9 + }, + { + "date": "2026-05-06", + "value": 4.7 + }, + { + "date": "2026-05-12", + "value": 4.7 + }, + { + "date": "2026-05-18", + "value": 5.9 + }, + { + "date": "2026-05-24", + "value": 5.9 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2022-07", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2023-01", + "mean": 8.3, + "median": 8.3, + "p10": 8.3, + "p25": 8.3, + "p75": 8.3, + "p90": 8.3, + "n": 1 + }, + { + "month": "2023-04", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2023-07", + "mean": 7.1, + "median": 7.1, + "p10": 7.1, + "p25": 7.1, + "p75": 7.1, + "p90": 7.1, + "n": 1 + }, + { + "month": "2023-10", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 16.5, + "median": 16.5, + "p10": 16.5, + "p25": 16.5, + "p75": 16.5, + "p90": 16.5, + "n": 1 + }, + { + "month": "2024-04", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2024-07", + "mean": 9.4, + "median": 9.4, + "p10": 9.4, + "p25": 9.4, + "p75": 9.4, + "p90": 9.4, + "n": 1 + }, + { + "month": "2024-10", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2025-01", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2025-05", + "mean": 1.2, + "median": 1.2, + "p10": 1.2, + "p25": 1.2, + "p75": 1.2, + "p90": 1.2, + "n": 1 + }, + { + "month": "2025-08", + "mean": 7.1, + "median": 7.1, + "p10": 7.1, + "p25": 7.1, + "p75": 7.1, + "p90": 7.1, + "n": 1 + }, + { + "month": "2025-09", + "mean": 4.5, + "median": 4.7, + "p10": 3.9, + "p25": 4.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2025-10", + "mean": 4.5, + "median": 4.7, + "p10": 3.9, + "p25": 4.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2025-11", + "mean": 5.7, + "median": 5.9, + "p10": 5.1, + "p25": 5.7, + "p75": 5.9, + "p90": 5.9, + "n": 4 + }, + { + "month": "2025-12", + "mean": 5.1, + "median": 5.3, + "p10": 3.9, + "p25": 4.5, + "p75": 5.9, + "p90": 5.9, + "n": 4 + }, + { + "month": "2026-01", + "mean": 4.5, + "median": 4.1, + "p10": 3.5, + "p25": 3.5, + "p75": 5.1, + "p90": 5.5, + "n": 4 + }, + { + "month": "2026-02", + "mean": 4.7, + "median": 4.7, + "p10": 3.9, + "p25": 4.5, + "p75": 5.1, + "p90": 5.5, + "n": 4 + }, + { + "month": "2026-03", + "mean": 4.1, + "median": 4.1, + "p10": 3.5, + "p25": 3.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2026-04", + "mean": 5.3, + "median": 5.3, + "p10": 4.7, + "p25": 4.7, + "p75": 5.9, + "p90": 5.9, + "n": 4 + }, + { + "month": "2026-05", + "mean": 5.3, + "median": 5.3, + "p10": 4.7, + "p25": 4.7, + "p75": 5.9, + "p90": 5.9, + "n": 4 + } + ], + "stats": { + "n": 50, + "mean": 5.1, + "median": 4.7, + "std": 1.8, + "min": 1.2, + "max": 16.5, + "p25": 3.5, + "p75": 5.9, + "p85": 5.9, + "p95": 7.1 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 10.0, + "annotations": [], + "cost": null, + "detail_rows": null, + "ref_date_col": null, + "n_batches": 50, + "n_movements": null, + "yield_data": { + "values": [ + 98.2, 99.5, 97.8, 100.2, 96.5, 99.0, 98.8, 97.2, 99.5, 100.8, 98.0, 97.5, + 99.2, 98.5, 98.4, 98.6, 98.9, 99.1, 98.3, 98.5, 98.8, 99.1, 99.0, 99.3, + 99.6, 98.2, 99.0, 99.3, 97.9, 98.2, 98.9, 97.6, 97.9, 98.1, 98.1, 98.4, + 98.6, 98.9, 98.1, 98.3, 98.5, 98.8, 98.8, 99.0, 99.3, 99.6, 98.7, 99.0, + 99.3, 97.9 + ], + "observations": [ + { + "date": "2022-04-21", + "value": 98.2 + }, + { + "date": "2022-07-10", + "value": 99.5 + }, + { + "date": "2022-10-14", + "value": 97.8 + }, + { + "date": "2023-01-27", + "value": 100.2 + }, + { + "date": "2023-04-19", + "value": 96.5 + }, + { + "date": "2023-08-03", + "value": 99.0 + }, + { + "date": "2023-10-08", + "value": 98.8 + }, + { + "date": "2024-01-26", + "value": 97.2 + }, + { + "date": "2024-04-26", + "value": 99.5 + }, + { + "date": "2024-07-18", + "value": 100.8 + }, + { + "date": "2024-10-21", + "value": 98.0 + }, + { + "date": "2025-01-30", + "value": 97.5 + }, + { + "date": "2025-05-09", + "value": 99.2 + }, + { + "date": "2025-08-21", + "value": 98.5 + }, + { + "date": "2025-09-05", + "value": 98.4 + }, + { + "date": "2025-09-11", + "value": 98.6 + }, + { + "date": "2025-09-17", + "value": 98.9 + }, + { + "date": "2025-09-23", + "value": 99.1 + }, + { + "date": "2025-10-06", + "value": 98.3 + }, + { + "date": "2025-10-12", + "value": 98.5 + }, + { + "date": "2025-10-18", + "value": 98.8 + }, + { + "date": "2025-10-24", + "value": 99.1 + }, + { + "date": "2025-11-04", + "value": 99.0 + }, + { + "date": "2025-11-10", + "value": 99.3 + }, + { + "date": "2025-11-16", + "value": 99.6 + }, + { + "date": "2025-11-22", + "value": 98.2 + }, + { + "date": "2025-12-05", + "value": 99.0 + }, + { + "date": "2025-12-11", + "value": 99.3 + }, + { + "date": "2025-12-17", + "value": 97.9 + }, + { + "date": "2025-12-23", + "value": 98.2 + }, + { + "date": "2026-01-06", + "value": 98.9 + }, + { + "date": "2026-01-12", + "value": 97.6 + }, + { + "date": "2026-01-18", + "value": 97.9 + }, + { + "date": "2026-01-24", + "value": 98.1 + }, + { + "date": "2026-02-04", + "value": 98.1 + }, + { + "date": "2026-02-10", + "value": 98.4 + }, + { + "date": "2026-02-16", + "value": 98.6 + }, + { + "date": "2026-02-22", + "value": 98.9 + }, + { + "date": "2026-03-05", + "value": 98.1 + }, + { + "date": "2026-03-11", + "value": 98.3 + }, + { + "date": "2026-03-17", + "value": 98.5 + }, + { + "date": "2026-03-23", + "value": 98.8 + }, + { + "date": "2026-04-06", + "value": 98.8 + }, + { + "date": "2026-04-12", + "value": 99.0 + }, + { + "date": "2026-04-18", + "value": 99.3 + }, + { + "date": "2026-04-24", + "value": 99.6 + }, + { + "date": "2026-05-04", + "value": 98.7 + }, + { + "date": "2026-05-10", + "value": 99.0 + }, + { + "date": "2026-05-16", + "value": 99.3 + }, + { + "date": "2026-05-22", + "value": 97.9 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 98.2, + "median": 98.2, + "p10": 98.2, + "p25": 98.2, + "p75": 98.2, + "p90": 98.2, + "n": 1 + }, + { + "month": "2022-07", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2022-10", + "mean": 97.8, + "median": 97.8, + "p10": 97.8, + "p25": 97.8, + "p75": 97.8, + "p90": 97.8, + "n": 1 + }, + { + "month": "2023-01", + "mean": 100.2, + "median": 100.2, + "p10": 100.2, + "p25": 100.2, + "p75": 100.2, + "p90": 100.2, + "n": 1 + }, + { + "month": "2023-04", + "mean": 96.5, + "median": 96.5, + "p10": 96.5, + "p25": 96.5, + "p75": 96.5, + "p90": 96.5, + "n": 1 + }, + { + "month": "2023-08", + "mean": 99.0, + "median": 99.0, + "p10": 99.0, + "p25": 99.0, + "p75": 99.0, + "p90": 99.0, + "n": 1 + }, + { + "month": "2023-10", + "mean": 98.8, + "median": 98.8, + "p10": 98.8, + "p25": 98.8, + "p75": 98.8, + "p90": 98.8, + "n": 1 + }, + { + "month": "2024-01", + "mean": 97.2, + "median": 97.2, + "p10": 97.2, + "p25": 97.2, + "p75": 97.2, + "p90": 97.2, + "n": 1 + }, + { + "month": "2024-04", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2024-07", + "mean": 100.8, + "median": 100.8, + "p10": 100.8, + "p25": 100.8, + "p75": 100.8, + "p90": 100.8, + "n": 1 + }, + { + "month": "2024-10", + "mean": 98.0, + "median": 98.0, + "p10": 98.0, + "p25": 98.0, + "p75": 98.0, + "p90": 98.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 97.5, + "median": 97.5, + "p10": 97.5, + "p25": 97.5, + "p75": 97.5, + "p90": 97.5, + "n": 1 + }, + { + "month": "2025-05", + "mean": 99.2, + "median": 99.2, + "p10": 99.2, + "p25": 99.2, + "p75": 99.2, + "p90": 99.2, + "n": 1 + }, + { + "month": "2025-08", + "mean": 98.5, + "median": 98.5, + "p10": 98.5, + "p25": 98.5, + "p75": 98.5, + "p90": 98.5, + "n": 1 + }, + { + "month": "2025-09", + "mean": 98.8, + "median": 98.8, + "p10": 98.5, + "p25": 98.6, + "p75": 99.0, + "p90": 99.0, + "n": 4 + }, + { + "month": "2025-10", + "mean": 98.7, + "median": 98.7, + "p10": 98.4, + "p25": 98.5, + "p75": 98.9, + "p90": 99.0, + "n": 4 + }, + { + "month": "2025-11", + "mean": 99.0, + "median": 99.2, + "p10": 98.4, + "p25": 98.8, + "p75": 99.4, + "p90": 99.5, + "n": 4 + }, + { + "month": "2025-12", + "mean": 98.6, + "median": 98.6, + "p10": 98.0, + "p25": 98.1, + "p75": 99.1, + "p90": 99.2, + "n": 4 + }, + { + "month": "2026-01", + "mean": 98.1, + "median": 98.0, + "p10": 97.7, + "p25": 97.8, + "p75": 98.3, + "p90": 98.7, + "n": 4 + }, + { + "month": "2026-02", + "mean": 98.5, + "median": 98.5, + "p10": 98.2, + "p25": 98.3, + "p75": 98.7, + "p90": 98.8, + "n": 4 + }, + { + "month": "2026-03", + "mean": 98.4, + "median": 98.4, + "p10": 98.2, + "p25": 98.3, + "p75": 98.6, + "p90": 98.7, + "n": 4 + }, + { + "month": "2026-04", + "mean": 99.2, + "median": 99.2, + "p10": 98.9, + "p25": 99.0, + "p75": 99.4, + "p90": 99.5, + "n": 4 + }, + { + "month": "2026-05", + "mean": 98.7, + "median": 98.9, + "p10": 98.1, + "p25": 98.5, + "p75": 99.1, + "p90": 99.2, + "n": 4 + } + ], + "stats": { + "n": 50, + "mean": 98.7, + "median": 98.8, + "std": 0.7, + "min": 96.5, + "max": 100.8, + "p25": 98.2, + "p75": 99.1, + "p85": 99.3, + "p95": 99.6 + }, + "reference": 100.0 + }, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/prod_duration_harbor_dark_roast.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/prod_duration_harbor_dark_roast.json new file mode 100644 index 00000000000..a30a8d3b432 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/prod_duration_harbor_dark_roast.json @@ -0,0 +1,1148 @@ +{ + "id": "prod_duration_harbor_dark_roast", + "label": "Production: Harbor Dark Roast", + "type": "production", + "durations": [ + 2.4, 3.5, 1.2, 4.7, 2.4, 5.9, 3.5, 8.3, 2.4, 4.7, 1.2, 3.5, 11.8, 3.5, 2.4, + 5.9, 0.0, 4.7, 3.5, 2.4, 7.1, 3.5, 4.7, 4.7, 3.5, 3.5, 4.7, 2.4, 3.5, 3.5, + 2.4, 2.4, 3.5, 3.5, 3.5, 3.5, 3.5, 4.7, 3.5, 3.5, 3.5, 4.7, 4.7, 4.7, 4.7, + 3.5, 3.5, 4.7, 2.4, 3.5, 3.5, 2.4, 2.4, 3.5, 3.5, 3.5, 3.5, 3.5 + ], + "observations": [ + { + "date": "2022-05-20", + "value": 2.4 + }, + { + "date": "2022-06-10", + "value": 3.5 + }, + { + "date": "2022-07-15", + "value": 1.2 + }, + { + "date": "2022-08-22", + "value": 4.7 + }, + { + "date": "2022-10-05", + "value": 2.4 + }, + { + "date": "2022-11-18", + "value": 5.9 + }, + { + "date": "2023-01-10", + "value": 3.5 + }, + { + "date": "2023-03-25", + "value": 8.3 + }, + { + "date": "2023-05-12", + "value": 2.4 + }, + { + "date": "2023-07-08", + "value": 4.7 + }, + { + "date": "2023-09-15", + "value": 1.2 + }, + { + "date": "2023-11-22", + "value": 3.5 + }, + { + "date": "2024-01-18", + "value": 11.8 + }, + { + "date": "2024-03-08", + "value": 3.5 + }, + { + "date": "2024-05-15", + "value": 2.4 + }, + { + "date": "2024-07-22", + "value": 5.9 + }, + { + "date": "2024-09-10", + "value": 0.0 + }, + { + "date": "2024-11-05", + "value": 4.7 + }, + { + "date": "2025-01-15", + "value": 3.5 + }, + { + "date": "2025-03-20", + "value": 2.4 + }, + { + "date": "2025-05-28", + "value": 7.1 + }, + { + "date": "2025-08-05", + "value": 3.5 + }, + { + "date": "2025-09-05", + "value": 4.7 + }, + { + "date": "2025-09-11", + "value": 4.7 + }, + { + "date": "2025-09-17", + "value": 3.5 + }, + { + "date": "2025-09-23", + "value": 3.5 + }, + { + "date": "2025-10-06", + "value": 4.7 + }, + { + "date": "2025-10-12", + "value": 2.4 + }, + { + "date": "2025-10-18", + "value": 3.5 + }, + { + "date": "2025-10-24", + "value": 3.5 + }, + { + "date": "2025-11-04", + "value": 2.4 + }, + { + "date": "2025-11-10", + "value": 2.4 + }, + { + "date": "2025-11-16", + "value": 3.5 + }, + { + "date": "2025-11-22", + "value": 3.5 + }, + { + "date": "2025-12-05", + "value": 3.5 + }, + { + "date": "2025-12-11", + "value": 3.5 + }, + { + "date": "2025-12-17", + "value": 3.5 + }, + { + "date": "2025-12-23", + "value": 4.7 + }, + { + "date": "2026-01-06", + "value": 3.5 + }, + { + "date": "2026-01-12", + "value": 3.5 + }, + { + "date": "2026-01-18", + "value": 3.5 + }, + { + "date": "2026-01-24", + "value": 4.7 + }, + { + "date": "2026-02-04", + "value": 4.7 + }, + { + "date": "2026-02-10", + "value": 4.7 + }, + { + "date": "2026-02-16", + "value": 4.7 + }, + { + "date": "2026-02-22", + "value": 3.5 + }, + { + "date": "2026-03-05", + "value": 3.5 + }, + { + "date": "2026-03-11", + "value": 4.7 + }, + { + "date": "2026-03-17", + "value": 2.4 + }, + { + "date": "2026-03-23", + "value": 3.5 + }, + { + "date": "2026-04-06", + "value": 3.5 + }, + { + "date": "2026-04-12", + "value": 2.4 + }, + { + "date": "2026-04-18", + "value": 2.4 + }, + { + "date": "2026-04-24", + "value": 3.5 + }, + { + "date": "2026-05-04", + "value": 3.5 + }, + { + "date": "2026-05-10", + "value": 3.5 + }, + { + "date": "2026-05-16", + "value": 3.5 + }, + { + "date": "2026-05-22", + "value": 3.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2022-06", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2022-07", + "mean": 1.2, + "median": 1.2, + "p10": 1.2, + "p25": 1.2, + "p75": 1.2, + "p90": 1.2, + "n": 1 + }, + { + "month": "2022-08", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2022-10", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2022-11", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2023-01", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2023-03", + "mean": 8.3, + "median": 8.3, + "p10": 8.3, + "p25": 8.3, + "p75": 8.3, + "p90": 8.3, + "n": 1 + }, + { + "month": "2023-05", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2023-07", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2023-09", + "mean": 1.2, + "median": 1.2, + "p10": 1.2, + "p25": 1.2, + "p75": 1.2, + "p90": 1.2, + "n": 1 + }, + { + "month": "2023-11", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 11.8, + "median": 11.8, + "p10": 11.8, + "p25": 11.8, + "p75": 11.8, + "p90": 11.8, + "n": 1 + }, + { + "month": "2024-03", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2024-05", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2024-07", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2024-09", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2024-11", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2025-01", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2025-03", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2025-05", + "mean": 7.1, + "median": 7.1, + "p10": 7.1, + "p25": 7.1, + "p75": 7.1, + "p90": 7.1, + "n": 1 + }, + { + "month": "2025-08", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2025-09", + "mean": 4.1, + "median": 4.1, + "p10": 3.5, + "p25": 3.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2025-10", + "mean": 3.5, + "median": 3.5, + "p10": 2.7, + "p25": 3.3, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2025-11", + "mean": 2.9, + "median": 2.9, + "p10": 2.4, + "p25": 2.4, + "p75": 3.5, + "p90": 3.5, + "n": 4 + }, + { + "month": "2025-12", + "mean": 3.9, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2026-01", + "mean": 3.9, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2026-02", + "mean": 4.5, + "median": 4.7, + "p10": 3.9, + "p25": 4.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2026-03", + "mean": 3.5, + "median": 3.5, + "p10": 2.7, + "p25": 3.3, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2026-04", + "mean": 2.9, + "median": 2.9, + "p10": 2.4, + "p25": 2.4, + "p75": 3.5, + "p90": 3.5, + "n": 4 + }, + { + "month": "2026-05", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 4 + } + ], + "stats": { + "n": 58, + "mean": 3.8, + "median": 3.5, + "std": 1.4, + "min": 0.0, + "max": 11.8, + "p25": 3.5, + "p75": 4.7, + "p85": 4.7, + "p95": 5.9 + }, + "plifz": 5, + "plifz_note": "DZEIT (in-house production days)", + "pct_exceeding_plifz": 5.2, + "annotations": [], + "cost": null, + "detail_rows": null, + "ref_date_col": null, + "n_batches": 58, + "n_movements": null, + "yield_data": { + "values": [ + 99.0, 98.5, 99.8, 97.2, 99.5, 98.0, 100.2, 98.8, 99.2, 97.5, 99.0, 98.5, + 100.5, 99.2, 98.0, 97.8, 99.5, 98.2, 99.0, 98.8, 99.5, 97.0, 98.9, 99.1, + 99.4, 99.6, 98.8, 99.0, 99.3, 99.6, 99.5, 99.8, 100.1, 98.7, 99.5, 99.8, + 98.4, 98.7, 99.4, 98.1, 98.4, 98.6, 98.6, 98.9, 99.1, 99.4, 98.6, 98.8, + 99.0, 99.3, 99.3, 99.5, 99.8, 100.1, 99.2, 99.5, 99.8, 98.4 + ], + "observations": [ + { + "date": "2022-05-22", + "value": 99.0 + }, + { + "date": "2022-06-13", + "value": 98.5 + }, + { + "date": "2022-07-16", + "value": 99.8 + }, + { + "date": "2022-08-26", + "value": 97.2 + }, + { + "date": "2022-10-07", + "value": 99.5 + }, + { + "date": "2022-11-23", + "value": 98.0 + }, + { + "date": "2023-01-13", + "value": 100.2 + }, + { + "date": "2023-04-01", + "value": 98.8 + }, + { + "date": "2023-05-14", + "value": 99.2 + }, + { + "date": "2023-07-12", + "value": 97.5 + }, + { + "date": "2023-09-16", + "value": 99.0 + }, + { + "date": "2023-11-25", + "value": 98.5 + }, + { + "date": "2024-01-28", + "value": 100.5 + }, + { + "date": "2024-03-11", + "value": 99.2 + }, + { + "date": "2024-05-17", + "value": 98.0 + }, + { + "date": "2024-07-27", + "value": 97.8 + }, + { + "date": "2024-09-10", + "value": 99.5 + }, + { + "date": "2024-11-09", + "value": 98.2 + }, + { + "date": "2025-01-18", + "value": 99.0 + }, + { + "date": "2025-03-22", + "value": 98.8 + }, + { + "date": "2025-06-03", + "value": 99.5 + }, + { + "date": "2025-08-08", + "value": 97.0 + }, + { + "date": "2025-09-05", + "value": 98.9 + }, + { + "date": "2025-09-11", + "value": 99.1 + }, + { + "date": "2025-09-17", + "value": 99.4 + }, + { + "date": "2025-09-23", + "value": 99.6 + }, + { + "date": "2025-10-06", + "value": 98.8 + }, + { + "date": "2025-10-12", + "value": 99.0 + }, + { + "date": "2025-10-18", + "value": 99.3 + }, + { + "date": "2025-10-24", + "value": 99.6 + }, + { + "date": "2025-11-04", + "value": 99.5 + }, + { + "date": "2025-11-10", + "value": 99.8 + }, + { + "date": "2025-11-16", + "value": 100.1 + }, + { + "date": "2025-11-22", + "value": 98.7 + }, + { + "date": "2025-12-05", + "value": 99.5 + }, + { + "date": "2025-12-11", + "value": 99.8 + }, + { + "date": "2025-12-17", + "value": 98.4 + }, + { + "date": "2025-12-23", + "value": 98.7 + }, + { + "date": "2026-01-06", + "value": 99.4 + }, + { + "date": "2026-01-12", + "value": 98.1 + }, + { + "date": "2026-01-18", + "value": 98.4 + }, + { + "date": "2026-01-24", + "value": 98.6 + }, + { + "date": "2026-02-04", + "value": 98.6 + }, + { + "date": "2026-02-10", + "value": 98.9 + }, + { + "date": "2026-02-16", + "value": 99.1 + }, + { + "date": "2026-02-22", + "value": 99.4 + }, + { + "date": "2026-03-05", + "value": 98.6 + }, + { + "date": "2026-03-11", + "value": 98.8 + }, + { + "date": "2026-03-17", + "value": 99.0 + }, + { + "date": "2026-03-23", + "value": 99.3 + }, + { + "date": "2026-04-06", + "value": 99.3 + }, + { + "date": "2026-04-12", + "value": 99.5 + }, + { + "date": "2026-04-18", + "value": 99.8 + }, + { + "date": "2026-04-24", + "value": 100.1 + }, + { + "date": "2026-05-04", + "value": 99.2 + }, + { + "date": "2026-05-10", + "value": 99.5 + }, + { + "date": "2026-05-16", + "value": 99.8 + }, + { + "date": "2026-05-22", + "value": 98.4 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 99.0, + "median": 99.0, + "p10": 99.0, + "p25": 99.0, + "p75": 99.0, + "p90": 99.0, + "n": 1 + }, + { + "month": "2022-06", + "mean": 98.5, + "median": 98.5, + "p10": 98.5, + "p25": 98.5, + "p75": 98.5, + "p90": 98.5, + "n": 1 + }, + { + "month": "2022-07", + "mean": 99.8, + "median": 99.8, + "p10": 99.8, + "p25": 99.8, + "p75": 99.8, + "p90": 99.8, + "n": 1 + }, + { + "month": "2022-08", + "mean": 97.2, + "median": 97.2, + "p10": 97.2, + "p25": 97.2, + "p75": 97.2, + "p90": 97.2, + "n": 1 + }, + { + "month": "2022-10", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2022-11", + "mean": 98.0, + "median": 98.0, + "p10": 98.0, + "p25": 98.0, + "p75": 98.0, + "p90": 98.0, + "n": 1 + }, + { + "month": "2023-01", + "mean": 100.2, + "median": 100.2, + "p10": 100.2, + "p25": 100.2, + "p75": 100.2, + "p90": 100.2, + "n": 1 + }, + { + "month": "2023-04", + "mean": 98.8, + "median": 98.8, + "p10": 98.8, + "p25": 98.8, + "p75": 98.8, + "p90": 98.8, + "n": 1 + }, + { + "month": "2023-05", + "mean": 99.2, + "median": 99.2, + "p10": 99.2, + "p25": 99.2, + "p75": 99.2, + "p90": 99.2, + "n": 1 + }, + { + "month": "2023-07", + "mean": 97.5, + "median": 97.5, + "p10": 97.5, + "p25": 97.5, + "p75": 97.5, + "p90": 97.5, + "n": 1 + }, + { + "month": "2023-09", + "mean": 99.0, + "median": 99.0, + "p10": 99.0, + "p25": 99.0, + "p75": 99.0, + "p90": 99.0, + "n": 1 + }, + { + "month": "2023-11", + "mean": 98.5, + "median": 98.5, + "p10": 98.5, + "p25": 98.5, + "p75": 98.5, + "p90": 98.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 100.5, + "median": 100.5, + "p10": 100.5, + "p25": 100.5, + "p75": 100.5, + "p90": 100.5, + "n": 1 + }, + { + "month": "2024-03", + "mean": 99.2, + "median": 99.2, + "p10": 99.2, + "p25": 99.2, + "p75": 99.2, + "p90": 99.2, + "n": 1 + }, + { + "month": "2024-05", + "mean": 98.0, + "median": 98.0, + "p10": 98.0, + "p25": 98.0, + "p75": 98.0, + "p90": 98.0, + "n": 1 + }, + { + "month": "2024-07", + "mean": 97.8, + "median": 97.8, + "p10": 97.8, + "p25": 97.8, + "p75": 97.8, + "p90": 97.8, + "n": 1 + }, + { + "month": "2024-09", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2024-11", + "mean": 98.2, + "median": 98.2, + "p10": 98.2, + "p25": 98.2, + "p75": 98.2, + "p90": 98.2, + "n": 1 + }, + { + "month": "2025-01", + "mean": 99.0, + "median": 99.0, + "p10": 99.0, + "p25": 99.0, + "p75": 99.0, + "p90": 99.0, + "n": 1 + }, + { + "month": "2025-03", + "mean": 98.8, + "median": 98.8, + "p10": 98.8, + "p25": 98.8, + "p75": 98.8, + "p90": 98.8, + "n": 1 + }, + { + "month": "2025-06", + "mean": 99.5, + "median": 99.5, + "p10": 99.5, + "p25": 99.5, + "p75": 99.5, + "p90": 99.5, + "n": 1 + }, + { + "month": "2025-08", + "mean": 97.0, + "median": 97.0, + "p10": 97.0, + "p25": 97.0, + "p75": 97.0, + "p90": 97.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 99.3, + "median": 99.3, + "p10": 99.0, + "p25": 99.1, + "p75": 99.5, + "p90": 99.5, + "n": 4 + }, + { + "month": "2025-10", + "mean": 99.2, + "median": 99.2, + "p10": 98.9, + "p25": 99.0, + "p75": 99.4, + "p90": 99.5, + "n": 4 + }, + { + "month": "2025-11", + "mean": 99.5, + "median": 99.7, + "p10": 98.9, + "p25": 99.3, + "p75": 99.9, + "p90": 100.0, + "n": 4 + }, + { + "month": "2025-12", + "mean": 99.1, + "median": 99.1, + "p10": 98.5, + "p25": 98.6, + "p75": 99.6, + "p90": 99.7, + "n": 4 + }, + { + "month": "2026-01", + "mean": 98.6, + "median": 98.5, + "p10": 98.2, + "p25": 98.3, + "p75": 98.8, + "p90": 99.2, + "n": 4 + }, + { + "month": "2026-02", + "mean": 99.0, + "median": 99.0, + "p10": 98.7, + "p25": 98.8, + "p75": 99.2, + "p90": 99.3, + "n": 4 + }, + { + "month": "2026-03", + "mean": 98.9, + "median": 98.9, + "p10": 98.7, + "p25": 98.8, + "p75": 99.1, + "p90": 99.2, + "n": 4 + }, + { + "month": "2026-04", + "mean": 99.7, + "median": 99.7, + "p10": 99.4, + "p25": 99.5, + "p75": 99.9, + "p90": 100.0, + "n": 4 + }, + { + "month": "2026-05", + "mean": 99.2, + "median": 99.4, + "p10": 98.6, + "p25": 99.0, + "p75": 99.6, + "p90": 99.7, + "n": 4 + } + ], + "stats": { + "n": 58, + "mean": 99.0, + "median": 99.1, + "std": 0.7, + "min": 97.0, + "max": 100.5, + "p25": 98.6, + "p75": 99.5, + "p85": 99.7, + "p95": 100.1 + }, + "reference": 100.0 + }, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/prod_to_qa_pla.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/prod_to_qa_pla.json new file mode 100644 index 00000000000..bb5ec91a6e8 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/prod_to_qa_pla.json @@ -0,0 +1,581 @@ +{ + "id": "prod_to_qa_pla", + "label": "Production \u2192 QA Release (PL-A)", + "type": "qa_hold", + "durations": [ + 2.4, 1.2, 3.5, 2.4, 5.9, 2.4, 4.7, 3.5, 7.1, 2.4, 15.3, 3.5, 8.3, 1.2, 4.7, + 5.9, 2.4, 0.0, 3.5, 9.4, 2.4, 5.9, 2.4, 3.5, 3.5, 3.5, 3.5, 3.5, 4.7, 4.7, + 3.5, 3.5, 3.5, 4.7, 3.5, 3.5, 3.5, 2.4, 4.7, 4.7, 3.5, 3.5, 4.7, 2.4, 3.5, + 3.5, 3.5, 3.5, 3.5, 4.7, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5, 3.5 + ], + "observations": [ + { + "date": "2022-05-22", + "value": 2.4 + }, + { + "date": "2022-06-13", + "value": 1.2 + }, + { + "date": "2022-07-16", + "value": 3.5 + }, + { + "date": "2022-08-26", + "value": 2.4 + }, + { + "date": "2022-10-07", + "value": 5.9 + }, + { + "date": "2022-11-23", + "value": 2.4 + }, + { + "date": "2023-01-13", + "value": 4.7 + }, + { + "date": "2023-04-01", + "value": 3.5 + }, + { + "date": "2023-05-14", + "value": 7.1 + }, + { + "date": "2023-07-12", + "value": 2.4 + }, + { + "date": "2023-09-16", + "value": 15.3 + }, + { + "date": "2023-11-25", + "value": 3.5 + }, + { + "date": "2024-01-28", + "value": 8.3 + }, + { + "date": "2024-03-11", + "value": 1.2 + }, + { + "date": "2024-05-17", + "value": 4.7 + }, + { + "date": "2024-07-27", + "value": 5.9 + }, + { + "date": "2024-09-10", + "value": 2.4 + }, + { + "date": "2024-11-09", + "value": 0.0 + }, + { + "date": "2025-01-18", + "value": 3.5 + }, + { + "date": "2025-03-22", + "value": 9.4 + }, + { + "date": "2025-06-03", + "value": 2.4 + }, + { + "date": "2025-08-08", + "value": 5.9 + }, + { + "date": "2025-09-04", + "value": 2.4 + }, + { + "date": "2025-09-10", + "value": 3.5 + }, + { + "date": "2025-09-16", + "value": 3.5 + }, + { + "date": "2025-09-22", + "value": 3.5 + }, + { + "date": "2025-10-05", + "value": 3.5 + }, + { + "date": "2025-10-11", + "value": 3.5 + }, + { + "date": "2025-10-17", + "value": 4.7 + }, + { + "date": "2025-10-23", + "value": 4.7 + }, + { + "date": "2025-11-06", + "value": 3.5 + }, + { + "date": "2025-11-12", + "value": 3.5 + }, + { + "date": "2025-11-18", + "value": 3.5 + }, + { + "date": "2025-11-24", + "value": 4.7 + }, + { + "date": "2025-12-04", + "value": 3.5 + }, + { + "date": "2025-12-10", + "value": 3.5 + }, + { + "date": "2025-12-16", + "value": 3.5 + }, + { + "date": "2025-12-22", + "value": 2.4 + }, + { + "date": "2026-01-05", + "value": 4.7 + }, + { + "date": "2026-01-11", + "value": 4.7 + }, + { + "date": "2026-01-17", + "value": 3.5 + }, + { + "date": "2026-01-23", + "value": 3.5 + }, + { + "date": "2026-02-06", + "value": 4.7 + }, + { + "date": "2026-02-12", + "value": 2.4 + }, + { + "date": "2026-02-18", + "value": 3.5 + }, + { + "date": "2026-02-24", + "value": 3.5 + }, + { + "date": "2026-03-04", + "value": 3.5 + }, + { + "date": "2026-03-10", + "value": 3.5 + }, + { + "date": "2026-03-16", + "value": 3.5 + }, + { + "date": "2026-03-22", + "value": 4.7 + }, + { + "date": "2026-04-05", + "value": 3.5 + }, + { + "date": "2026-04-11", + "value": 3.5 + }, + { + "date": "2026-04-17", + "value": 3.5 + }, + { + "date": "2026-04-23", + "value": 3.5 + }, + { + "date": "2026-05-06", + "value": 3.5 + }, + { + "date": "2026-05-12", + "value": 3.5 + }, + { + "date": "2026-05-18", + "value": 3.5 + }, + { + "date": "2026-05-24", + "value": 3.5 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2022-06", + "mean": 1.2, + "median": 1.2, + "p10": 1.2, + "p25": 1.2, + "p75": 1.2, + "p90": 1.2, + "n": 1 + }, + { + "month": "2022-07", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2022-08", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2022-10", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2022-11", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2023-01", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2023-04", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2023-05", + "mean": 7.1, + "median": 7.1, + "p10": 7.1, + "p25": 7.1, + "p75": 7.1, + "p90": 7.1, + "n": 1 + }, + { + "month": "2023-07", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2023-09", + "mean": 15.3, + "median": 15.3, + "p10": 15.3, + "p25": 15.3, + "p75": 15.3, + "p90": 15.3, + "n": 1 + }, + { + "month": "2023-11", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2024-01", + "mean": 8.3, + "median": 8.3, + "p10": 8.3, + "p25": 8.3, + "p75": 8.3, + "p90": 8.3, + "n": 1 + }, + { + "month": "2024-03", + "mean": 1.2, + "median": 1.2, + "p10": 1.2, + "p25": 1.2, + "p75": 1.2, + "p90": 1.2, + "n": 1 + }, + { + "month": "2024-05", + "mean": 4.7, + "median": 4.7, + "p10": 4.7, + "p25": 4.7, + "p75": 4.7, + "p90": 4.7, + "n": 1 + }, + { + "month": "2024-07", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2024-09", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2024-11", + "mean": 0.0, + "median": 0.0, + "p10": 0.0, + "p25": 0.0, + "p75": 0.0, + "p90": 0.0, + "n": 1 + }, + { + "month": "2025-01", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 1 + }, + { + "month": "2025-03", + "mean": 9.4, + "median": 9.4, + "p10": 9.4, + "p25": 9.4, + "p75": 9.4, + "p90": 9.4, + "n": 1 + }, + { + "month": "2025-06", + "mean": 2.4, + "median": 2.4, + "p10": 2.4, + "p25": 2.4, + "p75": 2.4, + "p90": 2.4, + "n": 1 + }, + { + "month": "2025-08", + "mean": 5.9, + "median": 5.9, + "p10": 5.9, + "p25": 5.9, + "p75": 5.9, + "p90": 5.9, + "n": 1 + }, + { + "month": "2025-09", + "mean": 3.3, + "median": 3.5, + "p10": 2.7, + "p25": 3.3, + "p75": 3.5, + "p90": 3.5, + "n": 4 + }, + { + "month": "2025-10", + "mean": 4.1, + "median": 4.1, + "p10": 3.5, + "p25": 3.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2025-11", + "mean": 3.9, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2025-12", + "mean": 3.3, + "median": 3.5, + "p10": 2.7, + "p25": 3.3, + "p75": 3.5, + "p90": 3.5, + "n": 4 + }, + { + "month": "2026-01", + "mean": 4.1, + "median": 4.1, + "p10": 3.5, + "p25": 3.5, + "p75": 4.7, + "p90": 4.7, + "n": 4 + }, + { + "month": "2026-02", + "mean": 3.5, + "median": 3.5, + "p10": 2.7, + "p25": 3.3, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2026-03", + "mean": 3.9, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.9, + "p90": 4.4, + "n": 4 + }, + { + "month": "2026-04", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 4 + }, + { + "month": "2026-05", + "mean": 3.5, + "median": 3.5, + "p10": 3.5, + "p25": 3.5, + "p75": 3.5, + "p90": 3.5, + "n": 4 + } + ], + "stats": { + "n": 58, + "mean": 3.9, + "median": 3.5, + "std": 1.8, + "min": 0.0, + "max": 15.3, + "p25": 3.5, + "p75": 4.7, + "p85": 4.7, + "p95": 7.1 + }, + "plifz": 5, + "plifz_note": "WEBAZ (GR processing days)", + "pct_exceeding_plifz": 6.9, + "annotations": [], + "cost": null, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": null, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/raw_dwell_highland_arabica.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/raw_dwell_highland_arabica.json new file mode 100644 index 00000000000..2c19552a49e --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/raw_dwell_highland_arabica.json @@ -0,0 +1,1513 @@ +{ + "id": "raw_dwell_highland_arabica", + "label": "Raw Material Dwell: Highland Arabica", + "type": "raw_material_dwell", + "durations": [ + 41.3, 73.2, 21.2, 103.8, 49.6, 64.9, 35.4, 85, 29.5, 56.6, 17.7, 112.1, + 153.4, 53.1, 44.8, 76.7, 26, 92, 5.9, 64.9, 47.2, 33, 100.3, 59, 129.8, + 37.8, 80.2, 53.1, 108.6, 23.6, 68.4, 41.3, 49.6, 88.5, 14.2, 56.6, 70.8, + 44.8, 57.8, 63.7, 40.1, 46, 49.6, 72, 48.4, 54.3, 57.8, 62.5, 42.5, 48.4, + 51.9, 56.6, 61.4, 42.5, 46, 50.7, 55.5, 60.2, 55.5, 59, 63.7, 68.4, 46, + 53.1, 57.8, 63.7, 40.1, 46, 66.1, 72, 48.4, 54.3, 57.8, 66.1, 42.5, 48.4, + 51.9, 56.6, 37.8, 42.5, 46, 50.7, 55.5 + ], + "observations": [ + { + "date": "2022-04-02", + "value": 41.3 + }, + { + "date": "2022-04-15", + "value": 73.2 + }, + { + "date": "2022-04-28", + "value": 21.2 + }, + { + "date": "2022-08-05", + "value": 103.8 + }, + { + "date": "2022-08-12", + "value": 49.6 + }, + { + "date": "2022-08-20", + "value": 64.9 + }, + { + "date": "2022-08-28", + "value": 35.4 + }, + { + "date": "2023-01-10", + "value": 85 + }, + { + "date": "2023-01-22", + "value": 29.5 + }, + { + "date": "2023-01-30", + "value": 56.6 + }, + { + "date": "2023-06-05", + "value": 17.7 + }, + { + "date": "2023-06-18", + "value": 112.1 + }, + { + "date": "2023-10-03", + "value": 153.4 + }, + { + "date": "2023-10-10", + "value": 53.1 + }, + { + "date": "2023-10-18", + "value": 44.8 + }, + { + "date": "2023-10-25", + "value": 76.7 + }, + { + "date": "2023-10-30", + "value": 26 + }, + { + "date": "2024-03-05", + "value": 92 + }, + { + "date": "2024-03-12", + "value": 5.9 + }, + { + "date": "2024-03-20", + "value": 64.9 + }, + { + "date": "2024-03-28", + "value": 47.2 + }, + { + "date": "2024-07-08", + "value": 33 + }, + { + "date": "2024-07-15", + "value": 100.3 + }, + { + "date": "2024-07-22", + "value": 59 + }, + { + "date": "2024-11-04", + "value": 129.8 + }, + { + "date": "2024-11-11", + "value": 37.8 + }, + { + "date": "2024-11-18", + "value": 80.2 + }, + { + "date": "2024-11-25", + "value": 53.1 + }, + { + "date": "2024-11-30", + "value": 108.6 + }, + { + "date": "2025-03-03", + "value": 23.6 + }, + { + "date": "2025-03-10", + "value": 68.4 + }, + { + "date": "2025-03-17", + "value": 41.3 + }, + { + "date": "2025-03-24", + "value": 49.6 + }, + { + "date": "2025-07-02", + "value": 88.5 + }, + { + "date": "2025-07-09", + "value": 14.2 + }, + { + "date": "2025-07-16", + "value": 56.6 + }, + { + "date": "2025-07-23", + "value": 70.8 + }, + { + "date": "2025-07-30", + "value": 44.8 + }, + { + "date": "2025-09-05", + "value": 57.8 + }, + { + "date": "2025-09-11", + "value": 63.7 + }, + { + "date": "2025-09-17", + "value": 40.1 + }, + { + "date": "2025-09-23", + "value": 46 + }, + { + "date": "2025-09-29", + "value": 49.6 + }, + { + "date": "2025-10-06", + "value": 72 + }, + { + "date": "2025-10-12", + "value": 48.4 + }, + { + "date": "2025-10-18", + "value": 54.3 + }, + { + "date": "2025-10-24", + "value": 57.8 + }, + { + "date": "2025-10-30", + "value": 62.5 + }, + { + "date": "2025-11-04", + "value": 42.5 + }, + { + "date": "2025-11-10", + "value": 48.4 + }, + { + "date": "2025-11-16", + "value": 51.9 + }, + { + "date": "2025-11-22", + "value": 56.6 + }, + { + "date": "2025-11-28", + "value": 61.4 + }, + { + "date": "2025-12-05", + "value": 42.5 + }, + { + "date": "2025-12-11", + "value": 46 + }, + { + "date": "2025-12-17", + "value": 50.7 + }, + { + "date": "2025-12-23", + "value": 55.5 + }, + { + "date": "2025-12-29", + "value": 60.2 + }, + { + "date": "2026-01-06", + "value": 55.5 + }, + { + "date": "2026-01-12", + "value": 59 + }, + { + "date": "2026-01-18", + "value": 63.7 + }, + { + "date": "2026-01-24", + "value": 68.4 + }, + { + "date": "2026-01-30", + "value": 46 + }, + { + "date": "2026-02-04", + "value": 53.1 + }, + { + "date": "2026-02-10", + "value": 57.8 + }, + { + "date": "2026-02-16", + "value": 63.7 + }, + { + "date": "2026-02-22", + "value": 40.1 + }, + { + "date": "2026-02-28", + "value": 46 + }, + { + "date": "2026-03-05", + "value": 66.1 + }, + { + "date": "2026-03-11", + "value": 72 + }, + { + "date": "2026-03-17", + "value": 48.4 + }, + { + "date": "2026-03-23", + "value": 54.3 + }, + { + "date": "2026-03-29", + "value": 57.8 + }, + { + "date": "2026-04-06", + "value": 66.1 + }, + { + "date": "2026-04-12", + "value": 42.5 + }, + { + "date": "2026-04-18", + "value": 48.4 + }, + { + "date": "2026-04-24", + "value": 51.9 + }, + { + "date": "2026-04-30", + "value": 56.6 + }, + { + "date": "2026-05-04", + "value": 37.8 + }, + { + "date": "2026-05-10", + "value": 42.5 + }, + { + "date": "2026-05-16", + "value": 46 + }, + { + "date": "2026-05-22", + "value": 50.7 + }, + { + "date": "2026-05-28", + "value": 55.5 + } + ], + "monthly": [ + { + "month": "2022-04", + "mean": 45.2, + "median": 41.3, + "p10": 25.3, + "p25": 31.3, + "p75": 57.2, + "p90": 66.8, + "n": 3, + "total_kg_days": 483000 + }, + { + "month": "2022-08", + "mean": 63.5, + "median": 57.2, + "p10": 39.6, + "p25": 46, + "p75": 74.7, + "p90": 92.2, + "n": 4, + "total_kg_days": 903000 + }, + { + "month": "2023-01", + "mean": 57, + "median": 56.6, + "p10": 34.9, + "p25": 43.1, + "p75": 70.8, + "p90": 79.3, + "n": 3, + "total_kg_days": 609000 + }, + { + "month": "2023-06", + "mean": 64.9, + "median": 64.9, + "p10": 27.1, + "p25": 41.3, + "p75": 88.5, + "p90": 102.7, + "n": 2, + "total_kg_days": 462000 + }, + { + "month": "2023-10", + "mean": 70.8, + "median": 53.1, + "p10": 33.5, + "p25": 44.8, + "p75": 76.7, + "p90": 122.7, + "n": 5, + "total_kg_days": 1260000 + }, + { + "month": "2024-03", + "mean": 52.5, + "median": 56, + "p10": 18.3, + "p25": 36.9, + "p75": 71.7, + "p90": 83.9, + "n": 4, + "total_kg_days": 747600 + }, + { + "month": "2024-07", + "mean": 64.1, + "median": 59, + "p10": 38.2, + "p25": 46, + "p75": 79.6, + "p90": 92, + "n": 3, + "total_kg_days": 684600 + }, + { + "month": "2024-11", + "mean": 81.9, + "median": 80.2, + "p10": 43.9, + "p25": 53.1, + "p75": 108.6, + "p90": 121.3, + "n": 5, + "total_kg_days": 1457400 + }, + { + "month": "2025-03", + "mean": 45.8, + "median": 45.4, + "p10": 28.9, + "p25": 36.9, + "p75": 54.3, + "p90": 62.8, + "n": 4, + "total_kg_days": 651000 + }, + { + "month": "2025-07", + "mean": 55, + "median": 56.6, + "p10": 26.4, + "p25": 44.8, + "p75": 70.8, + "p90": 81.4, + "n": 5, + "total_kg_days": 978600 + }, + { + "month": "2025-09", + "mean": 51.4, + "median": 49.6, + "p10": 42.5, + "p25": 46, + "p75": 57.8, + "p90": 61.4, + "n": 5, + "total_kg_days": 915600 + }, + { + "month": "2025-10", + "mean": 59, + "median": 57.8, + "p10": 50.7, + "p25": 54.3, + "p75": 62.5, + "p90": 68.2, + "n": 5, + "total_kg_days": 1050000 + }, + { + "month": "2025-11", + "mean": 52.2, + "median": 51.9, + "p10": 44.8, + "p25": 48.4, + "p75": 56.6, + "p90": 59.5, + "n": 5, + "total_kg_days": 928200 + }, + { + "month": "2025-12", + "mean": 51, + "median": 50.7, + "p10": 43.9, + "p25": 46, + "p75": 55.5, + "p90": 58.3, + "n": 5, + "total_kg_days": 907200 + }, + { + "month": "2026-01", + "mean": 58.5, + "median": 59, + "p10": 49.8, + "p25": 55.5, + "p75": 63.7, + "p90": 66.6, + "n": 5, + "total_kg_days": 1041600 + }, + { + "month": "2026-02", + "mean": 52.2, + "median": 53.1, + "p10": 42.5, + "p25": 46, + "p75": 57.8, + "p90": 61.4, + "n": 5, + "total_kg_days": 928200 + }, + { + "month": "2026-03", + "mean": 59.7, + "median": 57.8, + "p10": 50.7, + "p25": 54.3, + "p75": 66.1, + "p90": 69.6, + "n": 5, + "total_kg_days": 1062600 + }, + { + "month": "2026-04", + "mean": 53.1, + "median": 51.9, + "p10": 44.8, + "p25": 48.4, + "p75": 56.6, + "p90": 62.3, + "n": 5, + "total_kg_days": 945000 + }, + { + "month": "2026-05", + "mean": 46.5, + "median": 46, + "p10": 39.6, + "p25": 42.5, + "p75": 50.7, + "p90": 53.6, + "n": 5, + "total_kg_days": 827400 + } + ], + "stats": { + "n": 83, + "mean": 57, + "median": 54.3, + "std": 19.8, + "min": 5.9, + "max": 153.4, + "p25": 44.8, + "p75": 63.7, + "p85": 72, + "p95": 100.3 + }, + "plifz": 30, + "plifz_note": null, + "pct_exceeding_plifz": 89.2, + "annotations": [ + { + "date": "2023-09-01", + "label": "Supplier change for Highland Arabica" + } + ], + "cost": { + "unit_price": 3.776, + "currency": "CHF", + "mean_qty": 4200, + "monthly": [ + { + "month": "2022-04", + "n_events": 3, + "total_kg_days": 483000 + }, + { + "month": "2022-08", + "n_events": 4, + "total_kg_days": 903000 + }, + { + "month": "2023-01", + "n_events": 3, + "total_kg_days": 609000 + }, + { + "month": "2023-06", + "n_events": 2, + "total_kg_days": 462000 + }, + { + "month": "2023-10", + "n_events": 5, + "total_kg_days": 1260000 + }, + { + "month": "2024-03", + "n_events": 4, + "total_kg_days": 747600 + }, + { + "month": "2024-07", + "n_events": 3, + "total_kg_days": 684600 + }, + { + "month": "2024-11", + "n_events": 5, + "total_kg_days": 1457400 + }, + { + "month": "2025-03", + "n_events": 4, + "total_kg_days": 651000 + }, + { + "month": "2025-07", + "n_events": 5, + "total_kg_days": 978600 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 915600 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1050000 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 928200 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 907200 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1041600 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 928200 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1062600 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 945000 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 827400 + } + ] + }, + "detail_rows": { + "columns": [ + { + "key": "batch", + "source_field": "CHARG", + "source_table": "MSEG", + "label": "Batch" + }, + { + "key": "consumption_date", + "source_field": "BUDAT", + "source_table": "MKPF", + "label": "Consumption Date" + }, + { + "key": "dwell_days", + "source_field": null, + "source_table": null, + "label": "Dwell Days", + "unit": "d" + }, + { + "key": "kg_days", + "source_field": null, + "source_table": null, + "label": "Inventory kg-days", + "unit": "kg·d" + }, + { + "key": "cons_matnr", + "source_field": "MATNR", + "source_table": "MSEG", + "label": "Consuming Material" + }, + { + "key": "cons_material_name", + "source_field": "MAKTX", + "source_table": "MAKT", + "label": "Consuming Material Name" + }, + { + "key": "cons_in_current_recipe", + "source_field": null, + "source_table": null, + "label": "In Current Recipe" + } + ], + "rows": [ + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-001", + "consumption_date": "2022-04-02", + "dwell_days": 41.3, + "kg_days": 161000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-002", + "consumption_date": "2022-04-15", + "dwell_days": 73.2, + "kg_days": 161000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-003", + "consumption_date": "2022-04-28", + "dwell_days": 21.2, + "kg_days": 161000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-004", + "consumption_date": "2022-08-05", + "dwell_days": 103.8, + "kg_days": 225750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-005", + "consumption_date": "2022-08-12", + "dwell_days": 49.6, + "kg_days": 225750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-006", + "consumption_date": "2022-08-20", + "dwell_days": 64.9, + "kg_days": 225750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-007", + "consumption_date": "2022-08-28", + "dwell_days": 35.4, + "kg_days": 225750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-008", + "consumption_date": "2023-01-10", + "dwell_days": 85, + "kg_days": 203000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-009", + "consumption_date": "2023-01-22", + "dwell_days": 29.5, + "kg_days": 203000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-010", + "consumption_date": "2023-01-30", + "dwell_days": 56.6, + "kg_days": 203000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-011", + "consumption_date": "2023-06-05", + "dwell_days": 17.7, + "kg_days": 231000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-012", + "consumption_date": "2023-06-18", + "dwell_days": 112.1, + "kg_days": 231000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-013", + "consumption_date": "2023-10-03", + "dwell_days": 153.4, + "kg_days": 252000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-014", + "consumption_date": "2023-10-10", + "dwell_days": 53.1, + "kg_days": 252000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-015", + "consumption_date": "2023-10-18", + "dwell_days": 44.8, + "kg_days": 252000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-016", + "consumption_date": "2023-10-25", + "dwell_days": 76.7, + "kg_days": 252000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-017", + "consumption_date": "2023-10-30", + "dwell_days": 26, + "kg_days": 252000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-018", + "consumption_date": "2024-03-05", + "dwell_days": 92, + "kg_days": 186900, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-019", + "consumption_date": "2024-03-12", + "dwell_days": 5.9, + "kg_days": 186900, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-020", + "consumption_date": "2024-03-20", + "dwell_days": 64.9, + "kg_days": 186900, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-021", + "consumption_date": "2024-03-28", + "dwell_days": 47.2, + "kg_days": 186900, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-022", + "consumption_date": "2024-07-08", + "dwell_days": 33, + "kg_days": 228200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-023", + "consumption_date": "2024-07-15", + "dwell_days": 100.3, + "kg_days": 228200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-024", + "consumption_date": "2024-07-22", + "dwell_days": 59, + "kg_days": 228200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-025", + "consumption_date": "2024-11-04", + "dwell_days": 129.8, + "kg_days": 291480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-026", + "consumption_date": "2024-11-11", + "dwell_days": 37.8, + "kg_days": 291480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-027", + "consumption_date": "2024-11-18", + "dwell_days": 80.2, + "kg_days": 291480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-028", + "consumption_date": "2024-11-25", + "dwell_days": 53.1, + "kg_days": 291480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-029", + "consumption_date": "2024-11-30", + "dwell_days": 108.6, + "kg_days": 291480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-030", + "consumption_date": "2025-03-03", + "dwell_days": 23.6, + "kg_days": 162750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-031", + "consumption_date": "2025-03-10", + "dwell_days": 68.4, + "kg_days": 162750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-032", + "consumption_date": "2025-03-17", + "dwell_days": 41.3, + "kg_days": 162750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-033", + "consumption_date": "2025-03-24", + "dwell_days": 49.6, + "kg_days": 162750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-034", + "consumption_date": "2025-07-02", + "dwell_days": 88.5, + "kg_days": 195720, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-035", + "consumption_date": "2025-07-09", + "dwell_days": 14.2, + "kg_days": 195720, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-036", + "consumption_date": "2025-07-16", + "dwell_days": 56.6, + "kg_days": 195720, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-037", + "consumption_date": "2025-07-23", + "dwell_days": 70.8, + "kg_days": 195720, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-038", + "consumption_date": "2025-07-30", + "dwell_days": 44.8, + "kg_days": 195720, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-039", + "consumption_date": "2025-09-05", + "dwell_days": 57.8, + "kg_days": 183120, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-040", + "consumption_date": "2025-09-11", + "dwell_days": 63.7, + "kg_days": 183120, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-041", + "consumption_date": "2025-09-17", + "dwell_days": 40.1, + "kg_days": 183120, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-042", + "consumption_date": "2025-09-23", + "dwell_days": 46, + "kg_days": 183120, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-043", + "consumption_date": "2025-09-29", + "dwell_days": 49.6, + "kg_days": 183120, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-044", + "consumption_date": "2025-10-06", + "dwell_days": 72, + "kg_days": 210000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-045", + "consumption_date": "2025-10-12", + "dwell_days": 48.4, + "kg_days": 210000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-046", + "consumption_date": "2025-10-18", + "dwell_days": 54.3, + "kg_days": 210000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-047", + "consumption_date": "2025-10-24", + "dwell_days": 57.8, + "kg_days": 210000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-048", + "consumption_date": "2025-10-30", + "dwell_days": 62.5, + "kg_days": 210000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-049", + "consumption_date": "2025-11-04", + "dwell_days": 42.5, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-050", + "consumption_date": "2025-11-10", + "dwell_days": 48.4, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-051", + "consumption_date": "2025-11-16", + "dwell_days": 51.9, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-052", + "consumption_date": "2025-11-22", + "dwell_days": 56.6, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-053", + "consumption_date": "2025-11-28", + "dwell_days": 61.4, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-054", + "consumption_date": "2025-12-05", + "dwell_days": 42.5, + "kg_days": 181440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-055", + "consumption_date": "2025-12-11", + "dwell_days": 46, + "kg_days": 181440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-056", + "consumption_date": "2025-12-17", + "dwell_days": 50.7, + "kg_days": 181440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-057", + "consumption_date": "2025-12-23", + "dwell_days": 55.5, + "kg_days": 181440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-058", + "consumption_date": "2025-12-29", + "dwell_days": 60.2, + "kg_days": 181440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-059", + "consumption_date": "2026-01-06", + "dwell_days": 55.5, + "kg_days": 208320, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-060", + "consumption_date": "2026-01-12", + "dwell_days": 59, + "kg_days": 208320, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-061", + "consumption_date": "2026-01-18", + "dwell_days": 63.7, + "kg_days": 208320, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-062", + "consumption_date": "2026-01-24", + "dwell_days": 68.4, + "kg_days": 208320, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-063", + "consumption_date": "2026-01-30", + "dwell_days": 46, + "kg_days": 208320, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-064", + "consumption_date": "2026-02-04", + "dwell_days": 53.1, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-065", + "consumption_date": "2026-02-10", + "dwell_days": 57.8, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-066", + "consumption_date": "2026-02-16", + "dwell_days": 63.7, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-067", + "consumption_date": "2026-02-22", + "dwell_days": 40.1, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-068", + "consumption_date": "2026-02-28", + "dwell_days": 46, + "kg_days": 185640, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-069", + "consumption_date": "2026-03-05", + "dwell_days": 66.1, + "kg_days": 212520, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-070", + "consumption_date": "2026-03-11", + "dwell_days": 72, + "kg_days": 212520, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-071", + "consumption_date": "2026-03-17", + "dwell_days": 48.4, + "kg_days": 212520, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-072", + "consumption_date": "2026-03-23", + "dwell_days": 54.3, + "kg_days": 212520, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-073", + "consumption_date": "2026-03-29", + "dwell_days": 57.8, + "kg_days": 212520, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-074", + "consumption_date": "2026-04-06", + "dwell_days": 66.1, + "kg_days": 189000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-075", + "consumption_date": "2026-04-12", + "dwell_days": 42.5, + "kg_days": 189000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-076", + "consumption_date": "2026-04-18", + "dwell_days": 48.4, + "kg_days": 189000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-077", + "consumption_date": "2026-04-24", + "dwell_days": 51.9, + "kg_days": 189000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-078", + "consumption_date": "2026-04-30", + "dwell_days": 56.6, + "kg_days": 189000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-079", + "consumption_date": "2026-05-04", + "dwell_days": 37.8, + "kg_days": 165480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-080", + "consumption_date": "2026-05-10", + "dwell_days": 42.5, + "kg_days": 165480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-081", + "consumption_date": "2026-05-16", + "dwell_days": 46, + "kg_days": 165480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-082", + "consumption_date": "2026-05-22", + "dwell_days": 50.7, + "kg_days": 165480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-083", + "consumption_date": "2026-05-28", + "dwell_days": 55.5, + "kg_days": 165480, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-OTHER-01", + "consumption_date": "2026-05-16", + "dwell_days": 52.9, + "kg_days": 57500, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 0 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-OTHER-02", + "consumption_date": "2026-05-22", + "dwell_days": 58.3, + "kg_days": 63375, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 0 + }, + { + "batch": "RAW_DWELL_HIGHLAND_ARABICA-OTHER-03", + "consumption_date": "2026-05-28", + "dwell_days": 63.8, + "kg_days": 69375, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 0 + } + ] + }, + "ref_date_col": "consumption_date", + "n_batches": null, + "n_movements": 38, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0", + "value_col": "dwell_days" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/raw_dwell_lowland_robusta.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/raw_dwell_lowland_robusta.json new file mode 100644 index 00000000000..c133a4c2252 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/raw_dwell_lowland_robusta.json @@ -0,0 +1,1261 @@ +{ + "id": "raw_dwell_lowland_robusta", + "label": "Raw Material Dwell: Lowland Robusta", + "type": "raw_material_dwell", + "durations": [ + 33, 53.1, 14.2, 73.2, 38.9, 92, 23.6, 64.9, 9.4, 49.6, 76.7, 44.8, 17.7, 85, + 29.5, 56.6, 3.5, 100.3, 35.4, 64.9, 26, 47.2, 115.6, 21.2, 46, 48.4, 53.1, + 35.4, 40.1, 44.8, 48.4, 31.9, 35.4, 37.8, 44.8, 27.1, 31.9, 34.2, 37.8, 33, + 37.8, 40.1, 43.7, 47.2, 33, 36.6, 38.9, 42.5, 46, 42.5, 46, 48.4, 53.1, + 35.4, 41.3, 44.8, 48.4, 31.9, 35.4, 40.1, 44.8, 27.1, 31.9, 34.2, 50.7, 33, + 37.8, 40.1, 43.7 + ], + "observations": [ + { + "date": "2022-05-02", + "value": 33 + }, + { + "date": "2022-05-10", + "value": 53.1 + }, + { + "date": "2022-05-18", + "value": 14.2 + }, + { + "date": "2022-05-25", + "value": 73.2 + }, + { + "date": "2023-02-06", + "value": 38.9 + }, + { + "date": "2023-02-14", + "value": 92 + }, + { + "date": "2023-02-22", + "value": 23.6 + }, + { + "date": "2023-02-28", + "value": 64.9 + }, + { + "date": "2023-09-05", + "value": 9.4 + }, + { + "date": "2023-09-15", + "value": 49.6 + }, + { + "date": "2023-09-25", + "value": 76.7 + }, + { + "date": "2024-04-03", + "value": 44.8 + }, + { + "date": "2024-04-10", + "value": 17.7 + }, + { + "date": "2024-04-17", + "value": 85 + }, + { + "date": "2024-04-24", + "value": 29.5 + }, + { + "date": "2024-10-02", + "value": 56.6 + }, + { + "date": "2024-10-09", + "value": 3.5 + }, + { + "date": "2024-10-16", + "value": 100.3 + }, + { + "date": "2024-10-23", + "value": 35.4 + }, + { + "date": "2024-10-30", + "value": 64.9 + }, + { + "date": "2025-04-07", + "value": 26 + }, + { + "date": "2025-04-14", + "value": 47.2 + }, + { + "date": "2025-04-21", + "value": 115.6 + }, + { + "date": "2025-04-28", + "value": 21.2 + }, + { + "date": "2025-09-04", + "value": 46 + }, + { + "date": "2025-09-10", + "value": 48.4 + }, + { + "date": "2025-09-16", + "value": 53.1 + }, + { + "date": "2025-09-22", + "value": 35.4 + }, + { + "date": "2025-09-28", + "value": 40.1 + }, + { + "date": "2025-10-05", + "value": 44.8 + }, + { + "date": "2025-10-11", + "value": 48.4 + }, + { + "date": "2025-10-17", + "value": 31.9 + }, + { + "date": "2025-10-23", + "value": 35.4 + }, + { + "date": "2025-10-29", + "value": 37.8 + }, + { + "date": "2025-11-06", + "value": 44.8 + }, + { + "date": "2025-11-12", + "value": 27.1 + }, + { + "date": "2025-11-18", + "value": 31.9 + }, + { + "date": "2025-11-24", + "value": 34.2 + }, + { + "date": "2025-11-30", + "value": 37.8 + }, + { + "date": "2025-12-04", + "value": 33 + }, + { + "date": "2025-12-10", + "value": 37.8 + }, + { + "date": "2025-12-16", + "value": 40.1 + }, + { + "date": "2025-12-22", + "value": 43.7 + }, + { + "date": "2025-12-28", + "value": 47.2 + }, + { + "date": "2026-01-05", + "value": 33 + }, + { + "date": "2026-01-11", + "value": 36.6 + }, + { + "date": "2026-01-17", + "value": 38.9 + }, + { + "date": "2026-01-23", + "value": 42.5 + }, + { + "date": "2026-01-29", + "value": 46 + }, + { + "date": "2026-02-06", + "value": 42.5 + }, + { + "date": "2026-02-12", + "value": 46 + }, + { + "date": "2026-02-18", + "value": 48.4 + }, + { + "date": "2026-02-24", + "value": 53.1 + }, + { + "date": "2026-02-30", + "value": 35.4 + }, + { + "date": "2026-03-04", + "value": 41.3 + }, + { + "date": "2026-03-10", + "value": 44.8 + }, + { + "date": "2026-03-16", + "value": 48.4 + }, + { + "date": "2026-03-22", + "value": 31.9 + }, + { + "date": "2026-03-28", + "value": 35.4 + }, + { + "date": "2026-04-05", + "value": 40.1 + }, + { + "date": "2026-04-11", + "value": 44.8 + }, + { + "date": "2026-04-17", + "value": 27.1 + }, + { + "date": "2026-04-23", + "value": 31.9 + }, + { + "date": "2026-04-29", + "value": 34.2 + }, + { + "date": "2026-05-06", + "value": 50.7 + }, + { + "date": "2026-05-12", + "value": 33 + }, + { + "date": "2026-05-18", + "value": 37.8 + }, + { + "date": "2026-05-24", + "value": 40.1 + }, + { + "date": "2026-05-30", + "value": 43.7 + } + ], + "monthly": [ + { + "month": "2022-05", + "mean": 43.4, + "median": 43.1, + "p10": 19.8, + "p25": 28.3, + "p75": 58.2, + "p90": 67.1, + "n": 4, + "total_kg_days": 955500 + }, + { + "month": "2023-02", + "mean": 54.9, + "median": 51.9, + "p10": 28.2, + "p25": 35.2, + "p75": 71.7, + "p90": 83.9, + "n": 4, + "total_kg_days": 1209000 + }, + { + "month": "2023-09", + "mean": 45.2, + "median": 49.6, + "p10": 17.5, + "p25": 29.5, + "p75": 63.1, + "p90": 71.3, + "n": 3, + "total_kg_days": 747500 + }, + { + "month": "2024-04", + "mean": 44.2, + "median": 37.2, + "p10": 21.2, + "p25": 26.5, + "p75": 54.9, + "p90": 72.9, + "n": 4, + "total_kg_days": 975000 + }, + { + "month": "2024-10", + "mean": 52.2, + "median": 56.6, + "p10": 16.3, + "p25": 35.4, + "p75": 64.9, + "p90": 86.1, + "n": 5, + "total_kg_days": 1436500 + }, + { + "month": "2025-04", + "mean": 52.5, + "median": 36.6, + "p10": 22.7, + "p25": 24.8, + "p75": 64.3, + "p90": 95.1, + "n": 4, + "total_kg_days": 1157000 + }, + { + "month": "2025-09", + "mean": 44.6, + "median": 46, + "p10": 37.3, + "p25": 40.1, + "p75": 48.4, + "p90": 51.2, + "n": 5, + "total_kg_days": 1228500 + }, + { + "month": "2025-10", + "mean": 39.6, + "median": 37.8, + "p10": 33.3, + "p25": 35.4, + "p75": 44.8, + "p90": 47, + "n": 5, + "total_kg_days": 1092000 + }, + { + "month": "2025-11", + "mean": 35.2, + "median": 34.2, + "p10": 29, + "p25": 31.9, + "p75": 37.8, + "p90": 42, + "n": 5, + "total_kg_days": 968500 + }, + { + "month": "2025-12", + "mean": 40.4, + "median": 40.1, + "p10": 34.9, + "p25": 37.8, + "p75": 43.7, + "p90": 45.8, + "n": 5, + "total_kg_days": 1111500 + }, + { + "month": "2026-01", + "mean": 39.4, + "median": 38.9, + "p10": 34.5, + "p25": 36.6, + "p75": 42.5, + "p90": 44.6, + "n": 5, + "total_kg_days": 1085500 + }, + { + "month": "2026-02", + "mean": 45.1, + "median": 46, + "p10": 38.2, + "p25": 42.5, + "p75": 48.4, + "p90": 51.2, + "n": 5, + "total_kg_days": 1241500 + }, + { + "month": "2026-03", + "mean": 40.4, + "median": 41.3, + "p10": 33.3, + "p25": 35.4, + "p75": 44.8, + "p90": 47, + "n": 5, + "total_kg_days": 1111500 + }, + { + "month": "2026-04", + "mean": 35.6, + "median": 34.2, + "p10": 29, + "p25": 31.9, + "p75": 40.1, + "p90": 43, + "n": 5, + "total_kg_days": 981500 + }, + { + "month": "2026-05", + "mean": 41.1, + "median": 40.1, + "p10": 34.9, + "p25": 37.8, + "p75": 43.7, + "p90": 47.9, + "n": 5, + "total_kg_days": 1131000 + } + ], + "stats": { + "n": 69, + "mean": 43.2, + "median": 40.1, + "std": 15.8, + "min": 3.5, + "max": 115.6, + "p25": 33, + "p75": 48.4, + "p85": 53.1, + "p95": 76.7 + }, + "plifz": 21, + "plifz_note": null, + "pct_exceeding_plifz": 91.3, + "annotations": [], + "cost": { + "unit_price": 2.124, + "currency": "CHF", + "mean_qty": 6500, + "monthly": [ + { + "month": "2022-05", + "n_events": 4, + "total_kg_days": 955500 + }, + { + "month": "2023-02", + "n_events": 4, + "total_kg_days": 1209000 + }, + { + "month": "2023-09", + "n_events": 3, + "total_kg_days": 747500 + }, + { + "month": "2024-04", + "n_events": 4, + "total_kg_days": 975000 + }, + { + "month": "2024-10", + "n_events": 5, + "total_kg_days": 1436500 + }, + { + "month": "2025-04", + "n_events": 4, + "total_kg_days": 1157000 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 1228500 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 1092000 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 968500 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 1111500 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 1085500 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 1241500 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 1111500 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 981500 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 1131000 + } + ] + }, + "detail_rows": { + "columns": [ + { + "key": "batch", + "source_field": "CHARG", + "source_table": "MSEG", + "label": "Batch" + }, + { + "key": "consumption_date", + "source_field": "BUDAT", + "source_table": "MKPF", + "label": "Consumption Date" + }, + { + "key": "dwell_days", + "source_field": null, + "source_table": null, + "label": "Dwell Days", + "unit": "d" + }, + { + "key": "kg_days", + "source_field": null, + "source_table": null, + "label": "Inventory kg-days", + "unit": "kg·d" + }, + { + "key": "cons_matnr", + "source_field": "MATNR", + "source_table": "MSEG", + "label": "Consuming Material" + }, + { + "key": "cons_material_name", + "source_field": "MAKTX", + "source_table": "MAKT", + "label": "Consuming Material Name" + }, + { + "key": "cons_in_current_recipe", + "source_field": null, + "source_table": null, + "label": "In Current Recipe" + } + ], + "rows": [ + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-001", + "consumption_date": "2022-05-02", + "dwell_days": 33, + "kg_days": 238875, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-002", + "consumption_date": "2022-05-10", + "dwell_days": 53.1, + "kg_days": 238875, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-003", + "consumption_date": "2022-05-18", + "dwell_days": 14.2, + "kg_days": 238875, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-004", + "consumption_date": "2022-05-25", + "dwell_days": 73.2, + "kg_days": 238875, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-005", + "consumption_date": "2023-02-06", + "dwell_days": 38.9, + "kg_days": 302250, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-006", + "consumption_date": "2023-02-14", + "dwell_days": 92, + "kg_days": 302250, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-007", + "consumption_date": "2023-02-22", + "dwell_days": 23.6, + "kg_days": 302250, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-008", + "consumption_date": "2023-02-28", + "dwell_days": 64.9, + "kg_days": 302250, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-009", + "consumption_date": "2023-09-05", + "dwell_days": 9.4, + "kg_days": 249166.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-010", + "consumption_date": "2023-09-15", + "dwell_days": 49.6, + "kg_days": 249166.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-011", + "consumption_date": "2023-09-25", + "dwell_days": 76.7, + "kg_days": 249166.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-012", + "consumption_date": "2024-04-03", + "dwell_days": 44.8, + "kg_days": 243750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-013", + "consumption_date": "2024-04-10", + "dwell_days": 17.7, + "kg_days": 243750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-014", + "consumption_date": "2024-04-17", + "dwell_days": 85, + "kg_days": 243750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-015", + "consumption_date": "2024-04-24", + "dwell_days": 29.5, + "kg_days": 243750, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-016", + "consumption_date": "2024-10-02", + "dwell_days": 56.6, + "kg_days": 287300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-017", + "consumption_date": "2024-10-09", + "dwell_days": 3.5, + "kg_days": 287300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-018", + "consumption_date": "2024-10-16", + "dwell_days": 100.3, + "kg_days": 287300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-019", + "consumption_date": "2024-10-23", + "dwell_days": 35.4, + "kg_days": 287300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-020", + "consumption_date": "2024-10-30", + "dwell_days": 64.9, + "kg_days": 287300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-021", + "consumption_date": "2025-04-07", + "dwell_days": 26, + "kg_days": 289250, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-022", + "consumption_date": "2025-04-14", + "dwell_days": 47.2, + "kg_days": 289250, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-023", + "consumption_date": "2025-04-21", + "dwell_days": 115.6, + "kg_days": 289250, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-024", + "consumption_date": "2025-04-28", + "dwell_days": 21.2, + "kg_days": 289250, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-025", + "consumption_date": "2025-09-04", + "dwell_days": 46, + "kg_days": 245700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-026", + "consumption_date": "2025-09-10", + "dwell_days": 48.4, + "kg_days": 245700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-027", + "consumption_date": "2025-09-16", + "dwell_days": 53.1, + "kg_days": 245700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-028", + "consumption_date": "2025-09-22", + "dwell_days": 35.4, + "kg_days": 245700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-029", + "consumption_date": "2025-09-28", + "dwell_days": 40.1, + "kg_days": 245700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-030", + "consumption_date": "2025-10-05", + "dwell_days": 44.8, + "kg_days": 218400, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-031", + "consumption_date": "2025-10-11", + "dwell_days": 48.4, + "kg_days": 218400, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-032", + "consumption_date": "2025-10-17", + "dwell_days": 31.9, + "kg_days": 218400, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-033", + "consumption_date": "2025-10-23", + "dwell_days": 35.4, + "kg_days": 218400, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-034", + "consumption_date": "2025-10-29", + "dwell_days": 37.8, + "kg_days": 218400, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-035", + "consumption_date": "2025-11-06", + "dwell_days": 44.8, + "kg_days": 193700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-036", + "consumption_date": "2025-11-12", + "dwell_days": 27.1, + "kg_days": 193700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-037", + "consumption_date": "2025-11-18", + "dwell_days": 31.9, + "kg_days": 193700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-038", + "consumption_date": "2025-11-24", + "dwell_days": 34.2, + "kg_days": 193700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-039", + "consumption_date": "2025-11-30", + "dwell_days": 37.8, + "kg_days": 193700, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-040", + "consumption_date": "2025-12-04", + "dwell_days": 33, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-041", + "consumption_date": "2025-12-10", + "dwell_days": 37.8, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-042", + "consumption_date": "2025-12-16", + "dwell_days": 40.1, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-043", + "consumption_date": "2025-12-22", + "dwell_days": 43.7, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-044", + "consumption_date": "2025-12-28", + "dwell_days": 47.2, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-045", + "consumption_date": "2026-01-05", + "dwell_days": 33, + "kg_days": 217100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-046", + "consumption_date": "2026-01-11", + "dwell_days": 36.6, + "kg_days": 217100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-047", + "consumption_date": "2026-01-17", + "dwell_days": 38.9, + "kg_days": 217100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-048", + "consumption_date": "2026-01-23", + "dwell_days": 42.5, + "kg_days": 217100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-049", + "consumption_date": "2026-01-29", + "dwell_days": 46, + "kg_days": 217100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-050", + "consumption_date": "2026-02-06", + "dwell_days": 42.5, + "kg_days": 248300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-051", + "consumption_date": "2026-02-12", + "dwell_days": 46, + "kg_days": 248300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-052", + "consumption_date": "2026-02-18", + "dwell_days": 48.4, + "kg_days": 248300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-053", + "consumption_date": "2026-02-24", + "dwell_days": 53.1, + "kg_days": 248300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-054", + "consumption_date": "2026-02-30", + "dwell_days": 35.4, + "kg_days": 248300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-055", + "consumption_date": "2026-03-04", + "dwell_days": 41.3, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-056", + "consumption_date": "2026-03-10", + "dwell_days": 44.8, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-057", + "consumption_date": "2026-03-16", + "dwell_days": 48.4, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-058", + "consumption_date": "2026-03-22", + "dwell_days": 31.9, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-059", + "consumption_date": "2026-03-28", + "dwell_days": 35.4, + "kg_days": 222300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-060", + "consumption_date": "2026-04-05", + "dwell_days": 40.1, + "kg_days": 196300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-061", + "consumption_date": "2026-04-11", + "dwell_days": 44.8, + "kg_days": 196300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-062", + "consumption_date": "2026-04-17", + "dwell_days": 27.1, + "kg_days": 196300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-063", + "consumption_date": "2026-04-23", + "dwell_days": 31.9, + "kg_days": 196300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-064", + "consumption_date": "2026-04-29", + "dwell_days": 34.2, + "kg_days": 196300, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-065", + "consumption_date": "2026-05-06", + "dwell_days": 50.7, + "kg_days": 226200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-066", + "consumption_date": "2026-05-12", + "dwell_days": 33, + "kg_days": 226200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-067", + "consumption_date": "2026-05-18", + "dwell_days": 37.8, + "kg_days": 226200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-068", + "consumption_date": "2026-05-24", + "dwell_days": 40.1, + "kg_days": 226200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-069", + "consumption_date": "2026-05-30", + "dwell_days": 43.7, + "kg_days": 226200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-OTHER-01", + "consumption_date": "2026-05-18", + "dwell_days": 43.5, + "kg_days": 47250, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 0 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-OTHER-02", + "consumption_date": "2026-05-24", + "dwell_days": 46.1, + "kg_days": 50125, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 0 + }, + { + "batch": "RAW_DWELL_LOWLAND_ROBUSTA-OTHER-03", + "consumption_date": "2026-05-30", + "dwell_days": 50.3, + "kg_days": 54625, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 0 + } + ] + }, + "ref_date_col": "consumption_date", + "n_batches": null, + "n_movements": 42, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0", + "value_col": "dwell_days" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/raw_dwell_washed_bourbon.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/raw_dwell_washed_bourbon.json new file mode 100644 index 00000000000..0a356dad1d0 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/raw_dwell_washed_bourbon.json @@ -0,0 +1,1274 @@ +{ + "id": "raw_dwell_washed_bourbon", + "label": "Raw Material Dwell: Washed Bourbon", + "type": "raw_material_dwell", + "durations": [ + 47.2, 26, 80.2, 4.7, 64.9, 135.7, 35.4, 73.2, 21.2, 100.3, 41.3, 85, 11.8, + 56.6, 112.1, 33, 61.4, 17.7, 92, 49.6, 9.4, 76.7, 38.9, 118, 23.6, 48.4, + 53.1, 56.6, 61.4, 40.1, 47.2, 51.9, 56.6, 35.4, 40.1, 59, 63.7, 42.5, 48.4, + 51.9, 59, 37.8, 42.5, 46, 50.7, 33, 37.8, 41.3, 44.8, 49.6, 46, 48.4, 53.1, + 56.6, 61.4, 43.7, 47.2, 51.9, 56.6, 35.4, 55.5, 59, 63.7, 42.5, 48.4, 54.3, + 59, 37.8, 42.5, 46 + ], + "observations": [ + { + "date": "2022-06-05", + "value": 47.2 + }, + { + "date": "2022-06-15", + "value": 26 + }, + { + "date": "2022-06-25", + "value": 80.2 + }, + { + "date": "2023-03-08", + "value": 4.7 + }, + { + "date": "2023-03-15", + "value": 64.9 + }, + { + "date": "2023-03-22", + "value": 135.7 + }, + { + "date": "2023-03-29", + "value": 35.4 + }, + { + "date": "2023-11-06", + "value": 73.2 + }, + { + "date": "2023-11-13", + "value": 21.2 + }, + { + "date": "2023-11-20", + "value": 100.3 + }, + { + "date": "2024-06-03", + "value": 41.3 + }, + { + "date": "2024-06-10", + "value": 85 + }, + { + "date": "2024-06-17", + "value": 11.8 + }, + { + "date": "2024-06-24", + "value": 56.6 + }, + { + "date": "2024-06-30", + "value": 112.1 + }, + { + "date": "2025-01-07", + "value": 33 + }, + { + "date": "2025-01-14", + "value": 61.4 + }, + { + "date": "2025-01-21", + "value": 17.7 + }, + { + "date": "2025-01-28", + "value": 92 + }, + { + "date": "2025-08-04", + "value": 49.6 + }, + { + "date": "2025-08-08", + "value": 9.4 + }, + { + "date": "2025-08-12", + "value": 76.7 + }, + { + "date": "2025-08-16", + "value": 38.9 + }, + { + "date": "2025-08-20", + "value": 118 + }, + { + "date": "2025-08-24", + "value": 23.6 + }, + { + "date": "2025-09-06", + "value": 48.4 + }, + { + "date": "2025-09-12", + "value": 53.1 + }, + { + "date": "2025-09-18", + "value": 56.6 + }, + { + "date": "2025-09-24", + "value": 61.4 + }, + { + "date": "2025-09-30", + "value": 40.1 + }, + { + "date": "2025-10-04", + "value": 47.2 + }, + { + "date": "2025-10-10", + "value": 51.9 + }, + { + "date": "2025-10-16", + "value": 56.6 + }, + { + "date": "2025-10-22", + "value": 35.4 + }, + { + "date": "2025-10-28", + "value": 40.1 + }, + { + "date": "2025-11-05", + "value": 59 + }, + { + "date": "2025-11-11", + "value": 63.7 + }, + { + "date": "2025-11-17", + "value": 42.5 + }, + { + "date": "2025-11-23", + "value": 48.4 + }, + { + "date": "2025-11-29", + "value": 51.9 + }, + { + "date": "2025-12-06", + "value": 59 + }, + { + "date": "2025-12-12", + "value": 37.8 + }, + { + "date": "2025-12-18", + "value": 42.5 + }, + { + "date": "2025-12-24", + "value": 46 + }, + { + "date": "2025-12-30", + "value": 50.7 + }, + { + "date": "2026-01-04", + "value": 33 + }, + { + "date": "2026-01-10", + "value": 37.8 + }, + { + "date": "2026-01-16", + "value": 41.3 + }, + { + "date": "2026-01-22", + "value": 44.8 + }, + { + "date": "2026-01-28", + "value": 49.6 + }, + { + "date": "2026-02-05", + "value": 46 + }, + { + "date": "2026-02-11", + "value": 48.4 + }, + { + "date": "2026-02-17", + "value": 53.1 + }, + { + "date": "2026-02-23", + "value": 56.6 + }, + { + "date": "2026-02-29", + "value": 61.4 + }, + { + "date": "2026-03-06", + "value": 43.7 + }, + { + "date": "2026-03-12", + "value": 47.2 + }, + { + "date": "2026-03-18", + "value": 51.9 + }, + { + "date": "2026-03-24", + "value": 56.6 + }, + { + "date": "2026-03-30", + "value": 35.4 + }, + { + "date": "2026-04-04", + "value": 55.5 + }, + { + "date": "2026-04-10", + "value": 59 + }, + { + "date": "2026-04-16", + "value": 63.7 + }, + { + "date": "2026-04-22", + "value": 42.5 + }, + { + "date": "2026-04-28", + "value": 48.4 + }, + { + "date": "2026-05-05", + "value": 54.3 + }, + { + "date": "2026-05-11", + "value": 59 + }, + { + "date": "2026-05-17", + "value": 37.8 + }, + { + "date": "2026-05-23", + "value": 42.5 + }, + { + "date": "2026-05-29", + "value": 46 + } + ], + "monthly": [ + { + "month": "2022-06", + "mean": 51.1, + "median": 47.2, + "p10": 30.2, + "p25": 36.6, + "p75": 63.7, + "p90": 73.6, + "n": 3, + "total_kg_days": 364000 + }, + { + "month": "2023-03", + "mean": 60.2, + "median": 50.1, + "p10": 13.9, + "p25": 27.7, + "p75": 82.6, + "p90": 114.5, + "n": 4, + "total_kg_days": 571200 + }, + { + "month": "2023-11", + "mean": 64.9, + "median": 73.2, + "p10": 31.6, + "p25": 47.2, + "p75": 86.7, + "p90": 94.9, + "n": 3, + "total_kg_days": 462000 + }, + { + "month": "2024-06", + "mean": 61.4, + "median": 56.6, + "p10": 23.6, + "p25": 41.3, + "p75": 85, + "p90": 101.2, + "n": 5, + "total_kg_days": 728000 + }, + { + "month": "2025-01", + "mean": 51.1, + "median": 47.2, + "p10": 22.3, + "p25": 29.3, + "p75": 69, + "p90": 82.8, + "n": 4, + "total_kg_days": 484400 + }, + { + "month": "2025-08", + "mean": 52.7, + "median": 44.2, + "p10": 16.5, + "p25": 27.5, + "p75": 70, + "p90": 97.3, + "n": 6, + "total_kg_days": 750400 + }, + { + "month": "2025-09", + "mean": 51.9, + "median": 53.1, + "p10": 43.4, + "p25": 48.4, + "p75": 56.6, + "p90": 59.5, + "n": 5, + "total_kg_days": 616000 + }, + { + "month": "2025-10", + "mean": 46.3, + "median": 47.2, + "p10": 37.3, + "p25": 40.1, + "p75": 51.9, + "p90": 54.8, + "n": 5, + "total_kg_days": 548800 + }, + { + "month": "2025-11", + "mean": 53.1, + "median": 51.9, + "p10": 44.8, + "p25": 48.4, + "p75": 59, + "p90": 61.8, + "n": 5, + "total_kg_days": 630000 + }, + { + "month": "2025-12", + "mean": 47.2, + "median": 46, + "p10": 39.6, + "p25": 42.5, + "p75": 50.7, + "p90": 55.7, + "n": 5, + "total_kg_days": 560000 + }, + { + "month": "2026-01", + "mean": 41.3, + "median": 41.3, + "p10": 34.9, + "p25": 37.8, + "p75": 44.8, + "p90": 47.7, + "n": 5, + "total_kg_days": 490000 + }, + { + "month": "2026-02", + "mean": 53.1, + "median": 53.1, + "p10": 47, + "p25": 48.4, + "p75": 56.6, + "p90": 59.5, + "n": 5, + "total_kg_days": 630000 + }, + { + "month": "2026-03", + "mean": 47, + "median": 47.2, + "p10": 38.7, + "p25": 43.7, + "p75": 51.9, + "p90": 54.8, + "n": 5, + "total_kg_days": 557200 + }, + { + "month": "2026-04", + "mean": 53.8, + "median": 55.5, + "p10": 44.8, + "p25": 48.4, + "p75": 59, + "p90": 61.8, + "n": 5, + "total_kg_days": 638400 + }, + { + "month": "2026-05", + "mean": 47.9, + "median": 46, + "p10": 39.6, + "p25": 42.5, + "p75": 54.3, + "p90": 57.1, + "n": 5, + "total_kg_days": 568400 + } + ], + "stats": { + "n": 70, + "mean": 51.8, + "median": 48.4, + "std": 19.1, + "min": 4.7, + "max": 135.7, + "p25": 40.1, + "p75": 59, + "p85": 63.7, + "p95": 92 + }, + "plifz": 14, + "plifz_note": null, + "pct_exceeding_plifz": 95.7, + "annotations": [], + "cost": { + "unit_price": 6.49, + "currency": "CHF", + "mean_qty": 2800, + "monthly": [ + { + "month": "2022-06", + "n_events": 3, + "total_kg_days": 364000 + }, + { + "month": "2023-03", + "n_events": 4, + "total_kg_days": 571200 + }, + { + "month": "2023-11", + "n_events": 3, + "total_kg_days": 462000 + }, + { + "month": "2024-06", + "n_events": 5, + "total_kg_days": 728000 + }, + { + "month": "2025-01", + "n_events": 4, + "total_kg_days": 484400 + }, + { + "month": "2025-08", + "n_events": 6, + "total_kg_days": 750400 + }, + { + "month": "2025-09", + "n_events": 5, + "total_kg_days": 616000 + }, + { + "month": "2025-10", + "n_events": 5, + "total_kg_days": 548800 + }, + { + "month": "2025-11", + "n_events": 5, + "total_kg_days": 630000 + }, + { + "month": "2025-12", + "n_events": 5, + "total_kg_days": 560000 + }, + { + "month": "2026-01", + "n_events": 5, + "total_kg_days": 490000 + }, + { + "month": "2026-02", + "n_events": 5, + "total_kg_days": 630000 + }, + { + "month": "2026-03", + "n_events": 5, + "total_kg_days": 557200 + }, + { + "month": "2026-04", + "n_events": 5, + "total_kg_days": 638400 + }, + { + "month": "2026-05", + "n_events": 5, + "total_kg_days": 568400 + } + ] + }, + "detail_rows": { + "columns": [ + { + "key": "batch", + "source_field": "CHARG", + "source_table": "MSEG", + "label": "Batch" + }, + { + "key": "consumption_date", + "source_field": "BUDAT", + "source_table": "MKPF", + "label": "Consumption Date" + }, + { + "key": "dwell_days", + "source_field": null, + "source_table": null, + "label": "Dwell Days", + "unit": "d" + }, + { + "key": "kg_days", + "source_field": null, + "source_table": null, + "label": "Inventory kg-days", + "unit": "kg·d" + }, + { + "key": "cons_matnr", + "source_field": "MATNR", + "source_table": "MSEG", + "label": "Consuming Material" + }, + { + "key": "cons_material_name", + "source_field": "MAKTX", + "source_table": "MAKT", + "label": "Consuming Material Name" + }, + { + "key": "cons_in_current_recipe", + "source_field": null, + "source_table": null, + "label": "In Current Recipe" + } + ], + "rows": [ + { + "batch": "RAW_DWELL_WASHED_BOURBON-001", + "consumption_date": "2022-06-05", + "dwell_days": 47.2, + "kg_days": 121333.3, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-002", + "consumption_date": "2022-06-15", + "dwell_days": 26, + "kg_days": 121333.3, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-003", + "consumption_date": "2022-06-25", + "dwell_days": 80.2, + "kg_days": 121333.3, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-004", + "consumption_date": "2023-03-08", + "dwell_days": 4.7, + "kg_days": 142800, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-005", + "consumption_date": "2023-03-15", + "dwell_days": 64.9, + "kg_days": 142800, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-006", + "consumption_date": "2023-03-22", + "dwell_days": 135.7, + "kg_days": 142800, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-007", + "consumption_date": "2023-03-29", + "dwell_days": 35.4, + "kg_days": 142800, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-008", + "consumption_date": "2023-11-06", + "dwell_days": 73.2, + "kg_days": 154000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-009", + "consumption_date": "2023-11-13", + "dwell_days": 21.2, + "kg_days": 154000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-010", + "consumption_date": "2023-11-20", + "dwell_days": 100.3, + "kg_days": 154000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-011", + "consumption_date": "2024-06-03", + "dwell_days": 41.3, + "kg_days": 145600, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-012", + "consumption_date": "2024-06-10", + "dwell_days": 85, + "kg_days": 145600, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-013", + "consumption_date": "2024-06-17", + "dwell_days": 11.8, + "kg_days": 145600, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-014", + "consumption_date": "2024-06-24", + "dwell_days": 56.6, + "kg_days": 145600, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-015", + "consumption_date": "2024-06-30", + "dwell_days": 112.1, + "kg_days": 145600, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-016", + "consumption_date": "2025-01-07", + "dwell_days": 33, + "kg_days": 121100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-017", + "consumption_date": "2025-01-14", + "dwell_days": 61.4, + "kg_days": 121100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-018", + "consumption_date": "2025-01-21", + "dwell_days": 17.7, + "kg_days": 121100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-019", + "consumption_date": "2025-01-28", + "dwell_days": 92, + "kg_days": 121100, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-020", + "consumption_date": "2025-08-04", + "dwell_days": 49.6, + "kg_days": 125066.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-021", + "consumption_date": "2025-08-08", + "dwell_days": 9.4, + "kg_days": 125066.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-022", + "consumption_date": "2025-08-12", + "dwell_days": 76.7, + "kg_days": 125066.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-023", + "consumption_date": "2025-08-16", + "dwell_days": 38.9, + "kg_days": 125066.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-024", + "consumption_date": "2025-08-20", + "dwell_days": 118, + "kg_days": 125066.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-025", + "consumption_date": "2025-08-24", + "dwell_days": 23.6, + "kg_days": 125066.7, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-026", + "consumption_date": "2025-09-06", + "dwell_days": 48.4, + "kg_days": 123200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-027", + "consumption_date": "2025-09-12", + "dwell_days": 53.1, + "kg_days": 123200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-028", + "consumption_date": "2025-09-18", + "dwell_days": 56.6, + "kg_days": 123200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-029", + "consumption_date": "2025-09-24", + "dwell_days": 61.4, + "kg_days": 123200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-030", + "consumption_date": "2025-09-30", + "dwell_days": 40.1, + "kg_days": 123200, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-031", + "consumption_date": "2025-10-04", + "dwell_days": 47.2, + "kg_days": 109760, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-032", + "consumption_date": "2025-10-10", + "dwell_days": 51.9, + "kg_days": 109760, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-033", + "consumption_date": "2025-10-16", + "dwell_days": 56.6, + "kg_days": 109760, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-034", + "consumption_date": "2025-10-22", + "dwell_days": 35.4, + "kg_days": 109760, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-035", + "consumption_date": "2025-10-28", + "dwell_days": 40.1, + "kg_days": 109760, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-036", + "consumption_date": "2025-11-05", + "dwell_days": 59, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-037", + "consumption_date": "2025-11-11", + "dwell_days": 63.7, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-038", + "consumption_date": "2025-11-17", + "dwell_days": 42.5, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-039", + "consumption_date": "2025-11-23", + "dwell_days": 48.4, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-040", + "consumption_date": "2025-11-29", + "dwell_days": 51.9, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-041", + "consumption_date": "2025-12-06", + "dwell_days": 59, + "kg_days": 112000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-042", + "consumption_date": "2025-12-12", + "dwell_days": 37.8, + "kg_days": 112000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-043", + "consumption_date": "2025-12-18", + "dwell_days": 42.5, + "kg_days": 112000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-044", + "consumption_date": "2025-12-24", + "dwell_days": 46, + "kg_days": 112000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-045", + "consumption_date": "2025-12-30", + "dwell_days": 50.7, + "kg_days": 112000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-046", + "consumption_date": "2026-01-04", + "dwell_days": 33, + "kg_days": 98000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-047", + "consumption_date": "2026-01-10", + "dwell_days": 37.8, + "kg_days": 98000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-048", + "consumption_date": "2026-01-16", + "dwell_days": 41.3, + "kg_days": 98000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-049", + "consumption_date": "2026-01-22", + "dwell_days": 44.8, + "kg_days": 98000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-050", + "consumption_date": "2026-01-28", + "dwell_days": 49.6, + "kg_days": 98000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-051", + "consumption_date": "2026-02-05", + "dwell_days": 46, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-052", + "consumption_date": "2026-02-11", + "dwell_days": 48.4, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-053", + "consumption_date": "2026-02-17", + "dwell_days": 53.1, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-054", + "consumption_date": "2026-02-23", + "dwell_days": 56.6, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-055", + "consumption_date": "2026-02-29", + "dwell_days": 61.4, + "kg_days": 126000, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-056", + "consumption_date": "2026-03-06", + "dwell_days": 43.7, + "kg_days": 111440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-057", + "consumption_date": "2026-03-12", + "dwell_days": 47.2, + "kg_days": 111440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-058", + "consumption_date": "2026-03-18", + "dwell_days": 51.9, + "kg_days": 111440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-059", + "consumption_date": "2026-03-24", + "dwell_days": 56.6, + "kg_days": 111440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-060", + "consumption_date": "2026-03-30", + "dwell_days": 35.4, + "kg_days": 111440, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-061", + "consumption_date": "2026-04-04", + "dwell_days": 55.5, + "kg_days": 127680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-062", + "consumption_date": "2026-04-10", + "dwell_days": 59, + "kg_days": 127680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-063", + "consumption_date": "2026-04-16", + "dwell_days": 63.7, + "kg_days": 127680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-064", + "consumption_date": "2026-04-22", + "dwell_days": 42.5, + "kg_days": 127680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-065", + "consumption_date": "2026-04-28", + "dwell_days": 48.4, + "kg_days": 127680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-066", + "consumption_date": "2026-05-05", + "dwell_days": 54.3, + "kg_days": 113680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-067", + "consumption_date": "2026-05-11", + "dwell_days": 59, + "kg_days": 113680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-068", + "consumption_date": "2026-05-17", + "dwell_days": 37.8, + "kg_days": 113680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-069", + "consumption_date": "2026-05-23", + "dwell_days": 42.5, + "kg_days": 113680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-070", + "consumption_date": "2026-05-29", + "dwell_days": 46, + "kg_days": 113680, + "cons_matnr": "90000200001", + "cons_material_name": "Green Blend", + "cons_in_current_recipe": 1 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-OTHER-01", + "consumption_date": "2026-05-17", + "dwell_days": 43.5, + "kg_days": 47250, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 0 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-OTHER-02", + "consumption_date": "2026-05-23", + "dwell_days": 48.9, + "kg_days": 53125, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 0 + }, + { + "batch": "RAW_DWELL_WASHED_BOURBON-OTHER-03", + "consumption_date": "2026-05-29", + "dwell_days": 52.9, + "kg_days": 57500, + "cons_matnr": "90000300001", + "cons_material_name": "Harbor Dark Roast", + "cons_in_current_recipe": 0 + } + ] + }, + "ref_date_col": "consumption_date", + "n_batches": null, + "n_movements": 25, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0", + "value_col": "dwell_days" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/transit_pla_hub1.json b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/transit_pla_hub1.json new file mode 100644 index 00000000000..1d263f283b1 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/2026-06-17.2/summit-medium-roast/steps/transit_pla_hub1.json @@ -0,0 +1,437 @@ +{ + "id": "transit_pla_hub1", + "label": "Transit PL-A \u2192 HUB-1", + "type": "transit", + "durations": [ + 33.0, 41.3, 26.0, 49.6, 35.4, 64.9, 29.5, 44.8, 17.7, 37.8, 33.0, 53.1, + 35.4, 26.0, 42.5, 44.8, 46.0, 30.7, 42.5, 27.1, 30.7, 31.9, 36.6, 38.9, + 31.9, 34.2, 37.8, 30.7, 34.2, 36.6, 38.9, 42.5, 46.0, 38.9, 42.5, 27.1, + 47.2, 31.9, 36.6, 28.3, 31.9, 34.2 + ], + "observations": [ + { + "date": "2022-07-20", + "value": 33.0 + }, + { + "date": "2022-11-30", + "value": 41.3 + }, + { + "date": "2023-03-15", + "value": 26.0 + }, + { + "date": "2023-07-10", + "value": 49.6 + }, + { + "date": "2023-10-25", + "value": 35.4 + }, + { + "date": "2024-02-08", + "value": 64.9 + }, + { + "date": "2024-05-20", + "value": 29.5 + }, + { + "date": "2024-08-12", + "value": 44.8 + }, + { + "date": "2024-11-05", + "value": 17.7 + }, + { + "date": "2025-01-22", + "value": 37.8 + }, + { + "date": "2025-04-10", + "value": 33.0 + }, + { + "date": "2025-06-18", + "value": 53.1 + }, + { + "date": "2025-07-15", + "value": 35.4 + }, + { + "date": "2025-08-05", + "value": 26.0 + }, + { + "date": "2025-09-05", + "value": 42.5 + }, + { + "date": "2025-09-10", + "value": 44.8 + }, + { + "date": "2025-09-11", + "value": 46.0 + }, + { + "date": "2025-09-17", + "value": 30.7 + }, + { + "date": "2025-10-06", + "value": 42.5 + }, + { + "date": "2025-10-12", + "value": 27.1 + }, + { + "date": "2025-10-18", + "value": 30.7 + }, + { + "date": "2025-11-04", + "value": 31.9 + }, + { + "date": "2025-11-10", + "value": 36.6 + }, + { + "date": "2025-11-16", + "value": 38.9 + }, + { + "date": "2025-12-05", + "value": 31.9 + }, + { + "date": "2025-12-11", + "value": 34.2 + }, + { + "date": "2025-12-17", + "value": 37.8 + }, + { + "date": "2026-01-06", + "value": 30.7 + }, + { + "date": "2026-01-12", + "value": 34.2 + }, + { + "date": "2026-01-18", + "value": 36.6 + }, + { + "date": "2026-02-04", + "value": 38.9 + }, + { + "date": "2026-02-10", + "value": 42.5 + }, + { + "date": "2026-02-16", + "value": 46.0 + }, + { + "date": "2026-03-05", + "value": 38.9 + }, + { + "date": "2026-03-11", + "value": 42.5 + }, + { + "date": "2026-03-17", + "value": 27.1 + }, + { + "date": "2026-04-06", + "value": 47.2 + }, + { + "date": "2026-04-12", + "value": 31.9 + }, + { + "date": "2026-04-18", + "value": 36.6 + }, + { + "date": "2026-05-04", + "value": 28.3 + }, + { + "date": "2026-05-10", + "value": 31.9 + }, + { + "date": "2026-05-16", + "value": 34.2 + } + ], + "monthly": [ + { + "month": "2022-07", + "mean": 33.0, + "median": 33.0, + "p10": 33.0, + "p25": 33.0, + "p75": 33.0, + "p90": 33.0, + "n": 1 + }, + { + "month": "2022-11", + "mean": 41.3, + "median": 41.3, + "p10": 41.3, + "p25": 41.3, + "p75": 41.3, + "p90": 41.3, + "n": 1 + }, + { + "month": "2023-03", + "mean": 26.0, + "median": 26.0, + "p10": 26.0, + "p25": 26.0, + "p75": 26.0, + "p90": 26.0, + "n": 1 + }, + { + "month": "2023-07", + "mean": 49.6, + "median": 49.6, + "p10": 49.6, + "p25": 49.6, + "p75": 49.6, + "p90": 49.6, + "n": 1 + }, + { + "month": "2023-10", + "mean": 35.4, + "median": 35.4, + "p10": 35.4, + "p25": 35.4, + "p75": 35.4, + "p90": 35.4, + "n": 1 + }, + { + "month": "2024-02", + "mean": 64.9, + "median": 64.9, + "p10": 64.9, + "p25": 64.9, + "p75": 64.9, + "p90": 64.9, + "n": 1 + }, + { + "month": "2024-05", + "mean": 29.5, + "median": 29.5, + "p10": 29.5, + "p25": 29.5, + "p75": 29.5, + "p90": 29.5, + "n": 1 + }, + { + "month": "2024-08", + "mean": 44.8, + "median": 44.8, + "p10": 44.8, + "p25": 44.8, + "p75": 44.8, + "p90": 44.8, + "n": 1 + }, + { + "month": "2024-11", + "mean": 17.7, + "median": 17.7, + "p10": 17.7, + "p25": 17.7, + "p75": 17.7, + "p90": 17.7, + "n": 1 + }, + { + "month": "2025-01", + "mean": 37.8, + "median": 37.8, + "p10": 37.8, + "p25": 37.8, + "p75": 37.8, + "p90": 37.8, + "n": 1 + }, + { + "month": "2025-04", + "mean": 33.0, + "median": 33.0, + "p10": 33.0, + "p25": 33.0, + "p75": 33.0, + "p90": 33.0, + "n": 1 + }, + { + "month": "2025-06", + "mean": 53.1, + "median": 53.1, + "p10": 53.1, + "p25": 53.1, + "p75": 53.1, + "p90": 53.1, + "n": 1 + }, + { + "month": "2025-07", + "mean": 35.4, + "median": 35.4, + "p10": 35.4, + "p25": 35.4, + "p75": 35.4, + "p90": 35.4, + "n": 1 + }, + { + "month": "2025-08", + "mean": 26.0, + "median": 26.0, + "p10": 26.0, + "p25": 26.0, + "p75": 26.0, + "p90": 26.0, + "n": 1 + }, + { + "month": "2025-09", + "mean": 41.1, + "median": 43.7, + "p10": 34.2, + "p25": 39.5, + "p75": 45.2, + "p90": 45.7, + "n": 4 + }, + { + "month": "2025-10", + "mean": 33.4, + "median": 30.7, + "p10": 27.8, + "p25": 28.9, + "p75": 36.6, + "p90": 40.1, + "n": 3 + }, + { + "month": "2025-11", + "mean": 35.8, + "median": 36.6, + "p10": 32.8, + "p25": 34.2, + "p75": 37.8, + "p90": 38.5, + "n": 3 + }, + { + "month": "2025-12", + "mean": 34.6, + "median": 34.2, + "p10": 32.3, + "p25": 33.0, + "p75": 36.0, + "p90": 37.1, + "n": 3 + }, + { + "month": "2026-01", + "mean": 33.9, + "median": 34.2, + "p10": 31.4, + "p25": 32.4, + "p75": 35.4, + "p90": 36.1, + "n": 3 + }, + { + "month": "2026-02", + "mean": 42.5, + "median": 42.5, + "p10": 39.6, + "p25": 40.7, + "p75": 44.2, + "p90": 45.3, + "n": 3 + }, + { + "month": "2026-03", + "mean": 36.2, + "median": 38.9, + "p10": 29.5, + "p25": 33.0, + "p75": 40.7, + "p90": 41.8, + "n": 3 + }, + { + "month": "2026-04", + "mean": 38.6, + "median": 36.6, + "p10": 32.8, + "p25": 34.2, + "p75": 41.9, + "p90": 45.1, + "n": 3 + }, + { + "month": "2026-05", + "mean": 31.5, + "median": 31.9, + "p10": 29.0, + "p25": 30.1, + "p75": 33.0, + "p90": 33.7, + "n": 3 + } + ], + "stats": { + "n": 42, + "mean": 36.9, + "median": 35.4, + "std": 7.1, + "min": 17.7, + "max": 64.9, + "p25": 31.9, + "p75": 42.5, + "p85": 44.8, + "p95": 47.2 + }, + "plifz": 28, + "plifz_note": null, + "pct_exceeding_plifz": 61.9, + "annotations": [], + "cost": null, + "detail_rows": null, + "ref_date_col": null, + "n_batches": null, + "n_movements": 15, + "yield_data": null, + "consumption_data": null, + "schema_version": "1.0" +} diff --git a/apps/hash-api/src/seed-data/supply-chain-demo/current.json b/apps/hash-api/src/seed-data/supply-chain-demo/current.json new file mode 100644 index 00000000000..9862a9abda5 --- /dev/null +++ b/apps/hash-api/src/seed-data/supply-chain-demo/current.json @@ -0,0 +1,3 @@ +{ + "datasetVersion": "2026-06-17.2" +} diff --git a/apps/hash-api/src/storage/local-file-storage.ts b/apps/hash-api/src/storage/local-file-storage.ts index bd21447cdf1..e91f51c97c2 100644 --- a/apps/hash-api/src/storage/local-file-storage.ts +++ b/apps/hash-api/src/storage/local-file-storage.ts @@ -13,6 +13,7 @@ import type { FileStorageProvider, GetFileEntityStorageKeyParams, GetFlowOutputStorageKeyParams, + PresignedDownloadByKeyRequest, PresignedDownloadRequest, PresignedPutUpload, PresignedStorageRequest, @@ -47,7 +48,9 @@ export class LocalFileSystemStorageProvider implements FileStorageProvider { fileUploadPath, apiOrigin, }: LocalFileSystemStorageProviderConstructorArgs) { - this.fileUploadPath = path.join(appRoot.path, fileUploadPath); + this.fileUploadPath = path.isAbsolute(fileUploadPath) + ? fileUploadPath + : path.join(appRoot.path, fileUploadPath); this.apiOrigin = apiOrigin; if (!fs.existsSync(this.fileUploadPath)) { fs.mkdirSync(this.fileUploadPath, { recursive: true }); @@ -92,6 +95,13 @@ export class LocalFileSystemStorageProvider implements FileStorageProvider { .href as Url; } + async presignDownloadByKey( + params: PresignedDownloadByKeyRequest, + ): Promise { + return new URL(path.join(DOWNLOAD_BASE_URL, params.key), this.apiOrigin) + .href as Url; + } + getFileEntityStorageKey({ entityId, editionIdentifier, diff --git a/apps/hash-api/src/telemetry/environment.test.ts b/apps/hash-api/src/telemetry/environment.test.ts new file mode 100644 index 00000000000..0bcf68ff60b --- /dev/null +++ b/apps/hash-api/src/telemetry/environment.test.ts @@ -0,0 +1,33 @@ +import { afterEach, describe, expect, it, vi } from "vitest"; + +const loadTelemetryEnvironment = async () => { + vi.resetModules(); + const module = await import("./environment"); + return module.telemetryEnvironment; +}; + +describe("telemetryEnvironment", () => { + afterEach(() => { + vi.unstubAllEnvs(); + }); + + it("defaults to development when ENVIRONMENT is unset", async () => { + vi.stubEnv("ENVIRONMENT", ""); + await expect(loadTelemetryEnvironment()).resolves.toBe("development"); + }); + + it("resolves production from ENVIRONMENT", async () => { + vi.stubEnv("ENVIRONMENT", "production"); + await expect(loadTelemetryEnvironment()).resolves.toBe("production"); + }); + + it("resolves staging from ENVIRONMENT", async () => { + vi.stubEnv("ENVIRONMENT", "staging"); + await expect(loadTelemetryEnvironment()).resolves.toBe("staging"); + }); + + it("treats any other ENVIRONMENT value as development", async () => { + vi.stubEnv("ENVIRONMENT", "qa"); + await expect(loadTelemetryEnvironment()).resolves.toBe("development"); + }); +}); diff --git a/apps/hash-api/src/telemetry/environment.ts b/apps/hash-api/src/telemetry/environment.ts new file mode 100644 index 00000000000..e148ae9cc1c --- /dev/null +++ b/apps/hash-api/src/telemetry/environment.ts @@ -0,0 +1,9 @@ +import { isProdEnv, isStagingEnv } from "../lib/env-config"; + +import type { TelemetryEnvironment } from "@local/hash-isomorphic-utils/telemetry/types"; + +export const telemetryEnvironment: TelemetryEnvironment = isProdEnv + ? "production" + : isStagingEnv + ? "staging" + : "development"; diff --git a/apps/hash-api/src/telemetry/rudderstack.ts b/apps/hash-api/src/telemetry/rudderstack.ts deleted file mode 100644 index 363c788fa8f..00000000000 --- a/apps/hash-api/src/telemetry/rudderstack.ts +++ /dev/null @@ -1,40 +0,0 @@ -import RudderAnalytics from "@rudderstack/rudder-sdk-node"; - -import { frontendDomain } from "@local/hash-isomorphic-utils/environment"; - -const RUDDERSTACK_KEY = - process.env.HASH_API_RUDDERSTACK_KEY || "2SKw8Q5jz5g08LNKpk0Ag82N7HL"; - -export class Telemetry { - private static rudder_client: RudderAnalytics | undefined | null = undefined; - - private static client(): RudderAnalytics | null { - if (Telemetry.rudder_client === undefined) { - if (frontendDomain === "localhost") { - Telemetry.rudder_client = null; - return null; - } - Telemetry.rudder_client = new RudderAnalytics(RUDDERSTACK_KEY, { - dataPlaneUrl: "https://hashdjsn.dataplane.rudderstack.com", - }); - } - return Telemetry.rudder_client; - } - - public static userRegister(params: { - shortname: string; - displayName: string; - email: string; - }): void { - Telemetry.client()?.track({ - userId: params.email, - event: "user_register", - properties: { - domain: frontendDomain, - name: params.displayName, - shortname: params.shortname, - email: params.email, - }, - }); - } -} diff --git a/apps/hash-api/src/telemetry/snowplow-setup.ts b/apps/hash-api/src/telemetry/snowplow-setup.ts deleted file mode 100644 index f1777ae1474..00000000000 --- a/apps/hash-api/src/telemetry/snowplow-setup.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { - buildStructEvent, - newTracker, - type Tracker, -} from "@snowplow/node-tracker"; - -import { getRequiredEnv } from "@local/hash-backend-utils/environment"; - -/** - * Sets up snowplow telemetry for HASH usage. Disabled by default. - * This tracking function simply sends an event when the platform starts to record usage metrics. - */ -export const setupTelemetry = async (): Promise => { - const protocol = - process.env.HASH_TELEMETRY_HTTPS === "true" ? "https" : "http"; - - const tracker = newTracker( - { - namespace: "usageTracker", - appId: getRequiredEnv("HASH_TELEMETRY_APP_ID"), - encodeBase64: true, - }, - { - endpoint: getRequiredEnv("HASH_TELEMETRY_DESTINATION"), - protocol, - }, - ); - - // This `srv` value means it's for server-side tracking (see https://docs.snowplowanalytics.com/docs/collecting-data/collecting-from-own-applications/snowplow-tracker-protocol/) - tracker.setPlatform("srv"); - - // We track an event to record usage of the platform - tracker.track( - buildStructEvent({ - category: "usage", - action: "start-platform", - }), - ); - - await tracker.flush(); - - return tracker; -}; diff --git a/apps/hash-api/src/telemetry/telemetry-endpoint.test.ts b/apps/hash-api/src/telemetry/telemetry-endpoint.test.ts new file mode 100644 index 00000000000..35a65944f4f --- /dev/null +++ b/apps/hash-api/src/telemetry/telemetry-endpoint.test.ts @@ -0,0 +1,61 @@ +import { describe, expect, it } from "vitest"; + +import { parseTelemetryEvent } from "./telemetry-endpoint"; + +describe("parseTelemetryEvent", () => { + it("accepts a page event with a name", () => { + expect(parseTelemetryEvent({ type: "page", name: "/foo" })).toEqual({ + type: "page", + name: "/foo", + properties: undefined, + }); + }); + + it("accepts an allowlisted track event", () => { + expect( + parseTelemetryEvent({ + type: "track", + name: "supply_chain_interaction", + properties: { interaction: "product_step_selected", productId: "abc" }, + }), + ).toEqual({ + type: "track", + name: "supply_chain_interaction", + properties: { interaction: "product_step_selected", productId: "abc" }, + }); + }); + + it("rejects a non-allowlisted track event name", () => { + expect( + parseTelemetryEvent({ type: "track", name: "analysis_run" }), + ).toBeNull(); + expect( + parseTelemetryEvent({ type: "track", name: "arbitrary_event" }), + ).toBeNull(); + }); + + it("rejects unknown event types", () => { + expect(parseTelemetryEvent({ type: "identify", name: "x" })).toBeNull(); + }); + + it("rejects a page event without a name", () => { + expect(parseTelemetryEvent({ type: "page" })).toBeNull(); + expect(parseTelemetryEvent({ type: "page", name: "" })).toBeNull(); + }); + + it("rejects non-objects", () => { + expect(parseTelemetryEvent(null)).toBeNull(); + expect(parseTelemetryEvent("page")).toBeNull(); + expect(parseTelemetryEvent(42)).toBeNull(); + }); + + it("drops non-object properties rather than forwarding them", () => { + expect( + parseTelemetryEvent({ + type: "page", + name: "/foo", + properties: ["not", "an", "object"], + }), + ).toEqual({ type: "page", name: "/foo", properties: undefined }); + }); +}); diff --git a/apps/hash-api/src/telemetry/telemetry-endpoint.ts b/apps/hash-api/src/telemetry/telemetry-endpoint.ts new file mode 100644 index 00000000000..e1c48a16461 --- /dev/null +++ b/apps/hash-api/src/telemetry/telemetry-endpoint.ts @@ -0,0 +1,112 @@ +import { ipKeyGenerator, rateLimit } from "express-rate-limit"; + +import { frontendTrackEventNames } from "@local/hash-isomorphic-utils/telemetry/types"; + +import { telemetry } from "./telemetry"; + +import type { + FrontendTelemetryEvent, + FrontendTrackEventName, + TelemetryRequest, +} from "@local/hash-isomorphic-utils/telemetry/types"; +import type { Express, Request } from "express"; + +/** Upper bound on events accepted per request, to bound work per call. */ +const MAX_EVENTS_PER_BATCH = 10; + +const allowedTrackEvents = new Set(frontendTrackEventNames); + +/** + * Per-IP rate limiter for the telemetry gateway. Anonymous callers are allowed + * (page views happen before login) but throttled harder than authenticated + * ones, since they are unauthenticated and cheap to spoof. + */ +const telemetryRateLimiter = rateLimit({ + windowMs: process.env.NODE_ENV === "test" ? 10 : 1000 * 60, // 1 minute + limit: (req) => (req.user ? 240 : 30), + standardHeaders: true, + legacyHeaders: false, + keyGenerator: (req) => (req.ip ? ipKeyGenerator(req.ip) : "ip-unavailable"), +}); + +/** + * Validate and narrow a single client-provided event. Returns `null` for any + * event that is malformed or names a non-allowlisted track event, so the + * browser can never inject arbitrary or server-only event names. + * + * Exported for unit testing. + */ +export const parseTelemetryEvent = ( + value: unknown, +): FrontendTelemetryEvent | null => { + if (typeof value !== "object" || value === null) { + return null; + } + const candidate = value as Record; + const properties = + typeof candidate.properties === "object" && + candidate.properties !== null && + !Array.isArray(candidate.properties) + ? (candidate.properties as Record) + : undefined; + + if (candidate.type === "page") { + if (typeof candidate.name !== "string" || candidate.name.length === 0) { + return null; + } + return { type: "page", name: candidate.name, properties }; + } + + if (candidate.type === "track") { + if ( + typeof candidate.name !== "string" || + !allowedTrackEvents.has(candidate.name) + ) { + return null; + } + return { + type: "track", + name: candidate.name as FrontendTrackEventName, + properties, + }; + } + + return null; +}; + +/** + * Mounts the telemetry gateway at `POST /api/telemetry`. + * + * The browser reports allowlisted events here; the server stamps all trusted + * fields (identity, IP, environment) and forwards to Rudderstack, flagging + * everything as `frontendProvided`. Client-supplied identity/IP/environment are + * never trusted. + */ +export const setupTelemetryHandler = (app: Express) => { + app.post("/api/telemetry", telemetryRateLimiter, (req: Request, res) => { + const body = req.body as Partial | undefined; + + if (!body || !Array.isArray(body.events)) { + res.status(400).json({ error: "Request body must be { events: [...] }" }); + return; + } + + if (body.events.length > MAX_EVENTS_PER_BATCH) { + res + .status(400) + .json({ error: `Too many events (max ${MAX_EVENTS_PER_BATCH})` }); + return; + } + + const events = body.events + .map(parseTelemetryEvent) + .filter((event): event is FrontendTelemetryEvent => event !== null); + + const anonymousId = + typeof body.anonymousId === "string" ? body.anonymousId : undefined; + + telemetry.trackFromClient(req, { anonymousId, events }); + + res.status(204).end(); + }); +}; diff --git a/apps/hash-api/src/telemetry/telemetry.ts b/apps/hash-api/src/telemetry/telemetry.ts new file mode 100644 index 00000000000..837c8d4950b --- /dev/null +++ b/apps/hash-api/src/telemetry/telemetry.ts @@ -0,0 +1,214 @@ +import RudderAnalytics from "@rudderstack/rudder-sdk-node"; + +import { frontendDomain } from "@local/hash-isomorphic-utils/environment"; + +import { logger } from "../logger"; +import { telemetryEnvironment } from "./environment"; + +import type { + FrontendTelemetryEvent, + TelemetryEnvironment, +} from "@local/hash-isomorphic-utils/telemetry/types"; +import type { Request } from "express"; + +const RUDDERSTACK_KEY = process.env.HASH_API_RUDDERSTACK_KEY; +const RUDDERSTACK_DATA_PLANE_URL = + "https://hashcruddtqbra.dataplane.eu.rudderstack.com"; + +/** Server-only event names */ +export type ServerTelemetryEventName = "analysis_run" | "user_register"; + +/** An actor identity for req-less callers (background jobs, webhooks). */ +export interface TelemetryActor { + accountId: string; + shortname?: string; +} + +/** + * The common envelope every event shares. Built internally by the service from + * a `req` or an actor; callers never construct one themselves. + */ +interface EventEnvelope { + userId?: string; + anonymousId?: string; + context: { + ip?: string; + userAgent?: string; + app: { environment: TelemetryEnvironment; frontendDomain: string }; + }; + baseProperties: { + environment: TelemetryEnvironment; + frontendDomain: string; + shortname?: string; + frontendProvided: boolean; + }; + timestamp: Date; +} + +class TelemetryService { + private client: RudderAnalytics | null | undefined = undefined; + + private getClient(): RudderAnalytics | null { + if (this.client === undefined) { + if (!RUDDERSTACK_KEY) { + this.client = null; + return null; + } + this.client = new RudderAnalytics(RUDDERSTACK_KEY, { + dataPlaneUrl: RUDDERSTACK_DATA_PLANE_URL, + }); + } + return this.client; + } + + /** The single place a request-scoped envelope is built. */ + private buildEnvelope( + req: Request, + opts: { frontendProvided: boolean; anonymousId?: string }, + ): EventEnvelope { + const { user } = req; + return { + userId: user?.accountId, + anonymousId: user ? undefined : opts.anonymousId, + context: { + ip: req.ip, + userAgent: req.headers["user-agent"], + app: { environment: telemetryEnvironment, frontendDomain }, + }, + baseProperties: { + environment: telemetryEnvironment, + frontendDomain, + shortname: user?.shortname, + frontendProvided: opts.frontendProvided, + }, + timestamp: new Date(), + }; + } + + /** Envelope for req-less callers: no IP/user-agent, never frontend-provided. */ + private buildActorEnvelope(actor: TelemetryActor): EventEnvelope { + return { + userId: actor.accountId, + context: { + app: { environment: telemetryEnvironment, frontendDomain }, + }, + baseProperties: { + environment: telemetryEnvironment, + frontendDomain, + shortname: actor.shortname, + frontendProvided: false, + }, + timestamp: new Date(), + }; + } + + private emit( + envelope: EventEnvelope, + event: string, + properties: Record, + ): void { + const client = this.getClient(); + // The SDK requires an identity; drop anonymous-and-unidentified events. + if (!client || (!envelope.userId && !envelope.anonymousId)) { + return; + } + // The SDK's `apiObject` type does not accept `unknown`-valued property bags, + // so we cast at this boundary rather than constraining dynamic properties. + client.track({ + userId: envelope.userId, + anonymousId: envelope.anonymousId, + event, + properties: { ...envelope.baseProperties, ...properties }, + context: envelope.context, + timestamp: envelope.timestamp, + } as unknown as RudderAnalytics.TrackParams); + } + + private emitPage( + envelope: EventEnvelope, + name: string, + properties: Record, + ): void { + const client = this.getClient(); + if (!client || (!envelope.userId && !envelope.anonymousId)) { + return; + } + client.page({ + userId: envelope.userId, + anonymousId: envelope.anonymousId, + name, + properties: { ...envelope.baseProperties, ...properties }, + context: envelope.context, + timestamp: envelope.timestamp, + } as unknown as RudderAnalytics.PageParams); + } + + // ─── Public, envelope-free API ─── + + /** A server-origin event tied to an incoming request. */ + track( + req: Request, + event: ServerTelemetryEventName, + properties: Record = {}, + ): void { + this.emit( + this.buildEnvelope(req, { frontendProvided: false }), + event, + properties, + ); + } + + /** A server-origin event for a req-less caller (webhooks, background jobs). */ + trackForActor( + actor: TelemetryActor, + event: ServerTelemetryEventName, + properties: Record = {}, + ): void { + this.emit(this.buildActorEnvelope(actor), event, properties); + } + + /** Relay allowlisted events reported by the browser. */ + trackFromClient( + req: Request, + payload: { anonymousId?: string; events: FrontendTelemetryEvent[] }, + ): void { + const envelope = this.buildEnvelope(req, { + frontendProvided: true, + anonymousId: payload.anonymousId, + }); + + for (const ev of payload.events) { + if (ev.type === "page") { + this.emitPage(envelope, ev.name, ev.properties ?? {}); + } else { + this.emit(envelope, ev.name, ev.properties ?? {}); + } + } + } + + /** Associate an actor with traits (e.g. on registration). */ + identifyActor(actor: TelemetryActor, traits: Record): void { + const client = this.getClient(); + if (!client) { + return; + } + client.identify({ + userId: actor.accountId, + traits, + context: { + app: { environment: telemetryEnvironment, frontendDomain }, + }, + } as unknown as RudderAnalytics.IdentifyParams); + } + + /** Flush buffered events; call on graceful shutdown. */ + async flush(): Promise { + try { + await this.client?.flush(); + } catch (error) { + logger.warn(`Could not flush telemetry client: ${error}`); + } + } +} + +export const telemetry = new TelemetryService(); diff --git a/apps/hash-frontend/package.json b/apps/hash-frontend/package.json index 4766e03e01a..4db4f27191b 100644 --- a/apps/hash-frontend/package.json +++ b/apps/hash-frontend/package.json @@ -16,11 +16,13 @@ "start": "next start", "start:healthcheck": "wait-on --timeout 1200000 http://localhost:3000", "start:test": "next start", - "start:test:healthcheck": "wait-on --timeout 600000 http://localhost:3000" + "start:test:healthcheck": "wait-on --timeout 600000 http://localhost:3000", + "test:unit": "vitest run" }, "dependencies": { "@ai-sdk/openai": "3.0.63", "@apollo/client": "3.10.5", + "@ark-ui/react": "5.26.2", "@blockprotocol/core": "0.1.5", "@blockprotocol/graph": "workspace:*", "@blockprotocol/hook": "0.1.8", @@ -65,12 +67,14 @@ "@sigma/node-border": "3.0.0", "@sigma/node-image": "3.0.0", "@svgr/webpack": "8.1.0", + "@tanstack/react-table": "8.21.3", "@tldraw/editor": "patch:@tldraw/editor@npm%3A2.0.0-alpha.12#~/.yarn/patches/@tldraw-editor-npm-2.0.0-alpha.12-ba59bf001c.patch", "@tldraw/primitives": "2.0.0-alpha.12", "@tldraw/tldraw": "2.0.0-alpha.12", "@tldraw/tlvalidate": "2.0.0-alpha.12", "@types/prismjs": "1.26.5", "@vercel/edge-config": "0.4.1", + "@xyflow/react": "12.10.1", "ai": "6.0.182", "axios": "1.16.1", "buffer": "6.0.3", @@ -124,6 +128,7 @@ "react-virtuoso": "4.14.1", "react-window": "1.8.11", "reactflow": "11.11.4", + "recharts": "3.8.0", "remark-gfm": "4.0.1", "safe-stable-stringify": "2.5.0", "setimmediate": "1.0.5", @@ -165,6 +170,7 @@ "rimraf": "6.1.3", "sass": "1.93.2", "typescript": "5.9.3", + "vitest": "4.1.8", "wait-on": "9.0.1", "webpack": "5.104.1" } diff --git a/apps/hash-frontend/panda.config.ts b/apps/hash-frontend/panda.config.ts index b40b48fc832..549b9a7c5df 100644 --- a/apps/hash-frontend/panda.config.ts +++ b/apps/hash-frontend/panda.config.ts @@ -22,10 +22,13 @@ export default defineConfig({ ...scopedThemeConfig(".hash-ds-root"), /** - * Only styles used inside ds-components itself — this app does not author - * Panda styles. Add `./src` globs here if `css()` calls are introduced. + * Styles used inside ds-components itself, plus the supply-chain tool + * and its route pages, which author Panda `css()` calls against the ds-components preset tokens. */ - include: [require.resolve("@hashintel/ds-components/panda.buildinfo.json")], + include: [ + require.resolve("@hashintel/ds-components/panda.buildinfo.json"), + "./src/pages/supply-chain/**/*.{ts,tsx}", + ], exclude: [], diff --git a/apps/hash-frontend/src/pages/_app.page.tsx b/apps/hash-frontend/src/pages/_app.page.tsx index d272b4dc89d..f3e982280fa 100644 --- a/apps/hash-frontend/src/pages/_app.page.tsx +++ b/apps/hash-frontend/src/pages/_app.page.tsx @@ -36,6 +36,7 @@ import { SidebarContextProvider } from "../shared/layout/layout-with-sidebar/sid import { NotificationCountContextProvider } from "../shared/notification-count-context"; import { PropertyTypesContextProvider } from "../shared/property-types-context"; import { RoutePageInfoProvider } from "../shared/routing"; +import { trackPageView } from "../shared/telemetry-client"; import { ErrorFallback } from "./_app.page/error-fallback"; import { reportIframeReactError } from "./processes/shared/iframe-error-reporter"; import { redirectInGetInitialProps } from "./shared/_app.util"; @@ -142,6 +143,26 @@ const App: FunctionComponent = ({ setSentryUser({ authenticatedUser }); }, [authenticatedUser]); + useEffect(() => { + if (!router.isReady) { + return undefined; + } + + // Initial view (fires once the router is ready); subsequent views come from + // `routeChangeComplete`. `router.asPath` is intentionally omitted from the + // deps so we don't double-count navigations. + trackPageView(router.asPath); + + const handleRouteChange = (url: string) => { + trackPageView(url); + }; + router.events.on("routeChangeComplete", handleRouteChange); + return () => { + router.events.off("routeChangeComplete", handleRouteChange); + }; + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [router.isReady, router.events]); + // App UI often depends on [shortname] and other query params. However, // router.query is empty during server-side rendering for pages that don’t use // getServerSideProps. By showing app skeleton on the server, we avoid UI @@ -312,6 +333,12 @@ const featureFlagHiddenPathnames: Record = { notes: ["/notes"], workers: ["/goals", "/flows", "/workers", "/agents"], ai: ["/goals"], + supplyChain: [ + "/supply-chain", + "/supply-chain/product/[product-id]", + "/supply-chain/site/[site-id]", + "/supply-chain/site/[site-id]/opportunity/[opportunity-type]/[product-id]/[step-id]", + ], }; AppWithTypeSystemContextProvider.getInitialProps = async (appContext) => { diff --git a/apps/hash-frontend/src/pages/shared/entities-visualizer.tsx b/apps/hash-frontend/src/pages/shared/entities-visualizer.tsx index 8277acecd4e..e182290062f 100644 --- a/apps/hash-frontend/src/pages/shared/entities-visualizer.tsx +++ b/apps/hash-frontend/src/pages/shared/entities-visualizer.tsx @@ -266,7 +266,7 @@ export const EntitiesVisualizer: FunctionComponent<{ filterState, hideColumns, internalWebs, - limit: view === "Graph" ? undefined : 500, + limit: 500, sort: graphSort, view, }); diff --git a/apps/hash-frontend/src/pages/shared/entities-visualizer/header/query-count.tsx b/apps/hash-frontend/src/pages/shared/entities-visualizer/header/query-count.tsx index 08a79ceac0d..be51c1c8fda 100644 --- a/apps/hash-frontend/src/pages/shared/entities-visualizer/header/query-count.tsx +++ b/apps/hash-frontend/src/pages/shared/entities-visualizer/header/query-count.tsx @@ -36,7 +36,7 @@ export const QueryCount: FunctionComponent = ({ ) : count != null ? ( `${formatNumber(count)} ${count === 1 ? "entity" : "entities"}` ) : ( - "–" + "" )} ); diff --git a/apps/hash-frontend/src/pages/shared/workspace-context.tsx b/apps/hash-frontend/src/pages/shared/workspace-context.tsx index 88bea94c66a..922db32b6ad 100644 --- a/apps/hash-frontend/src/pages/shared/workspace-context.tsx +++ b/apps/hash-frontend/src/pages/shared/workspace-context.tsx @@ -66,11 +66,15 @@ export const WorkspaceContextProvider: FunctionComponent<{ if (localStorageInitialValue) { setActiveWorkspaceWebId(localStorageInitialValue as WebId); } else if (authenticatedUser) { + const defaultWorkspaceWebId = + authenticatedUser.memberOf[0]?.org.webId ?? + (authenticatedUser.accountId as WebId); + /** - * Initialize the `activeWorkspaceWebId` to the account ID of the - * currently authenticated user + * Initialize the `activeWorkspaceWebId` to the first organization the + * user belongs to, falling back to the user's account web. */ - updateActiveWorkspaceWebId(authenticatedUser.accountId as WebId); + updateActiveWorkspaceWebId(defaultWorkspaceWebId); } } }, [activeWorkspaceWebId, updateActiveWorkspaceWebId, authenticatedUser]); @@ -86,10 +90,13 @@ export const WorkspaceContextProvider: FunctionComponent<{ /** * If there is an `activeWorkspaceWebId` and an `authenticatedUser`, but * `activeWorkspace` is not defined, reset `activeWorkspaceWebId` to the - * authenticated user's account ID + * default workspace. */ if (activeWorkspaceWebId && authenticatedUser && !activeWorkspace) { - updateActiveWorkspaceWebId(authenticatedUser.accountId as WebId); + updateActiveWorkspaceWebId( + authenticatedUser.memberOf[0]?.org.webId ?? + (authenticatedUser.accountId as WebId), + ); } return { diff --git a/apps/hash-frontend/src/pages/supply-chain.page.tsx b/apps/hash-frontend/src/pages/supply-chain.page.tsx new file mode 100644 index 00000000000..f80d97170a4 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain.page.tsx @@ -0,0 +1,33 @@ +import { useRouter } from "next/router"; +import { useEffect } from "react"; + +import { useRegistry } from "./supply-chain/shared/registry-context"; +import { getSupplyChainLayout } from "./supply-chain/shared/supply-chain-layout"; + +import type { NextPageWithLayout } from "../shared/layout"; + +/** Supply-chain landing: send to the first site, falling back to a product. */ +const SupplyChainIndexPage: NextPageWithLayout = () => { + const router = useRouter(); + const { products, sites } = useRegistry(); + + useEffect(() => { + const firstSite = sites[0]; + if (firstSite) { + void router.replace(`/supply-chain/site/${firstSite.slug}`); + return; + } + + const firstProduct = products[0]; + if (!firstProduct) { + return; + } + void router.replace(`/supply-chain/product/${firstProduct.id}`); + }, [products, router, sites]); + + return null; +}; + +SupplyChainIndexPage.getLayout = getSupplyChainLayout; + +export default SupplyChainIndexPage; diff --git a/apps/hash-frontend/src/pages/supply-chain/README.md b/apps/hash-frontend/src/pages/supply-chain/README.md new file mode 100644 index 00000000000..230df5ac8d8 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/README.md @@ -0,0 +1,289 @@ +# Supply Chain + +The supply-chain pages provide workspace-scoped analysis views for products, +sites, steps, opportunities, and status reports. The route resolves the HASH web +that contains a populated supply-chain dataset before rendering the app shell, so +users are not stranded on an empty personal web when an organization web has the +data. + +## Feature Surfaces + +### Site Overview + +The site overview is reached at `/supply-chain/site/[site-id]`. It shows a +site-level view across products, including opportunity tables, dwell and +planning views, trend information, supplier performance when enabled, contextual +docs, settings, step detail panels, and status reporting. + +Status reports are shared within the resolved data web. Read/unread state is +user-specific and stored through a supply-chain preferences entity for the user. + +### Product Overview + +The product overview is reached at `/supply-chain/product/[product-id]`. It +shows the product graph, category view, route and pipeline views, step detail +panels, contextual docs, and analysis settings. The selected step and settings +are URL-backed where appropriate so route transitions and reloads preserve the +view state. + +### Opportunity Brief + +The opportunity brief route is +`/supply-chain/site/[site-id]/opportunity/[opportunity-type]/[product-id]/[step-id]`. + +## Telemetry + +Supply-chain telemetry is intentionally grouped into a small allowlist of event +names, with richer properties describing the interaction. Do not add ad hoc +event names for individual buttons or controls. + +Allowed event names: + +- `supply_chain_viewed` +- `supply_chain_interaction` +- `supply_chain_status_report_created` +- `supply_chain_error` + +Supported properties: + +- `interaction` +- `source` +- `route` +- `productId` +- `siteId` +- `stepId` +- `opportunityType` +- `opportunityKind` +- `statusCategory` + +Do not send status report free text, display names, customer names, site or +product display labels, raw analysis values, or client-specific data. + +## Covered Events + +### Views + +- Product page viewed: `supply_chain_viewed` with `route`, `productId`, and + `source`. +- Site page viewed: `supply_chain_viewed` with `route`, `siteId`, and `source`. +- Opportunity brief viewed: `supply_chain_viewed` with `route`, `siteId`, + `productId`, `stepId`, `opportunityType`, and `source`. + +### Interactions + +- `docs_opened` +- `scope_picker_changed` +- `status_dialog_opened` +- `status_dialog_cancelled` +- `status_dialog_validation_failed` +- `site_step_selected` +- `step_detail_panel_closed` +- `site_tab_changed` +- `table_sort_changed` +- `show_read_enabled` +- `show_read_disabled` +- `opportunity_section_toggled` +- `opportunity_brief_opened` +- `opportunity_brief_print_clicked` +- `opportunity_brief_data_downloaded` +- `brief_link_clicked` +- `data_table_opened` +- `csv_exported` +- `product_step_selected` +- `product_view_mode_changed` +- `opportunity_marked_read` +- `opportunity_marked_unread` +- `wacc_changed` +- `storage_cost_changed` +- `outliers_excluded` +- `outliers_included` +- `measure_changed` +- `procurement_basis_changed` +- `time_range_changed` + +### Status Reports + +- Creating a status report sends `supply_chain_status_report_created` with + `siteId`, `productId`, `stepId`, `opportunityType`, `statusCategory`, and + `source`. +- Status report text is never sent. +- User display names are never sent. + +## RudderStack Slack Event Templates + +RudderStack Slack event templates use Handlebars. Configure each entry with +regex matching disabled unless noted otherwise. Optional property lines are +wrapped in `#if` blocks because not every event has site, product, step, or +opportunity context. Every event also receives shared server-stamped properties, +including `environment`, `frontendDomain`, `shortname`, and `frontendProvided`. + +### `supply_chain_viewed` + +```handlebars +:eyes: +{{name}} +viewed Supply Chain{{#if properties.route}}{{newline}}Route: + {{properties.route}}{{/if}}{{#if properties.source}}{{newline}}Source: + {{properties.source}}{{/if}}{{#if properties.siteId}}{{newline}}Site: + {{properties.siteId}}{{/if}}{{#if properties.productId}}{{newline}}Product: + {{properties.productId}}{{/if}}{{#if properties.stepId}}{{newline}}Step: + {{properties.stepId}}{{/if}}{{#if + properties.opportunityType +}}{{newline}}Opportunity type: {{properties.opportunityType}}{{/if}} +``` + +### `supply_chain_interaction` + +```handlebars +:point_right: +{{name}} +used Supply Chain{{#if properties.interaction}}{{newline}}Interaction: + {{properties.interaction}}{{/if}}{{#if properties.source}}{{newline}}Source: + {{properties.source}}{{/if}}{{#if properties.siteId}}{{newline}}Site: + {{properties.siteId}}{{/if}}{{#if properties.productId}}{{newline}}Product: + {{properties.productId}}{{/if}}{{#if properties.stepId}}{{newline}}Step: + {{properties.stepId}}{{/if}}{{#if + properties.opportunityType +}}{{newline}}Opportunity type: {{properties.opportunityType}}{{/if}}{{#if + properties.opportunityKind +}}{{newline}}Opportunity kind: {{properties.opportunityKind}}{{/if}} +``` + +Opportunity brief interactions currently covered by this template: + +- `opportunity_brief_opened` +- `opportunity_brief_print_clicked` +- `opportunity_brief_data_downloaded` + +### `supply_chain_status_report_created` + +```handlebars +:memo: +{{name}} +created a Supply Chain status report{{#if + properties.statusCategory +}}{{newline}}Status: {{properties.statusCategory}}{{/if}}{{#if + properties.source +}}{{newline}}Source: {{properties.source}}{{/if}}{{#if + properties.siteId +}}{{newline}}Site: {{properties.siteId}}{{/if}}{{#if + properties.productId +}}{{newline}}Product: {{properties.productId}}{{/if}}{{#if + properties.stepId +}}{{newline}}Step: {{properties.stepId}}{{/if}}{{#if + properties.opportunityType +}}{{newline}}Opportunity type: {{properties.opportunityType}}{{/if}} +``` + +### `supply_chain_error` + +```handlebars +:warning: Supply Chain handled error{{#if + properties.interaction +}}{{newline}}Operation: {{properties.interaction}}{{/if}}{{#if + properties.source +}}{{newline}}Source: {{properties.source}}{{/if}}{{#if + properties.route +}}{{newline}}Route: {{properties.route}}{{/if}}{{#if + properties.siteId +}}{{newline}}Site: {{properties.siteId}}{{/if}}{{#if + properties.productId +}}{{newline}}Product: {{properties.productId}}{{/if}}{{#if + properties.stepId +}}{{newline}}Step: {{properties.stepId}}{{/if}}{{#if + properties.opportunityType +}}{{newline}}Opportunity type: {{properties.opportunityType}}{{/if}} +``` + +### Global Page Events + +Generic page views are already captured from the frontend app shell with +RudderStack's Page API on initial load and on `routeChangeComplete`. The page +name and `path` property are the Next.js `router.asPath` value. + +Configure this template with event name `page`: + +```handlebars +:page_facing_up: +{{name}} +viewed a page{{#if properties.path}}{{newline}}Path: + {{properties.path}}{{/if}}{{#if + properties.environment +}}{{newline}}Environment: {{properties.environment}}{{/if}}{{#if + properties.frontendDomain +}}{{newline}}Frontend: {{properties.frontendDomain}}{{/if}}{{#if + properties.frontendProvided +}}{{newline}}Source: frontend{{/if}} +``` + +### `analysis_run` + +`analysis_run` is server-only and cannot be emitted by the browser telemetry +gateway. It is captured when the analysis API resolves a requested analysis. + +```handlebars +:bar_chart: +{{name}} +ran an analysis{{#if properties.analysis}}{{newline}}Analysis: + {{properties.analysis}}{{/if}}{{#if properties.status}}{{newline}}Status: + {{properties.status}}{{/if}}{{#if + properties.artifactCount +}}{{newline}}Artifacts: {{properties.artifactCount}}{{/if}}{{#if + properties.webId +}}{{newline}}Web: {{properties.webId}}{{/if}}{{#if + properties.environment +}}{{newline}}Environment: {{properties.environment}}{{/if}}{{#if + properties.shortname +}}{{newline}}Shortname: {{properties.shortname}}{{/if}} +``` + +### `user_register` + +`user_register` is server-only and is captured from the Kratos registration +hook after a HASH user is created. Only route this to Slack if the destination +channel is approved for email addresses. + +```handlebars +:bust_in_silhouette: New HASH user registered{{#if + properties.shortname +}}{{newline}}User: {{properties.shortname}}{{/if}}{{#if + properties.email +}}{{newline}}Email: {{properties.email}}{{/if}}{{#if + properties.environment +}}{{newline}}Environment: {{properties.environment}}{{/if}}{{#if + properties.frontendDomain +}}{{newline}}Frontend: {{properties.frontendDomain}}{{/if}} +``` + +### Handled Errors + +Sentry catches uncaught thrown errors. The telemetry error event is for errors +that the supply-chain UI catches and handles itself. + +Currently covered handled errors: + +- `product_graph_fetch_failed`: product graph fetch failed and the product page + rendered an error state. +- `status_report_create_failed`: status report creation failed after an + optimistic UI update, and the status history was reloaded. + +Currently not covered by `supply_chain_error`: + +- Dataset web resolution failures that fall back to the empty-state view. +- Registry loading failures handled by `SupplyChainDataShell`. +- Step detail panel fetch failures handled inside the panel. +- Opportunity brief fetch failures handled inside the brief view. +- Site-node loading failures handled by site overview hooks. +- Supplier performance fetch failures that degrade to no supplier data. +- Fullscreen request/exit failures that are intentionally ignored. + +If one of these handled failures becomes important to analyze, add a +`supply_chain_error` event with an `interaction` value describing the failed +operation and only non-sensitive IDs as context. + +## Known Telemetry Gaps + +- Add the selected tab value to `site_tab_changed`. +- Track category filter, low-sample toggle, docs topic changes, pipeline control + changes, and richer what-if interactions once those payloads can stay + non-sensitive. diff --git a/apps/hash-frontend/src/pages/supply-chain/product/[product-id].page.tsx b/apps/hash-frontend/src/pages/supply-chain/product/[product-id].page.tsx new file mode 100644 index 00000000000..dcfccd2ae9e --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/product/[product-id].page.tsx @@ -0,0 +1,105 @@ +import { useRouter } from "next/router"; +import { useCallback, useEffect, useState } from "react"; + +import { css } from "@hashintel/ds-helpers/css"; + +import { fetchGraph } from "../shared/data"; +import { ErrorState, LoadingState } from "../shared/load-state"; +import { getSupplyChainLayout } from "../shared/supply-chain-layout"; +import { + trackSupplyChainError, + trackSupplyChainViewed, +} from "../shared/telemetry"; +import { useSearchParams } from "../shared/use-search-params"; +import { Overview } from "../supply-chain-data-shell/product"; + +import type { NextPageWithLayout } from "../../../shared/layout"; +import type { GraphData } from "../shared/types"; + +const loadingH = css({ h: "64" }); +const errorPad = css({ px: "6", py: "4" }); + +const ProductPage: NextPageWithLayout = () => { + const router = useRouter(); + const productId = + typeof router.query["product-id"] === "string" + ? router.query["product-id"] + : ""; + + const [searchParams, setSearchParams] = useSearchParams(); + const [graph, setGraph] = useState(null); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(null); + + // Selected step lives in the URL (`?step`) so deep links and reloads survive. + const selectedStepId = searchParams.get("step") ?? null; + const setSelectedStepId = useCallback( + (stepId: string | null) => { + if (stepId === selectedStepId) { + return; + } + setSearchParams( + (prev) => { + const next = new URLSearchParams(prev); + if (stepId) { + next.set("step", stepId); + } else { + next.delete("step"); + } + return next; + }, + { replace: true }, + ); + }, + [selectedStepId, setSearchParams], + ); + + useEffect(() => { + if (!productId) { + return; + } + setLoading(true); + setError(null); + trackSupplyChainViewed({ + productId, + route: "/supply-chain/product/[product-id]", + source: "product_page", + }); + fetchGraph(productId) + .then(setGraph) + .catch((caught) => { + trackSupplyChainError({ + interaction: "product_graph_fetch_failed", + productId, + source: "product_page", + }); + setError(caught instanceof Error ? caught.message : String(caught)); + }) + .finally(() => setLoading(false)); + }, [productId]); + + if (loading) { + return ( + + ); + } + if (error) { + return ; + } + if (!graph) { + return null; + } + + return ( + + ); +}; + +ProductPage.getLayout = getSupplyChainLayout; + +export default ProductPage; diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/action-button-styles.ts b/apps/hash-frontend/src/pages/supply-chain/shared/action-button-styles.ts new file mode 100644 index 00000000000..21d88385cb3 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/action-button-styles.ts @@ -0,0 +1,42 @@ +import { css } from "@hashintel/ds-helpers/css"; + +export const briefLinkStyle = css({ + display: "inline-flex", + alignItems: "center", + gap: "1.5", + h: "7", + borderRadius: "sm", + borderWidth: "1px", + borderStyle: "solid", + borderColor: "[#bfdbfe]", + bg: "[#eff6ff]", + px: "2.5", + py: "1", + textStyle: "xs", + lineHeight: "none", + fontWeight: "medium", + color: "[#1d4ed8]", + whiteSpace: "nowrap", + _hover: { borderColor: "[#93c5fd]", bg: "[#dbeafe]", color: "[#1e40af]" }, +}); + +export const neutralActionButtonStyle = css({ + display: "inline-flex", + alignItems: "center", + gap: "1.5", + h: "7", + borderRadius: "sm", + borderWidth: "1px", + borderStyle: "solid", + borderColor: "bd.subtle", + bg: "bgSolid.min", + px: "2.5", + py: "1", + textStyle: "xs", + lineHeight: "none", + fontWeight: "medium", + color: "fg.muted", + cursor: "pointer", + whiteSpace: "nowrap", + _hover: { borderColor: "bd.strong", color: "fg.heading" }, +}); diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/action-buttons.tsx b/apps/hash-frontend/src/pages/supply-chain/shared/action-buttons.tsx new file mode 100644 index 00000000000..b9f7c46fba4 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/action-buttons.tsx @@ -0,0 +1,148 @@ +import { Icon } from "@hashintel/ds-components"; +import { css, cx } from "@hashintel/ds-helpers/css"; + +import { Link } from "../../../shared/ui/link"; +import { + briefLinkStyle, + neutralActionButtonStyle, +} from "./action-button-styles"; +import { StatusIcon } from "./status-dialog"; + +import type { StatusActionState } from "./status"; +import type { MouseEventHandler, ReactNode } from "react"; + +// ── Square "?" docs button (identical in the main header + slide-over) ────── +const docsButton = css({ + display: "inline-flex", + alignItems: "center", + justifyContent: "center", + h: "7", + w: "7", + borderRadius: "md", + borderWidth: "1px", + borderStyle: "solid", + borderColor: "bd.subtle", + bg: "bgSolid.min", + color: "fg.subtle", + cursor: "pointer", + transition: "colors", + _hover: { color: "fg.heading", bg: "bg.subtle" }, +}); +const docsButtonActive = css({ color: "fg.heading", bg: "bg.subtle" }); +const statusSuccess = css({ + borderColor: "status.success.bd.subtle", + bg: "status.success.bg.subtle", + color: "status.success.fg.body", + _hover: { + borderColor: "status.success.bd.strong", + color: "status.success.fg.body", + }, +}); +const statusDanger = css({ + borderColor: "status.error.bd.subtle", + bg: "status.error.bg.subtle", + color: "status.error.fg.body", + _hover: { + borderColor: "status.error.bd.strong", + color: "status.error.fg.body", + }, +}); + +export const DocsIconButton = ({ + onClick, + label = "Open documentation", + active = false, + className, +}: { + onClick: () => void; + label?: string; + active?: boolean; + className?: string; +}) => { + return ( + + ); +}; + +// ── Shared Brief / Status / Data pill buttons ─────────────────────────────── +// One source of truth for the action buttons that appear in the opportunities +// table, the dwell/planning tables, and the slide-over header. + +/** Blue "Brief" link that opens the opportunity brief in a new tab. */ +export const BriefLink = ({ + href, + onClick, + className, +}: { + href: string; + onClick?: MouseEventHandler; + className?: string; +}) => { + return ( + + + Brief + + ); +}; + +/** White pill button used for the Status / Data actions. */ +export const NeutralActionButton = ({ + onClick, + icon, + children, + className, +}: { + onClick: MouseEventHandler; + icon?: ReactNode; + children: ReactNode; + className?: string; +}) => { + return ( + + ); +}; + +/** Convenience: the standard white "Status" button. */ +export const StatusActionButton = ({ + onClick, + className, + state = { label: "To action", tone: "neutral" }, +}: { + onClick: MouseEventHandler; + className?: string; + state?: StatusActionState; +}) => { + return ( + } + className={cx( + state.tone === "success" && statusSuccess, + state.tone === "danger" && statusDanger, + className, + )} + > + {state.label} + + ); +}; diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/carrying-cost.characterization.test.ts b/apps/hash-frontend/src/pages/supply-chain/shared/carrying-cost.characterization.test.ts new file mode 100644 index 00000000000..40aa80251be --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/carrying-cost.characterization.test.ts @@ -0,0 +1,88 @@ +import { describe, expect, it } from "vitest"; + +import { computeMonthlyCost, costRatePerKgDay } from "./cost"; +import { computeNodePeriodCost } from "./site-aggregation"; + +import type { CostData, MonthlyBucket, SiteNode, StepStats } from "./types"; + +// Characterization tests pinning the CURRENT carrying-cost period-summation +// behaviour before the ~10 duplicated reduce copies are collapsed into a single +// lib/cost.computePeriodCost helper (Batch 3). The new helper MUST reproduce +// this golden total exactly. + +const zeroStats: StepStats = { + n: 0, + mean: 0, + median: 0, + std: 0, + min: 0, + max: 0, + p25: 0, + p75: 0, + p85: 0, + p95: 0, +}; + +function cost(unitPrice: number | null): CostData { + return { unit_price: unitPrice, currency: "EUR" }; +} + +function kgDayMonth(month: string, totalKgDays: number): MonthlyBucket { + return { month, mean: null, median: null, n: 1, total_kg_days: totalKgDays }; +} + +function siteNode(overrides: Partial): SiteNode { + return { + id: "n", + label: "Node", + type: "intermediate_dwell", + material: null, + plant: "PL-A", + stats: zeroStats, + plan: null, + plan_note: null, + pct_exceeding_plan: null, + cost: null, + products: [{ id: "p1", name: "P1" }], + ...overrides, + }; +} + +describe("carrying-cost period summation characterization", () => { + const wacc = 0.1; + const storage = 0.336; + const unitPrice = 100; + const months = [ + kgDayMonth("2025-11", 1000), + kgDayMonth("2025-12", 500), + kgDayMonth("2026-01", 2500), + ]; + + it("sums Sigma(total_kg_days * rate) across monthly buckets", () => { + const rate = costRatePerKgDay(unitPrice, wacc, storage); + const expected = (1000 + 500 + 2500) * rate; + const node = siteNode({ cost: cost(unitPrice), monthly: months }); + expect(computeNodePeriodCost(node, wacc, storage)).toBeCloseTo(expected, 6); + }); + + it("equals the per-bucket computeMonthlyCost sum (invariant the dedup must preserve)", () => { + const node = siteNode({ cost: cost(unitPrice), monthly: months }); + const manual = months.reduce( + (sum, month) => + sum + + (computeMonthlyCost( + month.total_kg_days ?? null, + unitPrice, + wacc, + storage, + ) ?? 0), + 0, + ); + expect(computeNodePeriodCost(node, wacc, storage)).toBeCloseTo(manual, 6); + }); + + it("is zero when the node has no unit price", () => { + const node = siteNode({ cost: cost(null), monthly: months }); + expect(computeNodePeriodCost(node, wacc, storage)).toBe(0); + }); +}); diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/categories.ts b/apps/hash-frontend/src/pages/supply-chain/shared/categories.ts new file mode 100644 index 00000000000..25af666c903 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/categories.ts @@ -0,0 +1,101 @@ +import type { StepType } from "./types"; + +export type CategoryIcon = + | "puzzle" + | "clock" + | "blocks" + | "search-check" + | "truck"; + +export interface Category { + key: string; + label: string; + color: string; + icon: CategoryIcon; + types: StepType[]; + hidden?: boolean; +} + +export const CATEGORIES: Category[] = [ + { + key: "dwell", + label: "Dwell", + color: "#989898", + icon: "clock", + types: [ + "raw_material_dwell", + "intermediate_dwell", + "post_qa_ship", + "destination_dwell", + ], + }, + { + key: "procurement", + label: "Procurement", + color: "#64ade6", + icon: "puzzle", + types: ["procurement"], + }, + { + key: "production", + label: "Production", + color: "#9797fe", + icon: "blocks", + types: ["production"], + }, + { + key: "qa", + label: "QA", + color: "#3cc3b3", + icon: "search-check", + types: ["qa_hold"], + }, + { + key: "logistics", + label: "Logistics", + color: "#ff9c5e", + icon: "truck", + types: ["transit"], + }, +]; + +export const PIPELINE_COLORS: Record = { + procurement: "#64ade6", + raw_material_dwell: "#989898", + intermediate_dwell: "#989898", + production: "#9797fe", + qa_hold: "#3cc3b3", + post_qa_ship: "#989898", + transit: "#ff9c5e", + destination_dwell: "#989898", +}; + +export const DWELL_TYPES: StepType[] = [ + "raw_material_dwell", + "intermediate_dwell", + "destination_dwell", + "post_qa_ship", +]; + +export function getCategoryForType(type: StepType): Category | undefined { + return CATEGORIES.find((category) => category.types.includes(type)); +} + +export function getCategoryColor(type: StepType): string { + return PIPELINE_COLORS[type] ?? "#94a3b8"; +} + +export function isDwellType(type: StepType): boolean { + return DWELL_TYPES.includes(type); +} + +export function getCategoryIcon(type: StepType): CategoryIcon { + const cat = getCategoryForType(type); + return cat?.icon ?? "puzzle"; +} + +export const PRODUCTION_TYPES: StepType[] = ["production"]; + +export function isProductionType(type: StepType): boolean { + return PRODUCTION_TYPES.includes(type); +} diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/chart-format.test.ts b/apps/hash-frontend/src/pages/supply-chain/shared/chart-format.test.ts new file mode 100644 index 00000000000..ab329854d1a --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/chart-format.test.ts @@ -0,0 +1,16 @@ +import { describe, expect, it } from "vitest"; + +import { formatMonth } from "./chart-format"; + +describe("formatMonth", () => { + it("formats a YYYY-MM string as 'Mon YY'", () => { + expect(formatMonth("2024-01")).toBe("Jan 24"); + expect(formatMonth("2025-12")).toBe("Dec 25"); + expect(formatMonth("2026-06")).toBe("Jun 26"); + }); + + it("handles single-digit and double-digit months", () => { + expect(formatMonth("2024-03")).toBe("Mar 24"); + expect(formatMonth("2024-11")).toBe("Nov 24"); + }); +}); diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/chart-format.ts b/apps/hash-frontend/src/pages/supply-chain/shared/chart-format.ts new file mode 100644 index 00000000000..9fa33d92d56 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/chart-format.ts @@ -0,0 +1,61 @@ +import { token } from "@hashintel/ds-helpers/tokens"; + +import type { CSSProperties } from "react"; + +const MONTH_ABBREVIATIONS = [ + "Jan", + "Feb", + "Mar", + "Apr", + "May", + "Jun", + "Jul", + "Aug", + "Sep", + "Oct", + "Nov", + "Dec", +]; + +// Shared Recharts tooltip styling. Recharts inspects the *element type* of its +// direct children, so the `` element must stay inline in each chart; +// these style objects are spread into it to keep the look identical. Colors come +// from ds-components tokens (`var(--colors-…)`); charts render inside the +// supply-chain `.hash-ds-root` scope so the vars resolve. +// +// Light surface (matches the distribution chart's tooltip) — preferred for +// readability over the previous dark `neutral.s120` pill. +export const TOOLTIP_CONTENT_STYLE: CSSProperties = { + fontSize: 12, + borderRadius: 8, + border: `1px solid ${token.var("colors.bd.subtle")}`, + boxShadow: "0 2px 8px rgba(0,0,0,0.08)", + backgroundColor: token.var("colors.bgSolid.min"), + color: token.var("colors.fg.body"), + fontFamily: "inherit", +}; + +export const TOOLTIP_LABEL_STYLE: CSSProperties = { + color: token.var("colors.fg.body"), + fontSize: 11, +}; +export const TOOLTIP_ITEM_STYLE: CSSProperties = { + color: token.var("colors.fg.body"), +}; +export const TOOLTIP_WRAPPER_STYLE: CSSProperties = { zIndex: 9999 }; + +/** + * Formats a `YYYY-MM` string as a short `Mon YY` axis label (e.g. `Jan 24`). + * Shared by every monthly chart (cost, trend, savings, site carry cost). + */ +export function formatMonth(ym: string): string { + const [year, month] = ym.split("-"); + if (!year || !month) { + return ym; + } + const monthLabel = MONTH_ABBREVIATIONS[Number.parseInt(month, 10) - 1]; + if (!monthLabel) { + return ym; + } + return `${monthLabel} ${year.slice(2)}`; +} diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/chart-kit.tsx b/apps/hash-frontend/src/pages/supply-chain/shared/chart-kit.tsx new file mode 100644 index 00000000000..b7fa048cd52 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/chart-kit.tsx @@ -0,0 +1,183 @@ +import { css } from "@hashintel/ds-helpers/css"; + +import { chartTheme } from "./chart-theme"; + +import type { KeyboardEvent, MouseEvent } from "react"; + +/** + * Shared visual primitives for the Recharts-based charts: the custom tick/dot + * SVG renderers and the legend swatch. The dark tooltip style objects live in + * `chart-format.ts` (a non-component module) because Recharts inspects the + * element type of its direct children and the `` must stay inline. + */ + +const legendRowSm = css({ display: "flex", alignItems: "center", gap: "1" }); +const legendRowMd = css({ display: "flex", alignItems: "center", gap: "1.5" }); +const swatchDashed = css({ + width: "4", + height: "0", + borderTopWidth: "2px", + borderTopStyle: "dashed", +}); +const swatchSolid = css({ width: "4", height: "0.5", borderRadius: "full" }); +const legendLabelSm = css({ + textStyle: "xxs", + color: "fg.max", + letterSpacing: "[0.2px]", +}); +const legendLabelMd = css({ + textStyle: "xs", + fontWeight: "medium", + color: "fg.heading", + letterSpacing: "[0.12px]", +}); + +export const ClickableMonthTick = ({ + x: xValue, + y: yValue, + payload, + months, + onMonthClick, +}: { + x?: number; + y?: number; + payload?: { value?: string | number }; + months: Array<{ month: string; label: string }>; + onMonthClick?: (month: string) => void; +}) => { + const label = String(payload?.value ?? ""); + const month = months.find((month2) => month2.label === label)?.month; + const clickable = onMonthClick && month; + const handleClick = clickable + ? (event: MouseEvent) => { + event.stopPropagation(); + onMonthClick(month); + } + : undefined; + const handleKeyDown = clickable + ? (event: KeyboardEvent) => { + if (event.key === "Enter" || event.key === " ") { + event.preventDefault(); + event.stopPropagation(); + onMonthClick(month); + } + } + : undefined; + + return ( + + + {label} + + + ); +}; + +export const CustomDot = ({ + cx, + cy, + color, + payload, + onMonthClick, +}: { + cx?: number; + cy?: number; + color: string; + payload?: { month?: string }; + onMonthClick?: (month: string) => void; +}) => { + if (cx == null || cy == null) { + return null; + } + const month = payload?.month; + const handleClick = + onMonthClick && month + ? (event: MouseEvent) => { + event.stopPropagation(); + onMonthClick(month); + } + : undefined; + const handleKeyDown = + onMonthClick && month + ? (event: KeyboardEvent) => { + if (event.key === "Enter" || event.key === " ") { + event.preventDefault(); + event.stopPropagation(); + onMonthClick(month); + } + } + : undefined; + return ( + + + + + + ); +}; + +/** + * Legend swatch + label. `size="sm"` matches the dense trend-chart legend; + * `size="md"` matches the savings-calculator legend. `dashed` renders a + * dashed reference line swatch instead of a solid bar. + */ +export const LegendLine = ({ + color, + label, + dashed, + size = "sm", +}: { + color: string; + label: string; + dashed?: boolean; + size?: "sm" | "md"; +}) => { + return ( +
+
+ + + {label} + +
+ ); +}; diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/chart-theme.ts b/apps/hash-frontend/src/pages/supply-chain/shared/chart-theme.ts new file mode 100644 index 00000000000..758412613e4 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/chart-theme.ts @@ -0,0 +1,51 @@ +import { token } from "@hashintel/ds-helpers/tokens"; + +/** + * Central chart color theme. Every value is read from a ds-components token + * via `token.var(...)` (→ `var(--colors-…)`), so charts follow the design system + * and theme with it — no literal hex in chart components. + * + * Roles map to the supply-chain chart palette: + * axis/grid/ticks -> neutral `fg`/`bd`; series -> `status.*` + a yellow mean line. + * + * Scope: the `--colors-*` vars are defined inside `.hash-ds-root`, so charts + * must render inside the supply-chain layout or a portal container within it. + */ +export const chartTheme = { + /** Axis lines, gridlines, and tick labels. */ + axis: { + /** `axisLine`/tick line stroke (was `#dfdfdf`). */ + line: token.var("colors.bd.subtle"), + /** Standard tick label (was `#646464`). */ + tick: token.var("colors.fg.muted"), + /** Emphasised tick label (was `#000`). */ + tickStrong: token.var("colors.fg.heading"), + }, + /** Cartesian gridlines (was `#dfdfdf` / faint). */ + grid: token.var("colors.bd.subtle"), + /** Dashed reference/assumption line (was `#989898`). */ + reference: token.var("colors.fg.subtle"), + /** Recharts tooltip surface (opaque — may render in a portal). */ + tooltip: { + bg: token.var("colors.bgSolid.min"), + border: token.var("colors.bd.subtle"), + text: token.var("colors.fg.body"), + }, + /** Data series, by semantic role. */ + series: { + /** "Under assumption" / median / info (was `#64ade6`). */ + info: token.var("colors.status.info.bg.solid"), + /** Mean line (was `#ffce5c`). */ + mean: token.var("colors.yellow.s90"), + /** "Above assumption" / over (was `#ff9c5e`). */ + warning: token.var("colors.status.warning.bg.solid"), + /** Worst band (was `#ff8870`). */ + critical: token.var("colors.status.error.bg.solid"), + /** Positive/"reduced" series (was teal `#3cc3b3`). */ + success: token.var("colors.status.success.bg.solid"), + /** Neutral/secondary series. */ + neutral: token.var("colors.fg.subtle"), + }, +} as const; + +export type ChartTheme = typeof chartTheme; diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/cost.test.ts b/apps/hash-frontend/src/pages/supply-chain/shared/cost.test.ts new file mode 100644 index 00000000000..545e5e01f67 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/cost.test.ts @@ -0,0 +1,131 @@ +import { afterEach, describe, expect, it, vi } from "vitest"; + +import { + DEFAULT_STORAGE_COST, + DEFAULT_WACC, + computeDailyCost, + computeMonthlyCost, + computePeriodCost, + costRatePerKgDay, + formatCost, + formatNumber, +} from "./cost"; + +// Characterization tests: pin the current cost-model + formatting behaviour +// before the contract refactor. These are pure numeric functions. + +describe("costRatePerKgDay", () => { + it("combines WACC interest and storage at the documented rate", () => { + // 100 * (0.10/365) + 0.4/1000 + expect( + costRatePerKgDay(100, DEFAULT_WACC, DEFAULT_STORAGE_COST), + ).toBeCloseTo(100 * (0.1 / 365) + 0.4 / 1000, 10); + }); + + it("treats a null unit price as zero interest (storage only)", () => { + expect( + costRatePerKgDay(null, DEFAULT_WACC, DEFAULT_STORAGE_COST), + ).toBeCloseTo(DEFAULT_STORAGE_COST / 1000, 10); + }); +}); + +describe("computeMonthlyCost / computeDailyCost", () => { + it("multiplies kg-days by the per-kg-day rate", () => { + const rate = costRatePerKgDay(100, DEFAULT_WACC, DEFAULT_STORAGE_COST); + expect( + computeMonthlyCost(1000, 100, DEFAULT_WACC, DEFAULT_STORAGE_COST), + ).toBeCloseTo(1000 * rate, 8); + }); + + it("returns null when an input is missing", () => { + expect( + computeMonthlyCost(null, 100, DEFAULT_WACC, DEFAULT_STORAGE_COST), + ).toBeNull(); + expect( + computeMonthlyCost(1000, null, DEFAULT_WACC, DEFAULT_STORAGE_COST), + ).toBeNull(); + expect( + computeDailyCost(null, 100, DEFAULT_WACC, DEFAULT_STORAGE_COST), + ).toBeNull(); + }); +}); + +describe("computePeriodCost", () => { + const months = [ + { total_kg_days: 1000 }, + { total_kg_days: 500 }, + { total_kg_days: 2500 }, + ]; + + it("sums computeMonthlyCost over the buckets", () => { + const rate = costRatePerKgDay(100, DEFAULT_WACC, DEFAULT_STORAGE_COST); + expect( + computePeriodCost(months, 100, DEFAULT_WACC, DEFAULT_STORAGE_COST), + ).toBeCloseTo((1000 + 500 + 2500) * rate, 6); + }); + + it("equals the manual per-bucket reduce (the dedup invariant)", () => { + const manual = months.reduce( + (sum, month) => + sum + + (computeMonthlyCost( + month.total_kg_days, + 100, + DEFAULT_WACC, + DEFAULT_STORAGE_COST, + ) ?? 0), + 0, + ); + expect( + computePeriodCost(months, 100, DEFAULT_WACC, DEFAULT_STORAGE_COST), + ).toBeCloseTo(manual, 6); + }); + + it("returns 0 for null/empty monthly or missing unit price", () => { + expect( + computePeriodCost(null, 100, DEFAULT_WACC, DEFAULT_STORAGE_COST), + ).toBe(0); + expect(computePeriodCost([], 100, DEFAULT_WACC, DEFAULT_STORAGE_COST)).toBe( + 0, + ); + // null unit price -> each bucket contributes null -> treated as 0 + expect( + computePeriodCost(months, null, DEFAULT_WACC, DEFAULT_STORAGE_COST), + ).toBe(0); + }); +}); + +describe("formatCost / formatNumber", () => { + // Pin locale so thousands/decimal separators are deterministic. + afterEach(() => vi.unstubAllGlobals()); + function withLocale() { + vi.stubGlobal("navigator", { language: "en-US" }); + } + + it("formats a 2dp currency with its symbol", () => { + withLocale(); + expect(formatCost(1234.5, "CHF")).toBe("CHF 1,234.50"); + }); + + it("rounds zero-decimal currencies (JPY/CNY) to whole units", () => { + withLocale(); + expect(formatCost(1234.5, "JPY")).toBe("¥1,235"); + }); + + it("renders compact magnitudes", () => { + withLocale(); + expect(formatCost(2_500_000, "USD", { compact: true })).toBe("$2.5m"); + expect(formatNumber(1500, { compact: true })).toBe("1.5k"); + }); + + it("falls back to USD when no currency is supplied", () => { + withLocale(); + expect(formatCost(2500, null, { compact: true })).toBe("$2.5k"); + }); + + it("renders a dash for null", () => { + withLocale(); + expect(formatCost(null, "USD")).toBe("–"); + expect(formatNumber(null)).toBe("–"); + }); +}); diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/cost.ts b/apps/hash-frontend/src/pages/supply-chain/shared/cost.ts new file mode 100644 index 00000000000..1ad356b1d7a --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/cost.ts @@ -0,0 +1,183 @@ +import { createContext, useContext } from "react"; + +export const DEFAULT_WACC = 0.1; +export const DEFAULT_STORAGE_COST = 0.4; // currency units/tonne/day +export const DEFAULT_CURRENCY = "USD"; + +interface CostParamsCtx { + currency: string; + setAnalysisSettings: ( + settings: + | { currency?: string | null; storage_cost?: number | null } + | null + | undefined, + ) => void; + waccRate: number; + setWaccRate: (rate: number) => void; + storageCost: number; + setStorageCost: (cost: number) => void; +} + +export const CostParamsContext = createContext({ + currency: DEFAULT_CURRENCY, + setAnalysisSettings: () => {}, + waccRate: DEFAULT_WACC, + setWaccRate: () => {}, + storageCost: DEFAULT_STORAGE_COST, + setStorageCost: () => {}, +}); + +export function useCostParams() { + return useContext(CostParamsContext); +} + +interface OutlierCtx { + excludeOutliers: boolean; + setExcludeOutliers: (exclude: boolean) => void; +} + +export const OutlierContext = createContext({ + excludeOutliers: true, + setExcludeOutliers: () => {}, +}); + +export function useOutlierSetting() { + return useContext(OutlierContext); +} + +/** Cost rate per kg per day given current WACC and storage params. */ +export function costRatePerKgDay( + unitPrice: number | null | undefined, + waccRate: number, + storageCost: number, +): number { + return (unitPrice ?? 0) * (waccRate / 365) + storageCost / 1000; +} + +/** Recompute monthly total cost from kg-days and unit price. */ +export function computeMonthlyCost( + totalKgDays: number | null | undefined, + unitPrice: number | null | undefined, + waccRate: number, + storageCost: number, +): number | null { + if (totalKgDays == null || unitPrice == null) { + return null; + } + return totalKgDays * costRatePerKgDay(unitPrice, waccRate, storageCost); +} + +/** A monthly bucket carrying the kg-days needed to recompute carrying cost. */ +interface KgDayBucket { + total_kg_days?: number | null; +} + +/** + * Sum a node's carrying cost over its monthly buckets: the period total is + * `Σ computeMonthlyCost(bucket.total_kg_days, unitPrice, wacc, storage)`. + * Single source of truth for the ~10 inline reduce copies across the app. + */ +export function computePeriodCost( + monthly: KgDayBucket[] | null | undefined, + unitPrice: number | null | undefined, + waccRate: number, + storageCost: number, +): number { + if (!monthly) { + return 0; + } + return monthly.reduce( + (sum, month) => + sum + + (computeMonthlyCost( + month.total_kg_days, + unitPrice, + waccRate, + storageCost, + ) ?? 0), + 0, + ); +} + +/** Recompute daily carrying cost from mean quantity and unit price. */ +export function computeDailyCost( + meanQty: number | null | undefined, + unitPrice: number | null | undefined, + waccRate: number, + storageCost: number, +): number | null { + if (meanQty == null || unitPrice == null) { + return null; + } + return meanQty * costRatePerKgDay(unitPrice, waccRate, storageCost); +} + +const CURRENCY_SYMBOLS: Record = { + JPY: "¥", + USD: "$", + EUR: "€", + CNY: "¥", + CHF: "CHF ", +}; + +/** Resolve the active locale for all number/date formatting. Single source of truth. */ +export function getUserLocale(): string { + return navigator.language; +} + +function localiseNumber( + value: number, + opts?: { maximumFractionDigits?: number; minimumFractionDigits?: number }, +): string { + return new Intl.NumberFormat(getUserLocale(), opts).format(value); +} + +export function formatCost( + value: number | null | undefined, + currency: string | null, + opts?: { compact?: boolean }, +): string { + if (value == null) { + return "–"; + } + const activeCurrency = currency ?? DEFAULT_CURRENCY; + const sym = CURRENCY_SYMBOLS[activeCurrency] ?? ""; + if (opts?.compact) { + const abs = Math.abs(value); + if (abs >= 1_000_000) { + return `${sym}${localiseNumber(value / 1_000_000, { maximumFractionDigits: 1 })}m`; + } + if (abs >= 1_000) { + return `${sym}${localiseNumber(value / 1_000, { maximumFractionDigits: 1 })}k`; + } + return `${sym}${localiseNumber(Math.round(value))}`; + } + if (activeCurrency === "JPY" || activeCurrency === "CNY") { + return `${sym}${localiseNumber(Math.round(value))}`; + } + return `${sym}${localiseNumber(value, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}`; +} + +/** Format a plain number (non-currency) respecting user locale. */ +export function formatNumber( + value: number | null | undefined, + opts?: { + maximumFractionDigits?: number; + minimumFractionDigits?: number; + compact?: boolean; + }, +): string { + if (value == null) { + return "–"; + } + if (opts?.compact) { + const abs = Math.abs(value); + if (abs >= 1_000_000) { + return `${localiseNumber(value / 1_000_000, { maximumFractionDigits: 1 })}m`; + } + if (abs >= 1_000) { + return `${localiseNumber(value / 1_000, { maximumFractionDigits: 1 })}k`; + } + } + return localiseNumber(value, opts); +} diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/data.ts b/apps/hash-frontend/src/pages/supply-chain/shared/data.ts new file mode 100644 index 00000000000..70b49eadbce --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/data.ts @@ -0,0 +1,204 @@ +import { fetchArtifactJson } from "../../../shared/analysis-client"; +import { isDwellType } from "./categories"; +import { + ensureGraphStats, + ensureNodeStats, + ensureStepStats, +} from "./normalize-contract"; +import { scopeDwellNodeToProduct } from "./product-dwell-scope"; +import { + fetchGraph as fetchAnalysisGraph, + fetchProducts as fetchAnalysisProducts, + fetchSiteSummary as fetchAnalysisSiteSummary, + fetchSites as fetchAnalysisSites, + fetchStepDetail as fetchAnalysisStepDetail, + fetchSupplierPerformance as fetchAnalysisSupplierPerformance, +} from "./supply-chain-analysis-requests"; + +import type { + Product, + GraphData, + StepDetail, + StepDetailWire, + SiteData, + SiteSupplierPerformance, + SiteSummary, +} from "./types"; +import type { WebId } from "@blockprotocol/type-system"; + +/** A selectable site with its data slug and display name. */ +export interface SiteRef { + slug: string; + name: string; +} + +let activeWebId: WebId | null = null; +let productsCache: Promise | null = null; + +/** + * Session cache for `fetchSiteData`, keyed by web + site + product set. A + * rejected promise is evicted so a later mount can retry. + */ +const siteDataCache = new Map>(); +/** + * Site-wide supplier performance. Cached for the session; missing optional + * artifacts resolve to `null`, so the cache holds at most one resolved promise. + */ +let supplierPerformanceCache: Promise | null = + null; +/** + * Configure the workspace web whose published analysis artifacts back the + * supply-chain views. All data reads go through HASH's analysis gateway. + */ +export function configureDataSource({ + scope, +}: { + scope: WebId | string; +}): void { + activeWebId = scope as WebId; + productsCache = null; + supplierPerformanceCache = null; + siteDataCache.clear(); +} +const getActiveWebId = (): WebId => { + if (!activeWebId) { + throw new Error("Supply-chain data source is not configured."); + } + return activeWebId; +}; +export function fetchProducts(): Promise { + productsCache = + productsCache ?? + (fetchAnalysisProducts(getActiveWebId()) as Promise); + return productsCache; +} +/** + * Site registry used to populate the scope picker and resolve display names. + * Returns an empty list when unavailable. + */ export function fetchSites(): Promise { + return fetchAnalysisSites(getActiveWebId()); +} +/** + * Load a product graph. With the v1 data contract the generator emits the + * final node/segment shape, so the loader is a straight typed fetch with a + * normalization pass for older optional fields. + */ export async function fetchGraph(productId: string): Promise { + const webId = getActiveWebId(); + const graph = ensureGraphStats( + await fetchAnalysisGraph(webId, productId), + ); + const products = await fetchProducts(); + const product = products.find((candidate) => candidate.id === productId); + + if (!product) { + return graph; + } + + const scopedNodes = await Promise.all( + graph.nodes.map(async (node) => { + if (!isDwellType(node.type)) { + return node; + } + try { + const step = ensureStepStats( + await fetchAnalysisStepDetail(webId, productId, node.id), + ); + return scopeDwellNodeToProduct(node, step, { + productMaterial: product.material, + productName: graph.product_name, + }); + } catch { + return node; + } + }), + ); + + return { ...graph, nodes: scopedNodes }; +} +export async function fetchAllGraphs(products: Product[]): Promise { + const graphs = await Promise.all( + products.map((product) => + fetchGraph(product.id).then((graph) => ({ product, graph })), + ), + ); + return { + analysis_settings: + graphs.find(({ graph }) => graph.analysis_settings)?.graph + .analysis_settings ?? null, + graphs, + }; +} +export function fetchSupplierPerformance(): Promise { + if (supplierPerformanceCache) { + return supplierPerformanceCache; + } + supplierPerformanceCache = + fetchAnalysisSupplierPerformance(getActiveWebId()); + return supplierPerformanceCache; +} +export function fetchStepDetail( + productId: string, + stepId: string, +): Promise { + return fetchAnalysisStepDetail( + getActiveWebId(), + productId, + stepId, + ).then(ensureStepStats); +} +/** + * Site overview summary. Precomputed per site so the overview never has to + * fetch every product's full graph. + */ export function fetchSiteSummary( + siteId: string, +): Promise { + return fetchAnalysisSiteSummary(getActiveWebId(), siteId); +} +/** + * Build the `SiteData` the overview consumes. Prefers the precomputed + * `site/{id}/summary.json` (one request, full v1 nodes embedded) and adapts it + * into the `{ graphs: [{ product, graph }] }` shape the aggregation helpers + * expect. Falls back to fetching every product's full graph only when no + * summary is published. + */ export async function fetchSiteData( + siteId: string, + products: Product[], +): Promise { + const summary = await fetchSiteSummary(siteId); + if (summary && summary.products.length > 0) { + return { + analysis_settings: summary.analysis_settings ?? null, + graphs: summary.products.map((product) => ({ + product: { id: product.id, name: product.name, material: "" }, + graph: { + schema_version: summary.schema_version, + product_id: product.id, + product_name: product.name, + nodes: product.nodes.map(ensureNodeStats), + edges: [], + pipeline_summary: {}, + }, + })), + }; + } + return fetchAllGraphs(products); +} +export function fetchSiteDataCached( + siteId: string, + products: Product[], +): Promise { + const key = `${getActiveWebId()}::${siteId}::${products + .map((product) => product.id) + .sort() + .join(",")}`; + const cached = siteDataCache.get(key); + if (cached) { + return cached; + } + const pending = fetchSiteData(siteId, products); + siteDataCache.set(key, pending); + pending.catch(() => siteDataCache.delete(key)); + return pending; +} + +export { fetchArtifactJson }; diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/detail-date-key.ts b/apps/hash-frontend/src/pages/supply-chain/shared/detail-date-key.ts new file mode 100644 index 00000000000..4937d547ef5 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/detail-date-key.ts @@ -0,0 +1,48 @@ +import type { DetailRows } from "./types"; + +/** + * Ordered fallback for which detail-row column holds the observation date when + * a step does not carry an explicit `ref_date_col`. Union of every + * per-dimension date column the views may key on (timing, dwell, consumption, + * outbound), ordered so the completion/event date wins when several are + * present. + */ +export const DETAIL_DATE_KEY_PREFERENCE = [ + "finish_date", + "confirmed_finish", + "end", + "prod_receipt_date", + "production_receipt_date", + "qa_decision_date", + "arrival_date", + "qa_release_date", + "outbound_date", + "receipt_date", + "consumption_date", + "first_gr_date", + "last_gr_date", + "po_date", + "promised_date", + "ship_date", + "departure_date", + "sched_start", + "posting_date", + "start", + "date", +]; + +/** + * Resolve the detail-row date column. The canonical answer is the step's + * `ref_date_col` (emitted by the generator for every step); the preference + * list is only a fallback for payloads that don't carry one. + */ +export function detailDateKeyFromColumns( + rows: DetailRows, + refDateCol?: string | null, +): string | null { + const keys = new Set(rows.columns.map((column) => column.key)); + if (refDateCol && keys.has(refDateCol)) { + return refDateCol; + } + return DETAIL_DATE_KEY_PREFERENCE.find((key) => keys.has(key)) ?? null; +} diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-context.tsx b/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-context.tsx new file mode 100644 index 00000000000..842c42d3203 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-context.tsx @@ -0,0 +1,25 @@ +import { useCallback, useMemo, useState, type ReactNode } from "react"; + +import { DocsModal } from "./docs-modal"; +import { DocsContext } from "./use-docs"; + +import type { DocSectionId, DocTarget } from "./docs-types"; + +export const DocsProvider = ({ children }: { children: ReactNode }) => { + const [target, setTarget] = useState(null); + + const openDocs = useCallback((section: DocSectionId, sub?: string) => { + setTarget({ section, sub }); + }, []); + + const value = useMemo(() => ({ openDocs }), [openDocs]); + + return ( + + {children} + {target && ( + setTarget(null)} /> + )} + + ); +}; diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal.tsx b/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal.tsx new file mode 100644 index 00000000000..eabd20d34a4 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal.tsx @@ -0,0 +1,367 @@ +import { Portal } from "@ark-ui/react"; +import { useCallback, useEffect, useMemo, useRef, useState } from "react"; + +import { Button, usePortalContainerRef } from "@hashintel/ds-components"; +import { css, cx } from "@hashintel/ds-helpers/css"; + +import { useSupplierPerformanceEnabled } from "../feature-flags"; +import { DOC_SECTIONS } from "./docs-modal/docs-content"; +import { DocEntryBlock, DocsNavProvider } from "./docs-primitives"; + +import type { + DocEntry, + DocSectionDef, + DocSectionId, + DocTarget, +} from "./docs-types"; + +const backdrop = css({ + position: "fixed", + inset: "0", + zIndex: "[1000]", + bg: "neutral.a80", + display: "flex", + alignItems: "center", + justifyContent: "center", + p: "4", +}); +const panel = css({ + display: "flex", + flexDirection: "column", + w: "[min(1040px,100%)]", + h: "[min(82vh,760px)]", + bg: "bgSolid.min", + borderWidth: "1px", + borderStyle: "solid", + borderColor: "bd.subtle", + borderRadius: "lg", + boxShadow: "2xl", + overflow: "hidden", +}); +const headerBar = css({ + display: "flex", + alignItems: "center", + justifyContent: "space-between", + gap: "3", + px: "5", + py: "3", + borderBottomWidth: "1px", + borderBottomStyle: "solid", + borderColor: "bd.subtle", + flexShrink: "0", +}); +const headerTitle = css({ + fontFamily: "display", + textStyle: "lg", + fontWeight: "medium", + color: "fg.heading", +}); +const bodyRow = css({ display: "flex", flex: "1", minH: "0" }); +const sidebar = css({ + w: "[248px]", + flexShrink: "0", + borderRightWidth: "1px", + borderRightStyle: "solid", + borderColor: "bd.subtle", + overflowY: "auto", + py: "3", + // Subtle top-down gradient (white -> faint cool tint) reads less flat than a solid grey panel. + bg: "[linear-gradient(180deg,#ffffff_0%,#f4f6fa_100%)]", + "@media (max-width: 640px)": { display: "none" }, +}); +const navSection = css({ "&:not(:first-child)": { mt: "2" } }); +const navSectionButton = css({ + display: "block", + w: "full", + textAlign: "left", + px: "4", + py: "1.5", + textStyle: "sm", + fontWeight: "semibold", + color: "fg.heading", + cursor: "pointer", + bg: "[transparent]", + border: "none", + _hover: { color: "fg.muted" }, +}); +const navSectionButtonActive = css({ color: "fg.heading" }); +const navEntry = css({ + display: "block", + w: "full", + textAlign: "left", + pl: "6", + pr: "4", + py: "1", + textStyle: "sm", + color: "fg.subtle", + cursor: "pointer", + bg: "[transparent]", + border: "none", + borderLeftWidth: "2px", + borderLeftStyle: "solid", + borderLeftColor: "[transparent]", + _hover: { color: "fg.muted" }, +}); +const navEntryActive = css({ + color: "fg.heading", + fontWeight: "medium", + borderLeftColor: "fg.heading", +}); +const content = css({ + flex: "1", + minW: "0", + overflowY: "auto", + px: "6", + py: "5", +}); +const sectionHeading = css({ + fontFamily: "display", + textStyle: "2xl", + fontWeight: "medium", + color: "fg.heading", + mb: "4", +}); + +function visibleEntries( + section: DocSectionDef, + supplierEnabled: boolean, +): DocEntry[] { + return section.entries.filter( + (event) => !event.supplierFlagGated || supplierEnabled, + ); +} + +/** Resolve which entry in a section owns a given anchor sub-id. */ +function entryIdForSub( + section: DocSectionDef, + sub: string | undefined, +): string | undefined { + if (!sub) { + return undefined; + } + const match = section.entries.find( + (event) => event.id === sub || sub.startsWith(`${event.id}-`), + ); + return match?.id; +} + +export const DocsModal = ({ + initialTarget, + onClose, +}: { + initialTarget: DocTarget; + onClose: () => void; +}) => { + const portalRef = usePortalContainerRef(); + const supplierEnabled = useSupplierPerformanceEnabled(); + const contentRef = useRef(null); + + const sections = useMemo( + () => + DOC_SECTIONS.map((step) => ({ + section: step, + entries: visibleEntries(step, supplierEnabled), + })), + [supplierEnabled], + ); + + const [activeSection, setActiveSection] = useState( + initialTarget.section, + ); + const [activeEntryId, setActiveEntryId] = useState(() => { + const step = DOC_SECTIONS.find( + (xValue) => xValue.id === initialTarget.section, + ); + return step ? entryIdForSub(step, initialTarget.sub) : undefined; + }); + // The scroll target carries a nonce so re-selecting the same anchor (e.g. + // clicking the same sidebar entry twice) still re-triggers the scroll effect. + const [scrollTarget, setScrollTarget] = useState<{ + sub?: string; + nonce: number; + }>({ + sub: initialTarget.sub, + nonce: 0, + }); + + const navigate = useCallback((target: DocTarget) => { + setActiveSection(target.section); + const step = DOC_SECTIONS.find((xValue) => xValue.id === target.section); + setActiveEntryId(step ? entryIdForSub(step, target.sub) : undefined); + setScrollTarget((prev) => ({ sub: target.sub, nonce: prev.nonce + 1 })); + }, []); + + // Scroll to the requested anchor after the active section has rendered. Keyed + // off `scrollTarget` only: its nonce changes on every navigation, so this also + // fires when the section switches (navigation always updates both at once). + useEffect(() => { + const container = contentRef.current; + if (!container) { + return; + } + const { sub } = scrollTarget; + if (!sub) { + container.scrollTo({ top: 0 }); + return; + } + const id = requestAnimationFrame(() => { + const el = container.querySelector(`[id="${sub}"]`); + if (el) { + el.scrollIntoView({ block: "start", behavior: "smooth" }); + } else { + container.scrollTo({ top: 0 }); + } + }); + return () => cancelAnimationFrame(id); + }, [scrollTarget]); + + // Scroll-spy: highlight the entry occupying the largest visible area in the + // modal viewport. This is more reliable than "heading crossed the top", + // because short final entries often cannot physically scroll to the top. + useEffect(() => { + const container = contentRef.current; + if (!container) { + return; + } + const entryIds = ( + sections.find((step) => step.section.id === activeSection)?.entries ?? [] + ).map((event) => event.id); + if (entryIds.length === 0) { + return; + } + let raf = 0; + const update = () => { + cancelAnimationFrame(raf); + raf = requestAnimationFrame(() => { + const containerRect = container.getBoundingClientRect(); + let current = entryIds[0]; + let bestVisible = -1; + + for (const id of entryIds) { + const el = container.querySelector(`[id="${id}"]`); + if (!el) { + continue; + } + const rect = el.getBoundingClientRect(); + const visibleTop = Math.max(rect.top, containerRect.top); + const visibleBottom = Math.min(rect.bottom, containerRect.bottom); + const visible = Math.max(0, visibleBottom - visibleTop); + if (visible > bestVisible) { + bestVisible = visible; + current = id; + } + } + + setActiveEntryId((prev) => (prev === current ? prev : current)); + }); + }; + container.addEventListener("scroll", update, { passive: true }); + update(); + return () => { + container.removeEventListener("scroll", update); + cancelAnimationFrame(raf); + }; + }, [sections, activeSection]); + + useEffect(() => { + const onKey = (event: KeyboardEvent) => { + if (event.key === "Escape") { + onClose(); + } + }; + document.addEventListener("keydown", onKey); + return () => document.removeEventListener("keydown", onKey); + }, [onClose]); + + const active = + sections.find((step) => step.section.id === activeSection) ?? sections[0]; + if (!active) { + return null; + } + + return ( + + {/* biome-ignore lint/a11y/useKeyWithClickEvents: The backdrop is pointer-only; Escape is handled globally above. */} +
{ + if (event.target === event.currentTarget) { + onClose(); + } + }} + > + {/* biome-ignore lint/a11y/useSemanticElements: Native positioning conflicts with the portal/backdrop layout. */} +
+
+

Documentation

+
+
+ +
+ +

{active.section.title}

+ {active.entries.map((entry) => ( + + {entry.render()} + + ))} +
+
+
+
+
+
+ ); +}; diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal/docs-content.tsx b/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal/docs-content.tsx new file mode 100644 index 00000000000..6c825d0993e --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal/docs-content.tsx @@ -0,0 +1,65 @@ +import { opportunityBriefSection } from "./docs-content/opportunity-brief"; +import { productOverviewSection } from "./docs-content/product-overview"; +import { settingsSection } from "./docs-content/settings"; +import { siteOverviewSection } from "./docs-content/site-overview"; +import { stepDetailDoc } from "./docs-content/step-detail"; +import { dwellDoc } from "./docs-content/step-dwell"; +import { procurementDoc } from "./docs-content/step-procurement"; +import { productionDoc } from "./docs-content/step-production"; +import { qaDoc } from "./docs-content/step-qa"; +import { transitDoc } from "./docs-content/step-transit"; + +import type { StepType } from "../../types"; +import type { DocSectionDef, DocSectionId, DocTarget } from "../docs-types"; + +const stepsSection: DocSectionDef = { + id: "steps", + title: "Steps", + entries: [ + stepDetailDoc, + procurementDoc, + dwellDoc, + productionDoc, + qaDoc, + transitDoc, + ], +}; + +/** The full docs navigation tree, in sidebar order. */ +export const DOC_SECTIONS: DocSectionDef[] = [ + siteOverviewSection, + productOverviewSection, + stepsSection, + opportunityBriefSection, + settingsSection, +]; + +export type { DocSectionId, DocTarget }; + +/** + * Map a value-chain step type onto the docs target to open from the step + * slideover. Dwell variants share the single Dwell entry but deep-link to the + * matching span anchor. + */ +export function stepDocTarget(type: StepType): DocTarget { + switch (type) { + case "procurement": + return { section: "steps", sub: "procurement" }; + case "production": + return { section: "steps", sub: "production" }; + case "qa_hold": + return { section: "steps", sub: "qa" }; + case "transit": + return { section: "steps", sub: "transit" }; + case "raw_material_dwell": + return { section: "steps", sub: "dwell-raw-material" }; + case "intermediate_dwell": + return { section: "steps", sub: "dwell-intermediate" }; + case "post_qa_ship": + return { section: "steps", sub: "dwell-post-qa-ship" }; + case "destination_dwell": + return { section: "steps", sub: "dwell-destination" }; + default: + return { section: "steps", sub: "procurement" }; + } +} diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal/docs-content/opportunity-brief.tsx b/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal/docs-content/opportunity-brief.tsx new file mode 100644 index 00000000000..dcf657a8132 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal/docs-content/opportunity-brief.tsx @@ -0,0 +1,103 @@ +import { + Lead, + P, + H4, + Term, + UL, + LI, + Note, + CrossRef, +} from "../../docs-primitives"; + +import type { DocSectionDef } from "../../docs-types"; + +export const opportunityBriefSection: DocSectionDef = { + id: "opportunity-brief", + title: "Opportunity brief", + entries: [ + { + id: "opportunity-brief", + title: "Opportunity brief", + render: () => ( + <> + + Opportunity briefs are printable investigation reports opened from + the site opportunities table or the step detail panel, via a{" "} + Brief button. They turn one flagged step into a + structured evidence pack. + +

+ There are two brief types: dwell cost reduction and planning + parameter calibration. +

+ +

Brief types

+
    +
  • + Dwell cost reduction briefs focus on inventory + carrying cost. They show current period cost, annualised cost, + scenario savings and the operational evidence behind the wait. +
  • +
  • + Planning calibration briefs focus on whether the + planning parameter still matches observed timing. They compare + current plan, estimated 95th-percentile timing, median, mean and + the share of batches exceeding plan. +
  • +
+ +

Report sections

+
    +
  • + Executive summary explains why the opportunity was + flagged and summarises the key information. +
  • +
  • + Opportunity diagnosis lists the main diagnostic + statements and confidence notes for the evidence. +
  • +
  • + Potential impact or calibration options shows + dwell-reduction scenarios or planning service-level options. +
  • +
  • + End-to-end leverage appears on dwell briefs when the + step can be connected to traceable batch pipelines. It estimates + whether reducing the wait would move finished good end-to-end + timing. +
  • +
  • + First-use dwell indicates how early materials were + ordered or intermediates were produced before first downstream + use. +
  • +
  • + Distribution and evidence contains the box plot, + histogram, monthly trend, statistics, source notes and largest + contributing records. +
  • +
  • + Recommended next steps gives investigation checks and + step-type-specific prompts for follow-up. +
  • +
+ +

Evidence exports and print

+

+ Use Evidence CSV to export the records behind the brief + and Print / Save as PDF to share the report. +

+ + See{" "} + + Opportunities + {" "} + for how opportunities are selected. + + + ), + }, + ], +}; diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal/docs-content/product-overview.tsx b/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal/docs-content/product-overview.tsx new file mode 100644 index 00000000000..16f0147360b --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal/docs-content/product-overview.tsx @@ -0,0 +1,306 @@ +import { + Lead, + P, + H4, + Term, + UL, + LI, + Note, + CrossRef, +} from "../../docs-primitives"; + +import type { DocSectionDef } from "../../docs-types"; + +export const productOverviewSection: DocSectionDef = { + id: "product-overview", + title: "Product overview", + entries: [ + { + id: "category-view", + title: "Category view", + render: () => ( + <> + + The category view lays out a product's value chain as cards + grouped by step category — procurement, dwell, production, QA + and logistics. + +

+ Each card shows the step's headline timing and a badge + indicating how it compares to its planning parameter, so you can + scan a whole product's chain at a glance. Selecting a card + opens that step's detail. +

+

Header KPIs and navigation

+

+ The product selector in the header switches between finished goods. + The KPI chips below it show traceable end-to-end mean, traceable + end-to-end median and total dwell carrying cost for the selected + time range when those values are available. The end-to-end timings + are the average across all destinations. For pipeline timings for + specific destinations, see the{" "} + + end-to-end pipeline + {" "} + view at the bottom of the screen. +

+

Step categories

+
    +
  • + Procurement measures purchase-order lead time for + bought inputs, either to first receipt or full receipt depending + on the procurement-basis setting (see{" "} + + Settings + + ) +
  • +
  • + Dwell measures waiting time between operational + milestones: raw material receipt to consumption, intermediate + production to consumption, QA release to shipment, or hub arrival + to onward shipment. +
  • +
  • + Production measures manufacturing duration. Where + available, production cards are normalised to a reference batch + size so campaigns of different sizes are comparable. +
  • +
  • + QA measures the hold between production finish and + quality release. +
  • +
  • + Logistics measures transit after release, either + direct to the customer or to a hub destination. +
  • +
+

Reading a card

+
    +
  • + Headline days are the selected measure from settings + (median, mean, P75 or P95) for the current time range. +
  • +
  • + Mini distribution is a compact box plot: the grey + whiskers span min to max, the shaded box is P25 to P75, the blue + tick is median and the yellow tick is mean. +
  • +
  • + Planning badge shows the planning parameter in days. + Green means the selected measure is at least 10% below plan, amber + means between 90% and 120% of plan, and red means more than 20% + above plan. +
  • +
  • + Percent badge shows how far the selected measure is + over or under the planning parameter. +
  • +
  • + Cost badge appears on dwell cards when carrying-cost + inputs are available. It estimates inventory carrying cost over + the selected time range using the settings panel's WACC and + storage assumptions. +
  • +
  • + R and C badges appear on production cards when yield + or consumption data is available. R is receipt ratio versus order + quantity; C is material consumption variance versus reservation. +
  • +
  • + Event count shows how many observations feed the + card. A warning triangle means the sample is small. +
  • +
+ + ), + }, + { + id: "canvas-view", + title: "Canvas view", + render: () => ( + <> + + The canvas view draws the same value chain as a process graph, + showing how materials and steps connect from inputs through to the + finished good. + +

Node colour

+

+ Each step node is coloured by how its headline timing compares to + the planning parameter: +

+
    +
  • + Green — at least 10% below plan. +
  • +
  • + Amber — between 90% and 120% of plan. +
  • +
  • + Red — more than 20% above plan. +
  • +
  • + Grey — no planning parameter available to + compare against. +
  • +
+ + ), + }, + { + id: "e2e-pipeline", + title: "End-to-end pipeline", + render: () => ( + <> + + The pipeline at the foot of the product page traces each + finished-good batch individually, from the earliest procurement of + any input through to the route endpoint, and decomposes the journey + into four segments. + +

+ Unlike the step cards (which pool statistics per step type), the + pipeline follows real batches and computes segment durations from + each batch's own milestone dates. The four segments are: +

+
    +
  • + Procurement to production start covers the + pre-production lead-in: bought inputs, raw-material availability + and any waiting before any production starts. +
  • +
  • + Production start to production finish covers upstream + production chains, intermediate waits and the final finished-good + campaign. +
  • +
  • + Production finish to QA release is the quality hold + after production completes. +
  • +
  • + QA release to customer covers post-QA dwell and + transport to the route endpoint: customer arrival for direct + external-customer shipments; hub dispatch for routes that go via a + hub unless a measured hub-to-customer transport end is available. +
  • +
+

+ A route picker switches between delivery routes (direct or via a + hub), and a coverage indicator shows how many batches had a complete + enough trace to be included. The pipeline filters batches by the + route endpoint date, so its population can differ from the step + cards, which each anchor to their own event date. +

+

+ Shipment step cards can count more than one delivery for the same + batch. The pipeline keeps one route per batch, so observation counts + may be higher than the number of batches shown on the direct route. +

+

Mean, median and segment toggles

+

+ The waterfall shows mean and median totals for the selected route. + Segment chips in the legend can be switched off to focus the + waterfall, KPIs and simulator on the remaining portion of the + journey. Procurement is off by default in the view. +

+ + ), + }, + { + id: "what-if", + title: "What-if simulator", + render: () => ( + <> + + Expanding the pipeline opens a what-if simulator: per-step cap + controls let you ask “if we trimmed unusually long occurrences + of this step, how much would end-to-end time shrink, and what would + it save?” + +

+ Steps on parallel procurement and production paths only help when + they are the limiting factor, and trimming a step past the point + where another path becomes limiting yields nothing further. Serial + post-production steps such as QA hold, transit and destination dwell + reduce the total directly when their long observations are capped. +

+

How this works

+

+ Each lever caps that step's batch durations at the selected + checkpoint: Max (no change), P95 (estimated 95th-percentile timing), + P75, median, P25 or Exclude (count as zero time). Durations below + the cap are unchanged; durations above it are capped at the selected + level. +

+

+ For upstream production chains, the simulator recomputes the full + set of paths for each batch and uses the longest remaining path. For + finished-good production, QA hold and post-QA logistics, the + simulator treats the steps as serial and subtracts the capped tail + from the relevant segment. +

+

+ When you change the time range, route or outlier setting, the app + recomputes each batch segment's mean, and median, then rebuilds + the pipeline. +

+

+ The route's end-to-end mean and median use each batch's + own total duration when that value is available. Because those + totals are a separate per-batch distribution, they can differ + slightly from adding together the displayed segment means or + medians, especially when some segments are missing or outliers have + been excluded. +

+

Controls

+
    +
  • + Cap checkpoints — each lever caps a step at a + historical checkpoint (P95, P75, median, P25, or exclude + entirely). The default is uncapped. A cap only clips occurrences + above it; shorter ones are unchanged. +
  • +
  • + Lever summary — each card shows the step's + median and mean, the cap status, the number of observations + shortened by an active cap and an open-step icon for drilling into + the underlying detail panel. +
  • +
  • + Not in current recipe — a warning badge means + the step appears in historical traces but is not reachable in the + current BOM or recipe, so it may not represent future production + unless the old recipe is used again. +
  • +
  • + Segment toggle — the legend chips below the + waterfall switch whole segments in or out of the totals, KPIs and + lever list. The selection is saved in the URL so it can be shared. +
  • +
  • + Route scope — each simulation runs against one + delivery route; the lever list reflects the steps ranked for that + route. +
  • +
+

+ Headline KPIs show simulated end-to-end mean and median, days saved, + and an annualised cost saving recomputed live from the cost + assumptions in{" "} + + Settings & controls + + . +

+ + The simulator is a directional planning tool. It does not model + plant capacity or business rules, only indicates what the E2E + pipeline would be if steps could be brought down to specific levels. + + + ), + }, + ], +}; diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal/docs-content/settings.tsx b/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal/docs-content/settings.tsx new file mode 100644 index 00000000000..d34a491e64c --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal/docs-content/settings.tsx @@ -0,0 +1,110 @@ +import { + Lead, + P, + H4, + Term, + UL, + LI, + Anchor, + SettingRow, + CrossRef, +} from "../../docs-primitives"; + +import type { DocSectionDef } from "../../docs-types"; + +export const settingsSection: DocSectionDef = { + id: "settings", + title: "Settings & controls", + entries: [ + { + id: "settings", + title: "Settings & controls", + render: () => ( + <> + + These controls live behind the settings cog and apply consistently + across the site overview, product overview and step detail. They are + encoded in the URL, so a configured view can be shared or reloaded + without losing its settings. + + + + + The cost-of-capital rate applied to inventory value when computing + dwell carrying cost. Raising it increases every carrying-cost + figure proportionally. + + + + + The physical storage rate per tonne per day added on top of the + cost of capital when computing dwell carrying cost. + + + + + The headline statistic used for step timing: median, mean, P75 or + P95. It drives the step-card headline, the over/under-plan badges, + the site planning and dwell “observed” columns and the + trends. It does not change the named statistics tables in the step + detail, which always show explicit values. + + + + + Whether procurement lead time is measured to the{" "} + first goods receipt or to the full{" "} + (final) receipt that completes the order. + + + + + What time period to include in the analysis. Averages will be + shown across the period, and trends will be shown comparing the + current period with the previous period. For example, if 12 months + is selected, averages shown will be across the last 12 months, and + trends will compare the last 12 months with the previous 12 + months. + + + + + Excludes values falling significantly outside the normal + distribution. This is done by computing the interquartile range + (IQR), i.e. the values falling between 25% and 75% of + observations, and then excluding any values which are greater than + 1.5x IQR above the third quartile or less than 1.5x IQR below the + first quartile (aka Tukey fences). + + + +

Where settings do not apply

+
    +
  • + Procurement basis affects procurement steps only.{" "} + First vs full receipt changes the procurement lead-time analysis + wherever it appears. +
  • +
  • + Planning opportunities in the site overview are + selected by parameters which are more than 10% above or below + estimated 95th-percentile timing, not the selected measure. The + full planning parameter tab lower down on the site overview are + affected by the selected measure. +
  • +
+ +

Site-only controls

+

+ The site overview adds two of its own controls — a category + filter and an exclude-low-samples toggle. See{" "} + + Site filters & controls + + . +

+ + ), + }, + ], +}; diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal/docs-content/site-overview.tsx b/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal/docs-content/site-overview.tsx new file mode 100644 index 00000000000..5c0842bc648 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal/docs-content/site-overview.tsx @@ -0,0 +1,253 @@ +import { + Lead, + P, + H4, + Term, + UL, + LI, + Note, + CrossRef, +} from "../../docs-primitives"; + +import type { DocSectionDef } from "../../docs-types"; + +export const siteOverviewSection: DocSectionDef = { + id: "site-overview", + title: "Site overview", + entries: [ + { + id: "overview-opportunities", + title: "Overview & opportunities", + render: () => ( + <> + + The site view brings every product made at the plant into one + dashboard, so the highest-impact planning and cost issues surface + regardless of which product they belong to. + +

+ Steps shared across goods (such as a raw material or intermediate + used by several goods) appear once, tagged with every good that uses + them, so their cost is not double-counted. Product-specific steps + stay attributed to their product. +

+

Opportunities

+

+ The opportunities table at the top ranks the most actionable + findings across the site. Each opportunity is one of: +

+
    +
  • + Dwell cost — a dwell step carrying a material + cost over the selected period. It appears when median dwell is at + least 7 days and the selected-period carrying cost is at least + 5,000 in the local currency. +
  • +
  • + Planning over / under — observed timing sitting + above or below the planning parameter for the step. It appears + when estimated 95th-percentile timing is at least 10% above or + below plan. To see comparisons against other statistics (e.g. + median), use the{" "} + + {" "} + Planning parameters tab + {" "} + further down the page. +
  • +
+

+ Each row shows its impact, supporting evidence and a sample-size + confidence label. Clicking on a row opens that step's detail, + and the row actions at the end include Brief,{" "} + Mark read, Mark unread and the + investigation status action. +

+

Investigation workflow

+
    +
  • + Record any actions for the opportunity using the status action + button. It is labelled by the latest saved state:{" "} + To action, Investigating,{" "} + Investigated or Rejected. It records an + investigation start, update, conclusion, infeasible rejection or + data-issue rejection. +
  • +
  • + All status updates for a given step are visible from the step + detail panel, and viewable by anyone with access to the + organisation. +
  • +
  • + Mark read hides an opportunity from the default list + once it has been reviewed. Mark unread returns it to + the unread list. This is a personal setting not shared among users + – you can mark items as read without affecting other users. +
  • +
  • + The Show read checkbox brings reviewed opportunities + back into the table. +
  • +
+

+ The Brief action opens a printable{" "} + + Opportunity brief + {" "} + with the evidence, scenarios and recommended checks behind the row. +

+ + ), + }, + { + id: "monthly-carry-cost", + title: "Monthly carry-cost chart", + render: () => ( + <> + + The monthly carrying-cost chart shows total inventory carrying cost + per calendar month, summed across every dwell step at the site. + +

+ It depends on the configured cost of capital and storage rates. See{" "} + WACC{" "} + and{" "} + + storage cost + + . +

+ + ), + }, + { + id: "dwell-tab", + title: "Dwell time / cost tab", + render: () => ( + <> + + The dwell tab ranks every dwell step at the site by its inventory + carrying cost over the selected period. + +

+ Each row shows the observed dwell time and the period cost; sorting + surfaces the most expensive waits first. Rows open the step detail + for the full distribution and cost breakdown. +

+

+ Dwell rows remain visible even when Exclude low samples is on, + because a small number of high-value waits can still explain real + carrying cost. Low-sample dwell rows are labelled. +

+ + ), + }, + { + id: "planning-tab", + title: "Planning parameters tab", + render: () => ( + <> + + The planning tab ranks steps by how far observed timing deviates + from the planning parameter held for the step. + +

+ It surfaces where the plan and reality diverge most — both + steps running over plan and steps comfortably under it — by + comparing the selected measure from{" "} + + Settings & controls + {" "} + with the planning parameter. Use it to find candidates for planning + recalibration. +

+

+ You can change the statistic to compare the parameter with in the + user{" "} + + Settings + {" "} + menu. +

+ + ), + }, + { + id: "trend-tab", + title: "Trend tab", + render: () => ( + <> + + The Trend tab lists steps whose selected measure is moving up or + down versus the previous comparison period (e.g. if 12 months is + selected from the user settings, it compares the last 12 months with + the previous 12 months) + +

+ Use it as a directional signal beside the dwell and planning tabs: + worsening rows can point to emerging delays, while improving rows + can indicate improvements. +

+ + ), + }, + { + id: "supplier-tab", + title: "Supplier performance tab", + supplierFlagGated: true, + render: () => ( + <> + + The supplier tab is a leaderboard of vendors, pooling every delivery + a vendor made into the plant across all materials in scope. + +

+ Vendors are scored on on-time delivery against their promised dates + and on delivery delay. Both an expected delay across all deliveries + and the severity conditional on late deliveries are shown, so a + mostly-reliable vendor with occasional severe misses is not hidden + by an on-time majority. Vendors with very few measured deliveries + are held back to keep the rankings stable. +

+

+ Selecting a vendor opens a drill-down with that vendor's OTIF + trend and worst late deliveries. Procurement step details can also + show supplier performance for the selected material, while the site + tab pools deliveries across all materials in scope. +

+ + This view is only present when supplier performance is enabled. + + + ), + }, + { + id: "site-filters", + title: "Site filters & controls", + render: () => ( + <> + Two controls are specific to the site view. +
    +
  • + Category filter — shown on the Planning + parameters and Trend tabs to restrict those tables to chosen step + categories. +
  • +
  • + Exclude low samples — hide Planning and Trend + rows with fewer than 10 observations, so rankings are not + dominated by noisy single-event steps. +
  • +
+

+ All other controls are shared across views — see{" "} + + Settings & controls + + . +

+ + ), + }, + ], +}; diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal/docs-content/step-detail.tsx b/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal/docs-content/step-detail.tsx new file mode 100644 index 00000000000..df39e5e21c1 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal/docs-content/step-detail.tsx @@ -0,0 +1,94 @@ +import { Lead, P, H4, Term, UL, LI, CrossRef } from "../../docs-primitives"; + +import type { DocEntry } from "../../docs-types"; + +export const stepDetailDoc: DocEntry = { + id: "step-detail", + title: "Step detail panel", + render: () => ( + <> + + The step detail panel provides a quick view of evidence for a single + step. It shows the step's duration distribution, monthly trend, + planning comparison and source records. + +

Dimensions

+
    +
  • + Receipt ratio appears on production steps when + receipt/yield data is available. It compares received quantity with + the order quantity. +
  • +
  • + Consumption appears when component consumption is + available. It compares actual consumption with material reservations. + It shows aggregate variance and lets you inspect component-level + consumption against expectation. +
  • +
+ +

Charts and statistics

+
    +
  • + Statistics list the named measures directly: min, mean, + median, P75, P85, P95, max and sample count. +
  • +
  • + Distribution shows the spread of observations for the + active time range and dimension. Use it to distinguish one-off tails + from broad shifts in the whole series. +
  • +
  • + Monthly trend shows change over time. Selecting a month + filters the evidence table to the records behind that point. +
  • +
  • + Planning comparison shows the planning parameter, the + difference from observed timing and the source note where the plan is + not the default planned-delivery-time field. +
  • +
+ +

Evidence and actions

+
    +
  • + Brief opens a printable opportunity brief when the step + is part of a site opportunity. The brief turns the evidence into an + investigation narrative. +
  • +
  • + The status action button is labelled To action,{" "} + Investigating, Investigated or{" "} + Rejected based on the latest saved update. It lets you + record investigation progress, updates, conclusions or rejections. + Status history is tied to the step/opportunity, reappears when the + same target is opened again, and is viewable by anyone with access to + the supply-chain data web. +
  • +
  • + Use Data to open a table with the underlying records used + to compute analysis. It can be exported with Export CSV{" "} + for follow-up checks in another system. +
  • +
  • + Time range buttons (3m, 6m, 12) filter the panel. +
  • +
  • + Outlier count appears in the header when the Exclude + outliers setting removes timing observations from the current step. + See{" "} + + Exclude outliers + + . +
  • +
+ +

Cost drill-down

+

+ Dwell steps with material cost data include a savings calculator that + estimates carrying-cost impact from reducing dwell days +

+ + ), +}; diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal/docs-content/step-dwell.tsx b/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal/docs-content/step-dwell.tsx new file mode 100644 index 00000000000..089e860e914 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal/docs-content/step-dwell.tsx @@ -0,0 +1,85 @@ +import { + Lead, + P, + H4, + Term, + SpanList, + SpanItem, + CrossRef, +} from "../../docs-primitives"; + +import type { DocEntry } from "../../docs-types"; + +export const dwellDoc: DocEntry = { + id: "dwell", + title: "Dwell", + render: () => ( + <> + + Dwell measures how long material waits in inventory between two events. + There are four dwell points across the value chain, each measuring a + different wait. + +

+ One observation per event. Dwell is measured at every + individual consumption or movement event, not as a single average per + batch. A batch drawn from stock across three production orders produces + three observations, each dated at its actual draw and quantity. +

+ +

The four dwell spans

+ + + How long a purchased input waits in stock after receipt before it is + consumed into production. + + + How long an in-house intermediate waits after it is produced before + the next production stage consumes it. + + + How long finished product waits after QA release before it is issued + for shipment. + + + How long finished product sits at a distribution hub after arrival + before its first onward dispatch. + + + +

Carrying cost

+

+ Every dwell point carries an inventory carrying-cost view: the quantity + in stock multiplied by the days it is held, costed with a + cost-of-capital rate and a physical storage rate. The cost is built from + a daily balance so material consumed early in a month is not charged for + the rest of it. Both rates are adjustable — see{" "} + WACC and{" "} + + storage cost + + . +

+ + ), +}; diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal/docs-content/step-procurement.tsx b/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal/docs-content/step-procurement.tsx new file mode 100644 index 00000000000..167c566e607 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal/docs-content/step-procurement.tsx @@ -0,0 +1,39 @@ +import { Lead, P, H4, Term, CrossRef } from "../../docs-primitives"; + +import type { DocEntry } from "../../docs-types"; + +export const procurementDoc: DocEntry = { + id: "procurement", + title: "Procurement", + render: () => ( + <> + + Procurement measures how long a purchased input takes to arrive: the + elapsed time from purchase-order creation to the selected{" "} + + procurement basis + + , either first goods receipt or full receipt. + +

+ What it measures: purchase order creation to the active + procurement basis. First receipt captures when stock first lands; full + receipt captures when the order is complete. Every order contributes one + lead-time observation for the selected basis, so a material ordered many + times produces many observations. +

+

+ Time filtering: observations are anchored to the receipt + date for the active basis, so the 3m / 6m / 12m window selects receipts + that landed inside that period. +

+

Planning comparison

+

+ Procurement timing is compared against the planned delivery time held + for the material. On the process graph the step node is coloured by how + the headline value compares to that plan, and the site planning table + ranks materials by how far observed timing deviates from it. +

+ + ), +}; diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal/docs-content/step-production.tsx b/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal/docs-content/step-production.tsx new file mode 100644 index 00000000000..708a29915e9 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal/docs-content/step-production.tsx @@ -0,0 +1,47 @@ +import { Lead, P, H4, Term } from "../../docs-primitives"; + +import type { DocEntry } from "../../docs-types"; + +export const productionDoc: DocEntry = { + id: "production", + title: "Production", + render: () => ( + <> + + Production duration measures the per-batch cycle time: how long a batch + takes from the point production starts on it to the point it is + finished. + +

+ What it measures: production start to production finish, + per batch. The headline value is normalised to a typical batch size so + it reads as “days per typical batch” rather than being + skewed by unusually large or small campaigns. +

+

+ Planning comparison: production timing is compared against + the planned in-house production time for the material, and the + process-graph node is coloured accordingly. +

+ +

Receipt ratio

+

+ Production steps expose a receipt ratio view: the quantity + received against a production order versus the order quantity, expressed + as a percentage with 100% as the reference. It reflects order completion + and receipt vs order rather than physical process yield. +

+ +

Input consumption variance

+

+ Production steps also expose an input consumption view: the + actual quantity of each input material consumed per order versus the + reserved quantity, as a percentage. A positive variance is + over-consumption (more input used than planned); zero is the + expected-consumption reference. You can view the order-level weighted + aggregate or select a single component to see its own distribution and + trend. +

+ + ), +}; diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal/docs-content/step-qa.tsx b/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal/docs-content/step-qa.tsx new file mode 100644 index 00000000000..d824c7e4fbb --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal/docs-content/step-qa.tsx @@ -0,0 +1,31 @@ +import { Lead, P, Term } from "../../docs-primitives"; + +import type { DocEntry } from "../../docs-types"; + +export const qaDoc: DocEntry = { + id: "qa", + title: "QA hold / release", + render: () => ( + <> + + QA hold measures the time a finished batch waits between production + completion and QA release — the quality inspection and hold + period. + +

+ What it measures: production receipt (the batch is complete + and received into inventory) to QA release (the batch passes inspection + and is cleared for use). One observation per finished-good batch. +

+

+ Time filtering: observations are anchored to the + production-receipt date, so the selected window picks batches that + completed production inside that period. +

+

+ The wait that follows QA release — from release to dispatch + — is measured separately as post-QA dwell. +

+ + ), +}; diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal/docs-content/step-transit.tsx b/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal/docs-content/step-transit.tsx new file mode 100644 index 00000000000..6504df60d4c --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-modal/docs-content/step-transit.tsx @@ -0,0 +1,32 @@ +import { Lead, P, H4, Term } from "../../docs-primitives"; + +import type { DocEntry } from "../../docs-types"; + +export const transitDoc: DocEntry = { + id: "transit", + title: "Transit", + render: () => ( + <> + + Transit measures how long finished product takes to move from the + production plant to its next location. + +

Plant to hub

+

+ What it measures: shipment out of the production plant to + the first receipt at a distribution hub. One observation per batch + arrival at the hub, anchored to the hub receipt date. +

+

Direct to customer

+

+ For product shipped to an external customer rather than an internal + destination, transit is measured from the goods issue shipment date to + the actual transport end date from transport documents. +

+

+ Batches without an identifiable transport end date are excluded from the + analysis. +

+ + ), +}; diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-primitives.tsx b/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-primitives.tsx new file mode 100644 index 00000000000..9f53be3cda0 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-primitives.tsx @@ -0,0 +1,296 @@ +import { createContext, useContext, type ReactNode } from "react"; + +import { css } from "@hashintel/ds-helpers/css"; + +import type { DocTarget } from "./docs-types"; + +/** + * In-modal navigation. The modal provides a `navigate` callback so content can + * render cross-reference links that jump to another section/entry (e.g. an + * overview pointing at "Settings & controls"). + */ +const DocsNavContext = createContext<(target: DocTarget) => void>(() => {}); + +export const DocsNavProvider = ({ + navigate, + children, +}: { + navigate: (target: DocTarget) => void; + children: ReactNode; +}) => { + return ( + + {children} + + ); +}; + +const entryBlock = css({ + scrollMarginTop: "4", + "&:not(:first-child)": { + mt: "8", + pt: "8", + borderTopWidth: "1px", + borderColor: "bd.subtle", + }, +}); +const entryTitle = css({ + fontFamily: "display", + textStyle: "base", + fontWeight: "medium", + color: "fg.heading", + mb: "3", +}); +// Anchors wrap block-level setting rows; space consecutive ones apart (the +// inner SettingRow's own `:not(:first-child)` margin can't fire when it's the +// sole child of each Anchor). +const anchor = css({ + scrollMarginTop: "4", + "&:not(:first-child)": { mt: "3" }, +}); + +/** A navigable docs entry: an anchored heading plus its body. */ +export const DocEntryBlock = ({ + id, + title, + children, +}: { + id: string; + title: string; + children: ReactNode; +}) => { + return ( +
+

{title}

+ {children} +
+ ); +}; + +/** An in-content anchor target (e.g. a dwell span) that the modal can scroll to. */ +export const Anchor = ({ + id, + children, +}: { + id: string; + children: ReactNode; +}) => { + return ( +
+ {children} +
+ ); +}; + +const lead = css({ + textStyle: "sm", + color: "fg.subtle", + lineHeight: "relaxed", + mb: "3", +}); +export const Lead = ({ children }: { children: ReactNode }) => { + return

{children}

; +}; + +const para = css({ + textStyle: "sm", + color: "fg.subtle", + lineHeight: "relaxed", + "&:not(:first-child)": { mt: "2.5" }, +}); +const Paragraph = ({ children }: { children: ReactNode }) => { + return

{children}

; +}; +export { Paragraph as P }; + +const h4 = css({ + textStyle: "base", + fontWeight: "medium", + color: "fg.heading", + mt: "5", + mb: "2", +}); +export const H4 = ({ children }: { children: ReactNode }) => { + return

{children}

; +}; + +const ul = css({ + mt: "2.5", + display: "flex", + flexDirection: "column", + gap: "2", + pl: "1", +}); +export const UL = ({ children }: { children: ReactNode }) => { + return
    {children}
; +}; + +const li = css({ + textStyle: "sm", + color: "fg.subtle", + lineHeight: "relaxed", + pl: "4", + position: "relative", + _before: { + content: '"\\2022"', + position: "absolute", + left: "0", + color: "fg.muted", + fontWeight: "semibold", + }, +}); +export const LI = ({ children }: { children: ReactNode }) => { + return
  • {children}
  • ; +}; + +const term = css({ fontWeight: "medium", color: "fg.heading" }); +export const Term = ({ children }: { children: ReactNode }) => { + return {children}; +}; + +const note = css({ + mt: "3", + borderLeftWidth: "2px", + borderColor: "bd.subtle", + pl: "3", + py: "0.5", + textStyle: "sm", + color: "fg.subtle", + lineHeight: "relaxed", +}); +export const Note = ({ children }: { children: ReactNode }) => { + return
    {children}
    ; +}; + +/** A span definition row: "Start -> End" with an explanation. Used for dwell variants. */ +const spanList = css({ + mt: "3", + display: "flex", + flexDirection: "column", + gap: "3", +}); +export const SpanList = ({ children }: { children: ReactNode }) => { + return
    {children}
    ; +}; + +const spanItem = css({ + borderWidth: "1px", + borderColor: "bd.subtle", + borderRadius: "md", + p: "3", + scrollMarginTop: "4", +}); +const spanHead = css({ + display: "flex", + alignItems: "center", + gap: "1.5", + flexWrap: "wrap", + mb: "1.5", +}); +const spanName = css({ + textStyle: "sm", + fontWeight: "semibold", + color: "fg.heading", +}); +const spanArrow = css({ + display: "inline-flex", + alignItems: "center", + gap: "1.5", + textStyle: "xs", + fontWeight: "medium", + color: "fg.muted", + bg: "bg.subtle", + borderRadius: "sm", + px: "1.5", + py: "0.5", +}); +const spanBody = css({ + textStyle: "sm", + color: "fg.subtle", + lineHeight: "relaxed", +}); +export const SpanItem = ({ + id, + name, + from, + to, + children, +}: { + id?: string; + name: string; + from: string; + to: string; + children: ReactNode; +}) => { + return ( +
    +
    + {name} + + {from} {"\u2192"} {to} + +
    +

    {children}

    +
    + ); +}; + +/** A labelled control/setting definition row. */ +const settingRow = css({ + display: "flex", + flexDirection: "column", + gap: "0.5", + "&:not(:first-child)": { mt: "3" }, +}); +const settingName = css({ + textStyle: "sm", + fontWeight: "semibold", + color: "fg.heading", +}); +const settingBody = css({ + textStyle: "sm", + color: "fg.subtle", + lineHeight: "relaxed", +}); +export const SettingRow = ({ + name, + children, +}: { + name: string; + children: ReactNode; +}) => { + return ( +
    + {name} + {children} +
    + ); +}; + +const crossRef = css({ + color: "fg.heading", + fontWeight: "medium", + textDecoration: "underline", + textUnderlineOffset: "[2px]", + cursor: "pointer", + bg: "[transparent]", + border: "none", + p: "0", + font: "inherit", + _hover: { color: "fg.muted" }, +}); +/** A link inside docs copy that jumps to another section/entry of the modal. */ +export const CrossRef = ({ + to, + children, +}: { + to: DocTarget; + children: ReactNode; +}) => { + const navigate = useContext(DocsNavContext); + return ( + + ); +}; diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-types.ts b/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-types.ts new file mode 100644 index 00000000000..c5a964b62c3 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/docs/docs-types.ts @@ -0,0 +1,40 @@ +import type { ReactNode } from "react"; + +/** Top-level docs sections shown in the modal sidebar. */ +export type DocSectionId = + | "site-overview" + | "product-overview" + | "steps" + | "opportunity-brief" + | "settings"; + +/** + * A navigable docs entry. Each entry renders a self-contained block of copy and + * is addressable by `id` so the modal can deep-link / scroll to it (e.g. from a + * step slideover or a cross-reference link). + */ +export interface DocEntry { + /** Stable id, unique across all sections; doubles as the scroll-target DOM id. */ + id: string; + /** Sidebar label. */ + title: string; + /** + * When true the entry is only shown if the Supplier Performance feature flag + * is enabled (see `useSupplierPerformanceEnabled`). + */ + supplierFlagGated?: boolean; + render: () => ReactNode; +} + +export interface DocSectionDef { + id: DocSectionId; + title: string; + entries: DocEntry[]; +} + +/** A navigation target inside the modal: a section, optionally scrolled to an entry. */ +export interface DocTarget { + section: DocSectionId; + /** Entry id (or any in-content anchor id) to scroll to. */ + sub?: string; +} diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/docs/use-docs.ts b/apps/hash-frontend/src/pages/supply-chain/shared/docs/use-docs.ts new file mode 100644 index 00000000000..aaa24c0c2a9 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/docs/use-docs.ts @@ -0,0 +1,14 @@ +import { createContext, useContext } from "react"; + +import type { DocSectionId } from "./docs-types"; + +export interface DocsCtx { + /** Open the docs modal at a section, optionally scrolled to an entry/anchor. */ + openDocs: (section: DocSectionId, sub?: string) => void; +} + +export const DocsContext = createContext({ openDocs: () => {} }); + +export function useDocs() { + return useContext(DocsContext); +} diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/export-utils.ts b/apps/hash-frontend/src/pages/supply-chain/shared/export-utils.ts new file mode 100644 index 00000000000..6894c4c2460 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/export-utils.ts @@ -0,0 +1,45 @@ +import type { DetailColumn } from "./types"; + +export function buildCsvContent( + columns: DetailColumn[], + rows: Record[], +): string { + const headers = columns.map((col) => { + if (col.source_table && col.source_field) { + return `"${col.label} (${col.source_table}.${col.source_field})"`; + } + return `"${col.label}"`; + }); + + const csvRows = rows.map((row) => + columns + .map((col) => { + const val = row[col.key]; + if (val == null) { + return ""; + } + if ( + typeof val === "string" && + (val.includes(",") || val.includes('"')) + ) { + return `"${val.replace(/"/g, '""')}"`; + } + return String(val); + }) + .join(","), + ); + + return [headers.join(","), ...csvRows].join("\n"); +} + +export function downloadCsv(content: string, filename: string) { + const blob = new Blob([content], { type: "text/csv;charset=utf-8;" }); + const url = URL.createObjectURL(blob); + const link = document.createElement("a"); + link.href = url; + link.download = filename; + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); + URL.revokeObjectURL(url); +} diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/feature-flags.ts b/apps/hash-frontend/src/pages/supply-chain/shared/feature-flags.ts new file mode 100644 index 00000000000..c5871509a63 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/feature-flags.ts @@ -0,0 +1,43 @@ +import { useSearchParams } from "./use-search-params"; + +/** + * Feature flags for the supply-chain views. + * + * A flag resolves from a query param so experimental views can be enabled or + * hidden per URL without changing the app-wide supply-chain feature flag. + */ + +function parseBoolish(value: string | null | undefined): boolean | null { + if (value == null) { + return null; + } + switch (value.trim().toLowerCase()) { + case "1": + case "true": + case "on": + case "yes": + return true; + case "0": + case "false": + case "off": + case "no": + return false; + default: + return null; + } +} + +/** + * Supplier Performance is an experimental view (dashboard card, tab + table, + * and vendor drill-down). It is hidden by default; enable it with + * `?supplierPerformance=1`. + */ +export function useSupplierPerformanceEnabled(): boolean { + const [searchParams] = useSearchParams(); + const fromQuery = parseBoolish(searchParams.get("supplierPerformance")); + if (fromQuery != null) { + return fromQuery; + } + + return false; +} diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/header-actions.tsx b/apps/hash-frontend/src/pages/supply-chain/shared/header-actions.tsx new file mode 100644 index 00000000000..a216071a72e --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/header-actions.tsx @@ -0,0 +1,287 @@ +import { NumberInput, Icon } from "@hashintel/ds-components"; +import { css, cx } from "@hashintel/ds-helpers/css"; + +import { DocsIconButton } from "./action-buttons"; +import { useCostParams, useOutlierSetting } from "./cost"; +import { useDocs } from "./docs/use-docs"; +import { + BASE_MEASURES, + MEASURE_LABELS, + useBaseMeasure, + type BaseMeasure, +} from "./measure-context"; +import { + PROCUREMENT_BASES, + PROCUREMENT_BASIS_LABELS, + useProcurementBasis, + type ProcurementBasis, +} from "./procurement-basis-context"; +import { SegmentedControl } from "./segmented-control"; +import { trackSupplyChainInteraction } from "./telemetry"; +import { TIME_RANGE_OPTIONS } from "./time-range"; +import { useTimeRange } from "./time-range-context"; + +import type { ReactNode } from "react"; + +const actionRow = css({ + display: "flex", + alignItems: "center", + gap: "1.5", + minH: "[30px]", +}); +const iconButton = css({ + display: "inline-flex", + alignItems: "center", + justifyContent: "center", + h: "7", + w: "7", + borderRadius: "md", + borderWidth: "1px", + borderStyle: "solid", + borderColor: "bd.subtle", + bg: "bgSolid.min", + color: "fg.subtle", + cursor: "pointer", + transition: "colors", + _hover: { color: "fg.heading", bg: "bg.subtle" }, +}); +const iconButtonActive = css({ color: "fg.heading", bg: "bg.subtle" }); +const settingsWrap = css({ + mt: "3", + borderTopWidth: "1px", + borderColor: "bd.subtle", + pt: "3", + display: "flex", + alignItems: "center", + justifyContent: "flex-end", + gap: "4", + "@media (max-width: 767px)": { + position: "fixed", + top: "0", + right: "0", + bottom: "0", + zIndex: "modal", + w: "[min(360px,92vw)]", + alignItems: "flex-start", + justifyContent: "flex-start", + flexDirection: "column", + bg: "bgSolid.min", + borderLeftWidth: "1px", + borderTopWidth: "0", + boxShadow: "2xl", + p: "4", + mt: "0", + overflowY: "auto", + }, +}); +const settingsTitleRow = css({ + textStyle: "base", + fontWeight: "semibold", + color: "fg.heading", + display: "none", + "@media (max-width: 767px)": { + display: "flex", + alignItems: "center", + justifyContent: "space-between", + gap: "3", + w: "full", + }, +}); +const sharedFields = css({ + display: "flex", + flexWrap: "wrap", + alignItems: "center", + justifyContent: "flex-end", + gap: "3", +}); +const fieldLabel = css({ + display: "flex", + alignItems: "center", + gap: "1.5", + textStyle: "xs", + color: "fg.subtle", + whiteSpace: "nowrap", +}); +const measureSelect = css({ + textStyle: "xs", + color: "fg.heading", + fontWeight: "medium", + bg: "bgSolid.min", + borderWidth: "1px", + borderStyle: "solid", + borderColor: "bd.subtle", + borderRadius: "sm", + px: "1.5", + py: "0.5", + cursor: "pointer", +}); +const extraFields = css({ + display: "flex", + flexWrap: "wrap", + alignItems: "center", + justifyContent: "flex-end", + gap: "3", +}); + +export const HeaderActionButtons = ({ + settingsOpen, + onSettingsToggle, + docContext, +}: { + settingsOpen: boolean; + onSettingsToggle: () => void; + /** Which docs section the help button opens, based on the host view. */ docContext: + | "site" + | "product"; +}) => { + const { openDocs } = useDocs(); + + return ( +
    + + { + trackSupplyChainInteraction({ + interaction: "docs_opened", + source: docContext === "site" ? "site_overview" : "product_page", + }); + openDocs( + docContext === "site" ? "site-overview" : "product-overview", + ); + }} + /> +
    + ); +}; + +export const AnalysisSettingsPanel = ({ + children, + onClose, + className, +}: { + children?: ReactNode; + onClose?: () => void; + className?: string; +}) => { + const { currency, waccRate, setWaccRate, storageCost, setStorageCost } = + useCostParams(); + const { excludeOutliers, setExcludeOutliers } = useOutlierSetting(); + const { measure, setMeasure } = useBaseMeasure(); + const { basis, setBasis } = useProcurementBasis(); + const { timeRange, setTimeRange } = useTimeRange(); + + return ( +
    +
    +

    Analysis settings

    + {onClose && ( + + )} +
    +
    + + WACC + { + if (value != null && value > 0 && value <= 50) { + setWaccRate(value / 100); + } + }} + aria-label="WACC percent" + /> + % + + + Storage + { + if (value != null && value > 0 && value <= 10) { + setStorageCost(value); + } + }} + aria-label="Storage cost per tonne per day" + /> + {currency}/t/d + + + + + + +
    + {children != null &&
    {children}
    } +
    + ); +}; diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/load-state.tsx b/apps/hash-frontend/src/pages/supply-chain/shared/load-state.tsx new file mode 100644 index 00000000000..f9222cbda58 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/load-state.tsx @@ -0,0 +1,45 @@ +import { LoadingSpinner } from "@hashintel/ds-components"; +import { css, cx } from "@hashintel/ds-helpers/css"; + +const center = css({ + display: "flex", + alignItems: "center", + justifyContent: "center", +}); +const loadingRow = css({ + display: "flex", + alignItems: "center", + gap: "2", + color: "fg.subtle", +}); +const loadingText = css({ textStyle: "sm", color: "fg.subtle" }); +const errorText = css({ textStyle: "sm", color: "status.error.fg.body" }); + +/** Centered, muted "loading…" message with a ds spinner. Size the area via `className` (e.g. `h-32`). */ +export const LoadingState = ({ + message, + className, +}: { + message: string; + className?: string; +}) => { + return ( +
    +
    + +

    {message}

    +
    +
    + ); +}; + +/** Inline error message. Pad/position via `className` (e.g. `px-6 py-4`). */ +export const ErrorState = ({ + message, + className, +}: { + message: string; + className?: string; +}) => { + return

    {message}

    ; +}; diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/low-sample-context.ts b/apps/hash-frontend/src/pages/supply-chain/shared/low-sample-context.ts new file mode 100644 index 00000000000..c97c2ea1c69 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/low-sample-context.ts @@ -0,0 +1,15 @@ +import { createContext, useContext } from "react"; + +interface LowSampleContextValue { + excludeLowSamples: boolean; + setExcludeLowSamples: (exclude: boolean) => void; +} + +export const LowSampleContext = createContext({ + excludeLowSamples: false, + setExcludeLowSamples: () => {}, +}); + +export function useLowSampleSetting() { + return useContext(LowSampleContext); +} diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/measure-context.test.ts b/apps/hash-frontend/src/pages/supply-chain/shared/measure-context.test.ts new file mode 100644 index 00000000000..5e95728753d --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/measure-context.test.ts @@ -0,0 +1,56 @@ +import { describe, expect, it } from "vitest"; + +import { selectStat, statOf } from "./measure-context"; +import { computeStats } from "./stats"; + +import type { StepStats } from "./types"; + +describe("selectStat", () => { + const stats: StepStats = { + n: 4, + mean: 12, + median: 11, + std: 1, + min: 10, + max: 14, + p25: 10.5, + p75: 12.5, + p85: 13, + p95: 13.8, + }; + + it("reads the requested measure off a stats block", () => { + expect(selectStat(stats, "median")).toBe(11); + expect(selectStat(stats, "mean")).toBe(12); + expect(selectStat(stats, "p75")).toBe(12.5); + expect(selectStat(stats, "p95")).toBe(13.8); + }); + + it("returns null for missing stats", () => { + expect(selectStat(null, "median")).toBeNull(); + expect(selectStat(undefined, "p95")).toBeNull(); + }); +}); + +describe("statOf", () => { + it("computes mean/median/p75/p95 from a raw value list", () => { + const values = [10, 20, 30]; + expect(statOf(values, "mean")).toBeCloseTo(20, 6); + expect(statOf(values, "median")).toBeCloseTo(20, 6); + expect(statOf(values, "p75")).toBeCloseTo(25, 6); + expect(statOf(values, "p95")).toBeCloseTo(29, 6); + }); + + it("matches computeStats (modulo rounding) for the median", () => { + const values = [4, 8, 15, 16, 23, 42]; + expect(statOf(values, "median")).toBeCloseTo( + computeStats(values).median ?? 0, + 5, + ); + }); + + it("returns null on an empty list", () => { + expect(statOf([], "median")).toBeNull(); + expect(statOf([], "p95")).toBeNull(); + }); +}); diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/measure-context.ts b/apps/hash-frontend/src/pages/supply-chain/shared/measure-context.ts new file mode 100644 index 00000000000..6ddc3a8f95a --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/measure-context.ts @@ -0,0 +1,88 @@ +import { createContext, useContext } from "react"; + +import { percentileOf } from "./stats"; + +import type { StepStats } from "./types"; + +/** + * The base statistic used as the "headline" timing measure across the app: + * product step-card headline + over/under badge, site planning deviation / + * bad-param count / planning + dwell "Observed" columns, and timing trends. + * + * Maps 1:1 to `StepStats` keys. Defaults to `median`. Does NOT affect the mini + * box-plot (shows mean+median) or the named stat tables in the slideover, which + * always show explicit stats. + */ +export type BaseMeasure = "median" | "mean" | "p75" | "p95"; + +export const BASE_MEASURES: readonly BaseMeasure[] = [ + "median", + "mean", + "p75", + "p95", +]; + +/** Short label for the toolbar control + tooltips. */ +export const MEASURE_LABELS: Record = { + median: "Median", + mean: "Mean", + p75: "P75", + p95: "P95", +}; + +interface MeasureCtx { + measure: BaseMeasure; + setMeasure: (measure: BaseMeasure) => void; +} + +export const MeasureContext = createContext({ + measure: "median", + setMeasure: () => {}, +}); + +export function useBaseMeasure() { + return useContext(MeasureContext); +} + +/** The percentile (0..100) for a percentile-style measure, else null. */ +function measurePercentile(measure: BaseMeasure): number | null { + switch (measure) { + case "p75": + return 75; + case "p95": + return 95; + default: + return null; + } +} + +/** Read the selected measure off a precomputed `StepStats` block. */ +export function selectStat( + stats: StepStats | null | undefined, + measure: BaseMeasure, +): number | null { + if (!stats) { + return null; + } + return stats[measure] ?? null; +} + +/** + * Compute the selected measure directly from a raw value list. Mirrors the + * rounding/interpolation in `computeStats` so the result matches the + * `StepStats` field for the same values. Returns null for an empty list. + */ +export function statOf(values: number[], measure: BaseMeasure): number | null { + if (values.length === 0) { + return null; + } + if (measure === "mean") { + return values.reduce((left, right) => left + right, 0) / values.length; + } + const sorted = [...values].sort((left, right) => left - right); + const percentileRank = measurePercentile(measure); + if (percentileRank != null) { + return percentileOf(sorted, percentileRank); + } + return percentileOf(sorted, 50); +} diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/node-badges.test.ts b/apps/hash-frontend/src/pages/supply-chain/shared/node-badges.test.ts new file mode 100644 index 00000000000..f77d859aad5 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/node-badges.test.ts @@ -0,0 +1,74 @@ +import { describe, expect, it } from "vitest"; + +import { makeNode, obs } from "./observation-fixtures"; +import { applyOutlierSelectionToNode } from "./outlier-selection"; +import { windowGraphNodeToRange } from "./range-filter"; + +import type { NodeYieldSeries, NodeConsumptionSeries } from "./types"; + +const yieldSeries: NodeYieldSeries = { + reference: 95, + observations: [ + obs("2026-01", 90), + obs("2026-02", 92), + obs("2026-03", 95), + obs("2026-04", 93), + ], +}; + +const consumptionSeries: NodeConsumptionSeries = { + n_components: 2, + observations: [ + { ...obs("2026-01", 4), actual_qty: 104, expected_qty: 100 }, + { ...obs("2026-02", 6), actual_qty: 106, expected_qty: 100 }, + { ...obs("2026-03", 2), actual_qty: 102, expected_qty: 100 }, + ], +}; + +describe("node R:/C: badge recompute from shipped series", () => { + it("recomputes yield_summary from the windowed series", () => { + const node = makeNode({ type: "production", yield_series: yieldSeries }); + const windowed = windowGraphNodeToRange(node, "12m"); + expect(windowed.yield_summary?.median).toBeCloseTo(92.5, 6); + expect(windowed.yield_summary?.reference).toBe(95); + expect(windowed.yield_summary?.n).toBe(4); + }); + + it("recomputes consumption_summary (incl. weighted variance) from the windowed series", () => { + const node = makeNode({ + type: "production", + consumption_series: consumptionSeries, + }); + const windowed = windowGraphNodeToRange(node, "12m"); + expect(windowed.consumption_summary?.median_variance).toBeCloseTo(4, 6); + expect(windowed.consumption_summary?.n_components).toBe(2); + // weighted = (sum actual - sum expected)/sum expected = (312-300)/300 = 4% + expect(windowed.consumption_summary?.weighted_variance).toBeCloseTo(4, 6); + }); + + it("leaves the shipped summary untouched when no series is present", () => { + const node = makeNode({ + type: "production", + yield_summary: { median: 88, mean: 88, reference: 95, n: 3 }, + }); + const windowed = windowGraphNodeToRange(node, "12m"); + expect(windowed.yield_summary?.median).toBe(88); + }); + + it("drops outliers from the yield series under the outlier rule", () => { + const withOutlier: NodeYieldSeries = { + reference: 95, + observations: [...yieldSeries.observations, obs("2026-05", 5)], + }; + const node = makeNode({ type: "production", yield_series: withOutlier }); + const selected = applyOutlierSelectionToNode(node, true); + // The 5% point is far below the others' IQR fence and is dropped. + expect( + selected.yield_series?.observations.some( + (observation) => observation.value === 5, + ), + ).toBe(false); + const windowed = windowGraphNodeToRange(selected, "12m"); + expect(windowed.yield_summary?.n).toBe(4); + }); +}); diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/normalize-contract.ts b/apps/hash-frontend/src/pages/supply-chain/shared/normalize-contract.ts new file mode 100644 index 00000000000..11ae6ee550e --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/normalize-contract.ts @@ -0,0 +1,331 @@ +import { + deriveProcurementTimingFromRows, + isProcurementNodeObservation, + procurementNodeObservationsForBasis, +} from "./procurement-observations"; +import { computeStats, percentileOf, round } from "./stats"; + +import type { + GraphData, + GraphNode, + StepDetail, + StepDetailWire, + Observation, + StepStats, + MonthlyBucket, + ProcurementNodeObservation, +} from "./types"; + +/** + * Load-time contract normalization. + * + * The wire ships a slim payload: a single canonical observation series per + * family, with the `stats` block and per-month timing left off (a fixed + * mean/median/p95 can't respect the client's window/outlier toggles, which + * recompute on every change). These helpers refill `stats`/`monthly` from + * `observations` on load so downstream read sites can treat them as always + * present. + */ + +function hasStats(step: StepStats | null | undefined): step is StepStats { + return !!step && typeof step.n === "number"; +} + +function statsFromObservations( + obs: Observation[] | undefined | null, +): StepStats { + return computeStats((obs ?? []).map((observation) => observation.value)); +} + +function pctExceeding( + obs: Observation[] | undefined | null, + threshold: number | null | undefined, +): number | null { + if (threshold == null) { + return null; + } + const values = (obs ?? []).map((observation) => observation.value); + if (values.length === 0) { + return null; + } + return round( + (100 * values.filter((value) => value > threshold).length) / values.length, + ); +} + +/** A series block shaped like `yield_data` / a consumption component / aggregate. */ +interface SeriesLike { + observations?: Observation[]; + stats?: StepStats; +} + +function ensureSeriesStats( + series: T | null | undefined, +): T | null | undefined { + if (!series || hasStats(series.stats)) { + return series; + } + return { ...series, stats: statsFromObservations(series.observations) }; +} + +/** + * Rebuild a secondary {@link TimingSeries}' `monthly`/`stats` from its + * `observations` when absent. The wire ships these series observations-only; + * precomputed monthly/stats can't respect the window/outlier toggles, so the + * client always derives them. No-op when both are already present. + */ + +/** Group an observation set into per-month timing buckets (records-derive). */ +function buildMonthlyFromObservations(obs: Observation[]): MonthlyBucket[] { + const byMonth = new Map(); + for (const observation of obs) { + const month = observation.date.slice(0, 7); + const arr = byMonth.get(month); + if (arr) { + arr.push(observation.value); + } else { + byMonth.set(month, [observation.value]); + } + } + return [...byMonth.keys()].sort().map((month) => { + const sorted = [...(byMonth.get(month) ?? [])].sort( + (left, right) => left - right, + ); + return { + month, + mean: round( + sorted.reduce((left, right) => left + right, 0) / sorted.length, + ), + median: round(percentileOf(sorted, 50)), + n: sorted.length, + }; + }); +} + +/** + * Single-source records derive. When a step ships only the canonical + * `detail_rows` (+ `value_col`/`ref_date_col`) and no precomputed timing series, + * rehydrate observations/durations/monthly/stats from the rows. A strict no-op + * whenever `observations` are already present. + */ function ensureTimingSeriesStats< + T extends { + observations?: Observation[]; + monthly?: MonthlyBucket[]; + stats?: StepStats | null; + }, +>(ts: T | null | undefined): T | null | undefined { + if (!ts) { + return ts; + } + if (ts.monthly && ts.monthly.length > 0 && hasStats(ts.stats)) { + return ts; + } + const obs = ts.observations ?? []; + return { + ...ts, + monthly: buildMonthlyFromObservations(obs), + stats: computeStats(obs.map((observation) => observation.value)), + }; +} +function normalizeProcurementNode(node: GraphNode): GraphNode { + if (node.type !== "procurement") { + return node; + } + const raw = + node.procurement_observations ?? + ((node.observations as unknown[] | undefined)?.every( + isProcurementNodeObservation, + ) + ? (node.observations as unknown as ProcurementNodeObservation[]) + : undefined); + if (!raw || raw.length === 0) { + return node; + } + const observations = procurementNodeObservationsForBasis(raw, "first"); + return { + ...node, + procurement_observations: raw, + observations, + monthly: buildMonthlyFromObservations(observations), + }; +} +/** Fill a graph node's `stats` from its observations when absent. */ export function ensureNodeStats( + node: GraphNode, +): GraphNode { + const normalized = normalizeProcurementNode(node); + const observations = normalized.observations ?? []; + const withMonthly = + normalized.monthly && normalized.monthly.length > 0 + ? normalized + : { ...normalized, monthly: buildMonthlyFromObservations(observations) }; + const base = hasStats(withMonthly.stats) + ? withMonthly + : { ...withMonthly, stats: statsFromObservations(observations) }; + return { + ...base, + pct_exceeding_plan: pctExceeding(base.observations, base.plan), + }; +} +/** Normalize every node in a product graph (+ default the client-derived pipeline_summary). */ export function ensureGraphStats( + graph: GraphData, +): GraphData { + return { + ...graph, + pipeline_summary: graph.pipeline_summary, + nodes: graph.nodes.map(ensureNodeStats), + }; +} +/** + * Fill per-month timing percentiles from observations onto existing monthly + * buckets, preserving every other column (notably the carrying-cost + * `total_kg_days`). Dwell steps ship slimmed buckets ({month, n, total_kg_days}) + * and rely on this to rebuild the timing percentiles on load. Buckets with no + * matching observations (e.g. dwell carry-over months) are left untouched. + * When there are no buckets at all, falls back to building them from scratch. + */ function fillMonthlyTiming( + monthly: MonthlyBucket[] | undefined, + obs: Observation[], +): MonthlyBucket[] { + if (!monthly || monthly.length === 0) { + return buildMonthlyFromObservations(obs); + } + const byMonth = new Map(); + for (const observation of obs) { + const month = observation.date.slice(0, 7); + const arr = byMonth.get(month); + if (arr) { + arr.push(observation.value); + } else { + byMonth.set(month, [observation.value]); + } + } + return monthly.map((bucket) => { + const vals = byMonth.get(bucket.month); + if (!vals || vals.length === 0) { + return bucket; + } + const sorted = [...vals].sort((left, right) => left - right); + return { + ...bucket, + mean: round( + sorted.reduce((left, right) => left + right, 0) / sorted.length, + ), + median: round(percentileOf(sorted, 50)), + }; + }); +} + +export function deriveTimingFromRecords(step: StepDetail): StepDetail; +export function deriveTimingFromRecords(step: StepDetailWire): StepDetailWire; +export function deriveTimingFromRecords(step: StepDetailWire): StepDetailWire { + const existingObservations = step.observations ?? []; + if (existingObservations.length > 0) { + return step; + } + const valueCol = step.value_col; + const dateCol = step.ref_date_col; + const rows = step.detail_rows?.rows; + if (!valueCol || !dateCol || !rows || rows.length === 0) { + return step; + } + if (step.type === "procurement") { + const derived = deriveProcurementTimingFromRows(rows); + if (derived) { + const values = derived.first.map((observation) => observation.value); + const completeValues = derived.complete.map( + (observation) => observation.value, + ); + return { + ...step, + observations: derived.first, + durations: values, + monthly: buildMonthlyFromObservations(derived.first), + stats: computeStats(values), + complete_timing: { + label: "Full receipt", + observations: derived.complete, + monthly: buildMonthlyFromObservations(derived.complete), + stats: computeStats(completeValues), + }, + }; + } + } + + const obs: Observation[] = []; + for (const row of rows) { + const day = row[dateCol]; + const value = row[valueCol]; + if (typeof value === "number" && typeof day === "string") { + obs.push({ date: day, value }); + } + } + if (obs.length === 0) { + return step; + } + obs.sort((left, right) => + left.date < right.date ? -1 : left.date > right.date ? 1 : 0, + ); + const values = obs.map((observation) => observation.value); + return { + ...step, + observations: obs, + durations: values, + monthly: buildMonthlyFromObservations(obs), + stats: computeStats(values), + }; +} + +/** + * Fill a step's timing + yield/consumption `stats` from observations when + * absent, and guarantee the post-load timing invariant. The wire ships only the + * records-derivable fields (dwell steps keep observations + monthly for + * total_kg_days; pure-timing steps ship neither and rely on + * {@link deriveTimingFromRecords}); `durations` is never shipped. This restores + * `observations`/`durations`/`monthly`/`stats` so every downstream consumer can + * keep reading them directly. + */ +export function ensureStepStats(step: StepDetailWire): StepDetail { + const derived = deriveTimingFromRecords(step); + const observations: Observation[] = derived.observations ?? []; + const durations: number[] = + derived.durations ?? observations.map((observation) => observation.value); + const base = { + ...derived, + observations, + durations, + monthly: fillMonthlyTiming(derived.monthly, observations), + }; + const next: StepDetail = hasStats(base.stats) + ? { + ...base, + stats: base.stats, + pct_exceeding_plan: pctExceeding(base.observations, base.plan), + } + : { + ...base, + stats: statsFromObservations(base.observations), + pct_exceeding_plan: pctExceeding(base.observations, base.plan), + }; + + if (next.yield_data) { + next.yield_data = ensureSeriesStats(next.yield_data) ?? next.yield_data; + } + if (next.consumption_data) { + const agg = + ensureSeriesStats(next.consumption_data.aggregate) ?? + next.consumption_data.aggregate; + const components = next.consumption_data.components.map( + (column) => ensureSeriesStats(column) ?? column, + ); + next.consumption_data = { + ...next.consumption_data, + aggregate: agg, + components, + }; + } + if (next.complete_timing) { + next.complete_timing = + ensureTimingSeriesStats(next.complete_timing) ?? next.complete_timing; + } + return next; +} diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/observation-fixtures.ts b/apps/hash-frontend/src/pages/supply-chain/shared/observation-fixtures.ts new file mode 100644 index 00000000000..9d523844a4b --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/observation-fixtures.ts @@ -0,0 +1,98 @@ +import { computeStats } from "./stats"; + +import type { + GraphNode, + MonthlyBucket, + Observation, + StepDetail, + StepStats, + TimingSeries, +} from "./types"; + +/** Shared fixtures for the stats / outlier-selection / range-filter tests. */ + +export const emptyStats: StepStats = { + n: 0, + mean: 0, + median: 0, + std: 0, + min: 0, + max: 0, + p25: 0, + p75: 0, + p85: 0, + p95: 0, +}; + +export function obs(month: string, value: number): Observation { + return { date: `${month}-15`, value }; +} + +export function bucket(month: string): MonthlyBucket { + return { month, mean: null, median: null, n: 1 }; +} + +export function stepFrom(observations: Observation[]): StepDetail { + const months = [ + ...new Set(observations.map((observation) => observation.date.slice(0, 7))), + ].sort(); + const values = observations.map((observation) => observation.value); + return { + id: "s1", + label: "Step", + type: "transit", + durations: values, + observations, + monthly: months.map(bucket), + stats: computeStats(values), + plan: null, + plan_note: null, + pct_exceeding_plan: null, + cost: null, + }; +} + +export function timingSeriesFrom( + observations: Observation[], + label = "Full receipt (PO complete)", +): TimingSeries { + const months = [ + ...new Set(observations.map((observation) => observation.date.slice(0, 7))), + ].sort(); + return { + label, + observations, + monthly: months.map(bucket), + stats: computeStats(observations.map((observation) => observation.value)), + }; +} + +export function makeNode(overrides: Partial = {}): GraphNode { + return { + id: "n1", + label: "Node", + type: "intermediate_dwell", + material: null, + plant: "PL-A", + stats: emptyStats, + plan: null, + plan_note: null, + pct_exceeding_plan: null, + cost: null, + observations: [ + obs("2026-01", 10), + obs("2026-02", 12), + obs("2026-03", 11), + obs("2026-04", 13), + ], + + monthly: [ + bucket("2026-01"), + bucket("2026-02"), + bucket("2026-03"), + bucket("2026-04"), + ], + + ...overrides, + }; +} diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/observation-labels.ts b/apps/hash-frontend/src/pages/supply-chain/shared/observation-labels.ts new file mode 100644 index 00000000000..8e10e990f10 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/observation-labels.ts @@ -0,0 +1,137 @@ +import type { StepType } from "./types"; + +export type CountDimension = "timing" | "yield" | "consumption" | "supplier"; + +interface CountContext { + id?: string; + label?: string; + type: StepType; + dimension?: CountDimension; + selectedComponent?: boolean; +} + +interface CountTooltipContext extends CountContext { + count: number; + rangeLabel?: string | null; + nBatches?: number | null; + nMovements?: number | null; +} + +function isDirectShip(ctx: Pick): boolean { + return Boolean( + (ctx.id?.startsWith("direct_ship_") ?? false) || + ctx.label?.toLowerCase().includes("direct-to-customer"), + ); +} + +export function countNoun(ctx: CountContext): string { + if (ctx.dimension === "yield") { + return "production orders"; + } + if (ctx.dimension === "consumption") { + return ctx.selectedComponent ? "component events" : "consumption events"; + } + if (ctx.dimension === "supplier") { + return "schedule lines"; + } + return "events"; +} + +export function shortCountLabel(count: number, ctx: CountContext): string { + return `${count} ${countNoun(ctx)}`; +} + +export function rangeLabel(value?: string | null): string { + if (!value || value === "all") { + return "all time"; + } + if (value === "3m") { + return "the last 3 months"; + } + if (value === "6m") { + return "the last 6 months"; + } + if (value === "12m" || value === "1y") { + return "the last 12 months"; + } + if (value === "2y") { + return "the last 2 years"; + } + return value; +} + +export function dateAnchorLabel(ctx: CountContext): string { + if (ctx.dimension === "yield") { + return "production receipt date"; + } + if (ctx.dimension === "consumption") { + return "consumption posting date"; + } + if (isDirectShip(ctx)) { + return "actual arrival date"; + } + + switch (ctx.type) { + case "procurement": + return "first goods receipt date"; + case "raw_material_dwell": + case "intermediate_dwell": + return "consumption date"; + case "production": + return "schedule start"; + case "qa_hold": + return "production receipt date"; + case "post_qa_ship": + return "QA release date"; + case "transit": + return "hub receipt date"; + case "destination_dwell": + return "hub outbound date"; + default: + return "event date"; + } +} + +function eventMethodology(ctx: CountContext): string { + if (ctx.dimension === "yield") { + return "each production order contributes one receipt-ratio event."; + } + if (ctx.dimension === "consumption") { + return ctx.selectedComponent + ? "each component consumption posting contributes one variance event." + : "component consumption postings are aggregated into consumption events."; + } + if (isDirectShip(ctx)) { + return "each customer delivery contributes one direct-ship event (per delivery, per batch)."; + } + + switch (ctx.type) { + case "procurement": + return "each matched PO goods receipt contributes one lead-time event."; + case "raw_material_dwell": + case "intermediate_dwell": + return "each consumption tranche / goods issue is counted separately."; + case "production": + return "each production schedule campaign contributes one duration event."; + case "qa_hold": + return "each finished-good batch contributes one QA-hold event."; + case "post_qa_ship": + return "each dispatch (customer delivery or hub transfer) contributes one post-QA dwell event."; + case "transit": + return "each hub arrival contributes one transit event."; + case "destination_dwell": + return "each hub dispatch contributes one destination-dwell event."; + default: + return "each source event contributes one timing event."; + } +} + +export function countTooltip(ctx: CountTooltipContext): string { + const label = shortCountLabel(ctx.count, ctx); + const period = rangeLabel(ctx.rangeLabel); + const base = `${label} in ${period}. Filtered by ${dateAnchorLabel(ctx)}; ${eventMethodology(ctx)}`; + if (ctx.nBatches != null && ctx.nMovements != null) { + return `${base} All-time source coverage: ${ctx.nBatches} batches, ${ctx.nMovements} movements.`; + } + return base; +} diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/outlier-selection.test.ts b/apps/hash-frontend/src/pages/supply-chain/shared/outlier-selection.test.ts new file mode 100644 index 00000000000..4ec3447672c --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/outlier-selection.test.ts @@ -0,0 +1,121 @@ +import { describe, expect, it } from "vitest"; + +import { + makeNode, + obs, + stepFrom, + timingSeriesFrom, +} from "./observation-fixtures"; +import { + applyOutlierSelectionToNode, + applyOutlierSelectionToStep, +} from "./outlier-selection"; + +// Characterization tests for the client-side Tukey 1.5x IQR outlier rule. +// Behaviour pinned here MUST survive the contract refactor (the selected-view +// semantics stay even as the duplicated outlier paths were collapsed). + +describe("applyOutlierSelectionToStep", () => { + // One clear high outlier (100) far beyond the Tukey upper fence. + const withOutlier = () => + stepFrom([ + obs("2026-01", 10), + obs("2026-01", 11), + obs("2026-02", 12), + obs("2026-02", 13), + obs("2026-03", 14), + obs("2026-03", 15), + obs("2026-04", 16), + obs("2026-04", 17), + obs("2026-04", 100), + ]); + + it("drops out-of-fence points and recomputes stats when excluding outliers", () => { + const selected = applyOutlierSelectionToStep(withOutlier(), true); + expect(selected.durations).toEqual([10, 11, 12, 13, 14, 15, 16, 17]); + expect(selected.stats.n).toBe(8); + expect(selected.excluded_count).toBe(1); + expect(selected.excluded_pct).toBeCloseTo(100 / 9, 1); + }); + + it("returns the full series unchanged when including outliers", () => { + const selected = applyOutlierSelectionToStep(withOutlier(), false); + expect(selected.stats.n).toBe(9); + expect(selected.excluded_count).toBe(0); + expect(selected.excluded_pct).toBe(0); + }); + + it("excludes nothing for a tight distribution", () => { + const selected = applyOutlierSelectionToStep( + stepFrom([ + obs("2026-01", 10), + obs("2026-02", 12), + obs("2026-03", 11), + obs("2026-04", 13), + ]), + true, + ); + expect(selected.stats.n).toBe(4); + expect(selected.excluded_count).toBe(0); + }); + + it("outlier-filters the secondary complete_timing series independently of the headline", () => { + const step = stepFrom([ + obs("2026-01", 10), + obs("2026-02", 12), + obs("2026-03", 11), + obs("2026-04", 13), + ]); + // Headline is tight; the secondary series carries one clear high outlier. + step.complete_timing = timingSeriesFrom([ + obs("2026-01", 20), + obs("2026-01", 21), + obs("2026-02", 22), + obs("2026-02", 23), + obs("2026-03", 24), + obs("2026-03", 25), + obs("2026-04", 26), + obs("2026-04", 27), + obs("2026-04", 200), + ]); + const selected = applyOutlierSelectionToStep(step, true); + // Headline untouched, secondary loses its outlier. + expect(selected.stats.n).toBe(4); + expect(selected.excluded_count).toBe(0); + expect(selected.complete_timing?.stats.n).toBe(8); + expect( + selected.complete_timing?.observations.map( + (observation) => observation.value, + ), + ).not.toContain(200); + }); + + it("leaves complete_timing untouched when including outliers", () => { + const step = stepFrom([obs("2026-01", 10), obs("2026-02", 12)]); + step.complete_timing = timingSeriesFrom([ + obs("2026-01", 20), + obs("2026-02", 200), + ]); + const selected = applyOutlierSelectionToStep(step, false); + expect(selected.complete_timing?.stats.n).toBe(2); + }); +}); + +describe("applyOutlierSelectionToNode", () => { + // Shipped v1 data carries a single base series (no raw_*/filtered_*), so today + // both toggle states return the base series untouched. The fixture uses a tight + // distribution so this invariant also holds once Tukey IQR filtering lands. + it("returns the base series when including outliers", () => { + const out = applyOutlierSelectionToNode(makeNode(), false); + expect(out.observations?.map((observation) => observation.value)).toEqual([ + 10, 12, 11, 13, + ]); + }); + + it("returns the base series when excluding outliers and none lie beyond the fences", () => { + const out = applyOutlierSelectionToNode(makeNode(), true); + expect(out.observations?.map((observation) => observation.value)).toEqual([ + 10, 12, 11, 13, + ]); + }); +}); diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/outlier-selection.ts b/apps/hash-frontend/src/pages/supply-chain/shared/outlier-selection.ts new file mode 100644 index 00000000000..84f6d2f3e49 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/outlier-selection.ts @@ -0,0 +1,257 @@ +import { computeIqrFences, partitionByFences } from "./outlier-selection/iqr"; +import { computeStats, percentileOf, round } from "./stats"; + +import type { + GraphNode, + StepDetail, + Observation, + MonthlyBucket, + StepStats, + YieldData, + ConsumptionData, + ComponentConsumption, + TimingSeries, +} from "./types"; + +/** + * Apply the client-side Tukey 1.5x IQR outlier rule to a graph node. + * + * When `excludeOutliers` is true, fences are computed from the shipped + * `observations`, out-of-bound points are dropped, and `stats`/`monthly` are + * recomputed from the kept series (cost columns on each monthly bucket are + * preserved -- inventory kg-days are independent of duration outliers). + * `excluded_count`/`excluded_pct` describe the full-series exclusion. When + * false (or with too few points), the base series is returned unchanged. + */ + +/** + * Recompute per-month timing values (mean/median/n) from a kept observation set, + * preserving each bucket's non-timing columns (kg-days, qty, variance). Months + * with no kept observations keep their bucket with null timing and `n = 0`. + */ +function rebuildMonthlyTiming( + original: MonthlyBucket[], + keptObs: Observation[], +): MonthlyBucket[] { + if (original.length === 0) { + return original; + } + const byMonth = new Map(); + for (const observation of keptObs) { + const month = observation.date.slice(0, 7); + const arr = byMonth.get(month); + if (arr) { + arr.push(observation.value); + } else { + byMonth.set(month, [observation.value]); + } + } + return original.map((bucket) => { + const vals = byMonth.get(bucket.month); + if (!vals || vals.length === 0) { + return { ...bucket, mean: null, median: null, n: 0 }; + } + const sorted = [...vals].sort((left, right) => left - right); + return { + ...bucket, + mean: round( + sorted.reduce((left, right) => left + right, 0) / sorted.length, + ), + median: round(percentileOf(sorted, 50)), + n: sorted.length, + }; + }); +} + +/** Drop Tukey-IQR outliers from a bare observation array (over its own values). */ function outlierFilterObservations( + obs: Observation[], +): Observation[] { + if (obs.length === 0) { + return obs; + } + const { kept } = partitionByFences( + obs, + computeIqrFences(obs.map((observation) => observation.value)), + ); + return kept; +} +/** + * A series shaped like the per-family blocks shipped on a step + * (`yield_data`, `consumption_data.aggregate`, each consumption component): + * a raw observation series plus the precomputed views derived from it. + */ export function applyOutlierSelectionToNode( + node: GraphNode, + excludeOutliers: boolean, +): GraphNode { + if (!excludeOutliers) { + return { ...node, excluded_count: 0, excluded_pct: 0 }; + } // Timing series (durations). Does not short-circuit the per-observation + // yield/consumption series passes below (a node may have no timing outliers + // but still carry yield/consumption outliers, or vice versa). + const observations = node.observations ?? []; + let timing: Partial = {}; + let excludedCount = 0; + if (observations.length > 0) { + const { kept, excluded } = partitionByFences( + observations, + computeIqrFences(observations.map((observation) => observation.value)), + ); + if (excluded.length > 0) { + timing = { + stats: computeStats(kept.map((observation) => observation.value)), + observations: kept, + monthly: node.monthly + ? rebuildMonthlyTiming(node.monthly, kept) + : node.monthly, + }; + excludedCount = excluded.length; + } + } + return { + ...node, + ...timing, + yield_series: node.yield_series + ? { + ...node.yield_series, + observations: outlierFilterObservations( + node.yield_series.observations, + ), + } + : node.yield_series, + consumption_series: node.consumption_series + ? { + ...node.consumption_series, + observations: outlierFilterObservations( + node.consumption_series.observations, + ), + } + : node.consumption_series, + excluded_count: excludedCount, + excluded_pct: + observations.length > 0 + ? round((100 * excludedCount) / observations.length) + : 0, + }; +} +interface SeriesLike { + values: number[]; + observations: Observation[]; + monthly: MonthlyBucket[]; + stats: StepStats; +} +/** + * Drop Tukey-IQR outliers from one family series (computed over its own value + * distribution) and recompute `values`/`stats`/`monthly` from the kept points. + * Returns the series unchanged when there is nothing to exclude. Non-timing + * monthly columns (kg-days, qty, variance) are preserved via the spread in + * {@link rebuildMonthlyTiming}. + */ function applyOutlierToSeries(series: T): T { + const observations = series.observations; + if (observations.length === 0) { + return series; + } + const { kept, excluded } = partitionByFences( + observations, + computeIqrFences(observations.map((observation) => observation.value)), + ); + if (excluded.length === 0) { + return series; + } + const values = kept.map((observation) => observation.value); + return { + ...series, + values, + observations: kept, + monthly: rebuildMonthlyTiming(series.monthly, kept), + stats: computeStats(values), + }; +} +/** Outlier-filter the yield series (receipt-ratio %) in place of its raw points. */ function applyOutlierToYield( + yd: YieldData, +): YieldData { + return applyOutlierToSeries(yd); +} +/** + * Outlier-filter the consumption block: each component series and the aggregate + * series are partitioned independently. Downstream windowing recomputes the + * aggregate `weighted_variance_pct` from whatever observations remain, so + * dropping outlier points here makes that window-aware metric outlier-aware too. + */ function applyOutlierToConsumption(cd: ConsumptionData): ConsumptionData { + const components = cd.components.map((column) => + applyOutlierToSeries(column), + ); + const aggregate = applyOutlierToSeries(cd.aggregate); + return { ...cd, components, aggregate }; +} +/** + * Outlier-filter a secondary {@link TimingSeries} (e.g. procurement's + * full-receipt lead time) over its own value distribution, recomputing + * `monthly`/`stats` from the kept points. Returned unchanged when there is + * nothing to exclude. Independent of the headline series so the two can have + * different fences. + */ function applyOutlierToTimingSeries(ts: TimingSeries): TimingSeries { + const observations = ts.observations; + if (observations.length === 0) { + return ts; + } + const { kept, excluded } = partitionByFences( + observations, + computeIqrFences(observations.map((observation) => observation.value)), + ); + if (excluded.length === 0) { + return ts; + } + return { + ...ts, + observations: kept, + monthly: rebuildMonthlyTiming(ts.monthly, kept), + stats: computeStats(kept.map((observation) => observation.value)), + }; +} +/** Step-level counterpart of {@link applyOutlierSelectionToNode}. */ export function applyOutlierSelectionToStep( + step: StepDetail, + excludeOutliers: boolean, +): StepDetail { + if (!excludeOutliers) { + return { ...step, excluded_count: 0, excluded_pct: 0 }; + } // Timing series (durations). May have nothing to exclude even when the + // yield/consumption families do, so the per-family passes below run + // independently of this one. + const observations = step.observations; + let timing: Partial = {}; + let excludedCount = 0; + if (observations.length > 0) { + const { kept, excluded } = partitionByFences( + observations, + computeIqrFences(observations.map((observation) => observation.value)), + ); + if (excluded.length > 0) { + const values = kept.map((observation) => observation.value); + timing = { + durations: values, + observations: kept, + monthly: rebuildMonthlyTiming(step.monthly, kept), + stats: computeStats(values), + }; + excludedCount = excluded.length; + } + } + return { + ...step, + ...timing, + yield_data: step.yield_data + ? applyOutlierToYield(step.yield_data) + : step.yield_data, + consumption_data: step.consumption_data + ? applyOutlierToConsumption(step.consumption_data) + : step.consumption_data, + complete_timing: step.complete_timing + ? applyOutlierToTimingSeries(step.complete_timing) + : step.complete_timing, + excluded_count: excludedCount, + excluded_pct: + observations.length > 0 + ? round((100 * excludedCount) / observations.length) + : 0, + }; +} diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/outlier-selection/iqr.test.ts b/apps/hash-frontend/src/pages/supply-chain/shared/outlier-selection/iqr.test.ts new file mode 100644 index 00000000000..9064d80b23f --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/outlier-selection/iqr.test.ts @@ -0,0 +1,61 @@ +import { describe, expect, it } from "vitest"; + +import { IQR_K, computeIqrFences, partitionByFences } from "./iqr"; + +import type { Observation } from "../types"; + +function obs(value: number): Observation { + return { date: "2026-01-15", value }; +} + +describe("computeIqrFences", () => { + it("computes Tukey 1.5x fences from quartiles", () => { + // [10..17, 100]: Q1=12, Q3=16, IQR=4 -> [12 - 6, 16 + 6] = [6, 22] + const fences = computeIqrFences([10, 11, 12, 13, 14, 15, 16, 17, 100]); + expect(fences).not.toBeNull(); + expect(fences!.lower).toBeCloseTo(6, 6); + expect(fences!.upper).toBeCloseTo(22, 6); + }); + + it("honours a custom k multiplier", () => { + const fences = computeIqrFences([10, 11, 12, 13, 14, 15, 16, 17, 100], 3); + // IQR=4 -> [12 - 12, 16 + 12] = [0, 28] + expect(fences!.lower).toBeCloseTo(0, 6); + expect(fences!.upper).toBeCloseTo(28, 6); + }); + + it("returns null for fewer than 4 points", () => { + expect(computeIqrFences([1, 2, 3])).toBeNull(); + expect(IQR_K).toBe(1.5); + }); +}); + +describe("partitionByFences", () => { + it("splits observations on the fences", () => { + const fences = computeIqrFences([10, 11, 12, 13, 14, 15, 16, 17, 100]); + const { kept, excluded } = partitionByFences( + [10, 11, 12, 13, 14, 15, 16, 17, 100].map(obs), + fences, + ); + expect(kept.map((observation) => observation.value)).toEqual([ + 10, 11, 12, 13, 14, 15, 16, 17, + ]); + expect(excluded.map((observation) => observation.value)).toEqual([100]); + }); + + it("keeps everything for a tight distribution (no points beyond fences)", () => { + const values = [10, 11, 12, 13]; + const { kept, excluded } = partitionByFences( + values.map(obs), + computeIqrFences(values), + ); + expect(kept).toHaveLength(4); + expect(excluded).toHaveLength(0); + }); + + it("keeps everything when fences are null", () => { + const { kept, excluded } = partitionByFences([obs(1), obs(2)], null); + expect(kept).toHaveLength(2); + expect(excluded).toHaveLength(0); + }); +}); diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/outlier-selection/iqr.ts b/apps/hash-frontend/src/pages/supply-chain/shared/outlier-selection/iqr.ts new file mode 100644 index 00000000000..fd6e41c781e --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/outlier-selection/iqr.ts @@ -0,0 +1,73 @@ +import type { Observation } from "../types"; + +/** Tukey fence multiplier for the standard 1.5x IQR outlier rule. */ +export const IQR_K = 1.5; + +export interface IqrFences { + lower: number; + upper: number; +} + +function percentile(sorted: number[], percentileRank: number): number { + if (sorted.length === 0) { + throw new Error("Cannot compute a percentile of an empty series"); + } + const count = sorted.length; + const idx = (percentileRank / 100) * (count - 1); + const lo = Math.floor(idx); + const hi = Math.ceil(idx); + const low = sorted[lo]; + const high = sorted[hi]; + if (low === undefined || high === undefined) { + throw new Error("Percentile index was outside the provided series"); + } + if (lo === hi) { + return low; + } + return low + (high - low) * (idx - lo); +} + +/** + * Tukey fences `[Q1 - k*IQR, Q3 + k*IQR]` (quartiles via linear interpolation, + * matching `computeStats`). Returns `null` for fewer than 4 points, where the + * quartile spread is too unstable to flag outliers reliably. + */ +export function computeIqrFences( + values: number[], + multiplier = IQR_K, +): IqrFences | null { + if (values.length < 4) { + return null; + } + const sorted = [...values].sort((left, right) => left - right); + const q1 = percentile(sorted, 25); + const q3 = percentile(sorted, 75); + const iqr = q3 - q1; + return { lower: q1 - multiplier * iqr, upper: q3 + multiplier * iqr }; +} + +/** + * Split observations into those inside the fences (`kept`) and outside + * (`excluded`). With `null` fences (too few points) everything is kept. + */ +export function partitionByFences( + observations: Observation[], + fences: IqrFences | null, +): { kept: Observation[]; excluded: Observation[] } { + if (!fences) { + return { kept: [...observations], excluded: [] }; + } + const kept: Observation[] = []; + const excluded: Observation[] = []; + for (const observation of observations) { + if ( + observation.value >= fences.lower && + observation.value <= fences.upper + ) { + kept.push(observation); + } else { + excluded.push(observation); + } + } + return { kept, excluded }; +} diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/period-trends.test.ts b/apps/hash-frontend/src/pages/supply-chain/shared/period-trends.test.ts new file mode 100644 index 00000000000..2faf6e67c7e --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/period-trends.test.ts @@ -0,0 +1,275 @@ +import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; + +import { obs as fixtureObs, stepFrom } from "./observation-fixtures"; +import { applyOutlierSelectionToStep } from "./outlier-selection"; +import { + computeCostComparison, + computeCostTrend, + computePeriodDeltas, + computeTimingTrend, + computeTrend, + median, + percentChange, + periodCutoffs, + rangeMonths, + trendDirection, +} from "./period-trends"; + +import type { + CostData, + MonthlyBucket, + Observation, + SiteNode, + StepStats, +} from "./types"; + +function obs(month: string, value: number): Observation { + return { date: `${month}-15`, value }; +} + +const zeroStats: StepStats = { + n: 0, + mean: 0, + median: 0, + std: 0, + min: 0, + max: 0, + p25: 0, + p75: 0, + p85: 0, + p95: 0, +}; + +function cost(unitPrice: number | null): CostData { + return { unit_price: unitPrice, currency: "EUR" }; +} + +function kgDayMonth( + month: string, + totalKgDays: number, + count = 1, +): MonthlyBucket { + return { + month, + mean: null, + median: null, + n: count, + total_kg_days: totalKgDays, + }; +} + +function siteNode(overrides: Partial): SiteNode { + return { + id: "n", + label: "Node", + type: "intermediate_dwell", + material: null, + plant: "PL-A", + stats: zeroStats, + plan: null, + plan_note: null, + pct_exceeding_plan: null, + cost: null, + products: [{ id: "p1", name: "P1" }], + ...overrides, + }; +} + +describe("rangeMonths", () => { + it("maps tokens to month counts", () => { + expect(rangeMonths("3m")).toBe(3); + expect(rangeMonths("6m")).toBe(6); + expect(rangeMonths("12m")).toBe(12); + }); +}); + +describe("median", () => { + it("returns null on empty", () => expect(median([])).toBeNull()); + it("handles odd length", () => expect(median([3, 1, 2])).toBe(2)); + it("averages the two middle values for even length", () => + expect(median([1, 2, 3, 4])).toBe(2.5)); +}); + +describe("percentChange", () => { + it("computes a relative change", () => + expect(percentChange(120, 100)).toBeCloseTo(20, 6)); + it("returns null when previous is zero or a value is null", () => { + expect(percentChange(10, 0)).toBeNull(); + expect(percentChange(null, 100)).toBeNull(); + expect(percentChange(100, null)).toBeNull(); + }); +}); + +describe("trendDirection", () => { + it("classifies within the +/-5% flat band", () => { + expect(trendDirection(null)).toBe("unknown"); + expect(trendDirection(4.9)).toBe("flat"); + expect(trendDirection(-4.9)).toBe("flat"); + expect(trendDirection(6)).toBe("worsening"); + expect(trendDirection(-6)).toBe("improving"); + }); +}); + +describe("period helpers anchored to a fixed clock", () => { + beforeEach(() => { + vi.useFakeTimers(); + vi.setSystemTime(new Date("2026-06-15T00:00:00Z")); + }); + afterEach(() => vi.useRealTimers()); + + it("periodCutoffs derives the current and previous windows", () => { + // now=2026-06, 6m -> current 2026-01..2026-06; previous 2025-07..2025-12 + expect(periodCutoffs("6m")).toEqual({ + currentFrom: "2026-01", + previousFrom: "2025-07", + previousTo: "2025-12", + }); + }); + + it("computeTrend compares current vs previous medians (6m window)", () => { + const observations: Observation[] = [ + obs("2025-07", 40), + obs("2025-09", 60), + obs("2026-01", 10), + obs("2026-03", 20), + ]; + + const trend = computeTrend(observations, "6m"); + expect(trend.currentValue).toBe(15); + expect(trend.previousValue).toBe(50); + expect(trend.currentN).toBe(2); + expect(trend.previousN).toBe(2); + expect(trend.pctChange).toBeCloseTo(-70, 6); + expect(trend.direction).toBe("improving"); + }); + + it("computeTrend uses the selected base measure", () => { + const observations: Observation[] = [ + obs("2025-07", 10), + obs("2025-08", 10), + obs("2025-09", 100), + obs("2026-01", 20), + obs("2026-02", 20), + obs("2026-03", 20), + ]; + + const medianTrend = computeTrend(observations, "6m", "median"); + const meanTrend = computeTrend(observations, "6m", "mean"); + + expect(medianTrend.previousValue).toBe(10); + expect(meanTrend.previousValue).toBeCloseTo(40, 6); + expect(medianTrend.pctChange).toBeCloseTo(100, 6); + expect(meanTrend.pctChange).toBeCloseTo(-50, 6); + }); + + it("computeTrend handles the 12m window", () => { + const observations: Observation[] = [ + obs("2024-08", 100), + obs("2025-02", 100), + obs("2025-08", 120), + obs("2026-02", 120), + ]; + + const trend = computeTrend(observations, "12m"); + expect(trend.currentValue).toBe(120); + expect(trend.previousValue).toBe(100); + expect(trend.pctChange).toBeCloseTo(20, 6); + expect(trend.direction).toBe("worsening"); + }); + + it("computeTrend reports flat within the band and unknown on zero-previous", () => { + const flat = computeTrend([obs("2025-07", 102), obs("2026-01", 100)], "6m"); + expect(flat.direction).toBe("flat"); + const zeroPrev = computeTrend( + [obs("2025-07", 0), obs("2026-01", 10)], + "6m", + ); + expect(zeroPrev.previousValue).toBe(0); + expect(zeroPrev.pctChange).toBeNull(); + expect(zeroPrev.direction).toBe("unknown"); + }); + + it("computeTimingTrend mirrors computeTrend over a node's observations", () => { + const node = siteNode({ + observations: [ + obs("2025-07", 40), + obs("2025-09", 60), + obs("2026-01", 10), + obs("2026-03", 20), + ], + }); + const threshold = computeTimingTrend(node, "6m"); + expect(threshold.currentValue).toBe(15); + expect(threshold.previousValue).toBe(50); + expect(threshold.pctChange).toBeCloseTo(-70, 6); + }); + + it("computeCostTrend totals carrying cost across windows", () => { + const node = siteNode({ + cost: cost(100), + monthly: [kgDayMonth("2025-07", 1000), kgDayMonth("2026-01", 500)], + }); + const threshold = computeCostTrend(node, "6m", 0.1, 0.336); + // current window has 2026-01 only, previous window has 2025-07 only + expect(threshold.currentTotal).toBeCloseTo( + 500 * (100 * (0.1 / 365) + 0.336 / 1000), + 6, + ); + expect(threshold.previousTotal).toBeCloseTo( + 1000 * (100 * (0.1 / 365) + 0.336 / 1000), + 6, + ); + expect(threshold.currentN).toBe(1); + expect(threshold.previousN).toBe(1); + }); + + it("computeCostComparison returns the delta vs the previous window", () => { + const monthly = [kgDayMonth("2025-07", 1000), kgDayMonth("2026-01", 2000)]; + const cmp = computeCostComparison(monthly, 100, 0.1, 0.336, "6m"); + // current = 2000 units, previous = 1000 units -> +100% + expect(cmp.delta).toBeCloseTo(100, 6); + expect(cmp.previousTotal).toBeCloseTo( + 1000 * (100 * (0.1 / 365) + 0.336 / 1000), + 6, + ); + }); + + it("computePeriodDeltas produces per-stat percentage deltas", () => { + const observations: Observation[] = [ + // previous window 2025-07..2025-12 + obs("2025-07", 10), + obs("2025-08", 20), + // current window 2026-01..2026-06 + obs("2026-01", 20), + obs("2026-02", 40), + ]; + + const deltas = computePeriodDeltas(observations, "6m"); + expect(deltas.previousStats?.n).toBe(2); + expect(deltas.medianPctChange).toBeCloseTo(100, 6); + expect(deltas.currentRange).not.toBeNull(); + expect(deltas.previousRange).not.toBeNull(); + }); + + it("computePeriodDeltas can compare an outlier-filtered historical series", () => { + const step = stepFrom([ + fixtureObs("2025-07", 10), + fixtureObs("2025-08", 10), + fixtureObs("2025-09", 1000), + fixtureObs("2025-10", 1000), + fixtureObs("2026-01", 20), + fixtureObs("2026-02", 20), + fixtureObs("2026-03", 20), + fixtureObs("2026-04", 20), + ]); + const selected = applyOutlierSelectionToStep(step, true); + + const rawDeltas = computePeriodDeltas(step.observations, "6m"); + const filteredDeltas = computePeriodDeltas(selected.observations, "6m"); + + expect(rawDeltas.previousStats?.median).toBe(505); + expect(rawDeltas.medianPctChange).toBeCloseTo(-96.03960396039604, 6); + expect(filteredDeltas.previousStats?.median).toBe(10); + expect(filteredDeltas.medianPctChange).toBeCloseTo(100, 6); + }); +}); diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/period-trends.ts b/apps/hash-frontend/src/pages/supply-chain/shared/period-trends.ts new file mode 100644 index 00000000000..22f02bd4627 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/period-trends.ts @@ -0,0 +1,316 @@ +import { computePeriodCost } from "./cost"; +import { type BaseMeasure, statOf } from "./measure-context"; +import { computeStats } from "./stats"; +import { + type TimeRange, + cutoffForRange, + monthKeyMonthsAgo, + rangeMonths, +} from "./time-range"; + +import type { MonthlyBucket, Observation, SiteNode, StepStats } from "./types"; + +export { rangeMonths }; + +/** + * Current/previous period boundaries (YYYY-MM) for a range, anchored to today. + * The previous window is the equal-length span immediately before the current one. + * Single source of truth for the period-over-period comparisons across the app. + */ +export function periodCutoffs(range: TimeRange): { + currentFrom: string; + previousFrom: string; + previousTo: string; +} { + const months = rangeMonths(range); + const currentFrom = cutoffForRange(range); + const previousTo = monthKeyMonthsAgo(months); + const previousFrom = monthKeyMonthsAgo(months * 2 - 1); + + return { currentFrom, previousFrom, previousTo }; +} + +/** Median of a list of values (null on empty). */ +export function median(values: number[]): number | null { + if (values.length === 0) { + return null; + } + const sorted = [...values].sort((left, right) => left - right); + const mid = Math.floor(sorted.length / 2); + const upper = sorted[mid]; + if (upper === undefined) { + throw new Error("Median index was outside the provided series"); + } + if (sorted.length % 2 === 1) { + return upper; + } + const lower = sorted[mid - 1]; + if (lower === undefined) { + throw new Error("Median lower index was outside the provided series"); + } + return (lower + upper) / 2; +} + +/** Percentage change current-vs-previous (null when undefined or previous is zero). */ +export function percentChange( + current: number | null, + previous: number | null, +): number | null { + if (current == null || previous == null || previous === 0) { + return null; + } + return ((current - previous) / previous) * 100; +} + +export type TrendDirection = "improving" | "worsening" | "flat" | "unknown"; + +/** Classify a percentage change: <5% magnitude is flat, null is unknown. */ +export function trendDirection(pctChange: number | null): TrendDirection { + if (pctChange == null || Math.abs(pctChange) < 5) { + return pctChange == null ? "unknown" : "flat"; + } + return pctChange > 0 ? "worsening" : "improving"; +} + +export interface BaseMeasureTrend { + pctChange: number | null; + /** The current-window value of the selected base measure. */ + currentValue: number | null; + /** The previous-window value of the selected base measure. */ + previousValue: number | null; + currentN: number; + previousN: number; + direction: TrendDirection; +} + +/** Timing trend (current vs previous window) for the selected base measure. */ +export function computeTrend( + observations: Observation[], + range: TimeRange, + measure: BaseMeasure = "median", +): BaseMeasureTrend { + const { currentFrom, previousFrom, previousTo } = periodCutoffs(range); + const currentValues = observations + .filter((observation) => observation.date.slice(0, 7) >= currentFrom) + .map((observation) => observation.value); + const previousValues = observations + .filter((observation) => { + const month = observation.date.slice(0, 7); + return month >= previousFrom && month <= previousTo; + }) + .map((observation) => observation.value); + const currentValue = statOf(currentValues, measure); + const previousValue = statOf(previousValues, measure); + const pctChange = percentChange(currentValue, previousValue); + + return { + pctChange, + currentValue, + previousValue, + currentN: currentValues.length, + previousN: previousValues.length, + direction: trendDirection(pctChange), + }; +} + +export interface TimingTrend { + pctChange: number | null; + currentValue: number | null; + previousValue: number | null; + currentN: number; + previousN: number; +} + +/** Timing trend for a site node's shipped observations, for the selected measure. */ +export function computeTimingTrend( + node: SiteNode, + timeRange: TimeRange, + measure: BaseMeasure = "median", +): TimingTrend { + const trend = computeTrend(node.observations ?? [], timeRange, measure); + return { + pctChange: trend.pctChange, + currentValue: trend.currentValue, + previousValue: trend.previousValue, + currentN: trend.currentN, + previousN: trend.previousN, + }; +} + +export interface CostTrend { + pctChange: number | null; + currentTotal: number | null; + previousTotal: number | null; + currentN: number; + previousN: number; +} + +/** Carrying-cost trend for a site node over the current vs previous window. */ +export function computeCostTrend( + node: SiteNode, + timeRange: TimeRange, + waccRate: number, + storageCost: number, +): CostTrend { + const monthly = + node.monthly?.filter((month) => month.total_kg_days != null) ?? []; + if (monthly.length === 0) { + return { + pctChange: null, + currentTotal: null, + previousTotal: null, + currentN: 0, + previousN: 0, + }; + } + const { currentFrom, previousFrom, previousTo } = periodCutoffs(timeRange); + const sumCost = (from: string, to?: string) => { + const buckets = monthly.filter( + (month) => month.month >= from && (to == null || month.month <= to), + ); + if (buckets.length === 0) { + return { total: null as number | null, n: 0 }; + } + const total = computePeriodCost( + buckets, + node.cost?.unit_price, + waccRate, + storageCost, + ); + return { total, n: buckets.reduce((sum, month) => sum + month.n, 0) }; + }; + const current = sumCost(currentFrom); + const previous = sumCost(previousFrom, previousTo); + return { + pctChange: percentChange(current.total, previous.total), + currentTotal: current.total, + previousTotal: previous.total, + currentN: current.n, + previousN: previous.n, + }; +} + +export interface PeriodComparison { + medianPctChange: number | null; + statDeltas: Record; + previousStats: StepStats | null; + currentRange: { from: string; to: string } | null; + previousRange: { from: string; to: string } | null; +} + +/** Full stat-by-stat deltas (mean/median/std/p75/p95/max) current vs previous. */ +export function computePeriodDeltas( + observations: Observation[], + range: TimeRange, +): PeriodComparison { + const { currentFrom, previousFrom, previousTo } = periodCutoffs(range); + + const currentObs = observations.filter( + (observation) => observation.date.slice(0, 7) >= currentFrom, + ); + const prevObs = observations.filter((observation) => { + const month = observation.date.slice(0, 7); + return month >= previousFrom && month <= previousTo; + }); + + const currentStats = computeStats( + currentObs.map((observation) => observation.value), + ); + const prevStats = computeStats( + prevObs.map((observation) => observation.value), + ); + + const pctDelta = (curr: number, prev: number) => { + if (prev === 0) { + return null; + } + return ((curr - prev) / prev) * 100; + }; + + const hasPrev = prevStats.n > 0; + const hasCurrent = currentStats.n > 0; + + const now = new Date().toISOString().slice(0, 7); + const currentRange = hasCurrent ? { from: currentFrom, to: now } : null; + const previousRange = hasPrev ? { from: previousFrom, to: previousTo } : null; + + if (!hasCurrent || !hasPrev) { + return { + medianPctChange: null, + statDeltas: {}, + previousStats: hasPrev ? prevStats : null, + currentRange, + previousRange, + }; + } + + const keys: (keyof StepStats)[] = [ + "min", + "mean", + "median", + "std", + "p75", + "p95", + "max", + ]; + + const statDeltas: Record = {}; + for (const key of keys) { + statDeltas[key] = pctDelta( + currentStats[key] as number, + prevStats[key] as number, + ); + } + + return { + medianPctChange: statDeltas.median ?? null, + statDeltas, + previousStats: prevStats, + currentRange, + previousRange, + }; +} + +/** Carrying-cost delta (current vs previous window) from unfiltered monthly cost buckets. */ +export function computeCostComparison( + unfilteredCostMonthly: MonthlyBucket[] | undefined, + unitPrice: number | null | undefined, + waccRate: number, + storageCost: number, + range: TimeRange, +): { delta: number | null; previousTotal: number | null } { + if (!unfilteredCostMonthly || unfilteredCostMonthly.length === 0) { + return { delta: null, previousTotal: null }; + } + const { currentFrom, previousFrom, previousTo } = periodCutoffs(range); + const currentMonths = unfilteredCostMonthly.filter( + (month) => month.month >= currentFrom, + ); + const prevMonths = unfilteredCostMonthly.filter( + (month) => month.month >= previousFrom && month.month <= previousTo, + ); + + if (currentMonths.length === 0 || prevMonths.length === 0) { + return { delta: null, previousTotal: null }; + } + + const currentTotal = computePeriodCost( + currentMonths, + unitPrice, + waccRate, + storageCost, + ); + const prevTotal = computePeriodCost( + prevMonths, + unitPrice, + waccRate, + storageCost, + ); + if (prevTotal === 0) { + return { delta: null, previousTotal: prevTotal }; + } + return { + delta: ((currentTotal - prevTotal) / prevTotal) * 100, + previousTotal: prevTotal, + }; +} diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/planning-param.ts b/apps/hash-frontend/src/pages/supply-chain/shared/planning-param.ts new file mode 100644 index 00000000000..bb753a95d0f --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/planning-param.ts @@ -0,0 +1,31 @@ +/** + * Tooltip helpers for planning parameter chips. + * + * The planning parameter is the system's planned time for a step. Which planned + * time applies depends on the step type: + * - Procurement / Transit → planned delivery time (days) + * - Production → goods-receipt processing time (days) + * - Upstream production → in-house production time (days) + * + * `plan_note` on the graph node is set by the analysis pipeline only when the + * planned time is not the default planned delivery time. + */ + +export function planSourceLabel(planNote: string | null | undefined): string { + if (planNote) { + return `Planning parameter — ${planNote}`; + } + return "Planning parameter (planned delivery time)"; +} + +export function pctChangeTooltip( + pctChange: number, + plan: number, + measureLabel = "Median", +): string { + const abs = Math.abs(pctChange).toFixed(0); + if (pctChange > 0) { + return `${measureLabel} exceeds the ${plan}d planning parameter by ${abs}%`; + } + return `${measureLabel} is ${abs}% below the ${plan}d planning parameter`; +} diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/plant-label.ts b/apps/hash-frontend/src/pages/supply-chain/shared/plant-label.ts new file mode 100644 index 00000000000..3ac9c4cc6e4 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/plant-label.ts @@ -0,0 +1,47 @@ +/** + * Compact, display-friendly plant labels for tight UI surfaces (the E2E route + * picker and the coverage line). + * + * Plant names are resolved at runtime from the loaded data (the generator + * ships the full description, e.g. a corporate legal name plus the plant code). + * This helper only trims generic corporate/legal boilerplate so the displayed + * string is shorter -- it contains no hardcoded, site- or client-specific data. + */ + +/** Generic corporate/legal form tokens stripped from plant descriptions. */ +const BOILERPLATE = + /\b(corp|co|inc|llc|ltd|gmbh|ag|kg|kk|sa|bv|nv|plc|pte|the)\b\.?/gi; + +/** + * Return a short `"Name (CODE)"` label for a plant by trimming generic + * corporate boilerplate from the data-provided `fullLabel`. Falls back to the + * bare uppercase code when there is no usable name (e.g. unresolved data). + */ +export function shortPlantLabel( + code: string, + fullLabel?: string | null, +): string { + const codeU = code.toUpperCase(); + + if (fullLabel) { + const labelWithoutTrailingWhitespace = fullLabel.trimEnd(); + const codeSuffix = `(${codeU})`; + // Drop a trailing "(CODE)" suffix the generator appended. + const labelWithoutCodeSuffix = labelWithoutTrailingWhitespace + .toUpperCase() + .endsWith(codeSuffix) + ? labelWithoutTrailingWhitespace.slice(0, -codeSuffix.length).trimEnd() + : fullLabel; + + const name = labelWithoutCodeSuffix + .replace(BOILERPLATE, " ") + .replace(/\s+([,.)])/g, "$1") + .replace(/\s+/g, " ") + .trim(); + if (name) { + return `${name} (${codeU})`; + } + } + + return codeU; +} diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/procurement-basis-context.ts b/apps/hash-frontend/src/pages/supply-chain/shared/procurement-basis-context.ts new file mode 100644 index 00000000000..3bff6ea0043 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/procurement-basis-context.ts @@ -0,0 +1,40 @@ +import { createContext, useContext } from "react"; + +/** + * Which procurement lead-time series drives the *headline* timing everywhere it + * is recomputed client-side (product card badge, site planning deviation / + * bad-param counts, and the step slideover's primary distribution): + * + * - "first": PO date -> first goods receipt. + * - "complete": PO date -> last goods receipt (full-receipt / PO-complete). + * + * Product/site nodes derive the active basis from combined first/last receipt + * observations; step details derive both bases by grouping line rows by PO. + * Every non-procurement step type ignores it. Defaults to "first". + */ +export type ProcurementBasis = "first" | "complete"; + +export const PROCUREMENT_BASES: readonly ProcurementBasis[] = [ + "first", + "complete", +]; + +/** Short label for the toolbar control + tooltips. */ +export const PROCUREMENT_BASIS_LABELS: Record = { + first: "First receipt", + complete: "Full receipt", +}; + +interface ProcurementBasisCtx { + basis: ProcurementBasis; + setBasis: (basis: ProcurementBasis) => void; +} + +export const ProcurementBasisContext = createContext({ + basis: "first", + setBasis: () => {}, +}); + +export function useProcurementBasis() { + return useContext(ProcurementBasisContext); +} diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/procurement-basis.test.ts b/apps/hash-frontend/src/pages/supply-chain/shared/procurement-basis.test.ts new file mode 100644 index 00000000000..7bf2f60203f --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/procurement-basis.test.ts @@ -0,0 +1,140 @@ +import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; + +import { ensureNodeStats } from "./normalize-contract"; +import { + makeNode, + obs, + stepFrom, + timingSeriesFrom, +} from "./observation-fixtures"; +import { + applyProcurementBasisToNode, + applyProcurementBasisToStep, + filterGraphNodeByDateRange, +} from "./range-filter"; + +import type { GraphNode, StepDetail } from "./types"; + +// Combined first/last receipt observations, so a basis swap is observable from a +// single series. +function procurementNode(): GraphNode { + return ensureNodeStats( + makeNode({ + id: "procurement_x", + type: "procurement", + observations: [ + { + first_receipt_date: "2026-01-01", + first_receipt_value: 8, + last_receipt_date: "2026-01-24", + last_receipt_value: 24, + }, + { + first_receipt_date: "2026-02-01", + first_receipt_value: 10, + last_receipt_date: "2026-02-26", + last_receipt_value: 26, + }, + { + first_receipt_date: "2026-03-01", + first_receipt_value: 9, + last_receipt_date: "2026-03-25", + last_receipt_value: 25, + }, + { + first_receipt_date: "2026-04-01", + first_receipt_value: 11, + last_receipt_date: "2026-04-27", + last_receipt_value: 27, + }, + ] as unknown as GraphNode["observations"], + monthly: [], + }), + ); +} + +function procurementStep(): StepDetail { + const step = stepFrom([ + obs("2026-01", 8), + obs("2026-02", 10), + obs("2026-03", 9), + obs("2026-04", 11), + ]); + step.type = "procurement"; + step.id = "procurement_x"; + step.complete_timing = timingSeriesFrom([ + obs("2026-01", 24), + obs("2026-02", 26), + obs("2026-03", 25), + obs("2026-04", 27), + ]); + return step; +} + +describe("applyProcurementBasisToNode", () => { + it("is a no-op for the first-receipt basis", () => { + const node = procurementNode(); + expect( + applyProcurementBasisToNode(node, "first").observations?.map( + (observation) => observation.value, + ), + ).toEqual([8, 10, 9, 11]); + }); + + it("promotes the full-receipt series from combined observations for the complete basis", () => { + const out = applyProcurementBasisToNode(procurementNode(), "complete"); + expect(out.stats.median).toBe(25.5); + expect(out.observations?.map((observation) => observation.value)).toEqual([ + 24, 26, 25, 27, + ]); + expect(out).not.toHaveProperty("complete_series"); + }); + + it("ignores non-procurement nodes and procurement nodes without full-receipt data", () => { + const plain = makeNode({ type: "transit" }); + expect(applyProcurementBasisToNode(plain, "complete")).toBe(plain); + const bare = makeNode({ type: "procurement" }); + expect(applyProcurementBasisToNode(bare, "complete")).toBe(bare); + }); +}); + +describe("applyProcurementBasisToStep", () => { + it("swaps headline + parks first-receipt in complete_timing for the complete basis", () => { + const out = applyProcurementBasisToStep(procurementStep(), "complete"); + // Headline is now full receipt... + expect(out.stats.median).toBe(25.5); + expect(out.observations.map((observation) => observation.value)).toEqual([ + 24, 26, 25, 27, + ]); + // ...and the secondary cell now carries the first-receipt series. + expect(out.complete_timing?.label).toBe("First receipt"); + expect(out.complete_timing?.stats.median).toBe(9.5); + }); + + it("is a no-op for the first-receipt basis", () => { + const step = procurementStep(); + expect(applyProcurementBasisToStep(step, "first")).toBe(step); + }); +}); + +describe("filterGraphNodeByDateRange with basis", () => { + beforeEach(() => { + vi.useFakeTimers(); + vi.setSystemTime(new Date("2026-06-15T00:00:00Z")); + }); + afterEach(() => vi.useRealTimers()); + + it("windows the full-receipt series when basis is complete", () => { + // 3m cutoff = 2026-04; keep months >= 2026-04 of the complete series. + const out = filterGraphNodeByDateRange( + procurementNode(), + "3m", + true, + "complete", + ); + expect(out.observations?.map((observation) => observation.value)).toEqual([ + 27, + ]); + expect(out.stats.median).toBe(27); + }); +}); diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/procurement-observations.ts b/apps/hash-frontend/src/pages/supply-chain/shared/procurement-observations.ts new file mode 100644 index 00000000000..e1cc6d71606 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/procurement-observations.ts @@ -0,0 +1,116 @@ +import type { ProcurementBasis } from "./procurement-basis-context"; +import type { Observation, ProcurementNodeObservation } from "./types"; + +type DetailRow = Record; + +function isIsoDate(value: unknown): value is string { + return typeof value === "string" && /^\d{4}-\d{2}-\d{2}$/.test(value); +} + +function daysBetween(start: string, end: string): number | null { + const startMs = Date.parse(`${start}T00:00:00Z`); + const endMs = Date.parse(`${end}T00:00:00Z`); + if (!Number.isFinite(startMs) || !Number.isFinite(endMs)) { + return null; + } + return Math.round((endMs - startMs) / 86_400_000); +} + +export function isProcurementNodeObservation( + value: unknown, +): value is ProcurementNodeObservation { + if (!value || typeof value !== "object") { + return false; + } + const row = value as Record; + return ( + isIsoDate(row.first_receipt_date) && + typeof row.first_receipt_value === "number" && + isIsoDate(row.last_receipt_date) && + typeof row.last_receipt_value === "number" + ); +} + +export function procurementNodeObservationsForBasis( + observations: ProcurementNodeObservation[], + basis: ProcurementBasis, +): Observation[] { + const isComplete = basis === "complete"; + return observations.map((observation) => ({ + date: isComplete + ? observation.last_receipt_date + : observation.first_receipt_date, + value: isComplete + ? observation.last_receipt_value + : observation.first_receipt_value, + })); +} + +export function deriveProcurementTimingFromRows(rows: DetailRow[]): { + first: Observation[]; + complete: Observation[]; +} | null { + const byPo = new Map(); + for (const row of rows) { + const po = row.po_number; + if (typeof po !== "string" && typeof po !== "number") { + continue; + } + const key = String(po); + const group = byPo.get(key); + if (group) { + group.push(row); + } else { + byPo.set(key, [row]); + } + } + + const first: Observation[] = []; + const complete: Observation[] = []; + + for (const group of byPo.values()) { + const poDate = group.map((row) => row.po_date).find(isIsoDate); + if (!poDate) { + continue; + } + + const firstDates = group + .map((row) => row.first_gr_date) + .filter(isIsoDate) + .sort(); + const lastDates = group + .map((row) => row.last_gr_date) + .filter(isIsoDate) + .sort(); + const firstDate = firstDates[0]; + const lastDate = lastDates[lastDates.length - 1]; + if (!firstDate || !lastDate) { + continue; + } + + const firstValue = daysBetween(poDate, firstDate); + const lastValue = daysBetween(poDate, lastDate); + if ( + firstValue == null || + lastValue == null || + firstValue < 0 || + lastValue < 0 + ) { + continue; + } + + first.push({ date: firstDate, value: firstValue }); + complete.push({ date: lastDate, value: lastValue }); + } + + if (first.length === 0 || complete.length === 0) { + return null; + } + first.sort((left, right) => + left.date < right.date ? -1 : left.date > right.date ? 1 : 0, + ); + complete.sort((left, right) => + left.date < right.date ? -1 : left.date > right.date ? 1 : 0, + ); + return { first, complete }; +} diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/product-dwell-scope.test.ts b/apps/hash-frontend/src/pages/supply-chain/shared/product-dwell-scope.test.ts new file mode 100644 index 00000000000..6ae03f5b58d --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/product-dwell-scope.test.ts @@ -0,0 +1,294 @@ +import { describe, expect, it } from "vitest"; + +import { computePeriodCost } from "./cost"; +import { + scopeDwellNodeToProduct, + scopeDwellStepToProduct, +} from "./product-dwell-scope"; + +import type { DetailRows, GraphNode, StepDetail, StepStats } from "./types"; + +const zeroStats: StepStats = { + n: 0, + mean: 0, + median: 0, + std: 0, + min: 0, + max: 0, + p25: 0, + p75: 0, + p85: 0, + p95: 0, +}; + +const dwellRows: DetailRows = { + columns: [ + { + key: "batch", + source_field: null, + source_table: null, + label: "Batch", + }, + { + key: "consumption_date", + source_field: null, + source_table: null, + label: "Consumption Date", + }, + { + key: "dwell_days", + source_field: null, + source_table: null, + label: "Dwell Days", + unit: "d", + }, + { + key: "kg_days", + source_field: null, + source_table: null, + label: "Inventory kg-days", + unit: "kg·d", + }, + { + key: "cons_matnr", + source_field: null, + source_table: null, + label: "Consuming Material", + }, + { + key: "cons_material_name", + source_field: null, + source_table: null, + label: "Consuming Material Name", + }, + { + key: "cons_in_current_recipe", + source_field: null, + source_table: null, + label: "In Current Recipe", + }, + ], + rows: [ + { + batch: "A", + consumption_date: "2026-01-10", + dwell_days: 10, + kg_days: 100, + cons_matnr: "FG-1", + cons_material_name: "Finished Good", + cons_in_current_recipe: 1, + }, + { + batch: "B", + consumption_date: "2026-01-20", + dwell_days: 20, + kg_days: 400, + cons_matnr: "INT-1", + cons_material_name: "In-scope Intermediate", + cons_in_current_recipe: 1, + }, + { + batch: "C", + consumption_date: "2026-02-05", + dwell_days: 50, + kg_days: 1000, + cons_matnr: "FG-2", + cons_material_name: "Other Finished Good", + cons_in_current_recipe: 0, + }, + ], +}; + +function dwellStep(overrides: Partial = {}): StepDetail { + return { + id: "raw_dwell", + label: "Raw Material Dwell", + type: "raw_material_dwell", + durations: [10, 20, 50], + observations: [ + { date: "2026-01-10", value: 10 }, + { date: "2026-01-20", value: 20 }, + { date: "2026-02-05", value: 50 }, + ], + monthly: [ + { + month: "2026-01", + mean: 15, + median: 15, + n: 2, + total_kg_days: 500, + }, + { + month: "2026-02", + mean: 50, + median: 50, + n: 1, + total_kg_days: 1000, + }, + ], + stats: { ...zeroStats, n: 3, mean: 26.7, median: 20 }, + plan: 15, + plan_note: null, + cost: { unit_price: 2, currency: "EUR" }, + detail_rows: dwellRows, + ref_date_col: "consumption_date", + value_col: "dwell_days", + ...overrides, + }; +} + +function dwellNode(overrides: Partial = {}): GraphNode { + return { + id: "raw_dwell", + label: "Raw Material Dwell", + type: "raw_material_dwell", + material: "RAW-1", + plant: "PL-A", + observations: [ + { date: "2026-01-10", value: 10 }, + { date: "2026-01-20", value: 20 }, + { date: "2026-02-05", value: 50 }, + ], + monthly: [ + { + month: "2026-01", + mean: 15, + median: 15, + n: 2, + total_kg_days: 500, + }, + { + month: "2026-02", + mean: 50, + median: 50, + n: 1, + total_kg_days: 1000, + }, + ], + stats: { ...zeroStats, n: 3, mean: 26.7, median: 20 }, + plan: 15, + plan_note: null, + cost: { unit_price: 2, currency: "EUR" }, + ...overrides, + }; +} + +describe("scopeDwellStepToProduct", () => { + it("keeps the finished good and in-scope intermediates, then recomputes timing and kg-days", () => { + const scoped = scopeDwellStepToProduct(dwellStep(), { + productMaterial: "FG-1", + productName: "Finished Good", + }); + + expect(scoped.detail_rows?.rows.map((row) => row.batch)).toEqual([ + "A", + "B", + ]); + expect(scoped.observations).toEqual([ + { date: "2026-01-10", value: 10 }, + { date: "2026-01-20", value: 20 }, + ]); + expect(scoped.stats).toMatchObject({ n: 2, mean: 15, median: 15 }); + expect(scoped.monthly).toEqual([ + { + month: "2026-01", + mean: 15, + median: 15, + n: 2, + total_kg_days: 500, + }, + ]); + expect(scoped.pct_exceeding_plan).toBe(50); + }); + + it("falls back to direct finished-good matches when recipe membership is absent", () => { + const rowsWithoutMembership = dwellRows.rows.map( + ({ cons_in_current_recipe: _recipeMembership, ...row }) => row, + ); + const scoped = scopeDwellStepToProduct( + dwellStep({ + detail_rows: { + columns: dwellRows.columns.filter( + (column) => column.key !== "cons_in_current_recipe", + ), + rows: rowsWithoutMembership, + }, + }), + { productMaterial: "FG-1" }, + ); + + expect(scoped.detail_rows?.rows.map((row) => row.batch)).toEqual(["A"]); + expect(scoped.monthly[0]?.total_kg_days).toBe(100); + }); + + it("leaves non-dwell steps unchanged", () => { + const step = dwellStep({ type: "production" }); + + expect(scopeDwellStepToProduct(step, { productMaterial: "FG-1" })).toBe( + step, + ); + }); + + it("drives different product costs for a shared raw material", () => { + const step = dwellStep({ + detail_rows: { + ...dwellRows, + rows: [ + { + batch: "A", + consumption_date: "2026-01-10", + dwell_days: 10, + kg_days: 100, + cons_matnr: "FG-1", + cons_material_name: "Product One", + cons_in_current_recipe: null, + }, + { + batch: "B", + consumption_date: "2026-01-20", + dwell_days: 20, + kg_days: 700, + cons_matnr: "FG-2", + cons_material_name: "Product Two", + cons_in_current_recipe: null, + }, + ], + }, + }); + + const productOne = scopeDwellStepToProduct(step, { + productMaterial: "FG-1", + }); + const productTwo = scopeDwellStepToProduct(step, { + productMaterial: "FG-2", + }); + + expect( + computePeriodCost(productOne.monthly, step.cost?.unit_price, 0.1, 0.4), + ).not.toBe( + computePeriodCost(productTwo.monthly, step.cost?.unit_price, 0.1, 0.4), + ); + }); + + it("recomputes graph node kg-days from scoped step detail rows", () => { + const scoped = scopeDwellNodeToProduct(dwellNode(), dwellStep(), { + productMaterial: "FG-1", + productName: "Finished Good", + }); + + expect(scoped.observations).toEqual([ + { date: "2026-01-10", value: 10 }, + { date: "2026-01-20", value: 20 }, + ]); + expect(scoped.monthly).toEqual([ + { + month: "2026-01", + mean: 15, + median: 15, + n: 2, + total_kg_days: 500, + }, + ]); + expect(scoped.stats).toMatchObject({ n: 2, mean: 15, median: 15 }); + }); +}); diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/product-dwell-scope.ts b/apps/hash-frontend/src/pages/supply-chain/shared/product-dwell-scope.ts new file mode 100644 index 00000000000..bf0c018e136 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/product-dwell-scope.ts @@ -0,0 +1,229 @@ +import { isDwellType } from "./categories"; +import { computeStats } from "./stats"; + +import type { + DetailRows, + GraphNode, + MonthlyBucket, + Observation, + StepDetail, +} from "./types"; + +interface DwellProductScope { + productMaterial?: string | null; + productName?: string | null; +} + +const DWELL_DATE_KEY = "consumption_date"; +const DWELL_VALUE_KEY = "dwell_days"; +const DWELL_KG_DAYS_KEY = "kg_days"; +const CONSUMING_MATERIAL_KEY = "cons_matnr"; +const CONSUMING_MATERIAL_NAME_KEY = "cons_material_name"; +const CURRENT_RECIPE_KEY = "cons_in_current_recipe"; + +function stringValue(value: unknown): string | null { + if (typeof value === "string" && value.trim()) { + return value.trim(); + } + if (typeof value === "number") { + return String(value); + } + return null; +} + +function numberValue(value: unknown): number | null { + if (typeof value === "number" && Number.isFinite(value)) { + return value; + } + if (typeof value === "string" && value.trim()) { + const parsed = Number(value); + return Number.isFinite(parsed) ? parsed : null; + } + return null; +} + +function recipeMembershipValue(value: unknown): boolean | null { + if (value === true || value === 1 || value === "1") { + return true; + } + if (value === false || value === 0 || value === "0") { + return false; + } + return null; +} + +function hasColumn(detailRows: DetailRows, key: string): boolean { + return detailRows.columns.some((column) => column.key === key); +} + +function canScopeDwellRows(detailRows: DetailRows): boolean { + return ( + hasColumn(detailRows, DWELL_DATE_KEY) && + hasColumn(detailRows, DWELL_VALUE_KEY) && + hasColumn(detailRows, DWELL_KG_DAYS_KEY) && + (hasColumn(detailRows, CURRENT_RECIPE_KEY) || + hasColumn(detailRows, CONSUMING_MATERIAL_KEY) || + hasColumn(detailRows, CONSUMING_MATERIAL_NAME_KEY)) + ); +} + +function matchesCurrentProduct( + row: DetailRows["rows"][number], + scope: DwellProductScope, +): boolean { + const productMaterial = stringValue(scope.productMaterial); + const productName = stringValue(scope.productName); + const consumingMaterial = stringValue(row[CONSUMING_MATERIAL_KEY]); + const consumingMaterialName = stringValue(row[CONSUMING_MATERIAL_NAME_KEY]); + + return ( + (productMaterial != null && consumingMaterial === productMaterial) || + (productName != null && consumingMaterialName === productName) + ); +} + +function shouldKeepDwellRow( + row: DetailRows["rows"][number], + scope: DwellProductScope, +): boolean { + const recipeMembership = recipeMembershipValue(row[CURRENT_RECIPE_KEY]); + if (recipeMembership === false) { + return false; + } + if (recipeMembership === true) { + return true; + } + return matchesCurrentProduct(row, scope); +} + +function monthlyFromDwellRows(rows: DetailRows["rows"]): MonthlyBucket[] { + const valuesByMonth = new Map(); + const kgDaysByMonth = new Map(); + + for (const row of rows) { + const date = stringValue(row[DWELL_DATE_KEY]); + const value = numberValue(row[DWELL_VALUE_KEY]); + if (!date || value == null) { + continue; + } + const month = date.slice(0, 7); + const monthValues = valuesByMonth.get(month); + if (monthValues) { + monthValues.push(value); + } else { + valuesByMonth.set(month, [value]); + } + kgDaysByMonth.set( + month, + (kgDaysByMonth.get(month) ?? 0) + + (numberValue(row[DWELL_KG_DAYS_KEY]) ?? 0), + ); + } + + return [...valuesByMonth.entries()] + .sort(([leftMonth], [rightMonth]) => leftMonth.localeCompare(rightMonth)) + .map(([month, values]) => { + const stats = computeStats(values); + return { + month, + mean: stats.mean, + median: stats.median, + n: stats.n, + total_kg_days: kgDaysByMonth.get(month) ?? 0, + }; + }); +} + +function observationsFromDwellRows(rows: DetailRows["rows"]): Observation[] { + return rows.flatMap((row) => { + const date = stringValue(row[DWELL_DATE_KEY]); + const value = numberValue(row[DWELL_VALUE_KEY]); + if (!date || value == null) { + return []; + } + return [{ date, value }]; + }); +} + +function pctExceedingPlan( + observations: Observation[], + plan: number | null, +): number | null { + if (plan == null || observations.length === 0) { + return null; + } + return ( + Math.round( + (1000 * + observations.filter((observation) => observation.value > plan).length) / + observations.length, + ) / 10 + ); +} + +/** + * Scope dwell detail rows to the active product contract. Product-specific step + * artifacts can contain material-pool evidence, so this rebuilds every timing + * field from retained rows instead of only trimming the table payload. + */ +export function scopeDwellStepToProduct( + step: StepDetail, + scope: DwellProductScope, +): StepDetail { + if (!isDwellType(step.type) || !step.detail_rows) { + return step; + } + if (!canScopeDwellRows(step.detail_rows)) { + return step; + } + + const scopedRows = step.detail_rows.rows.filter((row) => + shouldKeepDwellRow(row, scope), + ); + const observations = observationsFromDwellRows(scopedRows).sort( + (left, right) => left.date.localeCompare(right.date), + ); + const values = observations.map((observation) => observation.value); + + return { + ...step, + detail_rows: { + ...step.detail_rows, + rows: scopedRows, + }, + observations, + durations: values, + monthly: monthlyFromDwellRows(scopedRows), + stats: computeStats(values), + pct_exceeding_plan: pctExceedingPlan(observations, step.plan), + }; +} + +export function scopeDwellNodeToProduct( + node: GraphNode, + step: StepDetail, + scope: DwellProductScope, +): GraphNode { + if (!isDwellType(node.type) || !step.detail_rows) { + return node; + } + if (!canScopeDwellRows(step.detail_rows)) { + return node; + } + + const scopedRows = step.detail_rows.rows.filter((row) => + shouldKeepDwellRow(row, scope), + ); + const observations = observationsFromDwellRows(scopedRows).sort( + (left, right) => left.date.localeCompare(right.date), + ); + const values = observations.map((observation) => observation.value); + + return { + ...node, + observations, + monthly: monthlyFromDwellRows(scopedRows), + stats: computeStats(values), + pct_exceeding_plan: pctExceedingPlan(observations, node.plan), + }; +} diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/range-filter.test.ts b/apps/hash-frontend/src/pages/supply-chain/shared/range-filter.test.ts new file mode 100644 index 00000000000..de70be12f61 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/range-filter.test.ts @@ -0,0 +1,89 @@ +import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; + +import { + makeNode, + obs, + stepFrom, + timingSeriesFrom, +} from "./observation-fixtures"; +import { + filterGraphNodeByDateRange, + filterStepByDateRange, +} from "./range-filter"; + +describe("filterStepByDateRange", () => { + beforeEach(() => { + vi.useFakeTimers(); + vi.setSystemTime(new Date("2026-06-15T00:00:00Z")); + }); + afterEach(() => vi.useRealTimers()); + + const tightStep = () => + stepFrom([ + obs("2026-01", 10), + obs("2026-02", 12), + obs("2026-03", 11), + obs("2026-04", 13), + ]); + + it("windows observations to the cutoff and recomputes stats", () => { + // now=2026-06 -> 3m cutoff = 2026-04; keep months >= 2026-04. + const out = filterStepByDateRange(tightStep(), "3m", true); + expect(out.observations.map((observation) => observation.value)).toEqual([ + 13, + ]); + expect(out.durations).toEqual([13]); + expect(out.stats.n).toBe(1); + expect(out.stats.median).toBe(13); + }); + + it("keeps the full series for the 12m window", () => { + const out = filterStepByDateRange(tightStep(), "12m", true); + expect(out.observations.map((observation) => observation.value)).toEqual([ + 10, 12, 11, 13, + ]); + }); + + it("windows the secondary complete_timing series to the cutoff too", () => { + const step = tightStep(); + step.complete_timing = timingSeriesFrom([ + obs("2026-01", 20), + obs("2026-02", 22), + obs("2026-03", 24), + obs("2026-04", 26), + ]); + // now=2026-06 -> 3m cutoff = 2026-04; keep months >= 2026-04. + const out = filterStepByDateRange(step, "3m", true); + expect( + out.complete_timing?.observations.map((observation) => observation.value), + ).toEqual([26]); + expect(out.complete_timing?.stats.n).toBe(1); + expect(out.complete_timing?.stats.median).toBe(26); + }); +}); + +describe("filterGraphNodeByDateRange", () => { + beforeEach(() => { + vi.useFakeTimers(); + vi.setSystemTime(new Date("2026-06-15T00:00:00Z")); + }); + afterEach(() => vi.useRealTimers()); + + it("returns the full series for the 12m window", () => { + const out = filterGraphNodeByDateRange(makeNode(), "12m", true); + expect(out.observations?.map((observation) => observation.value)).toEqual([ + 10, 12, 11, 13, + ]); + }); + + it("windows observations + monthly to the cutoff and recomputes stats", () => { + // now=2026-06 -> 3m cutoff = 2026-04; keep months >= 2026-04. + const out = filterGraphNodeByDateRange(makeNode(), "3m", true); + expect(out.observations?.map((observation) => observation.value)).toEqual([ + 13, + ]); + expect(out.monthly?.map((month) => month.month)).toEqual(["2026-04"]); + expect(out.stats.n).toBe(1); + expect(out.stats.median).toBe(13); + }); +}); diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/range-filter.ts b/apps/hash-frontend/src/pages/supply-chain/shared/range-filter.ts new file mode 100644 index 00000000000..4c4ce5e3f32 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/range-filter.ts @@ -0,0 +1,496 @@ +import { + applyOutlierSelectionToNode, + applyOutlierSelectionToStep, +} from "./outlier-selection"; +import { procurementNodeObservationsForBasis } from "./procurement-observations"; +import { computeStats, percentileOf, round } from "./stats"; +import { cutoffForRange, type TimeRange } from "./time-range"; + +import type { ProcurementBasis } from "./procurement-basis-context"; +import type { + StepDetail, + GraphNode, + Observation, + MonthlyBucket, + StepStats, + YieldData, + ConsumptionData, + ComponentConsumption, + YieldSummary, + ConsumptionSummary, + TimingSeries, +} from "./types"; + +function pctExceeding( + values: number[], + threshold: number | null, +): number | null { + if (threshold == null || values.length === 0) { + return null; + } + return round( + (100 * values.filter((value) => value > threshold).length) / values.length, + ); +} + +function buildMonthlyFromObservations(obs: Observation[]): MonthlyBucket[] { + const byMonth = new Map(); + for (const observation of obs) { + const month = observation.date.slice(0, 7); + const arr = byMonth.get(month); + if (arr) { + arr.push(observation.value); + } else { + byMonth.set(month, [observation.value]); + } + } + return [...byMonth.keys()].sort().map((month) => { + const sorted = [...(byMonth.get(month) ?? [])].sort( + (left, right) => left - right, + ); + return { + month, + mean: round( + sorted.reduce((left, right) => left + right, 0) / sorted.length, + ), + median: round(percentileOf(sorted, 50)), + n: sorted.length, + }; + }); +} + +function filterObservationsByCutoff( + obs: Observation[], + monthly: MonthlyBucket[], + cutoff: string, +): { + observations: Observation[]; + values: number[]; + monthly: MonthlyBucket[]; + stats: StepStats; +} { + const filtered = obs.filter( + (observation) => observation.date.slice(0, 7) >= cutoff, + ); + const values = filtered.map((observation) => observation.value); + return { + observations: filtered, + values, + monthly: monthly.filter((month) => month.month >= cutoff), + stats: computeStats(values), + }; +} + +function filterYieldData(yd: YieldData, cutoff: string): YieldData { + const row = filterObservationsByCutoff(yd.observations, yd.monthly, cutoff); + return { + ...yd, + values: row.values, + observations: row.observations, + monthly: row.monthly, + stats: row.stats, + }; +} + +function filterComponentReconciliationCounts( + comp: ComponentConsumption, + cutoff: string, +): Partial { + const rows = comp.detail_rows?.rows ?? []; + if (!rows.length) { + return {}; + } + + const windowRows = rows.filter((row) => { + const rawDate = row.finish_date; + return typeof rawDate === "string" && rawDate.slice(0, 7) >= cutoff; + }); + const orderIds = new Set(); + const planned = new Set(); + const consumed = new Set(); + const offBom = new Set(); + const plannedNotConsumed = new Set(); + const unplanned = new Set(); + + for (const row of windowRows) { + const aufnr = + typeof row.aufnr === "string" || typeof row.aufnr === "number" + ? String(row.aufnr) + : null; + if (!aufnr) { + continue; + } + orderIds.add(aufnr); + const status = String(row.status ?? ""); + if (row.planned_qty != null) { + planned.add(aufnr); + } + if (row.actual_qty != null) { + consumed.add(aufnr); + } + if (status === "off-BOM") { + offBom.add(aufnr); + } + if (status === "planned, not consumed") { + plannedNotConsumed.add(aufnr); + } + if (status === "unplanned") { + unplanned.add(aufnr); + } + } + + return { + n_reconciliation_events: orderIds.size, + n_orders_planned: planned.size, + n_orders_consumed: consumed.size, + n_orders_off_bom: offBom.size, + n_orders_planned_not_consumed: plannedNotConsumed.size, + n_orders_unplanned: unplanned.size, + }; +} + +function filterComponentConsumption( + comp: ComponentConsumption, + cutoff: string, +): ComponentConsumption { + const row = filterObservationsByCutoff( + comp.observations, + comp.monthly, + cutoff, + ); + return { + ...comp, + ...filterComponentReconciliationCounts(comp, cutoff), + values: row.values, + observations: row.observations, + monthly: row.monthly, + stats: row.stats, + }; +} + +function weightedVarianceFromObservations(obs: Observation[]): number | null { + const totals = obs.reduce( + (acc, observation) => { + acc.actual += observation.actual_qty ?? 0; + acc.expected += observation.expected_qty ?? 0; + return acc; + }, + { actual: 0, expected: 0 }, + ); + if (totals.expected <= 0) { + return null; + } + return round(((totals.actual - totals.expected) / totals.expected) * 100); +} + +function filterConsumptionData( + cd: ConsumptionData, + cutoff: string, +): ConsumptionData { + const components = cd.components.map((column) => + filterComponentConsumption(column, cutoff), + ); + const aggObs = cd.aggregate.observations.filter( + (observation) => observation.date.slice(0, 7) >= cutoff, + ); + const aggValues = aggObs.map((observation) => observation.value); + const monthly = cd.aggregate.monthly.filter((month) => month.month >= cutoff); + + // Window the raw per-order rows so the off-BOM / substitution callouts are + // window-aware (matching how weighted_variance_pct is recomputed above). The + // off_bom_components list stays as the backend all-time reference because the + // per-component series is matched-only and would under-count unplanned rows. + const allOrders = cd.aggregate.orders; + let windowed: Partial = {}; + if (allOrders) { + const windowOrders = allOrders.filter( + (observation) => observation.date.slice(0, 7) >= cutoff, + ); + let nOffBom = 0; + let nPnc = 0; + let nUnplanned = 0; + let nSub = 0; + for (const observation of windowOrders) { + if (observation.off_bom) { + nOffBom += 1; + } + if (observation.planned_not_consumed) { + nPnc += 1; + } + if (observation.unplanned) { + nUnplanned += 1; + } + if (observation.substitution) { + nSub += 1; + } + } + windowed = { + orders: windowOrders, + n_orders: windowOrders.length, + n_orders_off_bom: nOffBom, + n_orders_planned_not_consumed: nPnc, + n_orders_unplanned: nUnplanned, + n_orders_substitution: nSub, + }; + } + + return { + components, + aggregate: { + ...cd.aggregate, + values: aggValues, + observations: aggObs, + monthly, + stats: computeStats(aggValues), + weighted_variance_pct: weightedVarianceFromObservations(aggObs), + ...windowed, + }, + }; +} + +/** + * Procurement step counterpart of {@link applyProcurementBasisToNode}. When the + * basis is "complete", promotes the full-receipt series to the headline + * (durations/observations/monthly/stats) and parks the first-receipt series in + * `complete_timing` so the slideover's secondary cell shows the *other* basis. + * No-op for any other basis / non-procurement step / step without + * `complete_timing`. + */ +export function applyProcurementBasisToStep( + step: StepDetail, + basis: ProcurementBasis, +): StepDetail { + if ( + basis !== "complete" || + step.type !== "procurement" || + !step.complete_timing + ) { + return step; + } + const comp = step.complete_timing; + const first: TimingSeries = { + label: "First receipt", + observations: step.observations, + monthly: step.monthly, + stats: step.stats, + }; + const values = comp.observations.map((observation) => observation.value); + return { + ...step, + durations: values, + observations: comp.observations, + monthly: comp.monthly, + stats: comp.stats, + pct_exceeding_plan: pctExceeding(values, step.plan), + complete_timing: first, + }; +} + +/** Outlier selection followed by date-range windowing (for raw, unprocessed steps). */ + +/** + * Window an (already outlier-selected) step to a `TimeRange`, recomputing + * stats/cost/yield/consumption for the window. Does not re-run outlier + * selection, so callers that pre-applied it are not double-processed. + */ + +function filterTimingSeries(ts: TimingSeries, cutoff: string): TimingSeries { + const { observations, monthly, stats } = filterObservationsByCutoff( + ts.observations, + ts.monthly, + cutoff, + ); + return { ...ts, observations, monthly, stats }; +} + +/** + * Recompute a production node's `yield_summary` from its windowed (and, when the + * caller pre-applied it, outlier-filtered) yield series. Returns undefined when + * the node carries no series (e.g. non-production nodes), so the caller leaves + * the node's summary untouched. Empty windows collapse the summary to null so + * the badge hides. + */ export function windowStepToRange( + selectedStep: StepDetail, + range: TimeRange, +): StepDetail { + const cutoff = cutoffForRange(range); + const hasObservations = selectedStep.observations.length > 0; + if (!hasObservations) { + return selectedStep; + } + const filtered = selectedStep.observations.filter( + (observation: Observation) => observation.date.slice(0, 7) >= cutoff, + ); + const values = filtered.map((observation: Observation) => observation.value); + const stats = computeStats(values); + const filteredMonthly: MonthlyBucket[] = selectedStep.monthly.filter( + (month) => month.month >= cutoff, + ); + const filteredYield = selectedStep.yield_data + ? filterYieldData(selectedStep.yield_data, cutoff) + : selectedStep.yield_data; + const filteredConsumption = selectedStep.consumption_data + ? filterConsumptionData(selectedStep.consumption_data, cutoff) + : selectedStep.consumption_data; + const filteredCompleteTiming = selectedStep.complete_timing + ? filterTimingSeries(selectedStep.complete_timing, cutoff) + : selectedStep.complete_timing; + return { + ...selectedStep, + durations: values, + observations: filtered, + monthly: filteredMonthly, + stats, + cost: selectedStep.cost, + pct_exceeding_plan: pctExceeding(values, selectedStep.plan), + yield_data: filteredYield, + consumption_data: filteredConsumption, + complete_timing: filteredCompleteTiming, + }; +} +/** Window a secondary {@link TimingSeries} to a cutoff month, recomputing stats. */ export function filterStepByDateRange( + step: StepDetail, + range: TimeRange, + excludeOutliers = true, + basis: ProcurementBasis = "first", +): StepDetail { + return windowStepToRange( + applyOutlierSelectionToStep( + applyProcurementBasisToStep(step, basis), + excludeOutliers, + ), + range, + ); +} +function recomputeYieldSummary( + series: GraphNode["yield_series"], + cutoff: string, +): YieldSummary | null | undefined { + if (!series) { + return undefined; + } + const obs = series.observations.filter( + (observation) => observation.date.slice(0, 7) >= cutoff, + ); + if (obs.length === 0) { + return null; + } + const stats = computeStats(obs.map((observation) => observation.value)); + return { + median: stats.median ?? 0, + mean: stats.mean ?? 0, + reference: series.reference, + n: stats.n, + }; +} + +/** Consumption counterpart of {@link recomputeYieldSummary}. */ +function recomputeConsumptionSummary( + series: GraphNode["consumption_series"], + cutoff: string, +): ConsumptionSummary | null | undefined { + if (!series) { + return undefined; + } + const obs = series.observations.filter( + (observation) => observation.date.slice(0, 7) >= cutoff, + ); + if (obs.length === 0) { + return null; + } + const stats = computeStats(obs.map((observation) => observation.value)); + return { + median_variance: stats.median ?? 0, + mean_variance: stats.mean ?? 0, + weighted_variance: weightedVarianceFromObservations(obs), + n_components: series.n_components, + n: stats.n, + }; +} + +/** + * Select a procurement node's headline timing basis from the combined + * first/last receipt observations. Applied before outlier selection + windowing + * so the entire downstream pipeline operates on the selected basis. + */ +export function applyProcurementBasisToNode( + node: GraphNode, + basis: ProcurementBasis, +): GraphNode { + if (node.type !== "procurement" || !node.procurement_observations) { + return node; + } + const observations = procurementNodeObservationsForBasis( + node.procurement_observations, + basis, + ); + const values = observations.map((observation) => observation.value); + return { + ...node, + observations, + monthly: buildMonthlyFromObservations(observations), + stats: computeStats(values), + pct_exceeding_plan: pctExceeding(values, node.plan), + }; +} + +/** Outlier selection followed by date-range windowing (for raw, unprocessed nodes). */ + +/** + * Window an (already outlier-selected) node to a `TimeRange`. Does not re-run + * outlier selection, so pre-applied nodes are not double-processed. + */ +export function windowGraphNodeToRange( + selectedNode: GraphNode, + range: TimeRange, +): GraphNode { + const cutoff = cutoffForRange(range); + const obs = selectedNode.observations ?? []; + if (obs.length === 0) { + return selectedNode; + } + + const filtered = obs.filter( + (observation: Observation) => observation.date.slice(0, 7) >= cutoff, + ); + const values = filtered.map((observation: Observation) => observation.value); + const stats = computeStats(values); + const filteredMonthly = (selectedNode.monthly ?? []).filter( + (month) => month.month >= cutoff, + ); + + // Recompute the R:/C: badge summaries from the windowed series when present; + // `undefined` means "no series shipped" -> keep the node's existing summary. + const yieldSummary = recomputeYieldSummary(selectedNode.yield_series, cutoff); + const consumptionSummary = recomputeConsumptionSummary( + selectedNode.consumption_series, + cutoff, + ); + + return { + ...selectedNode, + stats, + observations: filtered, + monthly: filteredMonthly, + cost: selectedNode.cost, + pct_exceeding_plan: pctExceeding(values, selectedNode.plan), + ...(yieldSummary !== undefined ? { yield_summary: yieldSummary } : {}), + ...(consumptionSummary !== undefined + ? { consumption_summary: consumptionSummary } + : {}), + }; +} +export function filterGraphNodeByDateRange( + node: GraphNode, + range: TimeRange, + excludeOutliers = true, + basis: ProcurementBasis = "first", +): GraphNode { + return windowGraphNodeToRange( + applyOutlierSelectionToNode( + applyProcurementBasisToNode(node, basis), + excludeOutliers, + ), + range, + ); +} diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/records-derive.test.ts b/apps/hash-frontend/src/pages/supply-chain/shared/records-derive.test.ts new file mode 100644 index 00000000000..9d6f07af738 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/records-derive.test.ts @@ -0,0 +1,283 @@ +import { describe, expect, it } from "vitest"; + +import { deriveTimingFromRecords, ensureStepStats } from "./normalize-contract"; + +import type { DetailRows, StepDetail, StepDetailWire } from "./types"; + +const detailRows: DetailRows = { + columns: [ + { + key: "consumption_date", + source_field: "BUDAT", + source_table: "MKPF", + label: "Consumption Date", + }, + { + key: "dwell_days", + source_field: null, + source_table: null, + label: "Dwell Days", + }, + ], + + rows: [ + { consumption_date: "2026-01-10", dwell_days: 10 }, + { consumption_date: "2026-01-20", dwell_days: 20 }, + { consumption_date: "2026-02-05", dwell_days: 30 }, + ], +}; + +function recordsOnlyStep(overrides: Partial = {}): StepDetail { + return { + id: "s1", + label: "Step", + type: "raw_material_dwell", + durations: [], + observations: [], + monthly: [], + stats: { + n: 0, + mean: 0, + median: 0, + std: 0, + min: 0, + max: 0, + p25: 0, + p75: 0, + p85: 0, + p95: 0, + }, + plan: null, + plan_note: null, + pct_exceeding_plan: null, + cost: null, + detail_rows: detailRows, + ref_date_col: "consumption_date", + value_col: "dwell_days", + ...overrides, + }; +} + +function recordsOnlyWireStep( + overrides: Partial = {}, +): StepDetailWire { + const { + durations: _durations, + observations: _observations, + monthly: _monthly, + stats: _stats, + ...wireStep + } = recordsOnlyStep(); + + return { ...wireStep, ...overrides }; +} + +describe("deriveTimingFromRecords", () => { + it("rehydrates observations/durations/monthly/stats from detail_rows", () => { + const derived = deriveTimingFromRecords(recordsOnlyStep()); + expect( + derived.observations.map((observation) => observation.value), + ).toEqual([10, 20, 30]); + expect(derived.durations).toEqual([10, 20, 30]); + expect(derived.stats.n).toBe(3); + expect(derived.stats.median).toBe(20); + // Two calendar months: 2026-01 (10,20) and 2026-02 (30). + expect(derived.monthly.map((month) => month.month)).toEqual([ + "2026-01", + "2026-02", + ]); + const january = derived.monthly[0]; + const february = derived.monthly[1]; + expect(january).toBeDefined(); + expect(february).toBeDefined(); + expect(january!.n).toBe(2); + expect(february!.median).toBe(30); + }); + + it("is a strict no-op when observations are already present", () => { + const step = recordsOnlyStep({ + observations: [{ date: "2026-03-01", value: 99 }], + }); + const derived = deriveTimingFromRecords(step); + expect(derived.observations).toEqual([{ date: "2026-03-01", value: 99 }]); + expect(derived).toBe(step); + }); + + it("is a no-op without value_col", () => { + const step = recordsOnlyStep({ value_col: null }); + expect(deriveTimingFromRecords(step)).toBe(step); + }); + + it("ensureStepStats derives then fills stats for a records-only payload", () => { + const out = ensureStepStats(recordsOnlyStep()); + expect(out.stats.n).toBe(3); + expect(out.observations).toHaveLength(3); + }); + + it("accepts records-only wire payloads with omitted derived timing arrays", () => { + const out = ensureStepStats(recordsOnlyWireStep()); + + expect(out.durations).toEqual([10, 20, 30]); + expect(out.observations).toHaveLength(3); + expect(out.monthly.map((month) => month.month)).toEqual([ + "2026-01", + "2026-02", + ]); + expect(out.stats.n).toBe(3); + }); + + it.each([ + { + type: "transit" as const, + dateCol: "arrival_date", + valueCol: "transit_days", + rows: [ + { arrival_date: "2026-01-15", transit_days: 31 }, + { arrival_date: "2026-01-18", transit_days: 9 }, + ], + }, + { + type: "qa_hold" as const, + dateCol: "qa_release_date", + valueCol: "hold_days", + rows: [ + { qa_release_date: "2026-03-02", hold_days: 4 }, + { qa_release_date: "2026-04-12", hold_days: 8 }, + ], + }, + { + type: "production" as const, + dateCol: "finish_date", + valueCol: "production_days", + rows: [ + { finish_date: "2026-05-01", production_days: 3 }, + { finish_date: "2026-05-06", production_days: 7 }, + ], + }, + { + type: "destination_dwell" as const, + dateCol: "outbound_date", + valueCol: "dwell_days", + rows: [ + { outbound_date: "2026-06-01", dwell_days: 15 }, + { outbound_date: "2026-06-21", dwell_days: 25 }, + ], + }, + ])( + "derives representative $type records-only timing payloads", + ({ type, dateCol, valueCol, rows }) => { + const indexedRows = rows as Array>; + const step = recordsOnlyStep({ + type, + detail_rows: { + columns: [ + { + key: dateCol, + source_field: null, + source_table: null, + label: dateCol, + }, + { + key: valueCol, + source_field: null, + source_table: null, + label: valueCol, + }, + ], + + rows: indexedRows, + }, + ref_date_col: dateCol, + value_col: valueCol, + }); + + const out = ensureStepStats(step); + expect(out.observations).toEqual( + indexedRows.map((row) => ({ + date: row[dateCol] as string, + value: row[valueCol] as number, + })), + ); + expect(out.stats.n).toBe(rows.length); + expect(out.monthly.length).toBeGreaterThan(0); + }, + ); + + it("derives procurement timing as one first/full observation per PO", () => { + const step = recordsOnlyStep({ + type: "procurement", + detail_rows: { + columns: [ + { + key: "po_number", + source_field: null, + source_table: null, + label: "PO Number", + }, + { + key: "po_date", + source_field: null, + source_table: null, + label: "PO Date", + }, + { + key: "first_gr_date", + source_field: null, + source_table: null, + label: "First GR Date", + }, + { + key: "last_gr_date", + source_field: null, + source_table: null, + label: "Last GR Date", + }, + { + key: "lead_time_days", + source_field: null, + source_table: null, + label: "First Receipt (days)", + }, + ], + + rows: [ + { + po_number: "PO-A", + po_date: "2026-01-01", + first_gr_date: "2026-01-11", + last_gr_date: "2026-01-11", + lead_time_days: 10, + }, + { + po_number: "PO-A", + po_date: "2026-01-01", + first_gr_date: "2026-01-31", + last_gr_date: "2026-01-31", + lead_time_days: 30, + }, + { + po_number: "PO-B", + po_date: "2026-02-01", + first_gr_date: "2026-02-21", + last_gr_date: "2026-03-18", + lead_time_days: 20, + }, + ], + }, + ref_date_col: "first_gr_date", + value_col: "lead_time_days", + }); + + const out = ensureStepStats(step); + expect(out.observations).toEqual([ + { date: "2026-01-11", value: 10 }, + { date: "2026-02-21", value: 20 }, + ]); + expect(out.complete_timing?.observations).toEqual([ + { date: "2026-01-31", value: 30 }, + { date: "2026-03-18", value: 45 }, + ]); + expect(out.stats.n).toBe(2); + expect(out.complete_timing?.stats.n).toBe(2); + }); +}); diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/registry-context.ts b/apps/hash-frontend/src/pages/supply-chain/shared/registry-context.ts new file mode 100644 index 00000000000..adbc699a532 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/registry-context.ts @@ -0,0 +1,25 @@ +import { createContext, useContext } from "react"; + +import type { SiteRef } from "./data"; +import type { Product } from "./types"; + +/** + * The product + site registry, loaded once by `SupplyChainDataShell` and shared with every + * page via context. Mirrors the app shell bootstrap (products and + * sites were fetched once at app start) now that each route is its own page. + */ +export interface Registry { + products: Product[]; + sites: SiteRef[]; + demoActive: boolean; +} + +export const RegistryContext = createContext({ + products: [], + sites: [], + demoActive: false, +}); + +export function useRegistry(): Registry { + return useContext(RegistryContext); +} diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/scope-context.ts b/apps/hash-frontend/src/pages/supply-chain/shared/scope-context.ts new file mode 100644 index 00000000000..835c933005b --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/scope-context.ts @@ -0,0 +1,22 @@ +import { createContext, useContext } from "react"; + +import type { WebId } from "@blockprotocol/type-system"; + +/** + * The active data scope. Supply-chain views use this to scope analysis queries, + * status reports, and user preferences to the resolved HASH web. + * + * Following the codebase convention (see `registry-context`/`cost`), the context + * + hook live here and `SupplyChainDataShell` renders `ScopeContext.Provider` inline. + */ +export const LOCAL_SCOPE = "local" as WebId; + +export interface Scope { + scope: WebId; +} + +export const ScopeContext = createContext({ scope: LOCAL_SCOPE }); + +export function useScope(): WebId { + return useContext(ScopeContext).scope; +} diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/scope-select.tsx b/apps/hash-frontend/src/pages/supply-chain/shared/scope-select.tsx new file mode 100644 index 00000000000..83497015238 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/scope-select.tsx @@ -0,0 +1,70 @@ +import { useRouter } from "next/router"; +import { useCallback } from "react"; + +import { useRegistry } from "./registry-context"; +import { SearchableSelect } from "./searchable-select"; +import { trackSupplyChainInteraction } from "./telemetry"; + +/** + * Product/site picker rendered as the page title (display-sized dropdown). Reads + * the registry + active scope to show the selected label, and navigates on change. + */ +export const ScopeSelect = ({ + productId: productIdProp, + siteId: siteIdProp, +}: { productId?: string; siteId?: string } = {}) => { + const router = useRouter(); + const { products, sites } = useRegistry(); + + const query = router.query as Record; + const isSiteScope = router.pathname.startsWith("/supply-chain/site/"); + const productId = + productIdProp ?? query.productId ?? query["product-id"] ?? ""; + const siteId = siteIdProp ?? query.siteId ?? query["site-id"] ?? ""; + const scopeValue = isSiteScope ? `site:${siteId}` : productId; + + const handleScopeChange = useCallback( + (val: string) => { + trackSupplyChainInteraction({ + interaction: "scope_picker_changed", + source: "scope_select", + }); + if (val.startsWith("site:")) { + void router.push(`/supply-chain/site/${val.replace("site:", "")}`); + } else { + void router.push(`/supply-chain/product/${val}`); + } + }, + [router], + ); + + const scopeGroups = [ + ...(sites.length > 0 + ? [ + { + label: "Sites", + options: sites.map((step) => ({ + value: `site:${step.slug}`, + label: step.name, + })), + }, + ] + : []), + { + label: "Products", + options: products.map((product) => ({ + value: product.id, + label: product.name, + })), + }, + ]; + + return ( + + ); +}; diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/searchable-select.tsx b/apps/hash-frontend/src/pages/supply-chain/shared/searchable-select.tsx new file mode 100644 index 00000000000..af3dcd5eb02 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/searchable-select.tsx @@ -0,0 +1,231 @@ +import { Combobox, createListCollection, Portal } from "@ark-ui/react"; +import { useMemo, useState } from "react"; + +import { Icon, usePortalContainerRef } from "@hashintel/ds-components"; +import { css } from "@hashintel/ds-helpers/css"; + +/** + * Local grouped, searchable select built on `@ark-ui/react/combobox` and styled + * with ds-helpers `css()` + design-system tokens. The popover portals into the + * supply-chain layout's token scope. + */ +export interface OptionGroup { + label: string; + options: { value: string; label: string }[]; +} + +interface SearchableSelectProps { + value: string; + onChange: (value: string) => void; + groups: OptionGroup[]; + className?: string; + /** `sm` is the compact toolbar pill; `lg` renders as a display-sized page title. */ + size?: "sm" | "lg"; +} + +const triggerStyles = css({ + display: "inline-flex", + alignItems: "center", + gap: "1", + height: "7", + maxW: "[260px]", + paddingX: "2", + textStyle: "xs", + color: "fg.body", + bg: "bgSolid.min", + borderWidth: "1px", + borderStyle: "solid", + borderColor: "bd.subtle", + borderRadius: "md", + cursor: "pointer", + transition: "colors", + _hover: { borderColor: "bd.solid" }, +}); + +const inputStyles = css({ + flex: "1", + height: "7", + paddingX: "2", + textStyle: "xs", + color: "fg.body", + bg: "[transparent]", + outline: "none", + _placeholder: { color: "fg.subtle" }, +}); + +const triggerLgStyles = css({ + display: "inline-flex", + alignItems: "center", + gap: "2", + maxW: "[480px]", + ml: "[-6px]", + paddingX: "1.5", + paddingY: "0.5", + bg: "[transparent]", + borderWidth: "0", + cursor: "pointer", + _hover: { bg: "bg.subtle" }, +}); + +const inputLgStyles = css({ + fontFamily: "display", + textStyle: "2xl", + fontWeight: "medium", + color: "fg.heading", + lineHeight: "[30px]", + bg: "[transparent]", + outline: "none", + minW: "0", +}); + +const contentStyles = css({ + display: "flex", + flexDirection: "column", + width: "64", + maxH: "[300px]", + overflowY: "auto", + padding: "1", + bg: "bgSolid.min", + borderWidth: "1px", + borderStyle: "solid", + borderColor: "bd.subtle", + borderRadius: "lg", + boxShadow: "lg", + zIndex: "dropdown", +}); + +const groupLabelStyles = css({ + paddingX: "3", + paddingTop: "2", + paddingBottom: "1", + textStyle: "xxs", + fontWeight: "medium", + textTransform: "uppercase", + letterSpacing: "wider", + color: "fg.subtle", +}); + +const itemStyles = css({ + paddingX: "3", + paddingY: "1.5", + textStyle: "xs", + color: "fg.body", + borderRadius: "sm", + cursor: "pointer", + "&[data-highlighted]": { bg: "bg.subtle" }, + "&[data-state=checked]": { color: "fg.heading", fontWeight: "medium" }, +}); + +const emptyStyles = css({ + paddingX: "3", + paddingY: "2", + textStyle: "xs", + color: "fg.subtle", +}); + +export const SearchableSelect = ({ + value, + onChange, + groups, + className, + size = "sm", +}: SearchableSelectProps) => { + const allOptions = useMemo( + () => groups.flatMap((group) => group.options), + [groups], + ); + const selectedLabel = + allOptions.find((observation) => observation.value === value)?.label ?? + value; + + const [query, setQuery] = useState(""); + + const filteredGroups = useMemo(() => { + const query2 = query.trim().toLowerCase(); + if (!query2) { + return groups; + } + return groups + .map((group) => ({ + ...group, + options: group.options.filter((observation) => + observation.label.toLowerCase().includes(query2), + ), + })) + .filter((group) => group.options.length > 0); + }, [groups, query]); + + const collection = useMemo( + () => + createListCollection({ + items: filteredGroups.flatMap((group) => group.options), + itemToValue: (item) => item.value, + itemToString: (item) => item.label, + }), + [filteredGroups], + ); + + const portalRef = usePortalContainerRef(); + + return ( + { + const next = details.value[0]; + if (next !== undefined) { + onChange(next); + } + }} + onInputValueChange={(details) => setQuery(details.inputValue)} + onOpenChange={(details) => { + if (!details.open) { + setQuery(""); + } + }} + selectionBehavior="replace" + placeholder={selectedLabel} + className={className} + > + + + + + + + + + + {filteredGroups.length === 0 ? ( + + No results + + ) : ( + filteredGroups.map((group) => ( + + + {group.label} + + {group.options.map((option) => ( + + {option.label} + + ))} + + )) + )} + + + + + ); +}; diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/segmented-control.tsx b/apps/hash-frontend/src/pages/supply-chain/shared/segmented-control.tsx new file mode 100644 index 00000000000..c0d14984154 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/segmented-control.tsx @@ -0,0 +1,81 @@ +import { css, cx } from "@hashintel/ds-helpers/css"; + +// DELIBERATELY local. The ds `SegmentedControl` renders a frosted-glass backdrop +// (`backdrop-filter: blur`, white/translucent fills, hardcoded rgba borders) and +// an oversized item box (`paddingX:5 paddingY:4`, `fontSize:sm`) that neither +// matches this app's flat neutral surfaces nor fits the `xs` toolbar density. +// We keep this control but drive every value from ds tokens/`textStyle` so it +// stays visually consistent. + +interface SegmentedControlProps { + value: T; + onChange: (value: T) => void; + options: { value: T; label: string }[]; + className?: string; +} + +const group = css({ + display: "inline-flex", + alignItems: "center", + borderRadius: "md", + borderWidth: "1px", + borderStyle: "solid", + borderColor: "bd.subtle", + bg: "bg.surface", + p: "0.5", + gap: "0.5", +}); + +const button = css({ + px: "3", + py: "1", + textStyle: "xs", + // Pin a tight leading: the `xs` textStyle's 1.6em line-height otherwise + // inflates the control height well beyond its padding. + lineHeight: "none", + fontWeight: "medium", + // Inner radius one step below the group's `md` so the active pill nests + // cleanly inside the 0.5 padding; token-driven (no arbitrary px). + borderRadius: "sm", + transition: "colors", + whiteSpace: "nowrap", + cursor: "pointer", + borderWidth: "1px", + borderStyle: "solid", + borderColor: "[transparent]", +}); +const buttonActive = css({ + bg: "bgSolid.min", + borderColor: "bd.subtle", + color: "fg.heading", + boxShadow: "sm", +}); +const buttonInactive = css({ + color: "fg.subtle", + _hover: { color: "fg.muted" }, +}); + +export const SegmentedControl = ({ + value, + onChange, + options, + className, +}: SegmentedControlProps) => { + return ( +
    + {options.map((opt) => ( + + ))} +
    + ); +}; diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/site-aggregation.test.ts b/apps/hash-frontend/src/pages/supply-chain/shared/site-aggregation.test.ts new file mode 100644 index 00000000000..f47d1c2ce37 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/site-aggregation.test.ts @@ -0,0 +1,344 @@ +import { describe, expect, it } from "vitest"; + +import { + computeNodePeriodCost, + countBadPlanningParams, + deduplicateNodes, + topDwellCosts, + topPlanningMismatches, +} from "./site-aggregation"; + +import type { + CostData, + GraphData, + GraphNode, + MonthlyBucket, + Product, + SiteData, + SiteNode, + StepStats, +} from "./types"; + +const zeroStats: StepStats = { + n: 0, + mean: 0, + median: 0, + std: 0, + min: 0, + max: 0, + p25: 0, + p75: 0, + p85: 0, + p95: 0, +}; + +function stats(count: number, median: number): StepStats { + return { ...zeroStats, n: count, median, mean: median }; +} + +function cost(unitPrice: number | null): CostData { + return { unit_price: unitPrice, currency: "EUR" }; +} + +function kgDayMonth(month: string, totalKgDays: number): MonthlyBucket { + return { month, mean: null, median: null, n: 1, total_kg_days: totalKgDays }; +} + +function node(overrides: Partial): GraphNode { + return { + id: "n", + label: "Node", + type: "intermediate_dwell", + material: null, + plant: "PL-A", + stats: zeroStats, + plan: null, + plan_note: null, + pct_exceeding_plan: null, + cost: null, + ...overrides, + }; +} + +function siteNode(overrides: Partial): SiteNode { + return { ...node({}), products: [{ id: "p1", name: "P1" }], ...overrides }; +} + +describe("deduplicateNodes", () => { + it("merges shared raw-material nodes across products by material, plant, type, and series", () => { + const shared = node({ + id: "rm", + type: "raw_material_dwell", + material: "MAT-1", + plant: "PL-A", + }); + const productA: Product = { id: "pa", name: "Product A", material: "FG-A" }; + const productB: Product = { id: "pb", name: "Product B", material: "FG-B" }; + const graphA: GraphData = { + product_id: "pa", + product_name: "Product A", + nodes: [ + shared, + node({ id: "prodA", type: "production", material: "FG-A" }), + ], + + edges: [], + pipeline_summary: {}, + }; + const graphB: GraphData = { + product_id: "pb", + product_name: "Product B", + nodes: [ + shared, + node({ id: "prodB", type: "production", material: "FG-B" }), + ], + + edges: [], + pipeline_summary: {}, + }; + const site: SiteData = { + graphs: [ + { product: productA, graph: graphA }, + { product: productB, graph: graphB }, + ], + }; + + const result = deduplicateNodes(site); + const rm = result.find((row) => row.id === "rm"); + expect(rm).toBeDefined(); + expect(rm?.products.map((product) => product.id).sort()).toEqual([ + "pa", + "pb", + ]); + // The two product-specific production nodes stay distinct. + expect(result.filter((row) => row.type === "production")).toHaveLength(2); + }); + + it("merges duplicated intermediate dwell rows used by multiple products", () => { + const monthly = [kgDayMonth("2026-01", 10000)]; + const sharedA = node({ + id: "im-a", + label: "Intermediate Dwell: MN-L Wet Cake", + type: "intermediate_dwell", + material: "MN-L Wet Cake", + plant: "PL-A", + stats: stats(10, 23.5), + cost: cost(100), + monthly, + }); + const sharedB = { ...sharedA, id: "im-b" }; + const productA: Product = { id: "pa", name: "Product A", material: "FG-A" }; + const productB: Product = { id: "pb", name: "Product B", material: "FG-B" }; + const site: SiteData = { + graphs: [ + { + product: productA, + graph: { + product_id: "pa", + product_name: "Product A", + nodes: [sharedA], + edges: [], + pipeline_summary: {}, + }, + }, + { + product: productB, + graph: { + product_id: "pb", + product_name: "Product B", + nodes: [sharedB], + edges: [], + pipeline_summary: {}, + }, + }, + ], + }; + + const result = deduplicateNodes(site); + + expect(result).toHaveLength(1); + const deduplicated = result[0]; + expect(deduplicated).toBeDefined(); + expect(deduplicated!.products.map((product) => product.id).sort()).toEqual([ + "pa", + "pb", + ]); + expect(computeNodePeriodCost(deduplicated!, 0.1, 0.336)).toBeCloseTo( + computeNodePeriodCost({ ...sharedA, products: [productA] }, 0.1, 0.336), + 6, + ); + }); + + it("keeps genuinely different dwell series separate even when material matches", () => { + const base = node({ + id: "im-a", + label: "Intermediate Dwell: Shared Material", + type: "intermediate_dwell", + material: "Shared Material", + plant: "PL-A", + stats: stats(10, 20), + cost: cost(100), + monthly: [kgDayMonth("2026-01", 10000)], + }); + const different = { + ...base, + id: "im-b", + stats: stats(8, 12), + monthly: [kgDayMonth("2026-01", 3000)], + }; + const productA: Product = { id: "pa", name: "Product A", material: "FG-A" }; + const productB: Product = { id: "pb", name: "Product B", material: "FG-B" }; + const site: SiteData = { + graphs: [ + { + product: productA, + graph: { + product_id: "pa", + product_name: "Product A", + nodes: [base], + edges: [], + pipeline_summary: {}, + }, + }, + { + product: productB, + graph: { + product_id: "pb", + product_name: "Product B", + nodes: [different], + edges: [], + pipeline_summary: {}, + }, + }, + ], + }; + + expect(deduplicateNodes(site)).toHaveLength(2); + }); + + it("aggregates product-scoped raw-material dwell series at site level", () => { + const productA: Product = { id: "pa", name: "Product A", material: "FG-A" }; + const productB: Product = { id: "pb", name: "Product B", material: "FG-B" }; + const rawA = node({ + id: "raw-a", + type: "raw_material_dwell", + material: "MAT-1", + plant: "PL-A", + stats: stats(1, 10), + cost: cost(100), + observations: [{ date: "2026-01-10", value: 10 }], + monthly: [kgDayMonth("2026-01", 1000)], + }); + const rawB = node({ + id: "raw-b", + type: "raw_material_dwell", + material: "MAT-1", + plant: "PL-A", + stats: stats(1, 30), + cost: cost(100), + observations: [{ date: "2026-01-20", value: 30 }], + monthly: [kgDayMonth("2026-01", 3000)], + }); + const site: SiteData = { + graphs: [ + { + product: productA, + graph: { + product_id: "pa", + product_name: "Product A", + nodes: [rawA], + edges: [], + pipeline_summary: {}, + }, + }, + { + product: productB, + graph: { + product_id: "pb", + product_name: "Product B", + nodes: [rawB], + edges: [], + pipeline_summary: {}, + }, + }, + ], + }; + + const result = deduplicateNodes(site); + + expect(result).toHaveLength(1); + expect(result[0]?.stats).toMatchObject({ n: 2, mean: 20, median: 20 }); + expect(result[0]?.monthly).toEqual([ + { month: "2026-01", mean: 20, median: 20, n: 2, total_kg_days: 4000 }, + ]); + expect(result[0]?.products.map((product) => product.id).sort()).toEqual([ + "pa", + "pb", + ]); + }); +}); + +describe("computeNodePeriodCost", () => { + it("sums monthly kg-day cost using unit price + params", () => { + const count = siteNode({ + cost: cost(100), + monthly: [kgDayMonth("2026-01", 1000), kgDayMonth("2026-02", 500)], + }); + const wacc = 0.1; + const storage = 0.336; + const rate = 100 * (wacc / 365) + storage / 1000; + expect(computeNodePeriodCost(count, wacc, storage)).toBeCloseTo( + 1500 * rate, + 6, + ); + }); + + it("is zero with no monthly data", () => { + expect( + computeNodePeriodCost(siteNode({ cost: cost(100) }), 0.1, 0.336), + ).toBe(0); + }); +}); + +describe("site rollups", () => { + const dwellBig = siteNode({ + id: "d1", + type: "intermediate_dwell", + stats: stats(10, 30), + cost: cost(100), + monthly: [kgDayMonth("2026-01", 10000)], + }); + const dwellSmall = siteNode({ + id: "d2", + type: "post_qa_ship", + stats: stats(10, 5), + cost: cost(10), + monthly: [kgDayMonth("2026-01", 100)], + }); + + it("ranks dwell nodes by period cost", () => { + const top = topDwellCosts([dwellBig, dwellSmall], 0.1, 0.336, 5); + expect(top.map((threshold) => threshold.id)).toEqual(["d1", "d2"]); + const first = top[0]; + const second = top[1]; + expect(first).toBeDefined(); + expect(second).toBeDefined(); + expect(first!.periodCost).toBeGreaterThan(second!.periodCost); + }); + + it("ranks planning mismatches by deviation vs plan", () => { + const over = siteNode({ id: "o", stats: stats(5, 30), plan: 10 }); // +200% + const under = siteNode({ id: "u", stats: stats(5, 12), plan: 10 }); // +20% + const top = topPlanningMismatches([under, over], 5); + const topMismatch = top[0]; + expect(topMismatch).toBeDefined(); + expect(topMismatch!.id).toBe("o"); + expect(topMismatch!.deviationPct).toBeCloseTo(200, 6); + }); + + it("counts nodes whose median exceeds plan by >20%", () => { + const bad = siteNode({ id: "b", stats: stats(5, 13), plan: 10 }); // 1.3x + const ok = siteNode({ id: "k", stats: stats(5, 11), plan: 10 }); // 1.1x + expect(countBadPlanningParams([bad, ok])).toBe(1); + }); +}); diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/site-aggregation.ts b/apps/hash-frontend/src/pages/supply-chain/shared/site-aggregation.ts new file mode 100644 index 00000000000..0699e16e495 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/site-aggregation.ts @@ -0,0 +1,270 @@ +import { DWELL_TYPES } from "./categories"; +import { computePeriodCost } from "./cost"; +import { type BaseMeasure, selectStat } from "./measure-context"; +import { computeStats } from "./stats"; + +import type { + MonthlyBucket, + SiteData, + SiteNode, + GraphNode, + StepStats, +} from "./types"; + +const SHARED_STEP_TYPES = new Set(["raw_material_dwell", "procurement"]); + +function normaliseLabel(label: string): string { + return label.trim().toLowerCase().replace(/\s+/g, " "); +} +function fingerprintValue(value: string | number | null | undefined): string { + if (typeof value === "number") { + return Number.isFinite(value) ? value.toPrecision(12) : "nan"; + } + return value ?? "null"; +} +function costFingerprint( + unitPrice: number | null | undefined, + currency: string | null | undefined, +): string { + return [unitPrice, currency].map(fingerprintValue).join(":"); +} +function monthlyFingerprint(monthly: MonthlyBucket[] | undefined): string { + if (!monthly || monthly.length === 0) { + return "no-monthly"; + } + return monthly + .map((month) => + [month.month, month.n, month.total_kg_days, month.mean, month.median] + .map(fingerprintValue) + .join(":"), + ) + .join(";"); +} +function statsFingerprint(stats: StepStats): string { + return [ + stats.n, + stats.mean, + stats.median, + stats.std, + stats.min, + stats.max, + stats.p25, + stats.p75, + stats.p85, + stats.p95, + ] + .map(fingerprintValue) + .join(","); +} +function dwellSeriesFingerprint(node: GraphNode): string { + return [ + statsFingerprint(node.stats), + monthlyFingerprint(node.monthly), + costFingerprint(node.cost?.unit_price, node.cost?.currency), + ].join("~"); +} +function dwellDedupKey(node: GraphNode, productId: string): string { + if (node.type === "raw_material_dwell" && node.material) { + return ["raw-dwell", node.plant, node.type, node.material].join("|"); + } + const series = dwellSeriesFingerprint(node); + if (node.material) { + return ["dwell", node.plant, node.type, node.material, series].join("|"); + } + return [ + "dwell", + node.plant, + node.type, + normaliseLabel(node.label), + series || productId, + ].join("|"); +} +function dedupKey(node: GraphNode, productId: string): string { + if (DWELL_TYPES.includes(node.type)) { + return dwellDedupKey(node, productId); + } + if (SHARED_STEP_TYPES.has(node.type) && node.material) { + return ["shared", node.material, node.plant, node.type].join("|"); + } + return ["product", productId, node.id, node.plant, node.type].join("|"); +} +function aggregateMonthlyBuckets(nodes: GraphNode[]): MonthlyBucket[] { + const observationsByMonth = new Map(); + const kgDaysByMonth = new Map(); + + for (const node of nodes) { + for (const observation of node.observations ?? []) { + const month = observation.date.slice(0, 7); + const values = observationsByMonth.get(month); + if (values) { + values.push(observation.value); + } else { + observationsByMonth.set(month, [observation.value]); + } + } + for (const bucket of node.monthly ?? []) { + kgDaysByMonth.set( + bucket.month, + (kgDaysByMonth.get(bucket.month) ?? 0) + (bucket.total_kg_days ?? 0), + ); + } + } + + return [...new Set([...observationsByMonth.keys(), ...kgDaysByMonth.keys()])] + .sort() + .map((month) => { + const values = observationsByMonth.get(month) ?? []; + const stats = computeStats(values); + return { + month, + mean: values.length > 0 ? stats.mean : null, + median: values.length > 0 ? stats.median : null, + n: values.length > 0 ? stats.n : 0, + total_kg_days: kgDaysByMonth.get(month) ?? 0, + }; + }); +} + +function aggregateRawMaterialDwellNodes(nodes: GraphNode[]): GraphNode { + const uniqueSeries = new Map(); + for (const node of nodes) { + uniqueSeries.set(dwellSeriesFingerprint(node), node); + } + const uniqueNodes = [...uniqueSeries.values()]; + if (uniqueNodes.length === 1) { + return uniqueNodes[0]!; + } + + const observations = uniqueNodes.flatMap((node) => node.observations ?? []); + const stats = computeStats( + observations.map((observation) => observation.value), + ); + return { + ...uniqueNodes[0]!, + observations, + monthly: aggregateMonthlyBuckets(uniqueNodes), + stats, + pct_exceeding_plan: null, + }; +} + +export function deduplicateNodes(siteData: SiteData): SiteNode[] { + const grouped = new Map< + string, + { + nodes: GraphNode[]; + products: Array<{ id: string; name: string }>; + } + >(); + + for (const { product, graph } of siteData.graphs) { + for (const node of graph.nodes) { + const key = dedupKey(node, product.id); + const existing = grouped.get(key); + if (existing) { + existing.nodes.push(node); + if (!existing.products.some((product2) => product2.id === product.id)) { + existing.products.push({ id: product.id, name: product.name }); + } + } else { + grouped.set(key, { + nodes: [node], + products: [{ id: product.id, name: product.name }], + }); + } + } + } + + return Array.from(grouped.values()).map(({ nodes, products }) => { + const node = + nodes[0]?.type === "raw_material_dwell" + ? aggregateRawMaterialDwellNodes(nodes) + : nodes[0]!; + return { + ...node, + products, + }; + }); +} + +export function computeNodePeriodCost( + node: SiteNode, + waccRate: number, + storageCost: number, +): number { + return computePeriodCost( + node.monthly, + node.cost?.unit_price, + waccRate, + storageCost, + ); +} + +export function totalSiteDwellCost( + nodes: SiteNode[], + waccRate: number, + storageCost: number, +): number { + return nodes + .filter((count) => DWELL_TYPES.includes(count.type) && count.stats.n > 0) + .reduce( + (acc, count) => acc + computeNodePeriodCost(count, waccRate, storageCost), + 0, + ); +} + +export function topDwellCosts( + nodes: SiteNode[], + waccRate: number, + storageCost: number, + count: number, +): Array { + return nodes + .filter((node) => DWELL_TYPES.includes(node.type) && node.stats.n > 0) + .map((node) => ({ + ...node, + periodCost: computeNodePeriodCost(node, waccRate, storageCost), + })) + .filter((node) => node.periodCost > 0) + .sort((left, right) => right.periodCost - left.periodCost) + .slice(0, count); +} + +function planningDeviation( + node: SiteNode, + measure: BaseMeasure, +): number | null { + if (node.plan == null || node.plan <= 0) { + return null; + } + return ( + (((selectStat(node.stats, measure) ?? 0) - node.plan) / node.plan) * 100 + ); +} + +export function topPlanningMismatches( + nodes: SiteNode[], + count: number, + measure: BaseMeasure = "median", +): Array { + return nodes + .filter((node) => node.plan != null && node.plan > 0 && node.stats.n > 0) + .map((node) => ({ + ...node, + deviationPct: planningDeviation(node, measure) as number, + })) + .sort((left, right) => right.deviationPct - left.deviationPct) + .slice(0, count); +} + +export function countBadPlanningParams( + nodes: SiteNode[], + measure: BaseMeasure = "median", +): number { + return nodes.filter((node) => { + if (node.plan == null || node.plan <= 0 || node.stats.n === 0) { + return false; + } + return (selectStat(node.stats, measure) ?? 0) > node.plan * 1.2; + }).length; +} diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/site-node-key.ts b/apps/hash-frontend/src/pages/supply-chain/shared/site-node-key.ts new file mode 100644 index 00000000000..578e067d344 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/site-node-key.ts @@ -0,0 +1,11 @@ +/** + * Stable identity for a site node / table row: the node id plus its product-id + * set (a node can appear once per product grouping). Used for React keys and + * for matching current rows to their historical counterparts. + */ +export function siteNodeKey(node: { + id: string; + products: { id: string }[]; +}): string { + return `${node.id}-${node.products.map((product) => product.id).join(",")}`; +} diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/slide-over.tsx b/apps/hash-frontend/src/pages/supply-chain/shared/slide-over.tsx new file mode 100644 index 00000000000..cdb3feff6d0 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/slide-over.tsx @@ -0,0 +1,142 @@ +import { Dialog as ArkDialog, Portal } from "@ark-ui/react"; +import { + createContext, + useCallback, + useContext, + useEffect, + useState, + type ReactNode, +} from "react"; + +import { usePortalContainerRef } from "@hashintel/ds-components"; +import { css, cx } from "@hashintel/ds-helpers/css"; + +/** + * Right-anchored slide-over (drawer) built on `@ark-ui/react/dialog`, styled with + * ds-helpers `css()` + design-system tokens. Mounted === + * open (caller conditionally renders); closes on Escape / backdrop / outside + * click. Portals into the supply-chain layout scope so tokens resolve. Caller + * owns header + body. + * + * Enter/exit animation: the panel slides via the positioner's `right` offset and + * the backdrop fades, driven by a local `visible` flag. We deliberately animate + * `right` (not `transform`) so no containing block is created — the data-table + * modal renders inline inside the content with `position: fixed` and must stay + * relative to the viewport. On close we play the exit animation, then defer the + * caller's `onClose` (which unmounts us) until the transition finishes. + */ + +const EXIT_MS = 200; + +const SlideOverCloseContext = createContext<(() => void) | null>(null); + +/** Animated close for descendants (Back / X buttons) — plays the slide-out. */ +function useSlideOverClose(): () => void { + const close = useContext(SlideOverCloseContext); + return close ?? (() => {}); +} + +/** + * Render-prop access to the slide-over's animated close. Use for in-panel Back / + * ✕ controls (e.g. a ds `Button`) so they play the exit slide instead of + * unmounting instantly — pass `close` to the control's `onClick`. Must be + * rendered inside ``. + */ +export const SlideOverClose = ({ + children, +}: { + children: (close: () => void) => ReactNode; +}) => { + const close = useSlideOverClose(); + return <>{children(close)}; +}; + +interface SlideOverProps { + onClose: () => void; + children: ReactNode; + /** Optional className for the content panel (e.g. width overrides). */ + className?: string; + /** Accessible label for the dialog. */ + label?: string; +} + +const backdropBase = css({ + position: "fixed", + inset: "0", + bg: "neutral.a80", + zIndex: "overlay", + opacity: "[0]", + transition: "[opacity 200ms ease-out]", +}); +const backdropVisible = css({ opacity: "[1]" }); + +const positionerBase = css({ + position: "fixed", + top: "0", + bottom: "0", + right: "[-960px]", + display: "flex", + zIndex: "modal", + transition: "[right 200ms ease-out]", +}); +const positionerVisible = css({ right: "0" }); + +const contentStyles = css({ + height: "full", + width: "[960px]", + maxWidth: "[90vw]", + overflowY: "auto", + bg: "bgSolid.min", + boxShadow: "2xl", +}); + +export const SlideOver = ({ + onClose, + children, + className, + label, +}: SlideOverProps) => { + const portalRef = usePortalContainerRef(); + const [visible, setVisible] = useState(false); + + useEffect(() => { + const id = requestAnimationFrame(() => setVisible(true)); + return () => cancelAnimationFrame(id); + }, []); + + const requestClose = useCallback(() => { + setVisible(false); + window.setTimeout(onClose, EXIT_MS); + }, [onClose]); + + return ( + + { + if (!details.open) { + requestClose(); + } + }} + > + + + + + {children} + + + + + + ); +}; diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/stat-chip.tsx b/apps/hash-frontend/src/pages/supply-chain/shared/stat-chip.tsx new file mode 100644 index 00000000000..b278fbf15e5 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/stat-chip.tsx @@ -0,0 +1,53 @@ +import { css, cx } from "@hashintel/ds-helpers/css"; + +// `flexWrap` lets the label drop onto its own line *under* the value when the +// chip is squeezed (value and label each stay unbroken), and sit inline beside +// it when there's room. `minW:0` lets the chip shrink to trigger that wrap. +const chip = css({ + display: "flex", + flexWrap: "wrap", + alignItems: "center", + columnGap: "1", + rowGap: "0", + minW: "0", + pr: "4", + mr: "4", + borderRightWidth: "1px", + borderColor: "bd.subtle", + _last: { borderRightWidth: "0", pr: "0", mr: "0" }, +}); +const valueBase = css({ + fontWeight: "medium", + textStyle: "sm", + fontVariantNumeric: "tabular-nums", + flexShrink: "0", +}); +const valueHighlight = css({ color: "status.error.fg.body" }); +const valuePlain = css({ color: "fg.max" }); +const labelText = css({ + textStyle: "sm", + color: "fg.subtle", + whiteSpace: "nowrap", +}); + +/** Inline labelled metric, separated from siblings by a right border. */ +export const StatChip = ({ + value, + label, + isHighlight, +}: { + value: string; + label: string; + isHighlight?: boolean; +}) => { + return ( +
    + + {value} + + {label} +
    + ); +}; diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/stats.test.ts b/apps/hash-frontend/src/pages/supply-chain/shared/stats.test.ts new file mode 100644 index 00000000000..018b7d3832a --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/stats.test.ts @@ -0,0 +1,25 @@ +import { describe, expect, it } from "vitest"; + +import { emptyStats } from "./observation-fixtures"; +import { computeStats } from "./stats"; + +describe("computeStats", () => { + it("returns zeroed stats for an empty input", () => { + expect(computeStats([])).toEqual(emptyStats); + }); + + it("computes mean/median/percentiles with linear interpolation", () => { + expect(computeStats([10, 20, 30])).toEqual({ + n: 3, + mean: 20, + median: 20, + std: 8.2, + min: 10, + max: 30, + p25: 15, + p75: 25, + p85: 27, + p95: 29, + }); + }); +}); diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/stats.ts b/apps/hash-frontend/src/pages/supply-chain/shared/stats.ts new file mode 100644 index 00000000000..df609511820 --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/stats.ts @@ -0,0 +1,66 @@ +import type { StepStats } from "./types"; + +/** Round to one decimal place (the app's canonical display precision). */ +export function round(value: number): number { + return Math.round(value * 10) / 10; +} + +/** Percentile of a pre-sorted array via linear interpolation. */ +export function percentileOf(sorted: number[], percentileRank: number): number { + if (sorted.length === 0) { + throw new Error("Cannot compute a percentile of an empty series"); + } + const count = sorted.length; + const idx = (percentileRank / 100) * (count - 1); + const lo = Math.floor(idx); + const hi = Math.ceil(idx); + const low = sorted[lo]; + const high = sorted[hi]; + if (low === undefined || high === undefined) { + throw new Error("Percentile index was outside the provided series"); + } + if (lo === hi) { + return low; + } + return low + (high - low) * (idx - lo); +} + +/** Summary statistics (mean/median/std/percentiles) over a value set. */ +export function computeStats(values: number[]): StepStats { + if (values.length === 0) { + return { + n: 0, + mean: 0, + median: 0, + std: 0, + min: 0, + max: 0, + p25: 0, + p75: 0, + p85: 0, + p95: 0, + }; + } + const sorted = [...values].sort((left, right) => left - right); + const count = sorted.length; + const min = sorted[0]; + const max = sorted[count - 1]; + if (min === undefined || max === undefined) { + throw new Error("Cannot compute stats for an empty series"); + } + const mean = sorted.reduce((left, right) => left + right, 0) / count; + const variance = + sorted.reduce((left, right) => left + (right - mean) ** 2, 0) / count; + return { + n: count, + mean: round(mean), + median: round(percentileOf(sorted, 50)), + std: round(Math.sqrt(variance)), + min, + max, + p25: round(percentileOf(sorted, 25)), + p75: round(percentileOf(sorted, 75)), + p85: round(percentileOf(sorted, 85)), + p95: round(percentileOf(sorted, 95)), + }; +} diff --git a/apps/hash-frontend/src/pages/supply-chain/shared/status-dialog.tsx b/apps/hash-frontend/src/pages/supply-chain/shared/status-dialog.tsx new file mode 100644 index 00000000000..1c6522b4aed --- /dev/null +++ b/apps/hash-frontend/src/pages/supply-chain/shared/status-dialog.tsx @@ -0,0 +1,311 @@ +import { useEffect, useRef, useState, type FormEvent } from "react"; +import { createPortal } from "react-dom"; + +import { usePortalContainerRef } from "@hashintel/ds-components"; +import { css, cx } from "@hashintel/ds-helpers/css"; + +import { + STATUS_OPTIONS, + statusCommentRequired, + type StatusOption, +} from "./status"; +import { trackSupplyChainInteraction } from "./telemetry"; + +// `popover` sits above the slide-over (`modal`), so the dialog appears over an +// open step detail panel rather than behind it. +const backdrop = css({ + position: "fixed", + inset: "0", + zIndex: "popover", + bg: "neutral.a80", + display: "flex", + alignItems: "center", + justifyContent: "center", + p: "4", +}); +const panel = css({ + display: "flex", + flexDirection: "column", + w: "full", + maxW: "lg", + maxH: "[calc(100dvh-2rem)]", + overflowY: "auto", + borderWidth: "1px", + borderStyle: "solid", + borderColor: "bd.subtle", + borderRadius: "lg", + bg: "bgSolid.min", + boxShadow: "2xl", +}); +const headerRow = css({ + px: "5", + py: "4", + borderBottomWidth: "1px", + borderColor: "bd.subtle", + display: "flex", + alignItems: "flex-start", + justifyContent: "space-between", + gap: "3", +}); +const titleStyle = css({ + textStyle: "lg", + fontWeight: "semibold", + color: "fg.heading", +}); +const subtitle = css({ textStyle: "xs", color: "fg.subtle" }); +const body = css({ + px: "5", + py: "4", + display: "flex", + flexDirection: "column", + gap: "4", +}); +const radioStack = css({ display: "flex", flexDirection: "column", gap: "2" }); +const radioLabel = css({ + display: "flex", + alignItems: "center", + gap: "2", + textStyle: "sm", + color: "fg.heading", + cursor: "pointer", +}); +const textarea = css({ + minH: "28", + resize: "vertical", + borderWidth: "1px", + borderStyle: "solid", + borderColor: "bd.subtle", + borderRadius: "md", + px: "3", + py: "2", + textStyle: "sm", + color: "fg.heading", + bg: "bgSolid.min", +}); +const errorText = css({ textStyle: "xs", color: "status.error.fg.body" }); +const footer = css({ + px: "5", + py: "4", + borderTopWidth: "1px", + borderColor: "bd.subtle", + display: "flex", + justifyContent: "flex-end", + gap: "2", +}); +// Save is first in DOM (so it's the first tab stop after the textarea) but +// rendered on the right via flex order; Cancel keeps the left slot. +const saveOrder = css({ order: "1" }); +const cancelOrder = css({ order: "0" }); +const button = css({ + display: "inline-flex", + alignItems: "center", + gap: "1", + borderRadius: "sm", + borderWidth: "1px", + borderStyle: "solid", + borderColor: "bd.subtle", + px: "2.5", + py: "1", + textStyle: "xs", + lineHeight: "none", + fontWeight: "medium", + color: "fg.muted", + cursor: "pointer", + whiteSpace: "nowrap", + _hover: { borderColor: "bd.strong", color: "fg.heading" }, +}); +const primaryButton = css({ + bg: "fg.heading", + color: "bgSolid.min", + borderColor: "fg.heading", + _hover: { bg: "fg.muted", color: "bgSolid.min" }, +}); + +const DEFAULT_STATUS: StatusOption = "Investigation started"; + +export interface StatusDialogProps { + /** Subtitle shown under the heading (e.g. the step / opportunity title). */ + title: string; + onClose: () => void; + onSave: (status: { category: StatusOption; text: string }) => void; + /** + * Render in-place instead of portaling to the layout root. Use when the dialog + * is opened from inside another modal, such as the step detail slide-over. + */ + inline?: boolean; +} + +/** + * Centered modal for leaving a status update against a step/opportunity. + * The form resets on each target change so status edits never inherit a prior + * category or comment. + */ +export const StatusDialog = ({ + title, + onClose, + onSave, + inline = false, +}: StatusDialogProps) => { + const [category, setCategory] = useState(DEFAULT_STATUS); + const [text, setText] = useState(""); + const [error, setError] = useState(null); + const textareaRef = useRef(null); + const portalRef = usePortalContainerRef(); + + useEffect(() => { + setCategory(DEFAULT_STATUS); + setText(""); + setError(null); + const id = requestAnimationFrame(() => { + textareaRef.current?.focus({ preventScroll: true }); + }); + return () => cancelAnimationFrame(id); + }, []); + + const selectCategory = (next: StatusOption) => { + setCategory(next); + if (!statusCommentRequired(next)) { + setError(null); + } + textareaRef.current?.focus(); + }; + const handleCancel = () => { + trackSupplyChainInteraction({ + interaction: "status_dialog_cancelled", + source: "status_dialog", + }); + onClose(); + }; + + const handleSubmit = (event: FormEvent) => { + event.preventDefault(); + const trimmedText = text.trim(); + if (statusCommentRequired(category) && trimmedText.length === 0) { + trackSupplyChainInteraction({ + interaction: "status_dialog_validation_failed", + source: "status_dialog", + }); + setError("Add a comment for this status."); + textareaRef.current?.focus(); + return; + } + onSave({ category, text: trimmedText }); + }; + + const dialog = ( +
    { + if (event.target === event.currentTarget) { + handleCancel(); + } + }} + onKeyDown={(event) => { + if (event.key === "Escape") { + handleCancel(); + } + }} + > + {/* biome-ignore lint/a11y/useSemanticElements: a native UA positioning fights the flex-centered backdrop, so we use a div */} +
    +
    +
    +

    + Status +

    +

    {title}

    +
    + +
    +
    +
    + {STATUS_OPTIONS.map((option) => ( + + ))} +
    +