Word-of-mouth with Information Seeking
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
Studies on word-of-mouth identify two facets in the transmission of information: seeking and spreading. People seek out for information when they become aware of an innovation, in order to gather the expert knowledge required to understand it. Only when they are aware and expert, people can decide to adopt or reject. Past models only saw word-of-mouth as one dimensional epidemic dynamics (Susceptible, Infective, Removed); here we provide a minimalist model to study what happens if we consider both awareness and expertise. In this model, a small proportion of the population is initially holding expertise; the question is how many agents will achieve to gather it because of advertisement or peers raising their curiosity.
Information seeking is only possible if an individual can hold at least two levels of knowledge, namely awareness and expert knowledge:
- awareness: does the individual knows the existence of the innovation, even if s/he does not understand it? Encoded as 3 levels: U, S, A
- Unaware: the individual does not know the existence of the innovation
- aware & Seeking: the individual heard about the existence of the innovation, and is curious of it, so s/he is seeking for more information around him/her
- passively Aware: the individual knows the existence of the innovation but is not searching for information (maybe s/he did before)
- expertise: the individual holds expertise, either because he’s interested in this domain/brand/category of innovation or because someone else passed him this expertise. We define it as 3 levels: I, P, K
- Ignorant: the individual does not know the expert knowledge required to understand the innovation
- knowledgeable & Promoting: the individual discovered the expert knowledge, and because s/he understands the interest of it, is promoting it
- passively Knowledgeable: the individual holds the expert knowledge, does not spread the word proactively, but answers questions if questioned
The goal of an institution driving a communication campaign is to achieve to have a population which is not only aware, but also holds the expert knowledge required to assess it. Using the model, one can explore the following questions:
- is it more efficient to design advertisement so people are curious of it and engage into information seeking (parameter curiousness), or make them speak about it when they understood the innovation (parameters supporters and enthusiastic)?
- what it is the impact of the social network on the diffusion dynamics?
- how efficient is word-of-mouth for individuals to retrieve the expertise scattered throughout the population?
HOW IT WORKS
Each agent in the population represents an individual. Individuals have constant characteristics constant during the simulation:
- curious individuals start seeking out information when they become aware; else they are just passively aware.
- enthusiastic individuals start promoting the innovation when they receive the expertise after being aware
- supporter individuals start promoting the innovation when they receive the awareness after being knowledgeable
Individuals also have a state of knowledge which evolves during the simulation. It is made of both awareness and expertise knowledge, so individuals hold a tuple (awareness, expertise), for instance (Unaware, Ignorant) for most of them, or (Unaware, Knowledgeable) for people holding the generic expertise but unaware of the innovation of interest.
During initialization, a population of agents is created being in state (Unaware, Ignorant), meaning agents first do not know the existence of the innovation (awareness knowledge) and also don't hold the expertise required to understand it (expert knowledge). A proportion "initial-proportion-knowledgeable" is set to (Unaware, Knowledgeable): they are not aware of the existence of the innovation, but they hold the expertise required to understand it (for instance because they know the category of production, a similar innovation, the brand of the product, attended a training, etc.).
At setup time, the network indicated as a parameter is also loaded and used as a social network in the model. This network defines the structure of interactions in the population.
Also during initialization, agents are randomly assigned three personality characteristics: curious, enthusiastic, supporter, according to the parameters "proportion-curious", "proportion-enthusiastic", "proportion-supporter" defined by the user.
Each time step (tick):
- the advertisement campaign reaches a given proportion of the population and sends them awareness.
- the individuals linked together are offered the possibility to interact. If one of them is in state Seeking or Promoting, then an interaction takes place; each individual transmits its knowledge to the other individual.
The individual state of knowledge is driven by the following rules (which are easier to understand with the figures on the related publication, see "how to cite" below):
- when an (Unaware,Ignorant) agent receives awareness (by advertisement or an interaction): he becomes (Seeking,Ignorant) if he is curious, else he becomes (Aware,Ignorant)
- when an (Unaware,Ignorant) agent receives expertise (through an interaction): he becomes (Unaware,Promoting) if he is enthusiastic, else he becomes (Unaware,Knowledgeabe)
- when a (Seeking,Ignorant) individual is seeking since more than a timeout parameter duration-seek, he becomes (Aware,Ignorant) (meaning he stops seeking)
- when a (Seeking,Ignorant) individual receives expertise (through an interaction): if he is enthusiatic, he stops seeking and starts promoting, thus becomes (Aware,Promoting). Else he stops seeking and becomes passively Knowledgeable: (Aware,Knowledgeable).
- when an (Aware,Ignorant) individual receives expertise: if he is enthusiatic, he becomes (Aware,Promoting), else he becomes (Aware,Knowledgeable)
- when an (Unaware,Promoting) individual receives awareness, he gets awareness and keeps promoting, so he becomes (Aware,Promoting)
- when an (Unaware,Promoting) individual is promoting since more than a timeout parameter duration-promoting, he becomes (Unaware,Knowledeagble) (meaning he stops promoting)
- when an (Unaware,Knowledgeable) individual receives awareness, it means someone expert discovers the innovation; if he is supporter he becomes (Aware,Promoting), else he becomes (Aware,Knowledgable)
HOW TO USE IT
Set proportion-curious, proportion-enthusiatic, proportion-supporters to 0.3; set initial-proportion-knowledgeable to 0.03; that's a way to see many things to happen. Click "setup" then "run".
THINGS TO NOTICE
Look at the "diffusion" plot. The green and orange curves represent the people Seeking and Promoting the innovation; the diffusion of knowledge is first bootstrapped by people who Seek out for information (if there are enough curious) and thus also propagate the existence of awareness. There is first a diffusion of seeking: an "hype" is increasing in the population of people who want to know more. Then when people Seeking for information achieve to find expertise held by one of the few initial experts, they hold the expertise and can pass it back to others. Information seeking acts as a bootstrap for expertise retrieval.
Notice that at the end of the simulation, a large part of the population got the expertise, despite the very low initial proportion of expertise in the population (3%).
Look at the network view of the population. Green edges mean someone discovered awareness thanks to this edge; orange than expertise was propagated; purple that both occurred. At the beginning many awareness cascades happen, where each Seeker is "contaminating" other curious entities. When a Seeker meets an expert, then he becomes expert, and can thus answer the questions asked by people around him; so there is the apparition of "information retrieval chains" in purple, in which individuals A made B curious who made C curious, C gets expertise from D, then C becomes knowledgeable, then tells expertise to B, who passes it to A, etc. This type of chain is capital in the model, and raises the question of their actual existence in the field.
Note how on the diffusion plot the S-curve of the proportion of awareness is always way higher than the curve "AK" (Aware and Knowledgeable). Measuring the impact of advertisement would only measure how many people were made aware, but would not quantify how many people hold enough information to understand and adopt the innovation.
THINGS TO TRY
Set proportion-curious to 0, so there is no information seeking anymore, falling back to a pure epidemic setting. Explore the proportions of enthusiastic and supporters required to reach high levels of awareness and knowledge at the end of the simulation.
Try also a high proportion of curious and few enthusiastic and supporters; observe how we actually need both seeking and promotion to reach efficient information diffusion.
ADVANCED USAGE
For computing large simulations, it is better disabling the graphical user interface using the "with-gui" switch at the bottom of the interface.
NETLOGO FEATURES
Network loading, generation, display, usage to represent a social network.
HOW TO CITE
If you mention this model in a publication, we ask that you include the citations below.
Samuel Thiriot, Word-of-mouth dynamics with information seeking: Information is not (only) epidemics, Physica A: Statistical Mechanics and its Applications, Volume 492, 2018, Pages 418-430, ISSN 0378-4371, https://doi.org/10.1016/j.physa.2017.09.056. (http://www.sciencedirect.com/science/article/pii/S0378437117309482)
Comments and Questions
extensions [nw] globals [ ticks-for-peak-A ;; the tick for the max of Awareness (was never higher later) last-max-peak-A ticks-for-peak-AK ;; the tick for the max of AK (was never higher later) last-max-peak-AK ticks-last-activity ; the last tick when something happened ] ;; defines the type used for links undirected-link-breed [edges edge] ;; "turtles" (in the good old netlogo terminology) ;; represent individuals holding states for awareness and an expertise ;; they are also nodes in the social network turtles-own [ unaware? ;; state on the awareness dimension: if true, the turtle is unaware seeking? ;; state on the awareness dimension: if true, the turtle is seeking (aware and search for info) aware? ;; state on the awareness dimension: if true, the turtle is aware (and not seeking) ignorant? ;; state on the expertise dimension: if true, the turtle is ignorant proactive? ;; state on the expertise dimension: if true, the turtle is knowledgeable and proactively passing the word knowledgeable? ;; state on the expertise dimension: if true, the turtle is knowledgeable but passive ; characteristics which remain constant curious? ;; if true, this individual would like to seek actively information enthusiastic? ;; if true, thisindividual would ike to promote his knowledge supporter? time ; if > 0, the time to remain in this step ] ;; "links" represent social links. ;; their states are just used to understand what happens during the simulation ;; (visualisation) but not for computations. links-own [ cascade-awareness? cascade-expertise? chain-retrieval? ] to-report result-A report (count turtles with [not unaware?] / count turtles) end to-report result-AK report count turtles with [(not unaware?) and (not ignorant?)] / count turtles end to-report genlab-outputs report ["result-AK" "result-A" ] end to setup-network-load ;; load the network from the file and also initialize their state show "creating network" nw:generate-watts-strogatz turtles links count-individuals count-neighboors 0.1 [ ; for visual reasons, we don't put any turtles *too* close to the edges setxy (random-xcor * 0.8) (random-ycor * 0.8) set size 1.5 set unaware? true set seeking? false set aware? false set ignorant? true set proactive? false set knowledgeable? false set time 0 ] show "loaded links and turtles" show count edges show count turtles ;; also layout it for beauty purpose if (with-gui) [ ifelse (count-individuals < 1500) [ show "network graphical layout..." layout-radial turtles links (turtle 0) repeat 200 [layout-spring turtles links 0.1 5 5] ] [ show "too many nodes for a beautiful layout, doing a quick layout, sorry" layout-radial turtles links (turtle 0) ] ] show "end of init, let's play!" end to setup clear-all setup-network-load setup-turtles ; init the characteristics ask turtles [ set curious? false set enthusiastic? false set supporter? false ] ask n-of (proportion-curious * count turtles) turtles [ set curious? true ] ask n-of (proportion-enthusiastic * count turtles) turtles [ set enthusiastic? true ] ask n-of (proportion-supporters * count turtles) turtles [ set supporter? true ] ask turtles [ set shape "circle" if curious? [ set shape "triangle" ] if enthusiastic? or supporter? [ set shape "square"] if curious? and (enthusiastic? or supporter?) [set shape "pentagon"] if (with-gui) [ set-color ] ] set ticks-for-peak-A 0 set ticks-for-peak-AK 0 set last-max-peak-A 0 set last-max-peak-AK 0 set ticks-last-activity 0 ask n-of (initial-proportion-knowledgeable * count turtles) turtles [ become-knowledgeable ] ask links [ set chain-retrieval? false set cascade-expertise? false set cascade-awareness? false set color gray ] reset-ticks end to setup-turtles if (with-gui) [ set-default-shape turtles "circle" ] end to go ; stopping condition if ( ((ticks < advertisement-duration) and not (any? turtles with [ proactive? or seeking? or unaware?])) or ((ticks >= advertisement-duration) and not (any? turtles with [ proactive? or seeking?])) ) [ stop ] ; change the state of agents which are in timeout manage-timeouts ; inform with advertisement if (ticks < advertisement-duration) [ ask n-of (advertisement-proportion-per-step * count turtles) turtles [ receive-advertisement ] ] ; change from proactive to knowledage, or seeking to aware exchange-info ; detect outputs related to time update-ticks-detection tick end to update-ticks-detection let prop_A (count turtles with [aware?] / count turtles) if (prop_A > last-max-peak-A) [ set ticks-for-peak-A ticks set last-max-peak-A prop_A ] let prop_AK (count turtles with [not unaware? and not ignorant?] / count turtles) if (prop_AK > last-max-peak-AK) [ set ticks-for-peak-AK ticks set last-max-peak-AK prop_AK ] set ticks-last-activity max list ticks-for-peak-A ticks-for-peak-AK end to set-color if (with-gui) [ if (unaware? and ignorant?) [ set color gray set label "UI"] if (unaware? and proactive?) [ set color orange set label "UP"] if (unaware? and knowledgeable?) [ set color brown set label "UK"] if (seeking? and ignorant?) [ set color green set label "SI"] if (aware? and ignorant?) [ set color gray set label "AI"] if (aware? and proactive?) [ set color red set label "AP"] if (aware? and knowledgeable?) [ set color violet set label "AK"] ; these cases are errors if (seeking? and proactive?) [ set color green set label "!SP" print "illegal SP" print who] if (seeking? and knowledgeable?) [ set color green set label "!SK" print "illegal SK" print who] ] end to become-unaware ;; turtle procedure set unaware? true set seeking? false set aware? false set time 0 set-color end to become-seeking ;; turtle procedure if (unaware?) [ set unaware? false set seeking? true set aware? false set time duration-seek set-color ] end to become-aware ;; turtle procedure set unaware? false set seeking? false set aware? true set time 0 set-color end to become-ignorant ;; turtle procedure set ignorant? true set proactive? false set knowledgeable? false set time 0 set-color end to become-proactive ;; turtle procedure ;show "becoming proactive" set ignorant? false set proactive? true set knowledgeable? false set time duration-proactive if (seeking?) [ set seeking? false set aware? true ] set-color end to become-knowledgeable ;; turtle procedure set ignorant? false set proactive? false set knowledgeable? true set time 0 if (seeking?) [ set seeking? false set aware? true ] set-color end to inform-someone ask one-of turtles [ become-proactive ] end to advertise-someone ask one-of turtles [ receive-advertisement ] end to receive-advertisement if unaware? [ if (ignorant?) [ ifelse (curious?) [ become-seeking] [ become-aware] ] if (knowledgeable?) [ become-aware if (supporter?) [ become-proactive] ] ] end to receive-knowledge ;show "receive knowledge" if ignorant? [ ;show "receive knowledge 2" ifelse enthusiastic? [ become-proactive ] [ become-knowledgeable ] ] end to manage-timeouts ask turtles with [time > 0 and (seeking? or proactive?)] [ set time (time - 1) ] ask turtles with [proactive? and time = 0] [ become-knowledgeable ] ask turtles with [seeking? and time = 0] [ become-aware ] end ; when agent a1 meets a2, then a2 will receive any piece of unknown information from a1 to-report exchange-info-agents [ a1 a2 ] let exchange false if ( (not [unaware?] of a1) and ([unaware?] of a2)) [ ask a2 [receive-advertisement] set exchange true ] if ( (not [ignorant?] of a1) and ([ignorant?] of a2)) [ ask a2 [receive-knowledge] set exchange true ] report exchange end to exchange-info ; by default, all the links are gray ; drive a given number of links ask n-of (probability-link-meeting * count links) links [ ; so these links are at least active ; set color white if ( ( [seeking?] of end1 ) or ( [seeking?] of end2) or ( [proactive?] of end1 ) or ( [proactive?] of end2 )) [ ; the interaction takes place let ignorant-before? [ignorant?] of end1 or [ignorant?] of end2 let unaware-before? [unaware?] of end1 or [unaware?] of end2 let seeking-before? [seeking?] of end1 or [seeking?] of end2 let exchange12 (exchange-info-agents end1 end2) let exchange21 (exchange-info-agents end2 end1) if [not ignorant?] of end1 and [not ignorant?] of end2 and ignorant-before? [ set cascade-expertise? true if seeking-before? [ set chain-retrieval? true ] ] if [not unaware?] of end1 and [not unaware?] of end2 and unaware-before? [ set cascade-awareness? true ] set color gray if chain-retrieval? [ set color violet set thickness 0.4 ] if color = gray and cascade-awareness? [ set color green set thickness 0.4 ] if color = gray and cascade-expertise? [ set color orange set thickness 0.4 ] ] ] end ; Copyright 2016 Samuel Thiriot. ; See Info tab for full copyright and license.
There is only one version of this model, created almost 7 years ago by Samuel Thiriot.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
Word-of-mouth with Information Seeking.png | preview | Preview for 'Word-of-mouth with Information Seeking' | almost 7 years ago, by Samuel Thiriot | Download |
This model does not have any ancestors.
This model does not have any descendants.