Chip – the Algorithmic Savings App

I came across an App, while aimlessly surfing, it’s an algorithmic savings plan. I think that is the best way to describe it, or at least its a way to describe it. The point of Chip is that when you sign up you get a savings account, held by Barclays Bank PLC, and the app figures out how much money you could save (and not miss), and when. So every now and then Chip determines, via the magic of algorithms, an amount of money that you could save and not miss too much.

On the default savings rate it seems to be similar to the cost of a large latte and a chocolate bar. Chip then congratulates you your saving, you can back out if money is short. If you leave it to its own devices that sum of money disappears from your nominated current account to reappears in your new savings account.

Am I Using it?

Yes, I have signed up for the app. I thought that in general this isn’t a bad way to save. I have standing orders for saving a modest sum of money every month but I always thought I could do a little more. What Chip does is allow that to happen in a flexible way, no need to commit to a particular amount at the start of each month, and no need need to remember into get on internet banking to do it manually. Chip does it for you, and if you are a bit short one month you can stop the transfer. Great if your income is irregular and saving a fixed sum might be tricky.

Similarly, should you suddenly find you need money, you can easily get at the funds out of the savings account. This in my mind this makes this a sort of slush fund. Which you can dip into should need to, or are tempted to. I still think longer term savings are also a good idea. Putting a little away somewhere harder to get at, and also make sure you have a pension as soon as you can!

Saving Made Entertaining?

Chip makes saving about as entertaining as it probably could be. You get congratulatory memes when you save, and Chip is well chipper, and encourages you along your savings journey. The chipperness might drive some users slightly mad, but I think they got the balance about right. It does seem to work, or at least it does for me, after 103 days using the app I have saved slightly over £200. Which, although not a massive sum, is £200 more than I otherwise would have. I set a goal, rather arbitrarily, of £1500. Weirdly Chip seems to report that I am always about 95 weeks away from my goal… but whatever, I can see the amount saved go up and the amount left go down. Thats progress.

What About My Data?

In order to do all this Chip needs read-only access to your bank account. Now that is not data that should be handed over lightly. Sure your bank knows it, but your day to day transactions is very personal data. It provides a lot of information about how and where you spend you money, and thus who you are in a way. Chip is regulated by the ICO and they encrypt the data.

Chip has a data control licence – you’ll find us on the ICO register – and we always act in full compliance with the Data Protection Act. Your online banking login details are protected using 256-bit encryption and Chip does not store your data.

Chip FAQ

This was the part of the process that made me wince a little. However, if they are going to calculate a savings rate then they need (at least some of) this information. So, if you want in, this is the price you pay. I wanted to have a more detailed look at what and how they use my data. So I asked them a few questions, but they are yet to reply…

Complexity and the collapse of the financial system – from the Archive

Originally Posted on January 14, 2015 by Institute of Hazard, Risk and Resilience

by Philip Garnett and Brett Cherry

Finance influences everything, from the growth of businesses and employment to capital and even public services. As the world becomes increasingly subject to the all-encompassing influence of financialisation, it is confronted with problems that require new perspectives from studies in complex systems.

The recent global financial crisis revealed that some of the world’s brightest economists were unable to foresee the failure of the financial market they grew to admire, which became so complex that even they couldn’t understand it. What was needed at the time and at present are studies in complex systems that can help us understand the vulnerabilities of the UK financial sector, and the global financial market.

Complexity science examines the underlying nature of how systems evolve over time. ‘If the whole matters more than the parts’, as Aristotle once declared long ago, then examining the financial system using approaches from complexity science may help financial regulators and society come to grips with the ‘unknown unknowns’ of finance.

How starlings flock or swarm together in flight is an example of emergence.
How starlings flock or swarm together in flight is an example of emergence.

Ideas from complexity science useful to understanding finance include emergence. Emergence refers to something that was created from the interactions between the constituent parts of a system or multiple systems. The UK financial sector consists of interlinked banks and other financial companies. From their behaviours and interactions with each other and other systems, such as the economy, emerges the financial system. This makes the financial system similar to examples of ecosystems, such as plant or animal communities, which are also complex, interdependent and vulnerable to systemic failure.

