Skip to content
TablePage.ai Open the app

Build a Bike Specification Comparison Readers Can Verify

Prepare a bike comparison spreadsheet with exact variants, consistent units, gearing calculations and source notes, then publish a filterable public table.

Share X in f
Wei Hu

A useful bike specification comparison starts with one row per exact build and frame size—not one row per brand. Keep numbers sortable, preserve the manufacturer’s wording, and attach sources so readers can check what each value describes.

The workflow below turns manufacturer specifications into a public dataset. The result is a table readers can filter and verify, rather than an unsupported “best bike” ranking.

1. Define what each row represents

Choose a scope before collecting specifications: for example, US-market, non-electric road bikes with their listed stock components. Record the model year or generation, frame size and whether the source describes a current or archived model.

Size matters even when the model name stays the same. Trek’s archived Domane AL 2 Gen 4 specification lists different crank lengths by size and reports its weight specifically for size 56. Giant’s Contend AR 3 also lists size-specific crank and stem lengths. Those differences belong in the dataset, not in an assumption that every build is identical. (Trek specifications, Giant specifications)

A practical record key combines:

brand + model + year_or_generation + market + frame_size

If a source offers several component alternatives for that record, retain them in a note. Don’t silently choose one.

2. Start with a small, sourced extract

This two-record teaching sample uses manufacturer pages checked on 26 October 2026. It deliberately includes an archived model to show why source status needs its own field; it is not a current-stock shortlist. Trek labels this page “2024–2026” and “Archived”; Giant’s page identifies the Contend AR 3 as a 2026 model.

Bike and source Source status Selected size Chainrings, teeth Cassette, teeth Stock tire label Listed bike weight, kg
Trek Domane AL 2 Gen 4 Archived, 2024–2026 56 50/34 11–32 700×32 mm 10.55
Giant Contend AR 3 Current page, 2026 M 50/34 11–36 700×33c Not stated

The selected sizes are examples, not a claim that Trek 56 and Giant M are equivalent fits. Giant describes its sizing guide as a reference and advises checking size with an authorized dealer. (Giant sizing guidance)

Keep Giant’s weight cell blank in the numeric spreadsheet column, with weight_status = not_stated. Its page gives no numeric bike weight and recommends having a dealer weigh the bike. Trek cautions that its published weights are based on pre-production painted frames and may vary in final production. A zero or an estimated value would create a misleading weight comparison. (Giant weight note, Trek weight note)

3. Separate numbers from labels and notes

Use a single header row, no merged cells, and one value per cell. Suggested fields:

Field group Example columns Preparation rule
Identity brand, model, year_or_generation, market, frame_size Store size as text; preserve labels such as M or 56.
Geometry stack_mm, reach_mm, wheelbase_mm Convert to one unit and keep the original values in notes.
Drivetrain small_chainring_teeth, large_chainring_teeth, cassette_min_teeth, cassette_max_teeth Split tooth counts into numeric columns.
Components crank_length_mm, stem_length_mm, brake_type Use the selected size’s specifications; preserve component alternatives in notes.
Tires stock_tire_label, stock_tire_width_mm, max_tire_width_mm Keep nominal fitted width separate from maximum clearance; don’t present it as measured width.
Weight bike_weight_kg, weight_size, weight_basis, weight_status Preserve the measurement context.
Provenance source_url, checked_on, source_status, notes Keep the source attached to the record.

Watch units during extraction. Trek’s geometry table uses centimetres unless otherwise noted: size 56 frame stack is 59.1 cm, so store 591 under stack_mm. Giant’s geometry table supplies millimetres and inches. Copying 59.1 into a millimetre column would introduce a tenfold error. (Trek geometry, Giant geometry)

If adding prices, use separate fields for amount, currency, market, price type and check date. Don’t compare a sale price with another bike’s original list price without labeling the difference. The broader product comparison workflow covers these variant and provenance checks.

4. Calculate a narrowly defined comparison

“More gears” is not the same field as lowest gearing. For these chain-driven bikes, add a derived column:

lowest_ratio = small_chainring_teeth / cassette_max_teeth

Using the sourced tooth counts above:

  • Trek: 34 / 32 = 1.063, rounded.
  • Giant: 34 / 36 = 0.944, rounded.

That compares drivetrain ratios only. Don’t label it “speed” or “distance per pedal turn”: distance also requires wheel circumference, and speed additionally requires cadence—the rate of pedaling. Preserve the input columns so readers can reproduce the result, and describe the formula beside the published table.

5. Publish and check the reader’s view

Export the cleaned comparison as CSV, or retain XLSX if that better suits your working file. Keep only the intended public data: no customer details, private contact information or internal purchasing notes.

TablePage’s homepage states that it accepts CSV, TSV, XLSX and XLS uploads and generates a public dataset page with a shareable link and filterable table. (TablePage publishing overview)

After uploading, inspect the public page:

  • Confirm numeric columns behave as numbers rather than formatted text.
  • Check that blank weights have not become zero.
  • Verify model, size, source status and check date remain visible.
  • Open the source links and spot-check several component values.
  • Include the scope, unit conventions, missing-value rule and calculation definition with the shared comparison.

Give the page a descriptive title such as “US road-bike specifications: selected builds, checked 26 October 2026.” That tells readers what the dataset covers without implying a complete market survey or a performance test.