Most wealth-tech student-loan features collapse to a single calculator: enter balance, enter rate, return monthly payment. The actual decision space — which Income-Driven Repayment plan, PSLF or not, refi or not, consolidate or not — has 8+ scenarios and four-dimensional sensitivity to family size, filing status, projected income, and career trajectory. A calculator picks one cell of that grid.
For a borrower carrying $250K of federal student debt, the gap between the optimization-recommended scenario and a default IDR enrollment is typically $80K–$180K of lifetime debt service in NPV terms — large enough to justify the modeling investment for any platform serving medical residents, junior attorneys, or recent PhDs.
The IDR landscape, refreshed
The federal IDR (Income-Driven Repayment) plans available to federal student-loan borrowers as of mid-2026:
- SAVE (Saving on a Valuable Education): replaced REPAYE in 2023. Caps payments at 5% of discretionary income for undergraduate loans, 10% for graduate. Forgives remaining balance after 20-25 years (depending on loan type). Status uncertain following recent litigation; some elements enjoined.
- PAYE (Pay As You Earn): caps payments at 10% of discretionary income, capped at the standard 10-year amount. Forgives after 20 years.
- IBR (Income-Based Repayment): two flavors — older borrowers cap at 15%, newer borrowers at 10%. Forgives after 20-25 years.
- ICR (Income-Contingent Repayment): 20% of discretionary income or fixed 12-year payment, whichever is less. Available for Parent PLUS consolidated loans (the only IDR option for those).
Beyond the IDR mechanics, PSLF (Public Service Loan Forgiveness) forgives the remaining balance after 120 qualifying monthly payments (10 years) under an IDR plan while working in qualifying public-service employment. PSLF is the highest-leverage option for the right borrower and structurally hardest to track.
The forgiveness math:
- Under IDR with no PSLF: 20-25 years of capped payments, then forgiveness of remaining balance. The forgiven amount is currently taxable as ordinary income (with TCJA exclusion through 2025; status post-2025 uncertain).
- Under PSLF: 10 years of capped payments while in qualifying employment, then tax-free forgiveness.
For a borrower with high debt and a public-service career trajectory, PSLF can reduce lifetime debt service by 60-80%. The catch: every payment must qualify, every employer must be qualifying, the forms must be filed correctly, and the borrower must maintain the discipline through 120 months.
What the calculator misses
A generic loan calculator computes "monthly payment given balance, rate, term." This misses:
-
IDR plan optimization across multiple plans. The optimal plan depends on family size, income trajectory, marital status, spouse's income (filing-status-dependent for some plans), and current loan balance. A generic calculator picks one plan; the optimization picks the best.
-
The PSLF trajectory. Projected income, spousal-filing decisions, and family-size growth across 10 years all change the payment path under IDR. A calculator can't produce the multi-leg recommendations the optimization surfaces — e.g., engine output
{ plan: 'PAYE', start_month: 0, switch_month: 60, next_plan: 'IBR' }is unreachable from a single-screen form. -
The refi-vs-forgiveness decision. Refinancing federal loans into private loans typically gets a lower interest rate but forfeits IDR / PSLF eligibility. For a borrower not pursuing forgiveness, refi can save five-figure interest. For a borrower pursuing forgiveness, refi forfeits hundreds of thousands.
-
The tax-bomb consideration. IDR-non-PSLF forgiveness is currently taxable at year-of-forgiveness (taxability past 2025 uncertain). For a high-balance borrower, the forgiveness tax can be a six-figure liability that should be planned for over years.
The data model
A platform handling this beyond the calculator level needs:
interface StudentLoanProfile {
loans: StudentLoan[];
current_repayment_plan: 'standard' | 'extended' | 'graduated' | 'paye' | 'ibr' | 'save' | 'icr' | 'private';
enrollment_date: ISODate;
// For PSLF tracking
pslf_attestation: {
pursuing_pslf: boolean;
employer_qualifying: boolean;
months_qualifying_payments: number; // Toward the 120
pslf_forms_filed: PSLFFormFiling[];
};
// For IDR computation
income_data: {
agi: number;
family_size: number;
spouse_income?: number;
filing_status: 'single' | 'married_jointly' | 'married_separately';
};
// For projection
projected_career_path: {
public_service_years_remaining: number;
expected_income_trajectory: IncomeProjection[];
expected_marriage_event?: ISODate;
expected_family_size_changes: FamilyChange[];
};
}
interface StudentLoan {
loan_id: string;
loan_type: 'direct_subsidized' | 'direct_unsubsidized' | 'direct_plus_grad' | 'direct_plus_parent' | 'consolidation' | 'fhfp' | 'perkins' | 'private';
balance: number;
interest_rate: number;
origination_date: ISODate;
in_repayment_status: boolean;
pslf_eligible: boolean;
idr_eligible_plans: IDRPlan[];
}
The pslf_attestation.months_qualifying_payments field is the critical state for PSLF tracking. The Department of Education tracks this on the borrower's behalf, but borrowers regularly find discrepancies between Department records and their own records. A platform that maintains a parallel count and surfaces discrepancies to the borrower has high value.
The decision logic
The optimization runs scenarios across plan choices, projected career trajectories, and refi-vs-forgiveness paths:
function optimizeStudentLoan(profile: StudentLoanProfile): OptimizationResult {
const scenarios = [
'pslf_paye_through_completion',
'pslf_ibr_through_completion',
'pslf_save_through_completion',
'idr_no_pslf_paye',
'idr_no_pslf_ibr',
'standard_repayment_no_idr',
'refi_to_private',
'partial_refi_some_loans'
];
const scenarioResults = scenarios.map(s => simulateScenario(profile, s));
return {
recommended: scenarioResults.sort((a, b) =>
a.lifetime_debt_service_npv - b.lifetime_debt_service_npv
)[0],
sensitivity: runSensitivity({
income_trajectory_changes: [-0.10, 0, +0.10],
family_size_change: [-1, 0, +1],
public_service_continuation_rate: [0.5, 0.75, 1.0]
}),
advisable_actions: generateActionItems(profile, scenarioResults[0])
};
}
The output is a ranked list of scenarios with their lifetime debt service NPV, plus the action items for the recommended path (re-certify income each year, file PSLF forms annually, etc.).
The tax-bomb planning
For borrowers on IDR-without-PSLF, forgiven balance at year 20–25 is currently taxable as ordinary income (TCJA exclusion expired end of 2025; extension uncertain). A $200K projected forgiveness at a 24% marginal bracket lands as ~$48K of federal tax in the forgiveness year, plus state tax in non-conforming states.
A platform modeling IDR-without-PSLF that does not project the tax-year liability and the per-year sinking-fund contribution is incomplete. The engine should emit, alongside the monthly payment plan, an annual tax_bomb_reserve_target and the underlying assumptions — projected forgiveness amount, projected marginal rate at forgiveness year, conformity status for the borrower's state. Without that field, the borrower reaches year 20, receives a 1099-C, and faces a tax liability the platform never modeled.
The platform should track the regulatory state of the TCJA exclusion (extended, sunset, modified) and recompute the reserve target when it changes.
The refi decision
Refinancing federal student loans into a private loan trades:
- Lower interest rate (typical savings 1-3% depending on credit quality)
- Forfeits federal IDR plan eligibility
- Forfeits PSLF eligibility
- Forfeits federal forbearance / deferment options
For a stable-income borrower with no public-service path and a high federal rate, the refi NPV often beats the federal scenarios. For a borrower with PSLF in scope or income variance over 25%, refi typically destroys six figures of expected value.
The platform should surface the refi NPV alongside every federal scenario, not as a standalone "you could save $X by refinancing" estimate. A single-number refi quote with no alternative paths is the failure mode this article is about.
What the test corpus needs
A test corpus for student-loan modeling needs:
- Borrowers in different IDR plans (current state across the full plan menu)
- Borrowers with PSLF in progress (months-toward-120 progression)
- Borrowers approaching PSLF forgiveness (last-12-months critical period)
- Borrowers with non-PSLF IDR forgiveness ahead (tax-bomb planning)
- Borrowers with mixed federal + private debt (partial-refi candidates)
- Borrowers with married-filing-status considerations (spouse income excludes/includes for IDR)
- Borrowers in different career trajectories (medical resident → attending, attorney → partner)
- Borrowers facing income shocks (residency program ending, job loss)
Each scenario produces a different optimal recommendation. A test corpus of "borrowers with $X balance" misses the strategic dimensions entirely.
Scoping the investment
The data model is enumerable — eight IDR scenarios, four loan-type variants, three filing-status branches. The decision logic is rule-based. The regulatory layer needs a quarterly review and an occasional emergency patch (the SAVE litigation in 2024 was one such event), not a standing team.
The investment fits in a normal feature workstream: two engineers, one quarter, plus periodic compliance review. The output is a calculator a medical resident, a public-defender attorney, or a recent PhD will use repeatedly through the 10–25 years student debt actually shapes their finances.
Key takeaways
- On $250K of federal debt, the gap between the optimization-recommended scenario and a default IDR enrollment runs $80K–$180K of lifetime debt service in NPV. That gap is what justifies the build.
- PSLF tracking is the single highest-leverage feature. The Department of Education's qualifying-payment count and the borrower's own count routinely disagree; a platform maintaining a parallel count and flagging discrepancies pays for itself.
- Refi quotes presented without the federal-scenario NPVs alongside them mis-recommend any borrower with PSLF in scope or income variance over 25%.
- IDR-without-PSLF engines that omit a `tax_bomb_reserve_target` field ship an incomplete model. The forgiveness-year liability is the largest single cash event in the plan.
- Bounded build: eight scenarios, four loan types, three filing-status branches, quarterly regulatory review. Two engineers, one quarter, plus compliance.