Skip to content

toInteger: Prefer fixed-calendar enrollment-rate inflation over calendar extension when integerizing event targets #271

@keaven

Description

@keaven

When integerizing a survival group sequential design, toInteger can increase enrollment much more than expected for a very small final-event rounding change.

Observed in one run:

Final expected events: 123.83728 to 124.
Total enrollment: 39000 to 41160.
Expected behavior:

Keep the calendar design fixed (enrollment windows, follow-up structure, timing vector).
Inflate enrollment rate minimally to reach the integer final event target.
For this example (ratio = 1), a near-proportional total is about 39052:
ceiling(39000 * 124 / 123.83728 / (ratio + 1)) * (ratio + 1)
Proposed algorithm:

Set final integer event target to ceiling(final expected events).
Scale enrollment rate (gamma) to hit that target while preserving calendar design.
Compute interim integer events from timing and final target, then enforce monotone increasing counts.
Recompute bounds and power from those integer event counts.
Only if infeasible, fall back to a secondary strategy with a clear warning.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions