Menu ENN Search
Language: English Fran├žais

Calculation of MUAC Z Scores (Age)

This question was posted the Assessment and Surveillance forum area and has 7 replies.

» Post a reply

Anonymous 3991

Normal user

13 Oct 2016, 13:46

Hi all,
I am trying to calculate the MUAC Z Scores based on Age for building a Macro in Excel. I am applying the folowing formula:
MUACZ=(((ac/m)**l)-1)/(s*l). Extracted from the SPSS Macro provided by WHO.
Values for m/l/s are gathered from the file provided by WHO for the SPSS Macro.
Age in days for gathering which values of m/l/s are to be used for the formula are calculated as follow:
months*30.4375 (rounded)

The problem is that despite of following all of this, I am not getting the accurate MUACZ

An example:
Sex: Male
Age = 6 months*30.4375=183 days (rounded)
Values for l/m/s = 0.28/14.24/0.08
MUAC Z =(((14.5/14.24)^0.28)-1)/(0.08*0.28)=0.226745683

The problem is that either ENA and SPSS Macro, with the same child caracteristics are giving a result of
MUAC Z = 0.24

I really cannot see what I am missing. Any help will be very much appreciated.
Thank you very much.
Kind Regards,

PS: If you are wondering why I am not using ENA or SPSS Macro, is because I want to build a simple and specific "program" based in excel for easing the analysis in a surveillance system.

Jay Berkley


Frequent user

13 Oct 2016, 21:49

Hi Anonymous 3991

I think you have two (related) problems, one that is mathematical, and one that is practical:

