Malls versus online shopping

Malls versus online shopping preview image

2 collaborators

Terry Bossomaier (Team member)

Tags

(This model has yet to be categorized with any tags)
Visible to everyone | Changeable by the author
Model was written in NetLogo 7.0.3 • Viewed 20 times • Downloaded 0 times • Run 0 times
Download the 'Malls versus online shopping' modelDownload this modelEmbed this model

Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)


WHAT IS IT?

This is a model that explains online versus bricks and mortar purchasing. The agents choose between purchasing an item online or from a local mall or brick and mortar retailer (BMR). The agents also share their experiences with a social network.

HOW IT WORKS

Agents move according to the ratio of BMR /online experience. Online experience is governed by the purchase of something of Value less online risk. BMR experience is driven by value, immediate gratification and post sales service less overhead cost which is the number of customer required to breakeven / divided by current customers.

HOW TO USE IT

The model shows how a mall manager might want to invest in customer service and/ or entertainment and have a large offering of products in order to attract consumers. Convearsely, the online retailer should focus simply on value provided and online risk.

THINGS TO NOTICE

The model is quite senstive to changes in the mall conditions, rather than the online enviroment. The importance of customer service and entertainment in the mall is shown up well in this model.

THINGS TO TRY

You may want to move sliders to examine differing catergories of product of high and low value where buying products / services online may be risky. Also examine the importance of consumers waiting and customer service are examined in this model. Note that larger malls need to invest more in entertainment and customer service than small malls.

EXTENDING THE MODEL

You may want to consider adding in various retailing categories or perhaps develop a model that uses webgromming or mixed model retailing of visiting, comparing prices then deciding to shop online or in a store.

NETLOGO FEATURES

Dr. Duncan has allowed users to shift agents (customers) between the Bricks and Mortar retailer and online retailer.

RELATED MODELS

There is an additional model which takes into account different reasons for visiting a mall and includes wider categories which might make a person stay longer such as enteratainment and food and coffee. See Duncan, Roderick, Bossomaier, Terry, D’Alessandro, Steven and Murphy, Danny (2015) Clothes maketh the man and the regional mall, The 12th International Multidisciplinary Modelling and Simulation Multi-Conference, Bergeggi, Italy.

CREDITS AND REFERENCES

Duncan, Roderick, Bossomaier, Terry and D’Alessandro, Steven (2014) The defence of bricks and mortar retailing, 13th International Conference on Modelling and Applied Simulation, Bordeaux, France: 111-116, available online at http://www.msc-les.org/conf/mas2014/

Comments and Questions

