new parameter "acceptable_range": allows to switch between van Westendorp's original definition of acceptable price ranges and a narrower definition which is used by some market research companies
new parameters "pi_calibrated_toocheap" and "pi_calibrated_tooexpensive" for functions psm_analysis() and psm_analysis_weighted(): allows to specify a calibrated purchase probability at the "too cheap" and "too expensive" price, respectively, which is different from zero
adds the parameter interpolation_steps that lets users define the granularity of the interpolation between the observed prices
fixes a bug that caused respondents with intransitive price preferences to be used in the analysis when using psm_analysis_weighted() (and adds some unit testing to check this in the future)
corrects the "Interpolation in Small Samples" vignette: now shows correctly "not cheap" instead of "cheap" and "not expensive" instead of "expensive"
adds the psm_analysis_weighted() function to deal with weighted input data. This requires the survey package.
adds the argument intersection_method to define how to calculate the price points in case there are multiple intersections (should be a rare case)
amends the psm class definition and the summary function for the psm class to account for weighted/unweighted data
bug fix: if a respondent has the same answer for both the "cheap" and the "expensive" price, the interpolation of purchase probabilities in the Newton Miller Smith extension now returns non-empty answers
bug fix: if "too cheap" information is missing, skip some calculations
fixes issue with calculation of "point of marginal cheapness" and "point of marginal expensiveness" (acceptable price range). also affects documentation and visualization vignette. thanks to athib2 for flagging it
fixes bug in calculation of % of removed cases (did show only 0/1 before, now proper percentages)
fixes typos in summary() function and in the documentation
adds unit testing for Newton Miller Smith input as dataframe
adding support for running the analysis without a "too cheap" price
adding a charting vignette
adding automated testing of function inputs and function outputs
renaming the main function from "PSManalysis" to "psm_analysis" (for readability reasons)
improving smoothing of trial/revenue optimization when using Newton Miller Smith extension: setting up the price matrix with continuous price steps between the minimum and the maximum to avoid jumps that come from the lack of price points in a specific area
refining the data input checks (resulting from the c() implementation of hierarchies between data classes)