Models¶
collegeplan.models
¶
Domain models for college cost planning.
All models are frozen dataclasses — immutable, hashable, and lightweight. Dollar amounts are floats; rounding to whole dollars happens at output boundaries. Rates are stored as decimals (e.g., 0.05 not 5).
AllocationPolicy
¶
Bases: Enum
How a shared household fund is distributed among children.
Source code in src/collegeplan/models.py
ContributionTiming
¶
CostProfile
dataclass
¶
Annual cost structure and growth assumptions for a school type.
Source code in src/collegeplan/models.py
GlidePathStep
dataclass
¶
Asset allocation at a years-to-enrollment threshold.
Source code in src/collegeplan/models.py
GlidePath
dataclass
¶
Age-based asset allocation schedule with per-class return assumptions.
Source code in src/collegeplan/models.py
Child
dataclass
¶
One future student and their per-child funding details.
Source code in src/collegeplan/models.py
HouseholdFund
dataclass
¶
Pooled assets not earmarked to a specific child.
Source code in src/collegeplan/models.py
Assumptions
dataclass
¶
Return, inflation, and timing assumptions for projections.
Source code in src/collegeplan/models.py
YearRecord
dataclass
¶
One row of the annual projection schedule.
Source code in src/collegeplan/models.py
ChildProjectionResult
dataclass
¶
Projection results for a single child.
Source code in src/collegeplan/models.py
HouseholdProjectionResult
dataclass
¶
Projection results across all children in a household.
Source code in src/collegeplan/models.py
SavingsSolution
dataclass
¶
Result from the required-savings solver.
Source code in src/collegeplan/models.py
SensitivityCase
dataclass
¶
One scenario within a sensitivity analysis.