{"slug": "compute-the-comparison-without-inventing-the-study", "title": "Compute the comparison without inventing the study", "summary": "The RigorMed team published a self-written synthetic teaching example showing how a small standard-library Python worksheet can compute named differences between two group summaries without asserting a causal effect. In the invented table, both groups improved by 18 points, so the difference in changes is zero, while sample size, uncertainty and causal effect are explicitly marked as not supplied. The team notes it did not run a model evaluation or apply a formal risk-of-bias instrument, and frames the worksheet as a way to organize source-linked questions rather than certify a study.", "body_md": "A claim-check worksheet can start with arithmetic and stop before making an unsupported research conclusion. That boundary matters when a table is handed to an AI: a fluent explanation can silently turn a difference into an effect.\n\nWe are the RigorMed team. This example is self-written synthetic teaching material. It contains two group summaries, no participants and no observed research results. We executed only the small standard-library Python calculation below. We did not install or execute the full third-party scientific-critical-thinking Skill, run a model evaluation, or start a production research task.\n\nImagine two voluntarily formed groups using and not using a learning tool:\n\n| Group | Baseline score | Final score | \n|---|---|---|\n| Tool use | 60 | 78 | \n| No tool use | 52 | 70 | \n\nThe final scores differ by 8. But the baseline scores also differ by 8. If the question concerns changes, comparing only the final values hides a relevant part of the table.\n\nHere is the entire calculation:\n\n``` python\nfrom dataclasses import dataclass\n\n@dataclass(frozen=True)\nclass GroupSummary:\n    baseline: int\n    final: int\n\n    @property\n    def change(self) -> int:\n        return self.final - self.baseline\n\nuse = GroupSummary(baseline=60, final=78)\nnonuse = GroupSummary(baseline=52, final=70)\n\nworksheet = {\n    \"use_change\": use.change,\n    \"nonuse_change\": nonuse.change,\n    \"baseline_difference\": use.baseline - nonuse.baseline,\n    \"final_difference\": use.final - nonuse.final,\n    \"difference_in_changes\": use.change - nonuse.change,\n    \"sample_size\": \"not supplied\",\n    \"uncertainty\": \"not supplied\",\n    \"causal_effect\": \"not identified from these summaries\",\n}\nprint(worksheet)\n```\n\nActual local output:\n\n```\n{'use_change': 18, 'nonuse_change': 18, 'baseline_difference': 8, 'final_difference': 8, 'difference_in_changes': 0, 'sample_size': 'not supplied', 'uncertainty': 'not supplied', 'causal_effect': 'not identified from these summaries'}\n```\n\nThe last three fields are deliberately not numeric. Missing sample size is not zero participants. An absent uncertainty estimate is not zero uncertainty. The program computes the named differences; it has no evidence with which to decide why they occurred.\n\nThe zero is the arithmetic difference between two changes in this invented table. It does not by itself establish equivalence, rule out an effect, or validate a causal model. We have not supplied a design or assumptions that identify a causal effect, and voluntary group membership can leave important differences unaddressed.\n\nCalling this number a difference in changes is a description. Treating it as a causal estimate would require a separate argument about the design, measurement, selection and relevant assumptions. Picking a sophisticated method name cannot supply that argument retrospectively.\n\nFor a lawful source paper, a useful AI request is:\n\nIdentify the comparison that each conclusion uses. Separate observations, interpretations and causal claims. For each, preserve the source passage or table location and list the design information needed to support the interpretation. Do not invent sample sizes, uncertainty estimates, allocation details or analytical assumptions. Mark what remains unidentified.\n\nReview the sheet against the original paper. An abstract may omit details found in methods or supplements, so a missing field in an abstract should remain a reading gap until checked. A claim-check sheet organises questions; it does not certify a study or replace the researcher's appraisal.\n\nThe task-oriented structure was informed by K-Dense's public scientific-critical-thinking guidance, version 1.5 as read on November 5, 2026, including its design, confounding and observation-versus-inference notes. The numbers, code and worksheet above are our own teaching example. We have not applied a formal risk-of-bias instrument or produced a clinical decision.\n\nResearchers who want to organise lawful papers into source-linked reading notes can describe that task in the [RigorMed research workspace](https://rigormed.com/en?utm_source=dev&utm_medium=article&utm_campaign=d53_noon). Model work uses the displayed credits. Checking the original sources and deciding what the design supports remain the researcher's work.", "url": "https://wpnews.pro/news/compute-the-comparison-without-inventing-the-study", "canonical_source": "https://dev.to/nanchuangresearch/compute-the-comparison-without-inventing-the-study-3noc", "published_at": "2026-11-05 06:14:38+00:00", "updated_at": "2026-11-05 06:24:01.352854+00:00", "lang": "en", "topics": ["ai-safety", "ai-research"], "entities": ["RigorMed", "K-Dense"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/compute-the-comparison-without-inventing-the-study", "markdown": "https://wpnews.pro/news/compute-the-comparison-without-inventing-the-study.md", "text": "https://wpnews.pro/news/compute-the-comparison-without-inventing-the-study.txt", "jsonld": "https://wpnews.pro/news/compute-the-comparison-without-inventing-the-study.jsonld"}}