Linear Programming: The Gateway to Analytics


Reporting, BI, and the lack of Mathematics

I have done reporting, data warehousing, and overall BI development for a while now and the one thing I always struggled with is how easy and common it was to be presenting numbers and yet not be very mathematical at all. What I mean is the most complicated math was dividing two numbers to get a ratio like  ‘weeks of sales’ or ‘close out units per total units’.  With me being one of those who believe almost everything in this world is mathematical, I couldn’t understand why we wouldn’t use things like statistics, algebra, and calculus in trying to understand things that inherently in my mind are mathematical in nature. Now exploring this question can probably lead you to a bunch of places but the one area it lead me to was the topic of Analytics. I started talking to a lot of people who were analytics pros or statisticians and found that they saw the world basically in the same way. They offered tons of good advice in how to dive deeper in the idea of using math more in capturing data, managing data, and even visualizing data. The one thing though that I struggled with though is this idea of looking at business problems mathematically, looking at the business in terms of x’s and y’s . It was as if these stats and analytical gurus always thought in terms of mathematical concepts and had no need for translation (most of this was my inexperience of not knowing what they did). What I needed was some method or technique that would allow me to translate a business question “The business unit has 10 products that have 5 colors each and each of the 50 combinations all have different profit margins, what combination and quantities is going to make the most profit?” to a mathematical form that could be solved. Enter – Linear Programming.

What is Linear Programming?


Linear programming (LP, or linear optimization) is a method to achieve the best outcome (such as maximum profit or lowest cost) in a mathematical model whose requirements are represented by linear relationships. (wikipedia)

To me if looking at a business problem mathematically is the promised land, linear programming is the front gate. Linear programming is all about taking a business problem and translating that into a math equation that can be optimized. There is a lot to do in Linear Programming but if you are able to get to a sufficient level of understanding and practice, you will find that those same skills of translation apply far wider than just Linear Programming. If I look at the pending doom that industry analysts say exists around the lack of us data and information professionals in the market and the corresponding demand for us as well, I don’t see a lack of analytical skill in its entirety. I see really good mathematicians and really good business people but hardly any ‘translators’, there are few people that are able to take a business problem and turn it into a mathematical equation. That’s what we should be focusing on specifically. Now if I have hopefully piqued your interest in looking into Linear Programming here are a few resources you could check out:

  1. Linear and Integer Programming | Coursera

  2. Book: Applied Mathematical Programming Using Algebraic Systems (Chapter 2)

Hope you enjoy and please leave any comments/questions you may have!

  • Pat Toliver

    Thank you so much for this information.

  • Rob

    Hi, what an enthusiastic article! It can be hard to translate the mathematical notation of linear programming to the general sales room or management/marketing team because many people have an innate phobia of anything that even sounds mathematical/greek, also because once someone (the data scientist) does understand the symbols, they find it hard to translate it back to the ‘real world’ because the symbols are the purest representation of that ‘real world’.

    I find it can be helpful to translate the problem in to a DNA representation and then optimising using evolutionary algorithms – this is because people don’t freak out so much when hearing biological terminology. And it helps that evolution and DNA are popular terms that most people have a basic grasp of these days.

    Of course, they can be computationally slow and don’t guarantee a global optimum but if you can work out the ideal coefficients etc using LP then you can throw that solution into the EA’s random starting population and watch it come out on top.

    Bit of a cheat and perhaps doubles the work somewhat, but if it aids explanation in that board room then it’s worth it. 😉

  • Barbara Linman

    Loved the article. I am trying to get back to analytics. I was a developer on an IBM internal project for healthcare analytics. I never had so much fun working! Mathematics is my first love. Add writing code, and I am a happy camper. I think I need a PhD to become a Data Scientist, though.

    I will take that Cousera class. I took one in R programming out of John Hopkins. I thought it was great. R is fun. Great for linear regression and Anova comparisons. I think that class you recommended sounds very interesting and would be perfect for me.

    Thanks for the info!

    • You absolutely don’t need a PhD. I have a ton of resources for you if you’d like. I am more than happy to help!

    • Rob

      A nice book that gives a pretty good overview of modern data science is :

      O’Reilly are always doing half price offers on their Ebooks so I’d wait to get it cheap.

      The book gives some algorithms and examples as well as loads of case studies and commentaries from different people in different parts of the data science community. It’s pretty accessible.