Can You Design an Organization Around Employee Well-Being?

A synthetic case study using collaboration metadata, workflow data, and market-adjusted compensation to predict employee survey outcomes — and stress-test organizational changes against employee well-being, customer experience, and cost before making them.

Brian James Curry | Vector1 Research

Synthetic organization: 180 people, 8 teams, 8 quarters, 274,279 meetings, 40,576 messaging relationships, and 24,235 work items with customer ratings. Metadata only; no message content. All people, teams, and reported results are simulated. The compensation extension is specified as a production input and policy family but is not assigned an outcome effect in the original run.

Most organizations measure employee well-being with a quarterly survey and redesign the organization largely on instinct. The survey tells you that a number went down. It rarely tells you which structural feature of the organization contributed to the decline, who is carrying the burden, or what might happen if you changed the system.

Compensation is usually analyzed in a different room. Human resources compares salaries with market benchmarks. Finance models the cost of adjustments. Operations reviews productivity. Customer teams watch satisfaction scores. Each function sees one part of a system whose outcomes are coupled.

I wanted to know whether those pieces could be assembled into one decision architecture.

To test the idea without using real employee data, I built a synthetic 180-person organization operating across eight teams and eight quarters. The system reconstructs how work moves from calendar, communication, workflow, HR, compensation, and survey metadata. It predicts employee contentment, identifies where structural burden is concentrated, connects employee conditions with customer outcomes, and then stress-tests proposed changes against three questions:

  1. What happens to employees?
  2. What happens to customers?
  3. What does the change cost?

Nothing that follows is an empirical estimate from a real workforce. The coefficients and rankings belong to the simulated data-generating process. The point is to demonstrate the analytical architecture, expose its assumptions, and show how an organization could turn disconnected operational signals into better hypotheses and better-designed pilots.

Within this simulated organization, the largest employee lever and the largest customer lever were not the same. One commonly proposed intervention backfired under the scenario assumptions. The observed survey mean was 0.26 points above the known population mean because survey response was deliberately made less likely among less-content employees. The compensation extension adds a further requirement: pay cannot be interpreted from salary alone. The useful input is where each employee sits relative to a matched labor market and to comparable work inside the organization.

Step 1: Build the longitudinal panel

The system begins with one row per employee per quarter. Around that spine, it joins seven kinds of data.

The messaging extract is aggregated to relationship-level counts before it enters the analytical environment. No message body, subject line, semantic content, or sentiment score is collected. That materially reduces the privacy surface, but it does not make the data anonymous or automatically make monitoring acceptable. Relationship metadata can still reveal sensitive patterns. A real implementation requires a defined purpose, necessity and proportionality review, data minimization, worker transparency, consultation where required, and a data protection impact assessment when the processing is likely to create high risk [1].

Step 2: Turn calendars into measures of usable time

Meeting hours are the obvious calendar feature and often the weaker one. Six one-hour meetings and one six-hour meeting consume the same number of hours but produce completely different working days.

The more useful measure is the longest uninterrupted block available for focused work. Calculating it requires the full person-by-workday calendar, including days with no meetings. If the calculation starts only from meeting-attendance records, it silently drops the most important days: the ones with a full day available.

def focus_blocks(workdays, meetings, attendance):
    """Average longest in-hours meeting-free block per person-quarter."""
    cal = build_person_workday_grid(workdays)  # includes zero-meeting days
    events = attendance.merge(
        meetings[["meeting_id", "date", "start", "end"]],
        on="meeting_id",
    )

    events = events[
        (events["start"] < WORK_END) &
        (events["end"] > WORK_START)
    ].copy()
    events["start"] = events["start"].clip(lower=WORK_START)
    events["end"] = events["end"].clip(upper=WORK_END)

    gaps = longest_daily_gap(events, work_start=WORK_START, work_end=WORK_END)
    return cal.join(gaps).fillna({"longest_gap_hours": WORKDAY_HOURS}) \
              .groupby(["person_id", "quarter"])["longest_gap_hours"].mean()

In the synthetic organization, employees average 11.1 meeting hours a week and a 4.5-hour longest daily focus block. The mean is less important than the distribution. The most burdened employees are below three hours, and the burden is concentrated rather than spread evenly across the company.

The calendar layer also includes meetings per day, meeting density, recurring-meeting share, large-meeting share, after-hours meeting time, and the number of days on which no uninterrupted block exceeds two hours.

Step 3: Normalize compensation before modeling it

Raw salary is not a meaningful organizational feature. A salary of $120,000 can be above market for one role, below market for another, competitive in one city, and inadequate for a highly specialized remote labor market. Base pay also ignores bonus, commission, and equity.

The useful inputs are relative positions calculated from matched jobs and total direct compensation:

comp["total_cash"] = comp.base_pay + comp.realized_incentive
comp["total_direct_comp"] = comp.total_cash + comp.annualized_equity

comp["market_base_ratio"] = (
    comp.base_pay / comp.market_median_base
)
comp["market_tdc_ratio"] = (
    comp.total_direct_comp / comp.market_median_total_direct_comp
)
comp["band_compa_ratio"] = (
    comp.base_pay / comp.internal_band_midpoint
)

comp["real_pay_change"] = (
    comp.total_direct_comp.pct_change() - comp.inflation_rate
)
comp["market_movement_gap"] = (
    comp.total_direct_comp.pct_change() - comp.market_pay_growth
)

The external benchmark must match job family, level, geography or relevant labor market, industry where appropriate, and compensation mix. Public sources such as the U.S. Bureau of Labor Statistics Occupational Employment and Wage Statistics program provide a defensible baseline by occupation and geography, while specialized roles may require licensed compensation surveys or multiple-source triangulation [2].

I would include six compensation features in the person-quarter panel:

  • Market base-pay ratio: base salary divided by the matched market median.
  • Market total-direct-compensation ratio: salary, realized cash incentive, and annualized equity divided by the matched market median.
  • Internal compa-ratio: base salary divided by the midpoint of the employee’s internal range.
  • Pay compression: the difference between an experienced employee’s market-adjusted compensation and comparable recent hires or employees with materially less tenure.
  • Real compensation movement: year-over-year compensation growth after inflation.
  • Benchmark confidence: a score reflecting job-match quality, sample size, source age, and agreement across market sources.

Compensation should not be forced into a simple linear relationship with contentment. Research on peer-salary disclosure suggests that relative position and pay rank can matter differently above and below the comparison median [3]. A flexible model can capture that nonlinearity, but only if the benchmark is credible.

There is also a measurement problem that should be explicit. Employees do not experience a hidden compensation analyst’s benchmark. They experience what they believe comparable work is worth, whether they understand the pay system, and whether they view it as fair. The model therefore treats market position as one structural input — not as a complete measure of perceived fairness.

Step 4: Predict contentment without confusing prediction with causation

The operational model below combines four domains:

  • Time structure: meeting hours, meeting density, focus time, after-hours load.
  • Network structure: brokerage, collaboration breadth, cross-team share, reciprocity.
  • Work structure: rework, handoffs, throughput, lead time, customer exposure.
  • Employment structure: span, level, tenure, and work arrangement.

The compensation-extended design adds market-adjusted pay as a fifth domain. Because the original synthetic generator did not contain a calibrated compensation-response mechanism, I do not report a compensation importance score or intervention effect below. That distinction prevents a design requirement from being presented as a completed result.

The model is gradient boosting on a person-quarter panel. Validation follows time because the operational use case is to predict future quarters from earlier ones.

quarters = sorted(panel.quarter.unique())

train = labels[labels.quarter.isin(quarters[:-2])]
test  = labels[labels.quarter.isin(quarters[-2:])]

model = HistGradientBoostingRegressor(
    max_depth=4,
    learning_rate=0.06,
    max_iter=420,
    l2_regularization=1.0,
)
model.fit(train[FEATURES], train.contentment)

On the final two synthetic quarters:

test R2    0.617
test MAE   0.787
baseline MAE, predicting the training mean: 1.248

That is a 37% improvement in mean absolute error over the baseline. It shows that the pipeline recovers predictive structure deliberately encoded in the simulator. It does not establish that contentment would be equally predictable in a real company.

A production evaluation should add rolling-origin validation, report the number of survey labels in every split, bootstrap uncertainty by employee and team, and test generalization to held-out teams. If the intended use includes newly hired employees, it should also include person-grouped validation rather than relying solely on a future-quarter split.

Correlated features require grouped interpretation

Standard permutation importance initially suggested that meeting hours were unimportant. That result was misleading because the feature groups were strongly correlated: brokerage correlated 0.93 with collaboration breadth, and meeting hours correlated 0.96 with meetings per day.

Permuting one feature leaves much of its signal in its twin. The better comparison is to shuffle conceptually related blocks together:

GROUPS = {
    "calendar load": [
        "meeting_hours_wk", "meetings_per_day", "meeting_density",
        "focus_block_hrs"
    ],
    "boundary burden": [
        "brokerage", "cross_team_share", "collab_breadth", "threads_per_day"
    ],
    "work quality": [
        "rework_rate", "handoffs_mean", "items_per_wk"
    ],
    "compensation position": [
        "market_base_ratio", "market_tdc_ratio", "band_compa_ratio",
        "compression_gap", "real_pay_change"
    ],
    "structural": ["span", "level", "tenure_months", "work_arrangement"],
}

Grouped permutation importance still describes predictive reliance, not causal influence. For individual feature shapes, accumulated local effects are preferable to ordinary partial dependence when predictors are correlated because they reduce extrapolation into feature combinations that do not occur in the data [4].

In the original synthetic run, boundary burden contained the largest block of predictive signal. Compensation was held constant in the operational-lever comparisons below so the scenario results isolate changes in work design. In the extended model, compensation would be estimated and validated as its own feature group, then introduced as a separate budgeted policy family.

Figure 1. Model explanation from the original synthetic run. The left panel is grouped permutation importance; the response curves show model behavior, not causal effects. Because the original curves use partial dependence, their apparent thresholds should be treated as provisional until replaced with accumulated local effects and uncertainty bands.

Step 5: Look at who the organization is hard on

The collaboration graph reveals something the org chart does not.

Figure 2. Synthetic collaboration network. Color represents predicted contentment, node size represents meeting load, and clusters represent teams. These are simulated people; an equivalent production output should be aggregated and should not expose identifiable employee predictions.

Platform is the internal service team. Its members connect outward to every other team and comparatively little to one another. That is the structure that produces high brokerage, high cross-team share, high meeting load, and high rework exposure simultaneously.

The simulated Platform team averages 3.9 out of 10 against a company mean of 7.4. The compensation extension adds an essential diagnostic question: are the people carrying this concentrated integration burden also below their matched market position or compressed against comparable recent hires? The current run does not estimate that interaction, so it should be tested rather than assumed.

Nobody designed that condition directly. It emerged from several ordinary decisions: centralize integration work, route exceptions through one team, add meetings instead of changing interfaces, and allow market compensation to move faster than internal pay.

On an org chart, Platform is one box among eight. In the behavioral and compensation panel, it is a concentrated structural liability.

Step 6: Estimate what survey nonresponse could be hiding

In the simulation, survey response probability was deliberately made lower as contentment declined.

observed respondent mean     7.66
known population mean        7.40    # overstatement: 0.26
model-predicted mean         7.41

response rate by team
  Platform     49%     contentment 3.9
  Risk         65%
  Sales-Eng    69%
  Compliance   70%
  Payments     73%
  Data         74%
  Mobile       76%
  Support      81%     contentment 8.6

Under that encoded response mechanism, prediction across the full population recovers 7.41 against the known synthetic truth of 7.40.

That is useful as a simulator test, but it should not be generalized into the claim that a behavioral model solves survey nonresponse. A real organization does not observe the true scores of nonrespondents. A model trained only on respondents can inherit the same selection problem, particularly when response remains related to unobserved contentment after conditioning on metadata. Response rate alone also does not determine nonresponse bias; bias depends on whether respondents and nonrespondents differ on the quantity being estimated [5].

A production system should model response propensity explicitly, compare weighted and unweighted estimates, use doubly robust adjustment where appropriate, and run sensitivity analysis for outcome-related missingness.

The strongest practical argument is therefore narrower and more defensible:

Behavioral metadata can help identify where survey coverage is weak and generate a model-based population estimate, but the estimate remains conditional on assumptions about why people did not respond.

Step 7: Connect employee conditions to customer outcomes

Employee well-being is often treated as a standalone HR metric, which makes it easy to remove from budget discussions. The more useful question is whether employee conditions add predictive information about the work customers receive.

To avoid training the customer model on in-sample employee predictions, the contentment estimates should be generated out of fold within the training period and from a fully held-out model in the test period.

contentment_oof = cross_fitted_predictions(
    employee_model,
    employee_panel,
    time_col="quarter",
)

work_panel = work_items.join(
    contentment_oof.rename("contentment_hat"),
    on=["person_id", "quarter"],
)

csat_features = [
    "contentment_hat", "reworked", "handoffs", "lead_days"
]
csat_model.fit(train_work[csat_features], train_work.csat)

The held-out test R2 is 0.526 in the synthetic data. Within the simulated customer-outcome model, a one-point difference in predicted contentment is associated with approximately 0.3 points of CSAT on a five-point scale.

That is a predictive relationship, not proof of causal mediation. Establishing direct and indirect effects would require an explicitly defined organizational exposure, temporal ordering, adjustment for treatment-mediator and mediator-outcome confounding, and mediation sensitivity analysis [6].

The responsible conclusion is that employee conditions and customer outcomes should be evaluated together — not that this model has proven the pathway between them.

Step 8: Stress-test organizational scenarios

Each proposed change is translated into explicit feature assumptions and pushed through both predictive models. The resulting numbers depend on the fitted relationships and the scenario parameters. They are model-implied stress tests, not experimentally identified treatment effects.

def apply_operating_scenario(panel, scenario):
    g = panel.copy()

    if scenario.name == "meeting_cap":
        excess = (g.meeting_hours_wk - scenario.cap_hours).clip(lower=0)
        g["meeting_hours_wk"] -= excess
        g["focus_block_hrs"] = np.minimum(
            WORKDAY_HOURS,
            g.focus_block_hrs + scenario.focus_recovery_rate * excess,
        )

    elif scenario.name == "broker_relief":
        high = g.brokerage > g.brokerage.quantile(0.85)
        g.loc[high, "brokerage"] *= 1 - scenario.brokerage_reduction
        g.loc[high, "cross_team_share"] *= 1 - scenario.cross_team_reduction

    elif scenario.name == "headcount_cut":
        g["items_per_wk"] *= scenario.workload_multiplier
        g["span"] *= scenario.span_multiplier
        g["brokerage"] *= scenario.brokerage_multiplier

    return g

The original synthetic run produced the following point estimates:

The bottom-decile measure tracks the same employees identified at baseline. Recalculating the decile after every scenario would change the population being compared and could create misleading improvements.

Figure 3. Model-implied changes in employee contentment and customer CSAT. Marker size represents improvement for the baseline worst-off decile. These are scenario point estimates; a production version should add bootstrap intervals and annualized cost.

Four results worth sitting with

The strongest employee scenario is not the strongest customer scenario. Capping meeting load at eight hours a week produces the largest model-implied contentment gain, while the rework program produces the largest CSAT improvement. A single-objective optimizer would select a different intervention depending on which outcome it was given.

No-meeting days fail under one specific assumption. In this scenario, total meeting volume is held constant and compressed into three days. Focus blocks lengthen on protected days, but meeting density rises enough elsewhere to offset the gain. This is not evidence that no-meeting days generally fail. It shows that protecting days without reducing volume can simply move fragmentation around the week.

Mean improvement hides concentrated relief. Broker relief changes the company mean by only 0.27 points but changes the baseline bottom-decile cohort from 5.34 to 6.26. Embedding Platform produces a smaller mean change and a much larger effect for the employees carrying the integration burden.

The efficiency scenario is slightly negative on both axes. Ten percent fewer people handling the same work produces point estimates of -0.05 contentment and -0.011 CSAT. Without uncertainty intervals, these should be described as small model-implied declines — not as measured effects.

Step 9: Add compensation scenarios — and price every intervention

Compensation changes should be evaluated differently from meeting or workflow changes because they have an immediate and attributable financial cost.

The system therefore adds a third decision layer:

