From open-science-skills
Designs conjoint and factorial vignette experiments: selects/structures attributes and levels, conducts power analysis, chooses variants, writes regression specs, drafts pre-analysis plans.
npx claudepluginhub scdenney/open-science-skills --plugin open-science-skillsThis skill uses the workspace's default tool permissions.
- **Orthogonality:** Ensure every attribute is independent of every other attribute to allow for the estimation of causal effects for each component.
Systematic diagnostic checklist for evaluating choice-based conjoint experiments. Use when (1) reviewing a conjoint paper or manuscript, (2) auditing a conjoint analysis script or dataset, (3) assessing measurement error and IRR in conjoint data, (4) evaluating external validity of a conjoint design, or (5) checking interpretation of AMCEs, marginal means, and interaction effects. Covers design, estimation, measurement error correction, external validity, and reporting.
Generates factorial, response surface, and Taguchi experimental designs to optimize multi-factor systems with minimal runs. Useful for screening variables, discovering interactions, A/B/n testing, parameter tuning.
Designs controlled experiments (A/B, multivariate, quasi) with hypothesis, success metrics, sample size, and statistical power. For validating features via /design-experiment or phrases like 'design experiment'.
Share bugs, ideas, or general feedback.
cjpowR R package (Freitag 2021) or the associated Shiny app for simulation-based power analysis. These allow specification of the number of attributes, levels, tasks, and profiles, and return power curves for main effects and interactions. For interaction analysis, use FindIt (Egami and Imai 2019). For heterogeneity detection, use cjbart (Robinson and Duch 2024). For lexicographic preference ranking, use cjRank (Dill, Howlett, and Müller-Crepon 2024).projoint R package. This is a design decision — it cannot be retrofitted after data collection.FindIt R package (CausalANOVA()), which simultaneously handles the high-dimensionality problem (even a modest conjoint with 5 attributes and 4 levels each generates 100+ interaction parameters) through regularization that shrinks weak interactions toward zero and collapses adjacent levels with similar effects (Egami and Imai 2019). Note: the AMIE framework applies to interactions between randomized conjoint attributes, not to interactions between attributes and non-randomized respondent characteristics (subgroup moderators).cjbart R package (Robinson and Duch 2024), which fits a probit BART model to estimate Individual-level Marginal Component Effects (IMCEs) -- each respondent's predicted effect for each attribute level. The method introduces a three-level estimand hierarchy: OMCE (observation-level) → IMCE (individual-level, averaged across tasks) → AMCE (population-level, averaged across respondents). The IMCE distribution is the primary heterogeneity diagnostic: a tight, normal distribution centered on the AMCE suggests homogeneous effects; multimodal, skewed, or widely dispersed distributions (especially spanning both sides of zero) indicate substantive heterogeneity. Use het_vimp() to identify which respondent covariates most strongly partition the IMCE distribution via random forest variable importance scores. BART-based heterogeneity detection is exploratory by default and should be labeled as such unless moderators and directions were pre-registered (Robinson and Duch 2024).cjRank R package.FindIt::CausalANOVA() with nway=2 (or nway=3) to estimate AMIEs via penalized ANOVA with weighted zero-sum constraints. Use cv.CausalANOVA() to select the regularization cost parameter (1-SE rule). Decompose specific combination effects with AMIE(). Present as AMIE matrices across factor-level combinations (Egami and Imai 2019). Do not use conventional dummy-coded product terms.cjbart::cjbart() to fit a probit BART model, then IMCE() to extract individual-level effects with credible intervals. Report the AMCE alongside the IMCE standard deviation as the primary heterogeneity diagnostic. Use het_vimp() to identify moderator covariates. Works reliably with 500+ respondents (Robinson and Duch 2024).