Theoretical summary statistics from the Dirichlet model.
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.
## 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, ...)
object |
An object of "dirichlet" class. |
t |
Multiple of the base time period. For example, if the assumed
base time period is quarterly, then |
type |
A character vector that specifies which types of
theoretical statistics (during the time period indicated by
|
digits |
Number of decimal digits to control the rounding precision of the reported statistics. Default to 2. |
freq.cutoff |
For the |
heavy.limit |
For the |
dup.brand |
For the |
... |
Other parameters passing to the generic function. |
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
A list with those components that are specified by the input
type
parameter.
buy |
A data frame with three components: |
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
( |
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 ( |
Feiming Chen
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
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)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.