"psm"
psm-class.Rd
Class "psm"
is a class for outputs of Price Sensitivity Meter analyses as performed by the psm_analysis
function.
The main purpose is to create a custom summary
function for objects of class "psm"
.
Objects are usually created as a result of a call of the psm_analysis
function.
data_input
:Object of class "data.frame"
. Contains the data that was used as an input for the analysis.
validated
:Object of class "logical"
. Indicates whether the "validate"
option of the psm_analysis
function has been used (to exclude cases with intransitive price preferences).
invalid_cases
:Object of class "numeric"
. Number of cases with intransitive price preferences.
total_sample
:Object of class "numeric"
. Total sample size of the input sample before assessing the transitivity of individual price preferences.
data_vanwestendorp
:Object of class "data.frame"
. Output data of the Price Sensitivity Meter analysis. Contains the cumulative distribution functions for the four price assessments (too cheap, cheap, expensive, too expensive) for all prices as well as the inversed distributions "not cheap" and "not expensive" (that are required for the acceptable price range).
pricerange_lower
:Object of class "numeric"
. Lower limit of the acceptable price range as defined by the Price Sensitivity Meter, also known as point of marginal cheapness: Intersection of the "too cheap" and the "not cheap" curves.
pricerange_upper
:Object of class "numeric"
. Upper limit of the acceptable price range as defined by the Price Sensitivity Meter, also known as point of marginal expensiveness: Intersection of the "too expensive" and the "not expensive" curves.
idp
:Object of class "numeric"
. Indifference Price Point as defined by the Price Sensitivity Meter: Intersection of the "cheap" and the "expensive" curves.
opp
:Object of class "numeric"
. Optimal Price Point as defined by the Price Sensitivity Meter: Intersection of the "too cheap" and the "too expensive" curves.
weighted
:Object of class "logical"
. TRUE if the function has used weighted data to calulate the price points; FALSE if unweighted data has been used.
survey_design
:Object of class "survey.design2"
. If weighted data has been used, the survey design object from the survey package is returned here. Please refer to the documentation in the survey package for more details.
NMS
:Object of class "logical"
. Indicates whether the additional analyses of the Newton Miller Smith Extension were performed.
data_nms
:Object of class "data.frame"
. Output of the Newton Miller Smith extension: calibrated mean purchase probabilities for each price point.
pi_scale
:Object of class "data.frame"
. Shows the values of the purchase intent variable and the corresponding calibrated purchase probabilities as defined in the function input for the Newton Miller Smith extension.
price_optimal_reach
:Object of class "numeric"
. Output of the Newton Miller Smith extension: Estimate for the price with the highest reach (trial rate).
price_optimal_revenue
:Object of class "numeric"
. Output of the Newton Miller Smith extension: Estimate for the price with the highest revenue (based on the reach).
To understand the main function that creates an object of class "psm"
, see psm_analysis
or psm_analysis_weighted
.
To understand how the summaries of objects of class "psm"
look like, see summary.psm
.
For a documentation of objects of class "survey.design2"
, see the documentation of the survey package.
Van Westendorp, P (1976) "NSS-Price Sensitivity Meter (PSM) -- A new approach to study consumer perception of price" Proceedings of the 29th ESOMAR Congress, 139--167. Online available at https://archive.researchworld.com/a-new-approach-to-study-consumer-perception-of-price/.
Newton, D, Miller, J, Smith, P, (1993) "A market acceptance extension to traditional price sensitivity measurement" Proceedings of the American Marketing Association Advanced Research Techniques Forum.
showClass("psm")
#> Class "psm" [package "pricesensitivitymeter"]
#>
#> Slots:
#>
#> Name: data_input validated invalid_cases
#> Class: data.frame logical numeric
#>
#> Name: total_sample data_vanwestendorp pricerange_lower
#> Class: numeric data.frame numeric
#>
#> Name: pricerange_upper idp opp
#> Class: numeric numeric numeric
#>
#> Name: weighted survey_design NMS
#> Class: logical survey.design2 logical
#>
#> Name: data_nms pi_scale price_optimal_reach
#> Class: data.frame data.frame numeric
#>
#> Name: price_optimal_revenue
#> Class: numeric