After cancelling their subscription, customers are sometimes called by a Full Circle representative to provide a reason for cancellation (recorded in latest_cancel_reason_quit. If the customer provides an answer, the representative selects the reason that most closely matches the customer’s answer.
ggplot(inactive_filtered, aes(x=latest_cancel_reason_quit, y=weeks_subscribed,
fill=latest_cancel_reason_quit)) +
geom_boxplot(outlier.shape=NA) +
guides(fill=FALSE) +
coord_flip(ylim=c(0,60)) +
labs(title="Avg. Weeks by Cancel Reason", x="avg. weeks subscribed", y="cancel reason")
term completed and end of prepay / gift cert customers tended to have the shortest subscription periods. FC has stated customers fall off a cliff after a customer’s prepaid subscription ends.Full Circle tracks how customers begin their subscription by marketing channel via initial_signup_promo_category.
ggplot(inactive_filtered, aes(x=initial_signup_promo_category, y=weeks_subscribed,
fill=initial_signup_promo_category)) +
geom_boxplot(outlier.shape=NA) + guides(fill=FALSE) +
coord_flip(ylim=c(0,60)) +
labs(title="Avg. Weeks by Signup", x="avg. weeks subscribed", y="signup category")
ggplot(inactive_filtered) + geom_bar(aes(fill=initial_signup_promo_category, x=latest_cancel_reason_quit), position="fill", binwidth=30) + ggtitle("Membership Changes over Time") + coord_flip() + scale_fill_brewer(palette="Set2")
ggplot(inactive) + geom_density(aes(x = weeks_subscribed)) +
facet_wrap(~ distribution_center, ncol = 2) +
scale_x_log10(breaks = c(1,10,100)) +
ggtitle("Fig 5. Density (log): Dist Center")
ggplot(inactive) + geom_density(aes(x = weeks_subscribed)) +
facet_wrap(~ grocery_region, ncol = 2) +
scale_x_log10(breaks = c(1,10,100)) +
ggtitle("Fig 6. Density (log): Grocery Region")
ggplot(membership) + geom_bar(aes(x=timestamp, fill=history), position="fill",
binwidth=30) +
scale_fill_manual(values=c("#CC6666", "#9999CC", "#66CC99")) +
ggtitle("Membership Changes over Time")
The following analysis “credit” related variables was performed on three data sets:
Each data set consists of rows that represent customers of Full Circle.
The Inactive data contains subcribers who cancelled. This data set was narrowed from 126,439 rows by applying the following criteria: 1. These subscribers cancelled once and only once.
2. They cancelled AND signed up between 3/1/2012 and 3/1/2014. Any customer that both subscribed and dropped within this two-year window. 3. Customers who were never invoiced – i.e. a “0” under invoice_count were removed.
The resulting “inactive” data set has 34,216 customers (“observations”) with a median subscription length of 4.71 weeks.
The InactiveW data set is a subset of Inactive. It consists of 16,914 customers who subscribed for less than 4.71 weeks – all customers below the median of the larger Inactive popultion. These represent the most dissatified customers.
To determine whether there is a relationship between credits received and length of subscription. We use invoice count as a proxy for subscription length since it more accurately reflects the value of a customer and excludes weeks when a subscription is put on hold.
Summary statistics, plots, and correlations – per each of the three data sets.
Inactive:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0000 0.1111 0.4000 0.5061 1.0000 13.0000
## [1] -0.6612984
InactiveW:
## Length Class Mode
## 0 NULL NULL
## [1] -0.5363024
Active:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.00000 0.03030 0.06250 0.09675 0.11950 1.25000
## [1] -0.06023276