off peak · 23h 5m · Aug 26, 12:31 PM CT

on this page14 sections

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.

methodology.ts
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 guarantee
◉ LIVE latest verified observation⟲ HISTORY comparisons across time◇ PLANNED structure only, not live

00 / reference

The system contract#

The site compresses a large grid of messy rental prices into decisions while keeping the evidence visible.

for renters

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.

for hosts

Read the market without guessing.

See current price bands, timing patterns, reputation cohorts, and where longer-trip discounts create unintended bargains.

decision-contract.txt
raw quote grid
  → normalize the same trip dimensions
  → compare like with like
  → expose the strongest signal
  → link back to the bookable listing

Rule: 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
The number shown is the trip total before taxes, not an advertised “from” rate. Incomplete observations are not published. Checkout-only protection, tax, and optional charges must be confirmed before booking.

daily_price

data
live prices (◉)
window
the selected car + pickup + trip length
how
quoted trip total ÷ number of rental days
Daily price is a comparison unit, not a separately bookable price. Every duration is quoted independently because host discounts make the curve uneven.

+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
A weekly or long-trip discount can overshoot. This flag shows the exact longer option instead of assuming every added day costs more.
quote.math
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 dates

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.

fair-value.model
expected_daily_price = f(
  comparable vehicle + reputation + market + trip timing
)

value_gap = 1 - actual_daily_price / expected_daily_price

fair_value

data
live prices (◉)
window
refreshed with genuine market observations
how
compares a quote with current, like-for-like vehicle and trip observations
“22% under fair” means the quote is 22% below the site’s expectation for its observed characteristics. Fair prices stay hidden unless independent validation and support checks pass. This is not an appraisal or a checkout guarantee.

Steal

data
live prices (◉)
window
latest validated comparison and quote set
how
requires a material saving plus sufficient validation and comparable listings
The label is intentionally selective. If the evidence is weak, the badge is not shown.

Best_value

data
live prices (◉)
window
validated comparison + active search result set
how
lowest observed price relative to its fair-price reference first
This sort is shown only when validation passes. Otherwise the interface discloses and uses lowest observed price per day. It remains a price signal, not an overall quality score.

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.

rental-value.basket
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 100

Rental_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
Tesla listings use same-model peers. Luxury uses same-make peers and labels that comparison as coarse. The target listing is excluded from its own peer reference, and one listing gets one vote.

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)
This prevents one unusually cheap week from manufacturing a durable pick.

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
An exact repush preserves compatible score evidence. A curation-only update may recompute ranks against the same source observation but does not advance the streak. Missing source evidence or an invalid, future, or group-stale observation makes the ranking unavailable. A score can be visible before it earns the badge.

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.

distance.contract
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 travel

Today: 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.

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.

freshness.state
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
A temporarily retained quote is labeled “last-seen price” on cards. Host Desk and fresh-only action signals exclude those rows. Always confirm final price and availability.

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
A newer page update is not automatically a newer market observation. The status text reflects the price observation, not merely a software update.

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
If evidence is missing or incomplete, the panel says unavailable instead of presenting a partial surface as current.

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.

signalsourcecalculationuse it for
lowest observed supported medians / heatmap◉ LIVElisting-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/#3finding supported inexpensive pickup windows without pretending close estimates have a proven order
lead-time curve◉ LIVEselected-duration listing medians by days until pickupreading today’s supported price surface as “pickup in X days,” not as evidence that a car was booked X days ahead
duration curve◉ LIVEcurrent listing-equal median $/day for each exact trip lengthseeing 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◉ LIVEthe typical listing’s median $/day within the current observationcomparing observable vehicle segments without letting listings with more pickup dates vote more often
pickup weekday◉ LIVEraw, unadjusted listing-equal weekday cohortsdescribing the current mix; weekday, lead time, vehicle mix, and trip dates remain confounded, so this is not a “best weekday” recommendation
reputation / All-Star◉ LIVEselected-duration listing-equal cohorts; the All-Star badge share among supported listings is gated separately from the All-Star versus non-All-Star price comparisondescribing observed listing reputation; “0 completed trips on this listing” is not a zero-star rating
current listings and price spread◉ LIVEdistinct fresh listings plus selected-duration p10, median, and p90 across listing-level valuesreading observed listing breadth and the middle 80% of prices—not demand, bookings, or occupancy
price drivers / model accuracy◉ LIVEcontrolled 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 errorseparating correlated traits; these remain associations, and the Luxury diagnostic stays unavailable until its own valid display evidence exists
marginal day / free day◉ LIVEfresh same-listing and same-pickup pairs, with distinct-listing support and listing-equal summaries; a longer total must be strictly lower, with equal totals separatespotting observed discount cliffs rather than assuming the next day has one standard cost
captured host discounts◉ LIVEwhen supported, take each listing’s median discount across fresh quotes with a captured before-discount total, then Type-7 p25/p50/p75 across listingsdescribing 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⟲ HISTORYdaily listing-equal p10, p50, and p90 for the exact selected durationtracking the middle 80% of observed listing prices after 14 complete analytics-v2 market-local days
fresh listings seen⟲ HISTORYdistinct fresh listings in each complete market-local dayseeing how many listings the collection observed, never inferring demand, bookings, or occupancy
cross-market price gap◉ LIVEsame Tesla model or same Luxury make, with ORD and LAX independently passing support; each median keeps its own intervalcomparing supported observed prices across markets—not “arbitrage,” and not a ratio with a fabricated confidence interval
repricing activity: do prices drop as pickup nears?⟲ HISTORYsum 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 lookbackmeasuring observed repricing breadth; the current squared-log-ratio aggregate cannot support a valid “typical move magnitude”
same-listing market index⟲ HISTORYcompare 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 equallytracking 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⟲ HISTORYone listing event groups all quote-window falls of at least 5%; timestamps say when the change was detectedfinding 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
The endpoint omits the complete internal Stats object and exposes only the evidence needed for reproducible panel checks. Omitted fields keep Tesla, ORD, and three-day defaults; a supplied invalid group, market, or unsupported duration is HTTP 400 and is never silently normalized.

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.

