I regularly post reviews of new products over on my main decision management blog. Sometimes I cross-post them here - like today with River Logic's Enterprise Optimizer.
River Logic's Enterprise Optimizer
is what is increasingly known as an "Integrated Business Planning"
solution. Enterprise Optimizer is designed to manage cross-functional
decisions at strategic, tactical, and policy levels considering all the
elements and consequences of those decisions. The models you build
allow you to see the financial and operational impact of those
decisions and then optimize them.
Enterprise Optimizer comes from work done by the University of
Massachusetts with mathematicians from the Russian Academy of Science.
The group had some background in AI, focused around trying to capture
expert know-how to improve operational processes. From this research
they moved to financial modeling, and over the last 15 years or so,
have modeled over 200 different problems in various industries working
with a range of partners.
The product that has evolved from this has recently been labeled by
Gartner as an Integrated Business Planning (IBP) tool. IBP is defined
as a collection of technologies, applications, and processes that
connect planning functions across the enterprise to improve
organizational alignment and financial performance. The technologies
help companies understand, communicate, and manage constraints and
consequences across the whole enterprise. The idea is not to just roll
up numbers and pass them on but to have a more dynamic model of the
connections. Unsurprisingly, they do a fair amount of work with
companies adopting the Beyond Budgeting Round Table model.
The requirements for IBP include explicit process mapping (how a
company creates value); financial modeling (ROI and forward-looking,
activity-based cost, P&L ,and marginal opportunity analysis - all
considering process constraints); a holistic view (products, customers,
resources, supply chain processes, partners, etc.); and extensive
optimization and business rules capabilities (objective function,
rules, constraints, etc.). Plus collaboration, integration, and
While Enterprise Optimizer is a horizontal technology, River Logic is focused on delivering EO-based solutions
in a couple of areas, especially Consumer Packaged Goods with
Healthcare as a secondary market. For example, CPG solutions include
strategy modeling (product portfolio, capital planning/network design),
policy (inventory policy/product segmentation, sourcing, planning
frequency), S&OP (executive, master planning, production planning,
etc.), customer profitability, and cost to serve.
The product itself has a simple diagram style interface used to
create the business processes that drive value in an organization.
These diagrams model the supply chain and show how things like trade
promotions impact volume, distribution and financial performance.
Tactical planning solutions are constrained by policy, financial, and
regulatory constraints from working capital to carbon emissions. The
models also report forward-looking costs (akin to ABC costs but
projected forward considering the constraints of the business),
P&L, balance sheet roll-up, cash flow etc. Enterprise Optimizer
models processes and more, but it doesn't execute them - the model is
just built and the engine figures out what the constraints and
The basic approach can be illustrated by considering a simple
Purchase-Inventory-Conversion-Inventory-Sales process. The PICIS model
is very common in manufacturing organizations - they buy raw materials
(Purchase) that creates Inventory which is then manufactured
(Conversion) into finished goods (Inventory) that must be sold (Sales).
EO lets you easily create a process with a basic set of nodes, one for
each step. EO will translate this model into a set of mathematical
representations and run analyses against these nodes. Each node has a
different representation and the user can specify different kinds of
information for each node type. When the model is executed additional
information is created on each node - the engine calculates things like
opportunity value (e.g., the marginal profit from one more item or an
additional customer) or optimal production schedules. Lots of
information is defaulted, based on extensive research, so the model can
be run quickly once basic information is filled in - users, of course,
find it easier to edit a model once they can see what it does. As the
user adds more information, the model becomes more constrained and more
accurate and the tool is designed to support a highly iterative style
The basic nodes support different elements of the business:
- Purchase nodes allow the price and constraints (min or max units
available per period etc) to be specified for a user-defined list of
raw materials. Once the model has been executed the node displays
things like opportunity value (profit from getting one more unit of an
- Conversion nodes can specify different machines or resources that
convert raw materials into finished goods. For each resource the user
can specify their characteristics such as labor rate, fixed costs,
period, and work units per period etc. Conversion nodes also can
contain the processes that run on the resources. Process costs, rates,
setup costs, etc. can all be specified. Various forms of cost analysis,
activity-based costing, and throughput accounting are supported.
- Inventory nodes can specify the various products or materials and
their price, etc. A flow from a conversion node to an inventory node
allows you to map materials to the processes that produce them. The
flow from raw materials inventory to resources allows you to specify
the BOM or recipe for the various products.
- Sales nodes let you specify various constraints on sales, model price elasticity with non-linear constraints, etc.
There's more, with each node supporting a potentially very large
amount of information about the step, how it operates, and its
financial implications. A fifth node type, financial report, can be
added and mapped to a series of financial reports. The financial models
can be specified in detail, but there is a lot of useful defaulting
built in based on research with PriceWaterhouseCoopers.
Once a minimum amount of information is specified behind the nodes
the engine can then be used to create a model of the business based on
the specification. EO will optimize for profit on any unconstrained
variable. Options to do detailed unit costs analysis and other kinds of
analysis exist and can be added to the model run. Running the model
updates the model, with implied attributes and optimized values, and
these can then be updated as necessary by the user. EO also allows the
models and constraints to be extended so that companies can model
non-financial, non-process constraints, and measures like the number of
truck trips through residential neighborhoods per day, special company
River Logic is also building an "IBP ecosystem" to make it easier
for companies in the CPG and Healthcare spaces (initially) to deploy
Excel, of course, is the major alternative and it is typically
augmented by EO. Most EO users are doing what-if analysis and scenario
planning - not real-time/workflow-oriented day to day optimization such
as that done by folks using CPLEX, Dash, or Dynadec.
The integrated financials and built-in; accounting best practices are,
to my mind, the key differentiator, though EO also has the ability to
compare scenarios using a web-based scenario management tool that
allows users to name, store, retrieve, and compare entire models side