← All Use Cases
🏋
Central Composite Design

Ergonomic Workstation Setup

Central composite design to minimize discomfort and maximize productivity by tuning desk height, monitor distance, chair angle, and break frequency

Summary

This experiment investigates ergonomic workstation setup. Central composite design to minimize discomfort and maximize productivity by tuning desk height, monitor distance, chair angle, and break frequency.

The design varies 4 factors: desk height cm (cm), ranging from 65 to 80, monitor dist cm (cm), ranging from 50 to 80, chair recline deg (deg), ranging from 90 to 115, and break freq min (min), ranging from 25 to 90. The goal is to optimize 2 responses: comfort score (pts) (maximize) and productivity pct (%) (maximize). Fixed conditions held constant across all runs include monitor size = 27in, chair type = ergonomic.

A Central Composite Design (CCD) was selected to fit a full quadratic response surface model, including curvature and interaction effects. With 4 factors this produces 32 runs including center points and axial (star) points that extend beyond the factorial range.

Quadratic response surface models were fitted to capture potential curvature and factor interactions. The RSM contour plots below visualize how pairs of factors jointly affect each response.

Key Findings

For comfort score, the most influential factors were break freq min (34.2%), chair recline deg (25.3%), desk height cm (20.9%). The best observed value was 7.4 (at desk height cm = 72.5, monitor dist cm = 32.1366, chair recline deg = 102.5).

For productivity pct, the most influential factors were chair recline deg (28.9%), monitor dist cm (26.8%), break freq min (26.8%). The best observed value was 100.0 (at desk height cm = 72.5, monitor dist cm = 32.1366, chair recline deg = 102.5).

Recommended Next Steps

Experimental Setup

Factors

FactorLowHighUnit
desk_height_cm6580cm
monitor_dist_cm5080cm
chair_recline_deg90115deg
break_freq_min2590min

Fixed: monitor_size = 27in, chair_type = ergonomic

Responses

ResponseDirectionUnit
comfort_score↑ maximizepts
productivity_pct↑ maximize%

Configuration

use_cases/111_ergonomic_workstation/config.json
{ "metadata": { "name": "Ergonomic Workstation Setup", "description": "Central composite design to minimize discomfort and maximize productivity by tuning desk height, monitor distance, chair angle, and break frequency" }, "factors": [ { "name": "desk_height_cm", "levels": [ "65", "80" ], "type": "continuous", "unit": "cm" }, { "name": "monitor_dist_cm", "levels": [ "50", "80" ], "type": "continuous", "unit": "cm" }, { "name": "chair_recline_deg", "levels": [ "90", "115" ], "type": "continuous", "unit": "deg" }, { "name": "break_freq_min", "levels": [ "25", "90" ], "type": "continuous", "unit": "min" } ], "fixed_factors": { "monitor_size": "27in", "chair_type": "ergonomic" }, "responses": [ { "name": "comfort_score", "optimize": "maximize", "unit": "pts" }, { "name": "productivity_pct", "optimize": "maximize", "unit": "%" } ], "settings": { "operation": "central_composite", "test_script": "use_cases/111_ergonomic_workstation/sim.sh" } }

Experimental Matrix

The Central Composite Design produces 32 runs. Each row is one experiment with specific factor settings.

Rundesk_height_cmmonitor_dist_cmchair_recline_degbreak_freq_min
172.565102.5-13.7039
265809090
3805011525
4808011590
572.565129.88657.5
6805011590
772.532.1366102.557.5
8658011525
972.565102.557.5
1080809025
1172.565102.557.5
1280509090
1372.565102.557.5
14808011525
1572.56575.113957.5
1656.068365102.557.5
1772.565102.557.5
1865509090
1980809090
2072.565102.557.5
21655011525
2272.565102.557.5
2388.931765102.557.5
24655011590
2572.565102.557.5
2665809025
2772.565102.5128.704
2872.565102.557.5
2980509025
3072.597.8634102.557.5
3165509025
32658011590

Step-by-Step Workflow

1

Preview the design

Terminal
$ doe info --config use_cases/111_ergonomic_workstation/config.json
2

Generate the runner script

Terminal
$ doe generate --config use_cases/111_ergonomic_workstation/config.json \ --output use_cases/111_ergonomic_workstation/results/run.sh --seed 42
3

