transparent by design
How Carconomics turns prices into decisions.
A public field guide to every important number across Rentals, Top Picks, Stats, Energy, and Host Desk: what it measures, which observations feed it, where it helps, and where it cannot.
source = real trip quotes
collection = about every hour
active_window = ORD Aug 26, 2026 → Oct 24, 2026 · LAX Aug 26, 2026 → Oct 24, 2026
last_observed = Aug 26, 12:31 PM CT
last_publish = Aug 26, 12:35 PM CT
output = evidence, not a booking guarantee00 / reference
The system contract#
The site compresses a large grid of messy rental prices into decisions while keeping the evidence visible.
Find the trip, not merely the car.
Compare exact totals across dates and lengths, expose discount cliffs, and show why a result looks unusually valuable.
Read the market without guessing.
See current price bands, timing patterns, reputation cohorts, and where longer-trip discounts create unintended bargains.
raw quote grid
→ normalize the same trip dimensions
→ compare like with like
→ expose the strongest signal
→ link back to the bookable listingRule: descriptive evidence stays separate from prediction. A current price curve says what is listed now; a history signal says how identical trips changed. Neither is certainty about tomorrow.
01 / reference
Real trip quotes#
A marketing daily rate is not enough. Carconomics works from the trip total for a specific car, pickup date, and duration.
quoted_total
- data
- observed quoted rental totals near ORD and LAX
- window
- collected about every hour
- how
- coverage checks must pass before prices for pickup dates and trip lengths from 1 to 14 days are published
daily_price
- data
- live prices (◉)
- window
- the selected car + pickup + trip length
- how
- quoted trip total ÷ number of rental days
+N days saves $X
- data
- live prices (◉)
- window
- same car and pickup, across longer trip lengths
- how
- find the cheapest longer duration whose full total is below the selected duration's total
quote_key = market + listing + pickup_date + rental_days
per_day = quoted_total / rental_days
free_day = longer_total < selected_total
book_link = same listing + exact compared dates02 / reference
Search modes#
Every mode resolves to the same date-and-duration combinations on the client and server, so a shared URL means the same plan everywhere.
Flexible pickup
Starts from one target date, expands pickup flexibility, and enforces a hard minimum trip length with an optional maximum.
Exact date range
Tests every trip inside the chosen range that meets the minimum length.
Mass Search
Checks every stored pickup date across all supported trip lengths, or one selected length.
minimum = shortest acceptable trip
maximum = selected cap or "No max"
No max = search through the current 14-day data ceiling
example: minimum 3d + maximum 6d → 3d, 4d, 5d, 6dresult_order
- data
- live prices (◉)
- window
- all quotes matching the active plan and filters
- how
- sort by trip total, daily price, year, rating, distance, or price relative to fair value; deterministic fields break ties
card_context
- data
- market, trip, and matches
- window
- the active search plan
- how
- market names the airport market; trip is the displayed duration; matches counts this vehicle's exact trip options in the plan
03 / reference
Fair value is a comparison, not an appraisal#
The model estimates a normal daily price for the same kind of car and trip, then compares the real quote with that reference.
expected_daily_price = f(
comparable vehicle + reputation + market + trip timing
)
value_gap = 1 - actual_daily_price / expected_daily_pricefair_value
- data
- live prices (◉)
- window
- refreshed with genuine market observations
- how
- compares a quote with current, like-for-like vehicle and trip observations
Steal
- data
- live prices (◉)
- window
- latest validated comparison and quote set
- how
- requires a material saving plus sufficient validation and comparable listings
Best_value
- data
- live prices (◉)
- window
- validated comparison + active search result set
- how
- lowest observed price relative to its fair-price reference first
04 / reference
Rental Value and Top Value Picks#
A fixed, rules-based score compares resilient rental-price value. Every eligible listing is evaluated automatically, and placement cannot be bought.
pickup offsets = 7 through 27
trip lengths = 1 day + 3 days + 7 days
duration value = median daily price across pickup offsets
basket value = mean of the three duration medians
score = five fixed axes, 10 points each
shown score = score × 2, out of 100Rental_Value
- data
- live prices (◉)
- window
- one complete, cap-free, at-least-95%-fresh group × market observation
- how
- scores basket affordability, peer value, longer-trip savings, pickup-date stability, and fresh quote flexibility on fixed curves
robustness
- data
- the same price basket recomputed three more times
- window
- remove offsets 7–13, 14–20, and 21–27 in turn
- how
- rebuild every group and peer reference; require every reduced basket to retain the pick gate and keep the total score range within three points (six on the shown 0–100 scale)
Carconomics_Top_Value_Pick
- data
- Rental Value only
- window
- the current and immediately preceding genuine observations
- how
- requires at least 35/50 (shown as 70/100), a top-10% rank among at least 30 rankable listings, every robustness pass, and qualification twice in a row
Independence rule: ratings, completed trips, All-Star badges, reviews, host identity, distance, claims, sponsorship, advertising, clicks, and commissions never enter Rental Value or organic order. The representative three-day quote is an example nearest the listing’s three-day median; it is not the score’s only input.
05 / reference
Distance stays independent#
A cheap car farther away can still be a genuine price bargain. Travel inconvenience is a separate personal tradeoff, so it is not hidden inside fair value.
price value does not equal location convenience
Fair value is distance-neutral. The model adjusts for the broad market, but it does not reward or penalize a quote based on miles from an airport or from you.
candidate_set = selected market
price_value = actual price vs comparable price
distance = approximate public-centroid miles
radius = off, 5, 10, 25, or 50 miles
sort = nearest city first
user_choice = whether the savings justify the travelToday: enter a ZIP code, city, or address to resolve a public ZIP/city reference point, optionally keep only listings within 5, 10, 25, or 50 straight-line miles, and sort nearest first. A listing without a known public city centroid cannot pass an active radius. The address itself is not saved or placed in the URL, and the result is deliberately approximate—not a route or a host’s precise location. Cards keep showing airport distance when no personal starting point is active.
06 / reference
Mass Search#
This mode asks the useful broad question: which trips look strongest anywhere across the current pickup dates and supported lengths?
matched_quotes =
selected markets
× every pickup date in the stored window
× every supported duration
× every eligible car
response = ranked page + match count + explainable picksGreat_deal
- data
- live prices (◉)
- window
- all quotes matched by the all-dates search
- how
- a daily price materially below the middle of that request's matched prices
result_page
- data
- live prices (◉)
- window
- one stable slice of the ranked match set
- how
- bounded server-side ranking returns deterministic pages for the selected filters and sort
Performance contract: large searches remain paginated and deterministic, and a failed update does not replace the last verified result set.
07 / reference
Freshness and last-seen prices#
Rental inventory can disappear briefly even when a listing is valid. A short, bounded grace period prevents a single incomplete update from blanking the site.
observed now → current quote
briefly missing → labeled last-seen price
repeatedly absent → removed from results
expired trip date → removed from results◉ live vs ⟲ history
- data
- each panel identifies its evidence class
- window
- ◉ = latest verified observation · ⟲ = observations accumulated across completed market-local days
- how
- live panels use current validated observations; history panels compare completed observation periods
observation_time
- data
- published time and observed interval
- window
- shown with the current verified prices
- how
- separates when an update appeared from when its prices were observed
coverage_check
- data
- pickup-date completeness and current-price freshness
- window
- evaluated separately for ORD and LAX
- how
- current panels appear only after the observation passes completeness and freshness checks
08 / reference
Stats provenance#
The stats page starts from a renter's market and exact duration, then shows only claims whose coverage and cohort support are strong enough.
| signal | source | calculation | use it for |
|---|---|---|---|
| lowest observed supported medians / heatmap | ◉ LIVE | listing-equal Type-7 median by pickup date × exact duration, with listing support and its own 95% median interval; overlapping intervals are treated as tied rather than ranked #1/#2/#3 | finding supported inexpensive pickup windows without pretending close estimates have a proven order |
| lead-time curve | ◉ LIVE | selected-duration listing medians by days until pickup | reading today’s supported price surface as “pickup in X days,” not as evidence that a car was booked X days ahead |
| duration curve | ◉ LIVE | current listing-equal median $/day for each exact trip length | seeing the observed shape of longer-trip pricing; the seven-day marker is a reference boundary, not a claim that seven days caused a change |
| model or make | ◉ LIVE | the typical listing’s median $/day within the current observation | comparing observable vehicle segments without letting listings with more pickup dates vote more often |
| pickup weekday | ◉ LIVE | raw, unadjusted listing-equal weekday cohorts | describing the current mix; weekday, lead time, vehicle mix, and trip dates remain confounded, so this is not a “best weekday” recommendation |
| reputation / All-Star | ◉ LIVE | selected-duration listing-equal cohorts; the All-Star badge share among supported listings is gated separately from the All-Star versus non-All-Star price comparison | describing observed listing reputation; “0 completed trips on this listing” is not a zero-star rating |
| current listings and price spread | ◉ LIVE | distinct fresh listings plus selected-duration p10, median, and p90 across listing-level values | reading observed listing breadth and the middle 80% of prices—not demand, bookings, or occupancy |
| price drivers / model accuracy | ◉ LIVE | controlled fitted-model associations; the accuracy check says how much price variation the model explains on listings it did not fit, while the typical multiplicative miss describes a normal proportional prediction error | separating correlated traits; these remain associations, and the Luxury diagnostic stays unavailable until its own valid display evidence exists |
| marginal day / free day | ◉ LIVE | fresh same-listing and same-pickup pairs, with distinct-listing support and listing-equal summaries; a longer total must be strictly lower, with equal totals separate | spotting observed discount cliffs rather than assuming the next day has one standard cost |
| captured host discounts | ◉ LIVE | when supported, take each listing’s median discount across fresh quotes with a captured before-discount total, then Type-7 p25/p50/p75 across listings | describing captured host discounts with both listing and quote counts; a missing or zero before-discount total is excluded, never treated as a 0% discount |
| selected-duration price history | ⟲ HISTORY | daily listing-equal p10, p50, and p90 for the exact selected duration | tracking the middle 80% of observed listing prices after 14 complete analytics-v2 market-local days |
| fresh listings seen | ⟲ HISTORY | distinct fresh listings in each complete market-local day | seeing how many listings the collection observed, never inferring demand, bookings, or occupancy |
| cross-market price gap | ◉ LIVE | same Tesla model or same Luxury make, with ORD and LAX independently passing support; each median keeps its own interval | comparing supported observed prices across markets—not “arbitrage,” and not a ratio with a fabricated confidence interval |
| repricing activity: do prices drop as pickup nears? | ⟲ HISTORY | sum of listing changes ÷ sum of listing comparisons, plus up/down shares among changed quote comparisons, over the latest 28 qualifying days found inside a 90-day lookback | measuring observed repricing breadth; the current squared-log-ratio aggregate cannot support a valid “typical move magnitude” |
| same-listing market index | ⟲ HISTORY | compare the prior day’s final genuine observation with the latest observation today; match the same listing + pickup date + exact duration, take a median log price relative within each listing, then combine listings equally | tracking a like-for-like daily close-to-latest level with at least 30 matched listings and 95% freshness; later observations revise today’s endpoint, while unsupported intervals and gaps longer than seven days rebase the next supported chain to 100 |
| largest detected price decreases | ⟲ HISTORY | one listing event groups all quote-window falls of at least 5%; timestamps say when the change was detected | finding fresh repricing breadth without counting one listing many times |
One support rule: Stats defaults to a 3-day rental. A missing or incomplete cohort, or one without both listing and fresh-listing counts, is unavailable. Fewer than 10 listings or less than 95% fresh listings is also unavailable; 10–29 listings is thin; 30 or more is supported. Quote-row counts never substitute for listing counts. The cheapest-date hero further requires at least 80% of that duration’s maximum cell support.
How to read the panels: A quote window is one listing × one pickup date × one trip length. Medians use standard Type-7 quantiles, and one listing gets one cohort vote regardless of quote density. Heatmap colors are normalized separately within each trip-length row, so color intensity cannot be compared across rows. Every panel states what the result tells you and what it cannot prove. “After controls” is a model association, not proof of causation.
Collecting states are evidence: A history panel stays in a collecting or unavailable state until its exact completeness, freshness, support, and day-count gates pass. Carconomics does not fill gaps, substitute a different duration, or fall back to old quote-weighted rows merely to draw a chart.
quant_stats_api
- data
- a bounded projection of the same duration-specific Stats evidence
- window
- one selected group, market, and trip length per request
- how
- GET /api/quant/stats; validates its query, returns explicit supported, thin, unavailable, or collecting states, and sends no-store responses
09 / reference
Host Desk and listing reputation#
Hosts get competitive evidence from fresh like-for-like listings. Reputation fields remain descriptive and separate from written-review sentiment.
peer identity = same market + make + model + pickup + duration
first choice = model year ±2
supported = 30 or more fresh peers
thin = 10–29 fresh peers
unavailable = fewer than 10 fresh peerscompetitive_band
- data
- fresh observed totals for the target listing and its peers
- window
- latest verified group snapshot
- how
- try a supported ±2-year cohort, then supported all-years, then thin cohorts in the same order
discount_overshoot
- data
- fresh totals for one listing and pickup date across adjacent supported trip lengths
- window
- current quote calendar
- how
- report longer_total < shorter_total; disclose equal totals separately
listing_reputation
- data
- aggregate listing rating, completed trips, and observed All-Star field
- window
- the tracked listing plus its current market aggregate
- how
- deduplicate listings, require 95% freshness, apply fewer than 10 unavailable / 10–29 thin / 30+ supported, and fail aggregate support closed for an invalid, future, or group-stale source timestamp
host_tools_interest
- data
- normalized email, a currently tracked listing ID, selected collection and observed market, two preferences, consent version, and consent/submission/activity times
- window
- one current preference row per email + group + listing; rows become purge-eligible after 180 inactive days; 5,000 rows maximum
- how
- POST /api/host-interest requires JSON ≤4,096 bytes, same-origin when Origin is supplied, explicit consent, at least one preference, and a current tracked-listing lookup; DELETE returns generic success without revealing membership
Written-review boundary: GET /api/reputation returns a permission-required written-review state. Carconomics does not collect review bodies, infer sentiment, test whether text agrees with a star score, or turn listing aggregates into a host-wide quality score without written source permission.
10 / reference
Electric versus gasoline rental study#
Observed Luxury rental totals are combined with an adjustable official-source energy scenario, with rental and energy components always shown separately.
gas energy = miles / EPA combined MPG × matching EIA $/gallon
BEV energy = miles × EPA kWh/100 miles / 100 × $/kWh
scenario = observed three-day rental total + estimated energy
gap = BEV minus gasolineofficial_vehicle_input
- data
- FuelEconomy.gov vehicle catalog
- window
- current observed Luxury identities
- how
- match exact year + make + base model, with a small reviewed alias table and no fuzzy fallback
official_energy_input
- data
- EIA weekly metro gasoline and monthly state residential electricity
- window
- latest source period on or before the market-local rental observation
- how
- require all gasoline grades to be no more than 21 days old and residential electricity no more than 120 days old
current_fleet_scenario
- data
- fresh three-day Luxury quotes at pickup offsets 7–27
- window
- at least ten pickup dates per listing; standard stored scenario is 300 miles
- how
- take each listing's Type-7 median daily rate, multiply by three, then summarize listings equally within officially classified BEV and gasoline cohorts
tesla_listing_calculator
- data
- one current Tesla listing, its fresh three-day quote calendar, and its exact official EPA candidate set
- window
- pickup offsets 7–27 with at least ten fresh dates; live quote no older than Tesla's 180-minute stale threshold
- how
- standardize the listing-level rental median, require every official candidate to be BEV, then apply the candidate kWh/100-mile range to the selected miles and electricity price
energy_study_api
- data
- bounded derived evidence plus the current listing lookup when requested
- window
- one market and scenario per request
- how
- GET /api/energy-study returns supported or collecting evidence with no-store; a numeric listing parameter selects the Tesla calculator; invalid inputs are rejected and dependency failures substitute no estimate
gas_price_relationship
- data
- future exact listing-level weekly evidence only
- window
- 52 qualifying weeks and 48 adjacent transitions in both markets; at least four supported days per week
- how
- first-difference BEV-minus-gasoline rental and energy gaps with current/lagged energy change, market effect, autocorrelation-robust uncertainty, rank correlation, missing-week disclosure, and leave-one-market-out checks
Failure behavior: missing, stale, future, malformed, or unavailable source evidence produces collecting or unavailable output. The independently scheduled source refresh is best-effort and cannot fail, replace, or delay the verified rental-price publication.
11 / reference
What the data cannot prove#
Useful analysis gets stronger when its boundaries are explicit. These limits apply even when a signal looks compelling.
- 01Not availability demand. A listing disappearing can mean many things. It is not called a booking without direct evidence.
- 02Not a causal experiment. Controlled price effects reduce obvious mix differences but do not prove causation.
- 03Not review-text analysis. Current quality signals use aggregate rating, completed listing trips, and All-Star status. Public pages expose some reviews, but automated/commercial collection stays off unless Turo grants written permission for that use.
- 04Not a prediction by default. A current lead-time curve compares different future trips today. Only repeated same-trip history measures repricing.
- 05Not permanent. Price and availability can change at any moment. The linked listing remains the final source.
12 / reference
Time-bounded by design#
Current prices and historical comparisons use finite windows appropriate to their purpose.
A failed update never replaces the last valid price surface.
Listing-level events stay actionable and then expire.
Raw lead-bucket history stays bounded; supported public panels apply stricter evidence windows.
Only completed, qualified periods enter public time comparisons.
Derived daily cohorts and official inputs stay finite; the source table may retain its boundary calendar month.
Private current preferences become purge-eligible on a later form submission or removal; no event history accumulates.
current_result = latest verified observation
history_input = completed qualified periods
failed_update = preserve prior valid result
user_location = request only; not retained
host_interest = private current preference; purge after inactivity13 / reference
Vehicle coverage#
Tesla and curated Luxury searches are live, separate comparison groups.
⟲ HISTORY Luxury collection is currently paused — the group serves its last verified observation, labeled historical. It covers curated 2022-and-newer passenger vehicles from the makes and model families shown in the planner. Luxury is filtered by make where Tesla is filtered by model. Groups are never blended: every displayed price, comparison, and badge is computed within the selected group.
group_filter = Tesla models | Luxury makes
comparison = within the selected group only
uncertainty = disclose or omit; never imply precisionIf additional vehicle attributes are added later, every public ranking will name its inputs and limitations. Uncertain attributes will not be presented as confident facts.
Prices can change at any moment. Always confirm the final listing before booking. Carconomics is not affiliated with Turo, EPA, EIA, or any vehicle manufacturer.