# Reservoir Performance Prediction in Steam Huff and Puff Injection Using Proxy Modelling
## 3 Results and Discussion
### Proxy Models for Predicting Reservoir Performance  
The reservoir performance outputs are represented by cumulative oil production, maximum oil rate per cycle, and oil rate at the end of the cycle. As mentioned above, these outputs address the typical production profile of huff and puff. Predicted and simulated data points for each output are presented in Figures 5-10, respectively. Overall, the neural network model provides a better fit for training and testing data when compared to the polynomial regression model. Figure 5: Predicted and simulated plot of (**a**) training data and (**b**) testing data for cumulative oil production—polynomial regression model. Figure 6: Predicted and simulated plot of (**a**) training data and (**b**) testing data for cumulative oil production—neural network model. Figure 8: Predicted and simulated plot of (**a**) training data and (**b**) testing data for maximum oil rate—neural network model. Figure 7: Predicted and simulated plot of (**a**) training data and (**b**) testing data for maximum oil rate—polynomial regression model. The cumulative oil production (\(N_{p}\)) values range from 0.1 to 100 MSTB. The polynomial model is the equation of the \(N_{p}\) output as a function of all input parameters. The neural network model of \(N_{p}\) is a deep neural network with multiple hidden layers, which has an architecture of the following: 1 input layer with 28 input neurons, 1 output layer with 1 output neuron, and five hidden layers with an 8-8-6-4-4 neuron configuration. The input and output layer configurations are the same for all neural network models mentioned in this study. For training data, the R-square for the polynomial regression model and the neural network model are 0.755 and 0.981, while the R-square for the testing data is 0.735 and 0.959. The MAE of the training and testing data for the polynomial regression model is 7.53 Mbbl and 8.28 Mbbl, and for the neural network model, this is 1.39 Mbbl and 1.76 Mbbl. The RMSE of the training and testing data for the polynomial regression model is 10.39 Mbbl and 11.65 Mbbl and, for the neural network model, 2.31 Mbbl and 3.36 Mbbl. The neural network model presents a better result than the polynomial regression model. The prediction for the training data is mainly good where points are around the baseline. The prediction in testing data is well below the 20 Mbbl and starts to scatter further from the best fit curve. The simulation results showed around 90% of the cumulative production data are below 20 Mbbl, thus making the prediction better inside that interval. It can also be observed that the polynomial regression model predicts negative values while the neural network model does not, which shows the advantage of the neural network model over the polynomial model as negative production values do not exist in reality. The maximum oil rate (\(q_{max}\)) values range from 0 to 2000 stb/d. The polynomial model is the equation of the \(q_{max}\) output as a function of all input parameters. The neural network model of \(q_{max}\) has an architecture of five hidden layers with an 8-8-6-4-4 neuron configuration. For the training data, the R-square for the polynomial regression model and the neural network model are 0.706 and 0.957, while the R-square for the testing data is 0.675 and 0.931. The MAE of the training and testing data for the polynomial regression model is 221.6 bbl/d and 239.9 bbl/d and, for the neural network model, 63.4 bbl/d and 74.3 bbl/d. The RMSE of the training and testing data for the polynomial regression model is 281.5 bbl/d and 303.6 bbl/d and, for the neural network model, 97.6 bbl/d and 126.4 bbl/d. It can be seen from Figures 7 and 8 that the neural network model far outperforms the polynomial regression model. The training and testing data in the neural network are generally clustered around the best fit curve, with the prediction for both being well below 250 bbl/d. The oil rate values at the end of the cycle (\(q_{end}\)) range from 0 to 400 stb/d.