← Review table (triathlon) · shopper page

Speedmax CF 8 Di2 Race

canyon:4249 · source URL · confidence 0.95

Eligibility

Cannot win: triathlon bikes are not value-ranked yet (no triathlon-specific equipment model)

Size decisions

retailer labelalphacomparable cmmatchmappingin stockvariant priceevidence
XSXSunknownunsupportedno€5.999
SSunknownunsupportedyes€5.999
MMunknownunsupportedno€5.999
LLunknownunsupportedyes€5.999
XLXLunknownunsupportedyes€5.999
mappingunsupported
reasonCanyon publishes no defensible conventional equivalence for its letter sizes. Canyon publishes rider-height ranges and geometry only, and explicitly declines any centimetre equivalence. Its road sizing guide says 'Don't get hung up on traditional S,M, and L sizing. The equivalent of a medium on one company's bike could be a small or a large on another', and its sizing guide says 'No need to decode old-school geometry charts or debate whether you need a 54 or a 56 cm frame.' The Ultimate geometry sheet's size columns are 2XS…2XL with a body-height row and a seat-tube row (434-614 mm) and no centimetre size name anywhere. Canyon's own size chart controller is disallowed by its robots.txt and is not fetched. Mapping Canyon would mean overruling the manufacturer's published position with a guess.

A shopper asking for: 54 → nothing compatible · 56 → nothing compatible · 58 → nothing compatible · 60 → nothing compatible

Identity

Only listing of this configuration — nothing to merge.

Provenance — why we believe each fact

fieldsourceevidence
brandretailer:canyon / parseCanyon
modelretailer:canyon / derivedSpeedmax CF 8 Di2 Race
modelYearretailer:canyon / parseYear: 2026
categoryretailer:canyon / parseSpeedmax
frameMaterialretailer:canyon / parseCarbon
groupsetFamilyretailer:canyon / dictionaryShimano Dura-Ace || Shimano Ultegra Di2 || Shimano Ultegra Di2 FD-R8150
electronicShiftingretailer:canyon / parseDi2
speedsretailer:canyon / parse12s
suspensionretailer:canyon / derivedno suspension fork and no rear shock on a drop-bar listing
forkretailer:canyon / dictionarySpeedmax fork
dropperPostretailer:canyon / derivedseatpost row "Canyon SP0048 Aero Seatpost" names no dropper, in a 41-field spec table
beltDriveretailer:canyon / parseShimano Ultegra Di2 FD-R8150
wheelMaterialretailer:canyon / dictionaryDT Swiss ARC 1600
wheelTierretailer:canyon / dictionaryDT Swiss ARC 1600
weightKgretailer:canyon / parseWeight: 9.12 kg
powerMeterretailer:canyon / parse4iiii (…ready/optional)
availabilityretailer:canyon / derived3/5 sizes in stock

Warnings

Score breakdown

{
  "frameScore": 26,
  "drivetrainScore": 33,
  "wheelScore": 13,
  "extrasScore": 0,
  "suspensionScore": 0,
  "weightAdjustment": 2,
  "equipmentValue": 74,
  "notes": [
    "Shimano Ultegra Di2 = 33.",
    "Mixed groupset, but no crank or cassette below the family it is ranked as: no penalty.",
    "Wheels \"entry-carbon\" = 13.",
    "9.12 kg vs 10.1 kg triathlon reference = +2."
  ],
  "marketPrice": null,
  "valueScore": null,
  "savingsVsMarket": null
}

AI normalization

