# Contractor Credit: backtest note (Nov 6 2026)

Short version: lender marks on these federal contractors are a useful **watchlist** signal and a weak **early-warning** signal. The federal-award, headcount, lobbying and sanctions fields are not point-in-time, so they are **not** backtested here and we make no claim that they predict anything.

## What was tested

- **Universe:** the 202 Contractor Credit names; 188 of them have enough quarterly history to test. A second run covers all 316 matched BDC borrowers in the history panel (federal and not).
- **Data:** the par-weighted mark across every term-debt line, by quarter, from Sep 30 2022 to Jun 30 2026 (file `cc_history_pit.csv`).
- **Signals at quarter t:** both use only the marks for t and t-1.
  - (a) The mark is below 0.95.
  - (b) The mark fell 5+ points from t-1.
- **Event:** the mark falls below 0.80 in either of the next two quarters. The loan must be at 0.80 or above at t, so names already distressed are not counted as predictions.
- **Test window:** t runs from Sep 30 2022 to Dec 31 2025, so both outcome quarters fall on or before Jun 30 2026, the last complete quarter.
- **No look-ahead:** each quarter's signal is dated at `available_at`, the filing date of the last BDC in that quarter's mark. Outcomes come only from later quarters. Borrower-quarters with no later mark (22) are dropped and counted.

## Results

| Universe | Borrower-quarters | Base rate | Below 0.95 at t | Not below 0.95 | Cut 5+ pts at t | No cut |
|---|---|---|---|---|---|---|
| Contractor Credit (188 names) | 1,793 | 2.1% (38) | **12.4%** (29 of 233) | 0.6% (9 of 1,560) | **33.3%** (11 of 33) | 1.5% (27 of 1,760) |
| All matched BDC borrowers (316) | 2,990 | 2.0% (61) | 11.9% (45 of 378) | 0.6% (16 of 2,612) | 22.6% (14 of 62) | 1.6% (47 of 2,928) |

**Out of sample, one quarter** (Jun 30 2026 signal against Sep 30 2026 marks, using only BDCs that have filed Q3 so far):
- Flagged names: 2 of 21 crossed below 0.80.
- Unflagged names: 0 of 100 did.

The sample is tiny, and the quarter is incomplete until about Nov 21.

## How much warning is there?

20 contractors had a first distress event (a mark below 0.80 after a quarter at or above 0.80):
- 18 of the 20 had a sub-0.95 mark the quarter before.
- 8 of those had only one quarter of warning, and the mark the quarter before was often already in the 0.80s.
- 2 had no warning at all (Mobile Communications America; Vertex Companies).
- 3 of the 20 sat below 0.95 for 6 to 8 quarters first.

## What the signal is

- A ranked watchlist. A contractor whose lenders mark it below 95, or cut it 5+ points, is about 20 times more likely than an unflagged one to fall below 80 within two quarters (12.4% against 0.6%).
- A lender-disagreement read, which is in the Private Credit Marks product. Managers 10 to 20 points above the lowest peer cut 5+ points the next quarter:
  - in sample (Q1 to Q2 2026): 20.4% of the time, against 2.8% for loans where managers agree;
  - out of sample (Q2 to Q3 2026, filers so far): 16.7% against 2.4% (n=18).

## What it is not

- **Not a default model.** The event is a lender's own mark below 0.80, not a payment default, bankruptcy or contract loss.
- **Not early by much.** Marks are quarterly and filed 4 to 8 weeks after quarter end, so most warnings come one quarter ahead.
- **Not a trading signal we have tested on prices.** We have no secondary loan prices or equity returns in this test.
- **The federal join is not tested.** It tells you who the borrower is and what government money depends on it. Federal obligations, FSRS subawards, Form 5500 headcount, LDA lobbying, FEC PACs and OFAC matches are current snapshots, not point-in-time histories, so testing them on past quarters would leak the future.

## Known biases, stated plainly

1. **Survivorship and selection.** The universe is matched from the Jun 30 2026 book and today's federal recipients. Loans repaid or written off before 2026 are mostly missing, and names were resolved with today's resolver. That can push the measured hit rates either way.
2. **Overlap.** Consecutive quarters of the same borrower are not independent, and two-quarter windows overlap.
3. **Small counts.** There are 38 events in the contractor set and 11 in the cut-5 bucket, so treat every rate as approximate.
4. **Mixed filer sets.** The number of BDCs in a quarter's mark changes over time (`bdc_filers`).
5. **One lender's view.** Some names have one manager, so a cut there is that manager's opinion (for example Thomas Scientific: MidCap Financial only).

## Reproduce

Run `python build_pack.py` in `outreach/products/fund-pack/`. It reads the product outputs in `products/contractor_credit/out/` and `newdata/bdc/` and writes every file here, including `backtest_results.json`.
