The **Mann-Whitney U test** is essentially an alternative form of the Wilcoxon Rank-Sum test for independent samples and is completely equivalent.

Define the following test statistics for samples 1 and 2 where *n*_{1} is the size of sample 1 and* n*_{2} is the size of sample 2, and *R*_{1} is the adjusted rank sum for sample 1 and *R*_{2} is the adjusted rank sum of sample 2. It doesn’t matter which sample is bigger.

As for the Wilcoxon version of the test, if the observed value of *U* is < *U _{crit}* then the test is significant (at the

*α*level), i.e. we reject the null hypothesis. The values of

*U*for

_{crit}*α*= .05 (two-tailed) are given in the Mann-Whitney Tables.

**Example 1**: Repeat Example 1 of the Wilcoxon Rank Sum Test using the Mann-Whitney U test.

Since *R*_{1} = 117.5 and *R*_{2} = 158.5, we can calculate *U*_{1} and *U*_{2} to get *U* = 39.5. Next we look up in the Mann-Whitney Tables for *n*_{1}* *= 12 and *n*_{2} = 11 to get *U _{crit} *= 33. Since 33 < 39.5, we cannot reject the null hypothesis at

*α*= .05 level of significance.

**Property 2**: For *n*_{1} and *n*_{2} large enough the *U* statistic is approximately normal *N*(*μ, σ*) where

**Observation**: Click here for proofs of Property 1 and 2.

**Observation**: Where there are a number of ties, the following revised version of the variance gives better results [Ro]:

where the sum is taken over all scores where ties exist and *f* is the number of ties at that level.

**Example 2**: Repeat Example 2 of the Wilcoxon Rank Sum Test using the Mann-Whitney U test.

We show the results of the one-tailed test in Figure 2. Column W displays the formulas used in column T.

As can be seen in cell T19, the p-value for the one-tail test is the same as that found in Wilcoxon Example 2 using the Wilcoxon rank-sum test. Once again we reject the null hypothesis and conclude that non-smokers live longer.

**Real Statistics Excel Functions**: The following functions are provided in the Real Statistics Pack:

**MANN**(R1, R2) = *U* for the samples contained in ranges R1 and R2

**MANN**(R1, *n*) = *U* for the samples contained in the first *n* columns of range R1 and the remaining columns of range R1. If the second argument is omitted it defaults to 1.

**MTEST**(R1, R2,* tails*) = p-value of the Mann-Whitney U test for the samples contained in ranges R1 and R2. *tails* = # of tails: *t* = 1 (default) or 2.

**MTEST**(R1, *n, tails*) = p-value of the Mann-Whitney U test for the samples contained in the first *n* columns of range R1 and the remaining columns of range R1. If the second argument is omitted it defaults to 1. *tails* = # of tails: *t* = 1 (default) or 2.

**MCRIT**(*n _{1}, n_{2}, α, tails*) = critical value of the Mann-Whitney

*U*test for samples of size

*n*

_{1}and

*n*

_{2}, for the given value of alpha and

*tails*= 1 (one tail) or 2 (two tails) based on the Mann-Whitney Table.

**MPROB**(*x, n*1, *n*2, *tails, iter*) = an approximate p-value for the Mann-Whitney test for the U value equal to *x* for samples of size *n*1 and *n*2 and *tails* = 1 (one tail) or 2 (two tails, default) based on a linear interpolation of the values in the table in Mann-Whitney Table, using *iter* number of iterations (default = 40).

Note that the values for *α* in the table in Mann-Whitney Table range from .01 to .1 for tails = 2 and .005 to .05 for tails = 1. If the p-value is less than .01 (tails = 2) or .005 (tails = 1) then the p-value in MPROB is given as 0 and if the p-value is greater than .1 (tails = 2) or .05 (tails = 1) then the p-value in MPROB is given as 1.

The MANN and MTEST functions ignore any empty or non-numeric cells.

**Observation**: In Example 1, we can use the supplemental function to arrive at the same value for *U*, namely MANN(A6:B17) = 39.5. Also MCRIT(H5,I5,H9,H10) = MCRIT(12, 11, .05, 2) = 33 (the value in cell H12 of Figure 1). Finally note that the p-value = MPROB(H5,I5,H9,H10) = MPROB(39.5, 12, 11, 2) = 1 (meaning that p-value > .1), and so once again we can’t reject the null hypothesis.

