Chimmani
W-02Award winner · Case study

Micro Market Model

I built a Python linear-programming engine that scores and ranks Hexion's micro markets by competitive opportunity. It was adopted company-wide and won the Transformation Award.

PythonLP optimizationMarket analytics
At a glance · the 20-second version

A shared, explainable way for leadership to decide which market gets attention next.

Transformation Awardadopted company-wide
Role
Designed and built the model
When
July 2026, at Hexion
Stack
Python, linear programming (objective, constraints, solver)
Outcome
Adopted company-wide; Transformation Award
  1. Problem

    Leadership had no shared model for comparing competitive opportunity across dozens of micro markets, so focus was decided market by market and two people could reasonably disagree.

  2. What I did

    Built a Python linear-programming engine: explicit objective, explicit constraints, solved into one ranked list leaders can act on directly.

  3. Outcome

    Adopted company-wide and awarded the company's Transformation Award. The model re-runs whenever the market picture changes instead of being rebuilt.

  4. Why it matters

    Where to focus stops being a judgment call and becomes a ranking whose logic anyone can inspect and argue with.

Step 1 · Problem

The situation

Hexion competes across dozens of micro markets, and leadership needed a clear view of where competitive opportunity actually sat across them. That view did not exist as a shared model. Judgment calls about where to focus were being made market by market, without a common way to compare one opportunity against another, so two people looking at the same set of markets could reasonably disagree about where the company should spend attention next.

That gap is a familiar one in a company Hexion's size: plenty of local knowledge about any single market, and no shared instrument for weighing one market's opportunity against another's at the same time.

Step 2 · Constraints

Constraints

  • The output had to be something leadership could act on directly, a ranking, not a raw dataset someone still had to interpret.
  • The model needed to hold up across dozens of markets at once, not just describe a handful of cases by hand.
  • Because the ranking would inform where leadership focused resources, the logic behind a given rank had to be explainable, not just a number someone was asked to trust.
Step 3 · What I did

What I built

I built a Python linear-programming engine that scores and ranks micro markets by competitive opportunity. Market-level signals feed the LP core, which pairs an objective function with a set of constraints and solves for the ranking leadership uses to decide where to focus. The output is a single ranked list, so a leader can look at it and know immediately which markets deserve the next round of attention, rather than reading a spreadsheet of raw figures and drawing that conclusion themselves.

  1. InputsMarket signalsacross micro markets
  2. LP coreObjective + constraintsObjective functionConstraints
  3. SolveSolverevaluates the LP core
  4. OutputRanked marketsby opportunity
Figure 1 Market signal inputs feed the LP core (objective function plus constraints), which a solver evaluates into a ranked list of micro markets by opportunity.
Step 4 · Decisions

Decisions I made and why

  • I framed the problem as linear programming rather than a scoring heuristic, so the ranking comes from an explicit objective and explicit constraints that can be inspected and argued with, not a black-box weighting.
  • I built it in Python so the model could be run and re-run as market conditions changed, instead of producing a one-time analysis that goes stale.
  • I optimized for a ranking rather than a raw score, because leadership's actual decision was always going to be relative, which market next, not an absolute measure of any one market in isolation.
Step 5 · Outcome

What changed

The model was adopted company-wide and earned Hexion's Transformation Award. Leadership now has a repeatable way to compare micro markets against each other instead of relying on market-by-market judgment calls, and the same model runs again whenever the underlying market picture changes rather than needing to be rebuilt.

What it means for a leader

When a leader asks why a market ranked where it did, the answer is a written-down objective and constraint set, not a guess about which inputs mattered. That is what let a model one person ran become something the whole company relies on.

Step 6 · Hindsight

What I would do differently

I would have documented the constraint set more thoroughly from the start. Once the model moved from something I ran myself to something leadership relied on company-wide, I spent more time than I expected explaining why a particular constraint was set the way it was, time that a clearer writeup up front would have saved.

Why linear programming

A linear-programming formulation forces the tradeoffs into the open. Every constraint that limits which markets can rank highly has to be written down explicitly, and the objective function has to state, in plain terms, what "opportunity" means for the purpose of the ranking. That is different from a scoring model built out of weighted factors chosen by feel, where the reasoning behind a given rank can be hard to reconstruct after the fact. When someone in leadership asks why a market ranked where it did, the answer is the constraint set and the objective, not a guess about which inputs mattered most.

← All case studies The RPT report series