Segment wise median recency, frequency & monetary value plot.
Usage
rfm_plot_median_recency(
rfm_segment_table,
sort = FALSE,
ascending = FALSE,
flip = FALSE,
bar_color = NULL,
plot_title = NULL,
xaxis_label = NULL,
yaxis_label = NULL,
axis_label_size = 8,
axis_label_angle = 315,
bar_labels = TRUE,
interactive = FALSE,
animate = FALSE,
print_plot = TRUE
)
rfm_plot_median_frequency(
rfm_segment_table,
sort = FALSE,
ascending = FALSE,
flip = FALSE,
bar_color = NULL,
plot_title = NULL,
xaxis_label = NULL,
yaxis_label = NULL,
axis_label_size = 8,
axis_label_angle = 315,
bar_labels = TRUE,
interactive = FALSE,
animate = FALSE,
print_plot = TRUE
)
rfm_plot_median_monetary(
rfm_segment_table,
sort = FALSE,
ascending = FALSE,
flip = FALSE,
bar_color = NULL,
plot_title = NULL,
xaxis_label = NULL,
yaxis_label = NULL,
axis_label_size = 8,
axis_label_angle = 315,
bar_labels = TRUE,
interactive = FALSE,
animate = FALSE,
print_plot = TRUE
)
Arguments
- rfm_segment_table
Output from
rfm_segment
.- sort
logical; if
TRUE
, sort metrics.- ascending
logical; if
TRUE
, sort metrics in ascending order.- flip
logical; if
TRUE
, creates horizontal bar plot.- bar_color
Color of the bars.
- plot_title
Title of the plot.
- xaxis_label
X axis label.
- yaxis_label
Y axis label.
- axis_label_size
Font size of X axis tick labels.
- axis_label_angle
Angle of X axis tick labels.
- bar_labels
If
TRUE
, add labels to the bars. Defaults toTRUE
.- interactive
If
TRUE
, usesplotly
as the visualization engine. IfFALSE
, usesggplot2
.- animate
If
TRUE
, animates the bars. Defaults toFALSE
.- print_plot
logical; if
TRUE
, prints the plot else returns a plot object.
Examples
# analysis date
analysis_date <- as.Date('2006-12-31')
# generate rfm score
rfm_result <- rfm_table_order(rfm_data_orders, customer_id, order_date,
revenue, analysis_date)
# segment names
segment_names <- c("Champions", "Potential Loyalist", "Loyal Customers",
"Promising", "New Customers", "Can't Lose Them",
"At Risk", "Need Attention", "About To Sleep", "Lost")
# segment intervals
recency_lower <- c(5, 3, 2, 3, 4, 1, 1, 1, 2, 1)
recency_upper <- c(5, 5, 4, 4, 5, 2, 2, 3, 3, 1)
frequency_lower <- c(5, 3, 2, 1, 1, 3, 2, 3, 1, 1)
frequency_upper <- c(5, 5, 4, 3, 3, 4, 5, 5, 3, 5)
monetary_lower <- c(5, 2, 2, 3, 1, 4, 4, 3, 1, 1)
monetary_upper <- c(5, 5, 4, 5, 5, 5, 5, 5, 4, 5)
# generate segments
segments <- rfm_segment(rfm_result, segment_names, recency_lower,
recency_upper, frequency_lower, frequency_upper, monetary_lower,
monetary_upper)
# plots
# visualize median recency
rfm_plot_median_recency(segments)
# plotly
rfm_plot_median_recency(segments, interactive = TRUE)
# sort in ascending order
rfm_plot_median_recency(segments, sort = TRUE, ascending = TRUE)
# default sorting is in descending order
rfm_plot_median_recency(segments, sort = TRUE)
# horizontal bars
rfm_plot_median_recency(segments, flip = TRUE)
# median frequency
rfm_plot_median_frequency(segments)
# median monetary value
rfm_plot_median_monetary(segments)