GMN2009: Models

This post will be a little bit more “roaming through knowledge” than the usual.

Actually, it is part of a series, first published in May 2009.

But, following the dictum of somebody else, I will make things as simple as possible, but not simpler.

What is the point? Talking about ways of representing and forecasting the expected decisions of groups and individuals, and some projects that try to build a “model” of what we are and could be- be it our DNA or our brain.

And, while doing this, recalling some useful concepts that you can apply in whatever you do in your business and personal life- including when you are on the receiving end of the results of a model.

As usual- theory is converted into (hopefully) plain English, and the examples are from real life and experience in business, politics, technology- and their impact on personal and business life.

GMN2009: MODELS

This is a long journey, and this is the first stop.

So, before talking about more technical aspects (including everything in the title), I will start with the concept of a model. Catwalk excluded.

Since 1980s, also what once were called “broadsheets” started writing often about models.

Or- how whatever you do (as a person, group, organization, society) can be fed into a model, that can then tell what you are going to do next.

Let’s say that, for the time being, this automated removal of free will is just part of science fiction.

In the first half of the XX century, also before computers were invented, science fiction writers (like Isaac Asimov) and political scientists/practitioners (like Antonio Gramsci) focused instead on “masses”.

Come post WWII, and a renewed enthusiasm in industrial development produced (at least in Western countries and their allies) a constant growth in the quantity, quality, and diversity of consumer goods available to most of the public.

Models were still considered like in Asimov Foundation series- models of the potential behavior (or influence on the behavior) of groups, or organizations representing groups.

To simplify: a model represents a reality, and is built with a selective group of parameters. The purpose of the model is to allow changing the value of one or more parameters, and see what happens.

If, whatever value you apply to the parameters, the results are always the same… why did you build a model?

Why we build models using computers? Generally- either because it is tedious or time-consuming or impossible to do the same assessment manually, or because we try to capture the structured (i.e. logically organized and sequenced) expertise of somebody that is with us only temporarily (e.g. consultants, soon-to-be-retired employees).

Mathematical models used to be applied to natural phenomena, e.g. weather forecast on a macro-level or a specific location for a set duration of time, or major trends. But staying away from the individuals. Or the interaction between individuals.

If you think about it, you will understand why.

Look at your typical day- also if you work 9-to-5 in the same office day after day, you will meet everyday somebody or be part of some events that are not part of your original plan. And maybe the usual coffee this morning made you even more nervous, because you almost had an accident before you went to office (of course, this is not part of your daily routine!).

Until computers started being available also to the smallest office, not to mention individuals, designing a model meant having a huge staff to do the “number crunching”.

Consider something that most of you has been doing or considered doing over the last decades: flying (inside a plane, of course).

Go to archive.org, and download a movie shot in WWII about flying. And look how then they “controlled” air traffic: map, paper, people- more, crowds.

Or look at a funny movie, Hudsucker proxy, and look at how, before computers were widespread, the typical choice to decide a price based on the production cost was probably done in large organizations: a roomful of people doing the same computation with a mechanical calculator, with each item given to multiple people, to avoid the risk that just one person would make an error.

If you want, like on the Shuttle, where certain mission-critical decisions were made by a “committee” of computers.

It is just a recent evolution.

In 1979, the first time that I wrote a program as an experiment, at the Turin University, thanks to a friend of a friend, I wrote few lines in Fortran IV on a card punching machine, to solve simple 2nd degree equations.

Then, I had to stand in line to have my cards processed by a reading machine.

Then, I had to wait to get the results.

It was faster to do it manually, as I had to get through most of the process to solve another one- no memory :D

Few years later, my first “commercial” program, on a Spectrum Sinclair home computer… showed on the screen the graphic, the symbolic solutions of the equation, and then numeric values- in seconds after entering the formula to solve.

Then, in late 1980s, on a simple portable computer (the 10kg plasma screen Toshiba 5100 that my company add assigned to me for the DSS/EIS sales engineering and modeling activities that I was doing around Italy) I was using a software from a partner, running under MS-DOS (eventually, also Windows- but pre-Windows 95: it was still really MS-DOS with a prettier interface).

I was able to use a “model” that I had designed to change price, number of units, people involved, and so on, divided by region, time, market, distribution channel… and obtain (in few minutes at most) what needed to be changed to obtain a certain result.

Or see what happened to the bottom line if the costs changed by X%.

Or design a model that suggested the proper staffing for a new branch, based on the number of expected customers and a classification on the importance of the branch (noblesse oblige: you can have a senior clerk in some areas, but should be a manager in some other… and the cost of a manager is higher than that of a “cadre”, so you have to change the resources mix to keep the overall personnel cost in line).

In a mere decade, I myself moved from having to wait to process a “model” with two variables, to being able to have a model with dozens of variables multiplied by tens of options- and see the results in minutes.

In front of the computer that I am using to write this post I can see my Playstation2-turned-into-a-computer.

You can use it to play games. But you can also use its “brain” to keep track of a number of parameters that is few orders of magnitude greater than my late 1980s models (for the technically oriented: it contains a small vectorial facility :D , and can be programmed under Linux to work with the 2-stage facility- think about LISP or PROLOG) .

All these advances allowed also not-so-well-designed models to be built and deployed: because the computational power available exceeds often the numerical skills of the people using it in everyday model-building activities.

