Operations 6 min read

How to Rank Multi‑Criteria Options with the Rank‑Sum Ratio Method (Python Demo)

The article explains the rank‑sum ratio method for multi‑criteria decision making, walks through its step‑by‑step procedure, demonstrates a product evaluation case, and provides a full Python implementation to compute standardized scores and final rankings.

Model Perspective
Model Perspective
Model Perspective
How to Rank Multi‑Criteria Options with the Rank‑Sum Ratio Method (Python Demo)

Rank‑Sum Ratio Comprehensive Evaluation

The rank‑sum ratio (RSR) method is a widely used multi‑indicator decision‑making technique. It converts each indicator’s values into ranks, transforms ranks into standardized scores, sums the scores for each alternative, and finally ranks the alternatives based on the total scores.

Procedure

Sort the values of each indicator for all alternatives from low to high and assign ranks.

Convert each rank to a standardized score by dividing the rank by the number of alternatives and multiplying by 100.

Sum the standardized scores of all indicators for each alternative to obtain its total score.

Rank the alternatives according to their total scores; a higher rank indicates better overall performance.

The method’s advantages are that it considers multiple indicators simultaneously, avoids the bias of single‑indicator evaluation, requires only ordinal data, and is less sensitive to extreme values.

Mathematical Formulation

Assume there are m alternatives and n evaluation indicators. For alternative i, the comprehensive score S_i is:

S_i = Σ_{j=1}^{n} w_j * r_{ij}

where w_j is the weight of indicator j, and r_{ij} is the rank‑based standardized score of alternative i on indicator j (larger rank gives larger value).

Case Study

Consider three products A, B, C evaluated on price, quality, and after‑sales service (higher scores are better). The raw scores are:

Price: A = 89, B = 70, C = 91; Quality: A = 80, B = 90, C = 99; Service: A = 100, B = 79, C = 70.

Ranks (low‑to‑high) are: Price – B 1, A 2, C 3; Quality – A 1, B 2, C 3; Service – C 1, B 2, A 3.

Standardized scores are obtained by dividing each rank by the number of alternatives (3) and multiplying by 100. With equal weights (1/3 each), the total scores are: A = 0.33, B = 0.28, C = 0.39, giving the final ranking C > A > B.

Python Implementation

<code>import numpy as np

# Define scores for three products
price_scores = [89, 70, 91]
quality_scores = [80, 90, 99]
service_scores = [100, 79, 70]

# Combine into a 2‑D array
scores = np.array([price_scores, quality_scores, service_scores]).T

# Rank each indicator (ascending) and convert to standardized scores
rank = np.argsort(scores, axis=0) + 1
standard_score = rank / rank.sum(axis=0)

# Equal weights for the three indicators
weights = [1/3, 1/3, 1/3]

# Compute total scores
total_score = np.dot(standard_score, weights)

# Rank alternatives by total score
rank = total_score.argsort()[::-1].argsort() + 1

# Output results
for i in range(len(total_score)):
    print(f"Product {chr(65+i)} total score: {total_score[i]:.2f}, comprehensive rank: {rank[i]}")
</code>

The script merges the three indicator scores, ranks each indicator, converts ranks to standardized scores, applies equal weights, calculates total scores, and prints each product’s total score and comprehensive rank.

That’s the complete content.

Pythondecision analysisMulti-criteria DecisionEvaluation MethodRank Sum Ratio
Model Perspective
Written by

Model Perspective

Insights, knowledge, and enjoyment from a mathematical modeling researcher and educator. Hosted by Haihua Wang, a modeling instructor and author of "Clever Use of Chat for Mathematical Modeling", "Modeling: The Mathematics of Thinking", "Mathematical Modeling Practice: A Hands‑On Guide to Competitions", and co‑author of "Mathematical Modeling: Teaching Design and Cases".

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.