We are developing a website which requires a user matching system. Users will get matched with each other based on the answers they provide to our questionnaire. The questionnaire uses a 6 point Likert scale for the responses. We are looking for someone to design a suitable matching formula/algorithm using appropriate, logical mathematical formulas/analysis for the matching.
We have a questionnaire of about 17 questions (this number may increase later). For each question, the user (e.g. User A) chooses the most suitable answer from a likert scale of 1 to 6 (strongly disagree, disagree, somewhat disagree, somewhat agree, agree, strongly agree). Only one answer is allowed. User A then chooses all acceptable answers they would like their potential match (other users) to give (minimum one, maximum six). If User A has chosen, for example, three answers as acceptable, then they need to give these three acceptable answers a priority number. For example if they choose “somewhat agree, agree, strongly agree” as acceptable answers, they can give 1,2,3 priority to these answers. This means another user (e.g. User B) who selected the number 1 acceptable answer will get a higher match (more points) than another user (e.g. User C) who selected the number 2 option, and so on. The matching formula/algorithm will match users based on what they have chosen for themselves and for their potential matches and gives a combined percentage match rating when comparing the answers between users.