GMV explained simply

Train for your next tech interview
1,500+ real interview questions across engineering, product, design, and data — with worked solutions.
Join the waitlist

What GMV actually measures

Gross Merchandise Value is the total dollar value of goods or services that flow through a marketplace in a defined window, before the platform takes its cut and before refunds. If a customer buys a $250 jacket on a marketplace that charges sellers a 12% commission, the platform recognizes $250 of GMV and roughly $30 of net revenue. The headline number that shows up in every Amazon, DoorDash, and Etsy earnings call is GMV, not revenue — because GMV is the size of the economy the platform is hosting.

The metric was born in early e-commerce reporting and became the lingua franca of every two-sided marketplace from Airbnb to Uber to Upwork. When a CFO says "GMV grew 38% year over year", they are telling investors how much commerce the platform facilitated, not how much money the company kept — the single most common analytics mistake in marketplace interviews and board decks.

GMV is denominated in customer-facing currency — what the buyer paid, not what the seller received. It typically includes shipping when the platform collects it, excludes platform-paid promotions, and is computed on the placement or fulfillment event depending on the company. There is no GAAP definition, which is why two marketplaces with identical economics can publish different GMV depending on how generous their accounting team is feeling.

GMV vs revenue — the load-bearing distinction

The fastest way to fail a marketplace PM screen is to confuse GMV with revenue. A platform processing $1B of GMV at a 5% take rate books $50M of revenue, and the gap between those numbers is the entire reason marketplace investors developed a vocabulary around take rate, contribution margin, and unit economics.

For a direct-to-consumer brand like Allbirds, GMV and revenue are the same number — the company owns the goods. For a pure marketplace like Etsy or Airbnb, the gap is enormous because the platform never owns inventory. Hybrid players like Amazon report both: 1P (first-party retail, full sale flows to revenue) and 3P (third-party marketplace, only the take rate is booked).

Business model GMV Revenue recognized Take rate
Pure marketplace (Etsy, Upwork) Total order value Commission only 6-20%
Ride-hailing (Uber, Lyft) Gross bookings Service fee + tolls 25-30%
Food delivery (DoorDash) Order total + fees Commission + delivery margin 12-15% of order
1P e-commerce (Amazon Retail) = revenue Full sale price 100% (owns inventory)
Travel OTA (Booking, Expedia) Stay value Commission, sometimes net 10-25%

Load-bearing trick: if someone hands you a "revenue" number for a marketplace, ask whether it is take-rate revenue or gross bookings. Half the time the deck author has used the wrong one and the entire downstream model is off by 10x.

Computing GMV in SQL

The baseline GMV query is one of the simplest pieces of SQL you will write in a marketplace analyst role. The hard part is not the syntax — it is deciding which orders count, which statuses to filter, and how to treat refunds and cancellations.

SELECT
    DATE_TRUNC('month', placed_at)::DATE AS month,
    SUM(order_total) AS gmv
FROM orders
WHERE status IN ('paid', 'shipped', 'delivered')
GROUP BY 1
ORDER BY 1;

Notice the status filter. Carts that never converted, abandoned checkouts, and cancelled-before-payment orders should not appear in GMV. This is also the most common source of GMV disputes between finance and product — finance wants paid orders, product wants placed orders, and the two diverge by 3-8% in any reasonably healthy marketplace.

For a more honest number, separate gross GMV from net GMV by stripping out refunds and chargebacks. Investors hate when companies bury the refund tax inside an aggregate, and savvy analysts always show both:

SELECT
    DATE_TRUNC('month', placed_at)::DATE AS month,
    SUM(order_total) AS gmv_gross,
    SUM(CASE WHEN status = 'refunded' THEN order_total ELSE 0 END) AS refunded,
    SUM(CASE WHEN status NOT IN ('refunded', 'chargeback')
             THEN order_total ELSE 0 END) AS gmv_net
FROM orders
GROUP BY 1
ORDER BY 1;

