## 5 Neural Network for Estimating the Demand Probability  
In the numerical study by [PERSON] et al. (2018), the demand probability of each part was assumed to be given as a planner's expert estimate. However, the manual estimation of demand probabilities is associated with a high workload due to the large number of different parts. For this reason, a neural network is used to estimate the demand probability of each part for every customer. In the industrial use case of the updating parts, both the assembly and the scrapping of a part can occur at a certain percentage rate. This demand probability should be estimated by the neural network. In Figure 2, various features were set up for the neural network, which are assumed to influence the decision regarding assembly or scrapping.  
The demands of the last 5 years were used to train the neural network. For each demand, the attributes of the features from Figure 2 were determined at the time of the demand. The attributes of the features were either taken from the Enterprise Resource Planning System (ERP) or have been generated retrospectively. This generated approx. 200,000 labeled data records with the purpose of assembly or scrapping. Table 2 shows two exemplary prepared and labeled data records.  
In the first example in Table 2, a control unit was demanded for assembly. At the time of the demand, the part had been in the warehouse for 6 days and there were no parts with newer versions in any of the warehouses. In the second example, a steering wheel was scrapped. At the time of the scrapping decision, the part had been in the warehouse for 350 days and there were two parts with newer versions in the logistics network.  
The data sets were divided into a training set (80%) and a test set (20%) [64; 65]. The neural network was programmed in Python with the sklearn library. The programming of the neural network model is illustrated in the Equation (15).  
\[\begin{split} MLPClassifier(hidden\_layer\_sizes=(64,\,32),\,\max_{ iter}=1000,\,random_{state}\\ =1,\,early\_stopping=True,\,n\_iter\_no\_change=10)\end{split} \tag{15}\]  
After training the neural network, the trained neural network was applied to the test set. The estimation is evaluated according to the classification report [64]. The result is shown in Table 3.  
\begin{table}
\begin{tabular}{c c c c c} \hline \hline  & \multicolumn{3}{c}{**Feature**} \\  & **1** & **2** & **3** & **Label** \\ \hline \multirow{2}{*}{Examples} & 6 & Control unit & 0 & Assembly \\  & 350 & Steering wheel & 2 & Scrapping \\ \hline \hline \end{tabular}
\end{table}
Table 2: Exemplary prepared and labeled data records from the ERP system.  
Figure 2: Overview of generating demand probabilities based on all relevant features.  
The classification report shows that 94% (precision for scrapping) of all records labeled as scrapping were correctly identified as scrapping by the neural network. At total of 6% of the records were incorrectly estimated as assembly. On the other hand, 95% of all records where the model estimated scrapping matched the records labeled as scrapping (recall for scrapping). This means that 5% were identified as scrap, although they were still required for assembly. An overall accuracy of 92% was achieved. Various neural networks were trained with different combinations of the features and their accuracy was validated in the test set. A combination of all three features from Figure 2 resulted in the highest accuracy.