Rcbc 0.2: CBC in R with Individual Utilities & Survey Mockups Chris Chapman, Steven Ellis [email protected], [email protected] Contribution: Improved tools to work with CBC in R

Individual-level HB Utilities Made Even Easier

Rcbc 0.2 lets analysts: (1) mock up CBC surveys easily; (2) simulate CBC designs and responses; (3) estimate aggregate and individual-level Hierarchical Bayes utilities easily; (4) import designs and responses from commercial CBC software (e.g., Sawtooth Software [3]) and do additional and parallel analyses in R.

Rcbc 0.2 makes Hierarchical Bayes estimation easy in R for CBC studies that have rectangular designs (each respondent has the same number of trials, and each trial has the same number of concepts). This is typical, for instance, in CBC designs from Sawtooth Software SSI/Web [3].

Rcbc [1] is Open-Source Software, available from the authors under the GNU General Public License.

New functions in Rcbc 0.2 for working with HB estimation are:

A Working CBC Mockup in 5 Lines of R

estimateMNLfromDesignHB() : estimate utilities and saved draws from a given design file + responses extractHBbetas() : get the individual-level mean betas from the above model

Rcbc 0.2 adds the ability to tag attributes with friendly names, and to write them to a CSV file as specified by the design matrix. This allows easy visualization of the CBC format, and for testing of the CBC using a typical spreadsheet program.

These functions use the R package ChoiceModelR [4] (which builds on and updates bayesm [2]). Even when Rcbc’s assumptions don’t fit a project, our code may be a starting point to work with ChoiceModelR.

We demonstrate this using Google Spreadsheets, which allows simultaneous completion by multiple testers.

Example: HB for CBC in 7 Lines of R

# This example ima gines we ’ re doing a " d es ig n er USB flash drive " # Step 1: define the CBC attr . list ← c (3 , 3 , 5 , 5 , 4) # defines CBC : 5 attributes , 3 -5 levels each tmp . tab ← g e n e r a t e M N L r a n d o m T a b ( attr . list , resp =3 , cards =3 , trials =12) # design matrix # Step 2: assign fr ien dl y names to the a t t r i b u t e s and levels attr . names ← c ( " Size " , " Performance " , " Design " , " Memory " , " Price " ) attr . labels ← c ( " Nano " , " Thumb " , " Full - length " , " Low speed " , " Medium speed " , " High speed " , " Tie - dye " , " Silver " , " Black " , " White " , " Prada " , " 1.0 GB " , " 8.0 GB " , " 16 GB " , " 32 GB " , " 256 GB " , " $ 9 " , " $ 29 " , " $ 59 " , " $ 89 " ) # Step 3: Write the survey to a CSV writ eCBCdesi gn C SV ( tmp . tab , attr . list = attr . list , lab . attrs = attr . names , lab . levels = attr . labels , filename = " writeCBCtest . csv " , delim = " ," )

If the resulting CSV is used to gather pilot data, the responses can be read and used to estimate utilities: tmp . win ← readCBCchoices ( tmp . tab , filename = " writeCBCtest - Sheet 1. csv " ) tmp . win . exp ← e xpa nd CBC w in n er s ( tmp . win ) # expand to Rcbc style tmp . pws ← e s t i m a t e M N L f r o m D e s i g n ( tmp . des , tmp . win . exp ) # a g g r e g a t e MNL u t i l i t i e s

Resulting Mockup: CBC in a Spreadsheet

We assume that you have fielded a CBC study using Sawtooth Software SSI/Web, and saved the resulting ”TAB” file with the Sawtooth-generated design and responses to "MyCBCtabFileFromSawtooth.tab". # Step 1: Import the data tmp . raw ← read . csv ( "∼/ somedir / M y C B C t a b F i l e F r o m S a w t o o t h . tab " ) # load the data tmp . tab ← tmp . raw [ ,15:24]) # get the design matrix from the relevant columns tmp . attrs ← findSSIattrs ( tmp . tab ) # infer the CBC st r u c t u r e tmp . win ← tmp . raw [ ,25] # get the winners from the relevant column # Step 2: Estimate the HB model tmp . logitHB ← e s t i m a t e M N L f r o m D e s i g n H B ( tmp . tab , tmp . win , kCards =3 , kTrials =8 , kResp =200) # Step 3: Get the a g g re g a t e mean beta u t i l it i e s and individual - level mean betas tmp . HBmeanbeta ← apply ( tmp . logitHB $ betadraw , 2 , mean ) # means across draws / r e s p o n d e n t s tmp . HBindbetas ← extractHBbetas ( tmp . logitHB , tmp . attrs ) # mean of draws per r e s p o n d e n t

Options include the MCMC chain length, number of draws saved, and the skip interval for saving draws. Using a MacBook Pro (2011 15”, 2Ghz i7, 8GB RAM, OSX 10.8.3, R 2.15.2) and simulated CBC data (5 attributes, 22 levels, N=200, 8 trials of 3 concepts), convergence of the HB model takes 20-30 seconds.

Limitations and Future Work

References

Rcbc is not a substitute for best-of-breed commercial software for CBC; it is a supplement.

[1] Chapman, C.N., and Alford, J.L. Rcbc: ChoiceBased Conjoint Models in R. Poster presented at Advanced Research Techniques Forum (ART Forum) 2010. San Francisco, CA, 2010. [2] Rossi, P. bayesm: Bayesian Inference for Marketing/ Microeconometrics. R package version 2.25. Available at http://CRAN.R-project.org/ package=bayesm, 2012. [3] Sawtooth Software. SSI/Web 8.2.2. Available at http://www.sawtoothsoftware.com. Orem, UT, 2013. [4] Sermas, R. ChoiceModelR: Choice Modeling in R. R package version 1.2. Available at http://CRAN.R-project.org/package= ChoiceModelR, 2012.

Primary limitations: • Only rectangular CBC designs • Slower estimation than commercial software • No checks on data quality; good data assumed Future plans: (1) Do attribute impact estimation from HB models [1]. (2) Handle data from mockup surveys more robustly. (3) Refactor design structure to handle respondent IDs and meta-data in a smart way instead of assuming rectangular blocks.

Chris Chapman, Steven Ellis cchapman ... - Research at Google

from commercial CBC software (e.g., Sawtooth Software [3]) and do additional and parallel analyses in R. ... at Advanced Research Techniques Forum (ART.

269KB Sizes 7 Downloads 100 Views

Recommend Documents

Work at Colin Ellis Pty.pdf
Page 4 of 8. Work at Colin Ellis Pty.pdf. Work at Colin Ellis Pty.pdf. Open. Extract. Open with. Sign In. Main menu. Displaying Work at Colin Ellis Pty.pdf.

Mathematics at - Research at Google
Index. 1. How Google started. 2. PageRank. 3. Gallery of Mathematics. 4. Questions ... http://www.google.es/intl/es/about/corporate/company/history.html. ○.

Faucet - Research at Google
infrastructure, allowing new network services and bug fixes to be rapidly and safely .... as shown in figure 1, realizing the benefits of SDN in that network without ...

BeyondCorp - Research at Google
41, NO. 1 www.usenix.org. BeyondCorp. Design to Deployment at Google ... internal networks and external networks to be completely untrusted, and ... the Trust Inferer, Device Inventory Service, Access Control Engine, Access Policy, Gate-.

VP8 - Research at Google
coding and parallel processing friendly data partitioning; section 8 .... 4. REFERENCE FRAMES. VP8 uses three types of reference frames for inter prediction: ...

JSWhiz - Research at Google
Feb 27, 2013 - and delete memory allocation API requiring matching calls. This situation is further ... process to find memory leaks in Section 3. In this section we ... bile devices, such as Chromebooks or mobile tablets, which typically have less .

Yiddish - Research at Google
translation system for these language pairs, although online dictionaries exist. ..... http://www.unesco.org/culture/ich/index.php?pg=00206. Haifeng Wang, Hua ...

traits.js - Research at Google
on the first page. To copy otherwise, to republish, to post on servers or to redistribute ..... quite pleasant to use as a library without dedicated syntax. Nevertheless ...

sysadmin - Research at Google
On-call/pager response is critical to the immediate health of the service, and ... Resolving each on-call incident takes between minutes ..... The conference has.

Introduction - Research at Google
Although most state-of-the-art approaches to speech recognition are based on the use of. HMMs and .... Figure 1.1 Illustration of the notion of margin. additional ...

References - Research at Google
A. Blum and J. Hartline. Near-Optimal Online Auctions. ... Sponsored search auctions via machine learning. ... Envy-Free Auction for Digital Goods. In Proc. of 4th ...

BeyondCorp - Research at Google
Dec 6, 2014 - Rather, one should assume that an internal network is as fraught with danger as .... service-level authorization to enterprise applications on a.

Browse - Research at Google
tion rates, including website popularity (top web- .... Several of the Internet's most popular web- sites .... can't capture search, e-mail, or social media when they ..... 10%. N/A. Table 2: HTTPS support among each set of websites, February 2017.

Continuous Pipelines at Google - Research at Google
May 12, 2015 - Origin of the Pipeline Design Pattern. Initial Effect of Big Data on the Simple Pipeline Pattern. Challenges to the Periodic Pipeline Pattern.

Accuracy at the Top - Research at Google
We define an algorithm optimizing a convex surrogate of the ... as search engines or recommendation systems, since most users of these systems browse or ...

slide - Research at Google
Gunhee Kim1. Seil Na1. Jisung Kim2. Sangho Lee1. Youngjae Yu1. Code : https://github.com/seilna/youtube8m. Team SNUVL X SKT (8th Ranked). 1 ... Page 9 ...

1 - Research at Google
nated marketing areas (DMA, [3]), provides a significant qual- ity boost to the LM, ... geo-LM in Eq. (1). The direct use of Stolcke entropy pruning [8] becomes far from straight- .... 10-best hypotheses output by the 1-st pass LM. Decoding each of .

1 - Research at Google
circles on to a nD grid, as illustrated in Figure 6 in 2D. ... Figure 6: Illustration of the simultaneous rasterization of ..... 335373), and gifts from Adobe Research.