In Snowflake or BigQuery, you can use SUM(...) FILTER (WHERE ...) for the same effect, which scans cleaner. In MySQL pre-8.0, you fall back to CASE. A net GMV that drops below 92% of gross GMV is a returns-rate red flag worth investigating before publishing the dashboard.

Decomposing GMV for diagnosis

A flat GMV number tells you the wind speed but not the direction. The minute GMV moves up or down by more than your weekly noise band, leadership will ask why, and your answer needs to be a decomposition, not a shrug. The classic identity is:

GMV = active buyers × orders per buyer × average order value

If GMV drops 12% week over week, decompose into those three terms and you will almost always find that exactly one moved. Buyers down 15%? Acquisition or retention issue. Frequency down 10%? Engagement or seasonality. AOV down 8%? Mix shift toward cheaper categories, or a promo cannibalizing premium SKUs. Each diagnosis routes to a different team — confusing them costs weeks.

The other useful decomposition is by slice: category, geography, acquisition channel, new vs returning buyer, device. A 10% GMV decline that is actually a 40% decline in electronics offset by 8% growth everywhere else needs a category-team intervention, not a platform-wide alarm. Slicing also exposes Simpson's reversals — overall GMV up while every segment is flat, because mix shifted toward higher-AOV segments.

Train for your next tech interview
1,500+ real interview questions across engineering, product, design, and data — with worked solutions.
Join the waitlist

GMV across industries

Marketplaces report GMV; SaaS does not. The metric is meaningful only when the platform is the conduit for transactions it does not own. Stripe, Block, and Adyen report Total Payments Volume. Uber and Lyft publish Gross Bookings. Airbnb uses Gross Booking Value. Etsy and eBay just say GMV. All variations on the same idea: total economic activity touching the platform.

For SaaS companies like Snowflake, Databricks, or Linear, the analog is ARR, because there are no third-party goods being transacted. If you are interviewing for a marketplace role at a company that also runs a SaaS arm, ask which P&L the team owns before you start name-dropping metrics.

Take rate and what it signals

Take rate is GMV's quieter cousin and arguably the more diagnostic metric. It is the percentage of GMV that the platform keeps as revenue, and it tells you how much the platform can extract before sellers or drivers revolt.

Take rate = Revenue ÷ GMV × 100%

Public marketplaces sit in well-known bands. Etsy runs ~21% including ads and payments. eBay is ~13%. Uber Mobility ~28% of gross bookings. DoorDash ~13%. Airbnb ~14%. Amazon 3P ~15% before FBA. These numbers reflect platform bargaining power, supplier alternatives, and the value of platform-paid logistics.

Marketplace Take rate What it includes
Etsy ~21% Seller fees, ads, payments
eBay ~13% Final value fee + ads
Uber Mobility ~28% Service fee + booking fee
DoorDash ~13% Commission on order subtotal
Airbnb ~14% Host + guest service fee
Amazon 3P ~15% Referral fee, before FBA

Gotcha: rising GMV with falling take rate is rarely good news. It usually means the platform is buying growth by cutting fees, subsidizing logistics, or running discounts. Sustainable marketplace growth holds take rate flat or expands it slightly while GMV climbs.

The inverse — take rate up, GMV flat — is worse, because squeezed sellers will defect to competitors or direct channels. Healthy marketplaces grow GMV faster than take rate and reinvest surplus margin into acquisition.

Common pitfalls

The first trap is counting unpaid or cancelled orders in GMV. A surprising number of dashboards aggregate every row in the orders table without filtering on status, which inflates GMV by 5-15% depending on the cancellation rate. The fix is to standardize on a single canonical status filter — usually IN ('paid','shipped','delivered','refunded') — and centralize that filter in a dbt model so every downstream chart agrees. Refunds stay in gross GMV because the customer did transact; they only get stripped for net GMV.

The second trap is mixing 1P and 3P GMV without flagging it. At Amazon, a Kindle sale is 1P (Amazon owns the device, full sale flows to revenue) while a marketplace seller's headphones are 3P (Amazon books only the referral fee). Bundling them gives a GMV number that overstates true marketplace activity. Always carry a business_model column on the orders table and segment your reporting accordingly, because investors and operators want to see them separately.

The third trap is currency conversion at point-in-time for multi-region marketplaces. If you convert today's GBP orders at today's FX and yesterday's GBP orders at yesterday's FX, GMV trend lines wobble for reasons unrelated to the business. The fix is to publish GMV in local currency for operational dashboards and use a fixed monthly FX rate (typically the first-of-month spot) for global rollups. Finance teams will have an opinion on which rate to use — adopt theirs and document it.

The fourth trap is double-counting refunds. Some systems write a negative-amount row when an order is refunded, and others flip the status of the original row to refunded. If you aggregate both, you subtract the refund twice and undercount GMV. Inspect your orders schema before you trust the number, and add a qa_check that the sum of statuses equals the sum of distinct orders.

The fifth trap is treating GMV as a quality metric. GMV is a scale metric. A platform can pump GMV by running aggressive promotions that destroy seller margin, by pushing low-margin commodity categories that don't pay for the warehouse, or by counting B2B-disguised transactions that distort consumer signal. Pair GMV with contribution margin per order, take rate, and refund rate before you call a quarter a win.

If you want to drill marketplace SQL patterns like GMV decomposition, take-rate diagnostics, and refund-tax queries every day, naildd is launching with 500+ problems built around exactly this kind of interview question.

FAQ

Is GMV the same as gross sales?

In practice yes, but the language depends on the audience. Public marketplace companies prefer GMV because it signals "platform scale" rather than "store revenue", and analysts on the buy side use it as a proxy for the size of the network effect. Retailers and DTC brands tend to say gross sales or net sales because they own the inventory. When you hear "gross sales" at a marketplace, ask whether it includes shipping, fees, and refunds — those treatments differ across companies.

Should refunds be included in GMV?

Always show both gross and net. Gross GMV includes the original transaction value, ignoring later refunds, and is useful for measuring demand and acquisition. Net GMV strips refunds and chargebacks and is useful for measuring honest economic flow and forecasting revenue. Public companies typically report gross GMV in the headline and disclose net GMV or refund rate in the supplemental tables — savvy analysts read both before forming an opinion.

How does currency affect GMV reporting?

For a single-currency marketplace, currency is invisible. For a global platform like Uber, Airbnb, or Etsy, it dominates the conversation. Most companies report GMV in USD at the average exchange rate of the period, then disclose a "constant currency" version that holds FX flat to isolate underlying growth. If you see GMV up 10% reported but flat constant-currency, the platform is not actually growing — it just got lucky with FX.

How often should GMV be published internally?

Externally it shows up quarterly in earnings releases. Internally, marketplace operations teams watch daily GMV against forecast, segmented by category and region. Weekly is the cadence at which leadership typically reviews trend, monthly is the cadence at which finance reconciles to revenue, and quarterly is when the board sees the headline. Daily dashboards exist mostly so on-call analysts can catch anomalies — a 20% one-day drop is almost always a pipeline issue, not a real demand collapse.

Why do marketplaces sometimes hide GMV?

When growth slows, GMV becomes inconvenient. A handful of public marketplaces have quietly stopped reporting GMV after IPO once the growth narrative shifted from "scale at all costs" to "profitable unit economics", and now lead with adjusted EBITDA or contribution margin instead. This is a useful signal in itself — when management changes which top-line metric they emphasize, ask what the old metric is doing.

What is a healthy GMV growth rate?

For a pre-IPO consumer marketplace, investors expect 40-80% year-over-year GMV growth in the rapid-expansion phase. Post-IPO marketplaces in mature categories grow GMV at 10-25% YoY while expanding take rate or contribution margin. Anything below 10% with flat take rate is a maturing platform that needs to find a new vector — adjacent categories, new geographies, or a B2B layer. Anything above 100% sustained typically requires either a venture subsidy or an unlock event like a regulatory change.