Four layers, four boundaries. A failure in one does not reach the next.

Skinshells Voice in layers Request access
Study · 8 min

Measuring concurrency

Concurrency is measured, not estimated. This sets out the method, the interval that decides whether the answer is useful, and the two categories of demand no historic record contains.

Headcount is not an input

The correlation between staff numbers and simultaneous calls is weak across most organisational profiles and fails in both directions. A sixty-person professional firm may never exceed eight simultaneous calls; a twelve-person outbound team may sustain twenty for an afternoon.

The two errors are asymmetric in visibility, which is why one persists for years. Over-provisioning is invisible and permanent: unused capacity is paid for indefinitely and generates no event. Under-provisioning is highly visible and occurs at peak, which is the most expensive moment to be unreachable.

The reconstruction

Call detail records contain a start timestamp and a duration. Concurrency at any instant is the count of calls whose start has passed and whose computed end has not. Those two fields suffice.

Interval selection decides whether the result is useful. Hourly averaging suppresses peaks by construction: a busy fifteen minutes is diluted by forty-five quieter ones and disappears entirely. Use intervals of five minutes or shorter across a period covering at least one full business cycle.

The output is a distribution rather than a scalar: observed maximum, ninety-fifth percentile, and how frequently the maximum is approached. A profile reaching its maximum once a quarter is provisioned differently from one reaching it daily, and a single number cannot express that difference.

Headroom

Provision at the observed peak plus headroom sized to demand predictability and to the cost of a blocked call.

A stable profile with routine call value: ten to fifteen per cent. A contact operation, campaign-driven demand, or individually valuable calls: twenty-five per cent or more.

Because concurrency is a configuration value, the decision is reversible in minutes. That argues against defensive over-provisioning as a hedge, since the hedge carries permanent cost and the correction carries none.

The two absences

Scheduled events — launches, announcements, seasonal peaks, campaigns — exceed any pattern in the analysis period. They are provisioned as a discrete increment with a start and an end rather than absorbed by general headroom.

Continuity redirection is the second and more frequently omitted. Where the plan routes one site's inbound traffic to another during an outage, the receiving site needs the capacity to accept it, and that requirement appears nowhere in normal operating data.

In summary

What to carry away

  • Derive concurrency from records; headcount is not an input
  • Five-minute intervals or shorter, because hourly averaging suppresses peaks
  • Produce a distribution rather than a single figure
  • Size headroom against the cost of a blocked call
  • Provision scheduled events and continuity redirection explicitly
Next

Want this applied to your estate?

Send the records described above and the same method is run against them rather than against an example.