Building Blocks

Building blocks approach to breaking down complex systems and concepts is one of the simplest yet powerful ways to navigate this complex world.

There are a few ways to think about blocks. Blocks can be a part of the system. The factor of split is that they form a component with a defined boundary. Another way to look at a block an abstract container for a feature. They may not have a specific physical significance. But they form an abstraction that is important in the context for the system.

Now moving onto connecting these blocks. A connection denotes a relationship. And relationships can have different meanings and also depends on which end of the relationship you are looking at. Hence a directional approach is required most times. Another way to connect blocks could be based on the temporal significance between the blocks. In other words, where blocks are arranged to form a sequence.

Complexity Theory

Complexity theory and related concepts emerged quite recently, towards the late 20th century. Complex means diversity, multiple concurrent interdependencies between different elements of a system. Human cells in itself are a very complex system. However they can self-organize and form groups. Create variations and give rise to even more complex systems like a human.

Complexity theory studies complexity systems. A system composed of many components that interact and have different dependencies with each other. Key concepts include systems, complexity, networks, nonlinearity, emergence, self-organization, adaptive.

A business is also a highly-complex system. Comprising of complex individuals both in an around the business interacting with it simply by creating products, selling/buying them.

Supply Chain Traceability

A supply chain is a system of activities that is required to convert raw materials to the final product spread across in time and geography. Traceability in such systems make it easier to understand what is happening at each step of the process. This is critical especially in the Food and Pharmaceutical industry, where they are trying hard to trace each component that goes into their products.

With better traceability, it will be easier to enforce regulations. Regulatory authorities can more easily make sure that there are no banned substances used in any product or if any banned processes were used.

From a business point of view, it will be easier to optimize value chains for each product and find possible synergies. Currently all businesses do this, but at a higher level. Not every company is interested in raw materials right from the ore to the form they use. But traceability would make it more transparent for businesses to see the history of each delivery and the complete chain.

Within the food industry, there is a growing need and market for products that are ethically sourced. Big companies want to be seen on the right side of history when it comes to sourcing from local farmers and institutions. Traceability in supply chains is one way to improve their overall brand image. For example, the Fairtrade initiative. Which is then used by downstream companies like “Ben & Jerry’s” who source cocoa, sugar etc. under this initiative.

There are a few ways traceability can been introduced to a supply chain. Subway has 98% of their products traceable by using barcodes. RFID tags, alphanumeric codes are possible solutions as well. Blockchain is a relatively new technology that is being used for this purpose. A distributed ledger that cannot be tampered with keeps track of the supply chain. And all stakeholders are free to check the validity of it themselves. A drawback with using blockchains is that these chains become stronger and more viable when the size of the information is huge. For smaller amounts of data, a centralized approach would suffice.

Usually supply chains include contracts between different parties right from the start until the product reaches the customer. Blockchain maybe is a more viable solution to manage these smart contracts in one of its ledgers. These agreements are usually repetitive in nature and can span across different geographies, time-zones, currencies etc. A distributed ledger in this case could act as a common protocol used by all stakeholders to manager and maintain contracts.

Bad Banks

A bad bank is a bank that is set up to hold risky, problematic holdings of a banks. By doing so, the actual bank can clear them off their books. The transfer of assets take place at market price. Bad banks is a simple idea of moving away that bad parts of the portfolio into another one, so that it doesn’t contaminate the rest. Allowing the bank to focus on it’s core activity of lending. The creation of a bad bank can be done even if there are no problematic assets, but if the bank wants to shift it’s core strategy.

This is a good way of reducing the risk of the depositors. But investors will still lose their money. By separating out the risky parts of the assets, it enables investors to better gauge the health of the company. Usually improving it’s overall outlook and making it easier to raise money in the future.

From a systems point of view this make more sense. Divide and conquer. The manager of the bad bank can then focus on managing the risky assets. This gives more room for investment practice as they are not tied to non-risky assets. The time horizon and risk profile are quite different for different underlying assets.

Over speculation of property assets and the exchange rate of the Swedish Krona led to a major banking crisis in Sweden. By 1992, 3 major banks were insolvent. McKinsey & Company were bought in to solve the situation. They proposed two bad banks that moved the toxic assets of the remaining banks at market price. The government in the end had to bailout at a price reportedly about 2% of the GDP. However, it was a backstop measure for this turning into a larger catastrophe.

After the 2008 financial crisis, this idea gained more popularity. It was seen as a method to handle such crisis without leading large financial institutions to insolvency. Recently the Indian union budget proposed to set up a bad bank to clean-up the bad assets in the financial system.

Circular Economy

Circularity is an important concept within economic systems. In an ideal world, a circular economy will have minimal waste and most of the resources will be continuously renewed and reused. This systematic approach gives equal weightage to the business and the environment. Digitalization can boost a circular economies. It provides the right tools without the added overhead to keep track of different chains in the business.

