# PLC learning mistakes dataset — methodology and data dictionary

Version: 1.0
Published: 2026-07-26
Data captured through: 2026-07-10
Canonical study: https://plcsimulationsoftware.com/blog/common-ladder-logic-mistakes

## Scope

The aggregate dataset covers 10,272 grading runs recorded by the PLC Simulation
Software browser simulator from launch through 2026-07-10. Runs span 40
scenarios, from first-lesson drills to certification-preparation exercises.

Of all recorded runs, 7,977 reached a final pass/fail verdict. Pass rates use
only those verdict-bearing runs. The other 2,295 runs retained a `running`
status, most often because grading began and the learner navigated away or
reset before a verdict was recorded.

## Grading

Each run executes the learner's ladder against the selected scenario's complete
test-case suite. The simulation engine drives inputs and asserts outputs or
internal state per test case. A run is marked passed only when every test case
passes.

## Failure patterns

The first failing assertions were normalized by replacing tag names with `TAG`
and numbers with `N`, then aggregated. The top 60 source messages collapsed to
four normalized shapes. A total of 545 failed runs produced no normalized
assertion and are excluded from message-level shares but retained in overall
run totals and timing splits.

Failure categories can overlap conceptually. The dataset records the first
assertion observed by the grader, not an expert diagnosis of every defect in a
learner's ladder. Category percentages should not be summed to 100%.

## Timing

`failed_under_2_seconds` means the grading run ended in under two seconds. It is
used as a proxy for an immediate failure on early test cases, not as proof that
the ladder was empty. Thirty-eight failed runs had no recorded duration.

## CSV fields

- `section`: headline, failure timing, failure message, dialect, first-pass, or
  per-scenario observation.
- `metric`: the measurement represented by the row.
- `scenario`: a stable plain-language scenario identifier when applicable.
- `numerator`: raw count represented by the row.
- `denominator`: comparison population used to calculate a percentage.
- `percentage`: rounded percentage where available.
- `unit`: runs, learners, or percent.
- `notes`: interpretation or a material limitation.
- `source_through`: final date included in the export.

Blank fields mean the underlying aggregate was not published, not zero.
Small samples are accompanied by raw counts and should not be generalized.

## Privacy

The pack contains aggregate, anonymized figures only. It includes no names,
email addresses, source code, account identifiers, IP addresses, or
individual-level records.

## Known limitations

- This is observational product data, not a randomized learning study.
- Beginner scenarios attract a different population and volume than advanced
  scenarios, so cross-scenario comparisons are directional rather than
  controlled.
- The sample reflects users of this browser simulator and may not represent all
  PLC learners.
- The 94.6% IEC 61131-3 share leaves too few non-IEC runs for a reliable
  dialect-by-dialect comparison.
- Per-scenario counts below roughly 30 should be quoted with their raw sample
  size.

## License and attribution

The aggregate CSV, this methodology, and the accompanying chart are licensed
under Creative Commons Attribution 4.0 International (CC BY 4.0):
https://creativecommons.org/licenses/by/4.0/

Suggested attribution:

> PLC Simulation Software, "The Most Common Ladder Logic Mistakes — What 10,000
> Graded Attempts Taught Us" (2026), based on 10,272 simulator grading runs.
> https://plcsimulationsoftware.com/blog/common-ladder-logic-mistakes

You may adapt the chart or analyze the aggregates. Attribute the source, state
whether you made changes, and do not imply that PLC Simulation Software
endorses your work.
