Skip to main content

high-stakes-analytics-decision-lab

Platform-neutral analytical skill that profiles messy data, selects case-adaptive methods, and produces source-backed visual reports for high-stakes decisions

Jump to install

Source facts

Repository
reason-machines/data-skills
Last source activity
August 2, 2026 at 10:11
Detected SKILL.md language
English
Stars
5
Forks
1

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
high-stakes-analytics-decision-lab
description
Platform-neutral analytical skill that profiles messy data, selects case-adaptive methods, and produces source-backed visual reports for high-stakes decisions
triggers
["analyze this dataset and build an evidence-based report","run a high-stakes decision analysis with data quality gates","create an evidence intelligence report from this data","perform adaptive analytics with diagnostic predictive or prescriptive routing","validate this data and choose the right analytical method","generate a decision intelligence brief with uncertainty bounds","profile data quality and route to appropriate analysis method","build a reproducible evidence report with data lineage"]
# High-Stakes Analytics & Decision Lab > Skill by [ara.so](https://ara.so) — Data Skills collection. A platform-neutral, evidence-constrained analytical system that transforms ambiguous questions into reproducible evidence products. It profiles data quality, selects case-adaptive analytical methods (descriptive, diagnostic, predictive, prescriptive), and produces source-backed reports with explicit uncertainty and claim boundaries. ## What It Does Instead of forcing every dataset through fixed pipelines, this system: - **Gates data quality** before analysis (detects missing, duplicates, leakage, grain mismatches) - **Routes adaptively** to descriptive, diagnostic, predictive, or prescriptive methods based on question + data - **Produces two-layer outputs**: Evidence Intelligence Report (always) + Decision Intelligence Brief (conditional) - **Preserves lineage** with hashed sources, reproducible transforms, and claim boundaries - **Handles shared uncertainty** across alternatives (common market, time, operational shocks) ## Installation ### Quick Install (NPX) ```bash npx skills add limingrui679-design/high-stakes-analytics-decision-lab -g ``` ### Manual Python Install ```bash git clone https://github.com/limingrui679-design/high-stakes-analytics-decision-lab.git cd high-stakes-analytics-decision-lab pip install -r requirements.txt ``` ### Docker ```bash docker build -t high-stakes-lab . docker run -v $(pwd)/data:/data -v $(pwd)/outputs:/outputs high-stakes-lab ``` ## Core Architecture The system follows a fixed evidence spine with adaptive routing: ``` Question → Data Contract → Quality Gate → Adaptive Route → Evidence Report → Decision Brief (conditional) ``` ### Four Quality Gate Outcomes 1. **`ready`** — No material issues, continue 2. **`ready_with_documented_limitations`** — Localized issues, visible limits 3. **`needs_user_confirmation`** — Requires explicit approval for cleaning actions 4. **`blocked`** — Critical failure, stop and request corrected data ### Four Analytical Routes 1. **Descriptive** — What is happening? (baseline, trends, distributions) 2. **Diagnostic** — Why? (drivers, decomposition, competing explanations) 3. **Predictive** — What next? (forecasts, validation, calibration, drift) 4. **Prescriptive** — What action? (alternatives, constraints, tail risk, sensitivity) ## Project Structure ``` high-stakes-analytics-decision-lab/ ├── src/ │ ├── data_quality/ # Quality profiling & gates │ ├── routing/ # Adaptive method selection │ ├── methods/ # Analytical modules (descriptive, diagnostic, etc.) │ ├── reporting/ # Evidence & decision report generation │ └── orchestration/ # End-to-end workflow ├── examples/ │ └── real-data-cases/ # 10 complete projects with data + outputs ├── references/ │ ├── data-quality-gate.md # Quality gate contract │ ├── method-routing.md # Route selection rules │ └── method-modules.md # Executable boundaries └── requirements.txt ``` ## Configuration Create a `config.yaml` for your analysis: ```yaml project: name: "customer-churn-analysis" question: "Which customers are at risk of churning in next 90 days?" decision_owner: "Head of Retention" evidence_contract: source: "data/customer_events.csv" grain: "customer_id" time_field: "event_date" target_field: "churned" horizon_days: 90 data_quality: missing_threshold: 0.15 duplicate_check: true leakage_detection: true privacy_scan: true routing: force_descriptive: true enable_diagnostic: true enable_predictive: true enable_prescriptive: false outputs: evidence_report: "outputs/evidence_report.md" decision_brief: "outputs/decision_brief.md" figures_dir: "outputs/figures/" reproducibility_package: "outputs/reproducibility.zip" ``` ## Usage Examples ### 1. Basic Evidence Analysis ```python from src.orchestration import AnalyticsWorkflow from src.config import load_config # Load configuration config = load_config("config.yaml") # Initialize workflow workflow = AnalyticsWorkflow(config) # Run complete evidence pipeline results = workflow.run() # Check quality gate outcome print(f"Quality gate: {results.quality_gate.status}") print(f"Adaptive route: {results.selected_route}") print(f"Evidence report: {results.evidence_report_path}") print(f"Decision brief: {results.decision_brief_path}") ``` ### 2. Data Quality Profiling Only ```python from src.data_quality import DataQualityGate import pandas as pd # Load data df = pd.read_csv("data/messy_data.csv") # Define data contract contract = { "grain": "transaction_id", "time_field": "timestamp", "target_field": "outcome", "expected_schema": { "transaction_id": "string", "timestamp": "datetime", "amount": "numeric", "outcome": "binary" } } # Profile quality gate = DataQualityGate(df, contract) quality_report = gate.profile() print(f"Status: {quality_report.status}") print(f"Missing rate: {quality_report.missing_rate}") print(f"Duplicates: {quality_report.duplicate_count}") print(f"Leakage detected: {quality_report.has_leakage}") print(f"Privacy issues: {quality_report.privacy_warnings}") # Get recommended actions if quality_report.status == "needs_user_confirmation": for action in quality_report.required_approvals: print(f"Approve: {action.id} - {action.description}") ``` ### 3. Adaptive Route Selection ```python from src.routing import RouteSelector # Define question and data characteristics question_spec = { "type": "predictive", "estimand": "probability of outcome", "population": "active customers", "horizon": "90 days" } data_characteristics = { "n_rows": 15000, "n_features": 42, "target_prevalence": 0.08, "has_time_series": True, "has_identifiable_pii": False } # Select route selector = RouteSelector() route = selector.select(question_spec, data_characteristics) print(f"Primary route: {route.primary}") print(f"Additional modules: {route.additional}") print(f"Methods: {route.selected_methods}") print(f"Validation strategy: {route.validation}") ``` ### 4. Predictive Route with Validation ```python from src.methods.predictive import PredictiveModule from src.reporting import EvidenceReportGenerator # Initialize predictive module predictor = PredictiveModule( target="churned", horizon_days=90, validation_strategy="temporal_holdout", calibration_check=True, subgroup_analysis=True ) # Fit model predictor.fit(df_train, timestamp_field="signup_date") # Validate on holdout validation_results = predictor.validate(df_test) print(f"AUC: {validation_results.auc:.3f}") print(f"Calibration slope: {validation_results.calibration_slope:.3f}") print(f"Brier score: {validation_results.brier:.3f}") print(f"Worst subgroup AUC: {validation_results.min_subgroup_auc:.3f}") # Check deployment gate if validation_results.deployment_status == "do_not_deploy": print(f"BLOCKED: {validation_results.blocking_reason}") else: print(f"Validated for deployment with boundaries: {validation_results.boundaries}") # Generate evidence report report_gen = EvidenceReportGenerator() evidence_report = report_gen.generate( data_quality=quality_report, route=route, validation=validation_results, output_path="outputs/evidence_report.md" ) ``` ### 5. Prescriptive Route with Shared Shocks ```python from src.methods.prescriptive import PrescriptiveModule # Define decision problem decision_spec = { "owner": "VP Operations", "alternatives": [ {"id": "status_quo", "cost": 0, "capacity": 100}, {"id": "expand_10pct", "cost": 50000, "capacity": 110}, {"id": "expand_25pct", "cost": 120000, "capacity": 125} ], "criteria": ["expected_revenue", "capacity_utilization", "downside_risk"], "constraints": {"max_cost": 100000, "min_capacity": 105} } # Model shared uncertainty (all alternatives face same demand shock) shared_shocks = { "market_demand": {"distribution": "normal", "mean": 1.0, "std": 0.15}, "operational_efficiency": {"distribution": "lognormal", "mean": 1.0, "std": 0.08} } # Initialize prescriptive module prescriptive = PrescriptiveModule(decision_spec, shared_shocks) # Simulate outcomes simulation_results = prescriptive.simulate(n_scenarios=10000) print(f"Recommended alternative: {simulation_results.recommended}") print(f"Expected value: ${simulation_results.expected_value:,.0f}") print(f"5th percentile (tail risk): ${simulation_results.percentile_05:,.0f}") print(f"Reversal conditions: {simulation_results.reversal_conditions}") # Generate decision brief (only if evidence supports it) if simulation_results.decision_ready: decision_brief = prescriptive.generate_brief( evidence_report_path="outputs/evidence_report.md", output_path="outputs/decision_brief.md" ) else: print(f"No decision-ready recommendation: {simulation_results.blocking_reason}") ``` ### 6. Complete End-to-End Workflow ```python from src.orchestration import AnalyticsWorkflow from src.config import ProjectConfig # Define complete configuration config = ProjectConfig( question="Should we launch the new pricing tier?", data_source="data/user_behavior.parquet", evidence_contract={ "grain": "user_id", "time_field": "activity_date", "population": "active_monthly_users", "estimand": "incremental_revenue", "horizon_days": 180 }, quality_gates={ "max_missing": 0.10, "detect_leakage": True, "privacy_level": "high" }, routing={ "always_descriptive": True, "enable_diagnostic": True, "enable_predictive": True, "enable_prescriptive": True }, outputs={ "base_dir": "outputs/pricing_decision", "generate_reproducibility_package": True } ) # Run full workflow workflow = AnalyticsWorkflow(config) results = workflow.execute() # Inspect results print(f"Quality gate: {results.quality_gate.status}") print(f"Route selected: {results.route.primary} + {results.route.additional}") print(f"Evidence report: {results.evidence_report_path}") print(f"Decision status: {results.decision_status}") print(f"Reproducibility package: {results.reproducibility_package_path}") # Review figures for fig_id, fig_path in results.figure_map.items(): print(f"{fig_id}: {fig_path}") ``` ## CLI Usage ### Profile Data Quality ```bash python -m src.cli profile \ --data data/messy_data.csv \ --grain customer_id \ --time-field signup_date \ --output outputs/quality_report.json ``` ### Run Complete Analysis ```bash python -m src.cli analyze \ --config config.yaml \ --output-dir outputs/ ``` ### Generate Evidence Report Only ```bash python -m src.cli evidence \ --data data/clean_data.parquet \ --config config.yaml \ --route descriptive,predictive \ --output outputs/evidence_report.md ``` ### Add Decision Layer ```bash python -m src.cli decision \ --evidence-report outputs/evidence_report.md \ --decision-config decision.yaml \ --output outputs/decision_brief.md ``` ## Real Examples The repository includes 10 complete real-data projects in `examples/real-data-cases/projects/`: 1. **population-health-survival** — Heart failure risk (299 patients, descriptive → predictive → prescriptive) 2. **behavioral-reading-experiment** — Pseudoword reading (57 paired participants, descriptive → inferential) 3. **census-income-ai** — Income model validation (48,842 records, descriptive → predictive) 4. **bike-demand-operations** — Demand forecasting + allocation (17,379 system-hours) Each includes: - Raw data snapshot (hashed) - Data quality report - Configuration - Runnable code - Machine-readable results (JSON/CSV) - Evidence Intelligence Report (Markdown) - All figures (SVG/PNG) - Decision Intelligence Brief (Markdown) ### Run a Real Example ```bash cd examples/real-data-cases/projects/census-income-ai python run.py --config config.yaml
View on GitHub
This SKILL.md is very large, so SkillsMP previews the first section here. View on GitHub