Monday, 28 September 2015

Could software modelling techniques help complexity economics?

Models used in complexity economics require a high degree of intellectual investment which presents a barrier to dissemination. Their features and implications could be captured and communicated in a way which is quicker and easier to grasp. 

Economic agent-based models could borrow 
techniques from software modelling to easily 
communicate key features. This diagram shows
a simple high-level example based on entity-
relationship modelling.

Those of us who regularly work within the framework of mainstream economics can often be frustrated by its deficiencies: a far-fetched view of rationality and perfect information; assumptions made to serve mathematical tractability rather than observation; and the omission of dynamic effects, agent interactions and behaviour that may be routinely far from equilibrium.

Complexity economics has made significant progress in building models that describe the latter. However, this progress often struggles to make an impact in wider economic and policy communities, or in the public consciousness, despite the very strong arguments for moving economics forward from the 19th/20th century algebraic paradigm.

So perhaps it is time for complexity economics to apply its own concept of "fitness" to itself and ask how it can be made fitter to compete with mainstream economics.

To make an idea spread, lower the cost of learning and applying it

One thing that mainstream economics really has going for it is a transferable analytical framework, presented by micro-economic theory, of marginal analysis (generally), partial equilibrium analysis, competition models, and so on. After an initial intellectual outlay to understand this framework, it can be applied to a wide range of research questions by commissioners and researchers alike. 

Complexity economics lacks a similar universal “analytical workhorse”The closest analogue is the agent-based model (ABM). Agent-based models have been a standard tool of complexity economics research for some time. They are computer models representing populations of economic actors, such as individuals or firms, following repeated simplified rules over a number of iterations. So far they have been mostly used for simulating a particular aspect of the economy to gain qualitative insights into the mechanisms behind it. Examples include models of financial markets, and this large-scale model of the European economy.

However agent-based models form a disordered and impenetrable ‘zoo’, opaque to anyone who is not a specialist in the field. By their very nature, the essential design components of ABMs – rules governing how agents interact, how interconnected agents are, whether agents change or learn, exogenous factors – are usually specific to the question under scrutiny and not easily transferable from context to context. Furthermore, they are buried in the verbal detail of papers. From an outsider's perspective, for any given research question, it is difficult to grasp what is 'out there' – which existing ABMs could add insights, or be used as a basis for a new model.

This imposes a large investment in time and knowledge for non-experts and a high cost on policy research using agent-based models. Mainstream economics is at a great advantage. It will be favoured not just because of its dominance at undergraduate level teachingbut because of its transferable framework and the lower intellectual and actual cost of commissioning it in new contexts and disseminating its insights. 

Part of the solution could be to make communication of ABM research more efficient. If non-expert and expert researchers alike could grasp the key features of models more rapidly, this would enable easier comparison and promote the exchange of ideas. So, alongside pluralism in undergraduate courses, the heterodox community should be aiming to develop techniques for communicating and sharing its insights.

Borrowing ideas from software modelling

One idea is to improve how the essential design components and economic implications of agent-based models are summarised and described. Software modelling already has a range of techniques and diagrammatic tools which could be adapted for this purpose, such as entity-relationship modelling, Unified Modelling Language (UML) and Jackson Structure Diagrams.

This suggestion has been made before. A 2006 paper by Matteo Richiardi and colleagues proposed the use of Class and Sequence diagrams from UML as a basis for describing ABMs. The Open ABM Project also recommended a protocol for communicating ABMs and suggested that "ultimately, something similar to UML should be developed for ... agent-based models".

However, the latter project was designed principally for ecologists, and (I'm happy to be corrected on this), the idea as a whole seems to have lost momentum. Now that the impetus for new economic thinking has grown since the 2008 Financial Crisis, perhaps it's time to revisit the idea with a particular focus on economic models.

UML-type diagrams would of course need to be supplemented by a verbal summary; perhaps an outline in pseudo-code (or even natural language programming?), as well as clear highlighting (in text or a table) of the things an economist most needs to know from a model. 

A very basic guess at what these are would be:

  • What are the phenomena being simulated and key insights?
  • What agents and variables are involved?
  • How are they related mathematically (e.g. Cobb-Douglas Production Function)?
  • What assumptions are made about agent behaviour, decision-making and the information available to them?
  • What are the rules for agent connectivity? Is this static or evolving?
  • How many distinct calculation steps are there, and what is the sequence?
  • Do agents change or learn?
  • How is time treated?
  • Are there any exogenous drivers of change?
  • Is there any scope for empirical testing?

What's the ultimate goal?

As economists, we know all to well that high cost prevents the spread of ideas and technologies. ABMs are one of the great hopes for new economic thinking, and they need
a boost beyond the initiated. A systematic way to summarise their design and key implications, potentially based on the existing diagrams and techniques of software engineers could help. This could even provide a common language for harnessing the creativity of computer scientists.

Ultimately, we need to aim for a situation where economics undergraduates study ABMs, and are able to easily interpret and promote research based on them in their later careers in finance ministries, central banks and everywhere else – just as they do with standard economic models today. 


  1. I like this a lot. I wonder why nobody has built a generic ABM as a form of sandbox game into which you can insert your own (all be it limited) assumptions, agents and resources from a toolbox. It couldn't do everything you wanted but it could do a lot - and if programmed openly other designers could produce add ons for un-developed assumptions. Start simply and build in the complexity.

    1. Thanks very much for your comment, that is an interesting idea. I have no experience of these. Where would you start and what tools would you need? Could anyone provide a similar example?