Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

summary.dirichlet

Theoretical summary statistics from the Dirichlet model.


Description

This function summarizes a 'dirichlet' object. It is a method for the generic function summary of class 'dirichlet'. It calculate four types of theoretical summary statistics, which can be compared with the corresponding observed statistics.

Usage

## S3 method for class 'dirichlet'
summary(object, t = 1, type = c("buy", "freq", "heavy", "dup"),
digits = 2, freq.cutoff = 5, heavy.limit = 1:6, dup.brand = 1, ...)

Arguments

object

An object of "dirichlet" class.

t

Multiple of the base time period. For example, if the assumed base time period is quarterly, then t=4 would mean annually. Default to one.

type

A character vector that specifies which types of theoretical statistics (during the time period indicated by t) are to be calculated. Four character strings can be listed:

buy

Theoretical brand penetration, buying rate, and the buying rate of the category per brand buyer.

freq

Distribution of the number of brand purchases.

heavy

Theoretical brand penetration and buying rate among category buyers with a specific frequency range.

dup

Brand duplication (proportion of buyers of a particular brand also buying other brand).

digits

Number of decimal digits to control the rounding precision of the reported statistics. Default to 2.

freq.cutoff

For the type="freq" table, where to cut off and lump the tail of the frequency distribution.

heavy.limit

For the type="heavy" table, a vector containing the specific purchase frequency range of the category buyers. The upper-bound of the frequency is nstar.

dup.brand

For the type="dup" table, the focal brand. Defaul to the first brand in the brand list.

...

Other parameters passing to the generic function.

Details

The output corresponds to the theoretical portion of the Table 3, 4, 5, 6 in the reference paper. We also have another set of functions (available upon request) that put observed and theoretical statistics together for making tables that resemble those in the reference.

Let P_n be the probability of a consumer buying the product category n times. Then P_n has a Negative Binomial Distribution (NBD). Let p(r_j|n) be the probability of making r_j purchases of brand j, gien that n purchases of the category having been make (r_j≤q n). Then p(r_j|n) has a Beta-Binomial distribution.

The theoretical brand penetration b is then

b = 1 - ∑_{n=0} P_n p(0|n)

The theoretical brand buying rate w is

w = \frac{∑_{n=1} \{ P_n ∑_{r=1}^n r p(r|n) \}}{b}

and the category buying rate per brand buyer w_P is

w_P = \frac{∑_{n=1} \{ n P_n [ 1 - p(0|n)] \}}{b}

The brand purchase frequency distribution is

f(r) = ∑_{n ≥q r} P_n p(r|n)

The brand penetration given a specific category purchase frequency range R=\{i_1, i_2, i_3, …\} is

1 - \frac{∑_{n \in R} P(n) p(0|n)}{∑_{n \in R} P(n)}

The brand buying rate given a specific category purchase frequency range R=\{i_1, i_2, i_3, …\} is

\frac{∑_{n \in R} P(n) [∑_{r=1}^n r p(r|n)]}{∑_{n \in R} P(n) [1 - p(0|n)] }

To calculate the brand duplication measure, we first get the penetration b_{(j+k)} of the "composite" brand of two brands j and k as:

b_{(j+k)} = 1 - ∑_n P_n p_k(0|n) p_j(0|n)

Then the theoretical proportion b_{jk} of the population buying both brands at least once is:

b_{jk} = b_j + b_k - b_{(j+k)}

and the brand duplication b_{j/k} (where brand k is the focal brand) is:

b_{j/k} = b_{jk} / b_k

Value

A list with those components that are specified by the input type parameter.

buy

A data frame with three components: pen.brand (Theoretical brand penetration), pur.brand (buying rate of the brand), pur.cat (buying rate of the category per brand buyer).

freq

A matrix that lists the distribution of brand purchases. The number of rows is the number of brands.

heavy

A matrix with two columns. The first column (Penetration) is the theoretical brand penetration among category buyers with a specific frequency range. The second column (Avg Purchase Freq) is the brand buying rate of those category buyers. The number of rows is the number of brands.

dup

A vector with dimension as the number of brands. It reports the brand duplication (proportion of buyers of a particular brand also buying other brand) of the focal brand (dup.brand).

Author(s)

Feiming Chen

References

The Dirichlet: A Comprehensive Model of Buying Behavior. G.J. Goodhardt, A.S.C. Ehrenberg, C. Chatfield. Journal of the Royal Statistical Society. Series A (General), Vol. 147, No. 5 (1984), pp. 621-655

See Also

Examples

cat.pen <- 0.56 # Category Penetration
cat.buyrate <- 2.6 # Category Buyer's Average Purchase Rate in a given period.
brand.share <- c(0.25, 0.19, 0.1, 0.1, 0.09, 0.08, 0.03, 0.02) # Brands' Market Share
brand.pen.obs <- c(0.2,0.17,0.09,0.08,0.08,0.07,0.03,0.02) # Brand Penetration
brand.name <- c("Colgate DC", "Macleans","Close Up","Signal","ultrabrite",
"Gibbs SR","Boots Priv. Label","Sainsbury Priv. Lab.")

dobj <- dirichlet(cat.pen, cat.buyrate, brand.share, brand.pen.obs, brand.name)

## Not run: summary(dobj)
summary(dobj, t=4, type="freq")
summary(dobj, t=4, type="heavy", heavy.limit=c(7:50))
summary(dobj, t=1, type="dup", dup.brand=2)

NBDdirichlet

NBD-Dirichlet Model of Consumer Buying Behavior for Marketing Research

v1.3
GPL-3
Authors
Feiming Chen
Initial release
2016-02-17

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.