I saw some Excel models that had become so complex, that also their designers were unable to properly document what they were doing. Tweak here one day, tweak there another day, add a value to made it give the desired result… and giving unexpected results when somebody that did not know all the “tweaks” tried to use it.

Building models (yes, also using Excel, if you are not a programmer) requires few things:

  • a purpose (what are you expecting to use the model for)
  • a theoretical framework (ok- just say what you think that matters to your model, and discard the rest)
  • the parameters to use as “inputs”
  • the values that are produced as “outputs”
  • the transformations that convert the inputs into the outputs in compliance with a) your purpose b) your theoretical framework
  • in some cases, when you use the models to control the evolution of certain events, part of the outputs is “fed-back” into your model, i.e. becomes part of the input; if you want- the results could “inhibit” or “reinforce” certain other inputs
  • the reference parameters and their frequency of adjustment, along with the logic to use to compare results if these references parameters change (e.g. inflation rate, market trend for each specific sector/country, etc)

Boring? Too complex? Well, think about a project, as it will be discussed later. It has all of this (e.g. where you are now influences how you have to change your plan to keep the delivery date or budget). And more.

As with most human activities, your model has to cope with a) reality b) other humans. As Sartre wrote “L’enfer, ce sont les autres” :D

Seriously: reality is outside your control. The other humans (and yourself, occasionally) are supposed to be if not under your control, at least in your sphere of influence. But anybody has a motivation that maybe is more complex than your model.

Well, I will skip now the quote from the Amleto about “there more things…”, but that’s the more positive spirit. The “others” might well be hell, but you and them are to work together, aren’t you?

So, let’s add a further element: risk, represented by the level of confidence that you have in your own modeling assumptions.

My suggestion about using a model is: do not tweak on a daily basis(a common temptation)- the best model becomes useless, and you are unable to understand if it does not work because it is wrong, because the data changed, or because simply you tweaked for a specific case, and that affects 99% of other activities.

Whenever you build a model, use it as a reference, and identify “steady” points when you can review and update the model- carrying or restructuring the information to make any analysis of the “where are we” type (i.e. keep the historical reference information meaningful).

Only later on, you will have the skills and practice with that model to constantly adapt the model to what saw, see, assess that you are going to see- and adapt at the same time also the its inputs and outputs.

Another common mistake that I saw in models is to say “we do not need any history. we can add that later, to see how we did fare in reality vs. what we expected”. Wrong.

I do not know you- but I am tired of reading newspaper articles shouting that something has dramatically changed, only to see that what has really changed is… the way to compute, say, unemployment.

It reminds me of a wonderful model built on paper, to control a network of agents distributing financial products, over 20 years ago.

Whoever designed the model, forgot to check which data were available. Answer: none of the expected :D :D

Of course, coping with reality is the art of turning the impossible into the feasible.

I asked to the controller what was the real purpose of the model. Then, we met the IT manager, and asked which data about the area of inquiry were available.

Mix purpose with input, and identify the outputs: a simpler but feasible model was born, that after few days was able to spotlight some unusual behaviors- some people were really smart, and had focused on what they knew that was the Key Performance Indicator (KPI) used to pay them ;) Years later, that simple model still was in use and being evolved, as models usually never die, if they show their value as soon as possible and with the lowest possible cost :)

I wrote above about “building” a model, with a laundry list of what means using a model:

  • having a stable model with all the inputs expected (otherwise, people will go “creative” and make up something; do not ask data that are not available; that is not modeling, it is dreaming)
  • having somebody in charge of collecting the inputs and verifying their quality
  • having somebody that needs the output for her/his own work (including yourself); otherwise: do not be surprised about an over-complex model eventually being replaced by a chaotic “instinct-driven” coping on a day-by-day basis
  • having somebody monitoring risks, i.e. internal and external impacts, real or potential, and managing the communication on what the model says (if your are the manager or project manager: this is your task; you can delegate execution, not responsibility)
  • having defined before you start using it how, when, if, and who will be involved in changing/evolving/removing the model, its inputs and its outputs

In my career, more than once I saw old models still producing outputs, whose readers… had long retired or left the company. save the trees (as never has been more information printed than since PCs and printers have been put on every desk!)

If you are curious about the first point “having a stable model”, you better be.

I remember an interview that I had once, to become a controller.

The CEO showed me two reports, the annual budget and the monthly progress report.

Problems?

  1. the annual budget had one single figure for the year
  2. the company had some months of “slack” (in some seasons there was no demand for their products)
  3. the managers had to give a progress vs. the budget on a monthly basis.

Solution? Everybody went creative.

Some divided the budget by twelve and compared with the current month. Others divided by (12-months that do not matter). And so on.

In this case, the progress report resulting from the number crunching had only one figure that was reliable: Budget – sum(monthly results)=where we are.

But direction, trend, etc? You would have needed to ask, as you could not understand the logic adopted by each manager, and then have an automated processing…

As you saw from the example and the two short summaries, a critical issue is controlling the scope and size of the model.

The key issue? Control of the number of potential changes.

NEXT:
GMN2009: CHANGE

Any organization, or organized group, whatever its purpose and composition, has what could be defined a “decision inertia”.

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogosphere News
  • LinkedIn
  • MySpace
  • Reddit
  • Technorati

Tags: , , , , , , , , , , , , , , , , , , ,

Leave a Reply

You must be logged in to post a comment.