User Features Guidelines
This guide provides comprehensive standards for defining and naming user categories and features, ensuring consistency, scalability, and proper governance across all studies.
These standards exist to provide a scalable framework that gives clients complete freedom in selecting the features they want to study, while ensuring the system remains maintainable and extensible over time. The framework is designed so that any client can introduce new categories and features without disrupting existing data or requiring users to re-select their profiles.
Custom user features that are not covered by the standard library can be added on dashboard.linesol.online/form2.
This scalability is achieved through three core principles: mutually exclusive categories that prevent overlap and ambiguity, bounded feature ranges that can be subdivided for future granularity without invalidating existing selections, and hierarchical nomenclature that allows broad categories to spawn more specific variants for follow-up research.
Nomenclature Standard
Category Naming Structure
All categories must follow this format:
[Attribute] [Qualifier] [Measured Aspect] [Units] (width X, start Y)
Components
- Attribute — The domain or thing being described. The attribute must be clear, specific, and self-contained so it is understandable without referring to feature labels. Examples: Salary, Age, Online Purchases, Exercise, TV Series, Personal Fitness.
- Qualifier (optional) — Contextual qualifiers that clarify how the attribute is interpreted. Qualifiers must come after the attribute (post-modifiers), not before. If the category includes a measured aspect such as Goal or Motivation, place the qualifier before that aspect. Examples: Primary, After Tax, Average. Do not use pre-modifiers like “Preferred Language” or “Net Income”; convert them instead to “Language Preference” or “Income After Tax”. Where an average is specified, as a default the length of the averaging window is interpreted by the participant as 1 month for daily or weekly values or 1 year for monthly values.
- Measured Aspect (optional) — The head noun or noun phrase that names what is being measured within the attribute. This is not a unit. Examples: Preference, Goal, Motivation, Role, Context, Status.
- Units (optional) — Measurement units that specify how the attribute is quantified. Examples: USD per Year, Years, Hours per Week, per Month (Do not use “/” — use “per” instead.)
- Width (optional) — Size of each bin for numerical categories (e.g., width 25k, width 5). Omit if width = 1.
- Start (optional) — Starting point of first bin (e.g., start 1, start 18). Omit if start = 0.
- Brackets — Combine width and start in a single set of parentheses. Omit brackets entirely if both defaults apply (width 1, start 0).
For labels such as Personal Fitness Primary Goal or Home Cooking Primary Motivation, Primary is the qualifier and Goal or Motivation is the measured aspect, not a unit.
Examples
Salary USD per Year (width 25k)→ Features: “0-<25k”, “25k-<50k”, “50k-<75k” (start 0 omitted)Age Years (width 10, start 18)→ Features: “18-27”, “28-37”, “38-47” (discrete, whole years)Exercise Hours per Day (width 3)→ Features: “0-<3”, “3-<6”, “6-<9” (start 0 omitted)Online Purchases Average per Month (width 4, start 1)→ Features: “1-<5”, “6-<9”, “10-<13”TV Series Primary Viewing Goal→ Features: “Relax and unwind”, “Feel suspense or tension”, “Explore ideas and themes”Dependents→ Features: “0”, “1”, “2”, “3” (width 1, start 0 – no brackets needed)
Feature Naming Rules
- Use concise, readable formats.
- Use compact magnitude prefixes where appropriate (e.g., k for thousands, M for millions).
- Do not repeat units already included in the category name.
Continuous vs. Discrete Bins
- Continuous bins use half-open ranges (lower inclusive, upper exclusive): “0-<2”, “2-<4”, “4-<6”. Continuous bins are used when values may include decimals. Applies to: time, money, weight, averages.
- Discrete bins (integer/cardinality-based) do not use half-open notation: “18-27”, “28-37”. Used when: age years (whole years is assumed), counts (number of purchases, dependents, visits), other integer-based categories.
Non-Numerical Categories
For categories without numerical ranges, the category name alone must clearly identify the measured attribute and include any necessary contextual qualifier or measured aspect. Width and start parameters must be omitted.
[Attribute] [Qualifier] [Measured Aspect] [Units]
Examples:
IndustryCountry of ResidenceDiet TypeEmployment StatusLanguage PreferenceTV Series Primary Viewing Goal
Governance Rules
Rule 1: Single-Select Per Category
Principle: Each participant selects exactly ONE feature per category.
Implication: Features within a category must be mutually exclusive.
Validation: If two features seem like “both could apply”, they belong in different categories.
Rule 2: No Negation Features in Groups
Prohibition: Negations should be defined as separate yes/no categories.
Rationale: To avoid features overlapping within categories.
Implication: There is currently no implementation for a user to be auto-selected for their feature based on a parent category. They will have to manually select each category.
❌ BAD:
{"categoryName": "Industry", "featuresName": "Technology"}
{"categoryName": "Industry", "featuresName": "Finance"}
{"categoryName": "Industry", "featuresName": "Healthcare"}
{"categoryName": "Industry", "featuresName": "Non-tech"}✅ GOOD: Use non-overlapping features instead.
{"categoryName": "Industry Technology", "featuresName": "Yes"}
{"categoryName": "Industry Technology", "featuresName": "No"}Rule 3: No Catch-All Features
Prohibition: Features must NEVER be catch-all bins like “Other”, “Traditional”, “Miscellaneous”, “General”, or open-ended ranges like “55+”, “200k+”, “12+”.
Rationale: Catch-alls prevent future granularity and scalability. If a client wants to study the 300k–400k income segment but you already have “300k+”, users earning 300k–500k are trapped in that bin and cannot be re-segmented for granular analysis.
Scalability Benefit: Specific bounded ranges allow future studies to add more granular segments without invalidating existing user selections. Participants who cannot select an existing option can choose “Rather not say” to opt out temporarily until a valid feature exists.
❌ BAD:
{"categoryName": "Work Sector", "featuresName": "Traditional Industry"}
{"categoryName": "Income", "featuresName": "200k+"}
{"categoryName": "Age", "featuresName": "55+"}✅ GOOD: Use specific, atomic features that don't subsume others.
{"categoryName": "Industry", "featuresName": "Technology"}
{"categoryName": "Industry", "featuresName": "Finance"}
{"categoryName": "Industry", "featuresName": "Healthcare"}
{"categoryName": "Industry", "featuresName": "Retail"}Rule 4: Mutually Exclusive Numerical Ranges
Requirement: Numerical ranges must have NO overlapping boundaries.
Rationale: Overlapping ranges create confusion. Someone earning exactly $100k shouldn't have to guess between “75k-100k” and “100k-150k”.
Pattern: For continuous bins, use half-open ranges like “75k-<100k”, “100k-<150k”, “150k-<200k”.
❌ BAD:
{"categoryName": "Salary USD per Year (width 50k)", "featuresName": "50k-100k"}
{"categoryName": "Salary USD per Year (width 50k)", "featuresName": "100k-150k"}✅ GOOD:
{"categoryName": "Salary USD per Year (width 50k)", "featuresName": "50k-<100k"}
{"categoryName": "Salary USD per Year (width 50k)", "featuresName": "100k-<150k"}Rule 5: Consistent Bin Sizes
Requirement: Within each category, all numerical ranges should use consistent bin sizes.
Rationale: Inconsistent bin sizes create confusion.
Application: If inconsistent bin sizes are required in the study, leverage different category names, but avoid overlap due to multicollinearity.
❌ BAD:
{"categoryName": "Salary USD per Year", "featuresName": "0-<25k"}
{"categoryName": "Salary USD per Year", "featuresName": "25k-<100k"}
{"categoryName": "Salary USD per Year", "featuresName": "100k-<150k"}✅ GOOD:
{"categoryName": "Salary USD per Year (width 25k)", "featuresName": "0-<25k"}
{"categoryName": "Salary USD per Year (width 25k)", "featuresName": "25k-<50k"}
{"categoryName": "Salary USD per Year (width 50k)", "featuresName": "0-<50k"}
{"categoryName": "Salary USD per Year (width 50k)", "featuresName": "50k-<100k"}
{"categoryName": "Salary USD per Year (width 50k)", "featuresName": "100k-<150k"}
{"categoryName": "Salary USD per Year (width 50k)", "featuresName": "150k-<200k"}Rule 6: Use Measurable or Specific Definitions
Requirement: When an attribute can be measured, define it with explicit units and bounded values or ranges instead of subjective labels. When an attribute is not naturally numeric, use specific, atomic categories.
Rationale: The goal is not to force every feature into numbers. The goal is to avoid vague labels such as “high,” “medium,” “low,” or “frequent” that different people may interpret differently. Measurable ranges improve consistency for numeric attributes, while specific atomic labels preserve clarity for non-numeric attributes.
When a user feature represents an average, treat it as continuous and use half-open bins, even if the underlying quantity is a count. The implied averaging window is 1 month for daily or weekly values, and 1 year for monthly values.
Non-numerical attributes are also valid when they use specific, atomic categories such as “Industry,” “Diet Type,” or “Employment Status.”
❌ BAD:
{"categoryName": "Purchasing Behavior", "featuresName": "Frequent"}✅ GOOD:
{"categoryName": "Online Purchases Average per Month (width 4)", "featuresName": "0-<4"}
{"categoryName": "Online Purchases Average per Month (width 4)", "featuresName": "4-<8"}
{"categoryName": "Online Purchases Average per Month (width 4)", "featuresName": "8-<12"}Rule 7: Be Specific About What's Measured
Requirement: Category names must clearly indicate the attribute being measured and, where applicable, include the unit or time basis.
Rationale: “Purchasing Behavior” is vague because it does not say what is being measured, in what context, or over what time period.
❌ BAD: “Purchasing Behavior”, “Activity Level”, “Engagement”
✅ GOOD: “Online Purchases per Month (width 4)”, “Exercise Hours per Week (width 3)”, “Social Media Hours per Day (width 2)”
Rule 8: Context-Independent Naming
Requirement: Category and feature names must be self-explanatory without study context.
Rationale: Users don't see the study question when selecting their profile; names must stand alone.
Conciseness: No limit on length, but keep as short as possible while maintaining clarity.
Rule 9: Hierarchy Through Nomenclature
Principle: Start with general categories, then create more granular versions for follow-up studies.
Pattern: Use suffixes to indicate granularity level.
Example Hierarchy:
Social Media Hours per Day (width 2)= “0-<2”, “2-<4”, “4-<6”, etc. (broad)Social Media Instagram Hours per Day (width 2)= “0-<2”, “2-<4”, “4-<6”, etc. (fine granularity for follow-up)
Workflow: Client sees high importance for “Social Media Hours per Day (width 2): 4-<6” in results → submits follow-up study with platform-specific categories to drill down to which social media site is most influential.
Rule 10: Extensibility Without Conflict
Principle: New features can be added to existing categories by any client without invalidating existing data.
Test: Ask “If I add this feature, would existing users need to re-select?” If yes, create a new category instead.
❌ BAD: Work Sector with “Technology”, “Traditional Industry” cannot accept “Agriculture” cleanly.
✅ GOOD: Industry with “Technology”, “Finance” can later accept “Agriculture”, “Education” without conflict.