Brand Love and the Circular Economy

Brand Love and the Circular Economy preview image

1 collaborator

Default-person Trevor Davis (Author)

Tags

brands 

Tagged by Trevor Davis 6 days ago

circular economy 

Tagged by Trevor Davis 6 days ago

circular economy8 

Tagged by Trevor Davis 6 days ago

consumer-brand relationship 

Tagged by Trevor Davis 6 days ago

sustainability 

Tagged by Trevor Davis 6 days ago

Visible to everyone | Changeable by the author
Model was written in NetLogo 7.0.4 • Viewed 55 times • Downloaded 1 time • Run 0 times
Download the 'Brand Love and the Circular Economy' 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 model explores how Brand Love (BL) may function as a mediating mechanism in the scaling of niche circular innovations under varying levels of regime resistance.

The model combines: - niche-regime dynamics inspired by the Multi-Level Perspective (MLP), - heterogeneous consumer segments, - heavy-tail Brand Love distributions, - explicit social network diffusion, - and adaptive regime feedbacks.

The central argument operationalised in the model is that Brand Love is not primarily a direct driver of market penetration. Instead, Brand Love amplifies diffusion by increasing: - advocacy, - trust, - social legitimacy, - tolerance of inconvenience, - willingness to repair/reuse, - and peer-to-peer transmission.

The model therefore treats Brand Love as a conversion and scaling amplifier rather than a simple adoption variable.


CORE CONCEPTUAL STRUCTURE

The model contains four interacting layers:

  1. Consumer heterogeneity
  2. Brand Love formation
  3. Network diffusion
  4. Adaptive regime change

These layers interact dynamically over time.


1. CONSUMER HETEROGENEITY

Consumers are not assumed to be identical.

The population is segmented into six broad archetypes:

  • Niche enthusiasts
  • Ethical identity consumers
  • Eco-pragmatists
  • Mainstream convenience seekers
  • Price-sensitive consumers
  • Regime loyalists

Each segment differs in: - environmental concern, - trust, - convenience preference, - price sensitivity, - Brand Love potential, - and resistance to regime change.

This matters because transitions rarely diffuse evenly across society. Circular innovations tend to emerge first inside niche communities with stronger values alignment and higher tolerance for friction.


2. BRAND LOVE DISTRIBUTIONS

Heavy-tail / power-law structure

The model does NOT assume Brand Love is normally or uniformly distributed.

Instead, Brand Love potential follows a heavy-tail distribution.

This means: - most consumers have relatively weak attachment potential, - while a small minority can develop extremely strong attachment and advocacy behaviour.

This structure is intended to reflect real-world cultural and consumer systems where: - fandom, - activism, - enthusiast cultures, - ethical identity communities, - and symbolic consumption

are highly unevenly distributed.

Examples might include: - repair communities, - cycling cultures, - Patagonia-style identity attachment, - vegan or low-waste communities, - sneaker culture, - Apple enthusiasts, - maker cultures, - or sustainability subcultures.

The theoretical implication is important:

A relatively small number of highly committed consumers may exert disproportionate influence on transition trajectories.


3. ADOPTION STATES

Consumers move through four main states:

  1. Unaware
  2. Aware
  3. Trial
  4. Adopted

Trial state

The trial state represents temporary experimentation rather than commitment.

Consumers in trial: - are testing the circular innovation, - evaluating friction, - experiencing symbolic meaning, - and potentially developing Brand Love.

Trial is intentionally modelled as a temporary flow state rather than a cumulative stock.

This means: - the trial line on charts may remain smaller than the advocate line, - because advocates accumulate over time, - while trial users move through the system more quickly.

This behaviour is expected and conceptually meaningful.


4. BRAND LOVE FORMATION

Brand Love develops gradually through: - environmental concern, - trust, - awareness, - identity fit, - and successful participation in the niche.

Brand Love growth is moderated by: - personal regime resistance, - convenience barriers, - and system friction.

Consumers with higher Brand Love potential can accumulate BL more rapidly and may become advocates.

Advocacy threshold

Consumers become advocates once Brand Love exceeds a threshold.

Advocates: - increase awareness, - increase trust, - reduce perceived transition risk, - and amplify social legitimacy.

This is the key mediating mechanism in the model.


5. REGIME RESISTANCE

The regime represents incumbent socio-technical systems.

Examples might include: - fast-fashion infrastructures, - linear retail systems, - car dependency, - disposable consumption norms, - platform lock-in, - or convenience-oriented consumer systems.

Regime resistance affects: - adoption probability, - willingness to experiment, - perceived legitimacy, - and tolerance of inconvenience.

Importantly, resistance is not uniform.

Each consumer possesses: - personal regime resistance, which varies by segment and evolves over time.


6. NETWORK DIFFUSION

The model uses explicit social networks rather than purely local spatial interaction.

The network structure combines: - clustered local ties, - influencer hubs, - weak ties, - and scale-free tendencies.

Influence power

Influence power also follows a heavy-tail distribution.

A small number of actors become disproportionately influential.

