Skip to content
Back to skills

Relaxed Equal Odds Fraud Eval

ASecurity

Evaluates a model-agnostic fairness calibration heuristic that adjusts prediction thresholds per protected attribute value to independently control false positive and false negative rates. It probes the ability to balance business-critical error costs across high-arity and multiple sensitive groups while maintaining predictive performance. Use when the user wants to benchmark on COMPAS (Criminal Recidivism), Income-Prediction, Health Prediction, Proprietary Online Fraud Dataset, or asks about...

  • 3 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 11, 2026
researchpythongitperformance

Security analysis

A100/100

Scanned September 11, 2026

npx -y skills add qhjqhj00/research-skills-pool --skill relaxed-equal-odds-fraud-eval --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Relaxed Equal Odds Fraud Eval?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Relaxed Equal Odds Fraud Eval
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/qhjqhj00-relaxed-equal-odds-fraud-eval/badge)](https://www.skillsdirectory.com/skills/qhjqhj00-relaxed-equal-odds-fraud-eval)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: relaxed-equal-odds-fraud-eval
description: Evaluates a model-agnostic fairness calibration heuristic that adjusts prediction thresholds per protected attribute value to independently control false positive and false negative rates. It probes the ability to balance business-critical error costs across high-arity and multiple sensitive groups while maintaining predictive performance. Use when the user wants to benchmark on COMPAS (Criminal Recidivism), Income-Prediction, Health Prediction, Proprietary Online Fraud Dataset, or asks about evaluating this task. Reports FPR.
metadata:
  skill_kind: dataset_eval
  source_arxiv: 2207.14355
  bibtex_key: [REDACTED]
  confidence: high
---

# relaxed-equal-odds-fraud-eval

> Multiple Attribute Fairness: Application to Fraud Detection — Meghanath M Y et al. (2022) (arXiv:2207.14355, 2022)

## What this evaluates

Evaluates a model-agnostic fairness calibration heuristic that adjusts prediction thresholds per protected attribute value to independently control false positive and false negative rates. It probes the ability to balance business-critical error costs across high-arity and multiple sensitive groups while maintaining predictive performance.

## Datasets

- **COMPAS (Criminal Recidivism)** — total ?; splits: test (-1); repo https://github.com/propublica/compas-analysis
- **Income-Prediction** — total ?; splits: test (-1)
- **Health Prediction** — total ?; splits: test (-1); repo https://github.com/gpleiss/equalized_odds_and_calibration/
- **Proprietary Online Fraud Dataset** — total ?; splits: test (-1)

## Metrics

- `FPR` **(primary)** — range: [0, 1]
  - False Positive Rate = FP / (FP + TN). Computed independently per protected attribute group to measure the rate of non-fraudulent transactions incorrectly flagged as fraudulent (or vice versa depending on class labeling).
- `FNR` — range: [0, 1]
  - False Negative Rate = FN / (FN + TP). Computed independently per protected attribute group to measure the rate of fraudulent transactions incorrectly flagged as non-fraudulent.

## Input / output format

**Input**: Model prediction scores/probabilities and ground truth labels, along with protected attribute values (e.g., country, currency, gender, race) for post-hoc threshold adjustment.

**Output**: Adjusted binary predictions or custom thresholds per protected attribute value that satisfy relaxed equalized odds constraints.

## Scoring recipe

```python
def compute_fpr_fnr(preds, labels, groups):
    results = {}
    for g in groups.unique():
        mask = groups == g
        fp = ((preds[mask] == 1) & (labels[mask] == 0)).sum()
        tn = ((preds[mask] == 0) & (labels[mask] == 0)).sum()
        fn = ((preds[mask] == 0) & (labels[mask] == 1)).sum()
        tp = ((preds[mask] == 1) & (labels[mask] == 1)).sum()
        results[g] = {
            'FPR': fp / (fp + tn) if (fp + tn) > 0 else 0.0,
            'FNR': fn / (fn + tp) if (fn + tp) > 0 else 0.0
        }
    return results
```

## Common pitfalls

- Confusing the proposed post-hoc threshold adjustment with pre-processing or in-processing fairness methods.
- Assuming standard equalized odds requires equal FPR and FNR simultaneously; the paper explicitly decouples them into 'relaxed equalized odds' to allow independent control.
- Reporting aggregate FPR/FNR instead of per-group values, which masks the fairness violations the method aims to fix.

## Evidence (verbatim from paper)

> From Figures [3](#S4.F3 "Figure 3 ‣ 4. Experiments ‣ Multiple Attribute Fairness: Application to Fraud Detection"), [4](#S4.F4 "Figure 4 ‣ 4. Experiments ‣ Multiple Attribute Fairness: Application to Fraud Detection") (green color bars), we observe that the final $F_{select}$ with custom thresholds per country considerably reduces the bias towards certain countries. Further, we also note that the FPRs and FNRs across countries conform to the relaxed equalized odds fairness measure – mean across the countries lies withing two standard deviations.

## Citation

```bibtex
@misc{meghanath2022multiple,
  title={Multiple Attribute Fairness: Application to Fraud Detection},
  author={Meghanath M Y et al. (2022)},
  year={2022},
  note={arXiv:2207.14355}
}
```

- arXiv: 2207.14355

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.