Cell Lifecycle End to End
Track 2 - This Solution · Module 2.2
Everyone
Course home
Learning ObjectivesModule 2.2 · ~35 min
Map the three protocol phases to the ten stages exactly as the master's Control sheet defines them.
State what starts the 8-week Build clock, and read the Delivery sheet's 11 stage triplets including the extra data_signoff gate.
Derive a cell's current_stage from its stage statuses, and decide whether cell_status should read In Build or In Presentation.
Connect the Data sheet's 14-feed readiness lifecycle to the Data sign-off gate.
Three phases, ten stages

Every cell travels the same protocol. The stage list is admin-owned on the master's Control sheet (tbl_Stages) and is the single authoritative vocabulary - notebooks derive it from the table, never hard-code it, and neither should you. Ten stages in three phases:

PhaseStages (exact names)Clock
Preparation
DesignVariable timeline; ends with the Design and Data sign-offs
Build
EDA & ADS prep → Modeling - MMM → Modeling - PnP → Optimization → Validation → Insights & StoryboardingCommitted 8-week window
Presentation
Business Presentation → Market Presentation → Final Sign OffScheduled around the market's calendar

Each stage has a snake_case code used as a column suffix on the Delivery and Team_Structure sheets: design, eda_ads_prep, modeling_mmm, modeling_pnp, optimization, validation, insights_storyboarding, business_presentation, market_presentation, final_signoff.

The Delivery sheet: 11 triplets for 10 stages

The Delivery sheet is the program heartbeat: one row per cell, and for each stage a triplet of columns <stage>_status / <stage>_date / <stage>_notes. Count them and you find 11 triplets, not 10 - the extra one is data_signoff_*, a sign-off gate that is not a stage in tbl_Stages. The triplet sequence is:

data_signoff_*, design_*, eda_ads_prep_*, modeling_mmm_*, modeling_pnp_*, optimization_*, validation_*, insights_storyboarding_*, business_presentation_*, market_presentation_*, final_signoff_*.

Every <stage>_status takes one of six values from tbl_StageStatus: NA, Not Started, In Progress, Blocked, Done, Signed Off. NA is a legitimate value - e.g. a cell with no price-promo scope carries NA on modeling_pnp_status. The _date columns capture stage completion / sign-off timestamps; the cell-level milestones (preparation start, build start, target completion) live on the Cells sheet, not here.

Why is the first Build stage called "EDA & ADS prep" and not "Data"?
The triplet was renamed from data_* to eda_ads_prep_* precisely to kill a recurring confusion: this stage is post-sign-off Build work - constructing the analytical dataset (ADS) from data that has already been acquired and validated. The data acquisition work is Preparation-phase activity tracked on the separate Data sheet (below). Two different things; two different surfaces.

What starts the 8-week clock

The Build clock does not start when someone begins working. It starts when both sign-off dates are set on the Delivery row: the Design sign-off (the design_* triplet reaching sign-off) and the Data sign-off (the data_signoff_* triplet). One without the other keeps the cell in Preparation. From the moment both are in, the cell owes the program six Build stages inside a committed 8-week window.

current_stage is derived, never stored

There is no current_stage column. Reports derive it at render time with one rule:

current_stage = first stage whose status is In Progress or Blocked; if none, the last stage whose status is Done
the master schema's derivation rule - memorize it, you will apply it constantly when reading delivery.html
cell_status and the In Build vs In Presentation nuance

cell_status is the one manual per-cell input on Delivery, taking one of seven values from tbl_CellStatus: Awaiting Confirmation, In Preparation, In Build, In Presentation, In Support, On Hold, Closed. The middle five form the active progression; Awaiting Confirmation is pre-engagement (SOW/scope not yet locked); On Hold is the exception state.

The nuance that trips everyone, stated precisely per the master schema: cell_status stays "In Build" only while Build-phase stages (EDA & ADS prep through Insights & Storyboarding) are running. It flips to "In Presentation" once all six Build stages are Done or Signed Off and only the three Presentation stages remain. Presenting interim results DURING the 8-week window is not a status change - it lives in the per-stage statuses and surfaces as a derived "Presenting" chip in delivery.html. An automated status_mismatch finding flags any cell whose cell_status disagrees with its Build-phase stage statuses, so getting this wrong is visible.

The Data sheet: 14 feeds feeding one gate

