huff: Huff model

Description Usage Arguments Details Value Note Author(s) References See Also Examples

Description

Calculating market areas using the probabilistic market area model by Huff

Usage

1
2
3
4
huff(huffdataset, origins, locations, attrac, dist, gamma = 1, lambda = -2, 
atype = "pow", dtype = "pow", gamma2 = NULL, lambda2 = NULL,  
localmarket_dataset = NULL, origin_id = NULL, localmarket = NULL, 
check_df = TRUE)

Arguments

huffdataset

an interaction matrix which is a data.frame containing the origins, locations and the explanatory variables

origins

the column in the interaction matrix huffdataset containing the origins (e.g. ZIP codes)

locations

the column in the interaction matrix huffdataset containing the locations (e.g. store codes)

attrac

the column in the interaction matrix huffdataset containing the attractivity variable (e.g. sales area)

dist

the column in the interaction matrix huffdataset containing the transport costs (e.g. travelling time)

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: atype = "pow" (power function), atype = "exp" (exponential function) or atype = "logistic" (default: atype = "pow")

dtype

Type of distance weighting function: dtype = "pow" (power function), dtype = "exp" (exponential function) or dtype = "logistic" (default: dtype = "pow")

gamma2

if atype = "logistic" a second γ parameter is needed

lambda2

if dtype = "logistic" a second λ parameter is needed

localmarket_dataset

if output = "total", a data.frame is needed which contains data about the origins

origin_id

the ID variable of the origins in localmarket_dataset

localmarket

the customer/purchasing power potential of the origins in localmarket_dataset

check_df

logical argument that indicates if the given dataset is checked for correct input, only for internal use, should not be deselected (default: TRUE)

Details

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.

Value

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

Note

This function contains code from the authors' package MCI.

Author(s)

Thomas Wieland

References

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

See Also

converse, reilly, hansen

Examples

 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

Example output

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

REAT documentation built on Sept. 5, 2021, 5:18 p.m.