driftcurve
github.com
What it is
driftcurve is an open-source household retirement planning engine for projecting finances and comparing retirement outcomes. It can model multiple household members, account types, debts, mortgages, pensions, Social Security and property sales. Its default Monte Carlo simulations resample annual market data from 1966–2024 across equities, Treasuries, residential real estate, inflation and Bitcoin. Users can adjust historical returns toward their own long-run targets or enter static annual assumptions. Risk-based spending guardrails solve for monthly spending and suggest adjustments based on portfolio thresholds and probability of success. A Compare page puts two scenarios on one chart. In default local mode, household data and saved scenarios stay in browser localStorage, while forecasts run through a Python backend; there is no account or server-side database persistence. Optional multi-user mode adds email/password accounts, server-side sessions, and stored profiles and scenarios. The project offers forecast and guardrails API endpoints, plus authentication, profile and scenario endpoints in multi-user mode. It is free under Apache License 2.0. The maker describes it as an educational modeling tool, not licensed financial, investment, tax or legal advice.
Spec sheet
- What it does
- driftcurve is a household retirement-planning engine that runs Monte Carlo forecasts and risk-based spending guardrails.Read 15 Oct 2026 · github.com
- Purpose
- driftcurve is a household retirement planning engine that models household finances and simulates retirement outcomes.Read 7 Oct 2026 · github.com
- API
- The documented API includes forecast and guardrails endpoints, plus authentication, profile, and scenario endpoints for multi-user mode.Read 7 Oct 2026 · github.com
- Privacy
- In default local mode, household data and saved scenarios stay in browser localStorage, with no account or server-side database persistence; forecasts run through the Python backend.Read 7 Oct 2026 · github.com
- License
- The project is open source under the Apache License 2.0.Read 7 Oct 2026 · github.com
- Account coverage
- Inputs include traditional, Roth, taxable, cash, real-estate and cryptocurrency assets.Read 15 Oct 2026 · github.com
- Apache permissions
- Apache 2.0 grants perpetual, worldwide, royalty-free rights to reproduce, modify, display, perform, sublicense and distribute the work subject to its conditions.Read 15 Oct 2026 · apache.org
- Authentication security
- The multi-user implementation hashes passwords with PBKDF2-SHA256 and uses server-side session cookies.Read 15 Oct 2026 · github.com
- Calculation limit
- Guardrails require a retirement year and positive liquid portfolio, and the README says a computation takes about 20–45 seconds.Read 7 Oct 2026 · github.com
- Debt and income inputs
- The scenario model includes mortgages, HELOCs, student loans, pensions, Social Security and property sales.Read 15 Oct 2026 · github.com
- Dependencies
- The project declares FastAPI, Uvicorn, aiofiles and SQLAlchemy as runtime dependencies.Read 15 Oct 2026 · github.com
- Developer API
- The repository documents /config, /forecast, /guardrails, authentication, profile and scenario endpoints.Read 15 Oct 2026 · github.com
- Forecast caveat
- The maker says forecasts are projections based on historical data and user assumptions, not predictions, guarantees or professional financial advice.Read 15 Oct 2026 · github.com
- Guardrail API
- POST /guardrails accepts the same scenario body as /forecast and returns spending, thresholds, achieved probabilities and configuration.Read 15 Oct 2026 · github.com
- Guardrail defaults
- The documented defaults target 0.80 probability of success, with upper and lower trigger probabilities of 0.99 and 0.25.Read 15 Oct 2026 · github.com
- Guardrail limitation
- Guardrail calculations require a retirement year and a positive liquid portfolio.Read 15 Oct 2026 · github.com
- Guardrail speed
- The README estimates a guardrail computation at roughly 20–45 seconds.Read 15 Oct 2026 · github.com
- Hosted mode
- An optional multi-user mode supports email/password accounts, server-side sessions, and profiles and scenarios stored in driftcurve.db.Read 7 Oct 2026 · github.com
- Household modeling
- The model supports multiple people with separate retirement dates and savings rates.Read 15 Oct 2026 · github.com
- Installation
- The quick start creates a Python virtual environment, installs requirements and runs Uvicorn on localhost:8000.Read 15 Oct 2026 · github.com
- Intended use
- The README presents driftcurve for household retirement planning, including financial-independence planning scenarios.Read 7 Oct 2026 · github.com
- Licence
- The project is released under the Apache License 2.0.Read 15 Oct 2026 · github.com
- Limit: no guarantee
- The licence and README disclaim warranties and liability, and the maker warns that outputs can be materially wrong.Read 15 Oct 2026 · github.com
- Limit: optimistic history
- The README characterizes the 1966–2024 period as still optimistic, with a median 90%-equity/10%-bond blended CAGR of about 10.2% annually.Read 15 Oct 2026 · github.com
- Local privacy
- In default local mode, household information and saved scenarios remain in browser localStorage and are not written to a database.Read 15 Oct 2026 · github.com
- Market series
- The historical simulation covers S&P 500, 10-year Treasuries, residential real estate, CPI and Bitcoin returns.Read 15 Oct 2026 · github.com
- Method context: cash flows
- Kitces explains that Social Security, pensions, rental income, part-time work and property changes can materially alter portfolio withdrawals.Read 15 Oct 2026 · kitces.com
- Method context: CPI
- The U.S. Bureau of Labor Statistics CPI calculator uses the average Consumer Price Index for each calendar year and has annual index values since 1913.Read 15 Oct 2026 · bls.gov
- Method context: guardrails
- Kitces describes risk-based guardrails as using Monte Carlo probability of success to reflect longevity, future cash flows and changing real income.Read 15 Oct 2026 · kitces.com
- Method context: historical returns
- NYU Stern's Damodaran dataset provides historical stock, bond and bill returns through 2024, including annual return series used for long-run analysis.Read 15 Oct 2026 · pages.stern.nyu.edu
- Method context: spending pattern
- Kitces reports that retirement withdrawals often decline after early retirement as deferred Social Security begins and real spending falls.Read 15 Oct 2026 · kitces.com
- Method context: static guardrails
- Kitces says fixed withdrawal-rate guardrails can misrepresent risk because withdrawal-rate sustainability changes with age and household cash flows.Read 15 Oct 2026 · kitces.com
- Monte Carlo
- Its default simulations resample annual market data from 1966–2024, including equities, Treasuries, residential real estate, inflation, and Bitcoin.Read 7 Oct 2026 · github.com
- Monte Carlo forecast
- The default forecast resamples individual years from 59 years of market history spanning 1966 through 2024.Read 15 Oct 2026 · github.com
- Not financial advice
- The maker describes driftcurve as a modeling and educational tool, not a licensed financial, investment, tax, or legal advisor.Read 7 Oct 2026 · github.com
- Optional hosted mode
- Setting DRIFTCURVE_LOCAL_MODE=0 enables email/password accounts, server sessions and database-backed profiles and scenarios.Read 15 Oct 2026 · github.com
- Python interface
- Python callers can construct Scenario objects and invoke engine.forecast.run_forecast directly.Read 15 Oct 2026 · github.com
- Python requirement
- The package metadata requires Python 3.10 or newer.Read 15 Oct 2026 · github.com
- Repository status
- The public GitHub repository shows zero stars, zero forks and zero listed releases.Read 15 Oct 2026 · github.com
- Return assumptions
- Users can recenter historical returns to target long-run returns while retaining historical volatility and cross-asset correlations.Read 15 Oct 2026 · github.com
- Return options
- Users can recenter historical returns to their own long-run targets or set static annual return assumptions.Read 7 Oct 2026 · github.com
- Risk guardrails
- The guardrail solver calculates initial monthly spending plus higher and lower spending levels tied to portfolio thresholds and probability of success.Read 15 Oct 2026 · github.com
- Scenario comparison
- The web interface includes a Compare page that overlays two scenarios on one chart.Read 15 Oct 2026 · github.com
- Setup
- The quick start creates a Python virtual environment, installs requirements, runs the app with Uvicorn, and opens it at localhost:8000.Read 7 Oct 2026 · github.com
- Spending guardrails
- Risk-based guardrails solve for monthly spending and give spending adjustments tied to portfolio thresholds and probability of success.Read 7 Oct 2026 · github.com
- Static rates
- Static annual-rate overrides can be enabled for retirement returns, investment returns, real estate returns and inflation.Read 15 Oct 2026 · github.com
- Testing
- The repository reports 138 passing tests and uses pytest for its test suite.Read 15 Oct 2026 · github.com
- Whole-household inputs
- It supports multiple household members, account types, debts, mortgages, pensions, Social Security, and property sales.Read 7 Oct 2026 · github.com
Plans and prices
Strong points and limits
Strong points
- Models multiple household members, debts and income sources.
- Simulates multiple asset classes using 1966–2024 market data.
- Guardrails link spending adjustments to portfolio thresholds and success probability.
- Compares two scenarios on one chart.
- Free and open source under Apache License 2.0.
Limits
- Guardrails require a retirement year and positive liquid portfolio.
- A computation takes about 20–45 seconds.
- No account synchronization is available.
- Default local mode stores data in browser localStorage.
Who it suits
It suits households exploring retirement or financial-independence scenarios who are comfortable setting up a Python-based application. It is a modeling and educational tool, not a licensed financial, investment, tax or legal advisor.
Verdict
driftcurve covers a broad set of household retirement inputs, scenario comparisons and spending guardrails at no subscription cost. Its calculations take time, and its forecasts are educational rather than licensed advice.
Where Specifiction places it
- Database Schema Comparison Tools#2 of 258.5
- Retirement Planning Software#4 of 268.8