Inferensys

Prompt

Cherry-Picked Data Detection Prompt

A practical prompt playbook for using the Cherry-Picked Data Detection Prompt in production verification QA and adversarial testing workflows.
Data scientist building training data pipeline on laptop, data preprocessing visible, technical workspace.
PROMPT PLAYBOOK

When to Use This Prompt

Define the job, reader, and constraints for the Cherry-Picked Data Detection Prompt.

This prompt is a red-team and QA instrument designed to stress-test a verification pipeline's resilience against selective evidence. Its primary job is to identify claims that are technically true but misleading because they rely on outlier data points, truncated time ranges, or suppressed baselines. The ideal user is a verification system tester, a QA engineer, or an MLOps engineer who is responsible for probing a production fact-checking system for failure modes before deployment. You should use this prompt when you have a claim that appears to be supported by a specific data point, and you need to automatically flag whether the supporting evidence is unrepresentative of the broader dataset or context.

This prompt is not a general-purpose fact-checking tool. Do not use it to verify a claim against a knowledge base, to assess source authority, or to detect outright falsehoods. It is specifically designed for the adversarial testing scenario where the input is a claim-evidence pair that has already been extracted and matched. The prompt's value is in its ability to articulate missing context—such as an unmentioned time period, a suppressed baseline, or a conveniently ignored subgroup—that a naive verification system would miss. For example, a claim that 'profits increased 20% in Q3' is not false if it's true, but this prompt should flag it if the evidence ignores a 30% drop in Q2, revealing the cherry-pick.

Before integrating this prompt into a test suite, you must define the expected output schema and evaluation criteria. A successful detection not only flags the claim as cherry-picked but also specifies the missing context and the additional evidence fields required for a fair assessment. The next step is to pair this prompt with a set of known cherry-picked and non-cherry-picked examples to measure its precision and recall. Avoid deploying this as a user-facing feature without a human review step, as an overzealous detection model could incorrectly flag legitimate, focused analysis as cherry-picking, eroding user trust.

PRACTICAL GUARDRAILS

Use Case Fit

Where the Cherry-Picked Data Detection Prompt delivers value and where it introduces risk. Use these cards to decide whether this prompt fits your verification pipeline stage before integrating it.

01

Good Fit: Pre-Publication Statistical Review

Use when: reviewing drafts that cite numerical trends, survey results, or A/B test outcomes before release. Guardrail: Run the prompt against the full source dataset, not just the author's excerpt. Flag any claim where the prompt's required-evidence fields cannot be populated from the provided data.

02

Good Fit: Adversarial QA for Verification Pipelines

Use when: stress-testing a production fact-checking system with claims designed to exploit selective evidence. Guardrail: Feed the prompt claims paired with deliberately truncated datasets. Measure whether it correctly identifies the missing time range or suppressed baseline rather than accepting the cherry-picked framing.

03

Bad Fit: Real-Time Claim Scoring Without Source Data

Avoid when: the system only has the claim text and no access to the underlying dataset or methodology section. Risk: The prompt may hallucinate plausible missing-context indicators without evidence. Guardrail: Gate invocation behind a data-availability check. If the source data is absent, route to 'unverifiable' rather than running this prompt.

04

Bad Fit: General-Purpose Misinformation Flagging

Avoid when: the task is broad content moderation rather than specific numerical or trend-claim verification. Risk: The prompt is tuned for statistical selectivity patterns and will miss fabricated quotes, logical fallacies, or non-quantitative deception. Guardrail: Use this prompt only after a claim classifier confirms the input contains a quantitative assertion.

05

Required Inputs: Structured Evidence and Claim Pair

Operational requirement: The prompt needs both the claim text and the source data (CSV, table, or structured summary) to function. Guardrail: Implement a schema validator that rejects requests missing either field. Without the source data, the prompt cannot detect what was excluded and will produce unreliable missing-context flags.

06

Operational Risk: Over-Confidence on Ambiguous Baselines

What to watch: The prompt may assert a baseline was suppressed when the original source simply used a different but defensible comparison point. Guardrail: Add a post-processing rule that downgrades confidence when the 'missing baseline' flag fires without explicit contradiction in the provided data. Route such outputs for human review rather than auto-rejecting the claim.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