1. The calculation of Z scores includes a power term, as you have correctly specified as ((ac/m)**l). Mathematically, a power term means that small errors will be magnified. You have used LMS values of 0.28/14.24/0.08. When I looked the LMS values up for a male aged 183 days (in the STATA macro as I don't have SPSS), they are given as 0.2751/14.2408/0.07601. Using these figures, I get a Z score for your client of 0.237894906 (~0.24). If I use your rounded figures, I get exactly the same result as you did. The rounding of LMS values accounts for your different results.

2. What practical difference does this mean in real life? The difference in actual MUAC between a MUAC for age Z score at this age of your result of 0.226745683 and 0.24 is around 0.15mm - this is far smaller than can be measured with a MUAC tape, even under perfect conditions. So it is not important at all in relation to the health of a child.

By doing these calculations on a spreadsheet, as you have done, you can get a good idea of what the impact of common measurement errors have on Z scores. I recommend having a look at the effects on the Z scores of typical measurement errors of a few mm for MUAC, or potential errors in length (often more than a few mm if head and legs are not correctly positioned) or weight (e.g. not removing clothing and nappy) for WLZ.

All the best


Anonymous 3991

Normal user

14 Oct 2016, 07:38

Hi Jack

Exactly, the problem was in using the rounded values of l, m and s. When i was doing the test for the muacz in excel i did not realize i was exporting rounded values.

Thank you also for the orientation in the practical aspect, really the difference is not appreaciable, but if it is possible to get it accurate i will got for it.

Thank you for the answer and advice.
Best regards,

Mark Myatt

Frequent user

14 Oct 2016, 09:14

As others have pointed out ... this is due to error introduced by premature rounding of the L,M, and S values. It is common to report z-scores for nutrition indicators to 2 decimal places but the rounding is always done at the final stage. Also, error is magnified by the use of a power term.

Computer scientists refer to the number of decimal places as "precision" because of the errors that come with rounding. As a rule you should (when dealing with quantities that are not constrained to be whole numbers) is to not round measurements and the results in and from intermediate calculations. Round only at the last posible moment.

While on the topic of "precision" ... most software will yield errors due to internal precision with small and large numbers. Almost all software will, for example, tell you that:


is not zero (worse it might display zero but not use zero in calculations). A large number example is:


Excel gives 15241578750190500 but the true answer is 15241578750190521.

Problems are not so bad when you use moderate sized numbers.

Special software allows arbitrary precision. The old UNIX tool "bc" gets these calculations correct.

This may seem trivial but small errors can mount up and cause software to fail. You should check out sites like here, here, and here.

I usually check results against "bc" for sets of calculations. Any problems can usually be sorted by expressing calculations differently. Here is a online calculator with arbitrary precision. If problems persist then you can use arbitrary precision libraries. There are a number for Excel.

I have to ask ... why use MAZ (MUAC-for-age z-score). It is an odd choice because:

(1) Age is often subject to considerable error in many settings. This usually manifests itself as age-heaping at 6, 12, 18, 24, 36, and 48 months in surveys. The effect of this can be to introduce a systematic bias. If the tendency is to report ages as "milestones passed" so that (e.g) a child aged >= 24 month and < 36 months will be reported as 2 years (24 months) then age will tend to be underestimates and MAZ (and HAZ and WAZ) will be underestimated.

(2) The key advantage of MUAC over (e.g.) WHZ is the relatively strong predictive power for near-term mortality of MUAC compared to WHZ. Work done on large cohorts shows that correcting MUAC for age or height does not improve prognostic value and may degrade prognostic value.

Easier and probably more useful, therefore, to use uncorrected MUAC and apply simple threshold case-definitions.

I hope this is of some use.

Anonymous 3991

Normal user

17 Oct 2016, 09:07

Hi all,

My idea was to use MUAC-Z to estimate GAM prevalence. However i was not able to find any literature supporting this approach, and thank you Mark for confirming me that is not a good idea. However, in my setting it will be easy to find birth dates in health cards, so exact age can be calculated. But seing the lack of support of the literature i will go to standard MUAC.

However, i still want to calculate MUAC-Z for flagging data +-5 SD, as with normal MUAC i did not found any flagging criteria. If some would have any comment over this it will be very much appreciated.

Thnak you very much for your answers.
Kind regards,


Mark Myatt

Frequent user

17 Oct 2016, 09:40

You raise a few points ...

MUAC/A z-score and GAM : Work has been done with MUAC/H (QUAC) and MHZ < -2 tends to give higher prevalences than WHZ < - 2. We tend to use MUAC because we are interested in mortality risk. It is known that MUAC is a better predictor of mortality than all other practical measures. MUAC does best, MUAC/A and MUAC/H, WAZ, and HAZ do quite well, WHZ does no better than flipping a coin in this regard. Making MUAC behave like WHZ (which we often use for GAM) would degrade the performance of MUAC. It all depends on your focus. My main interest is child-survival programming so I prefer MUAC. In a surveillance system you are often more interested in change over time. You can use any acute measure and MUAC seems best for surveillance because of its low cost and simplicity.

Accurate ages: If you can get reasonably accurate ages then MUAC/A will be less subject to error. The issue is that correcting / adjusting MUAC for age or height can degrades performance WRT mortality while adding complexity.

Flagging: I tend to use a simple threshold approach (accept if MUAC is between 80 mm and 200 mm). This have been discussed here. MAZ between -5 and +5 would be OK but a flag could be sure to an error in age.

I hope this is of some help.

Anonymous 3991

Normal user

17 Oct 2016, 10:14

Ok, finally, as i see:

As far as I am interesting in GAM prevalence trend, more than in mortality, and i can get accurate measure for age, seems MUAC/A will perform adequately for this propuse.

For sure the use of MUAC reduce the cost of the surveillance system and simplify the data collection, key point for sustainability.

Regarding the flagging, for me to take into account the age it implies a better flagging procedure. If for example i will be using simple MUAC thresholds (80-200mm) that would mean that a child of 7 months with 170mm of MUAC will not be a flag, while with MUAC/A it is a clear flag. So as far as i see the usage of MUAC/A for flagging is more accurate.

Thank you very much all for your answers.
Kind regards,

Mark Myatt

Frequent user

17 Oct 2016, 10:26

I think that "As far as I am interesting in GAM prevalence trend, more than in mortality, and I can get accurate measure for age, seems MUAC/A will perform adequately for this purpose" misses the point. I am most interested in GAM as it reflects mortality and need. I am not sure that there is much value in GAM for anything else. I am clearly missing something.

If you only define GAM as "WHZ < -2" then using anything but WHZ will not tell you anything about GAM. MUAC/A or MUAC/H will not perform any better than raw MUAC in this regard (i.e. because it is not WHZ).

You can define GAM using MUAC < 125 mm and UN and donor approved critical thresholds are available.

Anyway ... best of luck with this. Keep us informed of progress.

If you have any problem posting a response, please contact the moderator at

Back to top

» Post a reply