Lifelines - Survival Analysis
SkillDev toolsThis skill lets your AI run survival analysis in Python, which means analyzing time-to-event data such as how long patients survive after treatment or how long equipment lasts before failing. It handles right-censored data, where some subjects have not yet experienced the event by the time the study ends. It is a standard tool for clinical trial analysis and epidemiology.
Available today. Use it from your connected AI after setup.
No other account needed.
After adding it, give your AI a dataset with time-to-event information and ask it to run a survival analysis, such as a Kaplan-Meier curve or Cox regression.
Then ask your AI: use the Lifelines - Survival Analysis skill
What your AI can do with it
- Estimate survival over time with Kaplan-Meier curves
- Model how variables affect time to an event using Cox regression
- Analyze right-censored data where some events have not happened yet
- Run survival analysis on time-to-event data in Python
What this skill tells your AI
The instructions your AI receives, as published by brycewang-stanford/auto-empirical-research-skills in skills/63-tondevrel-scientific-agent-skills/lifelines/SKILL.md and read by ahel’s review.
In medicine, we often care about "Time to Event" (death, recovery, relapse). Lifelines handles the complexity of "censored" data (patients who left the study).
When to Use
- Analyzing clinical trial data (time to death, disease progression).
- Comparing survival between treatment groups.
- Identifying risk factors using Cox Proportional Hazards regression.
- Building survival models for prognosis.
- Epidemiology studies (time to infection, recovery).
Core Principles
Censoring
Patients who haven't experienced the event by the end of the study are "censored". Lifelines properly accounts for this.
Hazard Ratios
In Cox regression, a hazard ratio > 1 means increased risk; < 1 means decreased risk.
Survival Curves
Kaplan-Meier estimates the probability of survival over time without assuming a distribution.
Quick Reference
Standard Imports
from lifelines import KaplanMeierFitter, CoxPHFitter
from lifelines.statistics import logrank_test
import pandas as pd
Basic Patterns
# 1. Kaplan-Meier (Visualizing survival)
kmf = KaplanMeierFitter()
kmf.fit(durations=df['days'], event_observed=df['died'])
kmf.plot_survival_function()
kmf.median_survival_time_ # Time when 50% have died
# 2. Cox Proportional Hazards (Risk factors)
cph = CoxPHFitter()
cph.fit(df, duration_col='days', event_col='died')
cph.print_summary() # See hazard ratios for age, drug type, etc.
cph.plot_partial_effects_on_outcome(covariates=['age'], values=[30, 50, 70])
Critical Rules
✅ DO
- Use event_observed correctly - 1 = event occurred, 0 = censored.
- Check proportional hazards assumption - Use
cph.check_assumptions()to validate Cox model. - Compare groups with logrank test - Statistical test for survival curve differences.
- Plot confidence intervals - Survival estimates have uncertainty, especially with small samples.
❌ DON'T
- Don't ignore censoring - Treating censored patients as "survived" biases results.
- Don't use regular regression - Time-to-event data requires specialized methods.
- Don't assume proportional hazards - If violated, use stratified Cox or parametric models.
Advanced Patterns
Comparing Multiple Groups
from lifelines.statistics import multivariate_logrank_test
# Compare survival across treatment groups
results = multivariate_logrank_test(df['days'], df['group'], df['died'])
print(results.p_value)
Parametric Models
from lifelines import WeibullFitter, ExponentialFitter
# When you need to extrapolate beyond observed data
wf = WeibullFitter()
wf.fit(df['days'], df['died'])
wf.plot()
Lifelines transforms complex survival data into actionable medical insights, enabling evidence-based decisions in clinical research and practice.
Signals
- GitHub stars
- 4k
- Forks
- 476
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
lifelines- Source
- github.com/brycewang-stanford/auto-empirical-research-skills