Communism 2.0

Optimizing an economy with linear programming

Past attempts at communism have mostly been abandoned, having failed to deliver a decent standard of living for their people. But is this due to a fundamental flaw in communism, or was it just poor execution? In other words, with better planning, could communism compete with the world’s best economies?

In his novel Accelerando, Charlie Stross describes a sub-plot where a character invents

a way to bring about the creation of Really Existing Communism by building a state central planning apparatus that interfaces perfectly with external market systems and somehow manages to algorithmically outperform the Monte Carlo free-for-all of market economics, solving the calculation problem.

In other words, the character invents an algorithm that makes more efficient pricing and production decisions than market forces. Is such a thing possible? If so, what is needed to make it work, and how effective would it be?

Definitions

Communism: an economy where all assets (property, factories, intellectual property) are owned by the state, and the state makes all production and pricing decisions. Strictly speaking this is centrally-administered socialism, but for convenience we’ll call it communism. Under such a system everyone works for the state, although, unlike previous attempts at communism, not necessarily for equal pay.

Capitalism: an economy when all assets are owned by individuals, and production and pricing decisions are driven by supply and demand interacting with rational self-interest. Strictly speaking this is known as market capitalism, but we’ll just call it capitalism.

The pros and cons

Let’s begin by listing the problems with pure capitalism — in other words, economies without a government. In practice these only exist within failed states, but let’s pretend that the libertarian ideal of a functioning economy without a government is possible. There are a number of drawbacks.

Those unable to work are destitute.

No public goods. No legal system, police, defence, education, or roads.

Over-exploitation of shared resources.

Cartels and monopolies lead to inefficient resource allocation.

Information asymmetry leads to inefficient resource allocation, e.g. over-priced goods sold to unsophisticated buyers.

Significant resources allocated to sales and advertising.

Ownership of intellectual property restricts use of best-practice processes.

Nothing new here — these problems have been known since Adam Smith’s “Wealth of Nations” in 1776, and the first four can be solved by a mixed economy, where a government operates alongside a capitalist economy, regulating undesirable behaviour and paying for public goods via taxes. Most of the world lives in economies like this, with the state accounting for 20–50% of GDP. However, mixed economies add several problems of their own.

Overhead of managing shared resources.

Overhead of regulating cartels and monopolies.

Moral hazard. Banks and big employers will take risks, assuming a government bailout.

Forced competition can prevent economies of scale.

Susceptible to corruption.

State employees tend to award themselves benefits at the expense of private industry.

Surprisingly, communism solves nearly all of these problems, but it adds some really big new ones.

Overhead of making price and production decisions for every product and service in a modern economy.

Difficult to get the incentives right when the aim isn’t to maximize profit.

Very susceptible to corruption if the incentives are wrong.

Why did communism fail?

Given its potential to fix capitalism’s problems, why has communism failed in the past?

Well, it’s a bit of an exaggeration to call it a failure. When the Soviet Union was formed in 1922, five years after Russia’s Bolshevik revolution, it was a desperately poor peasant economy. Within two decades it had grown to the point where it prevailed against the largest invasion in human history — by Nazi Germany — in doing so winning the Second World War in Europe.

And despite losing a quarter of its working-age male population in the war, and enduring a decades-long trade embargo by the United States and Western Europe, it continued to grow at 5.3% for three decades, a rate not far below Asia’s smaller tiger economies. It became one of only two superpowers, which is not exactly a failure.

But the Soviet Union’s growth petered out in the 1970’s, at a level well below that of western economies. Why, given its previous success?

One reason was that they flattened the income distribution curve too much, wrecking the incentives for skilled workers. When the Soviets — and China — went communist, they were both desperately poor countries, with much of the population facing starvation. For them, the aim of communism was to share the wealth evenly, to ensure that basic needs were met. They didn’t really plan how to divide the surplus, because there wasn’t one at the time.

By the time there was a surplus, and further growth relied on relatively-scarce skilled workers, the “equal consumption for all” ideology had become entrenched, and communist regimes ended up requiring border controls to prevent a brain drain.

But equal consumption is not intrinsic to communism. There is no reason why wages shouldn’t vary, as they do amongst government employees in a mixed economy, where the pay incentives work well. After all, talented people choose to take government jobs, even when private ones are on offer, so there is no reason why a communist economy can’t pay wages that provide suitable incentives.

The other limiting factor for the Soviet economy was human fallibility. In the early days, when the economy was growing almost from scratch, making production decisions was easy. The country was short of everything, and there were probably only a few hundred different products and services being produced. Managing that was fairly straightforward: just make more of everything.

But as economies grow they become more complex. A typical large supermarket stocks over 250,000 different products, and even a discount supermarket like Aldi, with no unnecessary competing products, stocks at least 20,000. Across an entire economy, the number of products and services would be in the millions. The number of bureaucrats needed to manage that many products is unsustainable, and even then the problem is too complex for them to find optimal solutions. Especially in the pre-computer era of the Soviet Union.

Communist China, despite its own few decades of rapid growth, also plateaued, and at a level well below that of the Soviet Union. Again this was due to human fallibility, in particular an irrational leadership. And just like the Soviet Union, China’s economic growth was hampered by endemic corruption — a fundamental problem in systems where people are required to act in the interests of the state, rather than in their own interests.

Optimizing an economy

But what if the decision-making could be automated, both optimizing production and reducing the scope for corruption?

Starting with an existing economy at a fixed point in time, this is fairly straightforward, if time-consuming. First, you identify every product and service known to exist, anywhere, ever. This includes raw materials, labour, intermediate products, as well as final products.

