Basic Conjoint Analysis

Choice Analysis Full Version →

Understand how categorical product attributes drive consumer choice. Upload choice-based conjoint (CBC) data, estimate part-worth utilities, simulate market shares, and find optimal product configurations — all in pure JavaScript, right in your browser.

Privacy: All estimation runs entirely in your browser. Your data never leaves your device.

1 ✓
Upload Data
2 ✓
Configure
3 ✓
Estimate & Analyze
4 ✓
Simulate

👨‍🏫 Professor Mode: Guided Learning Experience

New to conjoint analysis? Enable Professor Mode for step-by-step guidance through CBC estimation and market simulation!

OVERVIEW & WHAT THIS TOOL SOLVES

When you ask customers in a standard survey which product features they want, they rate every feature "high importance" and demand the lowest price—giving you no idea what to prioritize. Basic Choice-Based Conjoint (CBC) forces realistic trade-offs by presenting side-by-side product profiles and estimating individual-level part-worth utilities for categorical attributes right in your browser, so you can see which attributes truly drive choice and simulate market shares before launch.

🎯 Questions It Answers

  • Which product attribute (e.g., price tier, brand, feature level, or warranty) has the largest impact on customer choice?
  • Which specific level within each attribute adds the most preference utility over your chosen baseline reference option?
  • If we launch our configuration against competitors, what market share will each capture — and how many customers will simply walk away ("Would Not Buy Any")?

📂 What Data You Need

  • Choice-Task CSV: Long-format table with Respondent ID, Task ID, Alternative ID, categorical attribute columns, and a 0/1 Chosen indicator.
  • Optional "None" Alternative: Supports both forced-choice studies and tasks with a None ("Would not buy any") outside option.
  • Need Continuous Curves / WTP / K-Means? Switch to the Full Conjoint Tool for continuous/quadratic price, dollar WTP, segmentation, and profit simulation.

💡 What You'll Discover

  • Attribute Importance Ranking: Side-by-side comparison of Mean Individual Importance vs. Average-Utility Importance.
  • Part-Worth Utilities & Walk-Away Hurdle: Individual and sample-average preference utilities plus the ASC_None buy/no-buy threshold.
  • Interactive Market Simulator: Live multinomial logit share predictions showing both product switching and total category expansion/walk-away rates.
🔍 Key Nuances & Basic vs. Full Conjoint Comparison
  • Why the "None / Would Not Buy" Option Matters: Without an outside option, every simulated scenario forces 100% of respondents to buy something—even if every product on the shelf is overpriced. Including a None alternative estimates each respondent's walk-away utility threshold (ASC_None), letting you separate competitor share-stealing from category abandonment.
  • How Attribute Importance Is Calculated: Mean individual importance computes each respondent's utility range (max minus min level) per attribute and normalizes to 100% before averaging across the sample (matching the Full Conjoint Tool). We also show Importance of Average Utilities so you can spot when opposing tastes cancel out on average.
  • Reference Level Coding: Each attribute designates one level as the baseline reference (utility = 0), which you can change in Step 2. Numeric and currency levels are automatically sorted in natural ascending order.
  • Exact Parity with Full Conjoint: When given the same categorical specification, reference levels, and L2 regularization (λ = 0.1), this tool produces the exact same MNL utilities, importances, and simulated market shares as the Full Conjoint Tool.
📐 Under the Hood: Model Equations & Variable Definitions
1. Part-Worth Utility, Outside Option (ASC_None), Multinomial Logit Choice Probability & L2-Regularized Estimation
\[ U_{jt} = \beta_{\text{None}} \cdot \mathbb{1}[j = \text{None}] + \sum_{a \in \text{attributes}} \sum_{\ell \neq \text{ref}(a)} \beta_{a,\ell} \cdot \mathbb{1}[\text{level}_{jt}(a) = \ell], \qquad P(\text{choose } j \mid t) = \frac{\exp(U_{jt})}{\sum_{k} \exp(U_{kt})} \] \[ \max_{\boldsymbol{\beta}} \;\; \sum_{t} \sum_{j} y_{jt} \cdot \log P(\text{choose } j \mid t) \;-\; \lambda \lVert \boldsymbol{\beta}_{\text{attr}} \rVert^2 \]
💬 Read it in plain English: A product profile's total utility (Ujt) is the sum of the preference scores (βa,ℓ) for its active attribute levels relative to each attribute's reference baseline (0), while the "None / Would Not Buy" option has utility βNone (ASC_None). The softmax formula converts utilities into choice probabilities, and L2 ridge regularization (λ) stabilizes attribute part-worths while leaving the walk-away intercept unpenalized.
Ujt
Total Profile Utility OUTPUT ⓘ
Overall attractiveness score of product alternative j in choice task t.
βa,ℓ
Part-Worth Utility Coefficient ESTIMATED ⓘ
Preference weight assigned to level ℓ of attribute a relative to that attribute's reference level (0).
1[level(a)=ℓ], yjt
Attribute Indicator & Observed Choice YOUR DATA ⓘ
Indicator equal to 1 when alternative j displays level ℓ, and observed choice yjt ∈ {0, 1}.
P(choose j), λ
Predicted Choice Share & L2 Penalty INFERENCE ⓘ
Predicted probability of selecting profile j and L2 shrinkage parameter λ preventing extreme individual estimates.

DATA SOURCE

📚

Use a Case Study

Select a preset to auto-load realistic CBC study data, or upload your own CSV. The download button lets you inspect or modify the dataset in Excel before re-uploading.

📤

Upload Your Data

Upload long-format CBC data where each row represents one alternative in one choice task for one respondent. Required columns: respondent_id, task_id, alternative_id, chosen (0/1), plus categorical attribute columns.

Drag & drop CBC file

CSV with respondent_id, task_id, alternative_id, chosen, and attribute columns

No file uploaded.

INPUTS & SETTINGS