# Classification vs Regression Model what should I choose?

I am working on a problem like 'customers next month revenue prediction'. Here revenue will be the target variable. Again we actually segment the customers based on there revenue(like if they give less than 200 they will be in category 'A' else 'B'). I have to predict both(provable revenue + category). What will be the right approach, choose a regression model and predict the revenue and then categorized or i should choose separate model(regression for revenue, classification for category).

The segmentation sounds rather arbitrary if it is simply a reflection of the revenue you are trying to predict rather than having been derived from other bjective data that then predicts revenue it is unlikely to add very much (though obviously past revenue is a good predict of future revenue - the question is does the sementation improve the prediction vs just using the past data.

So if it were me I would be inclined to do the following:

(1) try some dimension reduction and/or clustering to explore whether or not you really have meaningful customer segments rather than just an arbitrary cutoffs by revenue.

(2) if you have a good segmentation try creating a customer classifer to predict segment memberhip

(3) if your classifier has some value use the (non-linear) segment prediction as a additional input to a regression to predict revenue.

(4) validate and/or test the model against some reserved data not just the main data set.

With any regression though correct model specification is vital. So the first thing you need to do is explore the dataset (plot lots of stuff against lots of other stuff, look at some distributions, etc) to try and understand its structure before you specify a model.

Particulary, if your primary data source is the time series of past sales you probably need to look at including mean-reversion and momentum terms in the specification (see ARM, ARIMA etc models ).

(5) It would also be fun to try a Recurrent Neural Network, though I have never done this myself.

if you can apply dummy operation like if ... else ... to get categories then choose regression since you have to predict revenue, also it will "tell" your model that some cutomers will give very big revenue some very little which will surely improve performance in category prediction

• But category can be define after i get the revenue ( which need to be forecast). – Taimur Islam Sep 21 '19 at 6:20
• sure and that's why I think that approach in this answer is a way to go – quester Sep 21 '19 at 6:25

First, you need to predict the future revenues based on previous data. For this you can try Time Series Prediction. Basically, you will have a recurrent neural network which works as a regression model and predicts the future revenues.

Once the model is trained, we are ready to predict the future revenues. Feed the model all the data from the previous records and then generate a prediction.

Using multiple if ... else statements, you can easily check whether in which category the predicted revenue value lies.

Check out this and this.