# High-Performance Actionable Knowledge Miner for Boosting Business Revenue
## 2 Methods
### A Distributed Algorithm for the Mining of Action Rules
\begin{table}
\begin{tabular}{c c c} \hline
**Rule/Dataset Type** & **Processing Time** & **\% Customers Covered** \\ \hline Base rule & 11 min & 80.6\% \\ Rule—Type 0 & 0.9 min & 74.2\% \\ Rule—Type 1 & 24 s & 74.2\% \\ Binned—base & 7.1 min & 77.4\% \\ Binned—Type 0 & 24 s & 58.1\% \\ Binned—Type 1 & 18 s & 58.1\% \\ \hline \end{tabular}
\end{table} 
Table 4: Running time and coverage of actionable knowledge miner on Client #5 dataset (306 surveys), “Passive to Promoter” rules. \begin{table}
\begin{tabular}{c c c} \hline
**Rule/Dataset Type** & **Processing Time** & **\% Customers Covered** \\ \hline Base rule & 77 s & 80.6\% \\ Rule—Type 0 & 19.6 s & 74.2\% \\ Rule—Type 1 & 15.7 s & 74.2\% \\ Binned—base & 47.6 s & 77.4\% \\ Binned—Type 0 & 8.8 s & 58.1\% \\ Binned—Type 1 & 10.5 s & 58.1\% \\ \hline \end{tabular}
\end{table} 
Table 5: Running time and coverage of actionable knowledge miner on Client #16 dataset (1192 surveys), “Detractor to Promoter” rules. Detractor to Promoter

The performance gain was around 1.5 h for Rule--Type 0 and around 2 h versus the base case for Rule--Type 1 (see Table 5). Passive to Promoter

The base case required 28 h to mine from this dataset, and was shortened to 18 h with categorized values of benchmarks (see Table 6). By changing the rule format, the times shortened further down to 2 h and 0.5 h, respectively, for Rule--Type 0 and Rule--Type 1. Those times were even shorter for the binned datasets--19 min and 11 min, respectively. As for the coverage, it was slightly worse--down to 143 and 138, respectively, from the original coverage of 153 passives. When testing datasets with categorized benchmarks, that coverage was 157/180, but it was 110/180 with Rule--Type 0 and Rule--Type 1. Another medium dataset tested was for Client 15 with 1240 survey entries. The observed time improvement was down to 2 min from the original 10 min (Rule--Type 0), and down to half a minute for Rule--Type 1. When testing binned datasets, the mining time decreased to about a minute from the original 8 min. For binned datasets, the coverage was better with all tested types of rules. The mining times were as follows: around 11 h for \"Passive to Promoter\" rules, which was reduced down to 30 min with the introduction of Rule--Type 0, and further to 10 min with Rule--Type 1. These times were, respectively, 6 h and then down to 4/3 min when testing datasets with categorized values of benchmarks. #### 3.3.3 Distributed Algorithm for Mining Rules

The experiments with the distributed implementation were conducted on the UNC-Charlotte academic research cluster, with 73 nodes each of 32 GB memory. A set of test cases was chosen to run action rule mining with distributed implementation in Spark. Tables 7 and 8 present running times and coverage, respectively, using the distributed algorithm and Rule--Type 0. #### 3.3.4 Recommendation Algorithm Testing

Besides testing for performance (running times and coverage), we tested the impact of the changes on the recommendations generated. We had to first modify the triggering mechanism when introducing a new rule format (Section 2.12.1). The way we measured the impact was by collecting different types of metrics calculated within the recommendation algorithm, such as the number of meta-actions and meta-nodes. Evaluation Metrics

The following metrics were used to test the recommender algorithm:

a Action rules extracted--the total number of action rules extracted with the Miner (including redundant ones). b Action rules read into RS--action rules that were actually used for the knowledge base of the system (after removing redundant ones and transformation). c Redundancy ratio (a/b)--action rules extracted versus actually used in the system. d Atomic actions--the total number of distinct atomic actions from all action rules. e Atomic actions triggered--atomic actions that have associated meta-actions. f Triggered action rules--action rules for which all the atomics have been triggered. g Ratio of the rules triggered to the rules read into the system (f/b).