A reusable prompt template for detecting cherry-picked data claims, with placeholders for inputs, constraints, and output schema.

This template is designed to be copied directly into your verification harness. It instructs the model to act as a statistical-evidence auditor, analyzing a claim for signs of selective data presentation. The prompt uses square-bracket placeholders for all dynamic inputs, allowing you to swap in different claims, evidence contexts, output schemas, and risk-level constraints without rewriting the core instruction logic. The template is structured to force the model to identify missing baselines, truncated time ranges, outlier reliance, and suppressed comparison groups before rendering a verdict.

text
You are a verification auditor specialized in detecting cherry-picked data. Your task is to analyze a factual claim and determine whether it relies on selective evidence presentation. You must not evaluate the truth of the claim itself, but rather whether the supporting data pattern is representative.

## INPUT
Claim: [CLAIM_TEXT]
Provided Evidence Context (if any): [EVIDENCE_CONTEXT]
Domain: [DOMAIN]

## OUTPUT SCHEMA
Return a single JSON object with the following fields:
{
  "cherry_picking_detected": boolean,
  "cherry_picking_patterns": [
    {
      "pattern_type": "truncated_time_range" | "suppressed_baseline" | "outlier_highlighting" | "missing_comparison_group" | "subgroup_isolation" | "other",
      "description": "string explaining the specific pattern found",
      "missing_context": "string describing what context or data is absent"
    }
  ],
  "required_evidence_for_fair_verification": ["string"],
  "confidence": "high" | "medium" | "low",
  "rationale": "string explaining the overall assessment"
}

## CONSTRAINTS
- Do not evaluate the truth of the claim itself. Only assess whether the data presentation pattern is selective.
- If no evidence context is provided, flag the claim as unverifiable and list the minimum evidence required.
- If the claim contains numerical comparisons, check for missing baselines, denominators, or timeframes.
- If the claim references a study or dataset, check for omitted subgroups, time windows, or conditions.
- For [RISK_LEVEL] = "high", require explicit source grounding before any pattern flag. For "low", flag patterns based on structural analysis alone.
- If you cannot determine whether cherry-picking occurred, set confidence to "low" and explain what information is missing.

## EXAMPLES
[EXAMPLES]

To adapt this template, replace each square-bracket placeholder with your application's runtime values. [CLAIM_TEXT] should receive the raw claim string from your extraction pipeline. [EVIDENCE_CONTEXT] can be populated with retrieved passages, source metadata, or left empty to test abstention behavior. [DOMAIN] helps the model calibrate its expectations—a medical claim requires different baseline awareness than a financial one. [RISK_LEVEL] controls the strictness of the grounding requirement; wire this to your triage router so high-risk claims demand source evidence before any pattern is flagged. [EXAMPLES] should be replaced with 2–4 few-shot demonstrations showing correct output for both cherry-picked and representative claims. If you are using this prompt in a batch verification pipeline, ensure the output JSON is validated against the schema before the next stage consumes it. For adversarial testing, inject claims with known cherry-picking patterns and verify that the model correctly identifies the pattern type rather than just returning a boolean.

IMPLEMENTATION TABLE

Prompt Variables

Required and optional inputs for the Cherry-Picked Data Detection Prompt. Each placeholder must be populated before the prompt is sent to the model. Validation notes describe how to check input quality before execution.

PlaceholderPurposeExampleValidation Notes

[CLAIM_TEXT]

The full text of the claim to analyze for cherry-picked data patterns

Company X revenue grew 40% in Q2 2024, proving our turnaround strategy works.

Must be a single, self-contained claim. Reject if empty, under 10 words, or contains multiple unrelated assertions. Pre-process with claim-splitting if needed.

[EVIDENCE_SOURCES]

Supporting data, citations, or source material provided alongside the claim

Q2 2024 earnings report, Table 3; Q1 2024 earnings report, Table 3; FY 2023 annual report, Revenue section.

Must contain at least one identifiable source reference. Reject if null or contains only vague references like 'industry reports.' Each source should have a label for citation.

[TIME_RANGE_CONTEXT]

The full temporal scope relevant to evaluating the claim fairly

Monthly revenue data from Q1 2022 through Q2 2024, including seasonal adjustments.

Must specify start and end points. Flag if range is narrower than the claim's implied scope. Null allowed only if claim makes no temporal assertion.

[BASELINE_OR_COMPARISON]

The reference point, control group, or comparison frame the claim implies or omits

Industry average growth rate: 12% for same period; Company X 5-year average quarterly growth: 8%.

Must include at least one comparison value. Flag if baseline is cherry-picked to make the claim look favorable. Null allowed if claim is absolute rather than comparative.

[DOMAIN_KNOWLEDGE_NOTES]

Optional domain context about standard reporting practices, known cycles, or common cherry-picking patterns in this field

Q2 typically shows seasonal revenue spikes in this industry; standard reporting uses trailing 12-month averages.

Optional field. If provided, must be factual and sourced. Reject if contains speculative or unverified assertions. Use to calibrate detection sensitivity.

[OUTPUT_FORMAT]

The expected structure for the detection report

JSON with fields: cherry_pick_flags, missing_context_indicators, required_evidence_fields, confidence_score, explanation.

Must specify a valid schema. Default to structured JSON if not provided. Reject if format conflicts with downstream ingestion requirements.

[SENSITIVITY_THRESHOLD]

The detection sensitivity level controlling false-positive vs false-negative trade-off

high

Must be one of: low, medium, high. Low favors precision (fewer false flags), high favors recall (more flags, including borderline cases). Default to medium if not specified.

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the Cherry-Picked Data Detection Prompt into an automated verification pipeline with validation, retries, and human review routing.

This prompt is designed as a pre-screening filter in a verification pipeline, not a standalone tool. It should sit between claim extraction and evidence matching, flagging claims that exhibit cherry-picking patterns before they consume expensive retrieval and comparison resources. The prompt expects a single claim with its surrounding context and outputs a structured JSON object containing cherry-picking indicators, missing-context fields, and a recommended action. Wire it as a synchronous API call with a strict timeout (5-10 seconds for most models) and a JSON schema validator on the output side.

Integration pattern: Place this prompt after claim decomposition and before evidence retrieval. For each extracted claim, construct the [CLAIM] and [SOURCE_CONTEXT] variables from the upstream extraction step. The [DOMAIN] variable should be populated from a taxonomy lookup or user-provided category. Set [EVIDENCE_STANDARD] based on your use case—use 'strict' for regulated domains (finance, healthcare) and 'standard' for general content. The model returns a JSON object with fields: cherry_picking_detected (boolean), pattern_type (enum: truncated_time_range, suppressed_baseline, outlier_selection, false_dichotomy, none), missing_context_indicators (array of strings), required_evidence_fields (array of strings), confidence (0-1 float), and recommended_action (enum: proceed_to_verification, flag_for_review, reject_claim). Validate this schema immediately after the model response. If validation fails, retry once with the same input plus the validation error message appended as [PREVIOUS_ERROR]. If the second attempt also fails, route to a human review queue with the raw output attached.

Model choice and cost control: Use a fast, instruction-following model for this detection step—GPT-4o-mini, Claude 3.5 Haiku, or Gemini 1.5 Flash are good candidates. The prompt is classification-oriented with structured output, so larger models rarely improve accuracy enough to justify the latency and cost increase. Batch claims in groups of 10-20 per request if your pipeline supports it, but avoid batching if claim context varies significantly, as the model may confuse which context belongs to which claim. Log every detection result with the claim ID, pattern type, confidence score, and recommended action. This log becomes your audit trail for downstream verification decisions and helps tune the confidence threshold for auto-rejection versus human review. Start with a conservative threshold of 0.7 for flag_for_review and 0.9 for reject_claim, then adjust based on false-positive rates observed in your domain.

Failure modes to monitor: The most common production failure is false positives on legitimate narrow-scope claims—a claim that correctly cites a specific time period or data subset without deceptive intent. Mitigate this by always passing the full [SOURCE_CONTEXT] and not just the claim text. The second failure mode is missed cherry-picking when the baseline is implicit—the model may not flag a claim if the missing baseline isn't explicitly referenced in the context. For high-stakes domains, add a post-detection step that queries a knowledge base for standard baselines in the claim's domain before finalizing the detection result. Finally, watch for confidence score inflation on ambiguous claims; if your logs show high confidence on claims later proven to be cherry-picked, recalibrate by adding few-shot examples of ambiguous cases to the prompt or lowering your action thresholds.

IMPLEMENTATION TABLE

Expected Output Contract

Fields, types, and validation rules for the Cherry-Picked Data Detection Prompt output. Use this contract to parse, validate, and route the model response before it enters downstream verification or review queues.

Field or ElementType or FormatRequiredValidation Rule

cherry_pick_flags

array of objects

Must be a JSON array. Each element must contain 'claim_id', 'pattern', and 'confidence' fields. Empty array is valid when no cherry-picking is detected.

cherry_pick_flags[].claim_id

string

Must match a claim_id from the input claims array. Non-matching IDs trigger a schema rejection.

cherry_pick_flags[].pattern

enum string

Must be one of: 'outlier_selection', 'truncated_time_range', 'suppressed_baseline', 'favorable_subgroup', 'selective_variable_reporting', 'p_hacking', 'other'. Unknown values trigger a validation warning.

cherry_pick_flags[].confidence

number

Must be a float between 0.0 and 1.0 inclusive. Values outside this range trigger a schema rejection.

cherry_pick_flags[].rationale

string

Must be a non-empty string with at least 20 characters. Shorter rationales trigger a completeness warning.

missing_context_indicators

array of strings

Must be a JSON array of strings. Each string must be non-empty. Empty array is valid when no missing context is identified.

required_evidence_fields

array of strings

Must be a JSON array of strings. Each string must name a specific evidence field needed for fair verification. Empty array triggers a completeness warning.

overall_assessment

string

Must be one of: 'likely_cherry_picked', 'possibly_cherry_picked', 'no_cherry_picking_detected', 'insufficient_data'. Unknown values trigger a schema rejection.

PRACTICAL GUARDRAILS

Common Failure Modes

Cherry-picked data detection prompts are brittle against subtle framing tricks. These failure modes surface where the prompt silently accepts a skewed baseline, truncated range, or missing denominator—and how to prevent it.

01

Missing Baseline Comparison

What to watch: The prompt accepts a claim like 'Sales up 40% in June' without asking 'compared to what?' The model may flag the claim as supported if the raw number exists in the source, ignoring the missing baseline. Guardrail: Add a required field in the output schema for baseline_period and baseline_value. If absent, the prompt must return baseline_missing: true and downgrade the verification confidence.

02

Truncated Time Range Acceptance

What to watch: A source picks a convenient start date that shows a positive trend while hiding a longer decline. The prompt verifies the data point but not the range selection itself. Guardrail: Instruct the prompt to extract the full available time series from the source and compare the claimed range against the maximum available range. Flag any claim where the selected window is less than 50% of the available data without explicit justification.

03

Suppressed Denominator Blindness

What to watch: '500% increase in incidents' sounds alarming, but the prompt fails to check that the base rate went from 1 to 5. The model verifies the arithmetic without surfacing the small-sample distortion. Guardrail: Require the prompt to extract both numerator and denominator for any percentage or ratio claim. Add a small_sample_warning flag when the denominator is below a configurable threshold, and include the absolute numbers in the output.

04

Cherry-Picked Subgroup Overgeneralization

What to watch: A claim reports results for a filtered subgroup (e.g., 'users aged 25-30 in urban areas') as if it represents the whole population. The prompt verifies the subgroup data but misses the overgeneralization. Guardrail: Add a population_scope field to the output schema. Require the prompt to compare the claimed population against the actual study population and flag scope_mismatch when the claim implies a broader group than the source supports.

05

Outlier-as-Trend Misclassification

What to watch: A single outlier data point is presented as evidence of a trend. The prompt checks the value exists but doesn't assess whether it's representative of the broader dataset. Guardrail: Instruct the prompt to request or compute a measure of central tendency (mean, median) and dispersion (standard deviation, IQR) for the relevant dataset. Flag any claim where the cited data point falls outside 2 standard deviations without an explicit outlier disclosure.

