Neatbo.

Fractional factorial plan

Turn factor names, signed generators and physical levels into a complete execution plan, every defining relation and every alias term.

Browser-local processingInputUTF-8 JSONOutputCSV / JSON / HTMLUp to 10 MiB per file · File limit: 1

Declare factors, independentFactors and generators. A factor is a name or {name, low, high}; omitted levels use -1 and +1. A generator uses {factor, product, sign}; sign defaults to +1. Product factors must be distinct basic factors.

Before you start

Declare the design you intend to execute. The original author’s seven factors and 16 runs use E=ABC, F=ABD and G=ACD and have resolution IV; a five-factor reply example does not replace that request.

How to use this tool

  1. Declare all factors, two levels, basic factors and signed generators in the editor or one JSON file.
  2. Set base runs, replication count, randomization, seed and optional minimum resolution.
  3. Inspect paged physical runs and actual resolution; download all coded/physical runs, order, generators, defining group, aliases, original, settings and standalone HTML.

Supported inputs and limits

Safe JSON or the visible JSON editor: at most 1 MiB, 2–20 factors, 1–15 basic factors, unique ASCII names up to 64 characters, two distinct physical level strings of at most 128 UTF-8 bytes each.

Exactly one signed product for each dependent factor, using distinct basic factors. Base runs equal 2^basicCount. At most 16 generators, 65,536 defining relations and 1,048,576 alias terms; every term is included.

1–1024 replications; at most 32,768 total runs and 655,360 run cells. Random order uses a nonzero uint32 seed and the published rejection-sampled xorshift32 shuffle.

Joint budgets: 100,000,000 charged work units; files plus complete copy text 64 MiB; compact typed data 8 MiB; aggregate 72 MiB; transport 96 MiB; conservative owned allocation envelope 1,024 MiB. Names, escaping, encoding, alias members and copies count. Axis ceilings do not promise simultaneous maximum capacity.

One 120-second absolute deadline starts before source capture and includes metadata, reading, Worker startup, computation, encoding, full validation, cleanup and first publication. Failure or cancellation clears all prior outputs.

Only user-declared regular two-level designs. No design catalogue search, optimum selection, estimability, blocking, split plots or centre points. Full factorial resolution is null, meaning no defining confounding.

Worked example

Example input

{
  "factors": [
    "A",
    "B",
    "C",
    "D",
    "E",
    "F",
    "G"
  ],
  "independentFactors": [
    "A",
    "B",
    "C",
    "D"
  ],
  "generators": [
    {
      "factor": "E",
      "product": [
        "A",
        "B",
        "C"
      ]
    },
    {
      "factor": "F",
      "product": [
        "A",
        "B",
        "D"
      ]
    },
    {
      "factor": "G",
      "product": [
        "A",
        "C",
        "D"
      ]
    }
  ]
}
Example options
{"nruns": 16, "replications": 1, "randomize": false, "seed": 1, "minResolution": 4}

Example output

16 runs; 112 coded cells; resolution IV; 8 signed defining relations; 16 alias classes containing all 128 terms. Physical levels default to -1 and +1.

When something does not work

Correct fields, levels, generators or base-run count. For a joint-budget failure, reduce the complete task and retry. After cancellation or Worker failure, keep the same original input and settings and start a fresh run.

Frequently asked questions

Does this choose an optimal fraction?

No. It generates exactly the basic factors and signed generators you declare, and checks the shortest nonidentity defining word.

What does a negative alias sign mean?

That term’s coded product column is the negative of its alias class representative. All masks and relative signs are exported.

Was the forum author’s task marked complete?

The saved whole thread has four posts and no author completion. It was automatically closed after 21 days. Existing seven-factor golden output is reused as mathematical evidence; new native tests cover the added behavior.

Is R or FrF2 bundled?

No. The owned GF(2) implementation uses FrF2 as an API reference only; no GPL/WebR runtime or executed mature R comparison is claimed.

Documentation & further reading

Related tools