When high influence power combines with high Brand Love: - diffusion can accelerate nonlinearly, - producing tipping points or cascades.

This allows the model to represent: - influencer amplification, - subculture diffusion, - niche breakout, - and viral social transmission.


7. ADAPTIVE REGIME DYNAMICS

The regime is not fixed.

As the circular niche scales: - legitimacy rises, - availability rises, - infrastructure improves, - convenience barriers decline, - price barriers decline, - and effective regime resistance weakens.

This creates a recursive feedback structure:

Brand Love -> advocacy -> adoption -> legitimacy -> availability -> weaker regime resistance -> easier diffusion

This is intended to approximate niche-regime co-evolution within transition theory.


CHART INTERPRETATION

Scaling over time

This chart contains three main lines.

Green — adopted

Share of the population that has fully adopted the circular innovation.

This is the core scaling / penetration indicator.

Yellow — trial

Consumers currently in active trial.

This is a temporary flow state, not a cumulative stock.

The yellow line may remain below the advocate line because trial users pass through the state relatively quickly.

Red — advocates

Consumers whose Brand Love exceeds the advocacy threshold.

These agents are critically important because they: - amplify transmission, - increase legitimacy, - reduce perceived risk, - and accelerate diffusion.

The red line often acts as an early-warning signal for future scaling acceleration.

In many simulations: - yellow rises first, - red emerges from committed adopters, - green accelerates later through advocacy-driven contagion.


Brand Love and awareness

This chart tracks: - average Brand Love, - and average awareness across the population.

Rising awareness without rising Brand Love may indicate shallow exposure rather than deep attachment.


Adaptive regime

This chart tracks: - effective regime resistance, - circular availability, - circular legitimacy, - and the regime shift index.

A declining resistance line combined with rising legitimacy and availability suggests: - transition destabilisation, - niche normalisation, - and weakening incumbency lock-in.


EXPERIMENTAL INTERPRETATION

The model is exploratory rather than predictive.

It is designed to help think about: - nonlinear diffusion, - emotional attachment, - transition dynamics, - and niche scaling mechanisms.

The model should not be interpreted as: - forecasting market shares, - estimating real adoption rates, - or predicting actual policy outcomes.

Instead, it is best understood as: - a conceptual simulation, - a theory exploration environment, - and a mechanism-testing framework.


THINGS TO TRY

Strong Brand Love + strong regime

High advocacy may emerge but remain trapped inside the niche.

Strong Brand Love + weakening regime

Advocacy may trigger nonlinear takeoff and broad scaling.

Policy push

Use the policy-push button to simulate: - regulation, - infrastructure, - subsidies, - or institutional support.

Regime backlash

Use the shock-regime-backlash button to simulate: - greenwashing scandals, - incumbent resistance, - trust collapse, - or hostile media framing.



PHASE 5: DYNAMIC SEGMENT EVOLUTION

In Phase 5, consumer segments are no longer fixed. Agents can shift between archetypes when social exposure, Brand Love, legitimacy and declining regime resistance make cultural transition plausible.

This changes the interpretation of the segment monitors and the new segment composition chart.

Previously, segment shares represented a static population composition. In this version, they represent an evolving cultural landscape.

Possible segment transitions

The model allows the following directional transitions:

Regime loyalist -> Mainstream convenience seeker

Mainstream convenience seeker -> Eco-pragmatist

Price-sensitive consumer -> Eco-pragmatist

Eco-pragmatist -> Ethical identity consumer

Ethical identity consumer -> Niche enthusiast

These are deliberately directional and incremental. For example, a regime loyalist does not usually become a niche enthusiast in one step. Instead, resistance softens first, then pragmatic engagement becomes possible, then identity-based commitment may emerge.

What drives segment evolution?

Segment transition probability depends on a weighted combination of:

  • Brand Love
  • circular legitimacy
  • circular availability
  • local adopter exposure
  • local advocate exposure
  • trust
  • environmental concern
  • falling price barriers
  • falling convenience barriers
  • declining personal regime resistance

This means that segment change is not random. It is a consequence of the same transition dynamics driving adoption.

Why this matters

Phase 5 turns the model from a diffusion model into a cultural transformation model.

In earlier phases, circular innovation spread across a fixed population. In Phase 5, the spread of circular innovation can also reshape the population itself.

This is important theoretically because it suggests that Brand Love may do more than increase adoption. It may help convert weak engagement into stronger identity alignment.

In other words, Brand Love can operate as:

  • an adoption amplifier,
  • a social legitimacy mechanism,
  • and a cultural identity transformation mechanism.

Segment composition chart

The Segment composition chart tracks the changing share of each consumer archetype over time.

A transition-oriented run may show:

  • falling regime loyalists,
  • falling mainstream convenience seekers,
  • rising eco-pragmatists,
  • later rising ethical identity consumers,
  • and possibly rising niche enthusiasts.

If niche enthusiasts rise sharply, it suggests that circularity is no longer just being adopted as a functional behaviour. It is becoming part of identity, social meaning and community formation.

Segment shift monitors

