A series of posts about those things. Oldest posts first.

How to model resource flows in networks

This is a guest post from Lynn Foster, one of the authors and maintainers of the ValueFlows economic network vocabulary. In the fediverse, she is @lynnfoster@social.coop

These are some thoughts about how to model resource flows in an economic network. These models can be done at different levels of detail, depending on your purpose. It is often most useful to start with less detail, to understand the general shape of your network, then proceed to more detail. But don't worry, however you think about it naturally is likely to be the best – just get started!

Side note: This set of techniques map very generally to the ValueFlows vocabulary. But this post is not meant to be a tutorial on ValueFlows. Rather it is a guide for people starting to think about the resource flows involved in their community, supply chain, circular economy, municipality, bio-region, whatever. It can be a step in considering software to support a network based on resource flows, or not.

We will use a proposed co-op to produce olive oil in Palestine and sell it in Europe as an example.

Agent Roles

Agents are people or organizations (formal or informal, including networks). Agents can of course play many roles in the world, but this looks at the roles agents play in relation to the scope of the model. You can even include actual agents if they are important to the model, but that would be less usual. Agent roles are a good place to start thinking about this, but as in all the steps that follow, don’t worry too much, everything can be adjusted as you continue to model.

So, for our olive oil example, we might have these agent roles:

It is good to start with roles that one agent would play. So for example if there are two main processes done by processors, pressing and bottling, and those are done by different agents, those should be two roles, pressers and bottlers. But if the same agents always do both pressing and bottling, those might be combined at the start, as we have done here. This is a good rule of thumb, but by no means absolute. As always, this kind of choice should reflect the way you think about it naturally, and the way people involved tend to talk about it.

Types of Processes

Processes can be thought of in many levels of detail. It is often helpful to start with higher levels, levels that roughly correspond to the agent roles, but are verbs. So in our example, we might have

Notice that both tending the trees and harvesting the olives are included here, even though we only have a farmer role, since those are usually managed by the same agent at a high level. But the processes are so distinct in time and methods that we decided to separate them.

High Level Resource Flows

Now we can start to draw some high level flows using the types of processes. We will want to connect the processes with resource flows. These will start to show the types of resources at a high level. If quantities are known, say per a time period, that can also be very useful. It is often easiest to start with the main flows, to see how types of processes will generally connect. If all processes aren’t connected by resource flows, perhaps something is missing. Here is what this example might start to look like.

high level flows

Notice that this is a static view – it is showing general concepts, not potentially real activities and things. This could be called conceptual vs. concrete, or software developers might understand this as classes vs. instances. I’ll call them static vs active in this document.

For these simple flows, a static view like this is often easier.

Active Resource Flows with Agents

To move to a more detailed understanding, it is often helpful to model example flows, with a few hypothetical (or real) agents, processes, and resource flows. This diagram is usually still stereotyped, but better as an active view. It will start to give you a “graph” of your flows, with some understanding of the possible complexity of the network.

Here is a simplified example of part of the above flow shown as hypothetical concrete instances, using names, dates, and quantities to exemplify that. One key piece of additional information is how the different types of process can split and combine in the network. In this example, there can be many growers, who can send their olives to one or more processors. Any number of farmers could take their olives to any number of processors. This network has only one distributor, so that is shown as one.

flows with agents

Adding More Input and Output Flows

It also can be useful to start to show other inputs and outputs besides the main flows. That could be added into the above view if it doesn’t get too messy. But we’ll show a smaller piece of the overall flow diagram with a more complete set of flows. Sometimes this will be more an internal view for an agent, but is also useful in developing a more robust view of the economic networks created by these operations. This kind of effort could be shown in a static and/or an active view, depending on the needs. We jumped back to a static view here for simplicity.

more flows

Note that transporting the olives to the processor is shown as part of harvesting. It also could be outside of harvesting, if a different agent does the transportation, especially if that agent does transportation for other growers too. If so, we have discovered an addition to the first simple diagram in between harvesting and processing. There are probably more flows that could be discovered involved with the transportation also, perhaps involving the truck, which also needs maintenance for example.

And to emphasize again, these models can be done at many levels of detail – depending on your purpose and stage in thinking. And they can be done to include an ever expanding scope of related networks, including a whole community, as more and more inputs and outputs are identified. This could help the whole community coordinate their own economy, potentially increasing localization and fairness.

Reciprocity

So far we have been looking at producing olive oil and getting it into the hands of the people who will consume it. Usually when modeling a network or ecosystem, there will also be some form of reciprocity. The most prevalent today is exchanging something useful for a currency. People are also experimenting with creating newer currencies, like crypto-currencies or local currencies. People are also experimenting with mutual credit, where the credits are exchanged for some useful good or service, and people basically keep track of the credits in a ledger, trying to keep the reciprocity relatively equal. Some people do a lot of barter or gifting, either formally or informally.

Also, if people are using currencies, there are experiments on how to make those exchanges more fair. Again, the most prevalent current practice is a sale/purchase of end-use or intermediate products and services, based on “price” either declared or negotiated between the two agents involved.

One experiment is called a “contribution economy”, where all the actual flows are transparent, and when a product or service is exchanged for some currency (or something else useful), that flows back to the contributors according to a (preferably democratically) decided formula. Another prevalent method in cooperative supply chain networks of small producers is to make the exchanges as the product or service is produced, which requires negotiation and transparency so that all are treated fairly, but does not delay the reciprocal exchange.

Modeling the flows can be part of these kinds of discussions. Let’s go back to the high level to see how we might want to model the reciprocal flows for the olive oil cooperative network, which plans on selling into the current market. This simplified example is based on a contributory economic network.

reciprocal flows

Here’s another example where each agent exchanges their produced resource for currency as it is delivered along the process flow.

agent exchanges

Other kinds of exchanges would also occur along the way, for example purchasing boxes, borrowing a truck.

The End (for now)

We hope this has been helpful for people in networks who are just starting to figure out their resource flows and how to document them. This is a first draft, suggestions for improvement big or small, or just pointing out where things are unclear or missing, are very welcome!

You can comment in the fediverse either to @lynnfoster@social.coop or @economic-networks@write.as