This falls into the category of Case-Based Reasoning (CBS). Comparing new cases against historical cases to find the best matched cases using KNN, and use the outcomes of these matched cases to infer on the new cases. To be able to do this, you must have a large historical data (as the knowledge base). Pre-processing is necessary to deal with, among other things, missing values, wrong values, normalization etc. New cases can be updated with the actual outcomes when known and be included into the knowledge base incrementally.
Refer:
Case Based Reasoning[
^]