{
  "_id": "6aebdd4a2e87f76f20ad2c86",
  "Package": "SCMs",
  "Title": "Specification Curve Analysis for Synthetic Control Methods",
  "Version": "0.1.1",
  "Authors@R": "c(person(given = \"Zubin\",\nfamily = \"Jelveh\",\nrole = c(\"aut\", \"cre\"),\nemail = \"zjelveh@umd.edu\")\n)",
  "Author": "Zubin Jelveh [aut, cre]",
  "Maintainer": "Zubin Jelveh <zjelveh@umd.edu>",
  "License": "GPL-3",
  "URL": "https://github.com/zjelveh/SCMs",
  "BugReports": "https://github.com/zjelveh/SCMs/issues",
  "Encoding": "UTF-8",
  "Description": "Estimates synthetic control models while exposing the\nimplementation choices that define the synthetic\ncounterfactual: how matching variables are constructed, how\npredictor weights are set, which constraints the donor weights\nsatisfy (simplex, lasso, ridge, penalized), whether an\nintercept is included, and which outcome model corrects for\nbias (OLS, ridge, lasso, augmented synthetic control). Runs\nspecification-curve analysis over a grid of these choices\n(Simonsohn, Simmons and Nelson (2020)\n<doi:10.1038/s41562-020-0912-z>), with placebo-in-space and\nbootstrap inference for single specifications and placebo\ninference for the curve as a whole, and uses 'xgboost' models\nwith SHAP values (Lundberg and Lee (2017)\n<doi:10.48550/arXiv.1705.07874>) to show which choices drive\nthe estimates. Methods follow Abadie, Diamond and Hainmueller\n(2010) <doi:10.1198/jasa.2009.ap08746>, Abadie (2021)\n<doi:10.1257/jel.20191450>, Ben-Michael, Feller and Rothstein\n(2021) <doi:10.1080/01621459.2021.1929245> and Chen and\nGuestrin (2016) <doi:10.1145/2939672.2939785>.",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "Config/roxygen2/version": "8.1.1",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-11-05 01:30:18 UTC",
    "User": "root"
  },
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-11-04 21:40:13 UTC",
  "RemoteUrl": "https://github.com/cran/SCMs",
  "RemoteRef": "HEAD",
  "RemoteSha": "45446e0307909a174cabf298b17e655f53b84148",
  "_user": "cran",
  "_type": "src",
  "_file": "SCMs_0.1.1.tar.gz",
  "_fileid": "https://r2.ropensci.org/9a03bee18f5dffeded0a07cd85895a2a317997d00ca47a354940688c4e280e2f",
  "_filesize": 569144,
  "_sha256": "9a03bee18f5dffeded0a07cd85895a2a317997d00ca47a354940688c4e280e2f",
  "_expires": "2027-02-13T01:35:04.000Z",
  "_created": "2026-11-05T01:30:18.000Z",
  "_published": "2026-11-05T01:35:06.195Z",
  "_upstream": "https://github.com/cran/SCMs",
  "_status": "success",
  "_maintainer": {
    "name": "Zubin Jelveh",
    "email": "zjelveh@umd.edu",
    "login": "zjelveh",
    "description": "",
    "uuid": 673446
  },
  "_jobs": [
    {
      "job": 126988270304,
      "time": 229,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "13379574398"
    },
    {
      "job": 126988270258,
      "time": 194,
      "config": "linux-release-x86_64",
      "r": "4.6.2",
      "check": "OK",
      "artifact": "13379992795"
    },
    {
      "job": 126986605040,
      "time": 269,
      "config": "source",
      "r": "4.6.2",
      "check": "OK",
      "artifact": "13379363015"
    },
    {
      "job": 126988270109,
      "time": 169,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "13379759174"
    },
    {
      "job": 126988270182,
      "time": 165,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "13379279866"
    },
    {
      "job": 126988270255,
      "time": 156,
      "config": "windows-release-x86_64",
      "r": "4.6.2",
      "check": "OK",
      "artifact": "13379329816"
    }
  ],
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/41948477964",
  "_commit": {
    "id": "45446e0307909a174cabf298b17e655f53b84148",
    "author": "Zubin Jelveh <zjelveh@umd.edu>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 0.1.1\n",
    "time": 1793828413
  },
  "_distro": "resolute",
  "_host": "GitHub-Actions",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "CVXR",
      "version": ">= 1.9.0",
      "role": "Imports"
    },
    {
      "package": "ECOSolveR",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "version": ">= 1.0.7",
      "role": "Imports"
    },
    {
      "package": "foreach",
      "version": ">= 1.5.1",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "version": ">= 3.3.3",
      "role": "Imports"
    },
    {
      "package": "gtable",
      "role": "Imports"
    },
    {
      "package": "kernlab",
      "role": "Imports"
    },
    {
      "package": "cowplot",
      "role": "Imports"
    },
    {
      "package": "optimx",
      "role": "Imports"
    },
    {
      "package": "data.table",
      "role": "Imports"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "parallel",
      "role": "Imports"
    },
    {
      "package": "purrr",
      "version": ">= 0.3.4",
      "role": "Imports"
    },
    {
      "package": "R6",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "stringr",
      "version": ">= 1.4.0",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "version": ">= 3.1.2",
      "role": "Imports"
    },
    {
      "package": "tidyr",
      "version": ">= 1.1.3",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "doParallel",
      "role": "Imports"
    },
    {
      "package": "glmnet",
      "role": "Imports"
    },
    {
      "package": "gridtext",
      "role": "Imports"
    },
    {
      "package": "gridExtra",
      "role": "Imports"
    },
    {
      "package": "generics",
      "role": "Imports"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "clarabel",
      "role": "Suggests"
    },
    {
      "package": "broom",
      "role": "Suggests"
    },
    {
      "package": "xgboost",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-45",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "0.1.1",
      "date": "2026-11-04"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "zjelveh",
      "count": 1,
      "uuid": 673446
    }
  ],
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "followers": 635,
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/SCMs"
  },
  "_devurl": "https://github.com/zjelveh/scms",
  "_searchresults": 0,
  "_rbuild": "4.6.2",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "extra/SCMs.html"
  ],
  "_cranurl": false,
  "_exports": [
    "create_analysis_config",
    "create_scm_dataset",
    "create_xgboost_config",
    "estimate_sc",
    "inference_placebo",
    "inference_sc",
    "plot_spec_curve",
    "run_spec_curve_analysis",
    "run_xgboost_shap_analysis",
    "scdata",
    "scest",
    "scplot",
    "spec_curve",
    "SpecResultsManager",
    "synth"
  ],
  "_help": [
    {
      "page": "augment.scest",
      "title": "Augment Synthetic Control Data with Fitted Values and Residuals",
      "topics": [
        "augment.scest"
      ]
    },
    {
      "page": "b.est.clarabel.ols",
      "title": "Clarabel W Optimization - OLS (Unconstrained)",
      "topics": [
        "b.est.clarabel.ols"
      ]
    },
    {
      "page": "b.est.clarabel.simplex",
      "title": "Clarabel W Optimization - Simplex",
      "topics": [
        "b.est.clarabel.simplex"
      ]
    },
    {
      "page": "b.est.clarabel.unified",
      "title": "Unified Clarabel W Optimization Dispatcher",
      "topics": [
        "b.est.clarabel.unified"
      ]
    },
    {
      "page": "b.est.cvxr.fallback",
      "title": "CVXR fallback function for W optimization",
      "topics": [
        "b.est.cvxr.fallback"
      ]
    },
    {
      "page": "bootstrap_null_inference",
      "title": "Bootstrap-based significance testing under null hypothesis of no treatment effect",
      "topics": [
        "bootstrap_null_inference"
      ]
    },
    {
      "page": "calculate_abadie_significance",
      "title": "Calculate Multiple Test Statistics and Rank-based P-values",
      "topics": [
        "calculate_abadie_significance"
      ]
    },
    {
      "page": "calculate_bootstrap_pvalues",
      "title": "Calculate Bootstrap P-values Using Rank-Based Method",
      "topics": [
        "calculate_bootstrap_pvalues"
      ]
    },
    {
      "page": "calculate_spec_curve_pvalues_filtered",
      "title": "Calculate Placebo-in-Space Curve-Level Inference",
      "topics": [
        "calculate_spec_curve_pvalues_filtered"
      ]
    },
    {
      "page": "coef.scest",
      "title": "Coef Method for Synthetic Control Methods",
      "topics": [
        "coef.scest"
      ]
    },
    {
      "page": "create_analysis_config",
      "title": "Create Configuration for Multiple Dataset Analysis",
      "topics": [
        "create_analysis_config"
      ]
    },
    {
      "page": "create_bootstrap_dataset",
      "title": "Create Bootstrap Dataset by Unit-level Resampling",
      "topics": [
        "create_bootstrap_dataset"
      ]
    },
    {
      "page": "create_scm_dataset",
      "title": "Create Dataset for Synthetic Control Method",
      "topics": [
        "create_scm_dataset"
      ]
    },
    {
      "page": "create_xgboost_config",
      "title": "Create Configuration for Direct Long Format Analysis",
      "topics": [
        "create_xgboost_config"
      ]
    },
    {
      "page": "enforce_null_hypothesis",
      "title": "Enforce Null Hypothesis by Subtracting Treatment Effects",
      "topics": [
        "enforce_null_hypothesis"
      ]
    },
    {
      "page": "estimate_sc",
      "title": "Estimate Synthetic Control Model",
      "topics": [
        "estimate_sc"
      ]
    },
    {
      "page": "formula-interface",
      "title": "Formula-Based Interface for SCMs",
      "topics": [
        "formula-interface"
      ]
    },
    {
      "page": "glance.scest",
      "title": "Extract Model-Level Summary Statistics",
      "topics": [
        "glance.scest"
      ]
    },
    {
      "page": "inference_placebo",
      "title": "Perform placebo inference with multiple test statistics",
      "topics": [
        "inference_placebo"
      ]
    },
    {
      "page": "inference_sc",
      "title": "Perform Placebo Inference for Synthetic Control Results",
      "topics": [
        "inference_sc"
      ]
    },
    {
      "page": "perform_bootstrap_inference",
      "title": "Perform Bootstrap Inference",
      "topics": [
        "perform_bootstrap_inference"
      ]
    },
    {
      "page": "plot_spec_curve",
      "title": "Plot Specification Curve with Internal SHAP Computation and Filtering",
      "topics": [
        "plot_spec_curve"
      ]
    },
    {
      "page": "plot.spec_curve",
      "title": "Plot Method for Specification Curve Results",
      "topics": [
        "plot.spec_curve"
      ]
    },
    {
      "page": "print.scdata",
      "title": "Summary Method for Synthetic Control",
      "topics": [
        "print.scdata"
      ]
    },
    {
      "page": "print.scest",
      "title": "Print Method for Synthetic Control Methods",
      "topics": [
        "print.scest"
      ]
    },
    {
      "page": "print.scest_formula",
      "title": "Print Method for Formula-Based Synthetic Control",
      "topics": [
        "print.scest_formula"
      ]
    },
    {
      "page": "run_spec_curve_analysis",
      "title": "Run Specification Curve Analysis with Multiple Configurations",
      "topics": [
        "run_spec_curve_analysis"
      ]
    },
    {
      "page": "run_xgboost_shap_analysis",
      "title": "Run Direct XGBoost Analysis on Long Format Data",
      "topics": [
        "run_xgboost_shap_analysis"
      ]
    },
    {
      "page": "scdata",
      "title": "Create Synthetic Control Data Structure",
      "topics": [
        "scdata"
      ]
    },
    {
      "page": "scest",
      "title": "Synthetic Control Estimation for Single Treated Unit",
      "topics": [
        "scest"
      ]
    },
    {
      "page": "scplot",
      "title": "Plot Synthetic Control Point Estimates and Prediction Interval",
      "topics": [
        "scplot"
      ]
    },
    {
      "page": "solve_qp_clarabel",
      "title": "Solve QP using Clarabel for V optimization",
      "topics": [
        "solve_qp_clarabel"
      ]
    },
    {
      "page": "spec_curve",
      "title": "*CORE ENGINE* - Specification Curve Computation",
      "topics": [
        "spec_curve"
      ]
    },
    {
      "page": "spec_curve-methods",
      "title": "S3 Methods for Specification Curve Objects",
      "topics": [
        "print.spec_curve",
        "spec_curve-methods"
      ]
    },
    {
      "page": "SpecResultsManager",
      "title": "Specification Results Storage Manager",
      "topics": [
        "SpecResultsManager"
      ]
    },
    {
      "page": "summary.scdata",
      "title": "Summary Method for Synthetic Control Prediction",
      "topics": [
        "summary.scdata"
      ]
    },
    {
      "page": "summary.scest",
      "title": "Summary Method for Synthetic Control Prediction",
      "topics": [
        "summary.scest"
      ]
    },
    {
      "page": "summary.scest_formula",
      "title": "Summary Method for Formula-Based Synthetic Control",
      "topics": [
        "summary.scest_formula"
      ]
    },
    {
      "page": "summary.spec_curve",
      "title": "Summary Method for Specification Curve Results",
      "topics": [
        "summary.spec_curve"
      ]
    },
    {
      "page": "synth",
      "title": "Synthetic Control with Formula Interface",
      "topics": [
        "synth"
      ]
    },
    {
      "page": "tidy-methods",
      "title": "Broom-Compatible Tidy Methods for Synthetic Control Objects",
      "topics": [
        "tidy-methods"
      ]
    },
    {
      "page": "tidy.scest",
      "title": "Extract Synthetic Control Weights in Tidy Format",
      "topics": [
        "tidy.scest"
      ]
    },
    {
      "page": "tidy.spec_curve",
      "title": "Extract Specification Curve Results in Tidy Format",
      "topics": [
        "tidy.spec_curve"
      ]
    }
  ],
  "_readme": "https://github.com/cran/SCMs/raw/HEAD/README.md",
  "_rundeps": [
    "backports",
    "checkmate",
    "clarabel",
    "cli",
    "codetools",
    "cowplot",
    "cpp11",
    "curl",
    "CVXR",
    "data.table",
    "doParallel",
    "dplyr",
    "ECOSolveR",
    "farver",
    "foreach",
    "generics",
    "ggplot2",
    "glmnet",
    "glue",
    "gmp",
    "gridExtra",
    "gridtext",
    "gtable",
    "highs",
    "isoband",
    "iterators",
    "jpeg",
    "kernlab",
    "labeling",
    "lattice",
    "lifecycle",
    "litedown",
    "magrittr",
    "markdown",
    "Matrix",
    "nloptr",
    "numDeriv",
    "optimx",
    "osqp",
    "pillar",
    "pkgconfig",
    "png",
    "pracma",
    "purrr",
    "R6",
    "RColorBrewer",
    "Rcpp",
    "RcppEigen",
    "rlang",
    "S7",
    "scales",
    "scs",
    "shape",
    "slam",
    "stringi",
    "stringr",
    "survival",
    "tibble",
    "tidyr",
    "tidyselect",
    "utf8",
    "vctrs",
    "viridisLite",
    "withr",
    "xfun",
    "xml2"
  ],
  "_vignettes": [
    {
      "source": "advanced-features.Rmd",
      "filename": "advanced-features.html",
      "title": "Advanced Features: Customization and Optimization",
      "author": "SCMs Package Authors",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Advanced Features and Customization",
        "Performance Optimization",
        "Large-Scale Specification Curves",
        "Parallel Processing Configuration",
        "Custom Constraint Specifications",
        "Advanced Solver Configuration",
        "Memory Management for Large Analyses",
        "Using the SpecResultsManager",
        "Batch Processing for Extremely Large Specification Spaces",
        "Advanced Visualization",
        "Custom Specification Curve Plots",
        "SHAP Value Analysis and Visualization",
        "Methodological Extensions",
        "Custom Inference Methods",
        "Custom Feature Engineering",
        "Integration with External Tools",
        "XGBoost and SHAP Integration",
        "Database Integration for Large Datasets",
        "Computational Considerations",
        "Memory Profiling",
        "Optimization Recommendations",
        "Conclusion",
        "References"
      ],
      "created": "2026-11-04 21:40:13",
      "modified": "2026-11-04 21:40:13",
      "commits": 1
    },
    {
      "source": "complete-workflow.Rmd",
      "filename": "complete-workflow.html",
      "title": "Complete Workflow: California Tobacco Control Program Analysis",
      "author": "SCMs Package Authors",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Complete Workflow Example",
        "Background",
        "Data Preparation",
        "Load and Examine Data",
        "Exploratory Data Analysis",
        "Specification Curve Analysis Setup",
        "Define Covariate Specifications",
        "Configuration Options",
        "Run Specification Curve Analysis",
        "Execute Analysis",
        "Analyze Results",
        "Basic Results Summary",
        "Visualize Specification Curve",
        "Statistical Inference",
        "Interpretation and Robustness",
        "Effect Size Analysis",
        "Robustness Assessment",
        "SHAP Value Analysis",
        "Policy Implications",
        "Key Findings",
        "Methodological Insights",
        "Practical Recommendations",
        "Conclusion",
        "References"
      ],
      "created": "2026-11-04 21:40:13",
      "modified": "2026-11-04 21:40:13",
      "commits": 1
    },
    {
      "source": "introduction.Rmd",
      "filename": "introduction.html",
      "title": "Introduction to SCMs: Synthetic Control Methods with Specification Curve Analysis",
      "author": "SCMs Package Authors",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "What are Synthetic Control Methods?",
        "Why Specification Curve Analysis?",
        "Package Highlights",
        "Basic Workflow",
        "Quick Start Example",
        "Create Example Data",
        "Basic Synthetic Control Analysis",
        "Specification Curve Analysis",
        "Understanding the Output",
        "Treatment Effect Distribution",
        "Key Interpretations",
        "Statistical Inference",
        "SHAP Value Interpretation",
        "Next Steps",
        "References"
      ],
      "created": "2026-11-04 21:40:13",
      "modified": "2026-11-04 21:40:13",
      "commits": 1
    }
  ],
  "_score": 3.1760912590556813,
  "_indexed": true,
  "_nocasepkg": "scms",
  "_universes": [
    "cran",
    "zjelveh"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.1",
      "date": "2026-11-05T01:32:55.000Z",
      "distro": "resolute",
      "commit": "45446e0307909a174cabf298b17e655f53b84148",
      "fileid": "https://r2.ropensci.org/57e4e64c003ddb3b8ce288ce6efa0c5d386b720760cc1665a7e39d3681cf7e8d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/41948477964"
    },
    {
      "r": "4.6.2",
      "os": "linux",
      "version": "0.1.1",
      "date": "2026-11-05T01:32:50.000Z",
      "distro": "resolute",
      "commit": "45446e0307909a174cabf298b17e655f53b84148",
      "fileid": "https://r2.ropensci.org/7ed321b7c9a046bcb9bd7f5cf9e6d87870c341918fdce568e517b65d5ebb71ae",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/41948477964"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.1",
      "date": "2026-11-05T01:33:35.000Z",
      "commit": "45446e0307909a174cabf298b17e655f53b84148",
      "fileid": "https://r2.ropensci.org/79e23a913c15a555c8ac4843dbbf08fa2b0afca4af8269178d92f722ac1f676c",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/41948477964"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.1",
      "date": "2026-11-05T01:31:43.000Z",
      "commit": "45446e0307909a174cabf298b17e655f53b84148",
      "fileid": "https://r2.ropensci.org/1f6c317c1e4bb20f03f5369a084fdf9ec5ffb5e217002bb72a7fd915f7cd0533",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/41948477964"
    },
    {
      "r": "4.6.2",
      "os": "win",
      "version": "0.1.1",
      "date": "2026-11-05T01:31:54.000Z",
      "commit": "45446e0307909a174cabf298b17e655f53b84148",
      "fileid": "https://r2.ropensci.org/01c3384fcd2612ec12ea9acfaad94f64ddae35df6c99dbd21dc3382e82748590",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/41948477964"
    }
  ]
}