Fil Salustri's Design Site

Site Tools


Complexity Analysis

You can qualitatively assess the complexity of a product using a simple equation. Assessing complexity can be a great guide to refining existent designs and thinking up new designs.

Simple products are good products. So it's important to try to measure product complexity. There are all kinds of ways to measure complexity, but almost all of them target specific kinds of products.

What would be really useful is a simple relationship that can give a relative measure of the complexity of two similar things. If we had that, then we could compare competing designs and decide which was simpler (less complex).

Assuming a systems perspective, everything is made up of other things that interact to exhibit specific behaviours. Here's a simple, empirical relationship that does the job.

$$C = 1/f (PTI)^{1/3}$$


  • C is the measure of complexity of the product
  • f is the number of overall functions that the product must provide (or the expected/required behaviours)
  • P is the number of parts in the product
  • T is the number of types of parts in the product
  • I is the number of interfaces between the parts.

This equation has been shown empirically to correspond to a broad range of different industries and product classes. It may not be the ideal equation for any one industry or product class, but it is a good general rule of thumb.

Fig. 1: Three identical straps connected by a single fastener.

Consider figure 1. It shows three identical straps, connected by a one-part fastener (e.g. a rivet). Assume this assembly serves only one overall function: to carry a horizontal load in tension.

The complexity equation for this assembly is:

$$C = 1/1 (4 * 2 * 5)^{1/3} = 3.42.$$

There are 4 individual parts, but only 2 kinds of parts (all three straps are of the same type). There are 5 interfaces: each strap interfaces with the fastener, and each strap interfaces with at least one other strap.

The value of C is dimensionless, and thus relatively useless on its own. But consider some alternatives:

  • If we used a nut-and-bolt fastener, the complexity would be 4.721).
  • If we also made all three straps different (different materials, or sizes, or shapes), the complexity would be 5.59.
  • And if we used just one big, long strap, the complexity would be 1.00.

Obviously, this equation works for parts in assemblies, but it also works in other situations.

You can, for example, use this same equation to calculate the complexity of a generic system.

For example, consider the PAS of the elevator system described only schematically in the page about system diagrams.

  • Each system component is a part.
  • Each system interface is an interaction (including the main inputs & outputs).
  • All the components are different.
  • Assume there are two functions: to raise people and cargo, and to lower people and cargo.
  • Therefore, the complexity of the system is 2.96.

A different system architecture could end up with a different complexity measure.

You can even use this equation to calculate the complexity of a single part, by thinking of it as a collection of features, like blocks, holes, fillets, bosses, etc.

complexitypart1.jpgFig. 2: A simple part made up of multiple features.

In figure 2, a simple connecting rod2) is composed of the following features:

  • a flange (1 feature)
  • two cylinders, each with a thru-hole (that's 4 features)
  • two cuts in the larger cylinder (2 more features)

Moreover, the interfaces include:

  • between each cut and the cylinder (2)
  • between each cut and the hole in the cylinder (2)
  • between each cylinder and the flange (2)
  • between the large cylinder and its hole (1), and
  • between the small cylinder and its hold (1).

If we assume that this part must (a) be quite rigid (resist deformation), and (b) transfer rotational motion through it (that is, two functions), then for this part, C = 3.66, because every feature is different from every other.

If we had made the two cylinders and the two holes through them of the same size, then T would drop to 5 from 7, and C = 3.27. This makes the part simpler and thus easier to manufacture, more reliable, cheaper, etc. Of course, there might be excellent reasons for not making the cylinders the same size — that depends on the problem that this connecting rod solves.

So you can use this kind of complexity analysis to compare alternative designs at virtually any stage of the design process.

Specifically, you can use in during concept development (e.g. in a decision matrix). You may define simplicity as a criterion in your concept evaluation, and use this equation (or rather, its inverse — 1/C) to assign a value to each concept.

Also, notice that the equation gives some important hints on how to control complexity. A simple product will have:

  • more functions provided for the same number of parts;
  • fewer parts;
  • fewer types of parts;
  • fewer interfaces between parts.
Can you prove that?
Source: UIUC
design/complexity_analysis.txt · Last modified: 2020.03.12 13:30 (external edit)