Package 'WordOfMouth'

Title: Estimates Economic Variables for Word-of-Mouth-Campaigns
Description: Methods for estimating profit, profit-maximizing price, demand and consumer surplus of Word-of-Mouth-campaigns on mean-field networks.
Authors: Michael Scholz [cre, aut], Thomas Woehner [aut], Ralf Peters [ctb]
Maintainer: Michael Scholz <[email protected]>
License: GPL-3
Version: 1.1.0
Built: 2024-08-21 06:05:45 UTC
Source: CRAN

Help Index


Estimates Economic Variables for Word-of-Mouth-Campaigns

Description

This packages provides classes, methods and functions for modeling Word-of-Mouth-campaigns. General model assumptions are:

  • monopoly market

  • no variable costs

  • network is the mean-field case of percolation

  • only those persons who bought a product will forward information about it

Details

Package: WordOfMouth
Type: Package
Version: 1.1.0
Date: 2021-10-04
License: GPL-3
Depends: R (>= 3.0.1), methods

Author(s)

Michael Scholz [email protected]

Thomas Woehner [email protected]

Ralf Peters [email protected]


Compares the welfare of the WoM campaign to that of a fully informed market

Description

Compares the welfare of the WoM campaign to the welfare of a fully informed market assuming a uniformly distributed willingness to pay.

Usage

compareToFIMarket(campaign)

Arguments

campaign

Word-of-Mouth campaign as instance of class WoMCampaign.

Value

Data frame containing the profit-maximizing price, the resulting demand, profit, consumer surplus and economic welfare for a fully informed market and a WoM market.

Author(s)

Michael Scholz [email protected]

Thomas Woehner [email protected]

Ralf Peters [email protected]

See Also

computeOptimalPrice computeProfit computeConsumerSurplus

Examples

network <- new("WoMNetwork", size = 1000, avgConnections = 5)
campaign <- new("WoMCampaign", network = network, seedingSize = 10, forwardProbability = 0.2)
comparison <- compareToFIMarket(campaign)
print(comparison)

Computes the expected cumulative consumer surplus

Description

Computes the expected cumulative consumer surplus for a given Word-of-Mouth campaign at a given price.

Usage

computeConsumerSurplus(campaign, price)

Arguments

campaign

Word-of-Mouth campaign as instance of class WoMCampaign.

price

Price as number in [0; 1] where 0 is the minimal and 1 is the maximal price.

Value

Expected cumulative consumer surplus.

Author(s)

Michael Scholz [email protected]

Thomas Woehner [email protected]

Ralf Peters [email protected]

See Also

computeDemand computeProfit computeOptimalPrice

Examples

network <- new("WoMNetwork", size = 1000, avgConnections = 5)
campaign <- new("WoMCampaign", network = network, seedingSize = 10, forwardProbability = 0.2)
surplus <- computeConsumerSurplus(campaign, price = 0.5)
print(surplus)

Computes the expected demand

Description

Computes the expected demand for a given Word-of-Mouth campaign at a given price.

Usage

computeDemand(campaign, price)

Arguments

campaign

Word-of-Mouth campaign as instance of class WoMCampaign.

price

Price as number in [0; 1] where 0 is the minimal and 1 is the maximal price.

Value

Expected demand in number of persons.

Author(s)

Michael Scholz [email protected]

Thomas Woehner [email protected]

Ralf Peters [email protected]

See Also

computeRoundDemand computeProfit computeConsumerSurplus computeOptimalPrice

Examples

network <- new("WoMNetwork", size = 1000, avgConnections = 5)
campaign <- new("WoMCampaign", network = network, seedingSize = 10, forwardProbability = 0.2)
demand <- computeDemand(campaign, price = 0.5)
print(demand)

Computes the information costs threshold

Description

Computes the information costs that need to be surpassed in order to generate a higher profit than in a transparent market.

Usage

computeInformationCostsThreshold(campaign)

Arguments

campaign

Word-of-Mouth campaign as instance of class WoMCampaign.

Value

Information costs in [0; 1] that need to be surpassed in order to generate a higher profit than in a transparent market.

Author(s)

Michael Scholz [email protected]

Thomas Woehner [email protected]

Ralf Peters [email protected]

See Also

computeOptimalPrice computeProfit

Examples

network <- new("WoMNetwork", size = 1000, avgConnections = 5)
campaign <- new("WoMCampaign", network = network, seedingSize = 10, forwardProbability = 0.2)
threshold <- computeInformationCostsThreshold(campaign)
print(threshold)

Computes the profit-maximizing price

Description

Computes the profit-maximizing for a given Word-of-Mouth campaign.

Usage

computeOptimalPrice(campaign)

Arguments

campaign

Word-of-Mouth campaign as instance of class WoMCampaign.

Value

Profit-maximizing price in [0; 1] where 0 is the lowest possible and 1 is the highest possible price.

Author(s)

Michael Scholz [email protected]

Thomas Woehner [email protected]

Ralf Peters [email protected]

See Also

computeDemand computeProfit computeConsumerSurplus

Examples

