Open dataset · Purchase planning
Should You Buy an Extra Sheet of Plywood?
A generic waste percentage does not show whether a replacement part will fit the planned sheets. This 225-scenario benchmark adds concrete spare parts to 75 project cut lists and reruns the same packing method so sheet-count thresholds are visible before purchase.
Download the complete contingency dataset
Download purchase contingency CSV
Each row declares the original project, reserve strategy, reserved part count and area, baseline and revised sheet estimates, extra sheets, completion state, method version, and source template.
What the benchmark tests
Every project is packed three times on a nominal 96 × 48 inch sheet with a 1/8 inch kerf and rotation allowed. The baseline contains only the source cut list. The first reserve strategy duplicates one unit of the largest-area part. The second duplicates one unit from every named part line. These are explicit replacement-capacity tests, not a hidden percentage added to the final total.
The largest-part strategy increased the estimate for 21 of 75 projects. The one-of-each strategy increased it for 40 projects. A “no change” result means those added rectangles fit within the same heuristic sheet count; it does not prove that the required offcut shapes survive the real cutting sequence.
Project-level sheet-count thresholds
The table shows modeled purchase pressure, not a recommendation to buy exactly the displayed quantity. Follow each project link to inspect its actual parts and assumptions.
| Project | Baseline sheets | + largest part | + one of each type | Modeled threshold |
|---|---|---|---|---|
| Base cabinet | 1 | 2 (+1) | 2 (+1) | Largest-part spare crosses a sheet boundary |
| Wall cabinet | 1 | 1 (no change) | 2 (+1) | One-of-each reserve crosses a sheet boundary |
| Bathroom vanity | 1 | 1 (no change) | 2 (+1) | One-of-each reserve crosses a sheet boundary |
| Pantry cabinet | 3 | 3 (no change) | 4 (+1) | One-of-each reserve crosses a sheet boundary |
| Laundry room cabinet | 2 | 2 (no change) | 3 (+1) | One-of-each reserve crosses a sheet boundary |
| Shop storage cabinet | 3 | 4 (+1) | 5 (+2) | Largest-part spare crosses a sheet boundary |
| Bookshelf | 2 | 3 (+1) | 3 (+1) | Largest-part spare crosses a sheet boundary |
| Cube storage unit | 2 | 2 (no change) | 2 (no change) | Both reserves fit baseline sheet count |
| Mudroom bench | 2 | 2 (no change) | 2 (no change) | Both reserves fit baseline sheet count |
| Window seat | 2 | 2 (no change) | 3 (+1) | One-of-each reserve crosses a sheet boundary |
| Utility closet cabinet | 3 | 4 (+1) | 5 (+2) | Largest-part spare crosses a sheet boundary |
| Under-bed drawers | 1 | 2 (+1) | 2 (+1) | Largest-part spare crosses a sheet boundary |
| Coffee table | 1 | 2 (+1) | 2 (+1) | Largest-part spare crosses a sheet boundary |
| Console table | 1 | 1 (no change) | 2 (+1) | One-of-each reserve crosses a sheet boundary |
| Record cabinet | 2 | 2 (no change) | 3 (+1) | One-of-each reserve crosses a sheet boundary |
| Media wall cabinet | 2 | 3 (+1) | 3 (+1) | Largest-part spare crosses a sheet boundary |
| Folding craft table | 1 | 2 (+1) | 2 (+1) | Largest-part spare crosses a sheet boundary |
| Kids table | 1 | 1 (no change) | 1 (no change) | Both reserves fit baseline sheet count |
| Mobile workbench | 2 | 2 (no change) | 2 (no change) | Both reserves fit baseline sheet count |
| Assembly table | 3 | 4 (+1) | 5 (+2) | Largest-part spare crosses a sheet boundary |
| Miter saw stand | 2 | 2 (no change) | 2 (no change) | Both reserves fit baseline sheet count |
| French cleat tool wall | 1 | 2 (+1) | 2 (+1) | Largest-part spare crosses a sheet boundary |
| Rolling utility cart | 1 | 1 (no change) | 2 (+1) | One-of-each reserve crosses a sheet boundary |
| Outdoor storage box | 2 | 2 (no change) | 3 (+1) | One-of-each reserve crosses a sheet boundary |
| Kitchen island | 2 | 2 (no change) | 2 (no change) | Both reserves fit baseline sheet count |
| Appliance garage | 1 | 1 (no change) | 1 (no change) | Both reserves fit baseline sheet count |
| Microwave shelf cabinet | 1 | 1 (no change) | 2 (+1) | One-of-each reserve crosses a sheet boundary |
| Closet tower | 2 | 2 (no change) | 2 (no change) | Both reserves fit baseline sheet count |
| Entryway locker | 2 | 3 (+1) | 3 (+1) | Largest-part spare crosses a sheet boundary |
| Laundry folding table | 2 | 2 (no change) | 2 (no change) | Both reserves fit baseline sheet count |
| Craft storage cabinet | 3 | 4 (+1) | 4 (+1) | Largest-part spare crosses a sheet boundary |
| Sewing table | 1 | 2 (+1) | 2 (+1) | Largest-part spare crosses a sheet boundary |
| Sheet goods storage cart | 4 | 4 (no change) | 5 (+1) | One-of-each reserve crosses a sheet boundary |
| Cutoff storage bin | 2 | 2 (no change) | 3 (+1) | One-of-each reserve crosses a sheet boundary |
| Sanding station | 2 | 2 (no change) | 3 (+1) | One-of-each reserve crosses a sheet boundary |
| Small parts drawer cabinet | 1 | 1 (no change) | 2 (+1) | One-of-each reserve crosses a sheet boundary |
| Floating shelf | 1 | 1 (no change) | 1 (no change) | Both reserves fit baseline sheet count |
| Wall garage cabinet | 2 | 2 (no change) | 2 (no change) | Both reserves fit baseline sheet count |
| Storage bench | 2 | 2 (no change) | 2 (no change) | Both reserves fit baseline sheet count |
| Toy box | 2 | 2 (no change) | 2 (no change) | Both reserves fit baseline sheet count |
| Shoe rack | 1 | 1 (no change) | 1 (no change) | Both reserves fit baseline sheet count |
| Nightstand | 1 | 1 (no change) | 1 (no change) | Both reserves fit baseline sheet count |
| Dining bench | 1 | 1 (no change) | 2 (+1) | One-of-each reserve crosses a sheet boundary |
| Entryway table | 1 | 1 (no change) | 1 (no change) | Both reserves fit baseline sheet count |
| Tool cabinet | 1 | 1 (no change) | 2 (+1) | One-of-each reserve crosses a sheet boundary |
| Router table | 2 | 2 (no change) | 2 (no change) | Both reserves fit baseline sheet count |
| Pegboard organizer | 1 | 1 (no change) | 1 (no change) | Both reserves fit baseline sheet count |
| Clamp rack | 1 | 1 (no change) | 1 (no change) | Both reserves fit baseline sheet count |
| Drill press stand | 1 | 2 (+1) | 2 (+1) | Largest-part spare crosses a sheet boundary |
| Planter box | 1 | 1 (no change) | 1 (no change) | Both reserves fit baseline sheet count |
| Plywood chair | 1 | 1 (no change) | 1 (no change) | Both reserves fit baseline sheet count |
| Plywood lounge chair | 1 | 1 (no change) | 1 (no change) | Both reserves fit baseline sheet count |
| Plywood dollhouse | 2 | 2 (no change) | 2 (no change) | Both reserves fit baseline sheet count |
| Desk organizer | 1 | 1 (no change) | 1 (no change) | Both reserves fit baseline sheet count |
| Monitor riser | 1 | 1 (no change) | 1 (no change) | Both reserves fit baseline sheet count |
| Printer stand | 1 | 1 (no change) | 1 (no change) | Both reserves fit baseline sheet count |
| File cabinet | 1 | 1 (no change) | 1 (no change) | Both reserves fit baseline sheet count |
| Rolling pantry cart | 1 | 1 (no change) | 2 (+1) | One-of-each reserve crosses a sheet boundary |
| Linen cabinet | 2 | 3 (+1) | 3 (+1) | Largest-part spare crosses a sheet boundary |
| Folding work table | 1 | 2 (+1) | 2 (+1) | Largest-part spare crosses a sheet boundary |
| Folding wall desk | 1 | 1 (no change) | 1 (no change) | Both reserves fit baseline sheet count |
| Narrow entryway bench | 1 | 1 (no change) | 1 (no change) | Both reserves fit baseline sheet count |
| Over-toilet storage cabinet | 1 | 1 (no change) | 1 (no change) | Both reserves fit baseline sheet count |
| Rolling kitchen cart | 1 | 2 (+1) | 2 (+1) | Largest-part spare crosses a sheet boundary |
| Sofa side table | 1 | 1 (no change) | 1 (no change) | Both reserves fit baseline sheet count |
| Under-desk rolling cabinet | 1 | 1 (no change) | 1 (no change) | Both reserves fit baseline sheet count |
| Portable wardrobe cubby | 2 | 2 (no change) | 2 (no change) | Both reserves fit baseline sheet count |
| Stackable shoe cubby | 2 | 2 (no change) | 2 (no change) | Both reserves fit baseline sheet count |
| Room divider cubby | 2 | 2 (no change) | 2 (no change) | Both reserves fit baseline sheet count |
| Balcony storage bench | 1 | 1 (no change) | 2 (+1) | One-of-each reserve crosses a sheet boundary |
| Drop-leaf dining table | 1 | 2 (+1) | 2 (+1) | Largest-part spare crosses a sheet boundary |
| Rolling coffee bar | 2 | 2 (no change) | 3 (+1) | One-of-each reserve crosses a sheet boundary |
| Compact craft cart | 1 | 2 (+1) | 2 (+1) | Largest-part spare crosses a sheet boundary |
| Slim laundry tower | 1 | 2 (+1) | 2 (+1) | Largest-part spare crosses a sheet boundary |
| Knock-down bookcase | 1 | 2 (+1) | 2 (+1) | Largest-part spare crosses a sheet boundary |
How to choose a real contingency
- Identify parts that are expensive, visible, grain-matched, difficult to machine, or impossible to replace from a narrow remnant.
- Record usable stock already on hand and exclude offcuts whose material, face, thickness, or dimensions are not verified.
- Add concrete replacement rectangles to the released layout instead of applying an unexplained blanket percentage.
- Compare the extra-sheet threshold with supplier lead time, minimum order, return policy, storage, and the cost of a delayed remake.
- Preserve the decision in the purchase reconciliation and review what was actually consumed at project closeout.
Use the purchase-order reconciliation workflow to document buying units and the yield-variance closeout to compare the released plan with completed production.
What this dataset does not measure
This is modeled reserve capacity, not observed remake frequency, a claim about average shop waste, or actual-versus-planned customer data. The inputs come from WoodCutTool planning examples. The model does not assign defect probability, predict operator errors, inspect real panels, preserve a shop cutting sequence, prove a globally optimal layout, or value delivery delays and unused stock.
Real contingency should reflect the current material, face matching, defects, process capability, replacement lead time, and project risk. Verify the received sheet size and final rectangles in the plywood cut calculator, then save the reviewed project in CutList.
Method and reproducibility
The generator expands part quantities, adds only the rectangles declared by the selected strategy, sorts all pieces deterministically, and runs method woodcuttool-maxrects-v1. Every CSV row includes the original and reserve areas, estimated baseline and contingency sheets, rejected-piece count, completion flag, and source template URL. Re-running the published inputs with the same method version produces the same comparison.
License and citation
Dataset version 2026-07-25, method woodcuttool-maxrects-v1. Licensed under CC BY 4.0. Suggested attribution: “WoodCutTool Plywood Purchase Contingency Benchmark, 2026-07-25.”