Stretch is a tolerance band
Every size a shopper picks carries an error margin they never see. If their true size falls anywhere inside that margin, the garment fits well enough to keep. Stretch widens the margin. A knit with real elastane content absorbs half a size of misjudgment without complaint. A rigid fabric narrows the margin to almost nothing, so the same misjudgment that a knit forgives becomes a return in a woven.
This is why two SKUs with identical size charts can bracket at wildly different rates. The chart describes the intended dimensions. The fabric decides how punishing a deviation is. Bracketing analysis that ignores fabric composition is trying to explain the variance with half the variables missing. The fabric is not a footnote to the fit story. For rigid garments it is the fit story.
Where rigid fabrics bracket hardest
The pattern repeats across catalogs. Non-stretch denim brackets harder than stretch denim from the same brand. Suiting and structured blazers bracket harder than soft knits. Occasion wear, which combines rigid fabrics with high-stakes fit, brackets hardest of all. The shopper is not being irrational. When the fabric offers no forgiveness, ordering two sizes is the rational strategy, and no amount of warning copy fully changes the math.
The cross-category view is what convinces skeptics. Take the same customers and compare their bracket rates in stretch categories versus rigid categories. The gap is consistent and large. That gap is the fabric effect, isolated from customer behavior, because the customers are the same. Once you have seen it in your own data, you stop treating all bracketing as a customer problem and start treating part of it as a product physics problem.
Using fabric data in SKU scoring
The practical move is to add fabric attributes to the SKU-level bracketing model: stretch percentage, weave type, garment structure. Then score each SKU against its fabric-expected bracket rate, not against the catalog average. A rigid denim SKU bracketing at twice the catalog average might be perfectly normal for its fabric group. A stretch jersey SKU bracketing at the same rate is a screaming anomaly.
This reframing changes what gets flagged. Instead of a list of high-bracket SKUs dominated by rigid fabrics, you get a list of SKUs that bracket more than their fabric predicts. Those are the real outliers, and they are the ones where fit content, size chart accuracy, or product-page fixes will actually move the number. The rigid-fabric SKUs that bracket at expected rates do not need fixing. They need honest product pages that calibrate expectations, which is a different job.
Product-page fixes for rigid fabrics
For rigid fabrics the page should say the quiet part out loud. Call out the lack of stretch explicitly, in words shoppers understand: no stretch, runs true to size, size up if between sizes. Garment measurements matter more here than anywhere else because there is no forgiveness to hide behind. Fit notes by body type help: this cut runs narrow through the hip, the waist has no give.
The honest page does not eliminate bracketing in rigid fabrics. Nothing does, because the physics are real. What it does is convert some multi-size orders into single-size orders placed with better information, and it converts some returns into kept sales because the shopper picked correctly the first time. Measure the page fix against the fabric-expected rate, not against zero. Progress in rigid categories looks like a narrowing gap, not an eliminated one.
What to measure
Start with bracket rate by fabric group, computed the same way for every group so the comparison is clean. Then track the gap between each SKU and its fabric-expected rate over time. Product-page fixes should narrow the gap for the SKUs you touched while the untouched control SKUs stay flat. If the whole fabric group moves together, something seasonal is happening and the page fix deserves less credit than it wants.
One caution. Fabric data lives in product information systems that are often messy: missing stretch percentages, inconsistent weave labels, composition fields that nobody maintains. The analysis is only as good as the attributes. Clean the fabric data for your top-bracketing categories first, prove the pattern there, and let the results fund the wider cleanup.