Version 1.0 · Last updated 2026-10-09 · Changelog
What this is: an estimate of what a dealer is likely to offer for your car on trade, built from real dealer listings near you, with every step shown.
What this is not: an offer, an appraisal, or a guarantee. A dealer inspects the car before making a firm offer, and offers vary between dealers.
We find cars like yours that dealers near you are selling right now, work out what that kind of car sells for at retail, then subtract what a dealer typically needs to make on it and what it costs to get a car in your condition ready to sell. What's left is the trade-in value.
No AI model produces the number. It is a lookup plus arithmetic, and the same inputs on the same day give the same answer. Every step appears as its own line on your result, under "How we got there".
| Step | What we do | Where the number comes from |
|---|---|---|
| 1. Identify the car | Decode the VIN, or match what you typed, to a year, make and model | NHTSA vPIC (U.S. government VIN decoder) |
| 2. Find similar cars | Search used cars of the same year, make and model listed by dealers within 100 miles of your ZIP code. Up to 50 listings are used. | Marketcheck dealer listing data, searched when you ask |
| 3. Adjust to your mileage | Normalize each listing to a common mileage, then move the price to your mileage at a rate fitted on those same listings (or a typical rate when there aren't enough listings to fit one) | The listings |
| 4. Adjust to your trim | If you pick a trim and at least 3 nearby listings share it, use that trim's prices relative to all trims | The listings |
| 5. Retail value | The middle (median) of the adjusted prices. This is the "dealer list price" on your result. | The listings |
| 6. Dealer resale margin | Subtract 7.8% of the retail value | NADA 2025 Annual Data Report: average dealer gross profit of $2,337 on a used car taken in trade, against an average used retail price of $30,016 (J.D. Power, September 2025) |
| 7. Reconditioning | Subtract a fixed amount for the condition you pick: excellent $400, good $900, fair $1,900, rough $3,500 | Our estimate. There is no public per-car data for reconditioning cost. |
Trade-in value = retail value − dealer margin − reconditioning.
We use the margin as a percentage, not a flat $2,337, so a $6,000 car isn't charged the margin on a $30,000 car.
The "likely offer" range comes from how spread out the nearby listings are: the middle half of the adjusted listing prices (25th to 75th percentile). It gets wider when:
The same dollar deductions (margin and reconditioning) apply across the range. Picking a trim on the result screen usually makes the range visibly tighter, because the trim term drops out.
If fewer than 5 similar cars are listed by dealers within 100 miles, we say so and don't show a value. We'd rather show nothing than a number we can't back.
Asking price vs. sale price. Listings show what dealers are asking, not what cars sold for. No completed-sale prices are available to us. The closest thing we can measure is the last price a car was listed at before it left the market. In our October 2026 check that was 100.3% of current asking prices (median across 12 models; individual models ranged from 92% to 111%), so we apply no adjustment and add the spread to the range instead. Any discount negotiated off the final listed price is not measured, and we don't invent one.
Condition. Listings don't record condition, so we treat them as cars in good, retail-ready shape. Your condition answer changes only the reconditioning deduction.
Options and packages. Not counted yet. Cars with a rare, expensive package may be worth more than our range.
Region. Built in: every number uses listings within 100 miles of your ZIP, so local prices are already reflected.
We tested the listing math (steps 2 to 5) on real Detroit-area listings it hadn't seen, compared against their asking prices (October 2026):
| Test | Listings | Median error | Within 10% | Inside our range |
|---|---|---|---|---|
| Leave-one-out (each listing valued without itself) | 288 | 7.1% | 59% | 60% |
| Unseen listings (next page of results) | 110 | 8.5% | 58% | 65% |
Models with lots of local listings did much better (3–5% median error) than models with fewer than about 15 (16–19%). The range is built to hold about 6 in 10 comparable listings, not all of them.
We have not yet been able to test the trade-in number against real dealer offers. Until we can, treat the margin and reconditioning steps as reasonable averages, not measured facts about your dealer.
In many states, you only pay sales tax on the difference between the new car's price and your trade-in. On a $20,000 trade at a 6% tax rate, that's $1,200 you don't pay. Where we've checked the rules against official state sources, your result shows this savings.
| State | State rate | Rule we apply | Source |
|---|---|---|---|
| Florida | 6% | Full trade value; county surtax can add a little more | floridarevenue.com |
| Illinois | 6.25% | Full trade value; local tax can add a little more | tax.illinois.gov |
| Indiana | 7% | Full trade value | in.gov |
| Michigan | 6% | Credit capped at $12,000 of trade value in 2026; the cap rises $1,000 each January and ends in 2029 | legislature.mi.gov |
| New York | 4% | Full trade value; county and city sales tax add more on top, so the real savings are higher | tax.ny.gov |
| Ohio | 5.75% | Only when the car you buy is new; local tax can add a little more | tax.ohio.gov |
| Pennsylvania | 6% | Full trade value; Allegheny County (+1%) and Philadelphia (+2%) add more | pa.gov |
| Texas | 6.25% | Full trade value | comptroller.texas.gov |
| Wisconsin | 5% | Full trade value; local tax can add a little more | revenue.wi.gov |
We use the state rate only, so the savings shown is usually a floor. Each state links to the state law or tax agency page we checked. Other states: we show nothing until we've checked them.
Your result already shows the main trade-off in dollars:
A firm offer depends on things we can't see from a form:
The closer your condition answer matches what the dealer finds, the closer the offer will be to our range.
| Input | Sourced | Our call |
|---|---|---|
| Nearby retail prices | ✅ Dealer listings within 100 miles (Marketcheck) | — |
| Mileage adjustment | ✅ Fitted on the same listings | Typical rate used when a model has too few listings |
| Dealer margin, 7.8% of retail | ✅ NADA 2025 + J.D. Power September 2025 | Applying it as a percentage |
| Reconditioning by condition | — | ✅ All four amounts |
| Range width | ✅ Spread of the nearby listings | ✅ The widening terms and their sizes |
| Minimum of 5 listings | — | ✅ |
| Trade-in tax rules | ✅ Official state tax agency sources | State rate only |
How is this different from KBB or Edmunds? We show how the number was built: which listings, which adjustments and how much each one moved the price. If a step is our own estimate rather than measured data, we label it.
Is this an offer to buy my car? No. It's an estimate of what a dealer is likely to offer. Only a dealer who inspects the car can make a firm offer.
Why is the trade-in value lower than the dealer list price? The dealer has to recondition the car and resell it at a profit. We subtract a typical dealer margin (7.8% of retail, from NADA's 2025 industry data) and a reconditioning cost for the condition you chose.
Why can't you value my car? If fewer than 5 cars like yours are listed by dealers within 100 miles of your ZIP code, we don't have enough local data to give an honest number, so we don't show one.
Does my ZIP code change the value? Yes. We only use listings within 100 miles of your ZIP code, so the number reflects your local market.
How much sales tax does trading in save? In states that tax only the price difference, you save your state's sales tax rate times your trade-in value. Michigan caps the credited amount and Ohio only allows it when buying a new car. Your result shows the savings for the states we've verified.
Do you use AI to calculate the value? No. The value is arithmetic on real listings. The same inputs on the same day give the same result.
docs/methodology-curve-v0.1.md.