employee outcome  ×  customer outcome  ×  annualized cost

The compensation policy family includes at least four scenarios:

  1. Market-floor correction: move employees below a validated threshold — such as 90% of matched market total direct compensation — toward a defined floor.
  2. Compression relief: adjust experienced employees whose pay is materially compressed against comparable recent hires.
  3. Band-position correction: address employees far below the internal midpoint when the position cannot be explained by experience, scope, or other documented job factors.
  4. Market-movement protection: prevent critical job families from falling behind when external compensation grows faster than the internal salary structure.
def apply_compensation_scenario(comp, scenario):
    g = comp.copy()

    if scenario.name == "market_floor":
        target_tdc = scenario.floor_ratio * g.market_median_total_direct_comp
        g["adjustment"] = (target_tdc - g.total_direct_comp).clip(lower=0)

    elif scenario.name == "compression_relief":
        eligible = (
            (g.tenure_months >= scenario.min_tenure) &
            (g.compression_gap <= -scenario.gap_threshold)
        )
        g.loc[eligible, "adjustment"] = scenario.relief_rate * (
            -g.loc[eligible, "compression_gap"]
        )

    g["annualized_cost"] = loaded_cost(g.adjustment)
    return g

I have not assigned synthetic outcome estimates to these compensation scenarios in the original run. Doing so without adding a compensation mechanism to the generator would manufacture a result rather than test one. The correct next experiment is to encode alternative pay-response functions, rerun the simulation across many parameter settings, and report how sensitive the policy ranking is to those assumptions.

This is also where constrained optimization becomes useful. Instead of asking which change produces the largest contentment score, the organization can ask:

Which portfolio of operational and compensation changes produces the largest improvement in the baseline worst-off cohort and customer outcomes, subject to an annual budget and minimum fairness constraints?

That formulation prevents two common mistakes. It prevents compensation from becoming the unpriced answer to every organizational problem, and it prevents leaders from trying to solve below-market pay with no-meeting Fridays and better internal communication.

Guardrails are part of the system

A model that predicts individual contentment from behavioral and compensation data should make people uneasy. The constraints are not a disclaimer. They are part of the architecture.

  • Metadata only and aggregated at extraction. No message content, subject lines, sentiment analysis, or keystroke monitoring.
  • Group-level reporting with minimum cell sizes. Report by team, job family, level, or tenure band only when the group is large enough to protect individuals.
  • No performance-management use. Calendar, network, survey, and compensation features must never become an employee score used for evaluation, discipline, promotion, or termination.
  • The unit of action is a structure. “Platform carries unsustainable boundary burden and is below market” is a valid finding. “Employee P0043 is a burnout or flight risk” is not an acceptable output.
  • Compensation data stays in a restricted layer. Individual pay should be accessible only to authorized compensation and analytics personnel, with aggregate outputs released to decision makers.
  • Market benchmarks retain provenance. Every comparison should record its source, effective date, job match, geography, sample quality, and uncertainty.
  • Fairness auditing is separate from operational prediction. Protected attributes may be required for a controlled pay-equity audit, depending on jurisdiction and legal review, but they should not casually flow into an operational contentment model.
  • Worker consultation and impact assessment happen before extraction. Aggregated metadata reduces risk; it does not remove the need for governance.

There is an unavoidable tension here. The same architecture that can show an executive team that its integration function is being quietly damaged is one schema change away from an individual burnout, dissatisfaction, or flight-risk score. The difference is governance rather than mathematics. Governance therefore has to be technically enforced and independently audited.

What the model does not establish

The organizational scenarios are feature interventions on models fitted to observational synthetic data. They assume the learned relationship remains stable when the feature is changed. That is precisely where Goodhart’s law, feedback, adaptation, and unmeasured confounding enter.

Compensation creates additional endogeneity. Pay reflects level, performance history, scarcity, negotiation, promotion timing, geography, and organizational power. A market-pay ratio can be predictively useful without identifying what would happen if compensation changed.

Contentment is also represented by a single survey scale. Real employee experience is multidimensional. Management quality, psychological safety, career progression, job security, purpose, autonomy, benefits, health, caregiving demands, discrimination, and interpersonal conflict are only partially visible — or completely invisible — in digital exhaust.

