Viral Videos (Krystal & Michelle)
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
If you're familiar with YouTube and Vimeo, then you are probably familiar with what it means for a video to go "viral." This model simulates the ways in which a video can be disseminated for viewing, making it possible to explore and understand the phenomena of viral videos, as well as general video viewing.
HOW IT WORKS
The model uses viewers to represent individuals engaged in watching a video. Viewership increases (aka becomes viral) or decreases based on three types of variables: video parameters, sharing parameters, and receptiveness to connections from an individual's social network. Individuals start out as potential viewers who have yet to watch a video (gray people). They can then become initial viewers (yellow people), viewers watching as a result of their close friends telling them (green people), viewers watching as a result of Facebook (blue people), viewers watching as a result of a tweet (red people), and viewers watching as a result of publicity (orange people).
HOW TO USE IT
To use the model, press SETUP. This will create a potential group of 1000 people who may or may not watch a video based on the video parameters you select, located on the left of the Interface screen. You can increase the number of viewers by moving one or more of the sliders under VIDEO PARAMETERS to the right. To decrease the number of viewers, move the sliders to the left. Press INITIAL VIEWERS to set the model in motion. If, after you've pressed INITIAL VIEWERS, there appears to be very few viewers (you can determine the exact number of viewers by looking at the VIEW COUNT monitor), you can adjust the VIDEO PARAMETERS to see how different measures affect the decision to view a video.
Now comes the interesting part, namely adjusting the sliders located to the right of the Interface screen in order to produce the conditions you want to explore or study. In order to increase viewership even further, click on any of the buttons to the right of the model: CLOSE FRIENDS, TWEETS, FACEBOOK, PUBLICITY or SHARE ALL (the last button is a shortcut and clicking on it activates CLOSE FRIENDS, TWEETS, and FACEBOOK).
The number of additional viewers that appear are directly related to the value of the sliders positioned to the far right: FRIEND-SHARING, TWITTER-SHARING, FACEBOOK-SHARING, FRIEND-CHECK, TWITTER-CHECK, and FACEBOOK-CHECK. The first three sliders control the probability of viewers sharing a video while the last three sliders control how receptive viewers are to different connections. If the sliders are close to zero, fewer viewers will appear in the model, setting in motion an overall decrease in the number of new viewers when the simulation is running.
Finally, there are two line graphs located on the bottom right of the Interface screen. The line graph entitled VIEWS tracks the overall number of views that a video has received. The line graph entitled VIEW SOURCE tracks viewers by their point of entry, whether or not they are watching as a result of Facebook, Twitter, Publicity, Close Friends, or were part of the initial set of viewers.
THINGS TO NOTICE
Viral videos are often distributed through an individual viewer's social media networks--which typically means more social connections will lead to a higher probability of additional views of a video. The more extensive your friend group, the higher the views a video will receive. You can simulate this by moving the sliders located on the right side of the model all the way to the right. Watch the number of viewers as a direct result of tweets and Facebook posts dramatically increase!
THINGS TO TRY
Can you adjust the settings so that you have very few viewers? How about trying to get as many viewers as possible? How about trying to get as many viewers as possible from one source only, such as Facebook? Mix things up by experimenting with the sliders to understand what combination of parameters result in more viewers or less viewers. Make sure to look at the graphs to see how the different slider values you have selected are impacting viewing patterns.
EXTENDING THE MODEL
In real life, videos can go viral for many reasons. Try and change the model by including additional video parameters such as duration and the presence or lack of music. You might also try and tweak the parameters and unpack what it means to be quality, engaging, funny, and emotional.
The model is simple in that it accounts for only three sources of viewers: Facebook, Twitter, and publicity. Extend the model by incorporating more sources such as marketing or emailing outside of social media. YOu migh also want to incorporate an element of randomness as to what kind of publicity yields different amounts of new viewers.
Finally, try thinking of new ways to count viewers and plot data generated by the model. Experiment with adding new monitors or changing the sliders to switches--how does this change the model?
RELATED MODELS
The AIDS and Preferential Attachment models demonstrate similar patterns of diffusion across individuals.
CREDITS AND REFERENCES
Thanks to Michelle Carr and Krystal Villanosa for their work on this model. Thanks to Dave Weintrop, Aditi Wagh, and Uri Wilensky for their assistance with this model.
Comments and Questions
turtles-own [ viewed? quality-standard engagement-standard funny-standard emotional-standard facebook-standard twitter-standard standard-set tweet-out facebook-out friend-out tweet-care facebook-care friend-care publicity recommendations near-neighbor ] to setup clear-all ask links [ set color white ] generate-viewers reset-ticks linkage end to generate-viewers crt 1000 [ repeat 10 [let empty-patches neighbors with [not any? turtles-here] if any? empty-patches [let target one-of patches face target move-to target] ] set viewed? false set color gray set shape "person" set quality-standard random 11 set engagement-standard random 11 set funny-standard random 11 set emotional-standard random 11 set facebook-standard random 51 set twitter-standard random 51 set standard-set 0 set publicity random 101 set tweet-out random 101 set facebook-out random 101 set friend-out random 101 set tweet-care random 101 set facebook-care random 101 set friend-care random 101 if quality > quality-standard [ set standard-set standard-set + 1] if engagement > engagement-standard [ set standard-set standard-set + 1] if funny > funny-standard [ set standard-set standard-set + 1] if emotional > emotional-standard [ set standard-set standard-set + 1] ] end ;;;;;;;;;;;;;;;;; ;;;GO COOMMAND;;; ;;;;;;;;;;;;;;;;; to initial-viewers ask turtles [ if standard-set = 4 [ set color yellow set viewed? true ] ] ask turtles [ if count turtles with [color = yellow] = 0 [ repeat random 6 [ ask one-of turtles [ set color yellow set viewed? true ] ] ] ] tick end to go friend-share tweet-share facebook-share tick end to linkage let num-links (200) while [count links < num-links ] [ask one-of turtles [ let choice (min-one-of (other turtles with [not link-neighbor? myself]) [distance myself]) if choice != nobody [ create-link-with choice ] ] ] repeat 5 [ layout-spring turtles links 0.3 1 0.05 ] end ;;; ;;;SHARING & CARING PARAMETERS ;;; to friend-share ask turtles [ if friend-out < Friend-Sharing and color = yellow [ ask link-neighbors [ if friend-care < Friend-Check [ set color lime ] ] ] ] ask turtles [ if friend-out < Friend-Sharing and color = red [ ask link-neighbors [ if friend-care < Friend-Check [ set color lime ] ] ] ] ask turtles [ if friend-out < Friend-Sharing and color = blue [ ask link-neighbors [ if friend-care < Friend-Check [ set color lime ] ] ] ] ask turtles [ if friend-out < Friend-Sharing and color = lime [ ask link-neighbors [ if friend-care < Friend-Check [ set color lime ] ] ] ] ask turtles [ if friend-out < Friend-Sharing and color = orange [ ask link-neighbors [ if friend-care < Friend-Check [ set color lime ] ] ] ] tick end to tweet-share ask turtles [ if tweet-out < Twitter-Sharing and color = yellow [ ask (turtles-on neighbors4) [ if tweet-care < Twitter-Check [ set color red ] ] ] ] ask turtles [ if tweet-out > Twitter-Sharing and color = red [ ask (turtles-on neighbors4) [ if tweet-care > Twitter-Check [ set color red ] ] ] ] ask turtles [ if tweet-out > Twitter-Sharing and color = blue [ ask (turtles-on neighbors4) [ if tweet-care > Twitter-Check [ set color red ] ] ] ] ask turtles [ if tweet-out > Twitter-Sharing and color = lime [ ask (turtles-on neighbors4) [ if tweet-care > Twitter-Check [ set color red ] ] ] ] ask turtles [ if tweet-out > Twitter-Sharing and color = orange [ ask (turtles-on neighbors4) [ if tweet-care > Twitter-Check [ set color red ] ] ] ] tick end to facebook-share ask turtles [ if facebook-out < Facebook-Sharing and color = yellow [ ask (turtles-on neighbors4) [ if facebook-care < Facebook-Check [ set color blue ] ] ] ] ask turtles [ if facebook-out < Facebook-Sharing and color = blue [ ask (turtles-on neighbors4) [ if facebook-care < Facebook-Check [ set color blue ] ] ] ] ask turtles [ if facebook-out < Facebook-Sharing and color = red [ ask (turtles-on neighbors4) [ if facebook-care < Facebook-Check [ set color blue ] ] ] ] ask turtles [ if facebook-out < Facebook-Sharing and color = lime [ ask (turtles-on neighbors4) [ if facebook-care < Facebook-Check [ set color blue ] ] ] ] ask turtles [ if facebook-out < Facebook-Sharing and color = orange [ ask (turtles-on neighbors4) [ if facebook-care < Facebook-Check [ set color blue ] ] ] ] tick end to increased-views repeat (count turtles with [publicity > 70]) [make-node find-partner] tick end to wander rt random 360 fd 1 end ;;;; ;;;; FROM PREFERENTIAL ATTACHMENT ;;;; This is borrowed from the Preferential Attachment Model, which ;;;; borrowed from the lottery model. It adds links for the new ;;;; oranage people, which are generated by publicity. ;;;; to make-node [old-node] crt 1 [ set shape "person" set color orange if old-node != nobody [ create-link-with old-node [ set color pink ] ;; position the new node near its partner move-to old-node wander ] set quality-standard random 11 set engagement-standard random 11 set funny-standard random 11 set emotional-standard random 11 set facebook-standard random 51 set twitter-standard random 51 set standard-set 0 set publicity random 101 set tweet-out random 101 set facebook-out random 101 set friend-out random 101 set tweet-care random 101 set facebook-care random 101 set friend-care random 101 if quality > quality-standard [ set standard-set standard-set + 1] if engagement > engagement-standard [ set standard-set standard-set + 1] if funny > funny-standard [ set standard-set standard-set + 1] if emotional > emotional-standard [ set standard-set standard-set + 1] ] end to-report find-partner let total random-float sum [count link-neighbors] of turtles let partner nobody ask turtles [ let nc count link-neighbors ;; if there's no winner yet... if partner = nobody [ ifelse nc > total [ set partner self ] [ set total total - nc ] ] ] report partner end
There are 2 versions of this model.
Attached files
No files
This model does not have any ancestors.
This model does not have any descendants.