Zum Inhalt springen
🛠️ToolsShed

Schulden-Schneeball-Rechner

Planen Sie die Schuldenrückzahlung mit Schneeball- oder Lawinenstrategie.

Über dieses Tool

Der Schulden-Schneeball-Rechner hilft Ihnen, einen strategischen Tilgungsplan für mehrere Schulden mit der Schneeball- oder Lawinen-Methode zu erstellen. Viele Menschen kämpfen mit mehreren Schulden und finden es schwierig, motiviert zu bleiben, wenn sie mit einer großen Gesamtschuld konfrontiert sind. Dieses Tool bietet Ihnen eine monatliche Übersicht, die genau zeigt, wann jede Schuld bezahlt sein wird und wie viel Zinsen Sie durch zusätzliche Zahlungen über die Mindestsummen hinaus sparen.

Um den Rechner zu verwenden, listen Sie alle Ihre Schulden mit ihrem aktuellen Saldo, der monatlichen Mindestzahlung und dem Zinssatz auf und legen Sie dann Ihr Gesamtbudget für monatliche Zahlungen fest. Der Rechner ordnet Ihre Schulden nach der gewählten Strategie neu an: Die Schneeball-Methode priorisiert zuerst den kleinsten Saldo für psychologisches Momentum, während die Lawinen-Methode den höchsten Zinssatz anvisiert, um die Gesamtzinsen zu minimieren. In wenigen Sekunden sehen Sie Ihren vollständigen Tilgungsplan, die Gesamtzinsen und den Schneeballeffekt Monat für Monat, während getilgte Schulden Mittel für die nächste Zielschuld freigeben.

Die Schneeball-Methode hat typischerweise höhere Abschlussquoten, weil frühe Erfolge emotionales Momentum schaffen, während die Lawinen-Methode mathematisch die meisten Ersparnisse bietet. Wählen Sie Schneeball, wenn Motivation Ihre Herausforderung ist, und Lawine, wenn Sie finanzielle Disziplin haben. Denken Sie daran, dass der Rechner feste Zinssätze und strikte Einhaltung des Zahlungsplans voraussetzt; in der Realität müssen Sie sich möglicherweise auf neue Gebühren oder Lebensveränderungen einstellen. Nutzen Sie ihn als Motivations-Fahrplan statt als präzisen Vertrag, und erwägen Sie einen Kreditberater, wenn Ihre Schuldensituation überwältigend wirkt.

Häufig gestellte Fragen

Code-Implementierung

from dataclasses import dataclass, field
from typing import List, Optional

@dataclass
class Debt:
    name: str
    balance: float
    min_payment: float
    apr: float  # Annual Percentage Rate e.g. 0.20 for 20%

    @property
    def monthly_rate(self) -> float:
        return self.apr / 12

@dataclass
class PayoffResult:
    name: str
    months_to_payoff: int
    total_paid: float
    total_interest: float

def debt_snowball(debts: List[Debt], monthly_budget: float) -> List[PayoffResult]:
    """
    Simulate the debt snowball method.
    Debts are sorted by balance (smallest first).
    Extra budget is applied to the current target debt.
    """
    # Sort by balance ascending (snowball)
    queue  = sorted(debts, key=lambda d: d.balance)
    paid   = [False] * len(queue)
    bals   = [d.balance for d in queue]
    totals = [0.0] * len(queue)  # total paid per debt
    month  = 0
    results = []

    while any(not p for p in paid):
        month += 1
        # Find current target: first unpaid debt
        target_idx = next(i for i, p in enumerate(paid) if not p)

        # Calculate total minimums for non-target debts
        minimums_used = sum(
            queue[i].min_payment for i in range(len(queue))
            if not paid[i] and i != target_idx
        )
        extra = monthly_budget - minimums_used

        # Apply payments
        for i, debt in enumerate(queue):
            if paid[i]:
                continue
            payment = extra if i == target_idx else debt.min_payment
            interest = bals[i] * debt.monthly_rate
            principal = min(payment - interest, bals[i])
            bals[i] -= principal
            totals[i] += payment
            if bals[i] <= 0.01:
                paid[i] = True
                results.append(PayoffResult(
                    name=debt.name,
                    months_to_payoff=month,
                    total_paid=totals[i] + bals[i],  # adjust overpayment
                    total_interest=totals[i] - debt.balance
                ))

    return results

# Example
debts = [
    Debt("Credit Card A", balance=2500,  min_payment=75,  apr=0.22),
    Debt("Credit Card B", balance=5000,  min_payment=100, apr=0.18),
    Debt("Car Loan",      balance=8000,  min_payment=200, apr=0.06),
    Debt("Student Loan",  balance=15000, min_payment=150, apr=0.05),
]

results = debt_snowball(debts, monthly_budget=700)

total_interest = sum(r.total_interest for r in results)
print("Debt Snowball Payoff Plan:")
print(f"{'Debt':<20} {'Months':>7} {'Interest Paid':>14}")
for r in results:
    yrs = r.months_to_payoff // 12
    mos = r.months_to_payoff % 12
    print(f"{r.name:<20} {yrs}y {mos:02d}m  ${r.total_interest:>12,.2f}")
print(f"{'Total interest:':<20}        ${total_interest:>12,.2f}")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.