The segment shift monitors count cumulative transitions between archetypes.

These should be interpreted as cultural movement indicators rather than market-share indicators.

For example:

  • Loyalist -> mainstream means resistance is softening.
  • Mainstream/price -> pragmatist means circularity is becoming acceptable.
  • Pragmatist -> identity means circularity is becoming personally meaningful.
  • Identity -> niche means circularity is becoming deeply embedded in identity and advocacy.

Important interpretation

Segment evolution can create stronger nonlinear effects than adoption alone.

This is because the population becomes more receptive over time. A niche does not simply persuade more people; it changes the distribution of receptivity, meaning and resistance in the system.

This is the strongest version of the Brand Love hypothesis in the model:

Brand Love helps circular niches scale not only by increasing advocacy, but by shifting the cultural composition of the market.


INTERPRETING TICKS

A tick does not represent a precise real-world time period.

Instead, a tick represents one iteration of interaction, learning, exposure, advocacy and system adjustment within the model.

You can think of a tick as a proxy for a cycle of: - consumer interaction, - social influence, - experimentation, - Brand Love formation, - and regime adaptation.

Different processes in the model operate at different real-world speeds. For example: - social exposure may occur over hours or days, - trial behaviour over days or weeks, - identity formation over months or years, - while infrastructure and policy adaptation may unfold over years.

The model compresses these processes into repeated interaction cycles rather than calibrated calendar time.

Because the model is exploratory rather than predictive, the relative shape and interaction of curves is more important than the absolute number of ticks.

For example: - tipping points, - acceleration, - plateauing, - lock-in, - and transition phases

are generally more important than whether a specific event occurs at tick 80 or tick 120.

Very loosely, a tick may be interpreted as a period in which meaningful social exposure and behavioural adjustment can occur, perhaps weeks or months rather than days, but the model is not calibrated to a fixed empirical timescale.

THEORETICAL POSITION

The core theoretical claim embedded in the model is:

Brand Love is not simply an outcome of adoption.

Rather, Brand Love functions as: - a social amplifier, - a legitimacy mechanism, - and a diffusion accelerator within niche-regime transition processes.

This may help explain why small circular niches sometimes scale rapidly once legitimacy, advocacy and infrastructure align.

Comments and Questions

Read the related paper

This model is a playful addition to a recent paper by myself and Professor Martin Charter published in the Journal of Circular Economy Davis, T., & Charter, M. (2026). Will the Circular Economy Remain Unloved?. Journal of Circular Economy, 4(1). https://doi.org/10.55845/joce-2026-41282

Posted 6 days ago

Click to Run Model

; Brand Love and Circular Innovation Scaling
; NetLogo 7 model with interface sliders

undirected-link-breed [social-links social-link]

globals [
  circular-market-share
  average-brand-love
  average-awareness
  advocates-share
  trial-share
  aware-share
  high-brand-love-share
  median-brand-love
  niche-enthusiast-share
  ethical-identity-share
  eco-pragmatist-share
  mainstream-convenience-share
  price-sensitive-share
  regime-loyalist-share
  network-density
  influencer-share
  mean-degree
  effective-regime-resistance
  circular-availability
  circular-legitimacy
  adaptive-price-barrier
  adaptive-convenience-barrier
  regime-shift-index
  segment-shifts
  mainstream-to-pragmatist-shifts
  pragmatist-to-identity-shifts
  identity-to-niche-shifts
  loyalist-to-mainstream-shifts
]

turtles-own [
  awareness
  environmental-concern
  price-sensitivity
  convenience-preference
  brand-love
  brand-love-potential
  personal-regime-resistance
  consumer-segment
  previous-segment
  segment-tenure
  influence-power
  trust
  adoption-state
  trial-age
  advocate?
]

to setup
  clear-all

  ; Phase 4 adaptive regime state variables.
  ; These evolve as the circular niche scales.
  set effective-regime-resistance regime-resistance
  set circular-availability initial-circular-availability
  set circular-legitimacy initial-circular-legitimacy
  set adaptive-price-barrier price-barrier
  set adaptive-convenience-barrier convenience-barrier
  set regime-shift-index 0
  set segment-shifts 0
  set mainstream-to-pragmatist-shifts 0
  set pragmatist-to-identity-shifts 0
  set identity-to-niche-shifts 0
  set loyalist-to-mainstream-shifts 0

  create-turtles population-size [
    setxy random-xcor random-ycor
    set shape "default"
    set size 1.2

    set consumer-segment "unassigned"
    set previous-segment "none"
    set segment-tenure 0

    ; Phase 2 segmentation:
    ; Consumers are assigned to segments with different distributions.
    ; Brand Love potential remains heavy-tailed, but the tail is thicker
    ; among niche and identity-based circular consumers.
    assign-consumer-segment
    set advocate? false

    ; adoption-state:
    ; 0 = unaware
    ; 1 = aware
    ; 2 = trial
    ; 3 = adopted
    set adoption-state 0
    set trial-age 0

    ; Seed a small circular niche with emotionally committed early adopters.
    if who < initial-niche-size [
      ; Early adopters are disproportionately drawn from high-meaning segments.
      ifelse random-float 1 < 0.65 [
        set-niche-enthusiast
      ] [
        set-ethical-identity-consumer
      ]

      set adoption-state 3
      set trial-age 0
      set awareness 1
      set brand-love-potential max list brand-love-potential (0.70 + random-float 0.30)
      set brand-love 0.60 + (0.35 * brand-love-potential)
      set trust max list trust 0.80
    ]

    recolor
  ]

  build-network
  update-metrics
  reset-ticks
