# High-Performance Actionable Knowledge Miner for Boosting Business Revenue
## 2 Methods
### A Distributed Algorithm for the Mining of Action Rules
- Large (6000 rows);
- Modification 1 (binning benchmark values into categories)
- Original benchmark values (numerical);
- Type of the rule's right-hand-side definition:
- Detractor\(\rightarrow\) Promoter;
- Modification 3 (rule type)
- Base rule type: downwards changes allowed;
- Rule--Type 0--allowing only changes upwards;
- Modification 4 (original vs. distributed implementation)
- Nonparallel (original) implementation (implemented in Java);
- Parallel action rule mining reimplemented using the Spark technology. ### Experiments

The experimental results on test cases defined above and the corresponding metrics are presented below. #### 3.3.1 Small Datasets

From the pool of 2016 service survey datasets, the smallest dataset was for Company Client #5 (213 records) and such size of the dataset was not sufficient to extract any \"Detractor\(\rightarrow\) Promoter\" action patterns. The next test among the smallest datasets was for Client#24 (306 surveys), and the results for different rule types and benchmark value types are presented in Table 2.

It can be observed that when the rule type was switched to \"Type 0\", the mining process took twice less time than the original. It shortened twice again when we changed the type of rule to Rule--Type 1. Next, using categories of values, instead of distinct values, resulted in a slight lengthening of the time to 17 s from the original 10 s. The dataset with both benchmark categories and allowing the values to change higher only took 4.3 s, while further using \"any higher\" (Rule--Type 1), it took 3 s. In all tested cases, the coverage was at 71.4%. There were more rules generated of the base type--1342--than there were rules of \"Type 0\"--329, and rules of \"Type 1\"--141. It can be concluded that many of the rules in the original type were redundant and did not have better coverage than modified types of rules. Passive to Promoter Within another experimental setup, the smaller datasets were mined for \"Passive to Promoter\" action rules. This time, results were also generated for the smallest dataset with 213 records--see Table 3. \begin{table}
\begin{tabular}{c c c} \hline \hline
**Rule/Dataset Type** & **Processing Time** & **\% Customers Covered** \\ \hline Base rule & 10 s & 71.4\% \\ Rule—Type 0 & 5 s & 71.4\% \\ Rule—Type 1 & 2.3 s & 71.4\% \\ Binned—base & 17 s & 71.4\% \\ Binned—Type 0 & 4.3 s & 71.4\% \\ Binned—Type 1 & 3 s & 71.4\% \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Running time and coverage of actionable knowledge miner on Client #24 dataset (306 surveys). In the tested dataset, there were 31 customers labeled as passive. The absolute coverage of customers by Rule--Type 0 and Rule--Type 1 decreased to 23. Using categories of benchmark values also deteriorated the coverage--down to 24 (with base rules) and 18 (with Rule--Type 0/Rule--Type 1). With Rule--Type 0, we shortened the mining time by 4x, and with Rule--Type 1, even further. A similar time gain was observed when testing the datasets with categorized values of benchmarks. Binning shortened mining time by about 2x in comparison to nonprocessed ones. Similar observations were drawn from the second smaller dataset of Company Client #24 (see Table 4). A significant speedup was observed when testing with Rule--Type 0 (down to 1 min from about 10 min) and with Rule--Type 1 (down to around 30 s). On the other hand, those changes affected the coverage negatively--it decreased down to 70.6% with the Rule--Type 0 and to 67.6% with the Rule--Type 1, from the base case of 76.5%. In addition, the categorization of the benchmark values worsened the mining times. #### 3.3.2 Medium Datasets

For medium-sized cases, Company Client #16 (see Tables 5 and 6) and Company Client #15 were chosen.