# Uncovering Insights for New Car Recommendations with Sequence Pattern Mining on Mobile Applications
## 2 Literature Review
### Sequential Pattern Mining  
Sequential pattern mining is a powerful data mining technique used to identify interesting subsequences in a sequence database while considering the order of events between different items recorded in a transaction database. This technique enables the identification of meaningful associations, summarizing customers' buying patterns, and predicting future behavior by analyzing the links between multiple purchases and their sequences. Since its introduction, the field of sequential pattern mining has been highly dynamic, with various studies being published on the subject, including customized modifications of the technique for specific requirements [4; 6; 8; 10; 12; 14]. In sequential pattern mining, the support measure is used to assess the level of interest of a subsequence. The support of a sequence \(s\), sup(s), is the number of transactions in a database where \(s\) appears. A sequence \(s\) is regarded as a sequential pattern if and only if the sup(s) is greater than the _minusup_--threshold specified by the user [11]. Researchers have proposed various algorithms to discover sequential patterns, such as AprioriAll, GSP, SPADE/CSPADE, PrefixSpan, SPAM, CM-Spam, and CM-Spade. Each algorithm discovers the same set of sequential patterns if run with the same minimum support on the same database, but they differ in how they discover the patterns efficiently. [PERSON] and [PERSON] [14] developed the AprioriAll algorithm, one of the most well-known strategies for sequence pattern mining. Compared to the Apriori algorithm, this approach can analyze the association rule as \"if item A is bought, then item B will be bought simultaneously.\" On the other hand, sequence pattern recognition involves the temporal order element, interpreted as \"if item A is bought, then item B will be purchased after a certain duration.\" The primary purpose of the algorithm is to identify the most frequent sequences of length \(k\) from the transaction database. It then utilizes those frequent sequences to generate the candidate sequences by pairing them with the help of a hash tree as the primary storage structure. A bottom-up layer-by-layer search is then utilized to craft the longer candidate sequences based on, the shorter ones. Finally, the support of the generated sequences is evaluated to eliminate those that do not satisfy the minimum support. Once all the sequences are scrutinized, it is simple to detect the largest sequences, thus creating the sequence pattern. A downside to the AprioriAll algorithm is that it produces many possible sequences, making it time-consuming to reduce the number of candidate sequences. [PERSON] and [PERSON] [11] proposed the GSP (Generalized Sequential Pattern) algorithm, which is similar to the AprioriAll algorithm, but it does not need to identify all the recurrent item sets first. Instead, the GSP algorithm carries out multiple passes over the sequence database, using a depth-first search strategy to generate candidate sequences. During each pass, the number of potential sequences is reduced by pruning infrequent sequences to improve the algorithm's efficiency. [PERSON] [12] proposed the SPADE (Sequential Pattern Discovery using Equivalence Classes) algorithm, which uses a vertical data representation to illustrate the sequence database. The vertical data employed by SPADE allow for efficient support counting based on equivalence classes, reducing the number of candidate sequences that need to be generated and verified during the mining process, making SPADE more efficient than other algorithms, such as GSP and PrefixSpan, on certain datasets [15]. [PERSON] et al. [9; 10] introduced the Pattern-Growth approach as an efficient and scalable technique for mining sequential patterns, an extension of the FP-growth algorithm for mining frequent patterns. They also proposed the PrefixSpan (Prefix-projected Sequential Pattern Mining) algorithm, which uses a depth-first search strategy and prefix-projection technique to reduce the search cost of the database.