The traditional approach
In traditional PPE and LOS systems, the workflow typically looks like this:Check guidelines
Put the pricing back into the loan file and check if DTI rules are met.
Pylon’s programmatic approach
Pylon’s pricing engine uses programmatic structuring that:Evaluates thousands of structures
Simultaneously tests thousands of loan structure permutations to find
optimal solutions.
Encodes all guidelines
All guidelines and rates are encoded in the software, ensuring comprehensive
evaluation.
Optimizes automatically
Finds the most optimal structure based on your objective (minimize
out-of-pocket, monthly payment, etc.).
Avoids manual iteration
No need to manually restructure and re-price. The system finds the best
option automatically.
Why traditional structures are suboptimal
The mortgage industry has developed “tribal knowledge” around traditional down payment structures:- 3% down: Common minimum for conventional loans
- 20% down: Traditional amount to avoid PMI (Private Mortgage Insurance)
- Pricing implications: Different LTV ratios have different pricing impacts
- LLPA cliffs: Loan-Level Price Adjustments (LLPAs) can create significant cost jumps at certain thresholds
- Guideline eligibility: Some structures may not be optimal even if they meet minimum guidelines
Scenario 1 - LLPA cliff causes pricing ineligibility due to cash-to-close constraints
Initial structure
- Purchase price: $1,250,000
- Down payment: $250,000 (20%)
- Loan amount: $1,000,000
- LTV: 80.00%
- Credit score: 705
- Occupancy: Primary residence
- Program: Conventional fixed-rate
Borrower cash-to-close constraints
The borrower has explicit liquidity limits:- Maximum total cash to close: $265,000
- Planned down payment: $250,000
- Available funds for fees, points, and reserves: $15,000 The borrower cannot increase total cash to close beyond this amount without liquidating assets or delaying the transaction.
Pricing impact
At exactly 80.00% LTV, the loan triggers multiple LLPAs: Total LLPA cost: $13,750Why this structure fails
To execute this loan at par pricing, the borrower would need to pay:- LLPAs: $13,750
- Base closing costs (excluding down payment): ~$14,000
- LLPA charges: $13,750
- Total non-down-payment cash required: ~$27,750
Using optimized pricing
The magic behind optimized structures
Our optimizer deterministically evaluates mortgage structures given a defined set of constraints and objectives. It treats all borrower dollars as fungible across uses, including down payment, points, closing costs, prepaid items, reserves, and pricing adjustments, and reallocates them to identify the optimal executable structure. Given:- Hard constraints (program rules, guideline requirements, cash-to-close limits)
- A borrower-defined out-of-pocket maximum
- Optimization objectives (for example, minimizing PITIA or cash to close)
Satisfy all constraints
Enforce cash limits, reserve requirements, eligibility rules, and pricing
bounds as hard constraints.
Optimize for borrower objectives
Choose a goal (e.g. minimize out-of-pocket, minimize monthly PITIA, or minimize down payment). The optimizer selects the best structure for that objective within the feasible space.
Borrower preferences and pricing constraints
The optimizer only considers structures that stay within hard constraints. Those constraints come from borrower preferences (stored on the loan) or from pricing constraints you pass when calling pricing (e.g. when calculating the most optimal structure). If you don’t pass pricing constraints, the system uses the loan’s borrower preferences. Common constraints include:| Constraint | Purpose |
|---|---|
maxOutOfPocket | Total cash the borrower can bring to closing (down payment + fees, points, prepaids). The optimizer will not suggest structures that exceed this. |
maxLtv | Maximum LTV. Keeps the loan within the borrower’s or program’s comfort zone (e.g. cap at 90% LTV). With MIN_DOWN_PAYMENT, yields fixed structures (e.g. 90% LTV). |
closingCosts | Cap on closing costs (excluding down payment). |
monthlyPayment | Cap on PITIA. Ensures the payment stays within the borrower’s budget. |
maxDiscountPoints | Limits how many points the borrower is willing to buy. |
downPaymentAmount | Fixed down payment when the borrower has already decided the amount. |
Optimization objectives
Choose the objective that aligns with your borrower’s goals:| Objective | Use Case | Description |
|---|---|---|
MIN_OUT_OF_POCKET | Borrower has limited cash | Minimizes total cash required at closing |
MIN_PITIA | Borrower focused on monthly payment | Minimizes monthly PITIA (principal, interest, taxes, insurance, and association fees) |
MIN_DOWN_PAYMENT | Borrower wants to preserve cash | Middle ground between MIN_OUT_OF_POCKET and MIN_PITIA: buys down the rate as much as possible given available cash to close but does not exhaust available assets. With maxLTV, yields fixed structures (e.g. 90% LTV). |
Pricing response types
Pricing responses use the same type system whether you call the full rate sheet or the most-optimal-structure flow. Use this reference when handling products, structures, and ineligibility or error details.Product-level results
Each product is either:| Type | Description |
|---|---|
EligibleProductPricing | Product is eligible; it has a rateStack array of structures (each structure is eligible, ineligible, or an error). |
IneligibleProductPricing | Product is not available as a whole; it has details (ineligibility reasons) and no rateStack. |
Structure-level results (StructuringResult union)
Each structure in a rate stack (or in most-optimal-structure’s productBreakdown) is one of:
| Type | Description |
|---|---|
EligibleProductStructure | Structure meets all constraints and guidelines; full pricing fields (rate, APR, PITIA, closing costs, etc.). |
IneligibleProductStructure | Structure fails one or more rules; same pricing fields plus ineligibilityDetails (violation types below). |
StructuringError | Optimizer could not find a feasible structure; product/rate context plus unsatisfiabilityDetails (e.g. GuidelineViolation, OptimizerUnsatisfied). |
Structure ineligibility details (IneligibleProductStructure.ineligibilityDetails)
Each item is one of:
| Type | Description |
|---|---|
DebtToIncomeViolation | DTI would exceed the allowed limit. |
LoanToValueViolation | LTV is outside the allowed range. |
QmFeeCapViolation | Would violate the Qualified Mortgage (QM) fee cap. |
ReservesNotMetViolation | Does not meet reserves requirements. |
Structuring error details (StructuringError.unsatisfiabilityDetails)
| Type | Description |
|---|---|
GuidelineViolation | A guideline was violated in a way that’s represented as a general violation rather than a specific DTI/LTV/reserves/QM type. |
OptimizerUnsatisfied | The optimizer could not satisfy the constraints (e.g., the problem is infeasible). |
Best practices
- Set appropriate objectives: Choose the optimization objective that matches borrower priorities.
- Trust the optimization: The system evaluates thousands of structures. Trust that it finds optimal solutions.
- Explain the value: Help borrowers understand that optimized structures may differ from traditional percentages (3%, 20%) but provide better terms.
Pricing optimization guides
Choose the right approach for your use case:Full rate sheet optimizations
Show the full rate stack across all products—eligible structures and ineligible products/structures with their reasons.
Most optimal structure
Get the single best structure for your objective (e.g. MIN_PITIA). Optional Product Breakdown shows the best structure per product.
Fixed loan structures
Get a fixed structure (e.g. 90% LTV) by using MIN_DOWN_PAYMENT with maxLTV.
Related resources
- Pricing scenarios - Show borrowers optimized pricing options
- Complete integration guide - Build a full loan origination flow
- Tracking loan updates - Track loan status and pricing changes