Credit Facility Management — FAQ

Last updated: May 2026


General / Product

What is the Credit Facility Management (CFM) product?

CFM is dv01's platform for managing warehouse credit facilities. It allows originators and investors to generate borrowing base (BB) and monthly servicer reports (MSR), monitor covenant compliance, and optimize loan allocation across multiple warehouse facilities. The webapp lives at credit-facility.dv01app.com.

Who are the primary users?

  • Originators  — use CFM to report to their warehouse lenders and optimize loan allocation
  • Investors  — use CFM for loan purchasing workflows and warehouse reporting
  • Lenders  — receive and review BB/MSR reports from borrowers

What's the difference between white-glove and self-service?

White-glove: dv01 analysts configure facilities, generate reports, and deliver them to clients. Typical for established issuers with complex facilities. Takes 30-40 hours to onboard.

Self-service: Clients upload their own data, configure facilities, and generate reports through the webapp. Typical for growth-stage fintech originators. Target: <10 minutes from tape upload to BB report.

What does the CFM webapp URL look like?

https://credit-facility.dv01app.com/ with paths like:

  • /borrowing-base/generation — generate BB reports
  • /monthly-servicing/generation — generate MSR reports
  • /optimizer — run loan allocation optimizations

How can I test CFM functionality?

dv01 can set up a sample facility for your group to use. This gives your team a safe environment to explore BB generation, MSR workflows, and the optimizer without affecting production data. Contact your account manager or support to request one.

Can dv01 help model my existing and new vehicles?

Yes. dv01 can help onboard all your vehicles, review your credit agreements, and act as an extension of your team. You can model:

  • Warehouse facilities — existing or new credit lines
  • Forward flow agreements / whole loan sales
  • Potential securitizations

Borrowing Base (BB) Reports

What is a borrowing base?

The borrowing base is the calculated maximum amount a borrower can draw against the collateral in their facility. It's determined by applying eligibility criteria, advance rates, and concentration tests to the loan-level data in the warehouse.

How often are BB reports generated?

Typically weekly, though frequency varies by facility and lender requirements. Some facilities require BBs as events occur (e.g., when new loans are added).

How long does BB generation take?

  • Self-service with uploaded tape: <10 minutes
  • Self-service with dv01-managed data: Near-instantaneous
  • White-glove: Typically delivered within 24 hours of request

What data is needed to generate a BB?

  • Loan tape (uploaded or dv01-managed) for the determination date
  • Facility configuration (eligibility criteria, advance rates, concentration limits)
  • Excel report template (uploaded per facility)
  • Any manual inputs not available in the system

Why do my BB numbers differ from what I expect?

Common causes:

  1. Wrong date: The report may be using a different transaction_date than expected
  2. Config change: Eligibility criteria or advance rates were modified since the last run — check for config drift warnings
  3. Stale data: Enriched tables haven't been refreshed with the latest normalized data
  4. Different data source: Report is using uploaded tape vs. dv01-managed data (or vice versa)
  5. Concentration test breach: A concentration limit was hit, reducing the effective advance rate

What are excess concentration tests?

Excess concentration tests limit how much exposure a facility can have to a single characteristic. For example, "no more than 15% of loans from California." When a test is breached, the excess amount reduces the borrowing base. The optimizer can help rebalance loans to stay within these limits.

Why does my report show a zero balance when there are loans in the facility?

Verify that the as-of date for the report is within the date range of the pool. For example, if the pool's as-of date is 4/1/26 but your report date selection is later than the data available, no data will be selected and the report will show zero.

Why did a large dataset result in a failed run?

If the facility pool includes multiple as-of dates or periods, a WHERE filter in the dataset overrides section may be necessary to scope the data to the correct period. Without this filter, the system may try to process more data than expected, causing the run to fail.


Monthly Servicer Reports (MSR)

What is an MSR?

The Monthly Servicer Report is a compliance report that borrowers must submit to their lenders each month. It documents the facility's performance, trigger calculations, covenant compliance, waterfall/collections, and balance summary.

What's the difference between triggers and covenants?

Triggers are calculated metrics that serve as early warning indicators (e.g., default ratio rising). They don't necessarily require immediate action.

Covenants are legally binding contractual conditions. Breaching a covenant triggers specific remedies defined in the credit agreement (e.g., increased reporting requirements, restrictions, or default).

Think of triggers as "check engine" lights and covenants as "rules of the road."

