dataezedataeze×Kokuyo Camlin
Confidential · Prepared for Kokuyo Camlin
Proposal · Demand Forecasting & Stock Allocation · 2026

Demand-to-Shelf.

Never out of stock at peak.

The right product, to the right distributor, at the right time.

Forecasting and stock allocation for Kokuyo Camlin, redesigned around real demand instead of a flat budget. Built by dataeze, the team already running your Camlin BI.

The problem, in one number

Today, the budget-gap model fills barely half of demand lines.

On a live shadow run on your Camlin server (23 Jun 2026, 11,692 distributor-SKU lines), the current budget-gap allocation reaches a fill rate of just 52.6%, the share of demand lines the depots actually serve. It is mis-targeted, not just under-supplied.

5,548
of 11,692 demand lines the budget-gap model left at zero
3,332
of those zeros are recoverable, mostly distributors who passed plan but keep selling
~1.67M
units of coverable demand left unshipped from the same depot stock

Lines are auto-zeroed once billing crosses the monthly budget which, in a back-to-school ramp, usually means the budget was set too low, not that the distributor is stocked. Across this run distributors were collectively at ~95% of plan (15,61,420 sold vs 16,40,044 planned units) but very unevenly, so the same logic over-orders the overstocked and starves the ones about to run dry. It is a decision-logic problem, not a warehouse problem.

Why it happens

One blunt rule decides every depot's split.

Monthly budget − billed so far = gap to budget. That single signal splits depot stock pro-rata to the gap. Transparent and cheap, but blind to the four things that actually cause stock-outs:

No real demand
Budget is treated as demand. No run-rate, no seasonality, just a flat 1/12 split.
No ground stock
Never sees the distributor's godown or days-of-cover. The shelf is invisible.
No safety buffer
Allocates exactly the gap, zero cushion for a demand surge.
No priority
Under shortage, a dead SKU and a fast NPD compete equally for the last carton.

requirement = max(month_budget − billed_so_far, 0); each depot's stock for a SKU is split across active distributors in proportion to that requirement, capped at it, zeroed if the depot is empty. It is a fair-share rationer, not a stock-out-prevention system.

The shift

From Budget-to-Depot, to Demand-to-Shelf.

Same data to start. Different question. Today the system answers "who is behind budget?" Tomorrow it answers "who is about to stock out at peak, and which truck stops it."

1 · Forecasting brain

Knows why demand moves: season, school calendar, NPD curves, and ships its own confidence.

The engine

2 · Allocation engine

Protect stock-outs first, then right product to right distributor, executable to the carton.

3 · The shelf

Never out of stock at peak. Less overstock. NPDs protected.

A forecasting brain turns history, seasonality and the school calendar into a demand signal with an explicit confidence band. That feeds an allocation engine that sizes a target (cycle + safety stock, capped at 45 days of cover), nets off what is already on the way (open orders), blends the 90-day off-take 70/30 with the budget signal, and under scarcity protects the distributors most likely to stock out before chasing budget attainment. The output is cartons to ship, not a chart of the old plan.

How dataeze builds it · the layer underneath

We don't drop a model on messy data.
We earn the accuracy first.

A forecast is only as trustworthy as the data and definitions beneath it. This is the pipeline we run before a single carton is ever recommended, on the very same SQL you already have.

Consolidate & clean

Primary billing, depot stock, in-transit, budget, masters, reconciled into one model.

Our specialty

Semantic layer

One governed definition of demand, cover, run-rate, fill rate, so every number agrees.

Forecast + allocation

The demand brain and allocation engine on top, traceable and back-tested.

The semantic layer is why the forecast answers like your best planner, not a black box.

The forecasting brain · the showpiece

A forecast that earns its place, every month.

1
Hierarchical & sparse-aware

Sparse distributor-SKU cells borrow the depot's clean seasonal shape (MinT reconciliation).

2
Best-fit ensemble

A model tournament per series (ETS, SARIMAX, Croston/TSB, gradient boosting). Must beat seasonal-naive to ship.

3
School-calendar aware

State-wise reopening, exams and festivals encoded as demand drivers.

4
NPD launch curves

Analog + Bass-diffusion models forecast new SKUs with zero history.

