Week of 2022-06-20
Where I continue exploring the customer-vendor loop idea from the previous issue, sharing my learnings around applying the lens to SWOT and asymptote analyses. Each is a fun galactic rabbit hole, so half the work is carefully restraining myself to avoid falling into them.
Making sense of SWOT with customer-vendor loops
When brainstorming entries for a SWOT analysis, it might be useful to have a bit more structure. Let’s see if we can use the customer-vendor loop for that purpose.
To frame this exercise a bit, I am going to rely on the notion of stocks and flows in the loop. We have four stocks and four flows that connect these stocks. Each stock represents a value that we want the loop to compound, and each flow represents the means by which we could achieve that.
Through this lens, the strengths and weaknesses of an enterprise will be described by the state of the stocks. Similarly, the nature of the flows between these stocks will tell us about threats and opportunities. This gives us a recipe to start filling out a SWOT table.
For each stock (Vendors, Products, Customers, Interactions), we can ask questions that produce strengths and weaknesses entries. Put very simply, high values are strengths and low values are weaknesses. Just like stocks, strengths and weaknesses are static qualities – these are the things we have or hold.
For each flow (Vendors build, Products attract, Customers engage in, Interactions attract), we ask questions that produce entries for opportunities and threats. Threats attenuate flows and opportunities accelerate them. Flows are dynamic, and so are the threats and opportunities. They increase or decrease the value of stocks over time.
In addition to producing SWOT entries, this exercise can be very useful for getting a better sense of the examined customer-vendor loop. If it produces nonsensical entries, chances are the loop doesn’t actually represent our aspirations.
For example, one common mistake I kept making was failing to recognize that the notion of value is relative to the other components in the loop. To make this more concrete, let’s imagine that one of our friends (Vendor) made a really cool klaxon sound mobile app (Product) that has tons of Users (Customers) — who doesn’t want a klaxon on their phone?! — and these users mash the titular button multiple times per day (Interactions). We might conclude that the high number of Interactions signifies significant value of the corresponding stock. Unfortunately, this app is free, and so is its key interaction, which means that there’s no value attached to it. Any multiplier of zero is zero. Despite a large number of interactions intuitively seeming like a valuable thing, it is their relative value that matters within the loop.
In such cases, it might be worth looking into motivations and/or considering that maybe we’ve got some parts of the loop wrong. What if the main reason our friend made this app was to showcase their programming skills? In this case, the value of Interactions is primarily in the “shipped an app that has X million active users” line in their resume. Though the Klaxon app customer-vendor loop is unlikely to be compounding, it might get our friend a great next gig.
Such seemingly non-compounding loops are found quite often in the wild. They exist as tools, as flow accelerants or stock accumulators for some other loops. They may appear as useless or incomplete when viewed in isolation. However, when combined with another loop, they suddenly sparkle compounding magic. A large part of strategy is about discerning the combination of incomplete loops that form a thriving, symbiotic relationship. From this perspective, a business is a large collection of incomplete loops striving to form into a single something that generates value. Whether or not they succeed defines the viability of the business.
Zooming back into the local perspective, it might be helpful for a team to recognize when their customer-vendor loop is incomplete and stay conscious of it. Even if they are an effective tool for another loop, incompleteness is still a weakness and a source of potential future threats and opportunities. Loop dependencies are dynamic in nature. They shift and change.
🔗 https://glazkov.com/2022/06/19/making-sense-of-swot-with-customer-vendor-loops/
Asymptote analysis using customer-vendor loop
Another potentially useful source of insights is using the customer-vendor loop for asymptote analysis. If we indeed desire for our loop to compound, we likely need to consider the upper limits of the compounding. Every growth has a limit, and studying the structure of the customer-vendor might help discern it.
Roughly, the idea is as follows: since the customer-vendor loop has four stocks and four flows, we start by reasoning about the limits that are imposed by each. Since compounding loops are sequences, the stock or flow whose limit we will encounter first will point at the asymptote in our growth. More than likely, there will be other factors at play, so treat this exercise more as a homemade compass rather than a precise instrument. Still, even the fact of engaging in such exercise might open up a space for building shared mental model space about limits to growth.
To look at the limits of the four stocks (Customers, Products, Vendors, Interactions), think of them in terms of capacity. Imagine them as containers. What is the size of each container? Why can’t it get larger? What are the factors that stand in the way?
One common mistake I keep making is imagining Customers as “all people”. That’s one massive container, right? Sky’s the limit. However, in reality, the slice of “all people” actually interested in my Products is typically much smaller, and is limited in many distinct ways. If I own an ice cream shop, I am limiting my Customers to those who like or can eat ice cream. I am also limited by access: how many people can see my shop and walk to it? Sometimes — and this tends to happen frequently in software adventures — I only have vague hypotheses about the existence of my Customers, in the “if you build it, they will come” fashion. In such cases, it helps to be conservative about the guesses. Keeping the sky as the limit may lead to unproductive self-delusion.
In software engineering loops, typical Vendors limits are going to orbit around budget, engineering capacity, depth of expertise, and the like. Products will bump into limits like feature richness, accessibility, stability, etc. Interactions will likely face scale as well as various conversion-related limits.
It also helps to recognize that all limits are dynamic. If another vendor opens an ice cream shop up the street from mine, my Customers limit will change accordingly. Limits are as much of a study of future trends as understanding the current situation. If we are to be strategic about our enterprise, we need to do both. This is what the continuously integrated strategy piece was hinting at.
To study the limits of the four flows (Vendors build, Products attract, Customers engage in, Interactions attract), it is helpful to imagine flows as faucets that connect the two stocks. What would it mean to open the faucet all the way up? What is the current setting? Usually, the words “friction” and “performance” enter the software engineering vocabulary when discussing limits of flows.
The “build” flow limits are typically about the effectiveness of tools and processes. Conversations around engagement flow limits will mention bandwidth and latency. Both “attract” flows will circle around incentives, compensation, recognition, and somesuch.
Sometimes, understanding that there is a limit to the flow can lead to a candid conversation about compounding loop viability and the need to rethink the current hypothesis. I may assume that since I have a great connection to the Internet, all of my Customers will also have it. I may assume that since I have a multi-core machine that is happy to chew on any CPU load I throw at it, all of my Customers have access to the same computing bandwidth. In the long run, both of these might come true. However, my compounding loop is here and now, and making these assumptions might prevent me from seeing the flow limits, leading me to imagine a compounding loop that isn’t there.