S01E13 Modeling powers beyond our comprehension
Electrons with feelings, what math can predict, agent-based models, stablecoins, probabilistic forecasting & the best of the rest (the 4th age of programming and the power of spreadsheets)
Back in episode 9, I established that both nature and technology are governed by feedback. This led me to the question: how can we capture this adaptivity in a model? I may have gotten carried away a bit, and we are now four episodes deep in the modeling subplot (episodes 10, 11, 12). Join me as I find my way out of the rabbit hole, narrowly avoiding shiny objects like chaos theory and the morality of crypto.
Last week we left off with Formula One, which is mostly a technical system. Although the drivers do play a role, teams select them expressly to minimize the human factor. While some drivers may be able to ride the occasional perfect race, the championship-winning teams prioritize consistency over flash. The perfect driver is a human metronome.
In this publication, we are interested in systems where humans play a bigger role. Every organization is an open & interactive system populated by agents that are notorious for having free will. When free will, evolution, and learning are involved, prediction becomes difficult. In social systems, agents predict and react to the actions and predictions of other agents in their environment.
The above is a description from the outside in, but it can be helpful to consider this from our own perspective. Tim Urban has an eye-opening visualization:
Now, imagine modeling a social system full of sentient agents, learning, adapting, evolving, and vying to optimize their life paths.
Whatever the perspective, social systems quickly become nonlinear and difficult to model. Even if we have a solid understanding of all of its parts and their interactions, deterministic prediction is impossible because of sensitivity to initial conditions (and other aspects of chaos theory that I won’t go into lest I stumble into a new rabbit hole).
“Imagine how much harder physics would be if electrons had feelings.”
— Richard Feynman (presumably)
While it is difficult to accurately predict the outcomes or behaviors of a social system, that doesn’t mean models are useless here. The domain of simulating the interactions of autonomous agents is called agent-based modeling, and this approach is gaining popularity in the social sciences.
Since we are more interested their organizational application, I went looking for some illustrations of agent-based modeling in a business context. The best examples I have found, are from the crypto industry. We’ll need some context about this business, first.
“Only when the tide goes out, do you discover who’s been swimming naked.”
— Warren Buffet
Because crypto innovation is both permissionless and tightly coupled with speculation, its tide ebbs and flows more spectacularly than that of traditional finance (Buyer, beware!). People who follow the industry over several cycles learn that when the tide recedes, there is more to be observed than people swimming naked.
During bull markets, it is very hard to distinguish valuable and authentic projects from the swindlers and the hype. In crypto winters (and we are in one now), it becomes clear which primitives have staying power. I want to zoom in on such a primitive: stablecoins. They are one of the foundational innovations in decentralized finance, with volumes rivaling those of traditional card networks.
What are stablecoins, exactly?
Stablecoins are programmable, fungible tokens that are designed to have a stable price. They came into existence as a solution to address the volatility associated with other cryptocurrencies. Price stability aside, the value proposition of stablecoins is not all that different from other cryptocurrencies (trust-minimized, programmable, censorship-resistant currencies).
Some designs have proven more stable than others, and I’ll explore a stablecoin design that has been around for a while: MakerDAO’s Dai. So how does Dai work? How would we model a stablecoin?
Dai is able to maintain its stability through the use of collateralized debt: in order to take out Dai, you first have to deposit collateral in the form of digital assets. This logic lives in smart contracts on the Ethereum blockchain, and this contract platform is managed by the decentralized autonomous organization called MakerDAO (I’ll come back on DAOs in a later episode that tackles innovation in organization structures).
What does any of this have to do with complex, adaptive systems?
Well, the Maker platform collectively manages the supply of Dai to ensure its stability. Each person in this system is an agent, with their own unique goals and behaviors. This can be a crypto investor anticipating a downturn, or it can be a remittance use case, where someone wants to move money across borders quickly and cheaply.
Whatever the reason for wanting to acquire Dai, the user must first provide collateral in the form of another cryptocurrency, such as Ethereum. They are then able to mint Dai. However, if the value of the collateral drops below a certain threshold, they will have to provide more collateral or have their loan liquidated. This creates an incentive for agents to be careful about the types of collateral they provide and how much they borrow.
The MakerDAO members themselves are important agents in the system. Incentivized through the value of MKR (a separate token from Dai), they oversee the functioning of the system and make decisions on how to maintain the stability of Dai. They can decide to increase or decrease the amount of collateral required to create new Dai, or they can change the interest rate on the debt to encourage or discourage people from creating new Dai.
Through the interactions of these agents, the supply of Dai is automatically adjusted to keep its value stable. If the demand for Dai increases, the price will rise, and more agents will be incentivized to provide collateral to borrow Dai, increasing the supply and bringing the price back down. If the demand for Dai decreases, the opposite will happen.
Here is a visualization of these mechanics in a diagram:
Modeling is closely related to control theory, and the above diagram uses control concepts (sensor, actuator, controller,…) to illustrate the design of this stablecoin. The practice of modeling is actually well-established in the crypto industry, probably because of its permissionless and open nature.
Another modeling illustration from DeFi (decentralized finance) is Uniswap; a decentralized exchange where people can trade tokens. Uniswap uses a market-maker formula to match buyers and sellers. This is a type of control system that uses mathematical equations to balance supply and demand in the market. This model lets you look under the hood of Uniswap’s market maker.
The above examples are regulation systems. Their ability to successfully regulate a complex adaptive system is wholly dependent on whether the model is a realistic representation of reality. Do Kwon, the founder of the now-defunct Terra stablecoin, also had a model. It just wasn’t a very successful model because it failed to capture the behavior of the real world (apparently, you cannot back a stablecoin by a sister coin).
Just as the sculptor chips away the unnecessary marble to reveal the masterpiece, a modeler of complex systems must filter out the noise to reveal the underlying structure. It requires both art and craft to create a representation that we recognize as valuable.
Good models (like the MakerDAO and Uniswap examples) demonstrate how system-level properties emerge from individual behavior. They help us understand and possibly regulate the system.
Does this mean that agent-based models can help us predict the behavior of complex systems?
The answer is nuanced. It is possible to use agent-based models to simulate the interactions of individual agents in a system. This can tell us something about future behavior as long as the model is based on many different types of local behavior (as opposed to the mechanistic approach of relying on statistical averages for the behavior of many individuals).
While useful for tokenomics designers, agent-based models won’t predict black swan events. At best, the modeler develops an intuition for how different types of agent-level interactions can lead to emergent patterns and behaviors. That’s not quite the same as predicting the future. Many a sorcerer’s apprentice has learned this lesson the hard way.
Herein lies the key lesson of modeling complex systems. They can help us to better understand the underlying probabilistic nature of complex systems. Unlike deterministic models, which assume that a particular outcome is certain given a set of initial conditions, we take into account the inherent uncertainty and variability in the behavior of agents.
In the upcoming season, I will zoom in on digital transformation, and give some concrete examples of how organizations can get a better handle on the future by understanding variation and by using probabilistic approaches toward planning (strategic and operational).
But first, I’ll wrap up this season and further map the intersection between complexity and organization theory.
Best of the Rest 👀
🤖 Software AI is eating the world
The 4th age of programming is here. What will be the 2nd order effects as developers increase their productivity and scope through AI?
Will teams remain the smallest value-adding unit? There is more value in teams than just the sum of their skills, but it's likely that teams will become smaller.
Team-level agility will get easier, and the focus of the agile "industry" will shift from the team to the coordination level. Architecture, culture, and governance will become the drivers of organizational performance (even more so than today).
Creating custom things in the digital realm is now within everybody's reach. Will development become a commodity? My guess is that the ability to create digital products will become even more of a power law.
AI will transform biology before it transforms robotics.
We can’t download knowledge into our brains just yet, but we’re bound to get access to an external, second brain based on our notes and online behavior
🤝 How we organize
This article by Gregor Hohpe makes a compelling case that a software architect’s time is better spent debugging than coding.
The permissionless corporation - HBR must be reading our newsletter.
Here is a fascinating talk on spreadsheets: our most practical, most widespread interface to computation.
Related: I made a habit-tracking spreadsheet: feel free to make it your own.