5
Probabilistic + FVA

P50 for planning, P90 sizes safety stock. The budget stays until the model measurably wins.

Runs on SQL plus Python, no server change needed to produce and validate it. Every cell is probabilistic, so the safety buffer is derived, not guessed.

Seasonality

The budget is flat. Demand is not.

A 1/12 flat budget structurally under-feeds the Mar to Jul back-to-school peak, where the money is, and over-feeds the trough. Our engine rides the curve.

Flat budget split Real demand (back-to-school)
JanAprJunSepDec flat budget peak demand

The engine de-seasonalises history to a clean base rate, then re-applies a seasonality index at ruling level for the planning month, so the signal rises and falls with real demand instead of a calendar-blind twelfth.

The differentiator

We know when the school bell rings.

A single national budget smears the country's reopening regimes together. A region-keyed reopening signal sharpens each depot's curve to its own calendar.

April-start
MH · GJ · MP · UP, ramps mid-March to April
June-start
TN · KA · KL · AP, ramps late-May to mid-June
Post-monsoon
Hill & NE pockets, shifted later still
~3.8×
demand in the reopening week versus the off-season trough. The model anticipates the surge instead of reacting a fortnight late.

School-reopening windows, board/exam schedules, festivals and monsoon onset are encoded as learnable regressors at region-by-ruling level, refreshed annually from public board, IMD and tender sources in a short calendar-update ritual. This is the moat a generic time-series vendor will not build.

Forecast you can defend

The model only takes over where it wins.

The budget is the champion. The statistical and ML forecast is the challenger, scored each month on a rolling back-test, against the budget and against seasonal-naive. It earns allocation weight only where it measurably beats both.

Never silently worse

A model is never adopted where it cannot beat your own plan.

Tracked by segment

Accuracy and bias monitored by A/B/C class and NPD.

Overrides learn

Planner & sales overrides are logged and scored next cycle.

So the risk is governed
Champion-challenger loop, no big-bang cutover
WMAPE & tracking-signal bias by segment
The day it cannot beat your budget, we keep your budget
"We do not ask you to trust the model. We make it earn its place, and the day it cannot beat your budget, we keep your budget."
The allocation engine

Scarce stock goes where it prevents the most stock-outs.

Under scarcity, the norm at ~53% fill, pure pro-rata spreads the shortage evenly and silently manufactures stock-outs. The waterfall changes the objective:

Tier 0
Protect stock-outs first

Fill every active distributor to a minimum days-of-cover, so nobody goes dark.

Tier 1
Product priority

NPDs and A-class SKUs get the next units.

Tier 2
Velocity & value

Weighted by genuine run-rate, not vanity budget gap.

Tier 3
Residual pro-rata

Whatever remains, split fairly.

Plus executable guard-rails: case-lot rounding, an over-stock cap (no channel-loading), inter-depot balancing and same-family substitution.

Before & after

Same depot stock. 20 points more fill.

52.6% → 73.1%
fill rate, earlier model vs Demand-to-Shelf, same 11,692 lines
3,332
stock-out lines recovered, served instead of shipped zero
+1.67M
units shipped from the same depot stock (783,572 → 2,448,825)
Ahead but empty
Budget zeros it. Plan flags the gap.
Behind but overstocked
Plan caps the ask, surfaces surplus.
Depot scarcity
Pro-rata → priority waterfall.
Seasonal ramp
Flat budget → ride the curve.

Live shadow run on your Camlin server, 23 Jun 2026: 11,692 distributor-SKU lines, the identical set under both models. Every allocation respects depot stock, zero supply-safety breaches, independently re-checked. Planning and recommendation only; execution stays with your team.

Distributor by distributor · live shadow run

The decision, made visible per distributor.

DistributorProfileEarlier (units)Demand-to-ShelfAction
Maharashtra · distributorPast plan, still selling03,267Recovered
Vidarbha · distributor~30% past plan, dry013,309Recovered
Tamil Nadu · distributorNPD / A-class20,73623,807Prioritised
West Bengal · distributorDry, below cover03,184Min cover
Bihar · distributorDry, below cover03,904Min cover

