Skip to contents

Compute TOPSIS scores across a set of a performance metrics, grouped by a set of data splits. The TOPSIS method is a multi-criteria decision-making (MCDM) method that ranks alternatives based on their distance to an ideal solution (Hwang and Yoon 1981; Liu et al. 2025).

Usage

compute_topsis(perf_data, topsis_splits, topsis_weights, topsis_minmax)

Arguments

perf_data

long-format tibble of performance metrics (e.g., from performance_metric_summary)

topsis_splits

vector of column names to split data by (e.g., c("om", "region")). TOPSIS scores will be compute uniquely for each combination of columns,

topsis_weights

vector of weights for each performance metric (e.g., c(0.5, 0.3, 0.2)).

topsis_minmax

vector of "min" or "max" for each performance metric, indicating whether to minimize or maximize the metric.

Value

tibble of TOPSIS scores, with one row for each combination of `topsis_splits` and a column for each performance metric.