Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CONTRIBUTORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ the [Git identity map](#git-identity-map) so `git shortlog -sne` can be reconcil

| | Who | Role |
|:--|-----|------|
| <a href="https://github.com/yakew7"><img src="https://github.com/yakew7.png" width="48" height="48" alt="yakew7"></a> | **Yash Kewlani** - [@yakew7](https://github.com/yakew7) | Creator and maintainer. Author of the seven audits, the `faircode` library and benchmark harness, the Open Dataset Profiler, the website, and the bulk of the 56 explainers. Code owner for `faircode/`, `paper/`, every `audit.yaml`, and project policy (`CLAUDE.md`, `CONTRIBUTING.md`); co-owner of `explainers/`. |
| <a href="https://github.com/yakew7"><img src="https://github.com/yakew7.png" width="48" height="48" alt="yakew7"></a> | **Yash Kewlani** - [@yakew7](https://github.com/yakew7) | Creator and maintainer. Author of the seven audits, the `faircode` library and benchmark harness, the Open Dataset Profiler, the website, and the bulk of the 60 explainers. Code owner for `faircode/`, `paper/`, every `audit.yaml`, and project policy (`CLAUDE.md`, `CONTRIBUTING.md`); co-owner of `explainers/`. |

Contact: [yashkewlani2020@gmail.com](mailto:yashkewlani2020@gmail.com) · [@thefaircodeproject](https://instagram.com/thefaircodeproject)

Expand Down
2 changes: 1 addition & 1 deletion METRICS.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
![Contributors](https://img.shields.io/badge/Contributors-29-blue?style=flat-square)
![Forks](https://img.shields.io/badge/Forks-33-orange?style=flat-square)
![Watching](https://img.shields.io/badge/Watching-8-yellow?style=flat-square)
![Explainers](https://img.shields.io/badge/Explainers-56-blueviolet?style=flat-square)
![Explainers](https://img.shields.io/badge/Explainers-60-blueviolet?style=flat-square)
![Countries](https://img.shields.io/badge/Countries-20-informational?style=flat-square)
![Updated](https://img.shields.io/badge/Updated-Weekly-lightgrey?style=flat-square)

Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -780,10 +780,10 @@ features = [

## Explainers

56 short, plain-language write-ups of individual fairness concepts, each with runnable detection code. The healthcare-focused ones are called out above in [Healthcare AI Bias Focus](#healthcare-ai-bias-focus).
60 short, plain-language write-ups of individual fairness concepts, each with runnable detection code. The healthcare-focused ones are called out above in [Healthcare AI Bias Focus](#healthcare-ai-bias-focus).

<details>
<summary><strong>Show all 56 explainers →</strong></summary>
<summary><strong>Show all 60 explainers →</strong></summary>

| Explainer | What it covers |
|-----------|----------------|
Expand Down Expand Up @@ -1204,7 +1204,7 @@ The full public roadmap - with phases, completion status, and content schedule -
| Combined Social Reach (Instagram + LinkedIn) | 30K+ |
| Countries Reached (Website Visitors) | 20 |
| Code Audits Published | 7 |
| Explainers Published | 56 |
| Explainers Published | 60 |

Tracked weekly in [METRICS.md](METRICS.md).

Expand Down
2 changes: 1 addition & 1 deletion ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Fair Code is an open-source responsible AI platform explaining algorithmic bias,

## Phase 1 - Bias Glossary and Beginner Explainers ✅

**Status: Foundational library complete - 56 explainers published, expanding toward a 60+ library**
**Status: Foundational library complete - 60 explainers published, expanding toward a 60+ library**

Build the foundational vocabulary and explain core fairness concepts clearly enough for a non-technical reader.

Expand Down
41 changes: 41 additions & 0 deletions assets/explainers-data.js
Original file line number Diff line number Diff line change
Expand Up @@ -567,5 +567,46 @@ window.FAIR_CODE_EXPLAINERS = [
"tags": [
"metrics"
]
},
{
"slug": "simpsons-paradox",
"title": "What Is Simpson's Paradox in Fairness Audits?",
"subtitle": "A gap that shows up in the aggregate can shrink, vanish, or reverse once you disaggregate.",
"summary": "Learn why an aggregate fairness metric is a weighted average of within-stratum rates, so pooling groups of different sizes can manufacture or flip a disparity. Uses the Benefits Denial (Adult Census) audit: the aggregate sex income gap of +19.6 pp collapses to roughly +3 pp within marital-status strata and reverses to -0.9 pp inside the largest one.",
"tags": [
"metrics",
"data",
"detection"
]
},
{
"slug": "conditional-demographic-parity",
"title": "What Is Conditional Demographic Parity?",
"subtitle": "Checking parity within strata of a chosen legitimate factor, not across the whole population.",
"summary": "Learn how conditional demographic parity refines plain demographic parity by stratifying on an explicitly chosen legitimate factor, and why the choice of that factor decides the answer. Uses the Benefits Denial (Adult Census) audit: conditioning the +19.6 pp sex income gap on education leaves it at +18.4 pp, while conditioning on marital status removes about 84% of it.",
"tags": [
"metrics",
"detection"
]
},
{
"slug": "subgroup-fairness",
"title": "What Is Subgroup Fairness (and Fairness Gerrymandering)?",
"subtitle": "Passing a fairness check on every attribute separately is not the same as passing it on every combination.",
"summary": "Learn how a model can satisfy a fairness metric on each protected attribute individually yet fail on an algorithmically-discoverable subgroup, and how a brute-force subgroup scan differs from this repo's fixed-pair --cross. Uses the Healthcare Readmission audit: the gender readmission gap is 0.19 pp overall but -5.15 pp inside the Asian patient subgroup.",
"tags": [
"metrics",
"detection"
]
},
{
"slug": "differential-privacy",
"title": "What Is Differential Privacy (and Its Tension With Fairness)?",
"subtitle": "The accuracy cost of a privacy guarantee falls hardest on underrepresented groups.",
"summary": "Learn how DP-SGD's gradient clipping and noise addition disproportionately degrade accuracy for minority subgroups, so adding a privacy guarantee to a bias-mitigation pipeline is not free. Illustrative example from Bagdasaryan, Poursaeed and Shmatikov (NeurIPS 2019), plus a runnable DP-SGD noise-injection toy; this repo trains no DP model, so no frozen numbers are quoted.",
"tags": [
"data",
"metrics"
]
}
];
28 changes: 28 additions & 0 deletions assets/explainers-data.json
Original file line number Diff line number Diff line change
Expand Up @@ -390,6 +390,34 @@
"subtitle": "Equal error rates across groups can still hide opposite-skewed error types within each group.",
"summary": "Learn why Treatment Equality checks the ratio of false negatives to false positives within each group, not the individual rates Equalized Odds already compares. Uses COMPAS's real (freshly computed, not frozen) confusion matrix: a 0.13 FN:FP ratio for African-American defendants against a 31.0 ratio for Caucasian defendants on the same baseline model.",
"tags": ["metrics"]
},
{
"slug": "simpsons-paradox",
"title": "What Is Simpson's Paradox in Fairness Audits?",
"subtitle": "A gap that shows up in the aggregate can shrink, vanish, or reverse once you disaggregate.",
"summary": "Learn why an aggregate fairness metric is a weighted average of within-stratum rates, so pooling groups of different sizes can manufacture or flip a disparity. Uses the Benefits Denial (Adult Census) audit: the aggregate sex income gap of +19.6 pp collapses to roughly +3 pp within marital-status strata and reverses to -0.9 pp inside the largest one.",
"tags": ["metrics", "data", "detection"]
},
{
"slug": "conditional-demographic-parity",
"title": "What Is Conditional Demographic Parity?",
"subtitle": "Checking parity within strata of a chosen legitimate factor, not across the whole population.",
"summary": "Learn how conditional demographic parity refines plain demographic parity by stratifying on an explicitly chosen legitimate factor, and why the choice of that factor decides the answer. Uses the Benefits Denial (Adult Census) audit: conditioning the +19.6 pp sex income gap on education leaves it at +18.4 pp, while conditioning on marital status removes about 84% of it.",
"tags": ["metrics", "detection"]
},
{
"slug": "subgroup-fairness",
"title": "What Is Subgroup Fairness (and Fairness Gerrymandering)?",
"subtitle": "Passing a fairness check on every attribute separately is not the same as passing it on every combination.",
"summary": "Learn how a model can satisfy a fairness metric on each protected attribute individually yet fail on an algorithmically-discoverable subgroup, and how a brute-force subgroup scan differs from this repo's fixed-pair --cross. Uses the Healthcare Readmission audit: the gender readmission gap is 0.19 pp overall but -5.15 pp inside the Asian patient subgroup.",
"tags": ["metrics", "detection"]
},
{
"slug": "differential-privacy",
"title": "What Is Differential Privacy (and Its Tension With Fairness)?",
"subtitle": "The accuracy cost of a privacy guarantee falls hardest on underrepresented groups.",
"summary": "Learn how DP-SGD's gradient clipping and noise addition disproportionately degrade accuracy for minority subgroups, so adding a privacy guarantee to a bias-mitigation pipeline is not free. Illustrative example from Bagdasaryan, Poursaeed and Shmatikov (NeurIPS 2019), plus a runnable DP-SGD noise-injection toy; this repo trains no DP model, so no frozen numbers are quoted.",
"tags": ["data", "metrics"]
}
]

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/og-light/differential-privacy.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/og-light/simpsons-paradox.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/og-light/subgroup-fairness.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/og/conditional-demographic-parity.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/og/differential-privacy.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/og/simpsons-paradox.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/og/subgroup-fairness.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading