top of page

Making Informed Decisions with Analytic Hierarchy Process (AHP) in Python

Making judgements in the complicated and data-driven world of today can be difficult, especially when a number of criteria and options are present. The Analytic Hierarchy Process (AHP) is a potent framework for decision-making that aids people and organisations in prioritising and assessing possibilities in accordance with a number of criteria. In this article, we'll look at how to use Python to construct AHP, giving you the power to decide more quickly and with greater knowledge.

What is the Analytic Hierarchy Process (AHP)?

Thomas L. Saaty created the Analytic Hierarchy Process, a structured methodology for decision-making that organises complex issues into a hierarchy of criteria and alternatives. It enables them to evaluate the relative importance of criteria and evaluate alternatives using pairwise comparisons. The preferences are given numerical values by AHP, and the weights they result in are then utilised to choose the optimal option.

Implementing AHP in Python:

To implement AHP in Python, we can utilize various libraries and packages. In this blog post, we will use the following key libraries:

NumPy: A powerful library for numerical computations, which we will use to perform matrix operations and calculations required in AHP.

Pandas: A versatile data manipulation library that helps us organize and analyze the decision hierarchy data.

Matplotlib: A popular plotting library for visualizing the AHP results.

Step 1: Defining the Decision Hierarchy:

The first step in implementing AHP is to define the decision hierarchy. It includes figuring out the core objective, criteria, and alternatives. Let's say, for example, that we wish to buy a new laptop. The following structure could be used for the decision hierarchy:

Goal: Purchase a new laptop

Criteria: Performance, Price, Battery Life, Portability

Alternatives: Laptop A, Laptop B, Laptop C

Step 2: Pairwise Comparison:

In this step, we need to perform pairwise comparisons to determine the relative importance of criteria and the performance of alternatives with respect to each criterion. We can create a comparison matrix using the Saaty scale, which assigns values ranging from 1 to 9 to represent the importance of one element over another.

Step 3: Calculating the Weighted Matrix:

Next, we calculate the weighted matrix by normalizing the comparison matrix. We calculate the row-wise normalized matrix and then calculate the average weight for each criterion.

Step 4: Consistency Check:

AHP requires consistency in the pairwise comparisons to ensure reliable results. We can compute the consistency ratio (CR) using the eigenvalues of the pairwise comparison matrix. If the CR is within an acceptable range (e.g., less than 0.1), the comparisons are considered consistent. Otherwise, we may need to revise the pairwise comparisons.

Step 5: Aggregating the Criteria and Alternatives:

Using the weights obtained from the pairwise comparisons, we calculate the aggregated score for each alternative based on the criteria weights. This provides an overall ranking of the alternatives.

Step 6: Sensitivity Analysis:

To understand the sensitivity of the decision, we can perform a sensitivity analysis by slightly modifying the pairwise comparisons and recalculating the results. This helps in understanding the impact of changes in preferences on the final decision.

Step 7: Visualizing the Results:

Finally, we can visualize the results using bar charts or radar charts to showcase the relative importance of criteria and the ranking of alternatives.


Python's Analytic Hierarchy Process (AHP) implementation enables decision-makers to prioritise alternatives and make well-informed decisions. AHP offers a methodical approach to decision-making by breaking difficult decisions into a structured hierarchy and performing pairwise comparisons. Python libraries like NumPy


bottom of page