Execute the experiments

Terminal
$ bash use_cases/111_ergonomic_workstation/results/run.sh
4

Analyze results

Terminal
$ doe analyze --config use_cases/111_ergonomic_workstation/config.json
5

Get optimization recommendations

Terminal
$ doe optimize --config use_cases/111_ergonomic_workstation/config.json
6

Multi-objective optimization

With 2 competing responses, use --multi to find the best compromise via Derringer–Suich desirability.

Terminal
$ doe optimize --config use_cases/111_ergonomic_workstation/config.json --multi
7

Generate the HTML report

Terminal
$ doe report --config use_cases/111_ergonomic_workstation/config.json \ --output use_cases/111_ergonomic_workstation/results/report.html

Features Exercised

FeatureValue
Design typecentral_composite
Factor typescontinuous (all 4)
Arg styledouble-dash
Responses2 (comfort_score ↑, productivity_pct ↑)
Total runs32

Analysis Results

Generated from actual experiment runs using the DOE Helper Tool.

Response: comfort_score

Top factors: break_freq_min (34.2%), chair_recline_deg (25.3%), desk_height_cm (20.9%).

ANOVA

SourceDFSSMSFp-value
SourceDFSSMSFp-value
desk_height_cm45.43251.35810.9260.4749
monitor_dist_cm44.23361.05840.7210.5906
chair_recline_deg45.52251.38060.9410.4671
break_freq_min427.77366.94344.7330.0114
LackofFit813.70111.7126
PureError710.2688
Error1523.96991.4670
Total3166.93222.1591

Pareto Chart

Pareto chart for comfort_score

Main Effects Plot

Main effects plot for comfort_score

Normal Probability Plot of Effects

Normal probability plot for comfort_score

Half-Normal Plot of Effects

Half-normal plot for comfort_score

Model Diagnostics

Model diagnostics for comfort_score

Response: productivity_pct

Top factors: chair_recline_deg (28.9%), monitor_dist_cm (26.8%), break_freq_min (26.8%).

ANOVA

SourceDFSSMSFp-value
SourceDFSSMSFp-value
desk_height_cm457.946414.48662.5430.0830
monitor_dist_cm470.517917.62953.0950.0481
chair_recline_deg492.767923.19204.0710.0198
break_freq_min4147.946436.98666.4930.0031
LackofFit89.82141.2277
PureError739.8750
Error1549.69645.6964
Total31418.875013.5121

Pareto Chart

Pareto chart for productivity_pct

Main Effects Plot

Main effects plot for productivity_pct

Normal Probability Plot of Effects

Normal probability plot for productivity_pct

Half-Normal Plot of Effects

Half-normal plot for productivity_pct

Model Diagnostics

Model diagnostics for productivity_pct

Response Surface Plots

3D surfaces fitted with quadratic RSM. Red dots are observed data points.

comfort score chair recline deg vs break freq min

RSM surface: comfort score chair recline deg vs break freq min

comfort score desk height cm vs break freq min

RSM surface: comfort score desk height cm vs break freq min

comfort score desk height cm vs chair recline deg

RSM surface: comfort score desk height cm vs chair recline deg

comfort score desk height cm vs monitor dist cm

RSM surface: comfort score desk height cm vs monitor dist cm

comfort score monitor dist cm vs break freq min

RSM surface: comfort score monitor dist cm vs break freq min

comfort score monitor dist cm vs chair recline deg

RSM surface: comfort score monitor dist cm vs chair recline deg

productivity pct chair recline deg vs break freq min

RSM surface: productivity pct chair recline deg vs break freq min

productivity pct desk height cm vs break freq min

RSM surface: productivity pct desk height cm vs break freq min

productivity pct desk height cm vs chair recline deg

RSM surface: productivity pct desk height cm vs chair recline deg

productivity pct desk height cm vs monitor dist cm

RSM surface: productivity pct desk height cm vs monitor dist cm

productivity pct monitor dist cm vs break freq min

RSM surface: productivity pct monitor dist cm vs break freq min

productivity pct monitor dist cm vs chair recline deg

RSM surface: productivity pct monitor dist cm vs chair recline deg

Multi-Objective Optimization

When responses compete, Derringer–Suich desirability finds the best compromise. Each response is scaled to a 0–1 desirability, then combined via a weighted geometric mean.

