Customer Stories

AI Planogram Generation System for a Virtual Software Company

AI & Machine Learning
GenAI & LLM
The post thumbnail

OUR CLIENT

A Global Software Company Serving The Retail Sector

Our client is a global technology company delivering virtual solutions for retail. Its software supports retail companies in planning, testing, and validating shelf-level commercial decisions in a digital environment, ahead of execution in physical stores.

The platform rests on one operational asset: the ability to produce realistic shelf layouts on demand. Every project, configuration, and store format requires an arrangement that reflects how products are actually merchandised, with categories blocked correctly, brands positioned in commercially plausible relationships, and facing counts that follow real space allocation logic. The quality of that layout determines the quality of everything built on top of it.

BUSINESS CHALLENGE

Manual Shelf Preparation Was The Constraint on Scale

Every layout depended on a manually prepared planogram. Specialists had to decide how much shelf space each category should receive, where each brand block should sit, which products belong in it, and how many facings each item needs. That work had to be repeated for every new client, retailer format, fixture configuration, and scenario variant.

This created a structural constraint on the platform:

  • Manual shelf preparation scaled linearly with demand, so platform throughput was limited by specialist availability rather than by technology.
  • Layout quality depended on the individual preparing it, introducing inconsistency between projects and clients.
  • Shelf configurations vary widely across retailers and store formats, so layouts rarely transferred cleanly from one engagement to the next.
  • The company held a substantial base of historical planogram and behavioural data that was not being used systematically to inform new layouts.

The client needed a data-driven way to generate product arrangements automatically, covering not only where products should appear on a fixture, but how much space each product group should occupy and how many facings each item should receive.

UNDERLYING PROBLEM

Prediction Alone Does Not Produce a Usable Shelf Layout

Shelf layout generation is two problems in one, and solving only the first is what makes most attempts fail.

The first problem is statistical. A realistic layout has to reflect established retail patterns: how categories are blocked, where premium brands sit relative to value tiers, how vertical and horizontal space is allocated across a fixture. That knowledge lives in historical planogram data and can be learned.

The second problem is physical. A model can predict a plausible coordinate for every product and still produce a layout that cannot be rendered, with products overlapping, floating between shelves, or collectively exceeding the linear space the fixture actually has. A purely predictive approach produces layouts that look statistically reasonable and break the moment they meet a real fixture. A purely rule-based approach produces layouts that are valid and generic.

Only the intersection is useful in a software product. The output has to be commercially believable and geometrically renderable at the same time. Our solution addresses both, by separating learned retail behaviour from physical feasibility and handling each with the right technique.

OUR APPROACH

A Machine Learning Pipeline That Mirrors How Space Planners Work

We built a multi-stage pipeline that decomposes shelf layout the same way a category manager does: allocate space to groups first, then position those groups, then place individual products, then resolve the physical detail.

Stage 1: Space allocation.
CatBoost models estimate the shelf area occupied by each product group, including category, brand, and subcategory, based on the product catalog, retailer context, and target planogram structure. A separate model predicts how many products each group should contain.

Stage 2: Initial positioning.
A second set of models predicts normalized shelf coordinates for both product groups and individual products, producing a first-pass layout consistent with historical placement patterns.

Stage 3: Physical optimization.
The predicted coordinates are passed to a PyTorch-based optimizer that converts a statistical layout into a renderable one. It reduces overlaps between products, enforces shelf capacity limits, snaps products to physical shelf levels, and adjusts facings where space allows.

The result is a planogram that is simultaneously data-driven and physically valid, ready to be used directly in the client’s platform.

Why CatBoost?
Retail layout data is tabular and dominated by high-cardinality categorical features: retailer, store format, category, brand, subcategory. CatBoost handles these natively with ordered target encoding, which avoids the leakage and dimensionality problems that one-hot approaches introduce on this kind of data, and it performs strongly without extensive tuning.

Why a differentiable optimizer?
Overlap, capacity, and shelf-snapping constraints can be expressed as loss terms over continuous coordinates. Framing the layout correction as gradient-based optimization in PyTorch lets the system push a predicted layout toward feasibility while staying as close as possible to what the models learned, rather than discarding the prediction and falling back to fixed rules.

OUR SOLUTION

Technology Components

Component Role
CatBoost Group area models, product count models, and initial coordinate prediction on categorical retail data
PyTorch Differentiable placement optimizer resolving overlaps, capacity, shelf snapping, and facings
scikit-learn Feature engineering, preprocessing, and model validation
Python Pipeline orchestration and data processing
Microsoft Azure Cloud infrastructure, model hosting, and data pipelines

 

How The System Works

  • Input data. The pipeline ingests the product catalog, retailer context, and the target planogram structure, including shelf dimensions and fixture configuration.
  • Category area models. CatBoost estimates the share of shelf space each product group should occupy.
  • Number of products model. The system determines how many items each group should contain within the allocated space.
  • Initial position models. Normalized coordinates are predicted for product groups and then for individual products.
  • PyTorch placement optimizer. Predicted positions are refined into a physically valid arrangement, with overlap reduction, capacity enforcement, shelf snapping, and facing adjustment.
  • Output. A complete planogram with product positions, delivered as structured data and as a visualization ready for use in the client’s platform.

RESULTS & IMPACT

  • Shelf generation at platform scale. Layouts that previously required manual preparation are produced automatically, removing the setup bottleneck that tied platform throughput to specialist availability.
  • Layouts grounded in historical evidence. New shelf arrangements reflect real behavioural and planogram patterns rather than the assumptions of whoever built the scenario.
  • Renderable, simulation-ready output. Generated planograms respect shelf capacity, product dimensions, and placement constraints, so they can be used without manual correction.
  • Consistency across projects and clients. Placement stays coherent with category, brand, and subcategory logic, making results comparable between scenarios and over time.
  • Adaptability across configurations. The pipeline supports different shelf setups and retailer contexts, so the same system serves varied store formats and client requirements.
  • A shift in operating model. The client moves from manual planogram preparation to automated, data-backed shelf layout generation, freeing expert time for interpretation and client work rather than construction.

CONTACT US

Turning Data Into Production-Grade AI Systems

If your data holds patterns your teams are still reconstructing by hand, we can help you put it to work – contact us to discuss your use case.