Skip to main content

pyRankMCDA

Introduction

pyRankMCDA is a Python library designed for rank aggregation in multi-criteria decision analysis (MCDA). It provides implementations of classical and modern rank aggregation methods, allowing users to combine multiple rankings into a single consensus ranking. This is particularly useful in fields like decision science, information retrieval, and any domain where synthesizing different ordered lists is necessary.

Citation

PEREIRA, V.; BASILIO, M.P.; FATIH Y. (2026). Unifying Multiple MCDA Rankings: Aggregation of Rankings through Methodological and Computational Perspectives. International Journal of Information Technology & Decision Making. doi: https://www.worldscientific.com/doi/10.1142/S0219622026500525

Features

  • Multiple Rank Aggregation Methods:

    • Borda Method
    • Copeland Method
    • Footrule Rank Aggregation
    • Fast Footrule Rank Aggregation
    • Kemeny-Young Method
    • Fast Kemeny-Young
    • Median Rank Aggregation
    • PageRank Algorithm
    • Plackett-Luce Model Aggregation
    • Reciprocal Rank Fusion
    • Schulze Method
  • Distance and Correlation Metrics:

    • Cayley Distance
    • Footrule Distance
    • Kendall Tau Distance
    • Kendall Tau Correlation
    • Spearman Rank Correlation
  • Visualization Tools:

    • Heatmaps of rankings
    • Radar charts comparing rankings from different methods
    • Multidimensional Scaling (MDS) plots for visualizing distances between ranking methods

Usage

  1. Install
pip install pyRankMCDA
  1. Basic Example
import numpy as np
from pyRankMCDA.algorithm import rank_aggregation

# Example rankings from different methods

ranks = np.array([
    [1, 2, 3],
    [2, 1, 3],
    [3, 2, 1]
])

# Initialize rank aggregation object
ra = rank_aggregation(ranks)

# Run Borda method
borda_rank = ra.borda_method(verbose = True)
  1. Running Multiple Methods
# Define the methods to run
methods = ['bd', 'cp', 'fky', 'md', 'pg']

# Run selected methods
df = ra.run_methods(methods)
  1. Visualization
# Plot heatmap of rankings
ra.plot_ranks_heatmap(df)

# Plot radar chart of rankings
ra.plot_ranks_radar(df)
  1. Computing Metrics
# Calculate distance and correlation metrics
d_matrix = ra.metrics(df)

# Plot metric comparisons
ra.metrics_plot(d_matrix)
  1. Try it in Colab:
  1. Others
  • 3MOAHP - Inconsistency Reduction Technique for AHP and Fuzzy-AHP Methods
  • pyDecision - A library for many MCDA methods
  • pyMissingAHP - A Method to Infer AHP Missing Pairwise Comparisons
  • ELECTRE-Tree - Algorithm to infer the ELECTRE Tri-B method parameters
  • Ranking-Trees - Algorithm to infer the ELECTRE II, III, IV and PROMETHEE I, II, III, IV method parameters
  • EC-PROMETHEE - A Committee Approach for Outranking Problems
  • MCDM Scheduler - A MCDM approach for Scheduling Problems

Metadata

Release files for pyrankmcda 2.1.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyrankmcda 2.1.8
File Size Uploaded
pyrankmcda-2.1.8.tar.gz 11.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyrankmcda 2.1.8
File Interpreter ABI Platform
pyrankmcda-2.1.8-py3-none-any.whl Python 3 none any Details

Total release size: 21.7 kB

Release files / pyrankmcda-2.1.8.tar.gz

Download URL pyrankmcda-2.1.8.tar.gz
Size 11.4 kB
Tags Source
SHA-256 checksum
How to use checksums
df1f647eebe677eb636407825cf3f26cffb52a22b9c367d25df701807393f05a
BLAKE2b-256 checksum
How to use checksums
8c0d83175433d27be3c75baa3ad72448b14eead69db131ea3f23422d55518244
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.9

Release files / pyrankmcda-2.1.8-py3-none-any.whl

Download URL pyrankmcda-2.1.8-py3-none-any.whl
Size 10.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
114c195e741cdb9c88489f3f00457f7241b61fb4154089b4fdc4b5a926b4e6d0
BLAKE2b-256 checksum
How to use checksums
a8eda97b1180eab097cbcbc5a8e9298d8b2c216c8f8b245165aebfce3f3d3927
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.9

Release history Release notifications | RSS feed

This release

2.1.8 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page