Skip to content
Huesona

Methodology

How Huesona scoring works

Huesona scores your 49 answers (each on a 1–5 agree/disagree scale) into 13 trait dimensions, each from 0 to 100 — your trait vector. Each of the 12 character classes declares a small signature of five or six weighted target traits, and you are assigned the class whose targets your vector sits closest to, by weighted distance. Subclass, element, rarity band, and badges are derived from the same vector by fixed rules. The whole engine is deterministic — the same answers always produce the same result — and every shared link carries the trait scores plus two version stamps so the result can be recomputed exactly. This page walks through each step with the real numbers.

How does the Huesona quiz calculate results?

The pipeline has five steps, and every one of them is a pure function of your answers:

  1. Normalize. Each of the 49 items feeds exactly one dimension. Reverse-keyed items (23 of the 49) are flipped first (6 − answer), then each dimension's items are averaged and rescaled from the 15 scale to 0–100. The output is your 13-dimension trait vector.
  2. Match the class. Your vector is compared against all 12 class signatures by weighted distance (explained below, with a worked example). Closest class wins; the runner-up is kept and shown, so a near-miss is never hidden.
  3. Match the subclass.The same distance calculation runs again — but only across the winning class's four subclasses, using smaller secondary signatures.
  4. Match the element. Your 6-element tilt is scored on the residual— what is left of your pattern after the class's expected profile is subtracted — so the element adds information instead of restating the class.
  5. Band the rarity + resolve badges. Pattern distinctiveness is compared against precomputed thresholds from a simulated reference population (details below), and badges resolve from fixed trait-and-motive rules.

One honest framing note before the math: the research supports the trait dimensions, not the fantasy names. The class, subclass, and element are an interpretation layer we built on top of the dimensional scores — we will never claim “science proves you're a Guardian.” The long version of that argument lives on the science page.

What are the 13 trait dimensions?

10 dimensions surface on your result as RPG stat bars; the other 3are Self-Determination Theory motives (Ryan & Deci, 2000) that stay internal — they flavor badges and result text but are never shown as a stat bar, because motives are needs, not skills to grade.

DimensionShown asWhat it measures
Openness / ImaginationImagination (stat bar)Appetite for ideas, aesthetics, and the abstract.
Conscientiousness / DisciplineDiscipline (stat bar)Follow-through, dependability, and self-control.
Extraversion / CharismaCharisma (stat bar)Energy from social engagement and outward expression.
Agreeableness / HarmonyHarmony (stat bar)Warmth, cooperation, and consideration of others.
Emotional Stability / ResilienceResilience (stat bar)Evenness under pressure; recovery from setbacks.
Assertiveness / CommandCommand (stat bar)Drive to lead, decide, and take charge (Extraversion facet).
Structure Need / OrderStructure (stat bar)Preference for plans, order, and predictability (Conscientiousness facet).
Novelty Drive / ExplorationExploration (stat bar)Pull toward variety, new experiences, and change.
Focus Depth / ConcentrationFocus (stat bar)Capacity for sustained, single-threaded attention.
Energy Rhythm (chronotype)Energy Cycle (stat bar)Daily energy lean. 0 = evening-leaning, 100 = morning-leaning, 50 = neutral.
Autonomy Need (SDT)internal onlyNeed to act from one's own volition and choice.
Competence Drive (SDT)internal onlyNeed to feel effective and to master challenges.
Relatedness Need (SDT)internal onlyNeed for connection and belonging with others.

Two special rules. Energy Rhythm is bipolar flavor:0 means evening-leaning, 100 means morning-leaning, 50 means no strong lean — it is a spectrum, not a “higher is better” score, and no class signature uses it, so your chronotype can never decide your class. The three motives are internal: autonomy, competence, and relatedness shape which badges you earn and how your result reads, but they never appear as a bar to compare against anyone.

How does class matching work? (weighted signature-trait distance)

Class matching in Huesona is a weighted distance calculation: each class declares 3–6 signature traits with a target score and a weight, and you are assigned the class whose targets your trait vector sits closest to. No class scores you on all 13 dimensions — only on the few traits that define it, which is what keeps every match explainable. The formula, for one class:

distance = √( Σ weight × (your score − target)² ÷ Σ weight )

The units are score points (0–100), so a distance of ~6 means “on the traits this class cares about, you sit about 6points from its ideal, weighted toward its defining traits.” The displayed fit is simply 100 − distance.

A worked example, computed by the actual engine. Take a hypothetical respondent whose vector includes Discipline 85, Harmony 80, Structure 76, Resilience 64, and Command 50. Here is that vector against the Guardian's real signature (these are the live targets and weights from our content data, not illustrative numbers):

Signature traitTargetWeightExample scoreGap
Structure822.576-6
Discipline822.585+3
Harmony782.580+2
Resilience72264-8
Relatedness Need781.570-8
Command58150-8

Square each gap, multiply by its weight, average, take the square root: the distance comes out to 5.85 points, a fit of 94. Running the full matcher over all 12 classes, this vector's best match is the Guardian (fit 94), with the Architect as runner-up (fit 88). The engine also records a human-readable “why” for the match — for this example: High Structure (76), High Discipline (85), High Harmony (80). Every real result carries the same trail, so an assignment is always inspectable, never an oracle's verdict. Ties are resolved by a fixed, documented class order — never by chance.

How is rarity calculated? (and what it is not)

Rarity in Huesona measures how far a trait pattern sits from the middle of a simulated reference population — pattern distinctiveness, never a ranking of people and never a live human percentile. The reference is a synthetic population of 20,000 profiles, generated offline by a seeded Monte-Carlo simulation (seed 1337, so it is exactly reproducible) as a correlated multivariate normal parameterized from published statistics where they exist — BFI-2 domain and facet means and standard deviations (Soto & John, 2017), Big-Five inter-domain correlations (van der Linden et al., 2011, N = 44,971), and chronotype–trait correlations from morningness meta-analyses (Tsaousis, 2010) — with the remaining cells (the Exploration and motive dimensions, and the facet- and motive-level correlations) estimated under documented design rules and flagged as estimates in our research notes.

Your pattern's distinctiveness is its root-mean-square z-score across all 13 dimensions against that reference — roughly, the average number of standard deviations your scores sit from the reference means. That value is placed on percentile thresholds computed offline from the simulation and committed to the repository; the live engine only reads the committed numbers and never regenerates the population at runtime. The band cutoffs, as shares of the simulated population:

  • Common — about 50% of simulated profiles
  • Uncommon — about 28% of simulated profiles
  • Rare — about 15% of simulated profiles
  • Epic — about 6% of simulated profiles
  • Mythic — about 1% of simulated profiles

The worked-example vector above lands in the common band (distinctiveness 0.62, around the 6th percentile of the simulated reference) — and that is a perfectly good result, because rarity is not worth. A common pattern means more simulated profiles share your shape; it does not mean a worse shape. Because the reference is a model, not a census, we never phrase rarity as “rarer than X% of humans.”

Is the result deterministic? (versioning and re-tuning)

Yes — by construction. Scoring uses no randomness, no clock, and no per-user state: the only random number generator in the codebase is the offline one that built the rarity reference, and it never runs at scoring time. The result page recomputes everything from the trait vector encoded in the URL, so the same link reproduces the same class, subclass, element, rarity band, and badges — every time, on any device.

Two version stamps are written into every shared result: scoring version 2 (the math: normalization, distance, matching, rarity) and content version 1.1.0(the copy and class signatures). When we re-tune — say, adjust a class's signature weights or improve the element matcher — we bump the relevant version with a written migration note. An old link still decodes; the stamps let us detect that it was scored under an earlier engine, instead of silently pretending nothing changed. (Example: the v1 → v2 scoring change reworked element matching to use the residual profile, and the migration note says exactly that.)

Where do the questions come from?

All 49 items are original or adapted, with attribution, from the International Personality Item Pool (IPIP; Goldberg, 1999; ipip.ori.org), a public-domain library of validated personality indicators. We use no proprietary instruments and imitate none.