end 

to go
  ask turtles [
    move-consumer
    interact
    adoption-process
    develop-brand-love
    decay-brand-love
    set segment-tenure segment-tenure + 1
    recolor
  ]

  update-segment-evolution
  update-adaptive-regime
  update-metrics
  tick
end 

to move-consumer
  rt random 50
  lt random 50
  fd 0.4
end 

to interact
  ; Phase 3:
  ; Diffusion now occurs primarily through explicit social networks
  ; rather than purely spatial proximity.

  let social-neighbors link-neighbors

  ; fallback local interaction if isolated
  if not any? social-neighbors [
    set social-neighbors other turtles in-radius social-radius
  ]

  if any? social-neighbors [
    let adopters social-neighbors with [adoption-state = 3]

    if any? adopters [

      ; Weighted influence:
      ; highly connected high-BL advocates exert disproportionately
      ; stronger social transmission.
      let weighted-influence mean [
        (
          (brand-love * 0.45)
          + (influence-power * 0.35)
          + (ifelse-value advocate? [0.20] [0])
        )
      ] of adopters

      set awareness awareness +
        ((0.02 + weighted-influence * 0.08) * peer-influence)

      set trust trust +
        ((0.01 + weighted-influence * 0.04) * peer-influence)

      ; Social proof effect:
      ; dense adopter neighborhoods reduce perceived transition risk.
      if count adopters > 2 [
        set personal-regime-resistance
          personal-regime-resistance - 0.01
      ]
    ]
  ]

  set awareness clamp awareness 0 1
  set trust clamp trust 0 1
  set personal-regime-resistance
    clamp personal-regime-resistance 0 1
end 

to adoption-process
  ; Use a staged transition so agents cannot move
  ; unaware -> aware -> trial -> adopted in the same tick.
  ; This makes the trial state visible and behaviourally meaningful.

  if adoption-state = 0 [
    if awareness > awareness-threshold [
      set adoption-state 1
    ]
    stop
  ]

  if adoption-state = 1 [
    let trial-probability
      (
        (environmental-concern * 0.30)
        + (trust * 0.20)
        + (awareness * 0.20)
        + (policy-support * 0.20)
        + (circular-availability * 0.15)
        + (circular-legitimacy * 0.10)
        - (price-sensitivity * adaptive-price-barrier)
        - (convenience-preference * adaptive-convenience-barrier)
        - (personal-regime-resistance * 0.30)
      )

    if random-float 1 < clamp trial-probability 0 1 [
      set adoption-state 2
      set trial-age 0
    ]
    stop
  ]

  if adoption-state = 2 [
    set trial-age trial-age + 1

    ; Minimum dwell time in trial prevents immediate conversion.
    if trial-age < minimum-trial-duration [
      stop
    ]

    ; Brand Love mediates conversion from trial to adoption.
    ; Regime resistance moderates the strength of that BL effect.
    let moderated-bl-effect brand-love * (1 - personal-regime-resistance)

    let adoption-probability
      (
        base-adoption-rate
        + (moderated-bl-effect * brand-love-effect)
        + (trust * 0.25)
        + (environmental-concern * 0.15)
        + (policy-support * 0.15)
        + (circular-availability * 0.15)
        + (circular-legitimacy * 0.15)
        - (personal-regime-resistance * 0.25)
        - (price-sensitivity * adaptive-price-barrier)
        - (convenience-preference * adaptive-convenience-barrier)
      )

    if random-float 1 < clamp adoption-probability 0 1 [
      set adoption-state 3
      set trial-age 0
    ]

    stop
  ]
end 

to develop-brand-love
  if adoption-state = 2 or adoption-state = 3 [
    ; BL grows from identity fit, trust, product satisfaction and purpose alignment.
    let bl-growth
      (
        (environmental-concern * brand-love-formation-rate)
        + (trust * brand-love-formation-rate)
        + (awareness * 0.010)
        - (personal-regime-resistance * 0.010)
      )

    ; Heavy-tail Brand Love mechanism:
    ; BL potential acts as an upper-end amplifier.
    ; Low-potential consumers can still adopt, but rarely become intense advocates.
    set bl-growth bl-growth * (0.40 + brand-love-potential)
    set brand-love brand-love + bl-growth
    set brand-love clamp brand-love 0 1
  ]

  let segment-advocate-threshold advocate-threshold

  if consumer-segment = "niche enthusiast" [
    set segment-advocate-threshold advocate-threshold - 0.10
  ]

  if consumer-segment = "ethical identity" [
    set segment-advocate-threshold advocate-threshold - 0.05
  ]

  if consumer-segment = "regime loyalist" [
    set segment-advocate-threshold advocate-threshold + 0.15
  ]

  if adoption-state = 3 and brand-love > clamp segment-advocate-threshold 0 1 [
    set advocate? true
  ]
