Cohort Markov & cost-effectiveness
Set up, run, and review this analysis in Lifescio.
Supported analysis
Define the states first. Each strategy gets a square matrix: a row is the current state and a column is the next state. The cohort is redistributed every cycle, then annual costs and utilities are accumulated with the selected cycle timing and discount rates.
Supported scope: States must be mutually exclusive and collectively exhaustive. Probabilities apply to one cycle and remain constant over time; history beyond the current state is not represented. Every probability must be between 0 and 1 and each row must sum to 1. Annual costs and utilities must use compatible units.
Prepare data and configure the analysis
Enter 2–12 unique names in States, in the order used throughout the model. Edit names directly in the list. Use the adjacent add field for one name or multiple comma-separated names, then choose the plus button or press Enter. Fill both transition matrices explicitly, including zeros; each row must total one. Adding a state leaves new probabilities blank until you specify them. A death state needs an explicit self-transition of one if it is absorbing.
Enter one Annual state rewards row per state: comparator cost, comparator utility, intervention cost, intervention utility. Costs are annual, and the engine multiplies rewards by Cycle length (years). Transition probabilities must already correspond to that cycle length. Set Initial state proportions in state order, totaling one. trapezoid timing averages start/end occupancy and discounts at mid-cycle; start uses start-of-cycle occupancy and discounting.
Input reference (11 fields)
Enter your data and prespecified choices. Ranges include both limits. For table fields, use cell editing, Paste data, or Import CSV / TSV. Review whether the first imported row contains headings and map the source columns before applying the import. Empty numeric cells are not treated as zero. Open file is for an exported Lifescio analysis JSON file, not a spreadsheet.
| Input | Format | Allowed range | Guidance |
|---|---|---|---|
| Health states | Text | — | Names correspond to transition rows and columns. Add one name or comma-separated names in the State manager. It creates matching matrices for both strategies. |
| Comparator transitions | Table | — | Each row must sum to 1. Probabilities apply to one model cycle. Rows and columns follow the order in the State manager. Fill every cell, including zeros, before saving or running. |
| Intervention transitions | Table | — | Use the same state order as the comparator. Rows and columns follow the order in the State manager. Fill every cell, including zeros, before saving or running. |
| Annual state rewards | Table | — | Costs per year and utilities; the engine applies cycle length. Columns in order: Comparator cost; Comparator utility; Intervention cost; Intervention utility. |
| Initial state proportions | Text | — | One proportion per state, summing to 1. |
| Number of cycles | Whole number | 1–500 | — |
| Cycle length (years) | Number | 0.01–10 | — |
| Annual cost discount rate | Number | 0–0.2 | — |
| Annual QALY discount rate | Number | 0–0.2 | — |
| State reward timing | Selection | — | Choices: trapezoid, start. |
| Willingness to pay per QALY | Number | 0–10000000 | — |
Run and review
- Give the analysis a descriptive name and review every example value. Record units, data preparation, and planning assumptions in Reproducibility & notes. For simulations, record the seed and replication or sampling settings.
- Choose Run analysis. Resolve input errors before interpreting output. In the connected app, a run uses a saved input revision; local preview runs need the page to stay open.
- Review Diagnostics for method limitations, warnings, and available numerical checks. A completed run means computation finished; it does not establish that the assumptions fit your study.
- Use the Result table selector to inspect each output. Editing inputs does not recalculate existing results: an earlier-input notice means you need to run again to obtain matching results.
Understand the outputs
Use Strategy outcomes for discounted per-person costs and quality-adjusted life-years, and Incremental comparison for intervention-minus-comparator differences and net monetary benefit. The selected willingness-to-pay threshold affects monetary benefit, not the state trajectory.
The two occupancy tables include the starting distribution at year zero. Review them before interpreting economic results. A blank incremental ratio can be intentional when the health difference is zero or dominance is reported. Read the interpretation and both incremental components rather than treating every blank as a failure.
Troubleshooting and common mistakes
A row-total error refers to the originating state's entire row. Correct the underlying probabilities; the editor does not silently normalize them. Check that pasted row/column order agrees with the state list and that a probability was not entered as a percentage.
If costs look too small or too large, check annual versus per-cycle units, cycle length, horizon, and discount rates. Renaming a state changes its label, not its clinical meaning or probabilities. Recheck rewards and initial proportions after structural edits.
After correcting inputs, run again and check that the results belong to the new input snapshot. Increasing simulation draws improves numerical precision only; it does not repair invalid data or an unsuitable model.
Save, compare, and export
In the connected app, Save analysis retains the inputs in your account. Run history lets you inspect earlier runs, each with the input revision it used. In local preview, Save analysis downloads an input file instead; download results before leaving the page.
Use Result + inputs for a JSON archive containing the completed result and its inputs, Download CSV for the selected result table, PDF report for a report, and a chart's SVG button for its figure. Table displays round to three decimals; CSV and JSON exports retain calculation precision. Use those values when assessing a result near a decision boundary.
To reopen an archive, select the matching analysis method and choose Open file. Imported inputs start a new draft; a result archive can also display its retained result. It does not attach itself to an existing account analysis or recompute the result. Save or run the imported draft when you want a new account record.