The fashion industry is a good example where a circular economy can be very useful. Sustainably producing different kinds of natural fibres and dyes is challenging. Circular economy promotes the reuse of clothes instead of production. Renewed clothes can be used for all kinds of purposes, and can unlock a new business segment. Fashion brands themselves have begun to focus on durability. Making clothes and accessories that lasts. Durability is becoming a more attractive trait nowadays. It is a testament to the products quality.

Recently Ikea launched it’s own second-hand store in Sweden. It is part of their push towards getting more life from their furniture. Furniture is a bit more tricky. However, Ikea’s modular approach makes it a bit simpler to replace parts of a furniture instead of the complete piece. They are looking into ways in which furniture can be taken apart and put together multiple times without any damage to the components. This will help improve the overall lifetime of the product.

Circular economies will not lead to an infinite economic machine like the theoretical perpetual motion machine in Physics. There has to be a viable exchange of value at each step of the process.


Deloitte Report

The circular economy in detail

Decomposing a System

Systems can be decomposed in many ways. Depending on various aspects the resulting decomposition can look different. If they are divided in terms of technology, you could end up with different compartments or layers classified by the underlying technology. A system can be broken down by structure or function. Compartmental models are a good example. A system can be broken down based on the domain. That particularly helps when a group of people and roles are required to work around the system. Makes it easier for different groups of people to focus on different areas of the system. Hiring, research, experiments all become more manageable.

Another heuristic way of decomposing a system is by identifying the atomics parts of the system. What I mean by that is these sub-units cannot be broken down any further and the behaviour of these units are fundamentally fixed. Either by definition or by some kind of universal laws. By doing this we can then express the system as a combination of these units.

This opens up to thinking about 2 aspects. How can we put these units together in different ways to reach different outcomes. Secondly, how the inherent behaviour of these atomic units can be changed. Has anything changed (new invention, better technology etc.) that can modify the behavoiur of these atomic units. Sometimes it can be easier to solve the problem on the atomic level rather than on the system level.

Compartmental Models

Compartmental models is a type of mathematical model that tries to simulate events and systems by breaking them into compartments. An example of a compartmental model is the material flow in a production plant. A typical production plant would have stations that are sequentially arranged along which the product is built. Each station would have one or many feeder lines feeding different components and tools. Such a model could then be used to optimize the flow of material and effort along the production line.

A system needs to be broken down into various compartments first. The relations between these compartments have then to be realized. This is the tricky part. A system can be broken down in multiple ways. This has two implications down the line. Different decomposed versions of the same system can expose different parameters of interest. Since these compartments are dependent on each other, the same parameter can have different behaviour on the same system just because it was decomposed and modelled differently.

Compartmental models are used in the field of epidemiology, primarily to simplify the mathematical modelling of infectious disease. A simple model uses “susceptible”, “infectious” and “recovered” as the 3 compartments to label the population and study the behaviour. A more complex version of the model uses an additional compartment “carrier” as well to model the behaviour of a part of the population that are not suffering from symptoms but is a carrier.


There are 2 kinds of tutorials. The first kind is the one that gives you the fish, and the second kind is the one that teaches you how to fish. During development, I have caught myself facing the same errors even after looking up a solution to a problem on stackoverflow. Understanding the framework and the problem in question is key. Tutorials failing to do that fall into the first category. One of the most efficient ways to learn something is by doing it and seeing it for yourself. The second kind of tutorials are really good at hiding the “actual” doing part within it’s tutorial. Making it more of a learning session rather than just following a set of commands on the terminal, just to forget it the next time.


Egrodicity is an idea where a point of a moving system will eventually have travelled through all parts of the space that the system moves in. Like smoke in room and it eventually filling up the room. The egrodic theorem has been used to describe common-sense phenomenon like mixing of liquids from a mathematical point of view. An egrodic process is a process that has the same time average and ensemble average. A time average of a process is the value of the process over an amount of time. While an ensemble average is the average of N number of identical process at a specific point of time. An egrodic process can be understood by looking at a snapshot of the process rather than the complete picture.

Sensitivity Analysis

Systems behave differently based on its environment. With differing inputs, the system can have a different set of outputs. Sensitivity analysis is a way by which we can analyze the effect of individual inputs on a system. Sensitivity analysis helps us understand which inputs have more effect on the system than others. This concept is used in system identification, control theory and even in marketing. Ads are usually A/B tested in a smaller group to understand what features of an ad appeals better to users before it is rolled out.

A heuristic way of applying this is, if all else are equal a car that travels a longer distance will burn more fuel than a car that travels a shorter distance. This gives us a relation between distance and fuel burnt. However, there are other factors to consider in real life like if the car has the different top speeds, drag, load/mass etc. But what we are trying to do effectively is to abstract all that out of the relation to understand the relation between fuel burnt and distance travelled.