{
  "requested": [
    "brakes"
  ],
  "applied": [],
  "rejected": [],
  "notes": "Brake Type is given as \"Disc brake\" (\"Brake Type: Disc brake\") and Shimano rotors/levers are listed, but the source does not state whether the disc brakes are hydraulic or mechanical. Because the exact actuation type (hydraulic-disc vs mechanical-disc) is not explicitly specified in the source, brakes.value is left null. Also: mixedGroupset is set to true because shift/brake levers are listed as Dura-Ace while derailleurs/crank are Ultegra (evidence for Dura-Ace shown; Ultegra evidence appears elsewhere in the spec). Wheel tier is null because the source names the wheel model (DT Swiss ARC 1600 Spline) but does not state a tier; assigning a tier would require external knowledge not present in the source.",
  "raw": {
    "frameMaterial": {
      "value": "carbon",
      "evidence": "Material: Carbon (CF)",
      "confidence": 0.9
    },
    "groupsetBrand": {
      "value": "Shimano",
      "evidence": "Rear Derailleur Brand: Shimano",
      "confidence": 0.9
    },
    "groupsetFamily": {
      "value": "Ultegra Di2",
      "evidence": "Front Derailleur: Shimano Ultegra Di2 FD-R8150",
      "confidence": 0.9
    },
    "electronicShifting": {
      "value": "true",
      "evidence": "high-end Ultegra Di2 electronic shifting.",
      "confidence": 0.9
    },
    "speeds": {
      "value": "12",
      "evidence": "Shimano CS-R8101 11-30 12s",
      "confidence": 0.9
    },
    "mixedGroupset": {
      "value": "true",
      "evidence": "Shift-/ Brake Lever: Shimano Dura-Ace",
      "confidence": 0.6
    },
    "wheelMaterial": {
      "value": "carbon",
      "evidence": "Wheel Material: Carbon (CF)",
      "confidence": 0.9
    },
    "wheelTier": {
      "value": null,
      "evidence": null,
      "confidence": 0
    },
    "brakes": {
      "value": null,
      "evidence": null,
      "confidence": 0
    },
    "weightKg": {
      "value": "9.12",
      "evidence": "Weight: 9.12 kg",
      "confidence": 0.9
    },
    "powerMeter": {
      "value": "true",
      "evidence": "power meter",
      "confidence": 0.8
    },
    "notes": "Brake Type is given as \"Disc brake\" (\"Brake Type: Disc brake\") and Shimano rotors/levers are listed, but the source does not state whether the disc brakes are hydraulic or mechanical. Because the exact actuation type (hydraulic-disc vs mechanical-disc) is not explicitly specified in the source, brakes.value is left null. Also: mixedGroupset is set to true because shift/brake levers are listed as Dura-Ace while derailleurs/crank are Ultegra (evidence for Dura-Ace shown; Ultegra evidence appears elsewhere in the spec). Wheel tier is null because the source names the wheel model (DT Swiss ARC 1600 Spline) but does not state a tier; assigning a tier would require external knowledge not present in the source."
  }
}

Normalized record

{
  "id": "canyon:4249",
  "retailer": "canyon",
  "retailerProductId": "4249",
  "productUrl": "https://www.canyon.com/en-de/road-bikes/triathlon-bikes/speedmax/cf/speedmax-cf-8-di2-race/4249.html",
  "brand": "Canyon",
  "model": "Speedmax CF 8 Di2 Race",
  "modelYear": 2026,
  "category": "triathlon",
  "categoryBasis": "stated",
  "sourceCategory": "triathlon",
  "price": 5999,
  "originalPrice": null,
  "currency": "EUR",
  "discountPercent": null,
  "frameMaterial": "carbon",
  "frameModel": "Canyon Speedmax CF",
  "frameTier": null,
  "groupsetBrand": "Shimano",
  "groupsetFamily": "Ultegra Di2",
  "groupsetGeneration": null,
  "electronicShifting": true,
  "speeds": 12,
  "mixedGroupset": true,
  "groupsetComponents": {
    "shifters": "Dura-Ace",
    "rearDerailleur": "Ultegra Di2",
    "frontDerailleur": "Ultegra Di2",
    "crank": "Ultegra",
    "cassette": "Ultegra"
  },
  "groupsetTierSpread": 0,
  "crank": "Shimano Ultegra R8100 | Shimano Ultegra R8100 4iiii Precision",
  "cassette": "Shimano CS-R8101 11-30 12s",
  "brakes": "unknown",
  "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": null,
  "wheelset": "DT Swiss ARC 1600 Spline | DT Swiss ARC 1600 Spline | Carbon (CF)",
  "wheelMaterial": "carbon",
  "wheelTier": "entry-carbon",
  "tyres": "Continental Grand Prix 5000 S TR, 28mm | Continental Aero 111",
  "weightKg": 9.12,
  "powerMeter": false,
  "powerMeterKind": null,
  "availableSizes": [
    {
      "rawSize": "XS",
      "size": "XS",
      "sizeCm": null,
      "inStock": false,
      "stockCount": null,
      "price": 5999
    },
    {
      "rawSize": "S",
      "size": "S",
      "sizeCm": null,
      "inStock": true,
      "stockCount": null,
      "price": 5999
    },
    {
      "rawSize": "M",
      "size": "M",
      "sizeCm": null,
      "inStock": false,
      "stockCount": null,
      "price": 5999
    },
    {
      "rawSize": "L",
      "size": "L",
      "sizeCm": null,
      "inStock": true,
      "stockCount": null,
      "price": 5999
    },
    {
      "rawSize": "XL",
      "size": "XL",
      "sizeCm": null,
      "inStock": true,
      "stockCount": null,
      "price": 5999
    }
  ],
  "seller": null,
  "availability": "in-stock",
  "gtins": [],
  "imageUrl": "https://dma.canyon.com/image/upload/w_945,h_495,c_fit/f_auto/q_auto/v1753714749/2026_FULL_speedmax_cf-8-di2-race_4249_R073_P11_rndt4i",
  "rawTitle": "Speedmax CF 8 Di2 Race",
  "fetchedAt": "2026-09-19T06:36:30.643Z",
  "normalizationConfidence": 0.95,
  "warnings": [
    {
      "code": "mixed-groupset",
      "message": "Not a uniform groupset: {\"shifters\":\"Dura-Ace\",\"rearDerailleur\":\"Ultegra Di2\",\"frontDerailleur\":\"Ultegra Di2\",\"crank\":\"Ultegra\",\"cassette\":\"Ultegra\"}. Ranked on the shifting level, with a penalty.",
      "severity": "info"
    }
  ]
}

