Case study · 2024

One stock position across web, app, marketplaces and 24 stores

An apparel retailer with 24 stores, a website and three marketplace channels held separate stock counts on each. Oversells, buffer stock and reconciliation work were eating margin.

Client
Kalyan Threads (apparel retail, India & GCC)
Duration
6 months

Retail & E-commerce

Kalyan Threads (apparel retail, India & GCC)

Laravel Next.js Shopify PostgreSQL Redis

0.3%

oversell rate, down from 4.1%

27%

lift in checkout completion

15%

buffer stock released for sale

4 days

monthly reconciliation work eliminated

The challenge

Where things stood

Every channel maintained its own inventory count, reconciled overnight at best. To avoid overselling during peaks, the merchandising team held back 15% of stock as buffer — inventory that sat unsold while customers saw items as unavailable. Marketplace settlement reconciliation took two people four days a month, and true channel profitability after fees and returns was unknown.

Our approach

What we did about it

The first deliverable was a single inventory service holding one authoritative stock position, with allocation rules per channel rather than physically separated pools. Every channel now reads from it and reserves against it in real time.

Store POS systems were connected next, which made in-store stock sellable online and enabled click-and-collect — the change that had the largest revenue effect, since roughly a third of catalogue depth lived in stores.

Finally we built a channel profitability model that accounted for marketplace fees, returns, shipping and payment costs, which changed several pricing and channel decisions within the first quarter.

What we delivered

The system, in parts

Built with

Laravel Next.js Shopify PostgreSQL Redis AWS Metabase
Central inventory service with per-channel allocation rules
Real-time sync to website, app, POS and three marketplaces
Click-and-collect and ship-from-store fulfilment
Unified customer profiles across online and in-store purchases
Automated marketplace settlement reconciliation
Channel profitability dashboards after fees and returns
Releasing the buffer stock alone paid for the project. We had been treating a data problem as a merchandising problem for six years.
Head of E-commerce, Kalyan Threads

Got a problem shaped like this one?

Tell us where it hurts. You will get a rough cost, a rough timeline and an honest opinion — before anyone mentions a contract.