Skip to content

⚠️ CRITICAL DATA INCONSISTENCY: Lift Metric Calculation Error #44

@apierr

Description

@apierr

Issue Summary

The reported Lift values in the PRIM Subgroup Analysis table contain a fundamental calculation error that makes the metric uninterpretable and potentially misleading. Specifically, the EI scenario shows Lift = 0.931 despite having the highest adoption density (81.07%) of all scenarios.


The Problem

Contradictory Values

Scenario Density (Adoption %) Lift Interpretation Problem
NI 32.46% 1.176 Reasonable
SI 67.89% 1.781 Seems reasonable
EI 81.07% 0.931 ❌ IMPOSSIBLE

Key Issue: A Lift value < 1.0 means the segment has below-average adoption. Yet EI has the highest adoption rate (81.07%) across all scenarios.


Root Cause Analysis

Expected Definition of Lift

Lift should measure: "How much better does this segment perform compared to a reference?"

$$\text{Lift} = \frac{\text{Density}_{\text{segment}}}{\text{Reference Mean}}$$

Two Standard Approaches

Option A: Within-Scenario Comparison

Compare segment to the mean of its own scenario:

Lift_EI = Density_EI / Mean_Adoption_EI
Lift_EI = 0.8107 / 0.4637 = 1.748

Option B: Cross-Scenario Comparison

Compare all segments to the baseline (NI) mean:

Lift_EI = Density_EI / Mean_Adoption_NI
Lift_EI = 0.8107 / 0.28 = 2.895

Both approaches yield Lift > 1.0, which is correct for a high-adoption segment.


Verification Against Reported Data

Using Aggregate Adoption Metrics

From the second table:

  • Mean Adoption NI = 28.00%
  • Mean Adoption SI = 47.03%
  • Mean Adoption EI = 46.37%

Reconstructing Lift (Option A: Within-Scenario)

Scenario Density Mean (Same Scenario) Calculated Lift Reported Lift ✓/✗
NI 32.46% 28.00% 1.160 1.176 ✓ Close
SI 67.89% 47.03% 1.444 1.781 ✗ Off by 23%
EI 81.07% 46.37% 1.748 0.931 Wrong by 88%

Reconstructing Lift (Option B: Baseline Reference)

Scenario Density Mean NI (Baseline) Calculated Lift Reported Lift ✓/✗
NI 32.46% 28.00% 1.160 1.176 ✓ Close
SI 67.89% 28.00% 2.425 1.781 ✗ Off by 36%
EI 81.07% 28.00% 2.895 0.931 Wrong by 211%

Impact on Interpretation

Current (Incorrect) Interpretation

"The EI segment has Lift = 0.931, meaning it performs 7% worse than the population average despite targeting high-trust, high-income individuals."

Correct Interpretation (Option A)

"The EI segment has Lift = 1.748, meaning it performs 75% better than the EI scenario average, successfully concentrating adoption in the targeted demographic."

Correct Interpretation (Option B)

"The EI segment has Lift = 2.895, achieving nearly 3× the baseline adoption rate, demonstrating substantial policy effectiveness."


Hypotheses for the Error

  1. Inconsistent denominators: Different reference means used across scenarios (e.g., NI uses scenario mean, but SI/EI accidentally use segment-specific or inverted values)

  2. Inverted calculation: The EI Lift may have been calculated as Mean / Density instead of Density / Mean:

   0.4637 / 0.8107 = 0.572 (still doesn't match 0.931)
  1. Wrong variable substitution: Code may be pulling from incorrect columns in data structure

  2. Copying error: Manual transcription error when populating the table


Required Actions

Immediate

  • Audit the source code that calculates Lift for each scenario
  • Verify which denominator is used: scenario mean, baseline mean, or other
  • Check if calculation method differs between NI, SI, and EI scenarios
  • Re-run analysis with corrected formula

Documentation

  • Add explicit formula for Lift to methods section:
  Lift_scenario = Density_segment / Mean_Adoption_scenario
  • Clarify interpretation: "Lift > 1 indicates segment outperforms scenario average"
  • Report corrected values in results table

Quality Control

  • Implement assertion tests: assert all(Lift > 1) if segment is "high-adoption"
  • Add sanity checks: assert Density_segment > Mean_population if Lift > 1
  • Cross-validate with alternative calculation methods

Recommended Table Correction

Corrected PRIM Subgroup Analysis (assuming Option A: within-scenario Lift):

Scenario Coverage Density SD (Density) Lift (Corrected) Effect Size (d) 95% CI Lower 95% CI Upper p-value Stability n_segment
NI 0.1734 0.3246 0.1309 1.160 0 0 0 1.00 0 867
SI 0.1050 0.6789 0.1581 1.444 ⚠️ 0.814 0.537 1.091 < 0.001 0.067 525
EI 0.4126 0.8107 0.1579 1.748 ⚠️ 1.037 0.760 1.315 < 0.001 0.067 2063

Statistical Implications

This error affects:

  1. Interpretability: Readers cannot understand which segments truly outperform
  2. Reproducibility: Others cannot validate calculations without source code
  3. Policy recommendations: Incorrect Lift values may lead to wrong targeting decisions
  4. Credibility: Undermines trust in other reported metrics

Additional Concerns

While investigating Lift, review these related issues:

  1. Why is NI Lift ≠ 1.0? If NI is "baseline population (no segmentation)", its Lift should be exactly 1.0 by definition
  2. Stability = 6.67%: Why do optimal segments appear in only 1/15 iterations?
  3. n_segment for NI = 867: With 5,000 agents, why does "baseline population" only include 867 (17.34%)?

These suggest the NI "segment" may not actually represent the full population baseline as described.


Status: 🔴 BLOCKING ISSUE - Must be resolved before publication or policy recommendations.

Priority: CRITICAL - Affects core interpretation of primary results.

Assigned to: [Data Analysis Team / Lead Author]

Deadline: Before manuscript submission / next revision cycle

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions