{
    "schema_version": "1.0.0",
    "title": "How People Use IngrediCheck: Anonymized Usage Data",
    "publisher": "IngrediCheck",
    "evidence_type": "first_party_aggregate_product_usage",
    "publication_date": "2026-07-29",
    "extraction_date": "2026-07-29",
    "methodology": {
        "observation_window": {
            "start_inclusive_utc": "2026-04-30T00:00:00Z",
            "end_exclusive_utc": "2026-07-29T00:00:00Z",
            "complete_days": 90
        },
        "eligible_population": "People with a real iOS, iPadOS, or Android device registration on app version 2.x and at least one included non-deleted mobile scan in the observation window.",
        "included_scan_inputs": [
            "barcode",
            "photo",
            "barcode_plus_photo"
        ],
        "excluded_populations": [
            "internal users",
            "App Store Review users",
            "people without an eligible version 2.x mobile device registration",
            "web-page scans",
            "deleted scans"
        ],
        "minimum_publishable_cell": 20,
        "threshold_unit": "distinct eligible users for user-level cells; distinct eligible family records for family-level cells",
        "suppression_policy": "Exact cells below the threshold are not published. The article, tables, totals, and downloadable data are reviewed together for complementary disclosure.",
        "deduplication": {
            "repeat_use": "Distinct UTC dates containing at least one included scan per eligible user.",
            "latest_analysis": "The most recently created analysis row for each included scan.",
            "family_profiles": "Distinct eligible non-deleted family records and their non-deleted member profiles."
        },
        "verdict_mapping": {
            "matched": "matched",
            "unmatched": "unmatched",
            "uncertain": "uncertain",
            "needsReview": "uncertain"
        },
        "method_freeze_commit": "9d698c0766b06d26037a3ff0a2160353710408ea",
        "query_sha256": "46be5d4d519ac9321fd057bd6c2c4b51b18fdeb1fc20d8181039619b664dc085"
    },
    "population": {
        "eligible_users": 532,
        "eligible_scans": 3899,
        "eligible_family_records": 496
    },
    "findings": {
        "repeat_use": {
            "denominator": {
                "value": 532,
                "unit": "eligible_users"
            },
            "rows": [
                {
                    "category": "one_scan_day",
                    "eligible_users": 360,
                    "percentage": 67.7
                },
                {
                    "category": "multiple_scan_days",
                    "eligible_users": 172,
                    "percentage": 32.3
                }
            ]
        },
        "scan_inputs": {
            "denominator": {
                "value": 3899,
                "unit": "eligible_scans"
            },
            "rows": [
                {
                    "category": "barcode",
                    "eligible_scans": 2799,
                    "distinct_eligible_users": 402,
                    "percentage": 71.8
                },
                {
                    "category": "barcode_plus_photo",
                    "eligible_scans": 654,
                    "distinct_eligible_users": 227,
                    "percentage": 16.8
                },
                {
                    "category": "photo",
                    "eligible_scans": 446,
                    "distinct_eligible_users": 204,
                    "percentage": 11.4
                }
            ],
            "note": "Distinct eligible user counts overlap across input categories."
        },
        "latest_analysis_status": {
            "denominator": {
                "value": 3899,
                "unit": "eligible_scans"
            },
            "rows": [
                {
                    "category": "complete",
                    "eligible_scans": 3006,
                    "distinct_eligible_users": 448,
                    "percentage": 77.1
                },
                {
                    "category": "no_analysis",
                    "eligible_scans": 893,
                    "distinct_eligible_users": 329,
                    "percentage": 22.9
                }
            ],
            "note": "A missing analysis row is a stored workflow state, not a product-failure classification."
        },
        "mapped_verdicts": {
            "denominator": {
                "value": 2855,
                "unit": "completed_error_free_scans_with_mapped_verdicts"
            },
            "rows": [
                {
                    "category": "matched",
                    "eligible_scans": 1525,
                    "distinct_eligible_users": 267,
                    "percentage": 53.4
                },
                {
                    "category": "unmatched",
                    "eligible_scans": 897,
                    "distinct_eligible_users": 201,
                    "percentage": 31.4
                },
                {
                    "category": "uncertain",
                    "eligible_scans": 433,
                    "distinct_eligible_users": 119,
                    "percentage": 15.2
                }
            ],
            "note": "Distinct eligible user counts overlap. Verdicts are personalized to the Food Notes applied at scan time and are not independent accuracy or safety classifications."
        },
        "family_profiles": {
            "denominator": {
                "value": 496,
                "unit": "eligible_family_records"
            },
            "rows": [
                {
                    "category": "single_member",
                    "eligible_family_records": 469,
                    "percentage": 94.6
                },
                {
                    "category": "multi_member",
                    "eligible_family_records": 27,
                    "percentage": 5.4
                }
            ],
            "note": "A family record is an app data structure, not a verified residence or legal household."
        },
        "verdict_data_quality": {
            "denominator": {
                "value": 2963,
                "unit": "completed_error_free_latest_analyses"
            },
            "rows": [
                {
                    "category": "mapped",
                    "eligible_scans": 2855,
                    "percentage": 96.4
                },
                {
                    "category": "unmapped",
                    "eligible_scans": 108,
                    "percentage": 3.6
                }
            ]
        }
    },
    "privacy_review": {
        "all_published_cells_meet_threshold": true,
        "complementary_suppression_required": false,
        "direct_or_pseudonymous_records_exported": false,
        "excluded_fields": [
            "identifiers",
            "barcodes and source URLs",
            "Food Note contents and categories",
            "product and ingredient data",
            "analysis explanations and guidance",
            "images and image metadata",
            "feedback, comments, and other free text"
        ]
    },
    "limitations": [
        "These data describe observed activity among the defined eligible IngrediCheck population, not every registered account and not the general public.",
        "This is not a survey or a representative estimate.",
        "Observed multi-day use is not a cohort retention rate.",
        "Input categories do not establish motivation, preference, or recognition quality.",
        "Stored verdicts do not independently test product accuracy, food safety, satisfaction, or health outcomes.",
        "The findings are descriptive and do not show causation.",
        "The report is first-party research, not a testimonial or independent validation."
    ]
}
