Which technique for this regression problem? Here's a sample problem I'm trying to solve and I would love your advice:

You run an ice cream store. You sell n different flavors of ice cream
  You want to drive people towards buying a subscription to your store.
  You have data for when people purchase at your store, what flavors
  they purchase, how often, and when they ultimately subscribe.
You want to figure out if there are several common purchasing patterns over time that your
  customers fall into before they subscribe. E.g. one pattern is a lot of
  people buying chocolate ice cream 6 times the first month, and buying
  chocolate and pistachio 8 times the second month, then suddenly 80% of
  them decide to subscribe on month 3. It's possible there are a few
  such patterns, and you want to isolate the more prevalent ones so you can
  focus your product strategy on those. Or perhaps there are no such patterns, and then you should spend your product effort elsewhere.

I’m guessing it’s some sort of a regression problem (gradient descent?) where the ice cream flavors are different dimensions.
I'm also open to simplify the problem by removing the month by month component and just say "if you purchase chocolate 14 times and pistachio 8 times then on month 3 you subscribe".
What are your thoughts? Is there a particular technique I should look into that would lead to the answers? Thank you. 
 A: I would formulate your "ice cream" problem as an experimental design problem. You observed some patterns of user behavior and you want to identify an effective strategy to increase the subscription rate. The goal and the target of your interest is the subscription rate, which should be the response variable $Y$. The user behavior seems to drive Y, however, it should be driven by "how you sell the ice creams". You should focus on "how you sell your product" rather than on "how customers behave", because the former is under your control and the latter is not.
If so, it is an A/B testing problem. For example, both whether users can be attracted to our website and their browsing and purchasing behavior (and their perception and experience) can be a function of the website design. To separate the effect of a particular design element, we need to have two versions of the same webpage (A version vs. B verion) and make them comparable such that only the element that we want to test is different across the two versions, all other elements need to be held equal. In this way, we can estimate the "treatment effect" of adding/deleting the one element, which is the $X$. This allows us to draw a reliable conclusion from hypothesis testing.
To sum up, $Y$ is the subscription rate in your case, and it can be anything you are interested in (browsing duration, number of active users, conversion rate, etc.) $X$ is the design elements you want to test their effects. Of course, if you want to test the combination of two elements ($X_1$ and $X_2$), you need to take into account their interactions: $$Y = X_{1i}+X_{2j}+X_1X_{2(ij)}+\epsilon $$
Lastly, you models can grow to be more complicated, if you have more elements to test and have more combinations of such elements. Just to give information, you can read the piece of news below on Facebook runs 10,000 version a day to test and improve the user experience.

https://www.entrepreneur.com/article/294242

