I am trying to implement machine learning for the following data

Data Input

Total Cost,Total Impressions, Total Clicks, CPC, Cost Per Impression, Sales, Cost per Sale, ad bid

What I am trying to achieve is to keep the ad bid & cost per sale as low as possible while increasing sales.

This is a multi variable, multi response regression and I am looking for ideas and machine learning models to implement this.

I don't think reinforcement or multi-output regression will work because I want to reduce ad bid + cost per sale and at the same time increase sales (not target)

Technology/SDK is not a problem. I am looking for architecture/model ideas.


1 Answer 1


Interesting question. As you know, indeed, it can be seen as a pure optimization problem. For that you need to come up with mathematical modeling of dependent variable based on independent ones. I might have an easier ML-based suggestion:

  • Create a new target out of all 3 variabales in a way you want them to behave. For instance, you said bid and cost low but sales high, so you might want to turn them simply to:

    $y_{new} = \frac{bid+cost}{sales + \epsilon}$

$\epsilon$ is simply a factor to avoid dividing by zero. Please note that there seem to be a strong $TotalCost = CostPerSale\times Sales$ relation. Have it in mind in case you observe bad/strange results.

As seen in $y_{new}$, smaller it is, more interesting it is to you. You apply a regression to the new data (it will be a uni-response regression now as we combined all targets) and if prediction is less than a threshold (defined by you through experiments) you consider it as good. Or you can just report the predictions and the speak for themself; smaller the better.

  • PS1: That is the simplest formulation i came up with. Indeed, there is an optimization problem to be solved to find a proper formula. Here we assumed the summ of bid and cost is the minimum. One may say their product should be in the enumerator for example. You need to design that formula.
  • PS2 Strongly recommend to inspect your variables carefully, have an insight about probable correlations between them, remove non-informative features if any, etc.

Good Luck!

  • $\begingroup$ Indeed I am aware the total cost = cost per sale x sales. I would remove all the un-necessary columns with my domain knowledge. The main issue with your solution is that we are shifting the target from one variable to another but doesnt address the underlying challenge that I am not trying to target a value, I am trying to make it as small as possible. Somedays it might be high while other days it will be low. It can't be supervised training as I don't know the answer myself and there are millions of keywords+days+bid combination Your answer does give me more ideas to explore,thanks for it $\endgroup$ Commented Mar 16, 2020 at 19:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.