What triggers does the system support?

  • Default Ratio — proportion of loans in default
  • Delinquency Ratio — proportion of loans that are delinquent
  • Excess Spread — difference between interest earned and cost of funds (may need manual SOFR input)
  • Cumulative Net Loss (CNL) — total net losses over time
  • Vintage-based platform triggers — performance tests segmented by loan origination vintage

Why doesn't my MSR beginning balance match the previous period's ending balance?

This relates to the Persistent Facility Ledger:

  1. Check that the previous MSR was actually executed (not just drafted) — only executed reports write to the ledger
  2. Check for config drift — if facility config changed, the system requires acknowledgment before posting
  3. Verify the ledger entries: GET /api/facilities/{facility_id}/ledger/entries
  4. If this is the first MSR in the new ledger system, initial balances may need to be manually seeded

Can I edit and re-run an MSR that errored?

Yes — use the "Edit & Run" button on the report detail page. Note: there was a known issue (QED-4206) where this button was disabled for errored reports; this should be resolved.

What if the MSR depends on a BB that hasn't been generated yet?

The MSR often requires the most recent weekly BB (closest to the due date). If the BB is missing or delayed, the MSR cannot be completed. Coordinate with the CF team to ensure BBs are generated on schedule.


Loan Allocation / Optimizer

What does the Leverage Optimizer do?

It uses a mathematical optimization (Mixed Integer Programming) to determine the best allocation of loans across multiple warehouse facilities to maximize total advance dollars while respecting each facility's eligibility criteria, concentration limits, and advance rate caps.

Who uses the optimizer?

Primarily originators with multiple warehouse facilities who need to decide which loans go into which warehouse. The first client was Mosaic (9 facilities). Other clients include Marlette, Prosper, and Upgrade.

Can I freeze certain loans and only optimize new ones?

Yes — the "optimize additional loans only" mode keeps existing facility allocations fixed and only optimizes the placement of new originations across facilities.

How long does an optimization run take?

Approximately 2 minutes for large pools (250K+ loans, multiple facilities). The process is currently synchronous — you'll need to wait or manually refresh the page to see results.

Can I export the optimized allocation?

Yes — after a run completes, you can export:

  • Consolidated loan tape with facility assignments per loan
  • Summary report with facility-level advance amounts and utilization
  • Borrowing base reports for each facility based on the optimized allocation

Can I compare different optimization runs?

Yes — the system stores all historical runs. You can view previous results, compare allocations, and load a prior run as the starting point for a new optimization.

How do I get data into the Leverage Optimizer?

dv01 will set up an SFTP with your team so files can be dropped by your team, flowing into the pipeline and database for you to use. Alternatively, if you're already a dv01-managed data client, your existing datasets are available automatically.

Can I add excess concentration limits that don't affect the optimization output?

Yes. You can tag an excess concentration, which makes it non-binding — it will be tracked and reported but will not affect the optimization result. This is useful for monitoring limits you're considering adding without impacting current runs.

What is a binding constraint, and how can I use it?

Binding constraints shown on the Reports page for each vehicle indicate which excess concentration adjustments would unlock more leverage if everything else were held equal. This provides insight when negotiating new or existing vehicle terms with your lenders.


Data & Configuration

Where does the loan data come from?

Two options:

  1. dv01-managed datasets — data flows through dv01's normalization pipeline (Tape Cracker → enriched tables)
  2. User-uploaded tapes — clients drop files to an SFTP folder or upload directly through the webapp

What happens when a client uploads a tape?

The tape goes through:

  1. Normalization — mapped to dv01's standard schema
  2. Enrichment — additional fields calculated (e.g., loan age, delinquency status)
  3. Enriched table creation — data is ready for BB/MSR generation and optimizer runs

How are facilities configured?

Facility configuration includes:

  • Eligibility criteria — which loans qualify for the facility
  • Advance rates — percentage of UPB the lender will advance (can be loan-level)
  • Concentration tests — maximum exposure limits per attribute
  • Triggers — performance metrics to calculate each period
  • Covenants — contractual compliance thresholds
  • Report templates — Excel files defining the report structure

Can users edit facility configurations?

Yes — users can modify facility configs through the webapp. The system supports versioning (maintaining old configs while creating new ones). Note: config changes are tracked, and the ledger system will flag "config drift" at report execution time.

What's config drift?

When a user modifies facility configuration between report periods, the system detects this as "config drift" at execution time. The user must acknowledge the change before the report can be posted to the facility ledger. This prevents accidental changes from silently affecting financial calculations.