← Research

// article

Reading Diamond Prices

The best-cut diamonds are the cheapest, and other lies the data tells

December 16, 2025 Article
Hexbin density of log price against log carat for all 53,940 diamonds, colored by how many stones fall in each cell, with the fitted power-law line overlaid; density is brightest in the 0.3 to 1.5 carat range and the relationship reads as log price = 1.68 times log carat + 8.45

A diamond’s price is almost entirely its weight. Bin all 54,000 stones by log carat and log price and the cloud collapses onto a single straight line: one variable, log-transformed, pins down 93% of the price. Everything else in this post is a footnote to that line.

Pull up the diamonds and group by cut. Ideal stones, the top grade, have a median price of $1,810. Fair stones, the bottom of the barrel, sit at $3,282. So the worst-cut diamonds cost almost twice what the best-cut ones do. That cannot be right, and it is not, but the number is real and it is the most useful wrong answer in the whole dataset.

The data is the ggplot2 diamonds set, 53,940 stones, loaded through the catalog (source: ggplot2 diamonds, via seaborn-data). Ten columns: carat, cut, color, clarity, the price in dollars, and the physical x/y/z dimensions. It is a listing snapshot, roughly 2017-era, and the prices are nominal, with no inflation adjustment and no transaction confirmation. Treat the dollar figures as relative, not as what you would pay today.

Price is lopsided; carat is lumpy

Start with the two distributions, because they set up everything else. Price runs from $326 to $18,823 with a mean of $3,933 and a median of $2,401. When the mean sits 64% above the median, you are looking at a long right tail, and the skew confirms it at 1.62. Take logs and it nearly vanishes: skew of log price is 0.115, basically symmetric. That is the first hint that the rest of this should happen in log space.

Carat is the stranger picture. Plot it in 0.01-carat bins and it is not a smooth slope, it is a comb. There are spikes at the round numbers, 1.0 and 1.5 and 2.0, with dead zones just below them. About 7.2% of the stones (3,902 of them) land exactly on a half-carat mark: 0.5, 1.0, 1.5, and so on. That is not how a physical quantity distributes itself.

The 1-carat line is the clearest tell. There are 1,558 stones at exactly 1.00 carat. In the nine hundredth-bins just below it, from 0.90 to 0.99, the average bin holds 304 stones. So the 1.00 bin is 5.1 times denser than its neighbors. And the bin right under the line, 0.99 carats, is nearly empty at 23 stones. Twenty-three.

Two panels: left, a histogram of diamond price with the mean line marked 64% above the median, showing a long right tail; right, a histogram of carat in 0.01-carat bins where the half-carat marks are highlighted, spiking sharply at 1.00 carat while the 0.99 bin is nearly empty

Nobody cuts to 0.99 on purpose. A 1-carat stone clears a psychological price wall that a 0.99 does not, so cutters leave a sliver of rough on rather than drop under the line, and the ones that come out at 0.99 get nudged in the records. The spike is not a property of carbon. It is a property of people, fossilized in the carat column.

Price per carat is not a price per carat

The phrase “price per carat” implies a constant, a unit rate. It is not one. Divide price by carat, bin by size, and the median rate climbs the whole way up. A 0.2 to 0.4 carat stone runs about $2,241 per carat. By 1.0 to 1.2 carats it is $4,951. By 2 to 3 carats it is $7,177, which is 3.2 times the rate of the small stones.

Lollipop chart of median price per carat across carat ranges, climbing steadily from about $2,241 per carat for the smallest stones to $7,177 per carat in the 2 to 3 carat band

So a 2-carat diamond is not twice the price of a 1-carat. It is more, because each carat is also worth more. Picture the rough as a quarry: the big clean blocks are far rarer than the gravel, and rarity compounds. The one place the curve bends back down is the 3.0+ bin ($4,304/ct), and I would treat that as thin tail noise. Those are the few dozen monsters where color and clarity vary wildly, not a real reversal.

Back to the cut paradox

Now the opening number makes sense. Ideal diamonds are cheaper because they are smaller. Median carat by cut: Ideal 0.54, Premium 0.86, Fair a full 1.00. Buyers who want a flawless cut tend to buy a smaller stone and spend their budget on the cut; buyers chasing size let the cut grade slide. The cut column and the carat column are tangled, and carat wins the price fight every time. Cut never lowered the price. It was standing in for size, and size did the work.

Before and after bar charts of median price by cut. Before: raw medians, where Fair cuts top the chart and Ideal sits lowest. After: within the 0.9 to 1.1 carat band, the order flips and Ideal leads Fair by $1,490

Hold size still and the illusion flips. Inside the 0.9 to 1.1 carat band, where every stone is about the same weight, Ideal cuts median $5,220 and Fair cuts median $3,730. Same size, better cut, $1,490 more. Cut does what you would expect once you stop letting carat impersonate it. When a raw average disagrees with the controlled one, trust the control.

The line that explains 93% of it

Throw the categories out and fit the one relationship that matters: log price against log carat, straight OLS. The slope is 1.68 and the R-squared is 0.933. One variable, log-transformed, accounts for 93% of the variance in log price across 54,000 stones. Color, clarity, cut, the three dimensions, everything else is fighting over the last 7%.

Scatter of price against carat on log-log axes for a 6,000-stone sample, with the fitted power-law line of slope 1.68 and R-squared 0.933 glowing through the points

A slope of 1.68 is the rising-rate story in one number. If price scaled linearly with weight the slope would be 1.0. At 1.68, doubling the carat multiplies price by about 3.2, which is that same 3.2 the binned per-carat curve showed. Two methods landing on the same number is what makes me trust it.

What stays with me is the 0.99-carat hole. Most of this dataset behaves like physics: rarity, weight, a clean power law. But that gap just under 1 carat is pure human flinching at a round number, and it is sitting right there in a column that is supposed to measure a rock. The diamonds remember what the buyers were afraid of.