check_competitive_position
LENDER-side 'is my offer competitive' check — input your OWN published rate for a state+product, get the market percentile, bps vs the state median, and a leading/competitive/overpriced verdict. This is for a loan officer or credit union benchmarking their published pricing against the live market distribution. Do NOT use this for a consumer's quote: if the user is a BORROWER asking whether a rate they were offered is fair, use rate_sanity_check instead.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| apr | No | The lender's published APR. Optional — falls back to rate. | |
| rate | Yes | The lender's OWN published note rate as a percentage (e.g. 6.49). Required. | |
| state | Yes | US state code (2-letter, e.g. CA, TX). Required. | |
| product | Yes | Mortgage product the lender publishes. Required. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | Ready-to-quote sentence stating how this offer ranks against live offers and by how many basis points. | |
| state | No | Two-letter US state code the result is scoped to (e.g. 'CA'). Null means the result was not filtered by state. | |
| market | No | Distribution of live offers this position was measured against. | |
| product | No | Product key the offer was compared against, e.g. '30yr_fixed'. | |
| verdict | No | Qualitative placement of the offer against the market, e.g. 'competitive', 'above_market', 'market_leading'. | |
| percentile | No | Where this offer sits in the market distribution, 0-100, lower being cheaper. 43 means about 43% of live offers are cheaper than it. | |
| your_offer | No | The rate and APR the caller supplied for comparison. | |
| bps_vs_median | No | Distance from the market median in basis points (-4 = 4 basis points below, i.e. better than median). |