If a financial system is complex how do you define or attribute the causes of events that lead to a crisis? The globalised banking system has radically changed finance which has led to new challenges in financial regulation. Questions from a complexity science perspective on the financial sector include (1) how do you govern a system that is too complex to understand? and (2) how can you ensure that your regulations will have the intended effect?

One potential solution is to simply make the financial system less complex. Give it a set of simple rules and its actions should be more or less predictable, but actually it doesn’t matter how simple the rules are, a system can still behave in a complex way. A good example of this comes from a computer simulation known as ‘Conway’s game of life’ that while is governed by a simple set of rules, will still have emergent properties that are difficult to predict.

In Conway’s game of life cellular automata are governed by a short list of simple rules:

For a space that is ‘populated’:

  • Each cell with one or no neighbours dies, as if by loneliness.
  • Each cell with four or more neighbours dies, as if by overpopulation.
  • Each cell with two or three neighbours survives.

For a space that is ’empty’ or ‘unpopulated’:

  • Each cell with three neighbours becomes populated.

Guided by these simple rules, complex movements and patterns emerge from the interactions between different cells.

Bank networks

Finance is complex mainly because it operates through networks of banks. There are numerous interactions that take place across these bank networks in the UK financial sector. The changes in one part of the network by regulators could produce unwanted emergent effects in another. This is because it’s incredibly difficult to predict how interventions into a system will evolve over time.
In the UK, while it could be argued that complexity helped make London a global financial centre, namely through globalisation and relaxing controls on competition, it has brought with it risks that were mostly unknown prior to the 2007-08 banking crisis. The crisis revealed how a complex banking system is in some ways more vulnerable to collapse because of the levels of connectivity between banks.

The more interconnected a bank is the more likely it could be exposed to systemic failure. If its failure is not prevented it potentially brings down other banks with it and severely hampers the financial economy. This was the case with Lehman Brothers in the US, which was in turn connected to the failure of Northern Rock in the UK through sub-prime mortgage lending. The crisis also revealed that it is even more difficult to identify the causes of failure because in a complex system what causes it to fail has no immediately apparent causal link. It is only after the event that people are able to justify what happened.

The rise and fall of the British bank population.
The rise and fall of the British bank population.

Supersize me

In the 19th century banking changed drastically in a short period of time. In 1826 the implementation of joint stock banking made merging easy to do because it lifted the restrictions placed on the size of banks. Over a 15 year period (1888-1902) 29 per cent of the total banks in Britain disappeared, and the remaining banks became much bigger as a result. 270 bank mergers took place between 1870 and 1921 alone. Large banks ate up smaller banks, which made bank cartels a historic reality by the 1920s, one that has continued to this day.

Mergers caught on quickly with other banks who copied their behaviour. In some cases banks may have been forced to copy their competitors to look like they were competing. To buck the merger trend could have been damaging for a bank. They had to copy in order to survive by merging together. It was either grow with the herd or die. Banks had created a positive feedback loop. The creation of banks promoted the creation of even more banks. A positive feedback is self-reinforcing; it creates more of the behaviour that started it.

Eventually bank mergers had to be brought to a halt because government feared that the population of banks would drop too low. Legislation influences the environment of banks and in turn affects their behaviour. Joint stock banking in 1826 allowed unrestricted mergers so banks could grow as big as they like. It also made bankers no longer liable if their bank failed. For banks in Britain, consolidation and the end of liabilities were evolutionary responses to a changing financial environment.

Bank evolution

Not only were banks allowed to increase enormously in size, but they could engage in kinds of risk taking behaviour that were unheard of in the past. However, eventually partnerships and limited liability, which made partners liable if their bank failed, had to be done away with at some point. If they had not there would have likely been thousands of banks in place, making the system completely unworkable. The UK financial system had to evolve in response to government interventions that changed the rules.

But how do legislators know how banks would evolve in response to their interventions? The answer is ‘they don’t’, not exactly, as in the case of the 2007-08 banking crisis, banks can behave in rather unpredictable ways, and before government regulation catches on to what they’re up to, it’s too late. While legislative intervention influences the financial environment, what banks do in response changes the nature of the financial system, pushing it into a new state entirely. A casualty of the financial crisis in the UK was Northern Rock.