end 

to decay-brand-love
  ; BL decays if the agent has not trialled or adopted.
  if adoption-state < 2 [
    set brand-love brand-love * (1 - brand-love-decay-rate)
  ]

  ; Under a strong regime, even adopters experience friction.
  if adoption-state = 3 and personal-regime-resistance > 0.75 [
    set brand-love brand-love - (brand-love-decay-rate / 2)
    set brand-love clamp brand-love 0 1
  ]
end 

to recolor
  if adoption-state = 0 [ set color gray ]
  if adoption-state = 1 [ set color blue ]
  if adoption-state = 2 [ set color yellow ]
  if adoption-state = 3 [ set color green ]
  if advocate? [ set color red ]
end 

to update-segment-evolution
  ; Phase 5:
  ; Consumer segments are no longer fixed archetypes.
  ; They can evolve when repeated participation, Brand Love,
  ; network exposure and regime weakening make cultural transition plausible.


  ask turtles [
    if segment-tenure >= minimum-segment-tenure [

      let adopter-neighbors link-neighbors with [adoption-state = 3]
      let advocate-neighbors link-neighbors with [advocate?]

      let local-adoption-exposure 0
      let local-advocacy-exposure 0

      if any? link-neighbors [
        set local-adoption-exposure count adopter-neighbors / count link-neighbors
        set local-advocacy-exposure count advocate-neighbors / count link-neighbors
      ]

      ; Cultural pressure combines social proof, BL, legitimacy and lower resistance.
      let cultural-pressure
        (
          (brand-love * 0.30)
          + (circular-legitimacy * 0.25)
          + (local-adoption-exposure * 0.20)
          + (local-advocacy-exposure * 0.20)
          + ((1 - personal-regime-resistance) * 0.05)
        )

      ; Regime loyalists can soften into mainstream convenience seekers,
      ; usually before becoming directly pro-circular.
      if consumer-segment = "regime loyalist" [
        let p segment-evolution-rate *
          (
            (circular-legitimacy * 0.35)
            + (local-adoption-exposure * 0.25)
            + ((1 - personal-regime-resistance) * 0.25)
            + (awareness * 0.15)
          )

        if random-float 1 < clamp p 0 1 [
          evolve-to-mainstream-convenience
          set loyalist-to-mainstream-shifts loyalist-to-mainstream-shifts + 1
          stop
        ]
      ]

      ; Mainstream convenience seekers become eco-pragmatists
      ; when legitimacy and availability reduce perceived sacrifice.
      if consumer-segment = "mainstream convenience" [
        let p segment-evolution-rate *
          (
            (circular-availability * 0.30)
            + (circular-legitimacy * 0.25)
            + (local-adoption-exposure * 0.20)
            + (awareness * 0.15)
            + ((1 - adaptive-convenience-barrier) * 0.10)
          )

        if random-float 1 < clamp p 0 1 [
          evolve-to-eco-pragmatist
          set mainstream-to-pragmatist-shifts mainstream-to-pragmatist-shifts + 1
          stop
        ]
      ]

      ; Price-sensitive consumers can become eco-pragmatists
      ; mainly when price barriers fall and availability rises.
      if consumer-segment = "price sensitive" [
        let p segment-evolution-rate *
          (
            ((1 - adaptive-price-barrier) * 0.35)
            + (circular-availability * 0.25)
            + (local-adoption-exposure * 0.15)
            + (circular-legitimacy * 0.15)
            + (awareness * 0.10)
          )

        if random-float 1 < clamp p 0 1 [
          evolve-to-eco-pragmatist
          set mainstream-to-pragmatist-shifts mainstream-to-pragmatist-shifts + 1
          stop
        ]
      ]

      ; Eco-pragmatists become ethical identity consumers when BL
      ; and repeated participation make circularity part of self-concept.
      if consumer-segment = "eco-pragmatist" [
        let p segment-evolution-rate *
          (
            (brand-love * 0.35)
            + (circular-legitimacy * 0.20)
            + (local-advocacy-exposure * 0.20)
            + (trust * 0.15)
            + (environmental-concern * 0.10)
          )

        if random-float 1 < clamp p 0 1 [
          evolve-to-ethical-identity
          set pragmatist-to-identity-shifts pragmatist-to-identity-shifts + 1
          stop
        ]
      ]

      ; Ethical identity consumers become niche enthusiasts when they
      ; combine high BL, advocacy exposure and low regime resistance.
      if consumer-segment = "ethical identity" [
        let p segment-evolution-rate *
          (
            (brand-love * 0.40)
            + (local-advocacy-exposure * 0.25)
            + ((1 - personal-regime-resistance) * 0.15)
            + (influence-power * 0.10)
            + (circular-legitimacy * 0.10)
          )

        if random-float 1 < clamp p 0 1 [
          evolve-to-niche-enthusiast
          set identity-to-niche-shifts identity-to-niche-shifts + 1
          stop
        ]
      ]
    ]
  ]
