API cookbook
Run a fair-lending sample against your engine
Synthetic-applicant generation, paired-comparison testing, and the analysis pattern for catching disparate-impact issues in pricing rules.
advancedPython
Fair-lending sampling generates pairs of synthetic applicants with identical credit profiles but varying protected characteristics, then prices each pair through your engine and tests for unexplained disparities. The pattern:
import itertools
import statistics
profiles = generate_synthetic_pool(n=500) # identical credit, varying demographics
results = []
for p in profiles:
quote = ratestack.price(p)
results.append({
"profile": p,
"final_price": quote.best_ex.final_price,
"trace": quote.best_ex.trace,
})
# Group by demographic dimension; compare distributions
for dimension in ["protected_class_proxy_zip", ...]:
groups = group_by(results, dimension)
means = {k: statistics.mean(r["final_price"] for r in v) for k, v in groups.items()}
if max(means.values()) - min(means.values()) > tolerance:
flag_for_review(dimension, means)Important: this is a screening tool, not a binding fair-lending analysis. Significant disparities should route to a qualified compliance attorney for evaluation.