ds@mcpanalytics.aiEmail your data and your question and get an answer about your own data, with the method shown.Email your data and question. Get an answer.
People & HR analytics: worked examples | MCP Analytics
Industry

People & HR

By MCP Analytics Team | Published , updated

Churn in SaaS and readmission in healthcare are both questions of how long until something happens, so the same survival methods often apply. The vocabulary and the traps differ.

See a worked example

How the analyses here work

People & HR: prebuilt analyses

No prebuilt analysis is filed under People & HR yet. Most library analyses carry no industry and work on data from any field: browse the whole library, or see the commissioned studies below.

Commissioned for this industry

Studies our own team commissioned from the build pipeline on public datasets, each starting from a plain-language question in this field. Each card opens the delivered report.

Worked example

Did the same employees score higher after training than before?

Whether training moved scores is a common people-analytics question. This runs on the library's sample before-and-after scores for employees.

The data. standard_paired_comparison_v2.csv, the published sample file for Paired comparison: 120 rows; columns Employee ID, Team, Score Before, Score After, Passed Before, Passed After. Sample data, not a customer's.

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 csv, statistics as st
rows = list(csv.DictReader(open("standard_paired_comparison_v2.csv")))
diffs = [float(r["Score After"]) - float(r["Score Before"])
         for r in rows if r["Score Before"] and r["Score After"]]
k = len(diffs)
m, se = st.mean(diffs), st.stdev(diffs) / k ** 0.5
t = 1.98  # t critical value, 95%, about 117 degrees of freedom
print(k, "complete pairs of", len(rows), "rows")
print("mean change", round(m, 2), "points, 95% interval",
      round(m - t * se, 2), "to", round(m + t * se, 2))
print(sum(x > 0 for x in diffs), "improved,",
      sum(x == 0 for x in diffs), "unchanged,",
      sum(x < 0 for x in diffs), "declined")
118 complete pairs of 120 rows
mean change 3.29 points, 95% interval 1.93 to 4.66
73 improved, 1 unchanged, 44 declined

What it says. Across 118 employees with both scores, the average change is +3.29 points, with a 95% interval of 1.93 to 4.66. Because each person is compared with themselves, differences between people drop out, which is why a paired design usually needs fewer people than comparing two separate groups.

What it does not say. 44 of 118 people still scored lower afterwards: an average gain is not a gain for everyone. Without a group that skipped the training, this shows change, not what the training caused. 2 rows missing a score were dropped.

Run Paired comparison on this file or your own, or open its stored sample report.

Sources

Further reading on the method in the worked example. Each reference was looked up and its authors, title, year and venue confirmed between 27 October 2026 and 29 October 2026.

  1. Student (1908). The Probable Error of a Mean. Biometrika. https://doi.org/10.2307/2331554
  2. Wilcoxon F (1945). Individual Comparisons by Ranking Methods. Biometrics Bulletin, vol. 1, no. 6, pp. 80-83. https://doi.org/10.2307/3001968

By MCP Analytics Team. Updated November 2026. Analysis list from the library catalog.