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 from the Class

Objects are usually created as a result of a call of the psm_analysis function.

Slots

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).

Methods

summary.psm

See also

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.

References

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.

Examples

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