Quickstart#

This example shows the shortest meaningful path through design-research-analysis.

1. Install#

python -m pip install --upgrade pip
pip install design-research-analysis

Or install from source:

git clone https://github.com/cmudrc/design-research-analysis.git
cd design-research-analysis
python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install .

Install extras when you need optional analysis families:

pip install "design-research-analysis[seq]"
pip install "design-research-analysis[lang,embeddings]"
pip install "design-research-analysis[maps]"
pip install "design-research-analysis[stats,data]"

2. Minimal Runnable Example#

from design_research_analysis import (
    coerce_unified_table,
    fit_markov_chain_from_table,
    validate_unified_table,
)

rows = coerce_unified_table(
    [
        {"timestamp": "2026-01-01T00:00:00", "session_id": "s1", "actor_id": "a", "event_type": "ideate"},
        {"timestamp": "2026-01-01T00:00:05", "session_id": "s1", "actor_id": "a", "event_type": "refine"},
        {"timestamp": "2026-01-01T00:00:10", "session_id": "s1", "actor_id": "a", "event_type": "evaluate"},
    ]
)

report = validate_unified_table(rows)
if not report.is_valid:
    raise RuntimeError("; ".join(report.errors))

result = fit_markov_chain_from_table(rows)
print(result.states)

You can also point the API at exported files directly when that is more convenient:

from design_research_analysis import coerce_unified_table, profile_dataframe

rows = coerce_unified_table("data/events.csv")
profile = profile_dataframe("data/events.csv")
print(len(rows), profile["n_columns"])

3. What Happened#

You validated a unified event table and fit a sequence model from those records. This demonstrates the package design: schema discipline first, analysis second.

4. Where To Go Next#

Ecosystem Note#

In a typical study, design-research-agents provides executable participants, design-research-problems supplies the task, design-research-experiments defines the study structure, and design-research-analysis interprets the resulting records.

If you are starting from exported study artifacts rather than an in-memory table, use Experiments-To-Analysis Handoff for the recommended events.csv to analysis path.