{
  "name": "calculiva-plank-waste-study",
  "title": "Plank waste study: engine-counted offcuts vs flat waste allowances",
  "version": "1.0.0",
  "created": "2026-10-02T00:00:00Z",
  "description": "Source planks and offcut area computed by the Calculiva flooring layout engine (unpublished source, engine file SHA-1 087e859c0b8ddf053f8039543a080906e7ba6e34) for 1,369 rectangular rooms, 3 sourced and 3 parametric plank formats, row offsets 1/2 and 1/3 (0 as reference for sourced formats), offcut reuse on (kerf 0 and 3 mm) and off (worst case), compared with flat 5, 8, 10 and 15 % allowances.",
  "homepage": "https://calculiva.com/",
  "contributors": [
    {
      "title": "Calculiva",
      "role": "author"
    }
  ],
  "licenses": [
    {
      "name": "CC-BY-4.0",
      "title": "Creative Commons Attribution 4.0",
      "path": "https://creativecommons.org/licenses/by/4.0/"
    }
  ],
  "sources": [
    {
      "title": "Calculiva Flooring Calculator (public interface to the Calculiva flooring layout engine)",
      "path": "https://calculiva.com/flooring/flooring-calculator/"
    }
  ],
  "resources": [
    {
      "name": "rows",
      "path": "rows.csv",
      "title": "One row per plan",
      "format": "csv",
      "mediatype": "text/csv",
      "encoding": "utf-8",
      "bytes": 8444545,
      "hash": "sha1:d8c1d680f8949babadf072ec77628d8746e29b8d",
      "dialect": {
        "delimiter": ",",
        "lineTerminator": "\n",
        "header": true
      },
      "schema": {
        "fields": [
          {
            "name": "format_id",
            "type": "string",
            "description": "Plank format identifier (installed face length x width, inches)."
          },
          {
            "name": "format_origin",
            "type": "string",
            "description": "calculator_preset (default of a public Calculiva calculator), register_observation (recorded as an example in an online estimator, Calculiva register) or parametric (design-of-experiment value, not a retail format).",
            "constraints": {
              "enum": [
                "calculator_preset",
                "register_observation",
                "parametric"
              ]
            }
          },
          {
            "name": "plank_length_in",
            "type": "number",
            "description": "Installed plank length, inches."
          },
          {
            "name": "plank_width_in",
            "type": "number",
            "description": "Installed plank width, inches."
          },
          {
            "name": "plank_length_mm",
            "type": "number",
            "description": "Plank length passed to the engine, mm (inches x 25.4)."
          },
          {
            "name": "plank_width_mm",
            "type": "number",
            "description": "Plank width passed to the engine, mm (inches x 25.4)."
          },
          {
            "name": "room_width_in",
            "type": "integer",
            "description": "Room width, inches (72 to 288 by 6). Laying direction is horizontal, so planks run along this side."
          },
          {
            "name": "room_length_in",
            "type": "integer",
            "description": "Room length, inches (72 to 288 by 6). Rows are stacked across this side."
          },
          {
            "name": "room_width_mm",
            "type": "number",
            "description": "Room width passed to the engine, mm (inches x 25.4)."
          },
          {
            "name": "room_length_mm",
            "type": "number",
            "description": "Room length passed to the engine, mm (inches x 25.4)."
          },
          {
            "name": "offset",
            "type": "string",
            "description": "Repeating row offset as a fraction of plank length: 0 (reference only), 1/2 or 1/3."
          },
          {
            "name": "reuse",
            "type": "boolean",
            "description": "true = a row-start piece and a row-end piece may be cut from opposite factory ends of the same source plank. false = worst case: every end offcut is discarded."
          },
          {
            "name": "kerf_mm",
            "type": "integer",
            "description": "Saw kerf reserved twice per paired plank, mm: 0 (idealised) or 3 (parametric sensitivity value). Only reuse = true rows at offsets 1/2 and 1/3 have a 3 mm variant."
          },
          {
            "name": "rows",
            "type": "integer",
            "description": "Number of plank rows in the plan."
          },
          {
            "name": "installed_pieces",
            "type": "integer",
            "description": "Pieces placed on the floor (full and cut)."
          },
          {
            "name": "source_planks",
            "type": "integer",
            "description": "Whole planks consumed (engine sourceCount). With 1 plank per carton and 0 % reserve this is the purchase count."
          },
          {
            "name": "reused_pieces",
            "type": "integer",
            "description": "installed_pieces minus source_planks: pieces taken from the offcut of another piece."
          },
          {
            "name": "used_area_mm2",
            "type": "number",
            "description": "Floor area covered by placed pieces, mm2 (equals room area: clearance is 0). Exact."
          },
          {
            "name": "source_area_mm2",
            "type": "number",
            "description": "Face area of all source planks, mm2. Exact."
          },
          {
            "name": "offcut_area_mm2",
            "type": "number",
            "description": "source_area_mm2 minus used_area_mm2, mm2. Exact."
          },
          {
            "name": "waste_pct",
            "type": "number",
            "description": "100 x offcut_area_mm2 / used_area_mm2, rounded half up to 3 decimals from the exact fraction."
          },
          {
            "name": "allow05_planks",
            "type": "integer",
            "description": "Planks ordered under a flat 5 % allowance: ceil(1.05 x room area / plank face area), exact. Short when below source_planks."
          },
          {
            "name": "allow08_planks",
            "type": "integer",
            "description": "Planks ordered under a flat 8 % allowance: ceil(1.08 x room area / plank face area), exact. Short when below source_planks."
          },
          {
            "name": "allow10_planks",
            "type": "integer",
            "description": "Planks ordered under a flat 10 % allowance: ceil(1.1 x room area / plank face area), exact. Short when below source_planks."
          },
          {
            "name": "allow15_planks",
            "type": "integer",
            "description": "Planks ordered under a flat 15 % allowance: ceil(1.15 x room area / plank face area), exact. Short when below source_planks."
          },
          {
            "name": "h_alignment",
            "type": "boolean",
            "description": "true when the engine flags end joints aligned two rows apart (H alignment)."
          }
        ],
        "primaryKey": [
          "format_id",
          "offset",
          "reuse",
          "kerf_mm",
          "room_width_in",
          "room_length_in"
        ]
      }
    },
    {
      "name": "summary",
      "path": "summary.csv",
      "title": "One row per format x offset x scenario",
      "format": "csv",
      "mediatype": "text/csv",
      "encoding": "utf-8",
      "bytes": 6993,
      "hash": "sha1:d6219e7d7302f3291d4176c2ccf85f5d2948ec75",
      "dialect": {
        "delimiter": ",",
        "lineTerminator": "\n",
        "header": true
      },
      "schema": {
        "fields": [
          {
            "name": "format_id",
            "type": "string",
            "description": "Plank format identifier."
          },
          {
            "name": "format_origin",
            "type": "string",
            "description": "As in rows.csv.",
            "constraints": {
              "enum": [
                "calculator_preset",
                "register_observation",
                "parametric"
              ]
            }
          },
          {
            "name": "offset",
            "type": "string",
            "description": "Row offset: 0, 1/2 or 1/3."
          },
          {
            "name": "reuse",
            "type": "boolean",
            "description": "Offcut reuse on or off (off = worst case)."
          },
          {
            "name": "kerf_mm",
            "type": "integer",
            "description": "Saw kerf, mm."
          },
          {
            "name": "reference_only",
            "type": "boolean",
            "description": "true for offset 0 (no stagger, not an installation pattern); excluded from headline figures."
          },
          {
            "name": "cases",
            "type": "integer",
            "description": "Number of rooms in the group (1,369)."
          },
          {
            "name": "waste_pct_min",
            "type": "number",
            "description": "Minimum of the waste_pct column."
          },
          {
            "name": "waste_pct_median",
            "type": "number",
            "description": "Median of the waste_pct column (odd group size: middle value)."
          },
          {
            "name": "waste_pct_mean",
            "type": "number",
            "description": "Mean of the waste_pct column, rounded half up to 3 decimals."
          },
          {
            "name": "waste_pct_max",
            "type": "number",
            "description": "Maximum of the waste_pct column."
          },
          {
            "name": "allow05_short",
            "type": "integer",
            "description": "Rooms where the 5 % order is below source_planks."
          },
          {
            "name": "allow05_exact",
            "type": "integer",
            "description": "Rooms where the 5 % order equals source_planks."
          },
          {
            "name": "allow05_excess",
            "type": "integer",
            "description": "Rooms where the 5 % order is above source_planks."
          },
          {
            "name": "allow05_short_pct",
            "type": "number",
            "description": "100 x allow05_short / cases, rounded half up to 1 decimal."
          },
          {
            "name": "allow05_excess_pct",
            "type": "number",
            "description": "100 x allow05_excess / cases, rounded half up to 1 decimal."
          },
          {
            "name": "allow08_short",
            "type": "integer",
            "description": "Rooms where the 8 % order is below source_planks."
          },
          {
            "name": "allow08_exact",
            "type": "integer",
            "description": "Rooms where the 8 % order equals source_planks."
          },
          {
            "name": "allow08_excess",
            "type": "integer",
            "description": "Rooms where the 8 % order is above source_planks."
          },
          {
            "name": "allow08_short_pct",
            "type": "number",
            "description": "100 x allow08_short / cases, rounded half up to 1 decimal."
          },
          {
            "name": "allow08_excess_pct",
            "type": "number",
            "description": "100 x allow08_excess / cases, rounded half up to 1 decimal."
          },
          {
            "name": "allow10_short",
            "type": "integer",
            "description": "Rooms where the 10 % order is below source_planks."
          },
          {
            "name": "allow10_exact",
            "type": "integer",
            "description": "Rooms where the 10 % order equals source_planks."
          },
          {
            "name": "allow10_excess",
            "type": "integer",
            "description": "Rooms where the 10 % order is above source_planks."
          },
          {
            "name": "allow10_short_pct",
            "type": "number",
            "description": "100 x allow10_short / cases, rounded half up to 1 decimal."
          },
          {
            "name": "allow10_excess_pct",
            "type": "number",
            "description": "100 x allow10_excess / cases, rounded half up to 1 decimal."
          },
          {
            "name": "allow15_short",
            "type": "integer",
            "description": "Rooms where the 15 % order is below source_planks."
          },
          {
            "name": "allow15_exact",
            "type": "integer",
            "description": "Rooms where the 15 % order equals source_planks."
          },
          {
            "name": "allow15_excess",
            "type": "integer",
            "description": "Rooms where the 15 % order is above source_planks."
          },
          {
            "name": "allow15_short_pct",
            "type": "number",
            "description": "100 x allow15_short / cases, rounded half up to 1 decimal."
          },
          {
            "name": "allow15_excess_pct",
            "type": "number",
            "description": "100 x allow15_excess / cases, rounded half up to 1 decimal."
          }
        ],
        "primaryKey": [
          "format_id",
          "offset",
          "reuse",
          "kerf_mm"
        ]
      }
    }
  ]
}
