  The main purpose of data mining and analytics is to find novel, potentially
useful patterns that can be utilized in real-world applications to derive
beneficial knowledge. For identifying and evaluating the usefulness of
different kinds of patterns, many techniques and constraints have been
proposed, such as support, confidence, sequence order, and utility parameters
(e.g., weight, price, profit, quantity, satisfaction, etc.). In recent years,
there has been an increasing demand for utility-oriented pattern mining (UPM,
or called utility mining). UPM is a vital task, with numerous high-impact
applications, including cross-marketing, e-commerce, finance, medical, and
biomedical applications. This survey aims to provide a general, comprehensive,
and structured overview of the state-of-the-art methods of UPM. First, we
introduce an in-depth understanding of UPM, including concepts, examples, and
comparisons with related concepts. A taxonomy of the most common and
state-of-the-art approaches for mining different kinds of high-utility patterns
is presented in detail, including Apriori-based, tree-based, projection-based,
vertical-/horizontal-data-format-based, and other hybrid approaches. A
comprehensive review of advanced topics of existing high-utility pattern mining
techniques is offered, with a discussion of their pros and cons. Finally, we
present several well-known open-source software packages for UPM. We conclude
our survey with a discussion on open and practical challenges in this field.