The run on Northern Rock bank branches in 2007 is an example of a positive feedback.
The run on Northern Rock bank branches in 2007 is an example of a positive feedback.

When Northern Rock became insolvent, meaning it could no longer meet its liabilities, news of this spread rapidly and erupted into a public panic. People began queuing outside of the bank to withdraw their money inciting more people to do the same creating another positive feedback. However, Northern Rock was merely a symptom of systemic instability in the UK financial sector. This means the UK financial system was already unstable before Northern Rock went bust.

Forecasting failure

Financial history has some important lessons for how the UK banking system has responded to its changing financial environment over time. But history alone is not enough for understanding what the financial system may be in store for in the future. The UK financial sector today is even more complex than in the past. Globalisation continues to make it vastly more interconnected and complicated. If a highly connected bank in one part of the world fails it could cause others to go down with it, regardless of what country they are in.

Finance is a global enterprise and it is likely to stay that way, especially as other financial sectors beyond North America and Europe become more well-established. Similar to coming to grips with other complex global crises such as climate change, complex modelling approaches can help us better understand financial crises, not by simply modelling the potential risks the financial system is exposed to but also bank networks.

If you built a model of the financial sector it could run constantly to look for rare events or signs of systemic failure. Take real time information gathered from financial monitoring, plug it into the model and see what you get. Any information from banks could potentially be fed into a series of slightly different models that could be run simultaneously.

While no model would be a perfect replica of the financial system, modelling could reveal so-called ‘black swan events’ that otherwise would go unnoticed. However, even if you were able to predict the next financial crisis, there is still the problem of adapting to it, something that regulators tend to do on an ad-hoc basis. When the financial system crashes government implements policies that patch the holes that started the crisis, but what they don’t do is look for where new holes could open up. How can you adapt to something that you’ve never experienced before?

Adapting to the unknown

Imagine a financial system that is complex-adaptive: self-regulating and aware of what is happening. If banks were aware of the complex interconnections they share with other banks or financial companies it could lead to a more stable system, potentially discouraging the kinds of overly risky behaviours that underpinned the last banking crisis. If a system was more self-regulatory it would need to be responsible for its own stability, and regulators would have to continuously monitor and reflect upon the behaviours of banks to respond more quickly.
Simulating bank networks could help test assumptions about the behaviours governing the financial system. This would require real data to determine the accuracy of the simulation but once calibrated could say something about how banks may behave in the future, or address external influences on the financial system, as was the case with merger legislation. However, a model is still only as good as the data that are available. A complex-adaptive financial system would potentially be a more transparent structure than what is in place today that recognises how the success of banks is linked to their competitors, and if they were wiped out they would fail also.

It is already the case that decisions within the UK financial sector tend to be far more effective in influencing the financial system than external government regulation alone. For legislation to be effective it needs to investigate the potential consequences of certain policies by examining the long-term evolution of the financial system, which can be accomplished through modelling and simulation.

Where data is incomplete in financial history complex modelling and simulation can be used to refine historical understanding and provide similar insights. Models that enhance understanding of the past, and how we arrived at the present, can be run to make forecasts of possible futures, but to achieve this involves first answering what kind of financial system is desirable for the future? In a complex system the decisions we make now could have important impacts on the future of finance that need to be given attention today.

Business History – Banks, births, and tipping points

We have a new piece published in Business History, Complexity in History: modelling the organisational demography of the British banking sector. Continuing our work modelling the British banking sector we have responded to the very interesting comment by J Bissell, “The decline in the British bank population since 1810 obeys a law of negative compound interest“, on our original paper. This gave us the opportunity further discuss the role of modelling in understanding historical processes and present some more recent insights into the development of the banking sector. We where also able to revisit the Tipping Point in the sector and question whether it is indeed a tipping point at all.

Garnett, Philip, Simon Mollan, and R. Alexander Bentley. n.d. “Banks, Births, and Tipping Points in the Historical Demography of British Banking: A Response to J.J. Bissell.” Business History 0 (0): 1–7.

