Report and provenance schemas¶
result.report() returns a detached ResultReport. Its dictionary and JSON
forms use report schema version 1.2. Provenance nested within the report has
its own schema version, currently 1.0.
Export methods¶
report = result.report(include_studies=True)
payload = report.to_dict()
json_text = report.to_json(indent=2)
markdown = report.to_markdown()
to_dict() returns a defensive copy. JSON uses standard values only:
unavailable or non-finite statistical numbers become null, and timestamps or
other non-JSON study labels become stable strings.
Single-analysis report¶
Top-level keys in schema 1.2 for a single pooled analysis are:
| Key | Meaning |
|---|---|
schema_version |
Report schema identifier ("1.2") |
report_type |
"meta_analysis" |
analysis |
Analysis identity and study counts |
results |
Pooled results on model and display scales |
heterogeneity |
Q, I-squared, H-squared, and definition |
method |
Fully resolved MethodConfig |
diagnostics |
Convergence metadata |
provenance |
Versioned input/transformation history |
warnings |
Recoverable analysis notes |
studies |
Row records when include_studies=True |
method_details |
Generated Methods-style text |
analysis¶
model, measure, effect_scale, display_scale,
included_studies, total_rows
results¶
estimate, standard_error, ci, prediction_interval,
display_estimate, display_ci, display_prediction_interval, tau2
Intervals are two-element arrays or null when unavailable.
heterogeneity¶
q, df, pvalue, i2, h2, i2_method
i2 is a proportion. i2_method is q_based or
tau2_typical_variance.
method¶
model, pooling_method, tau2_method, ci_method, confidence_level,
prediction_interval_method, missing, atol, max_iter, options
options is an object containing resolved outcome-specific choices. Binary
examples include continuity corrections and RD boundary policy; continuous
SMD options identify its estimator, standardizer, and variance convention.
diagnostics¶
converged, iterations, tau2_at_boundary
studies¶
Each record corresponds to one input row and follows the columns documented for the outcome-specific study table. Excluded rows remain present. Omit this potentially large field with:
compact = result.report(include_studies=False)
Provenance schema 1.0¶
The nested provenance object contains:
| Key | Meaning |
|---|---|
package_version |
Version that fitted the result |
schema_version |
Provenance schema identifier ("1.0") |
analysis_type |
generic, binary, continuous, or meta_regression |
data_source |
pandas_dataframe, array_like, or derived_subset |
input_fields |
Ordered input source records |
column_mapping |
Public input roles mapped to DataFrame columns |
row_count |
Number of rows represented by this provenance record |
included_rows, excluded_rows |
Original integer row IDs |
transformations |
Configured transformation records |
Each input field has role, source, and nullable column. Supported source
values are column, array, dataframe_index, and
generated_row_number.
Each transformation has:
name, parameters, affected_rows
Parameters contain resolved settings, not inferred defaults. A transformation
with an empty affected_rows list still records that the policy was configured.
Subgroup report¶
For subgroup results, report_type is "subgroup_meta_analysis". Top-level
keys are:
schema_version, report_type, overall, groups, subgroup_differences,
method_details, warnings, studies
overall and every item in groups use the single-analysis nested payload.
Each group item has label and result. subgroup_differences contains:
q, df, pvalue, i2, tau2_strategy, test_method, subgroup_missing
The optional top-level studies table contains the combined subgroup column.
Meta-regression report¶
For Meta-regression results, report_type is "meta_regression". Top-level
keys are:
schema_version, report_type, analysis, coefficients,
coefficient_covariance, residual_heterogeneity, global_moderator_test,
design, method, diagnostics, provenance, warnings, method_details, studies
coefficients follows the table documented under
result objects. The covariance object
contains its ordered terms and a square values matrix.
residual_heterogeneity contains:
qe, df, pvalue, i2, h2, i2_method,
tau2, tau2_null, pseudo_r2, pseudo_r2_raw
global_moderator_test records the tested terms, statistic name,
distribution, numerator and optional denominator degrees of freedom, and
p-value. design records the intercept, ordered encoded terms, original
moderators, categorical levels, and references.
Meta-regression diagnostics add rank, condition_number, and
residual_scale. Its optional study records include original moderators,
fitted values, residuals, precision weights, and leverage.
Markdown representation¶
to_markdown() is intended for review and reporting, not as a lossless
serialization format. It contains results, generated method details,
provenance/diagnostic highlights, exclusions, and warnings. Use dictionary or
JSON output for programmatic consumers.
Schema compatibility¶
The package is early-stage, so consumers should inspect schema_version,
tolerate unknown additive fields, and pin the package version used in a
production pipeline. A schema change is recorded separately from the package
version so parsers can make an explicit compatibility decision.