host.support
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 peers

competitive_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
Supported rows expose p25, median, p75, percentile, and below/in/above-band context. Thin rows show only observed min, median, and max; they never enter the supported-only headline. The target listing is excluded from its own peers, and no different model is substituted.

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
This is exact observed arithmetic, not a demand, occupancy, profit, revenue, or recommended-price model.

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
Rating and trips belong to the listing. All-Star is a host-wide badge observed on the listing and may repeat across a host’s cars. Descriptive bins remain visible when age support fails. The market aggregate describes rating/trip bands and badge shares; it is not a Carconomics endorsement.

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
The form saves which future updates or tools a visitor would use. Nothing is sent or activated today. It verifies no email address, name, identity, ownership, host status, or listing control; stores no name, billing data, score, badge state, or review text; creates no account or public profile; and cannot affect Rental Value, Top Pick eligibility, badge status, or organic order. Contact delivery stays off until a verification path exists.

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.

energy-v1.formula
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 gasoline

official_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
EPA candidate MPG remains paired with its required gasoline grade. Mixed powertrains or missing efficiency are unavailable. If multiple official trims remain plausible, the complete low/high cost interval is retained instead of choosing a convenient trim.

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
Residential electricity is only a replaceable home-charging benchmark. The site does not invent public-fast-charging prices, and future or stale source periods cannot clear the current gate.

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
A supported comparison requires 30 listings per powertrain, 95% fresh quote cells, 90% vehicle classification, and 90% cost-input coverage. The standard view uses stored listing-level trip medians. Custom miles/electricity rescale bounded paired listing inputs and recompute the medians; without valid pairs, the custom result stays collecting rather than adding component medians.

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
This is separate from the Luxury fleet comparison. A missing, stale, mixed, or market-mismatched input stays collecting; no model-name efficiency or partial estimate is substituted. Residential electricity is validated independently; stale or missing gasoline cannot block this BEV-only calculation.

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
The comparison remains Luxury-only. The Tesla calculator never blends Tesla rental prices with a different group’s gasoline cars.

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
Daily stored cohort medians cannot recreate an exact listing-equal week, so the public relationship panel remains collecting and publishes no correlation or coefficient today. Any eventual result is an association, never proof that fuel prices caused rental prices.

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.

  • 01
    Not availability demand. A listing disappearing can mean many things. It is not called a booking without direct evidence.
  • 02
    Not a causal experiment. Controlled price effects reduce obvious mix differences but do not prove causation.
  • 03
    Not 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.
  • 04
    Not a prediction by default. A current lead-time curve compares different future trips today. Only repeated same-trip history measures repricing.
  • 05
    Not 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.

current priceslatest verified

A failed update never replaces the last valid price surface.

detected price decreases48 hours

Listing-level events stay actionable and then expire.

price index / repricing inputs180 days

Raw lead-bucket history stays bounded; supported public panels apply stricter evidence windows.

daily stats / market index400 days

Only completed, qualified periods enter public time comparisons.

Energy evidence400-day floor

Derived daily cohorts and official inputs stay finite; the source table may retain its boundary calendar month.

Host tools interest180 inactive days

Private current preferences become purge-eligible on a later form submission or removal; no event history accumulates.

data-window.contract
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 inactivity

13 / 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.

vehicle-coverage.contract
group_filter = Tesla models | Luxury makes
comparison   = within the selected group only
uncertainty  = disclose or omit; never imply precision

If 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.