Słownik metodologiczny · Projekt badania

Analiza conjoint – jak zmierzyć, które cechy oferty decydują o wyborze?

Analiza conjoint pozwala ustalić, ile każda cecha produktu lub oferty dodaje do preferencji respondentów. Pokazujemy projekt profili, użyteczności cząstkowe, ważność atrybutów, przykład w R i opis do pracy.

Strona główna / Słownik / Analiza conjoint
W skrócie: Analiza conjoint to badanie preferencji, w którym respondenci oceniają lub wybierają profile złożone z kilku atrybutów o różnych poziomach. Z ocen całych profili szacuje się użyteczności cząstkowe poszczególnych poziomów i względną ważność każdego atrybutu.

Co to jest analiza conjoint?

Analiza conjoint (ang. conjoint analysis) to metoda badania preferencji, w której respondenci oceniają, porządkują lub wybierają profile – opisy produktu, oferty czy kandydata złożone z kilku atrybutów o różnych poziomach. Z ocen całych profili szacuje się, ile każdy poziom atrybutu dodaje do preferencji. Green i Srinivasan (1978, 1990) opisują jej rozwój w badaniach konsumenckich i marketingu, w tym pomiar preferencji przy wielu atrybutach i symulatory wyborów (zob. statystyka w pracy z marketingu).

Profile, użyteczności cząstkowe i ważność

  • Projekt profili. Wybierz kilka atrybutów i ich poziomy. W pełnym układzie liczba profili to iloczyn liczby poziomów; przy wielu atrybutach stosuje się układ ułamkowy albo losowanie profili.
  • Użyteczności cząstkowe (part-worths) to efekty poziomów względem poziomu odniesienia, szacowane np. regresją z kodowaniem zero-jedynkowym.
  • Ważność atrybutu to rozstęp jego użyteczności cząstkowych podzielony przez sumę rozstępów wszystkich atrybutów.

Hainmueller i in. (2014) pokazali, że przy w pełni losowym doborze atrybutów (randomizacja) conjoint jest eksperymentem, który pozwala oszacować przyczynowy wpływ wielu atrybutów naraz. Prostszym krewnym jest eksperyment winietowy.

Przykład

100 osób oceniło na skali 1–10 wszystkie 18 profili oferty sklepu internetowego: cena 29, 39 lub 49 zł, dostawa w 1, 3 lub 7 dni, opakowanie zwykłe lub ekologiczne (dane symulowane). Względem ceny 29 zł cena 39 zł obniżała ocenę o 1.18 pkt, a 49 zł o 2.45 pkt; dostawa w 7 dni zamiast 1 dnia – o 1.05 pkt, a opakowanie ekologiczne podnosiło ją o 0.55 pkt. Ważność atrybutów wyniosła: cena 60.6%, dostawa 26.0%, opakowanie 13.5%.

Jak opisać w pracy

Preferencje zbadano analizą conjoint opartą na ocenach: każda ze 100 osób oceniła na skali 1–10 wszystkie 18 profili pełnego układu 3 × 3 × 2. Użyteczności cząstkowe oszacowano regresją liniową z kodowaniem zero-jedynkowym. Najważniejszym atrybutem była cena (60.6% ważności), następnie czas dostawy (26.0%) i rodzaj opakowania (13.5%).

Na co uważać

  • Powtarzane oceny. Każda osoba ocenia wiele profili, więc przy testach licz błędy standardowe odporne na klastrowanie w osobach.
  • Ważność zależy od zakresu poziomów. Szerszy przedział cen podniesie ważność ceny, choć preferencje się nie zmieniły.
  • Za dużo atrybutów. Długie profile męczą i skłaniają do patrzenia tylko na jedną cechę.
  • Deklaracje a wybory. Oceny hipotetycznych profili nie muszą odpowiadać rzeczywistym zakupom.
Przykład reprodukowalny

Analiza conjoint w R

Kod tworzy pełny układ 18 profili z trzech atrybutów, symuluje oceny 100 osób, szacuje użyteczności cząstkowe funkcją lm() i liczy ważność atrybutów z rozstępów użyteczności.

Użyteczności cząstkowe i ważność atrybutów w conjoint opartym na ocenach

Dane wejściowe: dane symulowane z set.seed(4530): 100 osób ocenia na skali 1–10 wszystkie 18 profili (cena × dostawa × opakowanie).

Co odczytać: użyteczności cząstkowe względem poziomów odniesienia (29 zł, 1 dzień, opakowanie zwykłe) i ważność atrybutów w procentach.

R
set.seed(4530)
profile <- expand.grid(cena = c("29 zł", "39 zł", "49 zł"),        # 3 x 3 x 2 = 18 profili
                       dostawa = c("1 dzień", "3 dni", "7 dni"),
                       opakowanie = c("zwykłe", "ekologiczne"))
d <- profile[rep(1:18, 100), ]                                      # 100 osób ocenia 18 profili
d$osoba <- factor(rep(1:100, each = 18))
u <- c(0, -1.2, -2.5)[d$cena] + c(0, -0.4, -1.1)[d$dostawa] + c(0, 0.6)[d$opakowanie]
d$ocena <- pmin(pmax(round(6 + u + rnorm(100, 0, 1)[d$osoba] + rnorm(nrow(d), 0, 1.2)), 1), 10)
m <- lm(ocena ~ cena + dostawa + opakowanie, data = d)              # kodowanie zero-jedynkowe
uz <- coef(m)[-1]; round(uz, 2)                                     # użyteczności cząstkowe
rozstep <- c(cena = diff(range(c(0, uz[1:2]))), dostawa = diff(range(c(0, uz[3:4]))),
             opakowanie = unname(abs(uz[5])))
round(100 * rozstep / sum(rozstep), 1)                              # ważność atrybutów (%)
Wynik w R
            cena39 zł             cena49 zł          dostawa3 dni 
                -1.18                 -2.45                 -0.46 
         dostawa7 dni opakowanieekologiczne 
                -1.05                  0.55 
      cena    dostawa opakowanie 
      60.6       26.0       13.5 

Bibliografia oprogramowania

Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (bez dodatkowych pakietów). W pracy podaj wersje faktycznie użytych pakietów (sessionInfo()).

  1. R: R Core Team. (2026). R: A language and environment for statistical computing (Version 4.5.3) [Computer software]. R Foundation for Statistical Computing. https://www.R-project.org/

Najczęstsze pytania

Czym analiza conjoint różni się od eksperymentu winietowego?

Obie metody zmieniają cechy opisu. Winieta to zwykle jeden opis z 2–3 czynnikami oceniany przez osobę, a w conjoint każdy respondent ocenia lub wybiera wiele profili z kilkoma atrybutami naraz.

Ile profili powinien ocenić jeden respondent w conjoint?

Tyle, by zadanie nie męczyło – w ocenach często kilkanaście profili. Przy wielu atrybutach zamiast pełnego układu używa się układu ułamkowego albo losuje profile dla każdej osoby.

Jak policzyć ważność atrybutu w analizie conjoint?

Dla każdego atrybutu policz rozstęp jego użyteczności cząstkowych (najwyższa minus najniższa, z poziomem odniesienia równym 0) i podziel przez sumę rozstępów wszystkich atrybutów. Wynik podaje się w procentach.

Powiązane hasła

Poradniki, w których użyjesz tego pojęcia

Potrzebujesz wsparcia w analizie danych?

Wybierz ofertę dopasowaną do pracy dyplomowej albo profesjonalnego projektu naukowego.

Wyceń analizęOferta dla studentów

Bibliografia i dalsza literatura naukowa (APA 7)

  1. Green, P. E., & Srinivasan, V. (1978). Conjoint analysis in consumer research: Issues and outlook. Journal of Consumer Research, 5(2), 103–123. https://doi.org/10.1086/208721
  2. Green, P. E., & Srinivasan, V. (1990). Conjoint analysis in marketing: New developments with implications for research and practice. Journal of Marketing, 54(4), 3–19. https://doi.org/10.1177/002224299005400402
  3. Hainmueller, J., Hopkins, D. J., & Yamamoto, T. (2014). Causal inference in conjoint analysis: Understanding multidimensional choices via stated preference experiments. Political Analysis, 22(1), 1–30. https://doi.org/10.1093/pan/mpt024

Cytowania BibTeX

@article{green1978conjoint, author={Green, Paul E. and Srinivasan, V.}, title={{Conjoint analysis in consumer research: Issues and outlook}}, journal={Journal of Consumer Research}, year={1978}, volume={5}, number={2}, pages={103--123}, doi={10.1086/208721}}
@article{green1990conjoint, author={Green, Paul E. and Srinivasan, V.}, title={{Conjoint analysis in marketing: New developments with implications for research and practice}}, journal={Journal of Marketing}, year={1990}, volume={54}, number={4}, pages={3--19}, doi={10.1177/002224299005400402}}
@article{hainmueller2014causal, author={Hainmueller, Jens and Hopkins, Daniel J. and Yamamoto, Teppei}, title={{Causal inference in conjoint analysis: Understanding multidimensional choices via stated preference experiments}}, journal={Political Analysis}, year={2014}, volume={22}, number={1}, pages={1--30}, doi={10.1093/pan/mpt024}}
R