Using AI to know which question to ask, and when to ask it


Have you ever tried to get an automobile insurance quote by going to an insurance company's web site and filling in the online application form? Some sites ask screen after screen of questions before offering a quote. After answering a series of questions requesting increasingly personal information, I have often given up and abandoned my attempt to get a quote.

Is there some way the company could have minimized the questions they needed to ask before showing me a quote? Indeed, there is. Microsoft Research has developed an algorithm to address this need and implemented it as an easy-to-use API. The algorithm solves the “Next Best Question” problem. Consider the insurance scenario. Each time an applicant answers a question, the algorithm uses all answers provided up to that point to determine what is the next question from among a potentially long list of questions that would provide the most information if answered. Thus, the order of questions asked is dynamically optimized, question by question and answer by answer. The algorithm also computes the expected value (also known as the “information reward”) of asking the next best question. To save time and help avoid customers abandoning the process, the questioning can be cut short once the value of asking another question falls below a certain level or once a certain number of questions have been asked and answered. Note that in the insurance scenario, some questions may be mandatory, due to business or regulatory requirements. Such questions can be asked at the outset, and the answers obtained can be used by the Next Best Question API to optimally choose the subsequent questions.

The Next Best Question API is already being used for applications such as customizing online quizzes for students, and it is applicable to many other use cases and domains such as healthcare screening, technical support, online questionnaires, and recommender systems. In fact, the algorithm powering the API has been extensively studied in published papers, where it outperformed other methods tested on a range of problem domains, including Bank Marketing, Health Assessment, Housing Price Prediction, and others.

Using the API involves three easy steps:

  1. Train model
    • Input: training data (features and target, CSV format) and control file (JSON format)
      • Supports heterogeneous data (continuous, binary, categorical)
    • Output: model id
  1. Deploy trained model
    • Input: model id
    • Output: scoring endpoint URL
  1. Predict Next Best Question
    • Input: currently acquired feature values (known information)
    • Output: predicted Next Best Question, along with predicted Information Reward and imputed feature value

If you are interested in evaluating the API for your scenario, please email the team at

Learn more about this work:


This article was originally published by Microsoft's AI - Customer Engineering Team Blog. You can find the original article here.