Overall Desirability
D = 0.9545

Per-Response Desirability

ResponseWeightDesirabilityPredictedDir
comfort_score 1.5
0.9545
7.40 0.9545 7.40 pts
productivity_pct 1.5
0.9545
100.00 0.9545 100.00 %

Recommended Settings

FactorValue
desk_height_cm88.9317 cm
monitor_dist_cm65 cm
chair_recline_deg102.5 deg
break_freq_min57.5 min

Source: from observed run #1

Trade-off Summary

Sacrifice = how much worse than single-objective best.

ResponsePredictedBest ObservedSacrifice
productivity_pct100.00100.00+0.00

Top 3 Runs by Desirability

RunDFactor Settings
#140.7946desk_height_cm=72.5, monitor_dist_cm=65, chair_recline_deg=75.1139, break_freq_min=57.5
#50.7466desk_height_cm=65, monitor_dist_cm=50, chair_recline_deg=115, break_freq_min=25

Model Quality

ResponseType
productivity_pct0.0843linear

Full Multi-Objective Output

doe optimize --multi
============================================================ MULTI-OBJECTIVE OPTIMIZATION Method: Derringer-Suich Desirability Function ============================================================ Overall desirability: D = 0.9545 Response Weight Desirability Predicted Direction --------------------------------------------------------------------- comfort_score 1.5 0.9545 7.40 pts ↑ productivity_pct 1.5 0.9545 100.00 % ↑ Recommended settings: desk_height_cm = 88.9317 cm monitor_dist_cm = 65 cm chair_recline_deg = 102.5 deg break_freq_min = 57.5 min (from observed run #1) Trade-off summary: comfort_score: 7.40 (best observed: 7.40, sacrifice: +0.00) productivity_pct: 100.00 (best observed: 100.00, sacrifice: +0.00) Model quality: comfort_score: R² = 0.0225 (linear) productivity_pct: R² = 0.0843 (linear) Top 3 observed runs by overall desirability: 1. Run #1 (D=0.9545): desk_height_cm=88.9317, monitor_dist_cm=65, chair_recline_deg=102.5, break_freq_min=57.5 2. Run #14 (D=0.7946): desk_height_cm=72.5, monitor_dist_cm=65, chair_recline_deg=75.1139, break_freq_min=57.5 3. Run #5 (D=0.7466): desk_height_cm=65, monitor_dist_cm=50, chair_recline_deg=115, break_freq_min=25

Full Analysis Output

doe analyze
=== Main Effects: comfort_score === Factor Effect Std Error % Contribution -------------------------------------------------------------- break_freq_min 2.9750 0.2598 34.2% chair_recline_deg 2.2000 0.2598 25.3% desk_height_cm 1.8125 0.2598 20.9% monitor_dist_cm 1.7000 0.2598 19.6% === ANOVA Table: comfort_score === Source DF SS MS F p-value ----------------------------------------------------------------------------- desk_height_cm 4 5.4325 1.3581 0.926 0.4749 monitor_dist_cm 4 4.2336 1.0584 0.721 0.5906 chair_recline_deg 4 5.5225 1.3806 0.941 0.4671 break_freq_min 4 27.7736 6.9434 4.733 0.0114 Lack of Fit 8 13.7011 1.7126 1.167 0.4256 Pure Error 7 10.2688 1.4670 Error 15 23.9699 1.4670 Total 31 66.9322 2.1591 === Summary Statistics: comfort_score === desk_height_cm: Level N Mean Std Min Max ------------------------------------------------------------ 56.0683 1 6.1000 0.0000 6.1000 6.1000 65 8 4.6375 1.9257 1.6000 7.4000 72.5 14 4.9357 1.2744 2.5000 6.2000 80 8 4.2875 1.4357 2.7000 6.2000 88.9317 1 5.9000 0.0000 5.9000 5.9000 monitor_dist_cm: Level N Mean Std Min Max ------------------------------------------------------------ 32.1366 1 5.3000 0.0000 5.3000 5.3000 50 8 4.5250 1.3014 2.8000 6.2000 65 14 4.9786 1.2974 2.5000 6.2000 80 8 4.4000 2.0340 1.6000 7.4000 97.8634 1 6.1000 0.0000 6.1000 6.1000 chair_recline_deg: Level N Mean Std Min Max ------------------------------------------------------------ 102.5 14 5.0643 1.2616 2.5000 6.1000 115 8 4.3625 1.9690 1.6000 7.4000 129.886 1 6.2000 0.0000 6.2000 6.2000 75.1139 1 4.0000 0.0000 4.0000 4.0000 90 8 4.5625 1.3928 2.2000 6.2000 break_freq_min: Level N Mean Std Min Max ------------------------------------------------------------ -13.7039 1 2.5000 0.0000 2.5000 2.5000 128.704 1 4.1000 0.0000 4.1000 4.1000 25 8 3.4500 1.4619 1.6000 5.7000 57.5 14 5.3214 1.0628 2.9000 6.2000 90 8 5.4750 1.1659 3.7000 7.4000 === Main Effects: productivity_pct === Factor Effect Std Error % Contribution -------------------------------------------------------------- chair_recline_deg 7.0000 0.6498 28.9% monitor_dist_cm 6.5000 0.6498 26.8% break_freq_min 6.5000 0.6498 26.8% desk_height_cm 4.2500 0.6498 17.5% === ANOVA Table: productivity_pct === Source DF SS MS F p-value ----------------------------------------------------------------------------- desk_height_cm 4 57.9464 14.4866 2.543 0.0830 monitor_dist_cm 4 70.5179 17.6295 3.095 0.0481 chair_recline_deg 4 92.7679 23.1920 4.071 0.0198 break_freq_min 4 147.9464 36.9866 6.493 0.0031 Lack of Fit 8 9.8214 1.2277 0.216 0.9767 Pure Error 7 39.8750 5.6964 Error 15 49.6964 5.6964 Total 31 418.8750 13.5121 === Summary Statistics: productivity_pct === desk_height_cm: Level N Mean Std Min Max ------------------------------------------------------------ 56.0683 1 96.0000 0.0000 96.0000 96.0000 65 8 91.7500 5.0920 84.0000 100.0000 72.5 14 94.4286 2.5933 89.0000 98.0000 80 8 92.0000 3.6253 87.0000 97.0000 88.9317 1 94.0000 0.0000 94.0000 94.0000 monitor_dist_cm: Level N Mean Std Min Max ------------------------------------------------------------ 32.1366 1 94.0000 0.0000 94.0000 94.0000 50 8 92.2500 3.0119 87.0000 96.0000 65 14 94.2857 2.4315 89.0000 97.0000 80 8 91.5000 5.4511 84.0000 100.0000 97.8634 1 98.0000 0.0000 98.0000 98.0000 chair_recline_deg: Level N Mean Std Min Max ------------------------------------------------------------ 102.5 14 94.7857 2.0821 89.0000 98.0000 115 8 92.3750 5.2898 84.0000 100.0000 129.886 1 96.0000 0.0000 96.0000 96.0000 75.1139 1 89.0000 0.0000 89.0000 89.0000 90 8 91.3750 3.2486 86.0000 96.0000 break_freq_min: Level N Mean Std Min Max ------------------------------------------------------------ -13.7039 1 96.0000 0.0000 96.0000 96.0000 128.704 1 94.0000 0.0000 94.0000 94.0000 25 8 89.5000 3.5051 84.0000 94.0000 57.5 14 94.4286 2.5933 89.0000 98.0000 90 8 94.2500 3.7321 88.0000 100.0000

Optimization Recommendations

doe optimize
=== Optimization: comfort_score === Direction: maximize Best observed run: #1 desk_height_cm = 72.5 monitor_dist_cm = 32.1366 chair_recline_deg = 102.5 break_freq_min = 57.5 Value: 7.4 RSM Model (linear, R² = 0.0803, Adj R² = -0.0559): Coefficients: intercept +4.7656 desk_height_cm +0.1682 monitor_dist_cm -0.2326 chair_recline_deg -0.0800 break_freq_min -0.3483 RSM Model (quadratic, R² = 0.3420, Adj R² = -0.1999): Coefficients: intercept +4.9793 desk_height_cm +0.1682 monitor_dist_cm -0.2326 chair_recline_deg -0.0800 break_freq_min -0.3483 desk_height_cm*monitor_dist_cm -0.1375 desk_height_cm*chair_recline_deg +0.1000 desk_height_cm*break_freq_min -0.1000 monitor_dist_cm*chair_recline_deg +0.5625 monitor_dist_cm*break_freq_min +0.6125 chair_recline_deg*break_freq_min -0.2000 desk_height_cm^2 -0.1892 monitor_dist_cm^2 +0.2067 chair_recline_deg^2 -0.1579 break_freq_min^2 -0.1267 Curvature analysis: monitor_dist_cm coef=+0.2067 convex (has a minimum) desk_height_cm coef=-0.1892 concave (has a maximum) chair_recline_deg coef=-0.1579 concave (has a maximum) break_freq_min coef=-0.1267 concave (has a maximum) Notable interactions: monitor_dist_cm*break_freq_min coef=+0.6125 (synergistic) monitor_dist_cm*chair_recline_deg coef=+0.5625 (synergistic) Predicted optimum (from linear model, at observed points): desk_height_cm = 80 monitor_dist_cm = 50 chair_recline_deg = 90 break_freq_min = 25 Predicted value: 5.5946 Surface optimum (via L-BFGS-B, linear model): desk_height_cm = 80 monitor_dist_cm = 50 chair_recline_deg = 90 break_freq_min = 25 Predicted value: 5.5946 Model quality: Weak fit — consider adding center points or using a different design. Factor importance: 1. desk_height_cm (effect: 3.7, contribution: 35.4%) 2. monitor_dist_cm (effect: 2.9, contribution: 27.7%) 3. break_freq_min (effect: 2.7, contribution: 25.8%) 4. chair_recline_deg (effect: 1.2, contribution: 11.1%) === Optimization: productivity_pct === Direction: maximize Best observed run: #1 desk_height_cm = 72.5 monitor_dist_cm = 32.1366 chair_recline_deg = 102.5 break_freq_min = 57.5 Value: 100.0 RSM Model (linear, R² = 0.1402, Adj R² = 0.0129): Coefficients: intercept +93.1875 desk_height_cm +0.7386 monitor_dist_cm -0.5192 chair_recline_deg -0.4521 break_freq_min -1.1293 RSM Model (quadratic, R² = 0.4573, Adj R² = 0.0103): Coefficients: intercept +93.6193 desk_height_cm +0.7386 monitor_dist_cm -0.5192 chair_recline_deg -0.4521 break_freq_min -1.1293 desk_height_cm*monitor_dist_cm +0.1875 desk_height_cm*chair_recline_deg +1.0625 desk_height_cm*break_freq_min -0.5625 monitor_dist_cm*chair_recline_deg +1.8125 monitor_dist_cm*break_freq_min +1.1875 chair_recline_deg*break_freq_min -1.1875 desk_height_cm^2 -0.4214 monitor_dist_cm^2 +0.2036 chair_recline_deg^2 -0.1089 break_freq_min^2 -0.2131 Curvature analysis: desk_height_cm coef=-0.4214 concave (has a maximum) break_freq_min coef=-0.2131 concave (has a maximum) monitor_dist_cm coef=+0.2036 convex (has a minimum) chair_recline_deg coef=-0.1089 concave (has a maximum) Notable interactions: monitor_dist_cm*chair_recline_deg coef=+1.8125 (synergistic) monitor_dist_cm*break_freq_min coef=+1.1875 (synergistic) chair_recline_deg*break_freq_min coef=-1.1875 (antagonistic) desk_height_cm*chair_recline_deg coef=+1.0625 (synergistic) desk_height_cm*break_freq_min coef=-0.5625 (antagonistic) Predicted optimum (from linear model, at observed points): desk_height_cm = 80 monitor_dist_cm = 50 chair_recline_deg = 90 break_freq_min = 25 Predicted value: 96.0266 Surface optimum (via L-BFGS-B, linear model): desk_height_cm = 80 monitor_dist_cm = 50 chair_recline_deg = 90 break_freq_min = 25 Predicted value: 96.0266 Model quality: Weak fit — consider adding center points or using a different design. Factor importance: 1. monitor_dist_cm (effect: 12.0, contribution: 34.3%) 2. desk_height_cm (effect: 10.0, contribution: 28.6%) 3. break_freq_min (effect: 10.0, contribution: 28.6%) 4. chair_recline_deg (effect: 3.0, contribution: 8.6%)
← Previous: Meditation Routine Effectiveness All Use Cases →