Bias audit — selection-rate impact ratios (four-fifths rule)
Selection rate and impact ratio by sex and race/ethnicity for an automated employment decision tool against the 0.80 four-fifths threshold, the disparate-impact table required by NYC Local Law 144 and the EEOC Uniform Guidelines.
Rendering…
Make it your own.
{
"$schema": "https://vega.github.io/schema/vega-lite/v5.json",
"title": {
"text": "Bias audit — CV screening assistant, impact ratios (NYC Local Law 144)",
"subtitle": [
"Selection = model recommends \"advance to interview\". 3 947 applicants, 984 advanced, overall selection rate 24.9%.",
"Impact ratio = category selection rate ÷ the highest selection rate in that category set. Rule at 0.80 is the four-fifths threshold.",
"Four race/ethnicity categories fall below 0.80; the two smallest (n < 50) are reported but not adverse-impact conclusive."
],
"anchor": "start",
"fontSize": 15,
"subtitleFontSize": 11
},
"data": {
"values": [
{"dimension": "Sex", "category": "Male", "applicants": 1842, "selected": 486, "selection_rate": 0.2638, "impact_ratio": 1.0, "status": "reference"},
{"dimension": "Sex", "category": "Female", "applicants": 2105, "selected": 498, "selection_rate": 0.2366, "impact_ratio": 0.897, "status": "at or above 0.80"},
{"dimension": "Race / ethnicity", "category": "Asian", "applicants": 830, "selected": 246, "selection_rate": 0.2964, "impact_ratio": 1.0, "status": "reference"},
{"dimension": "Race / ethnicity", "category": "White", "applicants": 1540, "selected": 398, "selection_rate": 0.2584, "impact_ratio": 0.872, "status": "at or above 0.80"},
{"dimension": "Race / ethnicity", "category": "Two or more races", "applicants": 180, "selected": 44, "selection_rate": 0.2444, "impact_ratio": 0.825, "status": "at or above 0.80"},
{"dimension": "Race / ethnicity", "category": "Black or African American", "applicants": 690, "selected": 148, "selection_rate": 0.2145, "impact_ratio": 0.724, "status": "below 0.80"},
{"dimension": "Race / ethnicity", "category": "Hispanic or Latino", "applicants": 620, "selected": 131, "selection_rate": 0.2113, "impact_ratio": 0.713, "status": "below 0.80"},
{"dimension": "Race / ethnicity", "category": "Native Hawaiian or Pacific Islander", "applicants": 45, "selected": 9, "selection_rate": 0.2, "impact_ratio": 0.675, "status": "below 0.80"},
{"dimension": "Race / ethnicity", "category": "American Indian or Alaska Native", "applicants": 42, "selected": 8, "selection_rate": 0.1905, "impact_ratio": 0.643, "status": "below 0.80"}
]
},
"facet": {
"row": {
"field": "dimension",
"type": "nominal",
"title": null,
"header": {"labelFontSize": 12, "labelFontWeight": "bold", "labelAnchor": "start"},
"sort": ["Sex", "Race / ethnicity"]
}
},
"resolve": {"scale": {"y": "independent"}},
"spec": {
"width": 380,
"height": {"step": 24},
"layer": [
{
"mark": {"type": "bar", "height": 15},
"encoding": {
"y": {
"field": "category",
"type": "nominal",
"title": null,
"sort": ["Male", "Female", "Asian", "White", "Two or more races", "Black or African American", "Hispanic or Latino", "Native Hawaiian or Pacific Islander", "American Indian or Alaska Native"],
"axis": {"labelLimit": 320}
},
"x": {
"field": "impact_ratio",
"type": "quantitative",
"title": "Impact ratio",
"scale": {"domain": [0, 1.05]},
"axis": {"format": ".2f"}
},
"color": {
"field": "status",
"type": "nominal",
"title": "Four-fifths test",
"scale": {
"domain": ["reference", "at or above 0.80", "below 0.80"],
"range": ["#5b6470", "#1f47f5", "#c62828"]
}
},
"tooltip": [
{"field": "category", "type": "nominal"},
{"field": "applicants", "type": "quantitative", "title": "Applicants"},
{"field": "selected", "type": "quantitative", "title": "Advanced"},
{"field": "selection_rate", "type": "quantitative", "title": "Selection rate", "format": ".1%"},
{"field": "impact_ratio", "type": "quantitative", "title": "Impact ratio", "format": ".3f"}
]
}
},
{
"mark": {"type": "rule", "color": "#333333", "strokeDash": [4, 3], "strokeWidth": 1.5},
"encoding": {"x": {"datum": 0.8, "type": "quantitative"}}
},
{
"mark": {"type": "text", "align": "left", "dx": 5, "fontSize": 10, "color": "#333333"},
"encoding": {
"y": {
"field": "category",
"type": "nominal",
"sort": ["Male", "Female", "Asian", "White", "Two or more races", "Black or African American", "Hispanic or Latino", "Native Hawaiian or Pacific Islander", "American Indian or Alaska Native"],
"axis": {"labelLimit": 320}
},
"x": {"field": "impact_ratio", "type": "quantitative"},
"text": {"field": "label", "type": "nominal"}
}
}
]
},
"transform": [
{
"calculate": "format(datum.impact_ratio, '.3f') + ' (' + format(datum.selection_rate, '.1%') + ', n=' + datum.applicants + ')'",
"as": "label"
}
],
"config": {
"view": {"stroke": null},
"axis": {"labelFontSize": 11, "titleFontSize": 12}
}
}