Capacity and workload envelope

Crosstabs does not reduce capacity to a single row limit. The safe workload depends on respondents, width, category shape, table-book output, statistical-test fan-out, memory, execution mode, and the device running it.

How the planner decides

  • Direct browser planning covers up to 100,000 respondents when the other dimensions remain within budget.
  • From 100,000 to 1,000,000 respondents, a measured low-width single-response table can use the full-memory local browser worker with bounded aggregation, three-phase progress, and hard cancellation. Width, expanded multi-response rows, memory, and category shape can require a stricter decision before that row boundary.
  • Above 1,000,000 respondents, or for methods outside the measured local envelope, Crosstabs blocks the full run before computation. Reduce or split the local workload; Crosstabs does not upload respondent data as a fallback.
  • One table is blocked above 100,000 generated cells or when its row/column category budgets are exceeded. No respondent rows are silently truncated.
  • A tab book above 100,000 combined generated cells is batched and paginated even when each individual table is safe.
  • The explicit batch preview is synchronous and separately aggregates live source width, row passes, generated cells, test fan-out, exact-inference draw work, custom-table presentation work (definition traversals, memberships, reductions, and suppression), complex-sample work, and retained memory before per-table computation.

Versioned release scenarios · 2026-08-21.2

ScenarioBoundaryExpected decisionAutomated evidence
interactive browser50,000 respondents × 40 variables; 20 × 8 table; one tablerunPlanner and direct crosstab regression tests
local worker300,000 respondents × 20 variables; full in-memory local dataset; bounded aggregate resultwarnWorker routing, progress, and cancellation tests
million row workspace1,000,000 respondents × 3 variables; 5 × 4 table; full local research contractwarnProduction workspace service stress test with input/result digests
local limit block1,250,000 generated respondents; 20 aggregate cellsblockBrowser-local envelope rejection test
high cardinality block1,000 × 1,000 categories; 1,000,000 requested cellsblockPre-allocation cardinality rejection and memory test
large tab book400 safe tables; 160,000 generated cells; 18,000 test comparisonspaginateMultidimensional planner regression test
cancellationCancellation callback checked before every streamed rowwarnStreaming cancellation regression test

Measured release gates

These are automated thresholds in the release test environment, not promises for every browser or device. Actual latency and memory vary with file representation, browser, hardware, filters, weights, and the selected statistics.

WorkloadFixtureRelease gate
Production workspace contract1,000,000 respondents × 3 variables · 5 × 4 tableCompletes under 12 s with canonical input/result digests; process heap delta under 384 MiB
Iterable aggregate kernel1,250,000 generated respondents · 20 cellsCompletes under 12 s; aggregate estimate under 8 MiB; process heap delta under 96 MiB
High-cardinality rows50,000 row levels × 2 columnsLossless result under 5 s; process heap delta under 192 MiB
Low-level weighted aggregation kernel250,000 respondents · 4 × 3 cellsCompletes under 5 s with the expected aggregate; this direct kernel is not public weight authority
Unsafe dense shape1,000 × 1,000 requested cellsRejected before dense allocation under 500 ms; process heap delta under 64 MiB
Cancellation10,000-row streaming fixtureStops before completion and returns an explicit cancelled status
Synchronous batch preview100 tables · 1,000,000 row evaluations · 20,000,000 source-cell evaluationsAlso caps retained output at 100,000 cells, 50,000 tests, 25,000,000 exact-inference draw-work units, 1,000,000 aggregate custom-table presentation work units (definition traversals, memberships, reductions, and suppression), 25,000,000 complex-sample work units, and 1,073,741,824 estimated peak bytes before per-table computation
Batch XLSX/PDF output100 canonical tables · 100,000 remeasured cells · 1,073,741,824 estimated bytesCanonicalizes and validates the complete result graph before the XLSX writer or PDF constructor; malformed, sparse, custom-prototype, accessor-backed, cyclic, or invalid numeric data fails with no exporter side effects

Outcome Studio domain qualification

The release suite does not rely on the employee-engagement demo. It generates deterministic, upload-driven research fixtures, checks their statistical contracts in the engine, and repeats the journeys through the real CSV parser and workspace UI. The values below are qualification fixtures, not customer datasets or claims about every possible file.

Use caseDeterministic fixtureRelease evidence
Subscription churn1,200 rows · mixed numeric/categoricalSuccessful held-out model, expected churn signal, saved review and reload
Customer NPS960 rows · retained weight candidate from 0.05 to 12Untyped weight rejection plus successful unweighted holdout, mixed drivers, observed segments and bounded clusters
Brand tracker1,200 rows · 3 waves · retained weight candidateUntyped weight rejection plus an unweighted wave/campaign model without causal claims
Concept test1,050 rows · concepts, ratings and price responseMixed-field drivers, scenarios, synthetic separation and mobile workflow
Care outcomes900 simulated rows · missing predictors · zero/negative weight candidateUntyped weight rejection plus an unweighted model with incomplete-row exclusions disclosed
No-signal control800 balanced rowsHoldout AUC remains near chance and no investigation is fabricated
Rare outcome600 rows · 20 positive eventsBlocked before fitting by the 25-event/non-event safeguard
High-cardinality ID900 rows · 900 unique account IDsIdentifier unavailable in the driver picker; safe fields still run
Large outcome workload20,000 rows · all-row holdout scoringAll eligible rows scored; quadratic cluster diagnostics sampled at 1,500
  • The browser journey covers upload, explicit outcome and success selection, exact driver selection, accessible rejection of selected weights, recovery to an unweighted model, guarded fitting, holdout evidence, observed segments, modeled scenarios, synthetic-evidence separation, human review, project reload, phone-width layout, and automated accessibility checks.
  • The current measured Outcome Studio release fixture is 20,000 rows. This is not a universal maximum: the input file still has a 50 MB limit, and practical capacity depends on browser memory, file width, missingness, field cardinality, and device hardware.
  • Outcome Studio accepts at most 8 selected predictors and 40 encoded terms. A categorical predictor above 20 levels is blocked, likely identifiers are removed from the picker, and exploratory clustering is capped at a deterministic 1,500 observed rows.
  • Qualification does not establish causal effects, prospective accuracy, fairness across protected groups, complex-survey variance validity, survival/time-to-event support, or a true multiclass model. The selected success value is modeled against all other values.

What can still limit a project

  • Input size and browser storage can fail before row count does, especially for very wide files or long open-ended text.
  • A low-row dataset can still be unsafe when category combinations create too many cells or significance comparisons.
  • Large table books are scheduled and rendered in batches; browser display is not an attempt to hold every native table at once.
  • Browser-worker cancellation is hard: the active worker is terminated and stale results are ignored. The standalone iterable kernel is cooperative and checks before each row; the synchronous batch preview instead fails closed under its aggregate envelope before per-table computation.
  • Batch XLSX/PDF export takes one bounded canonical snapshot and validates it before the XLSX writer or PDF constructor. That preflight does not promise that every later third-party file-generation call will succeed.
  • Crosstabs blocks workloads beyond the measured browser-local envelope. The public page does not imply a server data plane or respondent-data upload fallback.