Skip to main content

A comprehensive tool for analyzing and optimizing debt repayment strategies

Project description

Financial Debt Optimizer 1.1

PyPI Version License Python 3.8+ Documentation Status

A comprehensive Python tool for analyzing and optimizing debt repayment strategies to help you become debt-free faster while minimizing interest costs.

Features

Core Optimization Strategies

  • Debt Avalanche: Minimize total interest paid by targeting highest interest rates first
  • Debt Snowball: Build momentum by paying off smallest balances first
  • Hybrid Strategy: Balance psychological wins with mathematical optimization
  • Custom Strategy: Define your own debt prioritization order

Advanced Financial Modeling

  • Future Income Integration: Account for raises, bonuses, and additional income sources
  • Recurring Expense Management: Track monthly, bi-weekly, quarterly, and annual expenses
  • Extra Payment Allocation: Optimize how extra funds are distributed across debts
  • Cash Flow Analysis: Monitor monthly financial health and surplus calculations

Comprehensive Reporting

  • Excel Integration: Generate detailed spreadsheet reports with multiple worksheets
  • Visual Charts: 6+ interactive charts showing debt progression, payment breakdowns, and cash flow
  • Monthly Summaries: Track income, expenses, payments, and extra funds by month
  • Decision Logging: Audit trail of optimization decisions and rationale
  • Strategy Comparisons: Side-by-side analysis of different repayment approaches

Professional Excel Output

  • Payment Schedule: Detailed chronological payment plan
  • Monthly Summary: Income, expenses, and payment tracking
  • Debt Progression: Individual debt balance evolution
  • Strategy Comparison: Performance metrics across different approaches
  • Charts & Visualizations: Professional charts and graphs
  • Decision Log: Detailed rationale for optimization choices

Installation

PyPI Installation (Recommended)

pip install financial-debt-optimizer

Requirements

  • Python 3.8 or higher
  • Dependencies are automatically installed with the package

Install from Source

git clone https://github.com/bryankemp/financial-debt-optimizer.git
cd financial-debt-optimizer
pip install -e .

Development Installation

git clone https://github.com/bryankemp/financial-debt-optimizer.git
cd financial-debt-optimizer
pip install -e .[dev]

Quick Start

1. Generate an Excel Template

debt-optimizer generate-template my-debt-data.xlsx

2. Fill in Your Data

Open my-debt-data.xlsx and fill in:

  • Debts: Name, balance, minimum payment, interest rate, due date
  • Income: Sources, amounts, frequency (bi-weekly, monthly, etc.)
  • Recurring Expenses: Monthly bills, subscriptions, etc.
  • Future Income: Bonuses, raises, additional income streams
  • Settings: Bank balance, optimization preferences

3. Run Analysis

debt-optimizer analyze --input my-debt-data.xlsx --output debt-analysis.xlsx

4. Review Results

Open debt-analysis.xlsx to see:

  • Optimized payment strategy
  • Month-by-month payment schedule
  • Visual charts and progress tracking
  • Interest savings and time to debt freedom

Usage Examples

Basic Analysis

# Analyze debts with default settings (minimize interest)
debt-optimizer analyze -i my-debts.xlsx -o results.xlsx

Advanced Options

# Compare all strategies with extra monthly payment
debt-optimizer analyze \
    --input my-debts.xlsx \
    --output comprehensive-analysis.xlsx \
    --goal minimize_interest \
    --extra-payment 500 \
    --compare-strategies

Available Goals

  • minimize_interest: Pay least total interest (default)
  • minimize_time: Become debt-free fastest
  • maximize_cashflow: Optimize monthly cash flow

Excel Template Structure

Debts Sheet

Name Balance Min Payment Interest Rate Due Date
Credit Card 1 5000.00 150.00 18.99 15
Student Loan 25000.00 300.00 5.50 1

Income Sheet

Source Amount Frequency Start Date
Salary 2500.00 bi-weekly 2024-01-01

Recurring Expenses Sheet

Description Amount Frequency Due Date Start Date
Rent 1200.00 monthly 1 2024-01-01

Future Income Sheet

Description Amount Start Date Frequency End Date
Bonus 5000.00 2024-12-15 once
Raise 200.00 2024-07-01 bi-weekly

Output Analysis

Key Metrics

  • Total Interest Saved: Compared to minimum payments only
  • Time to Debt Freedom: Months until all debts are paid
  • Monthly Cash Flow: Available funds after payments and expenses
  • Strategy Efficiency: Comparison across different approaches

Charts Included

  1. Individual Debt Progression: Track each debt balance over time
  2. Payment Breakdown: Principal vs interest by month
  3. Total Debt Reduction: Overall debt elimination progress
  4. Cash Flow Analysis: Income vs expenses vs payments
  5. Debt Payoff Timeline: Order and timing of debt elimination
  6. Extra Funds Utilization: Efficiency of extra payment allocation

API Usage

from src.excel_io.excel_reader import ExcelReader
from src.core.debt_optimizer import DebtOptimizer, OptimizationGoal
from src.excel_io.excel_writer import ExcelReportWriter

# Load data
reader = ExcelReader("my-debts.xlsx")
debts, income, expenses, future_income, future_expenses, settings = reader.read_all_data()

# Initialize optimizer
optimizer = DebtOptimizer(debts, income, expenses, future_income, future_expenses, settings)

# Run optimization
result = optimizer.optimize_debt_strategy(
    goal=OptimizationGoal.MINIMIZE_INTEREST,
    extra_payment=500.0
)

# Generate report
writer = ExcelReportWriter("analysis.xlsx")
debt_summary = optimizer.generate_debt_summary()
writer.create_comprehensive_report(result, debt_summary)

Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

Development Setup

git clone https://github.com/bryankemp/financial-debt-optimizer.git
cd financial-debt-optimizer
pip install -e .[dev]

Running Tests

pip install -e .[test]
pytest

License

This project is licensed under the BSD 3-Clause License - see the LICENSE file for details.

Documentation

📖 Complete Documentation

Support

Changelog

See CHANGELOG.md for version history and changes.

Disclaimer

This tool is for educational and informational purposes only. It does not constitute financial advice. Always consult with qualified financial professionals for personalized guidance on debt management and financial planning.


Author: Bryan Kemp (bryan@kempville.com)
Version: 1.0.0
License: BSD 3-Clause

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

financial_debt_optimizer-1.1.0.tar.gz (56.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

financial_debt_optimizer-1.1.0-py3-none-any.whl (54.5 kB view details)

Uploaded Python 3

File details

Details for the file financial_debt_optimizer-1.1.0.tar.gz.

File metadata

  • Download URL: financial_debt_optimizer-1.1.0.tar.gz
  • Upload date:
  • Size: 56.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0

File hashes

Hashes for financial_debt_optimizer-1.1.0.tar.gz
Algorithm Hash digest
SHA256 4da2e4e8b529a522c02bca0ec6162679ae3a0f1aed7777cffb777d90a2e90db9
MD5 0c86545bf58c5b32c4e01753974a5963
BLAKE2b-256 6e14223c571c55572620ebe492178bc9e8f95ab460b6ed170a8fbf9aceb74d1e

See more details on using hashes here.

File details

Details for the file financial_debt_optimizer-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for financial_debt_optimizer-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8d6dde535be3892f2388fd225811f1fcc518894a72ca34dded08452e37381c0e
MD5 e3974753e89e81669ddbff256ccc5151
BLAKE2b-256 1fba5874b5047629c75fd0aeeb6d4821ebb4ab671c882afe88497e1acac3ef0b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page