Three design rules keep the instrument honest. One item, one dimension: every question feeds exactly one trait, with no cross-loading, so you can trace any score back to the specific items that produced it. Likert 15: a five-point agree/disagree scale preserves trait degree — collapsing a continuous score into an either/or category at a cut-point is precisely the design flaw that makes type tests unstable, because most people sit near the cut and retest noise flips the label. Reverse-keying: 23 of the 49 items are phrased so that agreeing lowers the dimension score, which counters the tendency to just agree with everything (acquiescence bias).

Methodology FAQ

How does the Huesona quiz calculate results?

Huesona scores 49 Likert-scale answers (1–5) into 13 trait dimensions, each 0–100. Each of the 12 character classes declares a small "signature" of five or six weighted target traits, and you are matched to the class whose targets your scores sit closest to — a weighted distance calculation, not a lookup table or a random pick. Subclass, element, rarity band, and badges are then derived from the same trait vector by fixed rules. The class layer is a playful interpretation of the trait scores, not a scientific category.

How many questions does the Huesona quiz have?

The quiz has 49 questions, all answered on a 1–5 agree/disagree scale. Each question feeds exactly one of the 13 trait dimensions, and 23 of the 49 items are reverse-keyed (agreeing lowers the score) to counter yes-saying bias. It takes about five minutes.

Does Huesona use randomness or AI to pick your class?

No. The scoring engine is fully deterministic: the same answers always produce exactly the same class, subclass, element, rarity band, and badges. There is no random number generation, no AI model, and no time-of-day input at scoring time. A result link even carries the trait scores plus two version stamps (scoring version 2, content version 1.1.0), so the result page can recompute — and reproduce — the identical result from the link alone.

What does a rarity band like "Mythic" actually mean?

Rarity in Huesona measures how far a trait pattern sits from the middle of a simulated reference population built offline from published personality statistics — Mythic means the pattern's distinctiveness falls in roughly the top 1% of that simulated population. It is never a live human percentile, never a claim about "the top X% of humans," and never a measure of worth: a Common pattern is not a worse pattern.

Can two people with different answers get the same class?

Yes. A class is a region of trait space, not a single point: everyone whose trait vector sits closest to a class's weighted signature targets gets that class, even with visibly different stat bars. That is why every result also shows the underlying 0–100 scores, a "why" trail naming the traits that drove the match, and the runner-up class — the label compresses the pattern, the numbers preserve it.

References

  • Goldberg, L. R. (1999). A broad-bandwidth, public-domain, personality inventory measuring the lower-level facets of several five-factor models. Personality Psychology in Europe, 7, 7–28. (The IPIP — a Tilburg University Press book chapter, no DOI. Items at ipip.ori.org.)
  • Soto, C. J., & John, O. P. (2017). The next Big Five Inventory (BFI-2). Journal of Personality and Social Psychology, 113(1), 117–143 — source of the domain/facet means and standard deviations behind our reference population. doi:10.1037/pspp0000096
  • Tsaousis, I. (2010). Circadian preferences and personality traits: A meta-analysis. European Journal of Personality, 24(4), 356–373 — source of the chronotype–trait correlations in the reference population. doi:10.1002/per.754
  • van der Linden, D., Bakker, A. B., & Serlie, A. W. (2011). The General Factor of Personality in selection and assessment samples. Personality and Individual Differences, 51(5), 641–645 — source of the Big-Five inter-domain correlations (N = 44,971) used in the reference-population covariance.
  • Ryan, R. M., & Deci, E. L. (2000). Self-determination theory and the facilitation of intrinsic motivation, social development, and well-being. American Psychologist, 55(1), 68–78 — the basis of the three internal motive dimensions. doi:10.1037/0003-066X.55.1.68

Last updated June 29, 2026.

A playful interpretation of your trait pattern, for self-reflection and communication. Not a clinical diagnosis, hiring assessment, medical tool, or therapy replacement.