## 3 Methodology  
This work offers a service that automatically determines the best period of a time interval, i.e., the day of the week and the time of the day to send a marketing message to the individual subscriber, based on their profile. The system has the ability to: (i) segment subscribers by their profile; (ii) predict the best period to send marketing communications. The data exchanged between the subscribers and companies is collected and stored in a database. The first phase of the architecture's pipeline (see Data Extraction in Figure 1) represents the extraction of the data from one of those databases into a dataset, such as the subscriber action and the subscriber profile information. The second phase, Data Transformation, involves converting the extracted raw data of the previous phase through Feature Engineering. The first goal in this phase is to analyze the percentage of null values in each feature and then to begin altering and constructing new features. The third phase, Dataset Split, involves splitting the dataset into two different sets, the training set and the test set. Through the Scikit-learn [43]_train-test split_ function, an 80-20 percentage was implemented for the training and test set. This division is required to reduce the impact of the data discrepancies on the models and to achieve an unbiased assessment of the prediction performance. The training was also validated through a time-series cross-validation approach. \begin{table}
\begin{tabular}{l c c c c c} \hline \hline \multicolumn{6}{c}{**Features Implemented by the Models**} \\ \hline
**Paper** & **Open Rates** & **Click-through Rates** & **Time Intervals** & **Email Info.** & **Profile Info.** \\ \hline [PERSON] et al. [26] & ✓ & & & & ✓ \\ [PERSON] et al. [24] & & ✓ & ✓ & ✓ & \\ [PERSON] et al. [40] & ✓ & ✓ & ✓ & ✓ & ✓ \\ [PERSON] et al. [29] & ✓ & & & & ✓ \\ [PERSON] et al. [33] & ✓ & & & ✓ & \\ [PERSON] et al. [37] & & ✓ & & ✓ & \\ [PERSON] et al. [41] & ✓ & & ✓ & & ✓ \\ [PERSON] et al. [35] & ✓ & ✓ & & ✓ & ✓ \\ [PERSON] et al. [42] & & & & ✓ & ✓ \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Description of the features implemented in the literature. Figure 1: Architecture of the proposed model. The fourth architecture step, Training & Evaluation, consists of model training and subsequent evaluation. Three sub-tasks were identified during this phase. The initial task was to train a model that allows subscriber segmentation. The segmentation is performed using the clustering algorithm K-Means [32], and is based on the user profile attributes, such as (i) equipment used (e.g., smartphone, computer, tablet), (ii) email domain (e.g., Hotmail, Gmail, etc. ), (iii) operating system (e.g., macOS, Linux, Windows, etc. ), and (iv) demographic data. The second task entails implementing models that can predict the optimal period to send a marketing communication. To identify the period, regression models are implemented, such as (i) Random Forest Regressor [44], (ii) Multiple Linear Regression [45], (iii) K-Neighbors Regressor [46], and (iv) Support Vector Regressor [36]. A parallel ensemble strategy (see Figure 2) was implemented to take advantage of the performance of each model. In parallel ensemble, base estimators are trained independently. The parallel ensembles are further subdivided into a homogeneous and heterogeneous ensemble. Base estimators in the homogeneous ensemble are trained using the same algorithm, such as Random Forest, named Extra Trees or bagging random patches [47]. Different learning algorithms are used to train the base estimators in the heterogeneous ensemble. The parallel approach was implemented because it is possible to obtain predictions and evaluate them independently and then aggregate into final predictions to achieve better results. The first parallel ensemble technique includes averaging all the individual predictions, which generates the final predictions.