By MCP Analytics Team | Published , updated
Our own team commissioned these on public datasets, the way a customer would: a question described in plain language, then the build pipeline chose the method, wrote the R, checked the output and rendered the report you can open below. Commissioned builds become modules their owners can re-run on new data while active.
These are commissioned. You bring a question we have never seen and get an analysis built for it, which is yours to keep and re-run. Library case studies are the opposite: prebuilt: already written, always available, ready to run. Most people start with the library and commission a build when they need something specific.
The data. card_data.json, the numbers file published with the delivered report IBM HR Employee Attrition Drivers. The underlying data is the public IBM HR attrition dataset.
The calculation. Python, standard library only. This exact code ran against the file when this page was built, and printed the output below it.
import json
from math import exp, sqrt
card = json.load(open("card_data.json"))
table = card["rf_data"]["summary_table"]["tables"]["attrition_by_segment"]
ot = {r["segment_value"]: r for r in table if r["segment"] == "Overtime"}
yes, no = ot["Yes"], ot["No"]
p1 = yes["attrited"] / yes["headcount"]
p0 = no["attrited"] / no["headcount"]
rr = p1 / p0
se = sqrt(1 / yes["attrited"] - 1 / yes["headcount"]
+ 1 / no["attrited"] - 1 / no["headcount"]) # log risk ratio
print("overtime:", yes["attrited"], "of", yes["headcount"], f"left ({p1:.1%})")
print("no overtime:", no["attrited"], "of", no["headcount"], f"left ({p0:.1%})")
print("risk ratio", round(rr, 2), "95% interval",
round(rr * exp(-1.96 * se), 2), "to", round(rr * exp(1.96 * se), 2))
overtime: 127 of 416 left (30.5%)
no overtime: 110 of 1054 left (10.4%)
risk ratio 2.93 95% interval 2.33 to 3.68
What it says. The delivered report's own table shows 30.5% of employees who worked overtime left, against 10.4% who did not: overtime workers left about 2.9 times as often, with a 95% interval of 2.33 to 3.68. Recomputing a headline figure from the published table is a check anyone can repeat on this report.
What it does not say. This is a raw comparison of two groups. Overtime goes with job role and level, which the report's logistic regression adjusts for; there the odds ratio for overtime is 5.97 (95% interval 4.20 to 8.55). An odds ratio is not a risk ratio and runs larger when the outcome is common, so the two figures are not meant to match. Neither is proof that overtime causes attrition.
Open the full report to see the methods the build chose and the diagnostics behind them.
Further reading on the method in the worked example. Each reference was looked up and its authors, title, year and venue confirmed on 27 October 2026.
Tell us what went wrong, in your own words. We capture the page you're on automatically, so no need to describe where you are.