Business volumes and performance modelling

Let us assume that you have started a piece of performance modelling. You have chosen a set of key transactions, or better still have been told what is most important by the business. You may have an idea of the performance levels that the business need (more on this another time), and you start working with the business to work out the volumes that they are expecting to put through the system. To do the appropriate performance modelling you will need to define the behaviour of a “typical user” and then scale this up to produce a total behaviour profile for all users. It is unfortunate that you are unlikely to receive figures that can be used directly from your business users. You have the following choices at this point: a) educate them in the modelling you are doing and the format you need the numbers in, or b) take the numbers they have provided and reproduce them from your modelling.

If you take the first path then good luck to you, and I would be very interested in knowing how it turns out for you. The issue is that a business user, and in fact most technical people, just do not wish to work with an “average” user and then work out variations. A business is structure as departments with functions. If the business has measurements at all, and thankfully most do, it will be in terms of departmental sizes and throughputs. There are also likely to monitor the volume of business that is done, and if you are lucky have documented processes for how this business is performed. Thankfully the tools needed to convert these figures into what you need are already built into a performance model. The following discussion, therefore, assume that what you will have been given is user levels and business volume projections.

  1. Start with the year-on-year departmental sizes, with each department modelled as one or more sections. If you only have past figures then provide a simple basis for projecting this forward.
  2. Fill in the likely levels of variation in system usage, based on either you own knowledge or on discussion with people who know the likely behaviour of the business.
  3. Fill in the data volumes generated by the different functions, and there needs to be a relationship between the data or function volumes and the figures supplied by the business.
  4. Once the model calculates, this will provide a projection of the numbers of functions and items of data that will be produced year-on-year. Compare this to the volumes that you have been provided by the business. If there is an approximate correlation then adjust the figures to improve the match and use this as the behaviour profile.
  5. If there is a large mismatch then you may have a misunderstanding about the figures that you have been provided with, or it is possible the business estimates need refinement. This will need to be discussed with the people who own the business figures. The process can in itself add value for the business. If they are trying to do levels of business that there people and business processes can’t support then this may manifest as complaints about system performance. (“I can’t meet my targets because the system is too slow.” may actually be “I can’t meet my targets because they are unrealistic.”)

The process of generating performance model figures from business or systems figures is one of approximation. The target is not a precise and accurate model, but one which is of the correct order and believable. The idea with this sort of modelling is to 1% accuracy, but order of magnitude estimation. If you need help in starting a performance modelling exercise then call me on +44 (0)7887 53608, or e-mail me. I will be happy to have a talk about the most appropriate approach for finding a usable set of figures, and the levels of accuracy needed.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: