Description Usage Arguments Details Value Note Author(s) References See Also Examples
Calculating market areas using the probabilistic market area model by Huff
1 2 3 4 |
huffdataset |
an interaction matrix which is a |
origins |
the column in the interaction matrix |
locations |
the column in the interaction matrix |
attrac |
the column in the interaction matrix |
dist |
the column in the interaction matrix |
gamma |
a single numeric value for the exponential weighting of size (default: 1) |
lambda |
a single numeric value for the exponential weighting of distance (transport costs, default: -2) |
atype |
Type of attractivity weighting function: |
dtype |
Type of distance weighting function: |
gamma2 |
if |
lambda2 |
if |
localmarket_dataset |
if |
origin_id |
the ID variable of the origins in |
localmarket |
the customer/purchasing power potential of the origins in |
check_df |
logical argument that indicates if the given dataset is checked for correct input, only for internal use, should not be deselected (default: |
The Huff Model (Huff 1962, 1963, 1964) is the most popular spatial interaction model for retailing and services and belongs to the family of probabilistic market area models. The basic idea of the model is that consumer decisions are not deterministic but probabilistic, so the decision of customers for a shopping location in a competitive environment cannot be predicted exactly. The results of the model are probabilities for these decisions, which can be interpreted as market shares of the regarded locations (j) in the customer origins (i), p_{ij}, which can be regarded as an equilibrium solution with logically consistent market shares (0 < p_{ij} < 1, ∑_{j=1}^n{p_{ij} = 1}). From a theoretical perspective, the model is based on an utility function with two explanatory variables ("attractivity" of the locations, transport costs between origins and locations), which are weighted by an exponent: U_{ij}=A_{j}^γ d_{ij}^{-λ}. This specification is relaxed is this case, so both variables can be weighted by a power, exponential or logistic function.
This function computes the market shares from a given interaction matrix and given weighting parameters. The function returns an estimated interaction matrix. If local market information about the origins (e.g. purchasing power, population size etc.) is stated, the location total turnovers are filed in another data.frame
. Note that each attractivity or distance value must be greater than zero.
A list
containing the following objects:
huffmat |
A data frame containing the Huff interaction matrix |
totals |
If total turnovers are estimated: a data frame containing the total values (turnovers) of each location |
This function contains code from the authors' package MCI.
Thomas Wieland
Berman, B. R./Evans, J. R. (2012): “Retail Management: A Strategic Approach”. 12th edition. Bosten : Pearson.
Huff, D. L. (1962): “Determination of Intra-Urban Retail Trade Areas”. Los Angeles : University of California.
Huff, D. L. (1963): “A Probabilistic Analysis of Shopping Center Trade Areas”. In: Land Economics, 39, 1, p. 81-90.
Huff, D. L. (1964): “Defining and Estimating a Trading Area”. In: Journal of Marketing, 28, 4, p. 34-38.
Levy, M./Weitz, B. A. (2012): “Retailing management”. 8th edition. New York : McGraw-Hill Irwin.
Loeffler, G. (1998): “Market areas - a methodological reflection on their boundaries”. In: GeoJournal, 45, 4, p. 265-272.
Wieland, T. (2015): “Nahversorgung im Kontext raumoekonomischer Entwicklungen im Lebensmitteleinzelhandel - Konzeption und Durchfuehrung einer GIS-gestuetzten Analyse der Strukturen des Lebensmitteleinzelhandels und der Nahversorgung in Freiburg im Breisgau”. Projektbericht. Goettingen : GOEDOC, Dokumenten- und Publikationsserver der Georg-August-Universitaet Goettingen. http://webdoc.sub.gwdg.de/pub/mon/2015/5-wieland.pdf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | # Example from Levy/Weitz (2009):
# Data for the existing and the new location
locations <- c("Existing Store", "New Store")
S_j <- c(5000, 10000)
location_data <- data.frame(locations, S_j)
# Data for the two communities (Rock Creek and Oak Hammock)
communities <- c("Rock Creek", "Oak Hammock")
C_i <- c(5000000, 3000000)
community_data <- data.frame(communities, C_i)
# Combining location and submarket data in the interaction matrix
interactionmatrix <- merge (communities, location_data)
# Adding driving time:
interactionmatrix[1,4] <- 10
interactionmatrix[2,4] <- 5
interactionmatrix[3,4] <- 5
interactionmatrix[4,4] <- 15
colnames(interactionmatrix) <- c("communities", "locations", "S_j", "d_ij")
huff_shares <- huff(interactionmatrix, "communities", "locations", "S_j", "d_ij")
huff_shares
# Market shares of the new location:
huff_shares$ijmatrix[huff_shares$ijmatrix$locations == "New Store",]
huff_all <- huff(interactionmatrix, "communities", "locations", "S_j", "d_ij",
localmarket_dataset = community_data, origin_id = "communities", localmarket = "C_i")
huff_all
huff_all$totals
|
Huff Model
Summary:
2 locations with mean attractivity = 7500
2 origins with mean transport costs = 8.75
Attractivity weighting (pow) with Gamma = 1
Distance weighting (pow) with Lambda = -2
Interaction matrix
communities locations S_j d_ij U_ij sum_U_ij p_ij
2 Oak Hammock Existing Store 5000 5 200.00000 244.4444 0.8181818
4 Oak Hammock New Store 10000 15 44.44444 244.4444 0.1818182
1 Rock Creek Existing Store 5000 10 50.00000 450.0000 0.1111111
3 Rock Creek New Store 10000 5 400.00000 450.0000 0.8888889
$ijmatrix
communities locations S_j d_ij U_ij sum_U_ij p_ij
2 Oak Hammock Existing Store 5000 5 200.00000 244.4444 0.8181818
4 Oak Hammock New Store 10000 15 44.44444 244.4444 0.1818182
1 Rock Creek Existing Store 5000 10 50.00000 450.0000 0.1111111
3 Rock Creek New Store 10000 5 400.00000 450.0000 0.8888889
communities locations S_j d_ij U_ij sum_U_ij p_ij
4 Oak Hammock New Store 10000 15 44.44444 244.4444 0.1818182
3 Rock Creek New Store 10000 5 400.00000 450.0000 0.8888889
Huff Model
Summary:
2 locations with mean attractivity = 7500
2 origins with mean transport costs = 8.75
Attractivity weighting (pow) with Gamma = 1
Distance weighting (pow) with Lambda = -2
Mean of total market areas = 4e+06
Interaction matrix
communities locations S_j d_ij U_ij sum_U_ij p_ij C_i
1 Oak Hammock Existing Store 5000 5 200.00000 244.4444 0.8181818 3e+06
2 Oak Hammock New Store 10000 15 44.44444 244.4444 0.1818182 3e+06
3 Rock Creek Existing Store 5000 10 50.00000 450.0000 0.1111111 5e+06
4 Rock Creek New Store 10000 5 400.00000 450.0000 0.8888889 5e+06
E_ij
1 2454545.5
2 545454.5
3 555555.6
4 4444444.4
Total market areas
locations T_j T_j_share
1 Existing Store 3010101 0.3762626
2 New Store 4989899 0.6237374
$huffmat
communities locations S_j d_ij U_ij sum_U_ij p_ij C_i
1 Oak Hammock Existing Store 5000 5 200.00000 244.4444 0.8181818 3e+06
2 Oak Hammock New Store 10000 15 44.44444 244.4444 0.1818182 3e+06
3 Rock Creek Existing Store 5000 10 50.00000 450.0000 0.1111111 5e+06
4 Rock Creek New Store 10000 5 400.00000 450.0000 0.8888889 5e+06
E_ij
1 2454545.5
2 545454.5
3 555555.6
4 4444444.4
$totals
locations T_j T_j_share
1 Existing Store 3010101 0.3762626
2 New Store 4989899 0.6237374
locations T_j T_j_share
1 Existing Store 3010101 0.3762626
2 New Store 4989899 0.6237374
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.