Driver Analysis and Product Optimization with Bayesian Networks
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Driver Analysis and Product Optimization with Bayesian Networks

on

  • 1,279 views

Market driver analysis and product optimization are one of the central tasks in Product Marketing and thus relevant to virtually all types of businesses. BayesiaLab provides a uni!ed software ...

Market driver analysis and product optimization are one of the central tasks in Product Marketing and thus relevant to virtually all types of businesses. BayesiaLab provides a uni!ed software platform, which can, based on consumer data,
1. provide deep understanding of the market preference structure
2. directly generate recommendations for prioritized product actions.
The proposed approach utilizes Probabilistic Structural Equation Models (PSEM), based on machine-learned Bayesian networks. PSEMs provide an ef!cient alternative to Structural Equation Models (SEM), which have been used traditionally in market research.

Statistics

Views

Total Views
1,279
Views on SlideShare
1,257
Embed Views
22

Actions

Likes
1
Downloads
73
Comments
0

3 Embeds 22

http://www.linkedin.com 16
https://www.linkedin.com 5
http://www.slideshare.net 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Driver Analysis and Product Optimization with Bayesian Networks Document Transcript

  • 1. Tutorial on Driver Analysis andProduct Optimization with BayesiaLabStefan Conrady, stefan.conrady@bayesia.usDr. Lionel Jouffe, jouffe@bayesia.comDecember 11, 2010Revised: March 13, 2013
  • 2. Table of ContentsIntroductionBayesiaLab 4Acknowledgements 4Abstract 4Bayesian Networks 5Structural Equation Models 5Probabilistic Structural Equation Models 5TutorialNotation 6Model Development 6Dataset 6Consumer Research 6Data Import 7Unsupervised Learning 11Preliminary Analysis 15Variable Clustering 20Multiple Clustering 23Analysis of Factors 26Completing the PSEM 32Market Driver Analysis 38Product Driver Analysis 44Product Optimization 44Conclusion 56Appendix: The Bayesian Network ParadigmAcyclic Graphs & Bayes’s Rule 57Compact Representation of the Joint Probability Distribution 58ReferencesDriver Analysis and Product Optimization with BayesiaLabii www.bayesia.com | www.bayesia.us
  • 3. Contact InformationBayesia USA 60Bayesia S.A.S. 60Bayesia Singapore Pte. Ltd. 60Copyright 60Driver Analysis and Product Optimization with BayesiaLabwww.bayesia.com | www.bayesia.us iii
  • 4. IntroductionThis tutorial is intended for new or prospective users of BayesiaLab. The example in this tutorial is takenfrom the field of marketing science and is meant to illustrate the capabilities of BayesiaLab with a real-worldcase study and actual consumer data. Beyond market researchers, analysts and researchers in many fieldswill hopefully find the proposed methodology valuable and intuitive. In this context, many of the technicalsteps are outlined in great detail, such as data preparation and the network learning, as they are applicableto research with BayesiaLab in general, regardless of the domain.1BayesiaLabBayesia S.A.S., based in Laval, France has been developing BayesiaLab since 1999 and it has emerged as theleading software package for knowledge discovery, data mining and knowledge modeling using Bayesiannetworks. BayesiaLab enjoys broad acceptance in academic communities as well as in business and industry.The relevance of Bayesian networks, especially in the context of market research, is highlighted by Bayesia’sstrategic partnership with Procter & Gamble, who has deployed BayesiaLab globally since 2007.AcknowledgementsWe would like to express our gratitude to Ares Research (www.ares-etudes.com) for generously providingdata from their consumer research for our case study.AbstractMarket driver analysis and product optimization are one of the central tasks in Product Marketing and thusrelevant to virtually all types of businesses. BayesiaLab provides a unified software platform, which can,based on consumer data,1. provide deep understanding of the market preference structure2. directly generate recommendations for prioritized product actions.The proposed approach utilizes Probabilistic Structural Equation Models (PSEM), based on machine-learned Bayesian networks. PSEMs provide an efficient alternative to Structural Equation Models (SEM),which have been used traditionally in market research.Driver Analysis and Product Optimization with BayesiaLab4 www.bayesia.com | www.bayesia.us1 This tutorial is based on version 5.0 of BayesiaLab.
  • 5. Bayesian NetworksA Bayesian network or belief network is a directed acyclic graphical model that represents the joint prob-ability distribution over a set of random variables and their conditional dependencies via a directed acyclicgraph (DAG). For example, a Bayesian network could represent the probabilistic relationships between dis-eases and symptoms. Given symptoms, the network can be used to compute the probabilities of the presenceof various diseases.2Structural Equation ModelsStructural Equation Modeling (SEM) is a statistical technique for testing and estimating causal relationsusing a combination of statistical data and qualitative causal assumptions. This definition of SEM was ar-ticulated by the geneticist Sewall Wright (1921), the economist Trygve Haavelmo (1943) and the cognitivescientist Herbert Simon (1953), and formally defined by Judea Pearl (2000).Structural Equation Models (SEM) allow both confirmatory and exploratory modeling, meaning they aresuited to both theory testing and theory development.Probabilistic Structural Equation ModelsTraditionally, specifying and estimating an SEM required a multitude of manual steps, which are typicallyvery time consuming, often requiring weeks or even months of an analyst’s time. PSEMs are based on theidea of leveraging machine learning for automatically generating a structural model. As a result, creatingPSEMs with BayesiaLab is extremely fast and can thus form an immediate basis for much deeper analysisand optimization.Driver Analysis and Product Optimization with BayesiaLabwww.bayesia.com | www.bayesia.us 52 See appendix for a brief introduction to Bayesian networks.
  • 6. TutorialAt the beginning of this tutorial, we want to emphasize the overarching objectives of this case study, so wedo not lose sight of the “big picture” as we immerse ourselves into the technicalities of BayesiaLab andBayesian networks.In this study, we want to examine how product attributes perceived by consumers relate to purchase inten-tion for specific products. Put simply, we want to understand the key drivers for purchase intent. Given thelarge number of attributes in our study, we also want to identify common concepts among these attributesin order to make interpretation easier and communication with managerial decision makers more effective.Secondly, we want to utilize the generated understanding of consumer dynamics so product developers canoptimize the characteristics of the products under study in order to increase purchase intent among consum-ers, which is our ultimate business objective.NotationIn order to clearly distinguish between natural language, BayesiaLab-specific functions and study-specificvariable names, the following notation is used:• BayesiaLab functions, keywords, commands, etc., are shown in bold type.• Variable names are capitalized and italicized.Model DevelopmentDatasetConsumer ResearchThis study is based on a monadic3 consumer survey about perfumes, which was conducted in France. In thisexample, we use survey responses from 1,320 women, who have evaluated a total of 11 fragrances on awide range of attributes:• 27 ratings on fragrance-related attributes, such as, “sweet”, “flowery”, “feminine”, etc., measured on a 1-to-10 scale.• 12 ratings on projected imagery related to someone, who would be wearing the respective fragrance, e.g.“is sexy”, “is modern”, measured on a 1-to-10 scale.• 1 variable for Intensity, a measure reflecting the level of intensity, measured on a 1-to-5 scale.4• 1 variable for Purchase Intent, measured on a 1-to-6 scale.Driver Analysis and Product Optimization with BayesiaLab6 www.bayesia.com | www.bayesia.us3 a product test only involving one product, i.e. in our study each respondent evaluated only one perfume.4 The variable Intensity is listed separately due to the a-priori knowledge of its non-linearity and the existence of a “just-about-right” level.
  • 7. • 1 nominal variable, Product, for product identification purposes.Data ImportTo start the analysis with BayesiaLab, we first import the data set, which is formatted as a CSV file.5 WithData | Open Data Source | Text File, we start the Data Import wizard, which immediately provides a pre-view of the data file.The table displayed in the Data Import wizardshows the individual variables as columns andthe responses as rows. There are a number ofoptions available, e.g. for sampling. However,this is not necessary in our example given therelatively small size of the database.Clicking the Next button, prompts a data typeanalysis, which provides BayesiaLab’s bestguess regarding the data type of each variable.Furthermore, the Information box provides abrief summary regarding the number of re-cords, the number of missing values 6 , filteredstates, etc.For this example, we will need to override thedefault data type for the Product variable aseach value is a nominal product identifierrather than a numerical scale value. We canchange the data type by highlighting the Prod-uct variable and clicking the Discrete checkbox, which changes the color of the Productcolumn to red.Driver Analysis and Product Optimization with BayesiaLabwww.bayesia.com | www.bayesia.us 75 CSV stands for “comma-separated values”, a common format for text-based data files.6 There are no missing values in our database and filtered states are not applicable in this survey.
  • 8. We will also define Purchase Intent and Inten-sity as discrete variables, as the default numberof states of these variables is already adequatefor our purposes.7The next screen provides options as to how totreat any missing values. In our case, there areno missing values so that the correspondingpanel is grayed-out.Clicking the small upside-down triangle nextto the variable names brings up a window withkey statistics of the selected variable, in thiscase Fresh.The next step is the Discretization and Aggre-gation dialogue, which allows the analyst todetermine the type of discretization, whichmust be performed on all continuousvariables.8 For this survey, and given the num-ber of observations, it is appropriate to reducethe number of states from the original 10states (1 through 10) to a smaller number. Onecould, for instance, bin the 1-10 rating intolow, mid and high, or apply any other arbi-trary method deemed appropriate by the ana-lyst.Driver Analysis and Product Optimization with BayesiaLab8 www.bayesia.com | www.bayesia.us7 The desired number of variable states is largely a function of the analyst’s judgment.8 BayesiaLab requires discrete distributions for all variables.
  • 9. The screenshot shows the dialogue for the Manual selection of discretization steps, which permits to selectbinning thresholds by point-and-click.For this particular example, we select Equal Distances with 5 intervals for all continuous variables. This wasthe analyst’s choice in order to be consistent with prior research.Clicking Select All Continuous followed byFinish completes the import process and the 49variables (columns) from our database arenow shown as blue nodes in the Graph Panel,which is the main window for network editing.NoteFor choosing discretization algorithms beyond thisexample, the following rule of thumb may be helpful:• For supervised learning, choose Decision Tree.• For unsupervised learning, choose, in the order ofpriority, K-Means, Equal Distances or EqualFrequencies.Driver Analysis and Product Optimization with BayesiaLabwww.bayesia.com | www.bayesia.us 9
  • 10. This initial view represents a fully unconnected Bayesian network.For reasons, which will become clear later, we will initially exclude two variables, Product and PurchaseIntent. We can do so by right-clicking the nodes and selecting Properties | Exclusion. Alternatively, holding“x” while double-clicking the nodes performs the same exclusion function.Driver Analysis and Product Optimization with BayesiaLab10 www.bayesia.com | www.bayesia.us
  • 11. Unsupervised LearningAs the next step, we will perform the first unsupervised learning of a network by selecting Learning | Asso-ciation Discovering | EQ.The resulting view shows the learned network with all the nodes in their original position.Driver Analysis and Product Optimization with BayesiaLabwww.bayesia.com | www.bayesia.us 11
  • 12. Needless to say, this view of the network is not very intuitive. BayesiaLab has numerous built-in layout al-gorithms, of which the Force Directed Layout is perhaps the most commonly used.Driver Analysis and Product Optimization with BayesiaLab12 www.bayesia.com | www.bayesia.us
  • 13. It can be invoked by View | Automatic Layout | Force Directed Layout or alternatively through the key-board shortcut “p”. This shortcut is worthwhile to remember as it is one of the most commonly used func-tions.Driver Analysis and Product Optimization with BayesiaLabwww.bayesia.com | www.bayesia.us 13
  • 14. The resulting network will look similar to the following screenshot.To optimize the use of the available screen, clicking the Best Fit button in the toolbar “zooms to fit”the graph to the screen. In addition, rotating the graph with the Rotate Left and Rotate Right buttonshelps to create a suitable view.The final graph should closely resemble the following screenshot and, in this view, the properties of this firstlearned Bayesian network become immediately apparent. This network is a now compact representation ofthe 47 dimensions of the joint probability distribution of the underlying database.Driver Analysis and Product Optimization with BayesiaLab14 www.bayesia.com | www.bayesia.us
  • 15. It is very important to note that, although this learned graph happens to have a tree structure, this is not theresult of an imposed constraint.Preliminary AnalysisThe analyst can further examine this graph by switching into the Validation Mode, which immediatelyopens up the Monitor Panel on the right side of the screen.Driver Analysis and Product Optimization with BayesiaLabwww.bayesia.com | www.bayesia.us 15
  • 16. This panel is initially empty, but by clicking on any node (or multiple nodes) in the network, Monitors ap-pear inside the Monitor Panel. The corresponding nodes are highlighted in yellow.Driver Analysis and Product Optimization with BayesiaLab16 www.bayesia.com | www.bayesia.us
  • 17. By default, the Monitors show the marginal distributions of all selected variables. This shows, for instance,9.7% of respondents rated their perfume at <=2.8 in terms of the Fresh attribute.On this basis, one can start to experiment with the properties of this particular Bayesian network and queryit. With BayesiaLab this can be done in an extremely intuitive way, i.e. by setting evidence (or observations)directly on the Monitors. For instance, we can compute the conditional probability distribution of Flowery,given that we have observed a specific value, i.e. a specific state of Fresh. In formal notation, this would beP(Flowery | Fresh)We will now set Flowery to the state that represents the highest rating (>8.2), and we can immediately ob-serve the conditional probability distribution of Fresh, i.e.P(Fresh | Flowery = " > 8.2")Driver Analysis and Product Optimization with BayesiaLabwww.bayesia.com | www.bayesia.us 17
  • 18. The gray arrows inside the bars indicate how the distributions havechanged compared to the previous distributions. This means that re-spondents, who have rated the Flowery attribute of a perfume at thetop level, will have a 67% probability of also assigning a top rating tothe Fresh attribute.P(Fresh = " > 8.2"| Flowery = " > 8.2") = 66.9%Switching briefly back into the Modeling Mode and by clicking on the Flowery node, one can see the prob-abilistic relationship between Flowery and Fresh in detail. By learning the network, BayesiaLab has auto-matically created a contingency table for every single direct relationship between nodes.All contingency tables, together with the graphstructure, thus encode the joint probabilitydistribution of our original database.Returning to the Validation Mode, we canfurther examine the properties of our network.Of great interest is the strength of the prob-abilistic relationships between the variables. InBayesiaLab this can be shown by selectingAnalysis | Graphic | Arcs’ Mutual Information.NoteThe structure of our Bayesian network may bedirected, but the directions of the arcs do notnecessarily have to be meaningful.For observational inference, it is only necessary thatthe Bayesian network correctly represents the jointprobability distribution of the underlying database.Driver Analysis and Product Optimization with BayesiaLab18 www.bayesia.com | www.bayesia.us
  • 19. The thickness of the arcs is now proportional to the Mutual Information, i.e. the strength of the relationshipbetween the nodes.Intuitively, Mutual Information measures the information that X and Y share: it measures how much know-ing one of these variables reduces our uncertainty about the other. For example, if X and Y are independent,then knowing X does not provide any information about Y and vice versa, so their mutual information iszero. At the other extreme, if X and Y are identical then all information conveyed by X is shared with Y:knowing X determines the value of Y and vice versa.Formal Definition of Mutual InformationI(X;Y ) = p(x,y)logp(x,y)p(x)p(y)⎛⎝⎜⎞⎠⎟x∈X∑y∈Y∑We can also show the values of the Mutual Information on the graph by clicking on Display Arc Com-ments.Driver Analysis and Product Optimization with BayesiaLabwww.bayesia.com | www.bayesia.us 19
  • 20. In the top part of the comment box attached to each arc, the Mutual Information of the arc isshown. Below, expressed as a percentage and highlighted in blue, we see the relative Mutual In-formation in the direction of the arc (parent node ➔ child node). And, at the bottom, we havethe relative mutual information in the opposite direction of the arc (child node ➔ parent node).Variable ClusteringThe information about the strength between the manifest variables can also be utilized for purposes of Vari-able Clustering. More specifically, a concept related closely to the Mutual Information, namely theKullback-Leibler Divergence (K-L Divergence) is utilized for clustering.For probability distributions P and Q of a discreterandom variable their K–L divergence is defined to beDKL = (P || Q) = P(i)logP(i)Q(i)i∑In words, it is the average of the logarithmic differencebetween the joint probability distributions P(i) and Q(i),where the average is taken using the probabilities P(i).Driver Analysis and Product Optimization with BayesiaLab20 www.bayesia.com | www.bayesia.us
  • 21. Such variable clusters will allow us to induce new latent variables, which each represent a common conceptamong the manifest variables.9 From here on, we will make a very clear distinction between manifest vari-ables, which are directly observed, such as the survey responses, and latent variables, which are derived. Intraditional statistics, deriving such latent variables or factors is typically performed by means of FactorAnalysis, e.g. Principal Components Analysis (PCA).In BayesiaLab, this “factor extraction” can be done very easily via the Analysis | Graphics | Variable Clus-tering function, which is also accessible through the keyboard shortcut “s”.The speed in which this is performed is one of the strengths of BayesiaLab, as the resulting variable clustersare presented instantly.Driver Analysis and Product Optimization with BayesiaLabwww.bayesia.com | www.bayesia.us 219 An alternative approach is to interpret the derived concept or factor as a hidden common cause.
  • 22. In this case, BayesiaLab has identified 15 variable clusters and each node is color-coded according to itscluster membership. To interpret these newly-found clusters, we can zoom in and visually examine thestructure in the Graph Panel.To support the interpretation process, BayesiaLab can also display a Dendrogram, which allows the analystto review the linkage of nodes into variable clusters.The analyst may also choose a different number of clusters, based on his own judgement relating to the do-main. A slider in the toolbar allows to choose various numbers of clusters and the color association of thenodes will be update instantly.By clicking the Validate Clustering button in the toolbar, the clusters are saved and the color codes willbe formally associated with the nodes. A clustering report provides us with a formal summary of the newfactors and their associated manifest variables.10Driver Analysis and Product Optimization with BayesiaLab22 www.bayesia.com | www.bayesia.us10 Variable cluster = derived concept = unobserved latent variable = hidden cause = extracted factor.
  • 23. The analyst also has the option to use his do-main knowledge to modify which manifestvariables belong to specific factors. This can bedone by right-clicking on the Graph Panel andselecting Class Editor.Multiple ClusteringAs our next step towards building the PSEM, we will introduce these newly-generated latent factors into ourexisting network and also estimate their probabilistic relationships with the manifest variables. This meanswe will create a new node for each latent factor, creating 15 new dimensions in our network. For this step,we will need to return to the Modeling Mode, because the introduction of the factor nodes into the net-works requires the learning algorithms.Driver Analysis and Product Optimization with BayesiaLabwww.bayesia.com | www.bayesia.us 23
  • 24. More specifically, we select Learning | MultipleClustering, which brings up the Multiple Clus-tering dialogue. There is a range of settings,but we will focus only on a subset. Firstly, weneed to specify an output directory for the to-be-learned networks. Secondly, we need to setsome parameters for the clustering process,such as the minimum and maximum numberof states, which can be created during thelearning process.In our example, we select Automatic Selectionof the Number of Classes, which will allow thelearning algorithm to find the optimum num-ber of factor states up to a maximum of fivestates. This means that each new factor willneed to represent the corresponding manifestvariables with up to five states.Driver Analysis and Product Optimization with BayesiaLab24 www.bayesia.com | www.bayesia.us
  • 25. The Multiple Clustering process concludeswith a report, which shows details regardingthe generated clustering. The top portion ofthe report is shown in the following screen-shot.The detail section of Factor_0, as it relates tothe manifest variables, is worth highlighting.Here, we can see the strength of the relation-ship between the manifest variables, such asTrust, Bold, etc., and Factor_0. In a traditionalFactor Analysis, this would be the equivalentof factor loading.After closing the report, we will now see a new(unconnected) network, with 15 additionalnodes, one for each factor, i.e. Factor_0through Factor_14, highlighted in yellow inthe screenshot.Driver Analysis and Product Optimization with BayesiaLabwww.bayesia.com | www.bayesia.us 25
  • 26. Analysis of FactorsWe can also further examine how the new factors relate to the manifest variables and how well they repre-sent them. In the case of Factor_0, we want to understand how it can summarize our five manifest variables.By going into our previously-specified output directory, using the Windows Explorer or the Mac Finder, wecan see that 15 new networks (in BayesiaLab’s xbl format for networks) were generated. We open the spe-cific network for Factor_0, either by directly double-clicking the xbl file or by selecting Network | Open.The factor-specific networks are identified by a suffix/extension of the format “_[Factor_#].xbl” and “#”stands for the factor number. We then see a network including the manifest variables and with the factorbeing linked by arcs going from the factor to the manifest variables.Returning to the Validation Mode, we can see five states for Factor_0, labeled C1 through C5, as well astheir marginal distribution. As Factor_0 is a target node by default, it automatically appears highlighted inred in the Monitor Panel.Driver Analysis and Product Optimization with BayesiaLab26 www.bayesia.com | www.bayesia.us
  • 27. Here, we can also study how the states of the manifest variables relate to the states of Factor_0. This can bedone easily by setting observations to the monitors, e.g. setting C1 to 100%.We now see that given that Factor_0 is in stateC1, the variable Active has a probability ofapproximately 75% of being in state <=2.8.Expressed more formally, we would stateP(Active = “<=2.8” | Factor_0 = C1) =74.57%. This means that for respondents,who have been assigned to C1, it is likely thatthey would rate the Active attribute very lowas well.In the Monitor for Factor_0, in parenthesesbehind the cluster name, we find the expectedmean value of the numeric equivalents of thestates of the manifest variables, e.g. “C1 (2.08)”. That means that given the state C1 of Factor_0, we expectthe mean value of Trust, Bold, Fulfilled, Active and Character to be 2.08.Driver Analysis and Product Optimization with BayesiaLabwww.bayesia.com | www.bayesia.us 27
  • 28. To go into even greater detail, we can actually look at every single respondent, i.e. every record in the data-base and see what cluster they were assigned to. We select Inference | Interactive Inference,which will bring up a record selector in the toolbar.With this record selector, we can now scroll through the entire database, review the actual ratings of therespondents and then see the estimation to which cluster each respondent belongs.Driver Analysis and Product Optimization with BayesiaLab28 www.bayesia.com | www.bayesia.us
  • 29. In our first case, record 0, we see the ratings of this respondent indicated by the manifest Monitors. In thehighlighted Monitor for Factor_0, we read that this respondent, given her responses, has an 82% probabil-ity of belonging to Cluster 5 (C5) in Factor_0.Driver Analysis and Product Optimization with BayesiaLabwww.bayesia.com | www.bayesia.us 29
  • 30. Moving to our second case, record 1, we see that the respondent belongs to Cluster 3 (C3) with a 96%probability.We can also evaluate the performance of our new network based on Factor_0 by selecting Analysis | Net-work Performance | Global.Driver Analysis and Product Optimization with BayesiaLab30 www.bayesia.com | www.bayesia.us
  • 31. This will return the log-likelihood density function as shown in the following screenshot.Driver Analysis and Product Optimization with BayesiaLabwww.bayesia.com | www.bayesia.us 31
  • 32. Completing the PSEMWe are now returning to our main task and our principal network, which has been augmented by the 15new factors.Before we re-learn our network with the new factors, we need to include Purchase Intent as a variable andalso impose a number of constraints in the form of Forbidden Arcs.Driver Analysis and Product Optimization with BayesiaLab32 www.bayesia.com | www.bayesia.us
  • 33. Being in the Modeling Mode, we can include Purchase Intent by right-clicking the node and uncheck Exclu-sion.This makes the Purchase Intent variable available in the next stage of learning, which is reflected visually aswell in the node color and the icon.Our desired SEM-type network structure stipulates that manifest variables be connected exclusively to thefactors and that all the connections with Purchase Intent must also go through the factors. We achieve sucha structure by imposing the following sets of forbidden arcs:1. No arcs between manifest variables2. No arcs from manifest variables to factors3. No arcs between manifest variables and Purchase IntentDriver Analysis and Product Optimization with BayesiaLabwww.bayesia.com | www.bayesia.us 33
  • 34. We can define these forbidden arcs by right-clicking anywhere on the Graph Panel, which brings up the fol-lowing menu.In BayesiaLab, all manifest variables and all factors are conveniently grouped into classes, so we can easilydefine which arcs are forbidden in the Forbidden Arc Editor.Driver Analysis and Product Optimization with BayesiaLab34 www.bayesia.com | www.bayesia.us
  • 35. Upon completing this step, we can proceed to learning our network again: Learning | Association Discover-ing | EQDriver Analysis and Product Optimization with BayesiaLabwww.bayesia.com | www.bayesia.us 35
  • 36. The initial result will resemble the following screenshot.Driver Analysis and Product Optimization with BayesiaLab36 www.bayesia.com | www.bayesia.us
  • 37. Using the Force Directed Layout algorithm (shortcut “p”), as before, we can quickly transform this networkinto a much more interpretable format.Now we see the manifest variables “laddering up” to the factors, and we also see how the factors are relatedto each other. Most importantly, we can observe where the Purchase Intent node was attached to the net-work during the learning process. The structure conveys that Purchase Intent has the strongest link withFactor_2.Now that we can see the big picture, it is perhaps appropriate to give the factors more descriptive names.For obvious reasons, this task is the responsibility of the analyst. In this case study, Factor_0 was given thename “Self-Confident”. We add this name into the node comments by double-clicking Factor_0 and scroll-ing to the right inside the Node Editor until we see the Comments tab.Driver Analysis and Product Optimization with BayesiaLabwww.bayesia.com | www.bayesia.us 37
  • 38. We repeat this for all other nodes, and we can subsequently display the node comments for all factors byclicking the Display Node Comment icon in the toolbar or by selecting View | Display Node Commentsfrom the menu.Market Driver AnalysisOur Probabilistic Structural Equations Model is now complete, and we can use it to perform the actualanalysis part of this exercise, namely to find out what “drives” Purchase Intent.We return to the Validation Mode and right-click on Purchase Intent and then check Set As Target Node.Double-clicking the node while pressing “t” is a helpful shortcut.Driver Analysis and Product Optimization with BayesiaLab38 www.bayesia.com | www.bayesia.us
  • 39. This will also change the appearance of the node and literally give it the look of a target.In order to understand the relationship between the factors and Purchase Intent, we want to tune out all themanifest variables for the time being. We can do so by right-clicking the Use of Classes icon in the bottomright corner of the screen. This will bring up a list of all classes. By default, all are checked and thus visible.Driver Analysis and Product Optimization with BayesiaLabwww.bayesia.com | www.bayesia.us 39
  • 40. For our purposes, we want to deselect All and then only check the Factor class.The resulting view has all the manifest variables grayed-out, so the relationship between the factors becomesmore prominent. By deselecting the manifest variables, we also exclude them from subsequent analysis.Driver Analysis and Product Optimization with BayesiaLab40 www.bayesia.com | www.bayesia.us
  • 41. We will now right-click inside the (currently empty) Monitor Panel and select Monitors Sorted wrt TargetVariable Correlations. The keyboard shortcut “x” will do the same.This brings up the monitor for the target node, Purchase Intent, plus all the monitors for the factors, in theorder of the strength of relationship with the Target Node.Driver Analysis and Product Optimization with BayesiaLabwww.bayesia.com | www.bayesia.us 41
  • 42. This immediately highlights the order of importance of the factors relative to the Target Node, PurchaseIntent. Another way of comprehensively displaying the importance is by selecting Reports | Target Analy-sis | Correlations With the Target Node“Correlations” is more of a metaphor here, as BayesiaLab actually orders the factors by their Mutual In-formation relative to the target node, Purchase Intent.By clicking Quadrants, we can obtain a type of opportunity graph, which shows the mean value of eachfactor on the x-axis and the relative Mutual Information with Purchase Intent on the y-axis. Mutual Infor-mation can be interpreted as importance in this context.Driver Analysis and Product Optimization with BayesiaLab42 www.bayesia.com | www.bayesia.us
  • 43. By right-clicking on the graph, we can switch between the display of the formal factor names, e.g. Factor_0,Factor_1, etc., and the factor comments, such as Adequacy, Seduction, which is much easier for interpreta-tion.As in the previous views, it becomes very obvious that the factor Adequacy is most important with regard toPurchase Intent, followed by the factor Seduction. This is very helpful for understanding the overall marketdynamics and for communicating the key drivers to managerial decision makers.The lines dividing the graph into quadrants reflect the mean values for each axis. The upper-left quadranthighlights opportunities as these particular factors are “above average” in importance, but “below average”in terms of their rating.Driver Analysis and Product Optimization with BayesiaLabwww.bayesia.com | www.bayesia.us 43
  • 44. Product Driver AnalysisAlthough this insight is relevant for the whole market, it does not yet allow us to work on improving spe-cific products. For this we need to look at product-specific graphs. In addition, we may need to introduceconstraints as to where we may not have the ability to impact any attributes. Such information must comefrom the domain expert, in our case from the perfumer, who will determine if and how odoriferous com-pounds can affect the consumers’ perception of the product attributes.These constraints can be entered into BayesiaLab’s Cost Editor, which is accessible by right-clicking any-where in the Graph Panel. Those attributes, which cannot be changed (as determined by the expert), will beset to “Not Observable”. As we proceed with our analysis, these constraints will be extremely importantwhen searching for realistic product scenarios.On a side note, an example from the presumably more tangible auto industry may better illustrate suchkinds of constraints. For instance, a vehicle platform may have an inherent wheelbase limitation, which thussets a hard limit regarding the maximum amount of rear passenger legroom. Even if consumers perceived aneed for improvement on this attribute, making such a recommendation to the engineers would be futile. Aswe search for optimum product solutions with our Bayesian network, this is very important to bear in mindand thus we must formally encode these constraints of our domain through the Cost Editor.Product OptimizationWe now return briefly to the Modeling Mode to include the Product variable, which has been excludedfrom our analysis thus far. Right-clicking the node and then unchecking Properties | Exclusion will achievethis.At this time, we will also move beyond the analysis of factors and actually look at the individual productattributes, so we select Manifest from the Display Classes menu.Driver Analysis and Product Optimization with BayesiaLab44 www.bayesia.com | www.bayesia.us
  • 45. Back in the Validation Mode, we can perform a Multi Quadrant Analysis: Tools | Multi Quadrant AnalysisThis tool allows us to look at the attribute ratings of each product and their respective importance, as ex-pressed with the Mutual Information. Thus, we pick Product as the Selector Node and choose Mutual In-formation for Analysis. In this case, we also want to check Linearize Nodes’ Values, Regenerate Values andspecify an Output Directory, where the product-specific networks will be saved. In the process of generatingthe Multi Quadrant Analysis, BayesiaLab produces one Bayesian network for each Product. For all Prod-ucts the network structure will be identical to the network for the entire market, however, the parameters,i.e. the contingency tables, will be specific to each Product.However, before we proceed to the product-specific networks, we will first see a Multi Quadrant Analysisby Product, and we can select each product’s graph simply by right-clicking and choosing the appropriateproduct identification number.Please note that only the observable variables are visible on the chart, i.e. those variables which were notpreviously defined as “Not Observable” in the Cost Editor.Driver Analysis and Product Optimization with BayesiaLabwww.bayesia.com | www.bayesia.us 45
  • 46. For Product No. 5, Personality is at the very top of the importance scale. But how will the Personality at-tribute compare in the competitive context? If we Display Scales by right-clicking on the graph, it appearsthat Personality is already at the best level among the competitors, i.e. to the far right of the horizontalscale. On the other hand, on the Fresh attribute Product No. 511 marks the bottom end of the competitiverange.Driver Analysis and Product Optimization with BayesiaLab46 www.bayesia.com | www.bayesia.us11 Any similarities of identifiers with actual product names are purely coincidental.
  • 47. For a perfumer it would thus be reasonable to assume that there is limited room for improvement with re-gard to Personality, and that Fresh perhaps offers a significant opportunity for Product No. 5.Driver Analysis and Product Optimization with BayesiaLabwww.bayesia.com | www.bayesia.us 47
  • 48. To highlight the differences between products, we will also show Product No. 1 in comparison.For Product No. 1 it becomes apparent that Intensity is highly important, but that its rating is towards thebottom end of the scale. The perfumer may thus conclude a bolder version of the same fragrance will im-prove Purchase Intent.Driver Analysis and Product Optimization with BayesiaLab48 www.bayesia.com | www.bayesia.us
  • 49. Finally, by hovering over any data point in the opportunity chart, BayesiaLab can also display the positionof competitors compared to the reference product for any attribute. The screenshot shows Product No. 5 asthe reference and the position of competitors on the Personality attribute.BayesiaLab also allows us to measure and save the “gap to best level” (=variations) for each product andeach variable through the Export Variations function. This formally captures our opportunity for improve-ment.Driver Analysis and Product Optimization with BayesiaLabwww.bayesia.com | www.bayesia.us 49
  • 50. Please note that these variations need to be saved individually by Product.By now we have all the components necessary for a comprehensive optimization of product attributes:1. Constraints on “non-actionable” attributes, i.e. excluding those variables, which can’t be affectedthrough product changes.2. A Bayesian network for each Product.3. The current attribute rating of each Product and each attribute’s importance relative to Purchase Intent.4. The “gap to best level” (variation) for each attribute and Product.With the above, we are now in a position to search for realistic product configurations, based on the exist-ing product, which would realistically optimize Purchase Intent.We proceed individually by Product, and for illustration purposes we use Product No. 5 again. We load theproduct-specific network, which was previously saved when the Multi Quadrant Analysis was performed.Driver Analysis and Product Optimization with BayesiaLab50 www.bayesia.com | www.bayesia.us
  • 51. One of the powerful features of BayesiaLab is Target Dynamic Profile, which we will apply here on thisnetwork to optimize Purchase Intent: Analysis | Report | Target Analysis | Target Dynamic ProfileDriver Analysis and Product Optimization with BayesiaLabwww.bayesia.com | www.bayesia.us 51
  • 52. The Target Dynamic Profile provides a number of important options:• Profile Search Criterion: we intend to optimize the mean of the Purchase Intent.• Criterion Optimization: maximization is the objective.Driver Analysis and Product Optimization with BayesiaLab52 www.bayesia.com | www.bayesia.us
  • 53. • Search Method: We select Mean and also click on Edit Variations, which allows us to manually stipulatethe range of possible variations of each attribute. In our case, however, we had saved the actual variationsof Product No. 5 versus the competition, so we load that data set, which subsequently displays the valuesin the Variation Editor. For example, Fresh could be improved by 10.7% before catching up to thehighest-rated product in this attribute.• Search Stop Criterion: We check Maximum Number of Evidence Reached and set this parameter to 4.This means that no more than the top-four attributes will be suggested for improvement.Upon completion of all computations, we will obtain a list of product action priorities: Fresh, Fruity, Flow-ery and Wooded.The highlighted Value/Mean column shows the successive improvement upon implementation of each ac-tion. From initially 3.76, the Purchase Intent improves to 3.92, which may seem like a fairly small step.However, the importance lies in the fact that this improvement is not based on utopian thinking, but ratheron attainable product improvements within the range of competitive performance.Driver Analysis and Product Optimization with BayesiaLabwww.bayesia.com | www.bayesia.us 53
  • 54. Initially, we have the marginal distribution of the attributes and the original mean value for Purchase Intent,i.e. 3.77.To further illustrate the impact of our product actions, we will simulate their implementation step-by-step,which is available through Inference | Interactive Inference.With the selector in the toolbar, we can go through each product action step-by-step in the order in whichthey were recommended.Driver Analysis and Product Optimization with BayesiaLab54 www.bayesia.com | www.bayesia.us
  • 55. Upon implementation of the first product action, we obtain the following picture and Purchase Intent growsto 3.9. Please note that this is not a sea change in terms of Purchase Intent, but rather a realistic consumerresponse to a product change.The second change results in further subtle improvement to Purchase Intent:Driver Analysis and Product Optimization with BayesiaLabwww.bayesia.com | www.bayesia.us 55
  • 56. The third and fourth step are analogous and bring us to the final value for Purchase Intent of 3.92.Although BayesiaLab generates these recommendations effortlessly, they represent a major innovation in thefield of marketing science. This particular optimization task has not been tractable with traditional methods.ConclusionThe presented case study demonstrates how BayesiaLab can transform simple survey data into a deep un-derstanding of consumers’ thinking and quickly provides previously-inconceivable product recommenda-tions. As such, BayesiaLab is a revolutionary tool, especially as the workflow shown here may take no morethan a few hours for an analyst to implement. This kind of rapid and “actionable”12 insight is clearly abreakthrough and creates an entirely new level of relevance of research for business applications.Driver Analysis and Product Optimization with BayesiaLab56 www.bayesia.com | www.bayesia.us12 The authors cringe at the inflationary use of “actionable”, but here, for once, it actually seems appropriate.
  • 57. Appendix: The Bayesian Network Paradigm13Acyclic Graphs & Bayes’s RuleProbabilistic models based on directed acyclic graphs have a long and rich tradition, beginning with thework of geneticist Sewall Wright in the 1920s. Variants have appeared in many fields. Within statistics, suchmodels are known as directed graphical models; within cognitive science and artificial intelligence, suchmodels are known as Bayesian networks. The name honors the Rev. Thomas Bayes (1702-1761), whoserule for updating probabilities in the light of new evidence is the foundation of the approach.Rev. Bayes addressed both the case of discrete probability distributions of data and the more complicatedcase of continuous probability distributions. In the discrete case, Bayes’ theorem relates the conditional andmarginal probabilities of events A and B, provided that the probability of B does not equal zero:P(A∣B) =P(B∣A)P(A)P(B)In Bayes’ theorem, each probability has a conventional name:• P(A) is the prior probability (or “unconditional” or “marginal” probability) of A. It is “prior” in thesense that it does not take into account any information about B; however, the event B need not occurafter event A. In the nineteenth century, the unconditional probability P(A) in Bayes’s rule was called the“antecedent” probability; in deductive logic, the antecedent set of propositions and the inference ruleimply consequences. The unconditional probability P(A) was called “a priori” by Ronald A. Fisher.• P(A|B) is the conditional probability of A, given B. It is also called the posterior probability because it isderived from or depends upon the specified value of B.• P(B|A) is the conditional probability of B given A. It is also called the likelihood.• P(B) is the prior or marginal probability of B, and acts as a normalizing constant.Bayes theorem in this form gives a mathematical representation of how the conditional probability of eventA given B is related to the converse conditional probability of B given A.The initial development of Bayesian networks in the late 1970s was motivated by the need to model the top-down (semantic) and bottom-up (perceptual) combination of evidence in reading. The capability for bidirec-tional inferences, combined with a rigorous probabilistic foundation, led to the rapid emergence of Bayesiannetworks as the method of choice for uncertain reasoning in AI and expert systems replacing earlier, ad hocrule-based schemes.Driver Analysis and Product Optimization with BayesiaLabwww.bayesia.com | www.bayesia.us 5713 Adapted from Pearl (2000), used with permission.
  • 58. The nodes in a Bayesian network represent variablesof interest (e.g. the temperature of a device, the gen-der of a patient, a feature of an object, the occur-rence of an event) and the links represent statistical(informational) or causal dependencies among thevariables. The dependencies are quantified by condi-tional probabilities for each node given its parents inthe network. The network supports the computationof the posterior probabilities of any subset of vari-ables given evidence about any other subset.Compact Representation of the JointProbability Distribution“The central paradigm of probabilistic reasoning isto identify all relevant variables x1, . . . , xN in theenvironment [i.e. the domain under study], and make a probabilistic model p(x1, . . . , xN) of their interac-tion [i.e. represent the variables’ joint probability distribution].”Bayesian networks are very attractive for this purpose as they can, by means of factorization, compactlyrepresent the joint probability distribution of all variables.“Reasoning (inference) is then performed by introducing evidence that sets variables in known states, andsubsequently computing probabilities of interest, conditioned on this evidence. The rules of probability,combined with Bayes’ rule make for a complete reasoning system, one which includes traditional deductivelogic as a special case.” (Barber, 2012)Driver Analysis and Product Optimization with BayesiaLab58 www.bayesia.com | www.bayesia.us
  • 59. ReferencesBarber, David. Bayesian Reasoning and Machine Learning. Cambridge University Press, 2012.Darwiche, Adnan. Modeling and Reasoning with Bayesian Networks. 1st ed. Cambridge University Press,2009.Heckerman, D. “A Tutorial on Learning with Bayesian Networks.” Innovations in Bayesian Networks(2008): 33–82.Holmes, Dawn E., ed. Innovations in Bayesian Networks: Theory and Applications. Softcover reprint ofhardcover 1st ed. 2008. Springer, 2010.Kjaerulff, Uffe B., and Anders L. Madsen. Bayesian Networks and Influence Diagrams: A Guide to Con-struction and Analysis. Softcover reprint of hardcover 1st ed. 2008. Springer, 2010.Koller, Daphne, and Nir Friedman. Probabilistic Graphical Models: Principles and Techniques. 1st ed. TheMIT Press, 2009.Koski, Timo, and John Noble. Bayesian Networks: An Introduction. 1st ed. Wiley, 2009.Mittal, Ankush. Bayesian Network Technologies: Applications and Graphical Models. Edited by AnkushMittal and Ashraf Kassim. 1st ed. IGI Publishing, 2007.Neapolitan, Richard E. Learning Bayesian Networks. Prentice Hall, 2003.Pearl, Judea. Causality: Models, Reasoning and Inference. 2nd ed. Cambridge University Press, 2009.———. Probabilistic Reasoning in Intelligent Systems: Networks of Plausible Inference. 1st ed. MorganKaufmann, 1988.Pearl, Judea, and Stuart Russell. Bayesian Networks. UCLA Congnitive Systems Laboratory, November2000. http://bayes.cs.ucla.edu/csl_papers.html.Pourret, Olivier, Patrick Naïm, and Bruce Marcot, eds. Bayesian Networks: A Practical Guide to Applica-tions. 1st ed. Wiley, 2008.Schafer, J.L., and M.K. Olsen. “Multiple Imputation for Multivariate Missing-data Problems: A Data Ana-lyst’s Perspective.” Multivariate Behavioral Research 33, no. 4 (1998): 545–571.Spirtes, Peter; Glymour, Clark. Causation, Prediction and Search. The MIT Press, 2001.Driver Analysis and Product Optimization with BayesiaLabwww.bayesia.com | www.bayesia.us 59
  • 60. Contact InformationBayesia USA312 Hamlet’s End WayFranklin, TN 37067USAPhone: +1 888-386-8383info@bayesia.uswww.bayesia.usBayesia S.A.S.6, rue Léonard de VinciBP 11953001 Laval CedexFrancePhone: +33(0)2 43 49 75 69info@bayesia.comwww.bayesia.comBayesia Singapore Pte. Ltd.20 Cecil Street#14-01, Equity PlazaSingapore 049705Phone: +65 3158 2690info@bayesia.sgwww.bayesia.sgCopyright© 2013 Bayesia USA, Bayesia S.A.S. and Bayesia Singapore. All rights reserved.Driver Analysis and Product Optimization with BayesiaLab60 www.bayesia.com | www.bayesia.us