Examples
Examples
Try the starting example
- Products [facing width cm,demand units/day,minimum facings]; enter JSON
- [[10,30,1],[15,20,1],[20,10,1]]
- Usable shelf width (cm)
- 100
- Facing allocation (JSON)
- {"facings":[5,2,1],"used_width":100,"remaining_width":0,"minimums_feasible":true}
- Minimum facing overrun (cm)
- 0
Try another scenario
- Products [facing width cm,demand units/day,minimum facings]; enter JSON
- [[12,40,1],[18,15,1],[20,20,1]]
- Usable shelf width (cm)
- 90
- Facing allocation (JSON)
- {"facings":[4,1,1],"used_width":86,"remaining_width":4,"minimums_feasible":true}
- Minimum facing overrun (cm)
- 0
Calculation method
Calculation method
Facing allocation (JSON)
Start minimum facings. If feasible, repeatedly add to fitting product with largest demand/(current facings+1), input-index ties. Stop when no fit or 1000 total facings.
Minimum facing overrun (cm)
max(0,sum(width×minimum facings)−shelf width).
Symbols and units
- a
- Products [facing width cm,demand units/day,minimum facings]; enter JSON
- b
- Usable shelf width (cm)
Use the units shown. A list keeps the order in which you enter its values. The symbol ^ means “raised to the power of”.
Calculation steps and notation
sum(list) adds all entries in the list.
Assumptions & limits
Assumptions & limits
- Single linear shelf and whole facings; deterministic demand-per-facing heuristic, without commercial optimality claim. Supported limits: All numeric inputs and computed intermediates must remain finite. Supported numeric input magnitude is zero or 1e-12 through 1e12 in absolute value; reject values outside this bounded range. All lists/JSON record tables are limited to 100 records unless a stricter bound is stated; reject malformed record arity and wrong member types. Facing widths>0; demand>=0; minimum facings nonnegative integers; sum minima<=1000; shelf width>0.
Are these inputs private?
These calculations run in your browser. A shared link contains the values you choose to share. Only questions submitted to the separate AI finder are sent to OpenAI.