Skip to content
SPECIFICTION
Get listed

driftcurve

github.com

Free plan Open source WebAPISelf-hosted

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

Free Free self-hosted · no subscription · no account in local mode Read 15 Oct 2026 · github.com

Every driftcurve plan and price →

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

Alternatives to driftcurveAll alternatives →