Skip to content

Commit 8366f50

Browse files
igerberclaude
andcommitted
Use .rst#anchor form for nbsphinx local-file resolution
CI sphinx-build -W failed on the prior practitioner_decision_tree fix: WARNING: File not found: 'practitioner_decision_tree.html#few-test-markets' [nbsphinx.localfile] nbsphinx's localfile resolver checks the target as a source-side file. .html does not exist as a source artifact (only after build), so the warning fires; -W escalates to error. The .rst#anchor form satisfies both constraints: nbsphinx finds the source .rst, and Sphinx/nbsphinx renders the link to .html#anchor in the built HTML (verified locally via make -C docs clean && make html SPHINXOPTS="-W"; produced practitioner_decision_tree.html#few-test-markets with the matching id="few-test-markets" target in the rendered page). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 35a4337 commit 8366f50

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

docs/tutorials/18_geo_experiments.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
"cell_type": "markdown",
4141
"id": "t18-cell-005",
4242
"metadata": {},
43-
"source": "**Why diff-diff.** The diff-diff library implements Synthetic Difference-in-Differences following [Arkhangelsky et al. (2021)](https://www.aeaweb.org/articles?id=10.1257/aer.20190159) - both the unit weights and the time weights, the placebo standard error procedure from the paper, and full panel-data interpretability. Implementation details and any documented deviations from the R `synthdid` reference are tracked in [`docs/methodology/REGISTRY.md`](https://github.com/igerber/diff-diff/blob/main/docs/methodology/REGISTRY.md).\n\nThis tutorial sits in SDiD's documented sweet spot: a small number of treated markets in a larger pool of donor controls, where basic DiD's averaging doesn't help and you need a counterfactual built specifically for your treated markets. The library's [practitioner decision tree](../practitioner_decision_tree.html#few-test-markets) puts SyntheticDiD on the \"Few Test Markets\" branch for exactly this reason.\n\nIf you've been using GeoLift, CausalImpact, or rolling your own synthetic control in pandas, this tutorial gives you the canonical SDiD implementation in Python with the diagnostics, inference, and stakeholder packaging in one place."
43+
"source": "**Why diff-diff.** The diff-diff library implements Synthetic Difference-in-Differences following [Arkhangelsky et al. (2021)](https://www.aeaweb.org/articles?id=10.1257/aer.20190159) - both the unit weights and the time weights, the placebo standard error procedure from the paper, and full panel-data interpretability. Implementation details and any documented deviations from the R `synthdid` reference are tracked in [`docs/methodology/REGISTRY.md`](https://github.com/igerber/diff-diff/blob/main/docs/methodology/REGISTRY.md).\n\nThis tutorial sits in SDiD's documented sweet spot: a small number of treated markets in a larger pool of donor controls, where basic DiD's averaging doesn't help and you need a counterfactual built specifically for your treated markets. The library's [practitioner decision tree](../practitioner_decision_tree.rst#few-test-markets) puts SyntheticDiD on the \"Few Test Markets\" branch for exactly this reason.\n\nIf you've been using GeoLift, CausalImpact, or rolling your own synthetic control in pandas, this tutorial gives you the canonical SDiD implementation in Python with the diagnostics, inference, and stakeholder packaging in one place."
4444
},
4545
{
4646
"cell_type": "code",

0 commit comments

Comments
 (0)