If *U* had been 32, then p-value = MPROB(32, 12,11, 2) = 0.044 < .05 = *α*, and so we would reject the null hypothesis. This is consistent with the fact that *U* = 32 < 33 = *U _{crit.}*.

Similarly in Example 2, we can use the supplemental function to arrive at the same value for *U*, namely MANN(A6:H15,4) = MANN(A6:D15,E6:H15) = 486, as well as the same p-value (assuming a normal approximation described above), namely MTEST(A6:H15,4) = MTEST(A6:D15,E6:H15) = 0.003081.

Also note that the supplemental functions RANK_COMBINED and RANK_SUM, as defined in Wilcoxon Rank-Sum Test, can be used in conjunction with the Mann-Whitney test.

**Observation**: The effect size for the data using the Mann-Whitney test can be calculated in the same manner as for the Wilcoxon test, and the result will be the same.

The effect size of .31 for the data in Example 2 is calculated as in Figure 2. Namely, the z-score (cell T17) is calculated using the formula =(T13-T14)/T16 and the effect size (cell 20) is calculated by the formula =ABS(T17)/SQRT(T6+U6).

Also note that the z-score and the effect size *r* can be calculated using the supplemental function MTEST as follows:

z-score = NORMSINV(MTEST(R1, R2))

*r* = NORMSINV(MTEST(R1, R2))/SQRT(COUNT(R1)+COUNT(R2))

**Observation**: The results of analysis for Example 2 can be summarized as follows: The life expectancy of non-smokers (*Mdn* = 76.5) was significantly higher than that of smokers (*Mdn* = 70.5), *U* = 486, *z* = -2.74, *p* = .0038 < .05, *r* = .31.

**Real Statistics Function**: The Real Statistics Pack also provides the following array function for the samples in ranges R1 and R2 where alpha is the *α* value (default .05) and *tails* is the number of tails (1 or 2 = default).

**MANN_TEST**(R1, R2, *lab, alpha, tails*): returns the following values in a 7 × 1 column range:* U, alpha, tails, z, r, U*-crit, p-value. If *lab* = TRUE then an extra column with labels is included.

For Example 2, =MANN_TEST(A6:D15,E6:H15,TRUE,1) returns the following array:

**Figure 3 – Output from MANN_TEST**

**Real Statistics Data Analysis Tool**: The Real Statistics Resource Pack also provides a data analysis tool which performs the Mann-Whitney test for independent samples, automatically calculating the medians, rank sums, U test statistic, z-score, p-value and effect size *r*.

For example, to perform the analysis in Example 1, enter **Ctrl-m** and choose the **T Test and Non-parametric Equivalents**. The dialog box shown in Figure 3 appears.

**Figure 3 – Dialog box for Real Statistics Mann-Whitney Test**

Enter A5:B17 as the **Input Range**, click on **Column headings included with data** and choose the **Two independent samples** and **Non-parametric** options and click on **OK**. Keep the default of 0 for **Hypothetical Mean/Median** (this value is not used anyway) and .05 for **Alpha**. The output is shown in Figure 4.

I downloaded and installed the Resources Pack as per your website instructions and it shows as an addin under excel options (RealStats). But after I check it and click OK, no additional tools show up under Data Analysis. I have Excel 2007. Any ideas why the tools are not available?

Robert,

Once you install the Real Analysis Resource Pack, the additional tools are available by simply pressing Ctrl-m. This will bring up a menu with all the Real Statistics data analysis tools. I thought that this would be the easiest approach since this can be done no matter which ribbon is active.

The other recommended approach is to add the Real Statistics tools to the Quick Access Toolbar (QAT), especially since the QAT is also available no matter which ribbon is active. The instructions for doing this are included in webpage http://www.real-statistics.com/excel-capabilities/supplemental-data-analysis-tools/accessing-supplemental-data-analysis-tools/, although not everyone has been successful at getting this to work.

Excel doesn’t let you customize the ribbon by adding an addin to an existing group (such as Data>Data Analysis). Instead you can add the addin as a custom group on any of the ribbons (e.g. right next to Data Analysis on the Data ribbon). Instructions for doing this are now available on the same web page as the one referenced above.

