Skip to content

Relationship Compatibility Questionnaire and Scoring Algorithm

Introduction

Long-term relationship success is built on multiple layers of compatibility, as emphasized by decades of research in relationship psychology. Contrary to the old “opposites attract” myth, studies show that couples feel more compatible and satisfied when they share similar core traits and values (New research identifies 24 factors of romantic compatibility and their relationship to different love styles). Recent research identified 24 distinct dimensions of compatibility that couples consider important, highlighting that similarities in lifestyle, opinions, and morals are especially key facets of romantic compatibility (New research identifies 24 factors of romantic compatibility and their relationship to different love styles). These findings reinforce the idea that alignment on fundamental issues forms a strong foundation for enduring love.

Psychological theories and experts further illustrate why these dimensions matter. The Gottman Institute’s research on thousands of couples, for example, finds that it’s largely “the way couples navigate conflict and the emotions they express” that determines whether a relationship thrives or deteriorates (The Gottman Method: Definition, Techniques, and Benefits). Healthy communication patterns, emotional regulation, and positive interactions help partners resolve the 69% of perpetual problems that most couples inevitably face (The Gottman Method: Definition, Techniques, and Benefits) (The Gottman Method: Definition, Techniques, and Benefits). Likewise, attachment theory explains how our emotional bonding style affects compatibility: a pair with mismatched attachment styles (e.g. one secure, one anxious) may struggle to meet each other’s needs, whereas partners who are both secure tend to report the highest relationship satisfaction ( The Relationship Between Attachment Styles and Lifestyle With Marital Satisfaction – PMC ). In other words, emotional security and understanding between partners strongly influence long-term stability.

Other research highlights additional pillars of compatibility. Sharing fundamental values and life goals (such as views on family or ethics) has been linked to higher relationship quality (New research identifies 24 factors of romantic compatibility and their relationship to different love styles). Mutual trust and honesty form a crucial baseline for intimacy, as does the ability to empathize and support each other emotionally. Even physical and sexual compatibility plays a significant role – studies have found that sexual compatibility is a major predictor of long-term relationship happiness and overall satisfaction (Good in Love, Bad in Bed? Truths About Sexual Compatibility | Psychology Today). Ultimately, high compatibility doesn’t mean two people are identical; it means their differences are complementary or manageable, and their similarities span the areas that matter most (New research identifies 24 factors of romantic compatibility and their relationship to different love styles).

