HSBC FRAUD PILOT · IEEE-CIS PUBLIC DATA · IBM FEZ EXECUTION

QPC PC-QRC-FD: Real-World Fraud Task Pilot

A transparent pilot for fraud-risk modeling: task framing, data preparation protocol, simulator and IBM run outcomes, and clear interpretation boundaries.

Reader's guide

Start here for the narrative and metric tables on this page. Follow the chain below if you audit or reproduce the work.

  1. This report — executive summary: task, data contract, simulator/classical/K-ablation, IBM Fez max-q pilot (156 qubits), interpretation boundaries.
  2. Technical sources — workspace paths, reproducibility commands, IBM platform pitfalls, link back to artifacts.
  3. Machine-readable evidence — JSON produced alongside scripts on your machine (not hosted here): e.g. cursor_hsbc_pcqrc_fd_ibm.json, cursor_hsbc_pcqrc_fd_tuning.json, cursor_hsbc_matched_subset_xgb.json under Competition 2/Cursor/. Publish copies with your submission bundle if the jury requires downloads.
  4. Highlights — short HSBC card with cross-links.

Navigation: Home

Task and Goal

The task is HSBC-style fraud detection on card transactions, using public IEEE-CIS Fraud Detection data as an accessible real-world benchmark. The core objective is not immediate production superiority, but to evaluate whether QPC's polycontextural reservoir architecture can produce meaningful fraud-risk features under a strict, leakage-controlled protocol.

Goal of this pilot:

Data Preparation and Computation Contract

Dataset source: Kaggle IEEE-CIS Fraud Detection (`train_transaction.csv` + `train_identity.csv`). Records are sorted by `TransactionDT` to keep chronological structure.

StepProtocol used in this pilot
Time split80% train timeline / 20% test timeline (`time_split_quantile=0.8`)
Pilot train pool1800 rows total = 1500 train-fit + 300 time-ordered validation
Test slice500 rows (stratified subsample on post-cutoff timeline)
Feature selectionMutual information fit on first 1500 train rows only, top 16 numeric columns
Scaling / angle mappingFit on train only; apply to val/test (no fit leakage)
Reservoir readoutPrimarily Z+ZZ expectations with balanced logistic readout

All numbers shown below are pulled from generated artifacts in `Competition 2/Cursor`.

Simulator Architecture Sweep (Main PC-QRC-FD Run)

12q/3c/d6
Best config by test ROC-AUC
0.7435
Best test ROC-AUC
0.1509
Best test PR-AUC
8 seeds
Per architecture screening
ArchitectureTest ROC-AUCTest PR-AUC
8q / 2c / d40.72260.2648
12q / 3c / d60.74350.1509
16q / 4c / d60.71020.2230

Classical References and Matched-Slice Check

ReferenceProtocolROC-AUCPR-AUC
Full classical XGBoost~472k train / 118k test (full split)0.90040.5036
Matched XGBoostSame 1800/500 protocol as quantum slice0.71960.2883
PC-QRC best (12q/3c/d6)Same 1800/500 protocol0.74350.1509

Matched-slice readout: in this small 500-row test slice, PC-QRC leads on ROC-AUC while XGBoost leads on PR-AUC. This is useful for fair protocol disclosure, not for production ROI claims.

Polycontexture K-Ablation (Fixed 12 Qubits, Depth 6)

This run keeps total qubits and depth fixed and varies contexture count K. K=1 is a single wide chain; K>1 uses disjoint blocks (polycontextural blocking).

K (contextures)Block sizeTest ROC-AUCTest PR-AUC
1120.73910.2229
260.73450.1858
340.74350.1509
430.72320.1783
620.74560.0919

IBM Hardware Pilot (ibm_fez, max logical width)

Run archived as cursor_hsbc_pcqrc_fd_ibm.json — IBM Quantum Platform instance routed as open-instance (open-plan quota); Runtime pinned-name discovery fell through to aggregate listing where needed.

156q/12c
Architecture label (depth 6)
0.7717
IBM capped-test ROC-AUC
0.1750
IBM capped-test PR-AUC
2048
Shots per circuit
48/12/48
Capped train/val/test rows
27
Sampler jobs (12 train + 3 val + 12 test batches)
IBM pilot resultValue
Backendibm_fez
Mode--max-qubits-mode, readout z+ctxpool
Test ROC-AUC0.7717
Test PR-AUC0.1750
Reservoir seed1000
Sample job IDsd7uc5kcinasc738smc80 (train), d7uc6nnmrars73d6puqg (val), d7uc707mrars73d6pv50 (test); full list in JSON (ibm_job_ids_all)
Wide-layout readoutz+ctxpool — per-qubit Z plus pooled statistics per contexture so feature size stays tractable at 156 qubits (full pairwise ZZ is not used here).
QPC noise reducerOptional Python helper module qpc_noise_reducer.py (same repo/site bundle), not a separate IBM product. When enabled (--use-qpc-noise-reducer), the HSBC script can average measurement counts across repeated batches (--runs-per-batch). Matrix readout mitigation inside that module applies only up to 16 qubits; at 156 qubits the practical lever is multi-run aggregation + pooled readout + shots.

Execution friction (why this took iterations). IBM Quantum Platform authentication is sensitive to instance routing (short names vs CRNs), stale credential files, paid-vs-open quotas, and Runtime SDK changes (ibm_quantum_platform channel). Early attempts showed “invalid instance” or empty backends until the workspace script prioritized open-instance, aggregate fallback where pinning fails, and consistent environment cleanup. That operational noise is normal for multi-instance IBM Cloud accounts — it is not a weakness of the quantum circuit math itself.

Interpretation boundary: this is job-backed hardware execution at full device logical width on a small capped slice (48/12/48) — not the same row counts as the 1800/500 simulator tuning contract. Metrics reflect shots noise plus stratified sampling variance; they support feasibility and archival credibility for Phase I, not production ROI.

Data and Source Artifacts

Main data folder used by scripts: Competition 2/data

Numbers in this page come from:

These artifacts are generated in the `Competition 2/Cursor` workspace and should be versioned together with this page when publishing evidence snapshots.

Technical sources page ← Home Highlights