AHS Marathon Planner & Episode Curator

Curated Lore Ahead of Season 13

Interactive Marathon Runtime Sequencer
Budget: 720m | Scheduled: 310m
Chronological Binge Order
Sequenced for narrative cross-connections
Watchlist exported successfully.

Marathon Sequencing & Greedy Packing Mechanics

How does the planner select and sequence episodes against your marathon time budget?

The planner filters a curated 10-episode catalog according to your active anthology themes, converts your time budget into minutes, and schedules episodes using a greedy heuristic. Candidates are sorted primarily by priority rank (1 through 4) and secondarily by season and episode index. The algorithm iterates through candidates, appending each episode whose runtime fits into the remaining budget before sorting the final selection into chronological broadcast order.

The planner samples a fixed 10-episode catalog rather than the full multi-season American Horror Story catalog. It uses a greedy packing loop based on hardcoded priority tiers rather than an optimal 0/1 knapsack optimization or user-rated weights, and runtimes do not account for broadcast commercials or personalized viewing speed.

Try a worked example

Clicking the 'Briarcliff Nightmare' preset sets the time budget to 4 hours (240 minutes) and selects only the Asylum theme. The catalog contains two Asylum episodes: S2E01 (44 minutes) and S2E10 (43 minutes). Because their combined runtime of 87 minutes easily fits within the 240-minute limit, both are scheduled. Selected Episodes updates to 2, Total Runtime displays 87 min, and the chronological watch order lists S2E01 followed by S2E10.

Candidate Filtering and Priority Ordering

When you select themes or choose a preset, the tool filters MASTER_EPISODES to retain only entries matching the active theme tags. The filtered pool is sorted using candidate.sort((a, b) => a.priority - b.priority || a.seasonNum - b.seasonNum || a.episodeNum - b.episodeNum). This ensures tier-1 milestone episodes (such as season premieres) take precedence over tier-2 and tier-3 crossover or finale episodes.

Greedy Budget Fitting versus Chronological Display

The budget is calculated as availableHours multiplied by 60 minutes. The scheduler accumulates candidate runtimes, appending an episode only if runningTotal + ep.runtime <= budgetMinutes. Once packing terminates, the scheduled list is re-sorted chronologically by season number and episode number so the resulting binge order preserves narrative continuity rather than raw priority tiers.

Budget packing in the local marathon planner

Read the explanation

The default themes contain six supplied episode records. At a two hour budget, the limit is one hundred twenty minutes. Candidates are sorted first by assigned priority, then season and episode. The first candidate runs forty four minutes; the next runs fifty two, taking the total to ninety six. The next sixty four minute candidate would take it to one hundred sixty, so it is skipped. The algorithm continues checking later candidates rather than stopping at the first overflow. The six default records sum to three hundred ten minutes, or five hours ten. The default twelve hour budget supplies seven hundred twenty minutes, so all six fit and four hundred ten minutes remain unused. Completion percentage is scheduled record count divided by filtered record count, rounded; one hundred percent means all supplied candidates were included, not all episodes in the series. The planner inserts no breaks, travel or credits adjustments, and these runtimes are local catalog inputs. After greedy packing, accepted records are sorted again by season and episode to create the displayed watch order. Selection priority and final chronology are therefore separate operations. This greedy procedure does not maximize total runtime or guarantee optimal theme coverage. The JSON and text exports record the selected subset and budget. Season thirteen preparation wording is supplied by the page; this video confirms neither release timing nor current streaming availability, and does not fetch or play any show footage.

Enjoy this tool? Build your own with Super