Next, list every known process that transforms product inputs to product outputs, along with the quantities of each. Note that all processes should be listed, even those that seem inefficient.

When quantifying the inputs and outputs of a process, products that are actually consumed (e.g. petrol) are measured in convenient units (e.g. litres), while products that are tied up exclusively by the process (such as a factory or human labour) are measured in units of time. For example, a coffee-making process could have inputs of 150ml milk, 30g arabica coffee beans, 60 seconds use of an espresso machine, and 90 seconds use of a barista. The outputs would be of a cup of latte and 30g of used coffee grounds.

This information can then be used to construct an integer linear programming (ILP) problem that finds the combination of processes that satisfies consumer demand at the lowest cost. We use integer linear programming because fractional processes are usually not possible.

An ILP finds the vector x that minimizes cx subject to Ax ≥ b. In this case x contains the quantity of each process to use, a vector of non-negative integers.

The vector c contains the cost of each process, which is simply the cost of its input products. Products that are the output of other processes have a cost of zero, while primary products (such as labour, land, and raw materials) have a cost taken from the existing economy.

The matrix A contains the process data. Each column corresponds to a process, each row to a product. The value of each element is the quantity of the product produced by the process, with input products having negative values. This matrix is huge, but very sparse.

The vector b contains the net demand for each product over, say, a 3 month period. The net demand is the known demand from the existing economy minus the existing stock of the product. Note that some products that can be copied at no cost, such as software and digital media, will have infinite stock.

When the ILP is solved, the result is satisfaction of demand with the lowest cost of inputs. However, many of the inputs being minimized are human labour, and if their income is reduced then aggregate demand will decline — the opposite of what we hoped to achieve. This can be mitigated by paying them to do nothing, but a better solution would be to re-deploy them to meet new demand.

The problem is, what will the new demand look like? If you give people an extra dollar per day, how will they spend it? A sensible guideline is that people adopt the spending patterns of their wealthier compatriots as their incomes increase, and countries will adopt the spending patterns of wealthier nations — at least those with a similar climate and age distribution. The b matrix can then be repeatedly updated with these higher demand values until all labour is used.

Limits to wealth

An economy employing this kind of optimization — let’s call it neo-communism — will, over time, as infrastructure is built and the workforce is up-skilled, hit the limits of demand. Admittedly, simply meeting the latent demand of the poorest members of society will be a huge improvement, but beyond that, what can you produce that people actually want? Failure to address this will result in idle workers.

In wealthy economies, surplus wealth, when it is not saved or invested, is usually spent on things such as status symbols, novelties, or diminishing-returns health care. Many people earn even more than they can spend on these things, and end up using their surplus wealth simply to inflate asset prices, especially real-estate, which ultimately provides no material benefit.

There are two approaches to solving this problem of insufficient demand.

Shorten working hours, bringing supply down to meet demand, and improving the quality of life by providing more leisure time. Invent — or import — new things for people to buy that will improve their quality of life.

Although the second option is more desirable in the long run, the outcome may be a combination of the two.

Implementation

There are a number of challenges in implementing neo-communism, although none of them seem insurmountable.

Continuous improvement. In order to keep improving the quality of life, and to compete with other economies, new and more efficient production processes need to be continually developed. In existing economies a lot of this research is already carried out by government employees, working at universities and agencies such as NASA, DARPA, and the CSIRO. The employees seem content to pursue this research for a regular salary, so there is no reason to assume this couldn’t continue under neo-communism. Developing new products. This has traditionally been the domain of private enterprise, in particular entrepreneurs, who develop new products, hoping that one will satisfy an unmet demand and make them rich. With state ownership of intellectual property and means of production, a new product won’t make anyone rich, but perhaps entrepreneurs could be rewarded with a percentage of the economic benefit to society. This should be a suitable incentive, given that the state will have to act as a venture capitalist to fund the ventures in the first place. Matching data to reality. The old saying “garbage in, garbage out” applies here. For neo-communism to work, accurate data has to be fed into the equations, and the solution to the equations has to be accurately executed in the real world. That will probably require a pervasive internet-of-things sensor network monitoring all production processes. Such a system already exists in many supply chains, tracked by RFID tags, but it would need to be adopted more widely. And the economy would need to be cashless and all-electronic, so that no economic activity goes unmeasured — and corruption becomes extremely difficult.

Conclusion

Although it would take significant effort to implement, neo-communism has the potential to outperform existing economic systems on all important measures, including GDP, unemployment, and poverty, and do so in a way that doesn’t require altruistic behaviour.

For the members of a neo-communist society, life would be a bit different. The poorest members would receive a basic income that gradually increases as the economy becomes more efficient, plateauing at a level where they can afford everything they want to consume.

The middle classes wouldn’t see much change. They would continue to work in a regular job for a regular — but steadily increasing — wage. The main difference is that they wouldn’t be able to buy property, which would all be owned by the state and available for rent. That, and the lack of a stock market, would limit investment opportunities, but with a high basic income there would be less need to save for retirement. As a result they would have more money to spend during their working lives.

Things would be quite a bit different at the top though. Without the ability to own real-estate, companies, or intellectual property, it would be almost impossible to become rich, especially since the only legal source of income would be from a government job.

Would this cause a mass exodus of the best and brightest? Possibly not. They would still earn more than they can consume, and their wealth ranking would remain unchanged, allowing them to outbid others for status symbols, so their quality of life is unlikely to change. In any case, once the poorest members of society have all the money they can spend, those at the top can keep a greater share of the wealth without affecting economic output.

So neo-communism definitely worth trying, at least starting with a small-scale pilot. If it can be made to work, the benefits would be enormous.