network <- new("WoMNetwork", size = 1000, avgConnections = 5)
campaign <- new("WoMCampaign", network = network, seedingSize = 10, forwardProbability = 0.2)
price <- computeOptimalPrice(campaign)
profit <- computeProfit(campaign, price)
print(price)
print(profit)

Computes the expected profit

Description

Computes the expected profit for a given Word-of-Mouth campaign at a given price.

Usage

computeProfit(campaign, price)

Arguments

campaign

Word-of-Mouth campaign as instance of class WoMCampaign.

price

Price as number in [0; 1] where 0 is the minimal and 1 is the maximal price.

Value

Expected profit as number of persons times price.

Author(s)

Michael Scholz [email protected]

Thomas Woehner [email protected]

Ralf Peters [email protected]

See Also

computeDemand computeConsumerSurplus computeOptimalPrice

Examples

network <- new("WoMNetwork", size = 1000, avgConnections = 5)
campaign <- new("WoMCampaign", network = network, seedingSize = 10, forwardProbability = 0.2)
profit <- computeProfit(campaign, price = 0.5)
print(profit)

Computes the expected demand per round

Description

Computes the expected demand for a given Word-of-Mouth campaign at a given price and a given round or a given round and all previous rounds

Usage

computeRoundDemand(campaign, price, round, previousRounds = TRUE)

Arguments

campaign

Word-of-Mouth campaign as instance of class WoMCampaign.

price

Price as number in [0; 1] where 0 is the minimal and 1 is the maximal price.

round

Round at which or until which the demand per round will be computed.

previousRounds

Should the demand of all previous rounds be returned or not. Default is TRUE.

Value

Expected demand in number of persons. Note that the first value in the demand vector is the number of initial consumers when previousRounds is TRUE. The number of initial consumers is (1-p)*seedingSize.

Author(s)

Michael Scholz [email protected]

Thomas Woehner [email protected]

Ralf Peters [email protected]

See Also

computeDemand computeProfit computeConsumerSurplus computeOptimalPrice

Examples

network <- new("WoMNetwork", size = 1000, avgConnections = 5)
campaign <- new("WoMCampaign", network = network, seedingSize = 10, forwardProbability = 0.2)
demand <- computeRoundDemand(campaign, price = 0.5, round = 3)
print(demand)

Computes the WoM intensity

Description

Computes the WoM intensity in a given Word-of-Mouth campaign.

Usage

computeWoMIntensity(campaign)

Arguments

campaign

Word-of-Mouth campaign as instance of class WoMCampaign.

Value

WoM intensity in [0; 1].

Author(s)

Michael Scholz [email protected]

Thomas Woehner [email protected]

Ralf Peters [email protected]

Examples

network <- new("WoMNetwork", size = 1000, avgConnections = 5)
campaign <- new("WoMCampaign", network = network, seedingSize = 10, forwardProbability = 0.2)
intensity <- computeWoMIntensity(campaign)
print(intensity)

Shows a WoMCampaign object

Description

Shows a WoMCampaign object

Usage

## S4 method for signature 'WoMCampaign'
show(object)

Arguments

object

An instance of the WoMCampaign-class

Methods

list("signature(object = \"WoMCampaign\")")

Shows an WoMCampaign object.

Author(s)

Michael Scholz [email protected]

Thomas Woehner [email protected]

Ralf Peters [email protected]


Shows a WoMNetwork object

Description

Shows a WoMNetwork object

Usage

## S4 method for signature 'WoMNetwork'
show(object)

Arguments

object

An instance of the WoMNetwork-class

Methods

list("signature(object = \"WoMNetwork\")")

Shows an WoMNetwork object.

Author(s)

Michael Scholz [email protected]

Thomas Woehner [email protected]

Ralf Peters [email protected]


Class WoMCampaign

Description

This class represents a WoM campaign that is performed on a given network to promote a durable good with no variable costs.

Slots

network

(WoMNetwork) The network to which the WoM campaign is applied.

seedingSize

(numeric) Number of consumers who are initially informed about the good by the firm.

forwardProbability

(numeric) Probability at which a consumer forwards information about the good to others.

informationCosts

(numeric) Costs to information one consumer about the good.

Objects from the Class

Objects can be created by calls of the form new("WoMCampaign", ...). This S4 class describes WoMNetwork objects.

Author(s)

Michael Scholz [email protected]

Thomas Woehner [email protected]

Ralf Peters [email protected]

Examples

network <- new("WoMNetwork", size = 1000, avgConnections = 5)
campaign <- new("WoMCampaign", network = network, seedingSize = 10, forwardProbability = 0.2)
print(campaign)

Class WoMNetwork

Description

This class represents an average random graph.

Slots

size

(numeric) The number of consumers in the network.

avgConnections

(numeric) Average number of connections per consumer.

Objects from the Class

Objects can be created by calls of the form new("WoMNetwork", ...). This S4 class describes WoMNetwork objects.

Author(s)

Michael Scholz [email protected]

Thomas Woehner [email protected]

Ralf Peters [email protected]

Examples

network <- new("WoMNetwork", size = 1000, avgConnections = 5)
print(network)