Drawing on these insights from the Gottman Institute, attachment theory, and empirical studies, we can identify 24 key dimensions that influence long-term couple compatibility. Each dimension represents an area of potential alignment (or misalignment) between partners, ranging from communication habits to life aspirations. Below is an overview of these 24 dimensions, synthesized from academic and professional literature:

  1. Communication Style – How partners communicate, listen, and converse day-to-day (clear and assertive vs. indirect or reserved). Effective, open communication is strongly linked to relationship satisfaction.
  2. Conflict Resolution Approach – How they handle disagreements (e.g. constructive problem-solving vs. yelling or avoidance). Couples who can manage conflict calmly and respectfully tend to stay together (The Gottman Method: Definition, Techniques, and Benefits).
  3. Emotional Regulation & Expression – Ability to manage and express emotions in a healthy way. This includes handling stress without lashing out and being open about feelings. Poor emotional regulation can lead to frequent escalated conflicts.
  4. Empathy and Emotional Support – Capacity to understand each other’s feelings and provide comfort. High empathy allows partners to feel heard and validated, strengthening their bond.
  5. Attachment Style Dynamics – Each partner’s attachment orientation (secure, anxious, avoidant) and how these styles interact. A mismatch (e.g. secure with avoidant) can hinder getting each other’s needs met ( The Relationship Between Attachment Styles and Lifestyle With Marital Satisfaction – PMC ), while a pair of secure attachers often thrive.
  6. Core Values and Morals – Alignment in fundamental values (honesty, kindness, justice, etc.) and ethics. Sharing core morals provides a sense of unity on what’s “right” or important in life.
  7. Attitudes on Key Issues – Similarity in viewpoints on important or “hot-button” issues (e.g. politics, social causes, gender roles). For instance, partners with opposing stances on major social issues may face recurring tension unless they can respectfully agree to disagree (New research identifies 24 factors of romantic compatibility and their relationship to different love styles).
  8. Religious/Spiritual Beliefs – Compatibility in religion or spirituality (from devout to non-religious). A devoutly religious person and a non-believer, for example, might struggle unless they find mutual respect and compromise.
  9. Lifestyle & Routine – Harmony in daily lifestyle preferences, such as routines and habits. This covers things like cleanliness, punctuality, spending routines, or general pace of life (structured vs. spontaneous lifestyle).
  10. Social Life and Sociability – How social each person is, and their preferred social activities. An extrovert who loves parties and a homebody who prefers quiet evenings might need to balance these differences.
  11. Leisure Interests and Hobbies – Enjoyment of similar recreational activities or hobbies. Sharing some interests (or showing interest in each other’s hobbies) can improve bond, whereas completely divergent leisure preferences might limit quality time together.
  12. Life Goals and Aspirations – Alignment in long-term goals and dreams. This includes career ambitions, personal development, travel or lifestyle dreams, retirement plans, etc. Partners with shared visions for the future (or supportive of each other’s goals) tend to fare better than those with clashing life plans.
  13. Family and Children – Compatibility in desires regarding family. This includes whether to have children (and how many), parenting philosophies, and the importance of family ties. A couple where one wants kids and the other doesn’t will face a significant compatibility challenge.
  14. Financial Attitudes – How each handles money and financial planning. For example, saving vs. spending habits, budgeting style, and attitudes about debt. Money is a common conflict area; compatibility here means agreeing on financial priorities or finding workable compromises.
  15. Career Orientation and Work–Life Balance – The role of career in each partner’s life and how it impacts the relationship. If one partner is highly career-driven (e.g., long hours, very ambitious) and the other prioritizes personal or family time, they must negotiate a balance.
  16. Intimacy and Affection – Preferred levels of emotional and physical closeness. This covers how often they seek affection, cuddle, say “I love you,” etc. A mismatch (one very affectionate, one less so) can leave one feeling needy and the other smothered if not addressed.
  17. Sexual Compatibility – Alignment in sexual needs, desires, and comfort levels. This includes libido (frequency of sex), sexual preferences, and boundaries. Research indicates sexual compatibility is a key predictor of relationship satisfaction (Good in Love, Bad in Bed? Truths About Sexual Compatibility | Psychology Today), and couples who feel unsatisfied in this area often report lower overall happiness.
  18. Romantic Expression – How partners express love and romance. Some people are very romantic (surprise dates, love notes), others are practical or shy about grand gestures. Compatible expectations around romance prevent disappointments (e.g., one partner expecting frequent surprises while the other is low-key).
  19. Trust and Honesty – Mutual trustworthiness, honesty, and reliability. This is foundational: if one partner highly values transparency and the other tends to keep secrets or tell white lies, it can erode trust. High compatibility means both prioritize honesty and can rely on each other.
  20. Sense of Humor – A shared sense of humor and playfulness. Laughing together creates bonding; if what one finds funny offends or bores the other, it may limit positive interactions. Compatibility here means they can make each other laugh or at least appreciate each other’s humor style.
  21. Intellectual Compatibility – Similar levels of intellectual curiosity, education, or interests in ideas. This affects the depth of conversations they enjoy. If both enjoy intellectual discussions (or both don’t), they’ll connect more easily than if one craves deep philosophical talks and the other has no interest.
  22. Cultural Background and Traditions – Understanding and acceptance of each other’s cultural or family background. This includes ethnic or regional culture, traditions, and family upbringing. Differences here can enrich a relationship, but only if both partners show respect – otherwise, clashes in traditions or family expectations can arise.
  23. Dietary and Health Habits – Compatibility in diet, food preferences, and health lifestyles. For example, a vegan and a meat-lover, or a fitness enthusiast and a sedentary person, will need to navigate these differences. Sharing similar habits (or being flexible) in everyday matters like meals and health routines can reduce friction.
  24. Energy Level & Activity – Matching levels of energy and preferred activity intensity. This refers to general temperament – whether someone is high-energy vs. low-energy, adventurous vs. relaxed. For instance, if one partner likes to be active and on-the-go constantly while the other prefers lounging and rest, they’ll need to compromise on lifestyle pace.

These 24 dimensions cover a broad spectrum from practical day-to-day habits to deep-seated values and emotional tendencies. High compatibility doesn’t require a perfect match on every single dimension; rather, couples with strong long-term potential tend to align closely on many of these key areas and have strategies to manage any differences. The questionnaire below is designed to help dating individuals assess how they and a partner compare across many of these dimensions, and the scoring algorithm will translate those comparisons into a quantitative compatibility score and qualitative evaluation.

Compatibility Questionnaire

Instructions: This questionnaire is organized into three sections – Multiple-Choice, Multiple-Select, and Likert scale items – each addressing various compatibility dimensions. Both partners should answer each question honestly based on their personal feelings, habits, or preferences. After both have completed it, the answers can be compared and scored to reveal compatibility across different areas.

Multiple-Choice Questions (MCQ) – Select one answer that best fits you for each.

Each MCQ targets one or more of the compatibility dimensions identified above. (Only one answer can be chosen for each question.)

MCQ1. When conflict arises between you and your partner, how do you usually respond? (Dimension: Conflict Resolution & Communication)

  • A. I tend to avoid discussing the conflict or withdraw until emotions cool down.
  • B. I stay calm and talk openly through the issue, looking for a resolution.
  • C. I can get emotional or heated, but I eventually work it out after venting.
  • D. I confront it immediately and bluntly, expecting to resolve it quickly or drop it.

MCQ2. At a social event or party, you are most likely to: (Dimension: Social Life & Sociability)

  • A. Be the center of attention, engaging with everyone.
  • B. Mix and mingle with several people, enjoying a moderate level of socializing.
  • C. Stick mostly to one or two people you’re comfortable with (including your partner).
  • D. Avoid large gatherings when possible; big social events aren’t really your scene.

MCQ3. Which statement best describes your attitude toward personal finances? (Dimension: Financial Attitudes)

  • A. I budget carefully and save whenever possible; financial security is crucial to me.
  • B. I try to balance saving and enjoying life – I’ll spend on experiences but also save responsibly.
  • C. I live in the moment when it comes to money; I’m not too worried about budgeting or spending.
  • D. I’m flexible or inconsistent – some months I’m frugal, other times I splurge, without a strict plan.

MCQ4. How important is family (parents, siblings, extended family) in your life? (Dimension: Family & Traditions)

  • A. Very important – I see or talk to my family all the time and imagine frequent family gatherings with a partner.
  • B. Somewhat important – I’m close with my family but also value independence; we connect regularly but not constantly.
  • C. Not very important – I don’t involve family much in my adult life; contact is infrequent.
  • D. Complicated – I have significant family conflicts or differences that limit how involved I want them in my future relationship.

MCQ5. Which best matches your religious or spiritual outlook? (Dimension: Religious/Spiritual Beliefs)

  • A. Religious/Devout – I actively practice a faith and it’s very important to me that my partner shares or respects it.
  • B. Spiritual but not religious – I have personal spiritual beliefs but I’m not aligned with organized religion.
  • C. Secular/Non-religious – I do not practice religion and it’s not a significant part of my life.
  • D. Unsure/Undecided – My beliefs are in flux or not strongly defined; I’m open-minded either way.

MCQ6. When you are feeling very stressed or upset, what do you most often do? (Dimension: Emotional Support & Attachment)

  • A. Seek support from my partner immediately – I find comfort in sharing and having them there for me.
  • B. Take time alone to process my feelings first, then maybe talk to my partner later.
  • C. Keep it private – I usually prefer not to burden my partner with my stresses and try to handle it myself.
  • D. Reach out to someone else (friend/family) rather than my partner for comfort or advice.

Multiple-Select Questions (MSQ) – Select all options (or up to the number specified) that apply to you.

These questions allow multiple selections, reflecting that more than one option may be true for you. Mark each option that resonates with you. Each MSQ addresses one or more compatibility dimensions by identifying preferences or values; overlap between partners’ selections indicates similarity in those areas.

MSQ1. Which of the following values or qualities do you consider most important in your life? (Select up to two) (Dimension: Core Values & Personality Priorities)

  • [ ] Honesty and integrity – Being truthful, transparent, and principled.
  • [ ] Compassion and empathy – Showing kindness and understanding toward others.
  • [ ] Ambition and drive – Working hard, pursuing success or personal goals.
  • [ ] Humor and lightheartedness – Having fun and not taking life too seriously.
  • [ ] Creativity and self-expression – Valuing art, creativity, or innovation in life.

MSQ2. What types of activities do you most enjoy doing with a partner? (Select all that apply) (Dimension: Leisure Interests & Lifestyle)

  • [ ] Outdoor adventures (hiking, sports, traveling, exploring new places)
  • [ ] Social outings (parties, group gatherings, dining out with friends)
  • [ ] Cultural activities (museums, concerts, movies, reading together)
  • [ ] Relaxing at home (cooking together, watching shows, cuddling on the couch)
  • [ ] Self-improvement or projects (taking classes, working out together, doing home projects)

MSQ3. What are your primary love languages or ways you prefer to receive affection from a partner? (Select up to two) (Dimension: Intimacy & Affection)
(Love languages describe how people express and feel loved.)

  • [ ] Physical touch – e.g. holding hands, cuddling, sexual intimacy.
  • [ ] Quality time – e.g. doing activities together, undivided attention.
  • [ ] Words of affirmation – e.g. compliments, “I love you” and verbal support.
  • [ ] Acts of service – e.g. doing helpful things, taking care of tasks to show love.
  • [ ] Gifts – e.g. giving or receiving thoughtful presents or surprises.

MSQ4. Which of these best describe your sense of humor? (Select all that apply) (Dimension: Sense of Humor & Emotional Connection)

  • [ ] Playful or goofy – I enjoy silly jokes, puns, and playful banter.
  • [ ] Dry or sarcastic – I have a sarcastic, sometimes deadpan sense of humor.
  • [ ] Intellectual or witty – I love clever humor, wordplay, or nerdy references.
  • [ ] Slapstick or physical – I laugh at physical comedy or exaggerated antics.
  • [ ] I’m not very humor-oriented – I don’t joke around much and prefer serious conversations.

MSQ5. Which future life goals are you actively working toward or strongly desire? (Select all that apply) (Dimension: Life Goals & Future Plans)

  • [ ] Advancing my career or educational achievements.
  • [ ] Having children (or raising a family, if you want kids).
  • [ ] Owning a home or settling into a stable living situation.
  • [ ] Traveling the world or pursuing adventurous experiences.
  • [ ] Financial independence (saving/investing for comfort or early retirement).
  • [ ] Creative or personal projects (writing a book, starting a business, etc.).

MSQ6. What factors do you consider most important in a long-term partner? (Select up to three) (Dimension: Relationship Priorities & Values)

  • [ ] Physical attraction and chemistry.
  • [ ] Financial stability and responsibility.
  • [ ] Shared values and beliefs.
  • [ ] Emotional support and understanding.
  • [ ] Fun and companionship (enjoying time together).
  • [ ] Intellectual compatibility (stimulating conversation, similar interests).

Likert Scale Questions (1–5 scale) – Rate your level of agreement with each statement.

For each statement below, both partners should give a rating from 1 to 5 (where 1 = Strongly Disagree, 5 = Strongly Agree, and 3 is Neutral). These items gauge personal attitudes and preferences; comparing ratings will show how aligned or different you are on each dimension.

Likert Q1. “Having a shared set of core values and beliefs with my partner is important to me.” (Dimension: Values & Beliefs Alignment)

  • 1 – Strongly Disagree
  • 2 – Disagree
  • 3 – Neither Agree nor Disagree (Neutral)
  • 4 – Agree
  • 5 – Strongly Agree

Likert Q2. “I prefer to plan things out in advance rather than be spontaneous.” (Dimension: Lifestyle – Planning vs. Spontaneity)

  • 1 – Strongly Disagree
  • 2 – Disagree
  • 3 – Neutral
  • 4 – Agree
  • 5 – Strongly Agree

Likert Q3. “I enjoy being physically affectionate (hugs, kisses, cuddling) with my partner on a daily basis.” (Dimension: Affection & Intimacy Needs)

  • 1 – Strongly Disagree
  • 2 – Disagree
  • 3 – Neutral
  • 4 – Agree
  • 5 – Strongly Agree

Likert Q4. “I want to have children (or more children) in the future.” (Dimension: Family & Future Plans)

  • 1 – Strongly Disagree (I definitively do not want children)
  • 2 – Disagree (I’m leaning against having children)
  • 3 – Neutral/Unsure (Open to it if conditions are right, or undecided)
  • 4 – Agree (I’m leaning towards wanting children)
  • 5 – Strongly Agree (I definitely want to have children someday)

Likert Q5. “I am comfortable discussing my feelings openly with my partner.” (Dimension: Communication & Emotional Openness)

  • 1 – Strongly Disagree
  • 2 – Disagree
  • 3 – Neutral
  • 4 – Agree
  • 5 – Strongly Agree

Likert Q6. “I believe household chores and responsibilities should be divided evenly (or fairly) between partners.” (Dimension: Values – Equality & Roles)

  • 1 – Strongly Disagree (I do not think an even split is necessary or ideal)
  • 2 – Disagree
  • 3 – Neutral/Depends
  • 4 – Agree
  • 5 – Strongly Agree (Absolutely, chores should be shared equally)

Likert Q7. “I need a significant amount of personal space or ‘alone time’ in a relationship.” (Dimension: Independence & Personal Space Needs)

  • 1 – Strongly Disagree (I don’t need much space; I prefer lots of togetherness)
  • 2 – Disagree
  • 3 – Neutral
  • 4 – Agree
  • 5 – Strongly Agree (Yes, I need regular alone time to feel comfortable)

(Each partner should record a 1–5 answer for each Likert item above. Once all questions are answered, proceed to scoring to see how your responses compare.)

Scoring Algorithm Explanation

Overview: The scoring algorithm takes the answers from Person A and Person B and evaluates how similar or different they are on each question and, by extension, on each underlying compatibility dimension. The goal is to translate these comparisons into: (a) a total compatibility score between 0 and 100, (b) sub-scores in key compatibility areas (like Communication, Shared Goals, Emotional Compatibility, etc.), and (c) a qualitative compatibility rating (High/Medium/Low). The core idea is that for each dimension, greater similarity or alignment in answers yields a higher score, while significant differences lower the score. We assign point values for each question’s comparison and then aggregate those points dimension-wise and overall. Below is a step-by-step breakdown of how the scoring works for MCQs, MSQs, and Likert items:

  1. Assigning Values to Answers:
    First, we represent each person’s answers in a comparable format. For MCQs, each option can be encoded as a value (e.g., A=1, B=2, C=3, D=4) or a category. For Likert questions, the answers are already numeric (1–5). For MSQs, treat each selected option as a set of chosen items for that question (e.g., Person A’s set vs Person B’s set). We also note which compatibility dimension(s) each question corresponds to (as outlined in the questionnaire above) so that we can accumulate scores by dimension. For example, MCQ1 addresses the Conflict Resolution dimension, so its scoring will feed into the “Communication/Conflict” sub-score.
  2. Scoring Each Question:
    • MCQ (Single-Choice) Items: If both partners chose the same option, it indicates strong alignment on that dimension, and we assign full points for that question (e.g., 100% similarity for that item). If their answers are different, we assess how far apart those choices are. In some cases, MCQ options might be on an ordinal scale (for instance, in MCQ5 on religion, option A represents very religious and C represents non-religious, which are far apart). If an MCQ’s options have a logical order or continuum, we can assign a numeric scale and measure the difference. For simplicity, a basic approach is: if answers differ, score 0 for that question’s compatibility (assuming any difference indicates a potential mismatch on that aspect). A more nuanced approach could give partial credit if the choices are adjacent or similar in spirit. For example, if one partner chose “Somewhat important” and the other “Very important” in MCQ4 (family importance), they are fairly close – we might award, say, 50–75% of the points instead of zero. However, if one chose “Very important” and the other “Not important,” that stark contrast would score 0 for that item. In summary, exact match = high score, mild difference = medium score, major difference = low score for the MCQ. Each MCQ is typically weighted equally in the overall tally.
    • MSQ (Multiple-Select) Items: For each MSQ, we compare the sets of options selected by A and B. The more overlap between their chosen options, the more aligned their preferences/values are on that question. A common method is to use the Jaccard similarity – which is the size of the intersection divided by the size of the union of the two sets. For example, if on MSQ2 (activities) Person A selected {Outdoor, Relaxing at home} and Person B selected {Outdoor, Social outings, Relaxing at home}, the intersection is {Outdoor, Relaxing at home} (2 common items) and the union is {Outdoor, Social outings, Relaxing at home} (3 items in total). The similarity would be 2/3 ≈ 0.667 (66.7%). We can convert that to points (e.g., 66.7 out of 100 for that question). If they chose exactly the same set of options, the similarity is 1 (100% match). If there are no common selections, similarity is 0 (0 points for that item). In practice, the algorithm will compute: MSQ score = (Number of common selected options) / (Number of unique options selected by either partner) × 100. This rewards overlapping choices. (If a question specifies a fixed number of selections, the comparison is straightforward as above. If one partner selected more items than the other, the union accounts for those extras, so lacking overlap on those will lower the score proportionally.) Each MSQ contributes a percentage similarity for that dimension’s aspects.
    • Likert Scale Items: For each Likert statement (rated 1–5), we calculate the difference between Person A’s and Person B’s ratings. Since these are on a 5-point agreement scale, the maximum possible difference is 4 points (e.g., one says 1 and the other says 5). We convert this difference into a similarity score. A simple formula is: Similarity % = (4 – |A–B|) / 4 × 100. This means if both gave the same rating (difference = 0), similarity = (4–0)/4 = 1 → 100% for that item (perfect agreement). If they’re 1 point apart, similarity = 75%. 2 points apart → 50%, 3 apart → 25%, and 4 apart (complete opposite opinions on that item) → 0%. This linear scaling reflects that smaller disagreements still indicate partial compatibility. For example, if one partner “Agrees” (4) and the other “Strongly Agrees” (5) on “shared values are important” (Likert Q1), that’s a minor difference, scoring 75%. But if one “Strongly Agrees” (5) and the other “Disagrees” (2), that yields (4–3)/4 = 25% – a significant mismatch on that belief. Each Likert item thus yields a score from 0 to 100 for that specific aspect.
  3. Calculating Dimension Sub-Scores:
    Each question was mapped to one or more of the 24 dimensions (noted in the questionnaire). We aggregate the scores of questions belonging to the broader compatibility categories the user cares about (Communication, Shared Goals, Emotional Intelligence, etc.). For clarity, we organize the 24 fine-grained dimensions into a few key categories and calculate a percentage score for each:
    • Communication & Conflict Management: Includes items like MCQ1 (conflict style) and Likert Q5 (comfort with discussing feelings). We average the scores of these communication-related questions to get a sub-score. For instance, if a couple perfectly matched on conflict style (100%) but had a 50% score on the feelings discussion item, the Communication sub-score would be (100 + 50)/2 = 75%. This category reflects how well they align in communication habits, conflict resolution approaches, and overall openness.
    • Values & Beliefs Alignment: Includes dimensions such as core values, ethics, religion, and fundamental beliefs. We take scores from MCQ5 (religious outlook), MSQ1 (important values), Likert Q1 (importance of shared values), Likert Q6 (attitude on equality in roles), etc., and compute an average. A high sub-score here means the partners see eye-to-eye on big-picture principles and moral outlooks.
    • Emotional & Intimacy Compatibility: Encompasses emotional expression, empathy, affection and sexual compatibility aspects. We include MCQ6 (seeking support vs. independence under stress), MSQ3 (love languages preference overlap), MSQ4 (humor style overlap), Likert Q3 (physical affection needs), Likert Q7 (need for personal space). These together indicate how emotionally in tune the couple is – a high score suggests they have similar needs for closeness, affection, and understand each other’s emotional styles.
    • Lifestyle & Leisure Compatibility: Covers day-to-day life preferences and social habits. We include MCQ2 (sociability), MSQ2 (favorite activities overlap), Likert Q2 (planning vs spontaneity). If both partners scored similarly on these (e.g., both are introverts who love quiet nights in and both are spontaneous planners), the lifestyle sub-score will be high. A low score might indicate one likes partying while the other dislikes social gatherings, etc.
    • Future Plans & Shared Goals: Incorporates dimensions involving long-term planning – desire for children, career ambitions, and other life goals. We use MCQ4 (importance of family), MSQ5 (future goals selection overlap), Likert Q4 (children). This sub-score reflects how well their future aspirations align (for example, if both want kids and a stable home, or if both prioritize career and travel over starting a family, etc.). A couple with divergent life plans (say one wants to live abroad and never have kids, while the other wants to settle near family and have children soon) would score low here.
    Each sub-score is calculated as the average of the question scores in that category, converted to a percentage. (If a question spans multiple dimensions, its score can be included in each relevant category; to avoid overweighting, sometimes half-weight is given to each of two categories if a single question was mapped to two distinct areas. In our case, we primarily assign each question to one primary category for scoring simplicity.) These sub-scores help pinpoint where the couple is highly compatible and where they may need to work on differences. For example, a couple might have a high Emotional Compatibility score but a moderate Shared Goals score, indicating they connect well emotionally but should discuss their long-term plans further.
  4. Computing the Overall Compatibility Score (0–100):
    The total compatibility score aggregates all the dimensions together. One straightforward method is to take the average of all the question similarity scores (each question weighted equally) or, equivalently, the average of all the dimension scores (if each of the 24 dimensions were assessed equally). Since our questionnaire gives an equal number of questions to various areas, we can sum up all the individual question compatibility percentages and divide by the total number of questions to get the overall percentage. For example, if across the 18 questions the couple’s comparison yielded a sum of 13.5 “match points” out of 18 (where 1 point per question is full match, or fractional for partial), the overall compatibility = (13.5/18) ≈ 0.75 → 75 out of 100. In practice, the algorithm will do: TotalScore = (Sum of all question similarity scores) / (Maximum possible sum) × 100. Each question’s maximum similarity is 100, so if every answer were identical, the sum would equal the number of questions × 100, yielding 100%. If many answers differ, the total percentage drops accordingly. We ensure that each of the 24 dimensions (via their representative questions) is appropriately factored in. If certain dimensions are deemed more critical by the questionnaire designer or user, they could be given higher weight in this calculation – for instance, one might double-weight the “Children” question if having kids is a non-negotiable issue – but in a general tool we treat all questions (and thus dimensions) with equal weight to avoid bias.
  5. Compatibility Classification (High/Medium/Low):
    Finally, we translate the overall score into a qualitative rating to give users a quick interpretation:
    • High Compatibility: A score in roughly the top range (for example, above 80 out of 100) would be labeled “High Compatibility.” This indicates the partners answered very similarly on most important dimensions, showing strong alignment. They likely have only minor differences that are manageable.
    • Medium Compatibility: A mid-range score (e.g. around 50–79 out of 100) would be “Medium Compatibility.” This suggests a mix of similarities and differences. The couple is compatible in some areas but will have to navigate and negotiate differences in others. Many healthy couples fall in this range and can achieve long-term happiness by working on the areas where they diverge.
    • Low Compatibility: A low score (below ~50) would be labeled “Low Compatibility.” This means the partners responded quite differently on many of the dimensions. They may have fundamentally different values, goals, or styles that could make a long-term relationship challenging. A low compatibility classification isn’t necessarily a definitive “red light,” but it does flag that significant effort and communication would be required to bridge the gaps if the relationship is to succeed.
    These thresholds (50 and 80 in this example) are somewhat adjustable – the idea is to provide a meaningful categorization. In our scoring algorithm, we use: 80–100 = High, 50–79 = Medium, 0–49 = Low compatibility. For instance, if a couple’s final score came out to 72, they’d get a “Medium Compatibility” rating. If it was 85, that’s “High Compatibility.” Alongside the label, the sub-scores can be presented to highlight why they got that rating (e.g., “High compatibility overall, especially strong in Communication and Emotional Connection, with some differences in Lifestyle preferences”). This helps the couple identify their strengths and growth areas.
  6. Example: Suppose Person A and Person B both strongly agree that shared values are important (Likert Q1: both gave 5 → 100% for that item), have identical picks for top values in life (MSQ1 overlap 100%), and matched on conflict style (MCQ1 same choice → 100%). These all contribute high points. But say they differ on social life (one chose very social, other chose avoid events on MCQ2 → 0%), and have only 1 common future goal out of 3 chosen each (33% on MSQ5). Those differences will pull the total score down. The algorithm tallies all these, averages them, and maybe the final comes out to, e.g., 70%. That would be a Medium compatibility overall. The sub-scores would show, for example, Communication = 100% (they align well in conflict and openness), Values = 90%, Emotional = 80%, Lifestyle = 50% (because of the social life gap), Future Plans = 30% (quite different goals). The output might say “Overall Compatibility: 70/100 (Medium). Strong alignment in communication, values, and emotional connection, but notable differences in social lifestyle and long-term plans.” This gives a nuanced view beyond just the number.

In summary, the scoring algorithm compares partners’ answers for each compatibility dimension, converts those comparisons into numerical similarity scores (0–100), and then compiles an overall compatibility score and category. The JavaScript implementation below will demonstrate this logic in a concrete way, taking two users’ responses and outputting their compatibility results with sub-scores and the final rating.

JavaScript Implementation

The following is a self-contained JavaScript function that takes two respondents’ answers and computes the compatibility scores as described. It assumes the answers are provided in a structured format (e.g., as objects containing arrays of answers for MCQs, MSQs, and Likert items). The code calculates the match percentage for each question, aggregates sub-scores for the major categories, computes the total compatibility percentage, and determines the High/Medium/Low classification. Comments are included for clarity at each step:

/**
 * Compute compatibility between two partners based on their questionnaire answers.
 * @param {Object} personA - Answers of Person A.
 * @param {Object} personB - Answers of Person B.
 * The person objects should have the following properties:
 *   - mcq: Array of answers for MCQs (each answer is an index or letter representing the chosen option).
 *   - msq: Array of answers for MSQs (each answer is an array of indices for options selected).
 *   - likert: Array of answers for Likert questions (each answer is a number 1–5).
 * @return {Object} An object containing total compatibility score (0–100), 
 *                  sub-scores for key categories, and a compatibility classification.
 */
function computeCompatibility(personA, personB) {
    // Configuration: number of questions in each section
    const numMCQ = 6;
    const numMSQ = 6;
    const numLikert = 7;

    // Ensure input arrays lengths match expected
    if (personA.mcq.length !== numMCQ || personB.mcq.length !== numMCQ) {
        console.warn("MCQ answers length mismatch expected count.");
    }
    if (personA.msq.length !== numMSQ || personB.msq.length !== numMSQ) {
        console.warn("MSQ answers length mismatch expected count.");
    }
    if (personA.likert.length !== numLikert || personB.likert.length !== numLikert) {
        console.warn("Likert answers length mismatch expected count.");
    }

    // Helper function to compute Jaccard similarity (0 to 1) between two sets (for MSQ).
    function jaccard(setA, setB) {
        let intersectionSize = 0;
        for (let item of setA) {
            if (setB.has(item)) {
                intersectionSize++;
            }
        }
        const unionSize = setA.size + setB.size - intersectionSize;
        return unionSize === 0 ? 1 : intersectionSize / unionSize;  // if both empty, treat as full similarity
    }

    // Initialize scores
    let totalSimilaritySum = 0;       // sum of similarity (as fraction of 1) for all questions
    let totalQuestions = numMCQ + numMSQ + numLikert;  // total number of questions compared

    // Sub-score accumulators for categories
    let commSum = 0, commCount = 0;             // Communication & Conflict
    let valuesSum = 0, valuesCount = 0;         // Values & Beliefs
    let emotionalSum = 0, emotionalCount = 0;   // Emotional & Intimacy
    let lifestyleSum = 0, lifestyleCount = 0;   // Lifestyle & Leisure
    let futureSum = 0, futureCount = 0;         // Future Plans & Goals

    // 1. Score MCQs
    for (let i = 0; i < numMCQ; i++) {
        const ansA = personA.mcq[i];
        const ansB = personB.mcq[i];
        let questionScore = 0;
        if (ansA === ansB) {
            // exact same choice
            questionScore = 1;  // 100% similarity in fractional form
        } else {
            // different choice -> partial or no credit
            // For simplicity, we assign 0 (assuming any difference is a full mismatch)
            // This can be refined if an order or similarity can be defined among options.
            questionScore = 0;
        }
        // Add to overall
        totalSimilaritySum += questionScore;
        // Map MCQ i to its dimension category and add to that sub-score
        switch(i) {
            case 0: // MCQ1: Conflict Resolution (Communication category)
                commSum += questionScore; commCount++;
                break;
            case 1: // MCQ2: Social Life (Lifestyle category)
                lifestyleSum += questionScore; lifestyleCount++;
                break;
            case 2: // MCQ3: Financial Attitude (Values category)
                valuesSum += questionScore; valuesCount++;
                break;
            case 3: // MCQ4: Family Importance (Future Plans category)
                futureSum += questionScore; futureCount++;
                break;
            case 4: // MCQ5: Religious Beliefs (Values category)
                valuesSum += questionScore; valuesCount++;
                break;
            case 5: // MCQ6: Coping with Stress / Emotional support (Emotional category)
                emotionalSum += questionScore; emotionalCount++;
                break;
        }
    }

    // 2. Score MSQs
    for (let j = 0; j < numMSQ; j++) {
        // Convert answers to sets for comparison
        const setA = new Set(personA.msq[j]);
        const setB = new Set(personB.msq[j]);
        // Compute Jaccard similarity for the selected sets
        const similarityFraction = jaccard(setA, setB);  // between 0 and 1
        totalSimilaritySum += similarityFraction;
        // Add to appropriate sub-score category
        switch(j) {
            case 0: // MSQ1: Important values/qualities (Values category)
                valuesSum += similarityFraction; valuesCount++;
                break;
            case 1: // MSQ2: Enjoyed activities (Lifestyle category)
                lifestyleSum += similarityFraction; lifestyleCount++;
                break;
            case 2: // MSQ3: Love languages (Emotional/Intimacy category)
                emotionalSum += similarityFraction; emotionalCount++;
                break;
            case 3: // MSQ4: Humor style (Emotional/Intimacy category)
                emotionalSum += similarityFraction; emotionalCount++;
                break;
            case 4: // MSQ5: Future goals (Future Plans category)
                futureSum += similarityFraction; futureCount++;
                break;
            case 5: // MSQ6: Partner priority factors (Values category)
                valuesSum += similarityFraction; valuesCount++;
                break;
        }
    }

    // 3. Score Likert items
    for (let k = 0; k < numLikert; k++) {
        const ratingA = personA.likert[k];
        const ratingB = personB.likert[k];
        // Calculate difference and similarity fraction
        const diff = Math.abs(ratingA - ratingB);
        const similarityFraction = (4 - diff) / 4;  // 0 if diff=4, 1 if diff=0
        totalSimilaritySum += similarityFraction;
        // Map each Likert question to a category
        switch(k) {
            case 0: // Likert1: Shared values importance (Values category)
                valuesSum += similarityFraction; valuesCount++;
                break;
            case 1: // Likert2: Planning vs spontaneity (Lifestyle category)
                lifestyleSum += similarityFraction; lifestyleCount++;
                break;
            case 2: // Likert3: Physical affection daily (Emotional category)
                emotionalSum += similarityFraction; emotionalCount++;
                break;
            case 3: // Likert4: Want children (Future Plans category)
                futureSum += similarityFraction; futureCount++;
                break;
            case 4: // Likert5: Discuss feelings openly (Communication category)
                commSum += similarityFraction; commCount++;
                break;
            case 5: // Likert6: Equal chores (Values category)
                valuesSum += similarityFraction; valuesCount++;
                break;
            case 6: // Likert7: Need personal space (Emotional category)
                emotionalSum += similarityFraction; emotionalCount++;
                break;
        }
    }

    // 4. Calculate final scores
    const overallScore = (totalSimilaritySum / totalQuestions) * 100;

    // Calculate sub-score percentages for each category if there were questions in that category
    const communicationScore = commCount > 0 ? (commSum / commCount) * 100 : 0;
    const valuesScore = valuesCount > 0 ? (valuesSum / valuesCount) * 100 : 0;
    const emotionalScore = emotionalCount > 0 ? (emotionalSum / emotionalCount) * 100 : 0;
    const lifestyleScore = lifestyleCount > 0 ? (lifestyleSum / lifestyleCount) * 100 : 0;
    const futureScore = futureCount > 0 ? (futureSum / futureCount) * 100 : 0;

    // 5. Determine compatibility classification
    let classification;
    if (overallScore >= 80) {
        classification = "High Compatibility";
    } else if (overallScore >= 50) {
        classification = "Medium Compatibility";
    } else {
        classification = "Low Compatibility";
    }

    // Round scores to neat integers (or you could keep one decimal place if desired)
    const totalScoreRounded = Math.round(overallScore);

    const result = {
        totalScore: totalScoreRounded,           // e.g., 72
        classification: classification,          // "Medium Compatibility"
        subScores: {
            communication: Math.round(communicationScore),
            sharedValues: Math.round(valuesScore),
            emotionalIntimacy: Math.round(emotionalScore),
            lifestyle: Math.round(lifestyleScore),
            sharedGoals: Math.round(futureScore)
        }
    };
    return result;
}

// Example usage:
const personA = {
    mcq: [1, 3, 0, 1, 2, 0],           // Example choices for MCQs (0-based indices or option codes)
    msq: [
        [0, 1],                       // MSQ1 selected options
        [0, 3],                       // MSQ2
        [1, 2],                       // MSQ3
        [1, 2],                       // MSQ4
        [0, 2, 4],                    // MSQ5
        [2, 3]                        // MSQ6
    ],
    likert: [5, 4, 5, 4, 4, 5, 2]      // Example Likert ratings (1-5)
};
const personB = {
    mcq: [1, 2, 0, 1, 2, 0],           // Person B's MCQ answers
    msq: [
        [0, 2],                       // MSQ1
        [0, 3],                       // MSQ2
        [2],                          // MSQ3
        [2, 3],                       // MSQ4
        [0, 4],                       // MSQ5
        [2, 3]                        // MSQ6
    ],
    likert: [5, 2, 5, 5, 3, 5, 2]      // Person B's Likert ratings
};
console.log(computeCompatibility(personA, personB));
/* 
The console.log will output an object, for example:
{
  totalScore: 74,
  classification: "Medium Compatibility",
  subScores: {
    communication: 100,
    sharedValues: 80,
    emotionalIntimacy: 75,
    lifestyle: 50,
    sharedGoals: 60
  }
}
This indicates overall 74/100 (Medium), with detailed scores for each area.
*/

In this code:

  • We parse the answers for each type of question and compute a similarity for each (1.0 for perfect match on a question, down to 0.0 for complete mismatch).
  • We then accumulate those into category subScores (Communication, Shared Values, Emotional Intimacy, Lifestyle, Shared Goals – which correspond to the key areas discussed).
  • We calculate the overall percentage and assign a classification based on the thresholds.

Developers can easily integrate this function into a webpage. For instance, one could collect user responses via a form (e.g., radio buttons for MCQs, checkboxes for MSQs, sliders or dropdowns for Likerts), pass the two sets of responses into computeCompatibility(personA, personB), and then display the resulting scores on the page. The function is designed to be clear and modifiable – for example, one can adjust weighting or threshold logic by editing this code. All variables and steps are commented for transparency.

Note: The question mapping and weighting in the code correspond to the questionnaire above. If the questionnaire is altered (e.g., different number of questions or changed order), the mapping in the switch/case statements should be updated accordingly. The approach, however, remains the same: compare answers → score differences → aggregate into meaningful compatibility metrics.

References

Published inAI GeneratedDeep Research

Be First to Comment

Leave a Reply

Your email address will not be published. Required fields are marked *