Parsed specification table

{
  "Material": "Carbon (CF)",
  "Weight": "9.12 kg",
  "World": "Road",
  "Style": "Aero, Triathlon",
  "Best for": "Racing against the clock",
  "Generation": "Adult",
  "Year": "2026",
  "Brake Type": "Disc brake",
  "Brake Brand": "Shimano",
  "Number of Chainrings": "2",
  "Rear Derailleur Brand": "Shimano",
  "Rear Derailleur Type": "Electronic",
  "Rear Derailleur Model": "Shimano Ultegra",
  "Wheel Brand": "DT Swiss",
  "Frame tyre clearance": "30",
  "Fork tyre clearance": "30",
  "Lights": "Reflector Set",
  "Bottom bracket": "Shimano Pressfit BB72",
  "Seatpost Clamp": "Canyon Seatclamp for S31/S32 | Canyon GP0209-01 Seatclamp",
  "Shift Lever": "Shimano Dura-Ace Di2 R9160 Remote TT",
  "Handlebar Tape": "Canyon Ergospeed Gel",
  "Chain": "Shimano XT",
  "Thru Axle": "DT Swiss Through Axle",
  "Crank": "Shimano Ultegra R8100 | Shimano Ultegra R8100 4iiii Precision",
  "Front Derailleur": "Shimano Ultegra Di2 FD-R8150",
  "Tyre": "Continental Grand Prix 5000 S TR, 28mm | Continental Aero 111",
  "Battery": "Shimano BT-DN300 Di2 Battery",
  "Seatpost": "Canyon SP0048 Aero Seatpost",
  "Brake Rotor": "Shimano Ultegra RT-CL800",
  "Saddle": "Fizik Transiro Aeris LD R5",
  "Cockpit": "Canyon CP0041 Triathlon Flatbar Long",
  "Rear Derailleur": "Shimano Ultegra Di2",
  "Cassette": "Shimano CS-R8101 11-30 12s",
  "Frame": "Canyon Speedmax CF",
  "Fork": "Speedmax fork",
  "Aero Bar": "Profile Design 52ASC",
  "Rear Wheel": "DT Swiss ARC 1600 Spline",
  "Front Wheel": "DT Swiss ARC 1600 Spline",
  "Shift-/ Brake Lever": "Shimano Dura-Ace",
  "Brake Lever": "Shimano Dura-Ace",
  "Wheel Material": "Carbon (CF)"
}

Raw adapter output

