← Market map (road) · shopper page
bike-discount:b432cee670c84dbb9711f8f80846135f · source URL · confidence 1
Can win a band.
| retailer label | alpha | comparable cm | match | mapping | in stock | variant price | evidence |
|---|---|---|---|---|---|---|---|
| M | M | 55–57 cm | equivalent | curated manufacturer mapping — Giant Defy, medium confidence | yes | listing price | Giant Defy M = 55–57 cm — manufacturer-conventional-size-equivalence, confidence medium, reviewed 2026-09-04. https://www.giant-bicycles.com/us/technology/detail/57 |
| ML | M/L | 57–59 cm | equivalent | curated manufacturer mapping — Giant Defy, medium confidence | yes | listing price | Giant Defy M/L = 57–59 cm — manufacturer-conventional-size-equivalence, confidence medium, reviewed 2026-09-04. https://www.giant-bicycles.com/us/technology/detail/57 |
| L | L | 58–60 cm | equivalent | curated manufacturer mapping — Giant Defy, medium confidence | yes | listing price | Giant Defy L = 58–60 cm — manufacturer-conventional-size-equivalence, confidence medium, reviewed 2026-09-04. https://www.giant-bicycles.com/us/technology/detail/57 |
| mapping | curated manufacturer mapping |
|---|---|
| scope | Giant Defy |
| sizes | M = 55–57 cm · M/L = 57–59 cm · L = 58–60 cm |
| confidence | MEDIUM |
| evidence type | manufacturer-conventional-size-equivalence |
| evidence | Giant's own Compact Road Design page publishes a table headed 'COMPACT ROAD SIZING' whose first column is 'CONVENTIONAL FRAME SIZING (CM)', mapped against 'RIDER HEIGHT', 'COMPACT ROAD FRAME SIZE' and 'SEATTUBE / TOPTUBE LENGTH (CM)': 49-51 / XS / 42-52; 51-54 / S / 44-53.5; 55-57 / M / 50-55.5; 57-59 / M-L / 53.5-57; 58-60 / L / 55.5-58.5; 61-63 / XL / 58.5-61. This is the manufacturer answering exactly the question we ask, and its own seat-tube column (L = 55.5 cm) shows why the seat tube must not be used for it. |
| source | https://www.giant-bicycles.com/us/technology/detail/57 https://www.giant-bicycles.com/au/technology/detail/57 https://www.giant-bicycles.com/gb/technology/detail/57 https://www.giant-bicycles.com/gb/tcr-advanced-2 https://www.giant-bicycles.com/gb/propel-advanced-2 https://www.giant-bicycles.com/gb/defy-advanced-2 https://www.giant-bicycles.com/gb/contend-ar-2 |
| reviewed | 2026-09-04 |
| notes | Scoped to the four families whose current height ladder was individually checked. It must not be extended to Liv: Liv's letters sit a full size lower (Langma L = 170-184 cm rider against Giant L = 183-193 cm), which is recorded as a refusal. RESIDUAL UNCERTAINTY, and the reason confidence is medium: Giant's conventional column runs 1-2.5 cm above where the letter-sized brands in this dataset sit (Scott's own dual labels put its L at 56 cm and KTM's at 57, where Giant calls its L a conventional 58-60). That is not necessarily a contradiction — Giant covers 157-199 cm in six sizes where Scott uses seven, so its letters are spaced wider and each sits higher, and Canyon says in as many words that a medium at one brand can be a small or a large at another. But an attempt to check Giant's column against a numerically-sized brand's own rider heights failed: Cube, Cannondale, Cervelo, BMC and Orbea all publish sizing through interactive calculators rather than a fetchable table, so no independent anchor was obtained. The practical exposure is about one size at the top of the range, and the published range absorbs it: if the truth were nearer 57-59 than 58-60, a 58 cm shopper still sees an L correctly, a 60 cm shopper sees one marginally, and a 57 cm shopper misses one rather than being shown the wrong bike. The dataset contains no Giant listing sized in centimetres, so there is also no retailer statement to corroborate or contradict this. |
A shopper asking for: 54 → nothing compatible · 56 → M in stock · 58 → ML/L in stock · 60 → L in stock
Only listing of this configuration — nothing to merge.
| field | source | evidence |
|---|---|---|
| brand | retailer:bike-discount / parse | Giant |
| model | retailer:bike-discount / derived | Giant Defy Advanced-Di2 Tempest Purple (TW) |
| category | retailer:bike-discount / derived | retailer taxonomy |
| frameMaterial | retailer:bike-discount / parse | Carbon |
| frameTier | retailer:bike-discount / dictionary | Advanced |
| groupsetFamily | retailer:bike-discount / dictionary | Shimano Ultegra Di2 ST-R8170, 2x12-speed || Shimano Ultegra Di2 RD-R8150 12-speed || Shimano Ultegra Di2 FD-R8150, 12-speed |
| electronicShifting | retailer:bike-discount / derived | Di2 |
| speeds | retailer:bike-discount / parse | 2 × 12 |
| brakes | retailer:bike-discount / parse | BR-R8170 |
| suspension | retailer:bike-discount / derived | no suspension fork and no rear shock on a drop-bar listing |
| fork | retailer:bike-discount / dictionary | Giant Advanced SL full carbon fork |
| dropperPost | retailer:bike-discount / derived | seatpost row "Giant Contact SL D-Fuse Carbon" names no dropper, in a 28-field spec table |
| beltDrive | retailer:bike-discount / parse | KMC |
| wheelSize | retailer:bike-discount / parse | 28 |
| wheelMaterial | retailer:bike-discount / dictionary | Giant SLR 2 |
| wheelTier | retailer:bike-discount / dictionary | Giant SLR 2 |
| powerMeter | retailer:bike-discount / derived | absent from a 28-field spec table |
| availability | retailer:bike-discount / derived | 3/3 sizes in stock |
info ai-normalization-failed — AI normalization errored: credit_balance_exhausted: 429 You have no credits remaining. Add credits to continue using the API at https://platform.openai.com/settings/organization/billing/.{
"frameScore": 26,
"drivetrainScore": 33,
"wheelScore": 13,
"extrasScore": 4,
"suspensionScore": 0,
"weightAdjustment": 0,
"equipmentValue": 76,
"notes": [
"Frame grade \"standard\" (the maker's base carbon): scored as plain carbon.",
"Shimano Ultegra Di2 = 33.",
"Wheels \"entry-carbon\" = 13.",
"Brakes \"hydraulic-disc\" +3.",
"Tubeless-ready +1.",
"Weight not published: no weight adjustment either way."
],
"marketPrice": 4133,
"valueScore": 0.961,
"savingsVsMarket": -166
}
Not used: deterministic parsing resolved every field it needed.
{
"id": "bike-discount:b432cee670c84dbb9711f8f80846135f",
"retailer": "bike-discount",
"retailerProductId": "b432cee670c84dbb9711f8f80846135f",
"productUrl": "https://www.bike-discount.de/en/giant-defy-advanced-di2-tempest-purple-tw",
"brand": "Giant",
"model": "Defy Advanced-Di2 Tempest Purple (TW)",
"modelYear": null,
"category": "road",
"categoryBasis": "route",
"sourceCategory": "road",
"price": 4299,
"originalPrice": null,
"currency": "EUR",
"discountPercent": null,
"frameMaterial": "carbon",
"frameModel": "Advanced Carbon Frame, 12x142 mm Max. Tyre Clearance: 40mm",
"frameTier": "standard",
"groupsetBrand": "Shimano",
"groupsetFamily": "Ultegra Di2",
"groupsetGeneration": null,
"electronicShifting": true,
"speeds": 12,
"mixedGroupset": false,
"groupsetComponents": {
"shifters": "Ultegra Di2",
"rearDerailleur": "Ultegra Di2",
"frontDerailleur": "Ultegra Di2",
"crank": "Ultegra",
"cassette": "Ultegra"
},
"groupsetTierSpread": 0,
"crank": "Shimano ULTEGRA FC-R8100, 50/34T",
"cassette": "Shimano Ultegra 50-34t",
"brakes": "hydraulic-disc",
"brakePistons": null,
"brakeTier": "unknown",
"suspension": "none",
"fork": {
"make": null,
"line": null,
"tier": "rigid",
"travelMm": 0
},
"rearShock": null,
"dropperPost": false,
"beltDrive": false,
"hubDynamo": null,
"rack": null,
"mudguards": null,
"chaincase": null,
"kickstand": null,
"lighting": null,
"wheelSize": "28",
"wheelset": "Giant SLR 2 40 Carbon, Tubeless Ready | GIANT SLR 2 Disc",
"wheelMaterial": "carbon",
"wheelTier": "entry-carbon",
"tyres": "Giant Gavia Fondo 0 700x32C, puncture protection",
"weightKg": null,
"ebike": null,
"powerMeter": false,
"powerMeterKind": null,
"availableSizes": [
{
"rawSize": "M",
"size": "M",
"sizeCm": null,
"inStock": true,
"stockCount": 3,
"price": null
},
{
"rawSize": "ML",
"size": "M/L",
"sizeCm": null,
"inStock": true,
"stockCount": 3,
"price": null
},
{
"rawSize": "L",
"size": "L",
"sizeCm": null,
"inStock": true,
"stockCount": 3,
"price": null
}
],
"seller": null,
"availability": "in-stock",
"gtins": [],
"imageUrl": "https://www.bike-discount.de/media/a0/ff/c2/1790585993/10310391_jpg-444b_75j.jpg?ts=1790585993",
"rawTitle": "Giant Defy Advanced-Di2 Tempest Purple (TW)",
"fetchedAt": "2026-11-01T01:31:15.875Z",
"normalizationConfidence": 1,
"warnings": [
{
"code": "ai-normalization-failed",
"message": "AI normalization errored: credit_balance_exhausted: 429 You have no credits remaining. Add credits to continue using the API at https://platform.openai.com/settings/organization/billing/.",
"severity": "info"
}
]
}
{
"Frame": "Advanced Carbon Frame, 12x142 mm Max. Tyre Clearance: 40mm",
"Frame material": "Carbon",
"Wheel size": "28\"",
"Speeds": "2 × 12",
"Colour": "Tempest Purple",
"Fork": "Giant Advanced SL full carbon fork",
"Brakes": "Shimano Ultegra BR-R8170",
"Brake discs": "160mm / 160mm",
"Brake levers": "Shimano Ultegra Di2 ST-R8170",
"Stem": "GIANT Contact SL Aerolight: S: 90 mm, M: 100 mm, ML: 100 mm, L: 110 mm, XL: 110 mm",
"Handlebar": "Giant Contact SL D-Fuse S: 400 mm, M: 420 mm, ML: 420 mm, L: 440 mm, XL: 440 mm",
"Handlebar tape": "GIANT Stratus Lite 3.0",
"Saddle": "GIANT Fleet SL",
"Seatpost": "Giant Contact SL D-Fuse Carbon",
"Crankset": "Shimano ULTEGRA FC-R8100, 50/34T",
"Bottom bracket": "Shimano Pressfit",
"Rear derailleur": "Shimano Ultegra Di2 RD-R8150 12-speed",
"Gear shifters": "Shimano Ultegra Di2 ST-R8170, 2x12-speed",
"Front derailleur": "Shimano Ultegra Di2 FD-R8150, 12-speed",
"Cassette": "Shimano Ultegra 50-34t",
"Chain": "KMC X-12",
"Tyres": "Giant Gavia Fondo 0 700x32C, puncture protection",
"Hubs": "GIANT SLR 2 Disc",
"Spokes": "GIANT SLR 2 Disc",
"Rims": "Giant SLR 2 40 Carbon, Tubeless Ready",
"Pedals": "not included in the scope of delivery",
"Other details": "Computer mount for stem integration 2x bottle holders Tubeless kit (sealant, valves, tire levers, valve core tool, instruction manual)",
"Maximum total weight allowed": "127 kg (body weight + equipment)"
}
{
"retailer": "bike-discount",
"retailerProductId": "b432cee670c84dbb9711f8f80846135f",
"productUrl": "https://www.bike-discount.de/en/giant-defy-advanced-di2-tempest-purple-tw",
"extractionMethod": "embedded-json",
"sourceCategory": "road",
"rawTitle": "Giant Defy Advanced-Di2 Tempest Purple (TW)",
"rawBrand": "Giant",
"price": 4299,
"originalPrice": null,
"currency": "EUR",
"imageUrl": "https://www.bike-discount.de/media/a0/ff/c2/1790585993/10310391_jpg-444b_75j.jpg?ts=1790585993",
"rawSpecifications": {
"Frame": "Advanced Carbon Frame, 12x142 mm Max. Tyre Clearance: 40mm",
"Frame material": "Carbon",
"Wheel size": "28\"",
"Speeds": "2 × 12",
"Colour": "Tempest Purple",
"Fork": "Giant Advanced SL full carbon fork",
"Brakes": "Shimano Ultegra BR-R8170",
"Brake discs": "160mm / 160mm",
"Brake levers": "Shimano Ultegra Di2 ST-R8170",
"Stem": "GIANT Contact SL Aerolight: S: 90 mm, M: 100 mm, ML: 100 mm, L: 110 mm, XL: 110 mm",
"Handlebar": "Giant Contact SL D-Fuse S: 400 mm, M: 420 mm, ML: 420 mm, L: 440 mm, XL: 440 mm",
"Handlebar tape": "GIANT Stratus Lite 3.0",
"Saddle": "GIANT Fleet SL",
"Seatpost": "Giant Contact SL D-Fuse Carbon",
"Crankset": "Shimano ULTEGRA FC-R8100, 50/34T",
"Bottom bracket": "Shimano Pressfit",
"Rear derailleur": "Shimano Ultegra Di2 RD-R8150 12-speed",
"Gear shifters": "Shimano Ultegra Di2 ST-R8170, 2x12-speed",
"Front derailleur": "Shimano Ultegra Di2 FD-R8150, 12-speed",
"Cassette": "Shimano Ultegra 50-34t",
"Chain": "KMC X-12",
"Tyres": "Giant Gavia Fondo 0 700x32C, puncture protection",
"Hubs": "GIANT SLR 2 Disc",
"Spokes": "GIANT SLR 2 Disc",
"Rims": "Giant SLR 2 40 Carbon, Tubeless Ready",
"Pedals": "not included in the scope of delivery",
"Other details": "Computer mount for stem integration 2x bottle holders Tubeless kit (sealant, valves, tire levers, valve core tool, instruction manual)",
"Maximum total weight allowed": "127 kg (body weight + equipment)"
},
"rawFeatures": [],
"rawSizes": [
{
"rawSize": "M",
"size": "M",
"sizeCm": null,
"inStock": true,
"stockCount": 3,
"price": null
},
{
"rawSize": "ML",
"size": "M/L",
"sizeCm": null,
"inStock": true,
"stockCount": 3,
"price": null
},
{
"rawSize": "L",
"size": "L",
"sizeCm": null,
"inStock": true,
"stockCount": 3,
"price": null
}
],
"availabilityText": null,
"fetchedAt": "2026-11-01T01:31:15.875Z",
"sourceMeta": {
"sku": null,
"itemNo": "20262991"
}
}