06

Confirmation Bias in Evidence Selection

What to watch: The prompt is given a claim and a source document, and it searches only for confirming evidence, ignoring contradictory data in the same source. Guardrail: Add an explicit instruction: 'Before returning a verification result, search the source for both supporting AND contradicting evidence. If contradictory evidence exists in the same source, you must report it in the counter_evidence field.' Include a one_sided_check flag in the output schema.

IMPLEMENTATION TABLE

Evaluation Rubric

Use this rubric to evaluate the Cherry-Picked Data Detection Prompt's output quality before deployment. Each criterion targets a specific failure mode of selective-evidence reasoning.

CriterionPass StandardFailure SignalTest Method

Outlier Data Point Identification

Output explicitly flags claims supported only by extreme values or single data points outside the main distribution

Output treats an outlier as representative evidence without noting its statistical position or fails to mention the data point at all

Feed a claim citing a 99th-percentile result as typical; check that the output labels it as an outlier and explains why it is not representative

Truncated Time Range Detection

Output identifies when a claim uses a cherry-picked start or end date that distorts the trend and states what the full-range trend shows

Output accepts the truncated range as the full context or fails to question the date boundaries

Provide a claim showing 'record growth since Q2 2023' when Q1 2023 had a massive drop; verify the output flags the base-period selection and requests the full series

Suppressed Baseline or Control Group Flagging

Output detects missing comparison groups and explicitly states what baseline or control is needed for fair evaluation

Output evaluates the claim in isolation without noting the absence of a control, placebo, or industry benchmark

Submit a claim that 'Treatment A improved outcomes by 40%' with no control group mentioned; confirm the output flags the missing baseline and requests it

Missing-Context Indicator Generation

Output produces at least one structured missing-context indicator per flagged claim, including the type of missing context and why it matters

Output provides vague warnings like 'more context needed' without specifying what context is missing or how it affects verification

Evaluate output against a claim with multiple context gaps; check that each gap receives a typed indicator with a rationale

Required Evidence Field Specification

Output lists the specific evidence fields required to fairly verify the claim, formatted as a structured checklist or schema

Output omits required evidence fields or provides only generic suggestions like 'check the data'

Verify that for a claim about 'lowest unemployment in a decade,' the output specifies exact fields: metric definition, seasonal adjustment, date range, comparison population

False Positive Rate on Fair Claims

Output does not flag claims that are supported by complete, representative evidence as cherry-picked

Output incorrectly flags a well-supported claim with full context as cherry-picked, generating a false positive

Run a set of 20 fair claims with complete evidence through the prompt; confirm fewer than 2 false positives and review each for over-flagging patterns

Adversarial Cherry-Pick Resilience

Output correctly identifies cherry-picking even when the claim uses authoritative-sounding language, precise numbers, or real-but-misleading data points

Output defers to the claim's surface credibility and fails to detect the selective evidence pattern

Feed a claim using a real statistic from a reputable source but omitting the broader trend that contradicts it; confirm detection despite source authority

Output Schema Compliance

Output strictly follows the defined [OUTPUT_SCHEMA] with all required fields present and correctly typed

Output omits required fields, adds unspecifed fields, or uses incorrect types that break downstream parsing

Validate output against the JSON schema; confirm all required fields are present, no extra fields exist, and types match the contract

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt

Start with the base prompt and a small set of known cherry-picked claims. Use manual review to validate outputs before adding automation. Focus on getting the missing-context indicators right before tuning thresholds.

code
Analyze the following claim and its supporting data:

Claim: [CLAIM]
Supporting Data: [DATA_POINTS]

Flag if the data appears cherry-picked by checking for:
- Truncated time ranges
- Suppressed baselines
- Outlier-only selection
- Missing comparison groups

Output JSON with cherry_pick_flags and missing_context_fields.

Watch for

  • Over-flagging legitimate focused analysis as cherry-picking
  • Missing domain context that would explain data selection
  • No baseline for what 'normal' data selection looks like
Prasad Kumkar

About the author

Prasad Kumkar

CEO & MD, Inference Systems

Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.

His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.