Charles

Does MTEST always report a p-value for a 2-tailed test? Can you do a 1-tailed test with the function?

Aaron,

The

MTEST(as well as theT Tests and Non-parametric Equivalentsdata analysis tool) reports the p-value of the one-tail test. To get the two-tail test you simply double the answer.I had intended to report the two-tail test, in which case you would have had to half the p-value to get the one-tail test. I will fix this in the next release, but for now MTEST reports the one-tail test.

Charles

Update: In the latest release (R2.1) theT Tests and Non-parametric Equivalentsdata analysis tool reports both the one tail and two tail tests.Charles:

Can you please tell me:

1)How I can use the “rank” function in Excel to rank continuous variables, that is numbers with decimal points, e.g., 1.38, 3.6. 40.9 etc. When I’m trying to rank them, the number like 1.38 that is enlisted in the array twice is not being properly ranked although I have used the following formula to correct for repeat numbers:

=Rank(number, range, order)+(count(range)+1-rank(number, range, 1)-rank(number, range, 0))/2. However, the number like 70.4 which is also listed twice is being correctly ranked.

My second question is if the sample size of the two groups are more than 20, e.g., 30, 40 etc., I cannot use the Mann Whitney table. I have to calculate the z score. But which table do I then use to look up if the computed U value is above or below the critical value?

The third question is do I have to pay to download the “Real Statistics tool pack”?

Will look forward to your response.

With sincerest thanks for your comments,

JB

Hi JB,

Q1: I am not sure why you are using such a complicated formula. I use =RANK(x,R1) + (COUNTIF(R1,x)-1)/2 and it works fine. I tried it with repeated values of 1.38, 3.6 and 70.4 and it works as you would expect. You can also use RANK.AVG in Excel 2010/2013. With earlier versions of Excel you can use the function RANK_AVG found in the Real Statistics tool pack.

Q2: For larger sample sizes, you don’t need a table. The idea is that the z value is normally distributed and so you can use the NORMSDIST function. This is easier. Easier still is to use the MTEST function or T-Test and Non-parametric Equivalents data analysis function found in the Real Statistics tool pack.

Q3: You can download the Real Statistics tool pack for free.

Charles

Thank you.

Any chance you can get the mean and standard deviation for two tailed Mann-Whitney U Test? I assume when it says Wilcoxon Signed-Rank Test for Paired Samples after I do the test it is actually the Mann-Whitney U Test, correct?

And what if I’m dealing with time? Do I still leave the Mean/Median at 0? Just want to make sure it doesn’t mess up my results.

And if this works, you are a LIFESAVER!

Amber,

The mean and standard deviation provided work for both the one-tail and two-tail tests. I just didn’t write the information twice (e.g. in Figure 4) since it is the same.

The Wilcoxon Signed-Rank Test for Paired Samples is not the same as the Mann-Whitney U Test, although they have many characteristics in common. If you have paired samples you should use the test described on the webpage http://www.real-statistics.com/non-parametric-tests/wilcoxon-signed-ranks-test/.

The Hypothetical Mean/Median field is not used with the current implementation of the Mann-Whitney Test or Wilcoxon Signed-Rank Test for Paired Samples, and so you may assume that the value is 0.

Charles

Hi Charles

I noticed that calculating p-value using

MTEST(R1, R2, t) or

Ctrl-m and choose the T Test and Non-parametric Equivalents

gives different results (~ 10% different)!

Any insight pls?

Thanks

Saad,

I have never seen this before. It sounds lie an error. Can you send me an example where this is the case?

Charles

Hi Saad,

In al the examples that I have seen, the function and data analysis tool give the same results. Can you send me the example where the two results are different?

Charles

Hi and thank you for all your work! Your website is an amazing resource for me.

As Fig. 4 shows there are two different output values for significance, rows 20 and 23. Where’s the difference? I got different results for some of my analyses and don’t know how to deal with it…

Felix

Hi Felix,

Row 20 is based on the normal approximation (when the sample size is large), while row 23 is based on the exact value using the table of critical values. If the sample is large (sample size > 20) then no row 23 is generated. If row 23 is generated then you should use the results from row 23; otherwise you should use the results from row 20 (the only choice).

Charles