-2

I work with some supermarket data to do some Sales Forecasting. So, I do regression and my model has 25+ columns.

My final goal is to make an optimal pricing recommendation-optimal discount tool. So, I brute-force different discounts-product_prices (I know not the best way). Then, by using every time the new price I run my model to predict the new Sales Forecasting and by multiplying with the current tried price I get the current "predicted" revenues, so that I can find the max, and so have the optimal price/discount.

However, when I try different prices, I see no difference in my model's predictions, because my model has 25+ columns, and price is just one of them, and doesn't matter a lot, especially in regression.

What can I do about it? If I lower the number of factors I use, I will get a model with worse accuracy but with a bigger price impact. Is it some kind of trade-off? Is there a better solution out there? Do you have an alternative POV for my case?

desertnaut
  • 57,590
  • 26
  • 140
  • 166
Arikon
  • 1
  • 2

1 Answers1

0

Since your dataset is not available i may just share some rough ideas;

However, when I try different prices, I see no difference in my model's predictions, because my model has 25+ columns, and price is just one of them, and doesn't matter a lot, especially in regression.

This seems like a 'feature engineering' problem. I would recommend;

  1. to start displaying the correlations of your features (https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.corr.html) and think about the potential reasons of positive and negative correlations. This may help you to drop some features and generate some new ones..
  2. if you haven't already tried, i would recommend you to apply feature scaling. (https://scikit-learn.org/stable/auto_examples/preprocessing/plot_scaling_importance.html)
  3. if you can give more details about the dataset and your work, i believe someone much more experienced than myself will give a better and more precise answer to your question

good luck...

akoklu
  • 1
  • 1