Portfolio Overview
Credit Tightened population is the primary lens — all new originations now meet the tightened criteria. Toggle any chart to the unfiltered All pool for comparison.
Cumulative Gross Loss by Vintage
Installment · overall segment
Life-to-Date CPR by Vintage
Installment · overall segment
Credit Tightening Impact
CGL at a fixed MOB — Credit Tightened vs All, by vintage. Lower is better.
Origination Volume by Quarterly Vintage
Click a bar to open that vintage in the Comparator
Performance Explorer
All views across vintage series. Click a legend entry to isolate a vintage, double-click to reset, drag to zoom.
Pivot — MOB × Vintage
values as %Vintage Comparator
Fix a month on book and compare every vintage side by side, then see which segments disperse the most at that age.
Bars sorted by vintage. Missing bars mean the vintage has not yet seasoned to this MOB.
Segment Dispersion at MOB
Ranked by spread between best and worst vintage — widest first
Stratifications
Two populations are carried side by side. The sample tape has 11,400 loans; the official strat report covers 11,331 after issuer exclusions.
Volume vs Credit Quality
Bars are original volume; the line is balance-weighted FICO on the right axis
Origination Mix
Vendor age-0 balances. Click any bar to cross-highlight the table below.
Term buckets are non-exhaustive. Vendor term subtotals fall short of the all-term total, so treat term shares as indicative rather than a strict partition. FICO buckets tie exactly.
Detail
Indicative Capital Structure
Rated private loan structure — Home Improvement (spot). No reverse turbo waterfall; OC target on Class A.
Tranche Sizing
Credit Enhancement & Coupon
Tranche Detail
Methodology & Data Integrity
Every figure in this portal is reconciled to the vendor files. The findings below are corrections applied to the reference logic, not assumptions.
- 1. CGL uses a contemporaneous denominator, not
transform("first") - The reference logic anchors
Initial Loanamountto the first month of each vintage. That value is not constant within a vintage — it varies in 73 of 1,168 groups. Anchoring to the first month missed the vendor's published rate by up to 8.371 percentage points across 196 rows. Dividing each month's charge-off by that month'sInitial Loanamountand then cumulating reproduces the vendor to 1.693e-15. The vendor convention was adopted. - 2. Promo LTD CPR resets at age 15
- Promo LTD CPR matched exactly through age 14 then diverged by as much as 62.7pp. Restarting the balance-weighted accumulation at age 15 — the post-promo boundary described on deck p13 — reproduces the vendor to 9.576e-16. All 306 promo groups that reach age 15 reset there; the 72 that do not all terminate by age 12, so no group contradicts the rule. Resets at ages 12, 13, 14, 16 and 18 were each tested and all failed. Installment CPR never resets and reconciles at 1.554e-15 with no adjustment.
- 3. Eight degenerate CPR rows removed
- At term end on residual balances of $189.20, $507.33 and $901.89, the
smm_denomcollapses to 0.000065 or turns negative, producing CPR values as extreme as -4.50e21. These 8 rows are excluded from both the LTD recomputation and all output rather than being clipped, which would silently distort the tail. - 4. Population reconciliation — the 69-loan gap
- The tape carries 11,400 loans / $204,625,939.27 current. The official strat report covers 11,331 / $203,011,761.77. The 69-loan, $1,614,177.50 difference is driven by the report's selection criteria:
(blank EXCLUSION_REASONS) and (blank DROP_STATUS). Neither column exists in the tape, so the exclusion cannot be reproduced loan by loan. The gap is scattered across origination months and skews toward recent vintages, which is consistent with pending-status loans. Both populations are therefore reported separately and never blended. - 5. Term buckets are not a partition
- Vendor term subtotals fall short of the all-term total, so term shares are indicative only. FICO buckets tie to the penny. Both behaviours are surfaced in the UI rather than silently normalised.
- 6. Metrics not derivable from the supplied files
- NAR requires
interestpmtand DQ requires DPD-bucket balances; neither field exists in any of the four vendor files, so both are out of scope rather than approximated. CDR / LTD_CDR were excluded per instruction but remain derivable by joining charge-offs tobeginningbalanceon vintage, age and segment. - 7. Percentage handling
- All rates are stored as decimals. Excel applies the
0.00%number format and Plotly appliestickformat='.2%'. Values are never pre-multiplied by 100, which is the usual source of 100× errors in this kind of output.
Source Files
| File | Role | Records |
|---|---|---|
| SUNL 2026-1 Sample Tape | Loan-level strats, WA metrics | 11,400 |
| SUNL 2026-1 Strats | Official stratification — 19 blocks | 11,331 |
| SLF HI Installment CGL | Cumulative gross loss | 26,598 |
| SLF HI Installment CPR | CPR / LTD CPR | 51,652 |
| SLF HI Promo CGL | Cumulative gross loss | 12,682 |
| SLF HI Promo CPR | CPR / LTD CPR | 24,572 |
| Sunlight DBRS Presentation | Corporate & credit narrative | 35 pp |
| CRBS HI Sample Rated Structure | Capital structure | — |