J. J. Bissell, “The decline in the British bank population since 1810 obeys a law of negative compound interest”. Business History Vol. 59 , Iss. 5,2017

Panama Revisted

The people over at The International Consortium of Investigative Journalists have updated the released panama data. Its not clear to me if that is more data than they had already released, or that this time it is a ready made Neo4J database. They provide two versions of the database, Windows and Mac. Its easy to get it to work in Linux, just copy the graph.db file from out of the archive into the databases directory of your Neo4J install.

I made a quick query to look for officers with the same address. Seems there some, it would need something more sophisticated to did any deeper.

MATCH (n:Officer)–(a:Address)–(m:Officer) RETURN n,a,m LIMIT 25







Java Panama Papers Neo4J Network Generator

Further to the first attempt at importing the Panama Papers network data into Neo4J I did a very quick Java program that greats an embedded Neo4J database. It needs a bit of checking as it finds nodes that have the same node_id. Which I assume is some sort of mistake in the program or the data, it also looks like there is some duplicate relationships.

This program generates relationships of the different types. Such as ‘officer_of’, rather than the hack used to get Cypher to import the data (see earlier post).

The code can be found in my new github.

Below is Blairmore, Ian Cameron, the intermediary, and loads of other companies that use the same intermediary.









Not many directly links to Blairmore.

Panama Papers: Import Data to Neo4J using Cypher

I downloaded the panama paper network data, I was hoping it would be all the data, sadly not. Its it still interesting however. The import process is not to tricky. The following Cypher commands will get the data into a running Neo4J database. Note there is a \” in the Addresses file that will break the import. Search for it an replace with \ “. Data can be downloaded from here.

To get the relationships in we have to do a bit of hack as you cannot generate a relationship type on the fly from a CSV file with Cypher. I will do this properly with a bit of Java soon.

Change the paths! This is for the Addresses:

USING PERIODIC COMMIT LOAD CSV WITH HEADERS FROM 'file:/path/Addresses.csv' AS line CREATE (:Addresses { address: line.address, icij_id: line.icij_id, valid_until: line.valid_until, country_codes: line.country_codes, countries: line.countries, node_id: toInt(line.node_id), sourceID: line.sourceID})

For the Intermediaries:

USING PERIODIC COMMIT LOAD CSV WITH HEADERS FROM 'file:/path/Intermediaries.csv' AS line CREATE (:Intermediaries { name:, internal_id: line.internal_id, address: line.address, valid_until: line.valid_until, country_codes: line.country_codes, countries: line.countries, status: line.status, node_id: toInt(line.node_id), sourceID: line.sourceID})


USING PERIODIC COMMIT LOAD CSV WITH HEADERS FROM 'file:/path/Officers.csv' AS line CREATE (:Officers { name:, icij_id: line.icij_id, valid_until: line.valid_until, country_codes: line.country_codes, countries: line.countries, node_id: toInt(line.node_id), sourceID: line.sourceID})


USING PERIODIC COMMIT LOAD CSV WITH HEADERS FROM 'file:/path/Entities.csv' AS line CREATE (:Entities { name:, original_name: line.original_name, former_name: line.former_name, jurisdiction: line.jurisdiction, jurisdiction_description: line.jurisdiction_description, company_type: line.company_type, address: line.address, internal_id: line.internal_id, incorporation_date: line.incorporation_date, inactivation_date: line.inactivation_date, struck_off_date: line.struck_off_date, dorm_date: line.dorm_date, status: line.status, service_provider: line.service_provider, ibcRUC: toInt(line.ibcRUC) , country_codes: line.country_codes, countries: line.countries, note: line.note, valid_until: line.valid_until, node_id: toInt(line.node_id), sourceID: line.sourceID})

Finally the relationships, or edges. Note the hack, all relationships are of type ACCOC. This isn’t a big problem but offends me a little bit. I will post you Java code that generates the graph dir from the files.

MATCH (n1 { id: toInt(csvLine.node_1)}),(n2 { id: toInt(csvLine.node_2)})
CREATE (n1)-[:ACCOC {role: csvLine.rel_type}]->(n2)