liveBook · Manning

Time-based analysis

As explained in Financial AI in Practice

An analytical approach that represents credit outcomes in relation to the time elapsed since loan origination or observation.

A loan can perform well for six months, deteriorate in month seven, and default in month eight. A single “Default = Yes” label hides that progression. Time-based analysis tracks outcomes against elapsed time so lenders can see when risk emerges, not just whether a default eventually occurs. section 4.2.2

Two complementary views serve different decisions:

  • Vintage analysis groups loans by origination cohort and plots cumulative default rates against months on book. Steeper curves flag faster default accumulation for investigation. section 4.2.2
  • Survival analysis follows individual loans’ time to default. It also accounts for right-censored loans whose observed history ends before a default is known. section 4.2.2
Listing 4.1 Vintage analysis
import pandas as pd
import matplotlib.pyplot as plt

# Step 1: Load the CSV, using "Vintage" as the index
df_loaded = pd.read_csv("vintage_data.csv", index_col="Vintage")

# Step 2: Plot each vintage as a line
plt.figure(figsize=(9,6))
months = range(1, 17)  # for 16 months on book

for vintage in df_loaded.index:
    # Convert each row to numeric in case of missing cells
    row_values = pd.to_numeric(df_loaded.loc[vintage], errors='coerce')
    plt.plot(months, row_values, marker='o', label=vintage)

plt.title("Vintage Analysis: Cumulative Default Rates")
plt.xlabel("Months on Book")
plt.ylabel("Cumulative Default Rate (%)")
plt.xticks(months)
plt.grid(True)
plt.legend(loc='upper left')
plt.show()

The Python listing loads cohort data and plots cumulative default rates by month, making differences in loan seasoning visible. section 4.2.2

Define the default window for the product before comparing results; a credit-card or personal-loan threshold might be 90 days past due. Review month-by-month signals for early intervention and use the timing of defaults to inform loss provisioning. section 4.2.2

How Financial AI in Practice covers it

How deep it goes
Works through vintage plotting and a synthetic Kaplan–Meier example, without establishing a production monitoring procedure.
Examples
Uses monthly cohort default curves and a synthetic portfolio of 50 loans with observed and censored outcomes.
What it assumes
Assumes familiarity with loans and defaults while illustrating elapsed-time analysis with a simple repayment timeline.
What you can do after
Apply it via pandas, Matplotlib, and lifelines to visualize cohort defaults and estimate time-to-default patterns.
How it connects
Connects default windows, vintage analysis, survival analysis, right censoring, and loan-loss provisioning.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Financial AI in Practice. The section links point to the parts of the book it draws on.