# Pricing decisions using neural network

I have a big list of spare parts with several parameters (material, weight, size, manufacturing complexity, ...). For some parts in this list, a price has either not been set or has to be adjusted in order to be in line with other parts. There are a few obvious and simple correlations in this dataset, for example:

• if material and complexity is the same, bigger parts are more expensive;
• if size and material is the same, more complex parts are more expensive;
• for equal size and complexity, more expensive material leads to higher price.

Trying to figure out all these rules by hand and sticking them together seems to be an endless endeavour, so I thought about training a neural network with the priced parts' parameters (input) and prices (output) and let it figure out the prices for the parts which don't have a price yet. The decisions of the NN could be supervised by an expert who knows the parts and could manually figure out a price.

Question 1) Is this a good idea in general?
Question 2) If yes, what type of NN would be most suited for such a problem?

• Your question #1 is too generic and seeks high level advice. Can you make it more specific and indicate where you are stuck etc.? For question #2 you can use a feedforward neural network Commented Mar 23, 2016 at 11:45

Question 1) Is this a good idea in general?

Solving this problem as a supervised learning regression problem is a fantastic idea and is the type of solution that will greatly benefit your company since it will translate to other similar and dissimilar problems much more easily than deterministic methods.

However using a neural network to solve this supervised learning regression problem is probably a very bad idea. Neural networks can add great value to certain problems, are among the very best algorithms for complex problems where computing power is not an issue, and have fascinating implications for the future of machine learning and artificial intelligence. But... they can be very tricky to train, require a lot of computing power, require a lot of data, and perform poorly in many cases.

I suggest you scope the problem using linear regression and then try a support vector regressor (SVM, SVR) or naive Bayes regressor. The analogue methods in SVR work very well with limited data and provide surprisingly accurate results.

Question 2) If yes, what type of NN would be most suited for such a problem?

If you must use a neural network then try playing with the problem. Start with a feed forward neural network. Note that it will likely underperform an SVR. Then think about moving toward a convolution neural network. Again, this is probably a very bad way to go. Try linear regression followed by other methods first.

Moving forward

The documentation for either Scikit-Learn in python, H20 in Java, or Weka provide very shallow learning curves to jump on the merry-go-round and take a spin or two. Please make sure that you thoroughly understand cross validation and scoring metrics as this is essential to continued, adequate progress.

Hope this helps!

Yes you can use a neural network, or any other regression-like algorithm for this task. There are lots of algorithms that you can use. A simple feed-forward network should suffice. Although, if you are not a machine learning expert (I'm assuming that you are not based on your question), I would suggest that you stick with something a little less exciting like OLS. It is easier to implement.

Then you just need to spend some time doing a lot of feature engineering. So that you can feed not just raw variables but meaningful features to the model. For example the combination of features like size * complexity * material would give a lot of models to work with.

• This question is too general and not answering anything. Commented Mar 24, 2016 at 5:09