Real lines from the 23 Jun 2026 shadow run (distributor names masked). The budget-gap model ships zero to fast sellers who passed plan; Demand-to-Shelf recovers them and protects dry distributors to a minimum cover. Full per-line view in the companion Excel. Recommendations only; execution stays with your team.

The prize

What the same stock can actually ship.

+1.67M units
shipped from the same depot stock (783,572 → 2,448,825), with +2,407 lines served and 3,332 stock-outs recovered. No extra production.

At your ₹26/unit average realised price that is ≈ ₹4.37 Cr of recoverable peak sales, from your live shadow run, 23 Jun 2026. Full-year scale calibrated on your WSP in week 1.

Five value levers
Recovered peak sales
Lower returns & dead-stock
Working capital released
NPD launch uplift
Fill-rate / OTIF gain

Recovered sales and fill-rate need no extra inventory at all, won by landing existing depot stock in the right godown.

Honest by design

We use primary data today. Secondary is the accelerant.

What we use now
Primary billing (Camlin to distributor)
Depot stock, in-transit, open orders
Budget & sales plan
Product, distributor, depot masters
What unlocks even more · Phase 2
+Secondary sell-out (distributor to retailer)
+Distributor on-hand / closing stock
+True days-of-cover & service levels
+Lightweight SR app / WhatsApp capture

Where we say days-of-cover or run-rate today, it is an estimate inferred from primary, made precise once secondary is captured. Missing ground data is a roadmap, not a blocker.

Phased & de-risked

A roadmap that proves value before it touches your server.

Each step adds measurable rupee impact. The first two run now, on data you already share; the rest unlock as we capture ground data through a live, mobile-optimised template.

00NOW · BASE DATA
53 → 73%
fill validated · zero risk
Prove it

Shadow-run on closed books. No server change.

01NOW · BASE DATA
₹4.37 Cr
recoverable peak sales · same stock
Quick wins

Priority + seasonality + case-rounding on today's primary data. Simulations on demand.

02NEXT · MOBILE TEMPLATE
+₹1.5 – 2.5 Cr
less overstock & returns · expected
Calibrate

We share a live mobile template to capture distributor closing stock → true days-of-cover.

03NEXT · SECONDARY FEED
+₹2 – 3 Cr
secondary sell-through · expected
Full DRP

Secondary / DMS sell-through replenishment, demand-led right to the retailer.

04NEXT · MOBILE TEMPLATE
Sized in pilot
RM aligned to demand · strategic
Demand-to-Make

A live mobile template captures raw-material / BOM → produce to real demand.

Phases 0–1 run now on the base data you already share (the ₹4.37 Cr is simulated on your live primary billing at ₹26/unit). For Phases 2 and 4 we provide a live, mobile-optimised capture template (distributor closing stock, raw-material) so ground data flows in without disrupting your team. Today's pro-rata logic stays as the cold-start fallback throughout: capability is layered on, nothing is ripped out.

Why dataeze

We already run your Camlin BI.

This is not a cold vendor learning your business from scratch. We built and maintain your Camlin BI model on your own SQL, so the demand-to-shelf engine starts from data we already know.

Your data, your environment

Built on your SQL, behind your network. Your data never leaves your environment.

Operators, not researchers

20 years building decision systems across FMCG, retail and D2C, now AI-first.

Traceable, every figure

Every number maps back to a query that ran. No black box.

Let's align the scope

Agree the scope, then run it on your own data.

A short working session with your sales, supply-chain and IT leads to align on a few things, then a one-month run on Camlin's own data, before a single line changes on your server.

What we align on
1Product scope, full range across all categories, or a notebook-first pilot.
2Depots and the season window for the run.
3Data, base billing now, plus a live mobile template for distributor closing-stock and raw-material.
4Success metrics, fill rate, recovered peak sales, supply-safety, returns.
5Boundaries, planning and recommendation only, execution stays with your team.
How we start
One-month run, shadow / offline, read-only.
No server change, your data never leaves your environment.
Distributor-by-distributor lift, back-tested against your budget.
A clear go / no-go readout at the end.

"Let's agree the scope and give us one month on Camlin's own run. We will show you the lift before a single line changes on your server."

hello@dataeze.ai·+91 99103 55559·dataeze.ai
1 / 17