William Dorner  |  01/01/1999

Using Microsoft Excel for Weibull Analysis

Click here to download the Excel worksheet used in this article.

Many people use Microsoft Excel on a daily basis. Yet few people realize the extent of Excel's analytical capabilities. Fewer still put these capabilities to work for process improvement, product improvement and profit.Most Excel users are aware of the common formulas and charts. But with some creativity, users can produce tools like control charts, Pareto charts and box-and-whisker plots (see "Using Excel for Data Analysis," Quality Digest, October 1997). And with a little guidance, users can employ more advanced statistical methods with Excel. This article presents a how-to approach for one such advanced technique-Weibull analysis.

You haven't turned the page yet? Those of you who remain probably fall under one of two categories: those familiar with reliability data analysis, and Excel enthusiasts who are curious to learn one more way to exploit this versatile software. I predict readers in both groups will be glad they stuck around.

For the uninitiated, Weibull analysis is a method for modeling data sets containing values greater than zero, such as failure data. Weibull analysis can make predictions about a product's life, compare the reliability of competing product designs, statistically establish warranty policies or proactively manage spare parts inventories, to name just a few common industrial applications. In academia, Weibull analysis has modeled such diverse phenomena as the length of labor strikes, AIDS mortality and earthquake probabilities.

Learning by example

Let's ignore the formulas for now and start by looking at an example of Weibull analysis in action. Imagine that you work for a toy company that wants to compare the reliability of two proposed designs for a jack-in-the-box spring housing. The desired reliability at 400,000 cycles is 0.90. In other words, the toy company would like 90 percent of the spring housings to survive at least 400,000 cycles. This reliability goal is expressed mathematically as R(400,000)  0.90. Ten units were assembled with each of the two housing designs (Design A and Design B). These 20 units were tested until their spring housings failed.

Figure 1 shows the number of cycles before failure for each item tested.

 The data in Figure 1 don't clearly indicate whether either design meets the desired reliability goal. Both designs had at least one failure before 400,000 cycles, yet clearly the average number of cycles before failure exceeds 400,000 for both designs. A comparison of sample averages using a Student's t test reveals no statistical difference between the average cycles for Design A and the average cycles for Design B (p-value = 0.965). But as a simple measure of central tendency, the sample average gives no information about the spread or shape of the distribution of failure times. Could the two designs' averages be the same, but their reliability be quite different? How can you be more scientific about comparing the reliability of the two proposed designs?

Preparing to analyze

Modeling the data using Weibull analysis requires some preparation. For now, focus on the data from Design A.

1. Open Excel and into cell A1, type the label: Design A Cycles. Enter the failure data for Design A into cells A2:A11. Highlight cells A1:A11 and click on the Sort Ascending button to order the failure cycles from lowest to highest.

2. In cell B1, type the label: Rank. In cells B2:B11, type the integers 1-10 (see Figure 2).

 3. In Column C, put an estimate of the proportion of the population that will fail by the number of cycles listed in Column A. This can be accomplished using several different methods, the most common of which is median ranks. In cell C1, type the label: Median Ranks. In cell C2, enter the formula: =((B2-0.3)/(10+0.4)). Next, copy cell C2 down through cell C11. Note that in the formula for median ranks, the 10 in the denominator is the total number of Design A units tested.
4.Type into cell D1 the label: 1/(1-Median Rank). Then, in D2, enter the formula: =1/(1-C2). Copy cell D2 down through cell D11.

5. Into cell E1, enter the label: ln(ln(1/(1-Median Rank))). In cell E2, type the formula: =LN(LN(D2)). Copy cell E2 down through cell E11.

6. Finally, you'll need to transform the Cycles data. In cell F1, type the label: ln(Design A Cycles). In cell F2, type the formula: =LN(A2). Copy cell F2 down through cell F11.

7. Again, compare your spreadsheet with Figure 2. After you confirm that everything is correct, save your workbook.

Estimating Weibull Parameters

Why can we expect the graph of the ln(Cycles) vs. the transformed median ranks to plot as a straight line?

With some effort, the Weibull cumulative distribution function can be transformed so that it appears in the familiar form of a straight line:Y=mX+b: Here's how:

Comparing this equation with the simple equation for a line, we see that the left side of the equation corresponds to Y, lnx corresponds to X,?  corresponds to m, and - ln corresponds to b. Thus, when we perform the linear regression, the estimate for the Weibull  parameter comes directly from the slope of the line. The estimate for the?  parameter must be calculated as follows:

Estimating Weibull Parameters

Why can we expect the graph of the ln(Cycles) vs. the transformed median ranks to plot as a straight line?

With some effort, the Weibull cumulative distribution function can be transformed so that it appears in the familiar form of a straight line:Y=mX+b: Here's how:


Comparing this equation with the simple equation for a line, we see that the left side of the equation corresponds to Y, lnx corresponds to X,� Beta corresponds to m, and -Beta ln Alphacorresponds to b. Thus, when we perform the linear regression, the estimate for the Weibull Beta parameter comes directly from the slope of the line. The estimate for the� Alpha parameter must be calculated as follows:Eq6

Fitting a line to the data

At this point, you're ready to perform the Weibull analysis. The beauty of this method is that you can expect to see a straight line when you plot the data in Column E vs. Column F.2 By performing a simple linear regression, you can obtain parameter estimates that will enable you to make inferences about Design A's reliability.3

First, be sure that the Analysis ToolPak Add-In is loaded into Excel. From the menu bar, select Tools . Add-Ins. Click on the checkbox for Analysis ToolPak, and then click OK.

To perform the simple linear regression:

1. While on the page you just created, from the menu bar, select Tools and Data Analysis. Scroll down and highlight "Regression" and click OK. A data-entry window will pop up.

2. Under "Input Y Range," type: $E$1:$E$11.

3. For "Input X Range," type: $F$1:$F$11.

4. Click to add a checkmark in the box for "Labels."

5. For "Output Options," select "New Worksheet Ply."

6. Click to add a checkmark in the box for "Line Fit Plots."

7. Click OK. Excel will perform the regression and place the output on a new worksheet.

 Reformatting the output

Before interpreting the output, you'll need to do some tidying up. The columns do not automatically adjust to their optimal widths. To do this, within the worksheet that you just created, click on column heading A and drag to column heading I. Now double-click on the boundary to the right of any column heading. Your table should look similar to Figure 3.

 Now scroll to the right and click once on the graph. Stretch the graph by clicking and dragging on the handle in the lower right corner. From the menu bar, with the graph still selected, click View . Chart Window. Reformat the graph according to your preferences. It's best to use a solid line and no point markers for the Predicted line and delete the legend. Also, move the horizontal axis by clicking on the vertical axis with the right mouse button, selecting "Format Axis," clicking on the "Scale" tab and changing the "Value (X) Axis Crosses At" to -3 (see Figure 4).

In cell A19, type the label: Beta (or Shape Parameter)=. In cell B19, type the formula: =B18. In cell A20, type the label: Alpha (or Characteristic Life)=. In cell B20, type the formula: =EXP(-B17/B18). Your results should closely resemble Figure 3. For Design A, b=4.25 and a=693,380.4

An identical analysis using the Design B data yields a Beta = 2.53 and an  Alpha =723,105.

Interpreting the results

The Weibull shape parameter, called Beta, indicates whether the failure rate is increasing, constant or decreasing. A Beta <1.0 indicates that the product has a decreasing failure rate. This scenario is typical of "infant mortality" and indicates that the product is failing during its "burn-in" period. A Beta=1.0 indicates a constant failure rate. Frequently, components that have survived burn-in will subsequently exhibit a constant failure rate. A Beta >1.0 indicates an increasing failure rate. This is typical of products that are wearing out. Such is the case with the spring housings-both designs A and B have Beta values much higher than 1.0. The housings fail due to fatigue, i.e., they wear out.