end 

to evolve-to-mainstream-convenience
  set previous-segment consumer-segment
  set consumer-segment "mainstream convenience"
  set segment-tenure 0
  set environmental-concern clamp (environmental-concern + 0.05) 0 1
  set convenience-preference clamp (convenience-preference - 0.05) 0 1
  set personal-regime-resistance clamp (personal-regime-resistance - 0.08) 0 1
  set segment-shifts segment-shifts + 1
end 

to evolve-to-eco-pragmatist
  set previous-segment consumer-segment
  set consumer-segment "eco-pragmatist"
  set segment-tenure 0
  set environmental-concern clamp (environmental-concern + 0.12) 0 1
  set trust clamp (trust + 0.06) 0 1
  set convenience-preference clamp (convenience-preference - 0.08) 0 1
  set price-sensitivity clamp (price-sensitivity - 0.04) 0 1
  set personal-regime-resistance clamp (personal-regime-resistance - 0.10) 0 1
  set brand-love-potential max list brand-love-potential (heavy-tail 2.4)
  set segment-shifts segment-shifts + 1
end 

to evolve-to-ethical-identity
  set previous-segment consumer-segment
  set consumer-segment "ethical identity"
  set segment-tenure 0
  set environmental-concern clamp (environmental-concern + 0.10) 0 1
  set trust clamp (trust + 0.08) 0 1
  set brand-love-potential max list brand-love-potential (0.35 + random-float 0.45)
  set personal-regime-resistance clamp (personal-regime-resistance - 0.08) 0 1
  set segment-shifts segment-shifts + 1
end 

to evolve-to-niche-enthusiast
  set previous-segment consumer-segment
  set consumer-segment "niche enthusiast"
  set segment-tenure 0
  set environmental-concern clamp (environmental-concern + 0.08) 0 1
  set trust clamp (trust + 0.08) 0 1
  set brand-love-potential max list brand-love-potential (0.60 + random-float 0.40)
  set personal-regime-resistance clamp (personal-regime-resistance - 0.10) 0 1
  set influence-power max list influence-power (heavy-tail 1.8)
  set segment-shifts segment-shifts + 1
end 

to update-adaptive-regime
  ; Phase 4:
  ; The regime is no longer static. As the niche scales,
  ; circular availability, legitimacy and infrastructure improve.
  ; In turn, price/convenience barriers and regime resistance decline.

  let adoption-level count turtles with [adoption-state = 3] / count turtles
  let advocate-level count turtles with [advocate?] / count turtles
  let high-bl-level count turtles with [brand-love > 0.70] / count turtles

  ; Legitimacy grows through adoption plus high-BL advocacy.
  set circular-legitimacy
    circular-legitimacy
    + adaptive-regime-rate
    * (
        (adoption-level * 0.45)
        + (advocate-level * 0.35)
        + (high-bl-level * 0.20)
      )

  ; Availability grows through market share and policy support.
  set circular-availability
    circular-availability
    + adaptive-regime-rate
    * (
        (adoption-level * 0.50)
        + (policy-support * 0.25)
        + (circular-legitimacy * 0.25)
      )

  set circular-legitimacy clamp circular-legitimacy 0 1
  set circular-availability clamp circular-availability 0 1

  ; Barriers decline as availability and legitimacy rise.
  set adaptive-price-barrier
    price-barrier * (1 - (circular-availability * price-learning-effect))

  set adaptive-convenience-barrier
    convenience-barrier * (1 - (circular-availability * convenience-learning-effect))

  set adaptive-price-barrier clamp adaptive-price-barrier 0 1
  set adaptive-convenience-barrier clamp adaptive-convenience-barrier 0 1

  ; Regime resistance weakens when circular legitimacy and adoption rise.
  ; This is the key niche-to-regime feedback.
  set effective-regime-resistance
    regime-resistance
    - (
        (circular-legitimacy * legitimacy-regime-effect)
        + (adoption-level * adoption-regime-effect)
      )

  set effective-regime-resistance clamp effective-regime-resistance 0 1

  ; Slowly adjust each consumer's personal resistance toward the new regime state,
  ; preserving segment-level heterogeneity.
  ask turtles [
    let adjustment (effective-regime-resistance - personal-regime-resistance) * 0.02
    set personal-regime-resistance clamp (personal-regime-resistance + adjustment) 0 1
  ]

  set regime-shift-index
    clamp (1 - effective-regime-resistance) 0 1
end 

to shock-regime-backlash
  ; Stronger visible regime backlash event.
  ; Simulates scandals, hostile media narratives,
  ; incumbent counter-campaigns or infrastructure collapse.

  ; Structural effects.
  set circular-legitimacy circular-legitimacy * 0.45
  set circular-availability circular-availability * 0.75
  set effective-regime-resistance
    clamp (effective-regime-resistance + 0.30) 0 1

  ; Immediate consumer-level effects.
  ask turtles [

    ; Trust shock.
    set trust trust * 0.75

    ; Brand Love shock.
    set brand-love brand-love * 0.80

    ; Regime lock-in temporarily strengthens.
    set personal-regime-resistance
      clamp (personal-regime-resistance + 0.15) 0 1

    ; Awareness weakens slightly due to confusion/noise.
    set awareness awareness * 0.92

    ; Some adopters fall back into trial behaviour.
    if adoption-state = 3 and random-float 1 < 0.12 [
      set adoption-state 2
    ]

    ; Some trial users abandon the niche entirely.
    if adoption-state = 2 and random-float 1 < 0.25 [
      set adoption-state 1
    ]

    ; Weak advocates collapse first.
    if brand-love < (advocate-threshold + 0.08) [
      set advocate? false
    ]
  ]
end 

to policy-push
  ; Optional experiment button:
  ; simulates public procurement, infrastructure support, repair-rights,
  ; grants or other policy interventions that weaken regime lock-in.
  ;
  ; This deliberately does NOT change slider-backed baseline parameters
  ; such as policy-support. It changes only dynamic system state variables
  ; and agent-level conditions, keeping behaviour consistent with
  ; shock-regime-backlash.

  set circular-availability clamp (circular-availability + 0.12) 0 1
  set circular-legitimacy clamp (circular-legitimacy + 0.10) 0 1
  set effective-regime-resistance
    clamp (effective-regime-resistance - 0.10) 0 1

  ask turtles [
    set trust clamp (trust + 0.04) 0 1
    set awareness clamp (awareness + 0.05) 0 1
    set personal-regime-resistance
      clamp (personal-regime-resistance - 0.04) 0 1
  ]
end 

to build-network
  ; Hybrid network:
  ; - scale-free tendencies (hub influencers)
  ; - local clustering
  ; - weak ties

  ask turtles [
    ; Influence power also follows a heavy-tail distribution.
    set influence-power heavy-tail 2.2
  ]

  ; Create local clustered links.
  ask turtles [
    let nearby other turtles in-radius social-radius

    if any? nearby [
      let candidates n-of
        (min list local-link-target count nearby)
        nearby

      create-social-links-with candidates
    ]
  ]

  ; Create influencer hubs.
  let influencers max-n-of
    (population-size * influencer-ratio)
    turtles
    [influence-power]

  ask influencers [
    let targets other turtles with [not link-neighbor? myself]

    if any? targets [
      create-social-links-with
        n-of
        (min list influencer-links count targets)
        targets
    ]
  ]

  ; Weak-tie rewiring approximating small-world shortcuts.
  ask social-links [
    if random-float 1 < rewiring-probability [
      let a end1
      let b one-of turtles with [self != a and not link-neighbor? a]

      if b != nobody [
        ask a [
          create-social-link-with b
        ]
        die
      ]
    ]
  ]
end 

to assign-consumer-segment
  ; Segment shares are deliberately simple and fixed in Phase 2.
  ; They can be converted to sliders later.
  let r random-float 1

  if r < 0.08 [
    set-niche-enthusiast
    stop
  ]

  if r < 0.18 [
    set-ethical-identity-consumer
    stop
  ]

  if r < 0.43 [
    set-eco-pragmatist
    stop
  ]

  if r < 0.68 [
    set-mainstream-convenience-seeker
    stop
  ]

  if r < 0.85 [
    set-price-sensitive-consumer
    stop
  ]

  set-regime-loyalist
end 

to set-niche-enthusiast
  set previous-segment consumer-segment
  set consumer-segment "niche enthusiast"
  set segment-tenure 0
  set awareness clamp random-normal 0.55 0.20 0 1
  set environmental-concern clamp random-normal 0.85 0.12 0 1
  set price-sensitivity clamp random-normal 0.35 0.20 0 1
  set convenience-preference clamp random-normal 0.30 0.18 0 1
  set trust clamp random-normal 0.70 0.15 0 1
  set personal-regime-resistance clamp (effective-regime-resistance - 0.20 + random-normal 0 0.10) 0 1
  set brand-love-potential max list (heavy-tail 1.6) (0.35 + random-float 0.45)
  set brand-love 0
  set adoption-state 0
  set trial-age 0
end 

to set-ethical-identity-consumer
  set previous-segment consumer-segment
  set consumer-segment "ethical identity"
  set segment-tenure 0
  set awareness clamp random-normal 0.45 0.20 0 1
  set environmental-concern clamp random-normal 0.75 0.15 0 1
  set price-sensitivity clamp random-normal 0.45 0.20 0 1
  set convenience-preference clamp random-normal 0.40 0.18 0 1
  set trust clamp random-normal 0.62 0.18 0 1
  set personal-regime-resistance clamp (effective-regime-resistance - 0.10 + random-normal 0 0.12) 0 1
  set brand-love-potential max list (heavy-tail 1.9) (0.20 + random-float 0.45)
  set brand-love 0
  set adoption-state 0
  set trial-age 0
end 

to set-eco-pragmatist
  set previous-segment consumer-segment
  set consumer-segment "eco-pragmatist"
  set segment-tenure 0
  set awareness clamp random-normal 0.35 0.20 0 1
  set environmental-concern clamp random-normal 0.58 0.18 0 1
  set price-sensitivity clamp random-normal 0.55 0.20 0 1
  set convenience-preference clamp random-normal 0.55 0.18 0 1
  set trust clamp random-normal 0.52 0.18 0 1
  set personal-regime-resistance clamp (effective-regime-resistance + random-normal 0 0.14) 0 1
  set brand-love-potential heavy-tail 2.4
  set brand-love 0
  set adoption-state 0
  set trial-age 0
end 

to set-mainstream-convenience-seeker
  set previous-segment consumer-segment
  set consumer-segment "mainstream convenience"
  set segment-tenure 0
  set awareness clamp random-normal 0.30 0.18 0 1
  set environmental-concern clamp random-normal 0.40 0.18 0 1
  set price-sensitivity clamp random-normal 0.45 0.20 0 1
  set convenience-preference clamp random-normal 0.78 0.14 0 1
  set trust clamp random-normal 0.45 0.18 0 1
  set personal-regime-resistance clamp (effective-regime-resistance + 0.10 + random-normal 0 0.12) 0 1
  set brand-love-potential heavy-tail 3.0
  set brand-love 0
  set adoption-state 0
  set trial-age 0
end 

to set-price-sensitive-consumer
  set previous-segment consumer-segment
  set consumer-segment "price sensitive"
  set segment-tenure 0
  set awareness clamp random-normal 0.30 0.18 0 1
  set environmental-concern clamp random-normal 0.42 0.20 0 1
  set price-sensitivity clamp random-normal 0.82 0.12 0 1
  set convenience-preference clamp random-normal 0.60 0.18 0 1
  set trust clamp random-normal 0.42 0.18 0 1
  set personal-regime-resistance clamp (effective-regime-resistance + 0.05 + random-normal 0 0.13) 0 1
  set brand-love-potential heavy-tail 3.2
  set brand-love 0
  set adoption-state 0
  set trial-age 0
end 

to set-regime-loyalist
  set previous-segment consumer-segment
  set consumer-segment "regime loyalist"
  set segment-tenure 0
  set awareness clamp random-normal 0.25 0.16 0 1
  set environmental-concern clamp random-normal 0.25 0.16 0 1
  set price-sensitivity clamp random-normal 0.50 0.20 0 1
  set convenience-preference clamp random-normal 0.75 0.15 0 1
  set trust clamp random-normal 0.35 0.16 0 1
  set personal-regime-resistance clamp (effective-regime-resistance + 0.25 + random-normal 0 0.10) 0 1
  set brand-love-potential heavy-tail 3.8
  set brand-love 0
  set adoption-state 0
  set trial-age 0
end 

to update-metrics
  set circular-market-share
    count turtles with [adoption-state = 3] / count turtles

  set trial-share
    count turtles with [adoption-state = 2] / count turtles

  set aware-share
    count turtles with [adoption-state = 1] / count turtles

  set advocates-share
    count turtles with [advocate?] / count turtles

  set average-brand-love mean [brand-love] of turtles
  set average-awareness mean [awareness] of turtles
  set high-brand-love-share count turtles with [brand-love > 0.70] / count turtles
  set median-brand-love median [brand-love] of turtles

  set niche-enthusiast-share count turtles with [consumer-segment = "niche enthusiast"] / count turtles
  set ethical-identity-share count turtles with [consumer-segment = "ethical identity"] / count turtles
  set eco-pragmatist-share count turtles with [consumer-segment = "eco-pragmatist"] / count turtles
  set mainstream-convenience-share count turtles with [consumer-segment = "mainstream convenience"] / count turtles
  set price-sensitive-share count turtles with [consumer-segment = "price sensitive"] / count turtles
  set regime-loyalist-share count turtles with [consumer-segment = "regime loyalist"] / count turtles

  set network-density
    count social-links /
    ((count turtles * (count turtles - 1)) / 2)

  set influencer-share
    count turtles with [influence-power > 0.70] / count turtles

  set mean-degree mean [count link-neighbors] of turtles
end 

to-report heavy-tail [alpha]
  ; Returns 0..1 with a heavy right tail.
  ; Most values are near zero, while a few agents are close to one.
  ; Higher alpha makes the tail thinner; lower alpha makes super-fans more common.
  let u random-float 1
  let value ((1 - u) ^ (-1 / alpha)) - 1
  report clamp (value / 10) 0 1
end 

to-report clamp [value low high]
  report max list low (min list value high)
end 

There is only one version of this model, created 6 days ago by Trevor Davis.

Attached files

File Type Description Last updated
Brand Love and the Circular Economy.png preview Preview for 'Brand Love and the Circular Economy' 6 days ago, by Trevor Davis Download

This model does not have any ancestors.

This model does not have any descendants.