Please start the discussion about this model! (You'll first need to log in.)

Click to Run Model

globals
  ;;variables in the model
[
  retailing-patches
  residential-patches
  house-patches
  average-exp-bricks
  average-exp-online
  number-customers-bricks
  number-customers-online


]


breed [customers customer]
customers-own
[
  house-xcor
  house-ycor
  pref-distance
  gossip-weight
  exp-online
  exp-bricks
  new-exp-online
  new-exp-bricks
  shopping
  prob-choice-bricks
]

breed [houses house]
breed [retailer retailers]

patches-own
[
]

to setup
  clear-all
  setup-patches
  setup-agents
  setup-networks
  reset-ticks
end 

to setup-patches

  ;; create the 'house patches'
  set residential-patches patches with [(pycor >= 0) and (pycor <= 31)]
  ask residential-patches [ set pcolor green ]


  ;; create the 'retailing patches'
  set retailing-patches patches with [(pycor >= 32) and (pycor <= 47)]
  ask retailing-patches [  set pcolor brown]

  set house-patches patches with [(pxcor mod 6 = 3) and (pycor mod 6 = 3) and (pycor < 31)]
end 

to setup-agents
  set-default-shape customers "person"
  create-customers (initial-number-customers)
  [
    set exp-online random-float 1
    set exp-bricks random-float 1
    set color 4 + ((exp-bricks - exp-online) * 10)
    set gossip-weight initial-gossip-weight
    move-to one-of residential-patches
    set house-xcor xcor
    set house-ycor ycor
  ]

  set-default-shape houses "house"
  create-houses (40)
  [
    set color brown
    move-to one-of house-patches with [count houses-here = 0]
  ]

  set-default-shape retailer "building store"
  create-retailer (3)
  [
    set color red
    set size 10
    setxy 24 40
  ]
end 

to setup-networks
  ask customers
  [
   if ((random-float 1) < prob-links)
    [
      create-link-with one-of customers with [distance myself > 0]
    ]

  ]
  ask links [set color blue]
end 

to layout
  wait 0.05
  layout-spring customers links 0.2 5 1
  ask customers with [[pcolor] of patch-here != green]
  [
    move-to one-of patches with [(distance myself < 3) and (pcolor = green)]
    set house-xcor xcor
    set house-ycor ycor
  ]
end 

to move-customers
  ask customers
  [
    set prob-choice-bricks (exp (beta * (exp-bricks - exp-online))) / (1 + (exp (beta * (exp-bricks - exp-online)))) ;; Equation 1 Pr (i chooses BMR)
    ifelse (random-float 1 < prob-choice-bricks)[move-to one-of retailing-patches][setxy house-xcor house-ycor]

  ]
end 

to update-experience
  set number-customers-bricks count customers with [[pcolor] of patch-here = brown]
  set number-customers-online count customers with [[pcolor] of patch-here = green]
  ask customers
  [
    if ([pcolor] of patch-here = green)
    [
      set exp-online  (value - random-float online_risk) / 100 ;; Equation 1 online experience
      set shopping "online"
    ]
    if ([pcolor] of patch-here = brown)
    [
      set exp-bricks  ((value +  random-float immediacy-importance + random-float post-sales-importance + random-float Mall_entertain - (Breakeven_custom) / number-customers-bricks)) / 400 ;; Equation 3 BMR experience
      set shopping "bricks"
    ]
    set new-exp-online exp-online
    set new-exp-bricks exp-bricks
  ]


    ask customers with [count link-neighbors > 0]
    [

      ask link-neighbors
       [
        set new-exp-online (1 - [gossip-weight] of myself) * exp-online + (([gossip-weight] of myself) * ([exp-online] of myself))    ;; agents shares gossip with linked agents
        set new-exp-bricks (1 - [gossip-weight] of myself) * exp-bricks + (([gossip-weight] of myself) * ([exp-bricks] of myself))    ;; agents shares gossip with linked agents
       ]

      set color 4 + (exp-bricks - exp-online) / 10

    ]

    ask customers  with [count link-neighbors > 0]
    [
      set exp-bricks new-exp-bricks
      set exp-online new-exp-online
    ]
end 

to mouse-move
  ;When enable by actived the button allows individual agents to be moved.
  if mouse-down? [
    let candidate min-one-of customers [distancexy mouse-xcor mouse-ycor]
    if [distancexy mouse-xcor mouse-ycor] of candidate < 1 [
      while [mouse-down?] [
        ask candidate [ setxy mouse-xcor mouse-ycor ]
      ]
    ]
  ]
end 

to return-customers-to-houses
  ask customers
  [
  set xcor house-xcor
  set ycor house-ycor
  ]
end 



;;main routine

to go
  move-customers
  update-experience
  set average-exp-online mean [exp-online] of customers * 100 ;;average satisfaction experience of online expressed as a percentage
  set average-exp-bricks mean [exp-bricks] of customers * 100;; average satisfaction experience with brick and mortar retailing expressed as percentage
  if number-customers-bricks = 0 [stop]
  if number-customers-online = 0 [stop]

  tick
end 

There is only one version of this model, created 2 days ago by Steven D'Alessandro.

Attached files

File Type Description Last updated
Malls versus online shopping.png preview Preview for 'Malls versus online shopping' 2 days ago, by Steven D'Alessandro Download

This model does not have any ancestors.

This model does not have any descendants.