The Data sheet is the Preparation-phase data-readiness inventory: one row per cell, one column per data type. The 14 feed types come from tbl_DataTypes: sales, kantar_sales, ecomm_sales, distribution, promotion, competition_sales, traditional_media, digital_media, boosted_influencer, organic_influencer, ecomm_media, competition_media, bgs, macro. Each feed cell takes a value from tbl_DataStatus:

  • Happy path: Pending → Received → Validated
  • Off-ramps: Granularity Issue, Blocked
  • Deliberate exclusion: Not in Scope (exact casing - lower-case "in")

A per-cell free-text data_summary one-liner carries the acquisition narrative (blockers being chased, expected receipt window, granularity caveats). The tie-in to the lifecycle: when all 14 feeds for a cell read Validated (or a deliberate Not in Scope), that is the signal the cell is ready for the Data sign-off gate on Delivery - and once both Design and Data sign-off dates are set there, the 8-week Build clock starts.

Worked exercise: read this Delivery row

A synthetic cell (no real cell resembles it) shows the following on Delivery. Read it, then answer the three questions in Check Yourself before peeking at the explanations.

TripletStatusDate
data_signoffSigned Off2026-03-06
designSigned Off2026-03-02
eda_ads_prepDone2026-03-20
modeling_mmmDone2026-04-10
modeling_pnpNA-
optimizationIn Progress-
validationNot Started-
insights_storyboardingNot Started-
business_presentationNot Started-
market_presentationNot Started-
final_signoffNot Started-

Walk the rule: is any stage In Progress or Blocked? Yes - Optimization is the first such stage, so current_stage = Optimization (the NA on Modeling - PnP is skipped, not counted as pending). Both sign-off dates are set (2026-03-02 and 2026-03-06), so the 8-week clock started - it has been running since the later of the two. And with Build stages still running, cell_status = In Build - even if this cell showed interim results to the market team last week.

Historical color: the 28-step Process SOP

The methodology workbook's Process sheet documents a 28-step team-handoff SOP - Data Team → Validations Team → Modeling Team, with per-step ETAs for the model-run loops (and placeholder rows for a Price and Promotions Team section that was never authored). It is genuinely useful color on how the build actually flows day to day: the ADS handoff, the bounds-in / results-back loop between Validation and Modeling at every model level, and the closing "update workbook, then deck" steps.

Caveat: that sheet predates the current tbl_Stages naming and describes team handoffs, not the program's stage protocol. Where they disagree, MASTER_SCHEMA.md wins - treat the SOP as context, not as the lifecycle you report against.

Check with SMEProgram Lead
The Process sheet's 28-step team-handoff SOP predates current tbl_Stages naming - confirm whether it should be reconciled to the current stage vocabulary for teaching or retired as historical context only.
Check Yourself
A cell's Delivery row reads: all triplets Done or Signed Off up to and including validation; insights_storyboarding Blocked; the rest Not Started. What is the derived current_stage?
Why: the derivation rule checks for In Progress / Blocked first; the "last Done" branch only applies when nothing is actively running or stuck. Blocked counts as the current stage precisely so that stuck cells surface where they are stuck.
A cell has its Design sign-off dated three weeks ago. The Data sheet shows 13 feeds Validated and competition_media still Received. Has the 8-week Build clock started?
Why: the clock starts only when both the Design sign-off and the Data sign-off dates are set. All-feeds-Validated is the readiness signal for granting that Data sign-off; there is no 13-of-14 threshold. The correct move is to chase the last feed (or formally re-scope it to Not in Scope), then sign off.
All six Build stages of a cell are Done/Signed Off; business_presentation is In Progress. Last month, mid-build, the team had already presented interim results. What should cell_status read now, and what should it have read last month?
Why: the flip happens on exactly one condition - all six Build-phase stages Done or Signed Off with only Presentation stages remaining. Interim presentation activity inside the 8-week window lives in the per-stage statuses (and the derived "Presenting" chip), and a status_mismatch auto-finding will flag a premature flip.
Sources
Authored from:
  • Root MASTER_SCHEMA.md: Delivery sheet section (11 stage triplets, triplet sequence, current_stage derivation rule, eda_ads_prep rename rationale), Data sheet section (14 feeds, data_summary, sign-off gate tie-in), Control tables tbl_Stages, tbl_Phases, tbl_CellStatus (incl. the In Build vs In Presentation semantics verbatim), tbl_StageStatus, tbl_DataStatus, tbl_DataTypes - the authoritative program vocabulary
  • MathCo Methodology Understanding_UL.xlsx sheet Process (28-step team-handoff SOP - historical color only, subordinate to MASTER_SCHEMA.md)
The worked Delivery row is synthetic; it describes no real cell.