{
  "retailer": "canyon",
  "retailerProductId": "4249",
  "productUrl": "https://www.canyon.com/en-de/road-bikes/triathlon-bikes/speedmax/cf/speedmax-cf-8-di2-race/4249.html",
  "extractionMethod": "json-ld",
  "sourceCategory": "triathlon",
  "rawTitle": "Speedmax CF 8 Di2 Race",
  "rawBrand": "Canyon",
  "price": 5999,
  "originalPrice": null,
  "currency": "EUR",
  "imageUrl": "https://dma.canyon.com/image/upload/w_945,h_495,c_fit/f_auto/q_auto/v1753714749/2026_FULL_speedmax_cf-8-di2-race_4249_R073_P11_rndt4i",
  "rawSpecifications": {
    "Material": "Carbon (CF)",
    "Weight": "9.12 kg",
    "World": "Road",
    "Style": "Aero, Triathlon",
    "Best for": "Racing against the clock",
    "Generation": "Adult",
    "Year": "2026",
    "Brake Type": "Disc brake",
    "Brake Brand": "Shimano",
    "Number of Chainrings": "2",
    "Rear Derailleur Brand": "Shimano",
    "Rear Derailleur Type": "Electronic",
    "Rear Derailleur Model": "Shimano Ultegra",
    "Wheel Brand": "DT Swiss",
    "Frame tyre clearance": "30",
    "Fork tyre clearance": "30",
    "Lights": "Reflector Set",
    "Bottom bracket": "Shimano Pressfit BB72",
    "Seatpost Clamp": "Canyon Seatclamp for S31/S32 | Canyon GP0209-01 Seatclamp",
    "Shift Lever": "Shimano Dura-Ace Di2 R9160 Remote TT",
    "Handlebar Tape": "Canyon Ergospeed Gel",
    "Chain": "Shimano XT",
    "Thru Axle": "DT Swiss Through Axle",
    "Crank": "Shimano Ultegra R8100 | Shimano Ultegra R8100 4iiii Precision",
    "Front Derailleur": "Shimano Ultegra Di2 FD-R8150",
    "Tyre": "Continental Grand Prix 5000 S TR, 28mm | Continental Aero 111",
    "Battery": "Shimano BT-DN300 Di2 Battery",
    "Seatpost": "Canyon SP0048 Aero Seatpost",
    "Brake Rotor": "Shimano Ultegra RT-CL800",
    "Saddle": "Fizik Transiro Aeris LD R5",
    "Cockpit": "Canyon CP0041 Triathlon Flatbar Long",
    "Rear Derailleur": "Shimano Ultegra Di2",
    "Cassette": "Shimano CS-R8101 11-30 12s",
    "Frame": "Canyon Speedmax CF",
    "Fork": "Speedmax fork",
    "Aero Bar": "Profile Design 52ASC",
    "Rear Wheel": "DT Swiss ARC 1600 Spline",
    "Front Wheel": "DT Swiss ARC 1600 Spline",
    "Shift-/ Brake Lever": "Shimano Dura-Ace",
    "Brake Lever": "Shimano Dura-Ace",
    "Wheel Material": "Carbon (CF)"
  },
  "rawFeatures": [
    "A race-ready triathlon bike for ambitious amateur athletes. Latest DT Swiss carbon wheels, power meter, high-end Ultegra Di2 electronic shifting. Aero-optimised hydration system included."
  ],
  "rawSizes": [
    {
      "rawSize": "XS",
      "size": "XS",
      "sizeCm": null,
      "inStock": false,
      "stockCount": null,
      "price": 5999
    },
    {
      "rawSize": "S",
      "size": "S",
      "sizeCm": null,
      "inStock": true,
      "stockCount": null,
      "price": 5999
    },
    {
      "rawSize": "M",
      "size": "M",
      "sizeCm": null,
      "inStock": false,
      "stockCount": null,
      "price": 5999
    },
    {
      "rawSize": "L",
      "size": "L",
      "sizeCm": null,
      "inStock": true,
      "stockCount": null,
      "price": 5999
    },
    {
      "rawSize": "XL",
      "size": "XL",
      "sizeCm": null,
      "inStock": true,
      "stockCount": null,
      "price": 5999
    }
  ],
  "availabilityText": null,
  "fetchedAt": "2026-09-19T06:36:30.643Z",
  "sourceMeta": {
    "productGroupId": "4249",
    "rideStyle": "Triathlon & TT",
    "variantCount": 10,
    "colours": [
      "Black Mirage",
      "Spirit Moon"
    ],
    "variantSkus": [
      "50039983",
      "50039984",
      "50039985",
      "50039986",
      "50039987",
      "50039988",
      "50039989",
      "50039990",
      "50039991",
      "50039992"
    ]
  }
}

Impressum · Privacy · Contact · About BikeFind