Skip to content
Ritesh FirodiyaGet in touch

Work / Chitragupt / Wiki / Entities

portfolio-goal-taxonomy

Entitycanonicalverified 2026-07-10

PORTFOLIO.GOAL-TAXONOMY

Goal taxonomy

Summary

The 10 default goals a Portfolio holding can be mapped to, plus user-created custom goals. Goal mapping is a Portfolio-only affordance: it never mutates the underlying statement, and future SIP tranches can auto-map via an "apply to future units" rule.

Canonical values — the 10 defaults

Key Goal Typical horizon Notes
GOAL.RETIREMENT Retirement age 55 / 60 / 65 (user-set) EPF, NPS, long-hold equity map here by default
GOAL.HOUSE House 3-7 yr window (user-set target year, e.g. House 2028) Debt MFs, FDs, medium-term instruments map here
GOAL.KID-UG Kid · UG 8-18 yr window (child DOB derived) Equity MFs + Sukanya + long-hold instruments
GOAL.LIQUIDITY Liquidity 0-6 mo Emergency fund — Cash + liquid funds + short FDs
GOAL.INCOME Income ongoing Coupon-bearing / dividend-yielding instruments
GOAL.HEALTH-CORPUS Health corpus ongoing / medical event Parallel to Liquidity but earmarked for health
GOAL.HEDGE Hedge tactical Gold / SGB / hedged positions
GOAL.TACTICAL Tactical · trim short-term Positions user intends to exit / reduce
GOAL.CORE Core permanent Long-hold anchor equity + index MFs
GOAL.UNASSIGNED Unassigned — Explicit user choice to leave unmapped (distinct from ⚠ unmapped-by-default state)

Canonical rules

Key Value Last changed
GOAL.CUSTOM Users can create custom goals via + New goal in the map-goal modal 2026-07-10
GOAL.SPLIT-ACROSS-GOALS Holdings can split across multiple goals by % allocation (e.g. House 60% · Retirement 40%) 2026-07-10
GOAL.APPLY-TO-FUTURE-UNITS Optional rule on the map-goal modal — future SIP tranches / units auto-map to the same goal(s) 2026-07-10
GOAL.UNMAPPED-STATE Holdings without any mapping surface as an amber banner + count ("<N> unmapped to a goal") on Review and Holdings surfaces 2026-07-10
GOAL.AI-SUGGESTIONS Modal surfaces AI-suggested mappings ranked by asset class + timeline (e.g. "Debt fund matches 3-4yr horizon → House 78%") 2026-07-10
GOAL.EDIT-PATH Settings · Holdings & goals — bulk edit + rule management 2026-07-10
GOAL.MODAL-COUNTER Header shows "<n>/<total> unmapped" progress (e.g. "1/4 unmapped") 2026-07-10
GOAL.INVARIANT.NO-STATEMENT-MUTATION Goal mapping never mutates the source statement — mapping is a Portfolio overlay 2026-07-10
GOAL.FAMILY.ADMIN-ONLY In Family workspace, mapping is admin-only; view-only members get a read-only footer: "Read-only: mapping unmapped holdings to goals is admin-only. Open your Personal portfolio to manage your own holdings + goals." 2026-07-10
GOAL.FUNDING-PACE.KPI Dashboard + Portfolio aside show per-goal <N>% funded · <ahead of pace / on pace / behind> 2026-07-10

Related

Sources

  • .context/designs/web/portfolio/map-goal.html
  • .context/designs/web/portfolio/portfolio.html
  • .context/designs/web/portfolio/family.html
  • .context/designs/web/portfolio/view-only.html

Every project of mine is written down like this.

Read the résumé