Bijnis

Storefront revenue engine

Senior Category Marketing Manager · owned the category P&L, ~₹11→22 Cr/mo GMV · 4 direct + ~12 indirect

I owned the apparel category's P&L and rebuilt how it allocated attention and how it governed supply — two systems, one outcome: the storefront's discovery lifted sharply.

The result

One star, two systems

STAR · THE OUTCOME ~2.5× Collection CTR · the discovery lift Two systems drove it Allocation architecture Right product, right buyer CRM CTR 0.9% → 2.4% A/B-tested layouts Pareto governance Priced, in stock, trustworthy Revenue leakage −30% deployment 10 → 7 days Allocation raised discovery and routing; governance protected margin and sped shipping — the storefront's collection CTR lifted ~2.5×.
The problem

A surface nobody had engineered

What I built

Two systems, layered

System 1 runs in two steps — allocation picks the page, ranking orders what's on it. System 2 governs what's eligible to be there at all.

1a · Storefront allocation

Decide which shelf a buyer lands on — by category, by intent, by pool.
  • Separated storefront real estate by category (apparel vs footwear), then by buyer intent mode (brand-led vs category-led), then across reliability, value and freshness pools.
  • Multiple collection types, each with metric-based eligibility, removal guardrails, a target segment, and one success KPI.
  • A multi-cohort buyer-segmentation engine, with primary / secondary / fallback routing via CRM deep-links — this is where cohort personalisation actually happens: it decides which page a buyer is routed to, not the order of products once they're on it.
  • A/B-tested layouts — which callouts, creative, and positioning convert for which brand and category — with the winners fed back into the architecture.
Artifact · storefront allocation — which page a buyer lands on
Storefront real estate Every page inherits a rule from each layer down. LAYER 1 · CATEGORY Apparel Footwear LAYER 2 · INTENT MODE Brand-led Category-led LAYER 3 · POOLS Reliability Value Freshness A page is never "just shown" — it is category × intent × pool, with a KPI attached.

1b · Product ranking

Once a buyer is on a page, decide what order the products sit in — downstream of 1a, not part of it.
  • A ranking algorithm — internally "listing algorithm v1" — ran on every page load, on top of whatever page allocation had already put the buyer on.
  • Two stages: score on six weighted inputs, re-rank with brand/category/price rules and a reserved quota for new product. Cohort/segment personalisation is not part of this — it already happened upstream, in 1a.
Artifact · the ranking algorithm — listing algorithm v1
Every page load, once the buyer is on a page Specced and built with the product team — two stages, in order. 1 · SCORE Six weighted inputs, v1: impression→visit · visit→order · repeat order rate · seller ranking · discount + return rate, as a penalty — an order that comes back isn't a clean conversion. 2 · RE-RANK Brand, category and price-mix rules, plus a reserved share of slots held for new product — a performance score can't rank something with no performance yet.

2 · Pareto governance

Decide what's allowed to be seen — and protect the margin behind it.
  • Product lifecycle — Trial → Optimize → Scale → Throttle, each with a minimum visibility runway.
  • Drift detection — price benchmarking against offline, stockout monitoring, new-arrival competitiveness, offer parity.
  • Compliance-based visibility — premium real estate and guaranteed traffic tied to price, stock and listing standards.
  • Non-negotiable guardrails — margin floor enforced, drift flags pull visibility immediately.
The outcome

The storefront started converting attention

The trade-off I made: rule-based governance over ML in v1, and I pulled visibility on margin-negative brands despite their GMV. I protected conversion quality and margin over short-term volume — and documented it, because that call is the judgment, not a side note.
← All workNext: Udaan →