The architecture should therefore be used to prioritize hypotheses and design pilots, not to declare that a modeled intervention will work.

How to turn the synthetic case into a validation study

Synthetic data offers one advantage that real organizational data cannot: known causal truth.

The next version should intervene directly in the data-generating process, produce the true post-intervention outcomes, and compare them with the predictive model’s estimates across many simulated organizations. The evaluation would report:

  • bias in the estimated effect of each intervention;
  • confidence-interval coverage;
  • accuracy of the intervention ranking;
  • policy regret from selecting the wrong intervention;
  • sensitivity to different compensation-response functions;
  • sensitivity to survey-missingness mechanisms;
  • generalization across held-out teams, quarters, and organizational structures.

In a real company, the final step would be a staged pilot. The model proposes where to test. Randomized or staggered implementation, difference-in-differences, synthetic controls, or other appropriate quasi-experimental designs estimate what the change actually did.

The simulation does not replace the experiment. It makes the experiment more intelligent.


Organizations already possess data that can reveal part of the structural burden created by meetings, boundary-spanning work, rework, handoffs, managerial design, and compensation that has drifted away from the labor market.

Those signals are not a substitute for employee voice, and predictive models do not convert observational metadata into causal truth. Used with surveys, compensation expertise, strong governance, sensitivity analysis, and controlled pilots, however, they can produce better hypotheses about where an organization is imposing unnecessary costs on employees and customers.

Build the longitudinal panel. Normalize compensation against credible internal and external comparisons. Model predictive associations. Expose concentrated burden. Put employee, customer, and cost outcomes on the same decision surface. Then use the model to design the pilot capable of proving it wrong.

That is how employee well-being becomes more than a quarterly score. It becomes a design constraint on the organization itself.

References

[1] Information Commissioner’s Office. “Data protection and monitoring workers.” https://ico.org.uk/for-organisations/uk-gdpr-guidance-and-resources/employment/monitoring-workers/data-protection-and-monitoring-workers/

[2] U.S. Bureau of Labor Statistics. “Occupational Employment and Wage Statistics.” https://www.bls.gov/oes/

[3] Card, D., Mas, A., Moretti, E., and Saez, E. “Inequality at Work: The Effect of Peer Salaries on Job Satisfaction.” American Economic Review, 2012, 102(6), 2981–3003. https://www.aeaweb.org/articles?id=10.1257/aer.102.6.2981

[4] Apley, D. W., and Zhu, J. “Visualizing the Effects of Predictor Variables in Black Box Supervised Learning Models.” Journal of the Royal Statistical Society: Series B, 2020, 82(4), 1059–1086. https://doi.org/10.1111/rssb.12377

[5] Groves, R. M., and Peytcheva, E. “The Impact of Nonresponse Rates on Nonresponse Bias: A Meta-Analysis.” Public Opinion Quarterly, 2008, 72(2), 167–189. https://doi.org/10.1093/poq/nfn011

[6] VanderWeele, T. J. “Mediation Analysis: A Practitioner’s Guide.” Annual Review of Public Health, 2016, 37, 17–32. https://doi.org/10.1146/annurev-publhealth-032315-021402

About the Author

Brian Curry is an applied machine learning researcher, data scientist, and founder of Vector1 Research, an independent research and development initiative based in Kansas City. His work sits at the intersection of causal inference, intelligent decision systems, cognitive AI, economic modeling, and complex-systems simulation. He develops frameworks that move beyond prediction toward causal understanding, counterfactual reasoning, and decision optimization.

His research includes Memory-Node Encapsulation (MNE), a proposed data structure for artificial episodic memory, and NeoCortex-M, an architecture for memory-driven AI. He created Papilon, a research framework for causal media modeling, complex-system optimization, and agentic orchestration; PyCausalSim, an open-source Python framework for simulation-driven causal discovery and counterfactual analysis; and Daedalus, a platform for causal and economic modeling.

Drawing on more than 20 years across analytics, marketing, product, and technology, his applied work spans Bayesian marketing measurement, experimentation, forecasting, optimization, AI-enabled decision systems, and cloud MLOps. He writes about his research and practitioner work at Vector1 Research and on Medium.

Related research