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.
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.
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.
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.
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 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.