The Weibull characteristic life, called, is a measure of the scale, or spread, in the distribution of data. It so happens that Alpha equals the number of cycles at which 63.2 percent of the product has failed. In other words, for a Weibull distribution R( =0.368, regardless of the value of  Beta. For example, with Design A housings, about 37 percent of the housings should survive at least 693,380 cycles.

While this is interesting, it still doesn't reveal whether either jack-in-the-box design meets the reliability goal of R(400,000)  0.90. For this, you need to know the formula for reliability assuming a Weibull distribution:

where? x is the time (or number of cycles) until failure.

The formula looks intimidating, but by simply plugging in the known values for Alpha, Beta and x, you can obtain the desired reliability estimate.

Computing the above formulas can be confusing and laborious using a calculator. Besides, you can't visualize or compare the reliability of each design for multiple cycle values. Excel provides a better way.

Creating a reliability calculator worksheet

1. From your Design A regression output worksheet, highlight and copy cells A19:B20. Activate a new worksheet ply and locate the cursor in cell A1. Select Edit . Paste Special, click on Values, and click OK. This will paste your Beta and Alpha labels and values into cells A1:B2 of the new worksheet. Resize the columns as needed.

2. In cell D1, type the label: Cycles.

3. In cells D2:D11, type the values 100,000-1 million in increments of 100,000.

4. In cell E1, type the label: Survival Probability.

5. In cell E2, type the formula: =WEIBULL(D2,$B$1,$B$2,TRUE).

6. Copy cell E2 down through cell E11.

7. In cell F1, type the label: Reliability.

8. In cell F2, type the formula: =1-E2.

9. Copy cell F2 down through cell F11.

10. Reformat cells as desired. Compare your worksheet with the top portion of? Figure 5.

You've now created a Weibull reliability calculator. You supply the Alpha, Beta, and cycles of interest, and Excel calculates the reliabilities for you. By merely changing the inputs in cells B1, B2 and D2:D11, you can get reliability estimates for any Weibull distribution of interest.
Likewise, sometimes you'll need to compute the number of cycles (or time to failure) corresponding to a certain reliability level. For example, 99 percent of Design A housings will have failed by how many cycles?

Unfortunately, Excel doesn't have an inverse Weibull function. To perform this calculation (called solving for "critical values"), follow these steps:

1. On your Weibull reliability calculator worksheet, type in the label and values as shown in cells C13:C18 in Figure 5.

2. In cell D13, type the label: Cycles.

3. In cell D14, enter the formula: =$B$2*(-LN(C14))^(1/$B$1).

4. Copy cell D14 down through D18.

We find that for Design A of the jack-in-the-box, R(992,975)=0.01, or 99 percent of the housings will have failed by 992,975 cycles.

Creating a survival graph

Perhaps the best way to compare the reliability of Design A with that of Design B is by using a survival graph. This line graph depicts the survival probabilities of each housing type at various numbers of cycles. Using the formulas discussed above, enter the data into a new worksheet (see Figure 6). Use the Chart Wizard to construct an X-Y scatterplot. Select line styles of your choice and delete the point markers. The resulting survival graph looks like Figure 7.


Figure 7 allows a comprehensive comparison of the two designs' survival rates. Note that at 400,000 cycles, about 90 percent of Design A housings have survived, whereas only about 80 percent of Design B housings have survived. Therefore, for the stated reliability goal of R(400,000)  0.90, Design A is clearly superior. However, about 10 percent of Design B housings will survive to 1 million cycles, vs. fewer than 1 percent of Design A. This graph clearly shows the importance of defining the reliability goal in order to choose the more desirable design.


A warranty example

Having settled upon Design A as the superior alternative, suppose your company plans to offer a warranty on the jack-in-the-box. Of course, you would want to allocate suitable funds to honor the warranty, so as not to be blindsided by unexpected warranty costs. You've decided to set the warranty period so that no more than 1 percent of the units sold would fail before the warranty period expires. How can you determine what length of warranty to offer?

The established Weibull model shows 99 percent of the housings should survive at least 235,056 cycles (see Figure 5). Market research shows that a heavily used jack-in-the-box is cycled 100 times per day. We find that 235,056 cycles equates to about 6.4 years of use.

Armed with this information, and knowing that the competition only offers a two-year warranty on its jack-in-the-boxes, your company might choose to be conservative and offer a five-year warranty. This would ensure domination of the competition from a marketing standpoint, yet still allow for warranty costs to stay at or below the desired levels.

The above example is somewhat simplistic. Interested readers can find more sophisticated illustrations of warranty strategy using Weibull analysis in academic articles, such as Jayprakash Patankar and Amitava Mitra's "Effects of Warranty Execution on Warranty Reserve Costs" (Management Science, 1995).

A brief statistics overview

Weibull analysis involves fitting a data set to the following cumulative distribution function (cdf):5


Confusion has arisen in the past due to the lack of standardized nomenclature for the Weibull cdf. Its creator, Waloddi Weibull, himself published multiple versions of this formula using different nomenclatures. Arthur Hallinan Jr. provides an excellent history of the various forms of the Weibull distribution in "A Review of the Weibull Distribution" (Journal of Quality Technology, 1993).

The format above is the most commonly accepted one. Unfortunately, in Excel, the "Help" screen for the "=WEIBULL" function gives the formula with the  Alpha and Beta parameters reversed (i.e., the characteristic life is labeled Beta and the shape parameter is labeled).


The Weibull distribution's strength is its versatility. Depending on the parameters' values, the Weibull distribution can approximate an exponential, a normal or a skewed distribution.

The Weibull distribution's virtually limitless versatility is matched by Excel's countless capabilities. An astute data analyst who understands the theory behind a given analysis can often get results from Excel that others might assume require specialized statistical software. With Excel, Weibull analysis lies well within reach for most engineers with a statistics background.

For more information

The Excel file used in this article and an explanation of estimating Weibull parameters are available from our Web site at www.qualitydigest.com/jan99/html/weibull.html.


1. For simplicity, this article deals with complete failure data, i.e., all samples were tested until they failed. In practice, reliability data analysis frequently involves censored data, or samples for which, for one reason or another, failure times are unknown. Often, tests are suspended before all samples fail. Or perhaps items may fail due to a cause other than the one being studied.

The issues involved in analyzing and interpreting censored data are complex. Improper analysis of censored data can yield misleading results, which Margaret Mackisack and Ronald Stillman point out in "A Cautionary Tale About Weibull Analysis" (IEEE Transactions on Reliability, 1996). For further technical details about analyzing censored life data, readers also can consult Wayne Nelson's book Applied Life Data Analysis (John Wiley & Sons, 1982) or William Meeker and Luis Escobar's book Statistical Methods for Reliability Data (John Wiley & Sons, 1998).

2. For a full explanation of why you can expect a straight line, see this article at our Web site: www.qualitydigest.com/jan99/html/weibull.html .

3. Many methods exist for estimating Weibull distribution parameters from a set of data. This article uses the method called probability plotting. Readers interested in other methods, such as maximum likelihood estimation or hazard plotting, should consult Nelson's book, Meeker and Escobar's book or Bryan Dodson's book Weibull Analysis with Software (ASQ Quality Press, 1994).

4. Some software packages may give slightly different parameter estimates than the ones in this article. That is because these applications regress the transformed median ranks (Y) on the transformed lifetimes (X) rather than vice versa. "Simulation studies show that Y on X regression produces almost double the bias in the estimation of the shape parameter as the X on Y regression," according to Dodson. Moreover, the universal convention for displaying a Weibull probability plot is to depict "ln(lifetime)" on the horizontal axis. The regression method presented in this article automatically generates the plot in this standard format.

5. The type of Weibull distribution discussed in this article is called the two-parameter Weibull distribution. This simple form is adequate for a majority of Weibull analysis scenarios. However, if the transformed failure data plot has a curved rather than a straight line appearance, or if Beta is found to be greater than 6.0, then a third parameter may be needed to adequately model the data. The third parameter, included in the aptly named three-parameter Weibull distribution, effectively shifts the entire distribution to the right. This location parameter is most commonly called Gamma (the Greek letter gamma). In practice,  Gamma can be interpreted as the earliest possible time at which failure may occur. Of course,  Gamma may never be larger than the value of the earliest failure from the data set. Readers who encounter a curved regression plot or a  Beta value greater than 6.0 should consult Hallinan's article or John McCool's article "Inference on the Weibull Location Parameter" (Journal of Quality Technology, 1998) for guidance on fitting a three-parameter Weibull model.


About The Author

William Dorner’s default image

William Dorner

William W. Dorner is a senior quality/process engineer at Best Lock Corp. in Indianapolis. He is a member of ASQ and ASA.


Extrapolating Failure Results


Above all, thank you for sharing this tool. But I don't have all the failure times. I just have the hours of the firts failure of a component, and the hours spent in components not failed. How can I introduce this non failure data into the parameters estimation. 

Thank you for your assistance regarding this matter. Rogerio.

Failure Hours First          Last Know Hours5.189,00                         7.656

7.767,00                         12.206

4.045,00                         11.195

5.240,00                          11.460

5.668,00                          9.387

-                                       8.397

-                                       9.873

-                                       11.071

-                                       11.315

-                                       9.386

-                                       10.426


Regarding Basic Data(Design A Cycles)


The data u have entered in Design A Cycles is for the no. of cycles the component ran without a failure.

I have a set of data which contains: 1)No. of failures 2)Total working time 3)Period of Failure(time to repair)... But I do not have the Time between failures data... How can I calculate Reliability by Weibull distribution using these available data. Please let me know as I am stuck at this point.