# AI feature request clustering: complete fictional source packet

OpenMax editorial material · version 076-v1 · frozen 2026-09-04. All accounts, events, tickets, messages, proposed labels and reference labels below are invented. No actual customer data, independent reviewer agreement, OpenMax run or model benchmark is claimed. This packet is complete for its 16-row exercise. The separate 500-row planning illustration in the article is not a hidden dataset.

## 1. Raw records: keep the original language

Each row is an export row. Event identifies the source message; account and ticket are separate units. The original mixed-language text is intentionally identical across all three editions of this packet. Status: eligible means included; duplicate points to the retained row; excluded identifies an out-of-scope row.

| ID | Event | Account | Ticket | Language | Original text | Status |
|---|---|---|---|---|---|---|
| R01 | EV01 | A1 | K01 | en | Send my export every Monday. | eligible |
| R02 | EV02 | A2 | K02 | zh-Hans | 希望每周自动发送导出文件。 | eligible |
| R03 | EV03 | A3 | K03 | ja-JP | エクスポートに含める列を選びたいです。 | eligible |
| R04 | EV04 | A4 | K04 | en | Send the export every Friday and let me choose its columns. | eligible |
| R05 | EV05 | A1 | K01 | en | Following up on my Monday export request; I still need scheduled delivery. | eligible |
| R06 | EV06 | A5 | K06 | zh-Hans | 希望导出前要求管理员批准。 | eligible |
| R07 | EV07 | A6 | K07 | ja-JP | これ以上自動化しないでください。エクスポート通知を止めたいです。 | eligible |
| R08 | EV08 | A7 | K08 | en | Show exported dates as YYYY-MM-DD instead of slash-separated dates. | eligible |
| R09 | EV09 | A8 | K09 | en | Export should be disabled for guests even when a shareable view is enabled. | eligible |
| R10 | EV10 | A9 | K10 | ja-JP | エクスポートをもっと使いやすくしてほしいです。 | eligible |
| R11 | EV11 | A2 | K11 | zh-Hans | 导出文件的日期请显示为年-月-日。 | eligible |
| R12 | EV12 | A10 | K12 | en | I only need to choose columns, not scheduled delivery. | eligible |
| R13 | EV01 | A1 | K01 | en | Send my export every Monday. | duplicate:R01 |
| R14 | EV03 | A3 | K03 | ja-JP | エクスポートに含める列を選びたいです。 | duplicate:R03 |
| R15 | EV15 | TEST | K15 | en | Test record: schedule an export. | excluded:test |
| R16 | EV16 | A11 | K16 | en | Export fails with an error today; please restore it. | excluded:active-bug |

R13 repeats event EV01 and maps to R01; R14 repeats EV03 and maps to R03. R05 is a new event in the same ticket as R01, so retain it. R11 belongs to the same account as R02 but asks for a different behavior. R15 is test data. R16 is an active bug: exclude it from this feature exercise but route it to the proper operational queue. No incident is considered resolved by that exclusion.

Reconciliation: 16 raw = 2 duplicate export rows + 2 excluded rows + 12 eligible messages. Eligible accounts are A1 through A10: 10 distinct. TEST and A11 do not enter this cohort.

## 2. Frozen dictionary and unresolved reasons

- T1: positive request for scheduled export delivery. Include R01; exclude explicit rejection of scheduling and requests to stop notifications.
- T2: choose which columns are exported. Include R03; exclude permission to export. A shared view does not imply column selection.
- T3: restrict or approve who may export. Include R06 and R09. This identifies a requested behavior, not a security certification.
- T4: requested date representation such as YYYY-MM-DD. Include R08 and R11. Do not infer a timezone request.
- R07: unassigned under this dictionary; notification suppression is a possible new theme. Preserve the negation.
- R10: unassigned because “more usable” needs clarification. It does not establish any of T1–T4.
- R04 has two supported asks. R12 has only T2 because scheduling is explicitly rejected.

## 3. Every reference and deliberately imperfect proposed set

Reference is an editorially specified answer for this fictional exercise, not an independently adjudicated customer truth. Proposed sets are fabricated to expose errors. ∅ means no label; commas mean multiple labels.

| ID | Reference | Proposed |
|---|---|---|
| R01 | T1 | T1 |
| R02 | T1 | T1 |
| R03 | T2 | T2 |
| R04 | T1,T2 | T1 |
| R05 | T1 | T1 |
| R06 | T3 | T3 |
| R07 | ∅ | T1 |
| R08 | T4 | T4 |
| R09 | T3 | T2 |
| R10 | ∅ | ∅ |
| R11 | T4 | T4 |
| R12 | T2 | T1,T2 |

Errors: R04 misses T2. R07 adds unsupported T1. R09 adds T2 and misses T3. R12 adds unsupported T1. R10's correct empty set is an exact match but contributes no true positive label.

## 4. Reconciled theme counts

Messages are counted once within each theme; accounts are deduplicated within each theme. A message can appear in more than one theme.

| Theme | Messages / 12 | Share | Accounts / 10 | Record IDs |
|---|---:|---:|---:|---|
| T1 | 4 | 33.3% | 3 | R01,R02,R04,R05 |
| T2 | 3 | 25.0% | 3 | R03,R04,R12 |
| T3 | 2 | 16.7% | 2 | R06,R09 |
| T4 | 2 | 16.7% | 2 | R08,R11 |
| ∅ | 2 | 16.7% | 2 | R07,R10 |

Ten assigned messages generate 11 positive reference pairs; two messages remain unassigned. Assigned messages come from eight accounts: A1,A2,A3,A4,A5,A7,A8,A10. Per-theme account totals 3+3+2+2 do not equal a union of 10 assigned accounts: A2 and A4 overlap. The full cohort still has 10 accounts because A6 and A9 are unassigned.

Theme counts plus unassigned = 13; 13/12 is approximately108.3%. Summing the individually rounded display percentages can differ. Never delete R04's second label to make the shares equal100%.

## 5. Recalculate the candidate errors

For each eligible ID, intersect reference and proposed sets for TP; proposed minus reference gives FP; reference minus proposed gives FN. Then sum those counts over records and labels.

| Label | TP | FP | FN | Precision | Recall |
|---|---:|---:|---:|---:|---:|
| T1 | 4 | 2 | 0 | 66.7% | 100% |
| T2 | 2 | 1 | 1 | 66.7% | 66.7% |
| T3 | 1 | 0 | 1 | 100% | 50% |
| T4 | 2 | 0 | 0 | 100% | 100% |
| micro | 9 | 3 | 2 | 75.0% | 81.8% |

There are 12 proposed positive pairs, 11 reference positive pairs, TP9, FP3 and FN2. Micro precision=9/12=75%; recall=9/11≈81.8%; F1=18/(18+3+2)=18/23≈78.3%. Exact-set matches are R01,R02,R03,R05,R06,R08,R10,R11: 8/12≈66.7%. The empty set is not a fifth positive class.

Tiny, intentionally challenging examples do not estimate population performance. Define zero-denominator handling before using these metrics on other data. Do not infer model confidence, reviewer agreement or productivity from this arithmetic.

## 6. How to use the case without overstating it

Give an assistant the raw records and dictionary, hide the expected sets if you want an initial exercise, and ask for source spans before summaries. Preserve the output separately. Compare record IDs, retained/excluded status, multi-label boundaries and all denominators. Any real run must record the actual system, version, prompt and output; this packet does not claim such a run occurred.

A defensible summary of this fixture is “four eligible messages from three accounts request scheduled delivery.” A claim that all customers want more automation would contradict R07 and R12. Keep priority decisions separate from theme size.

For a real 500-row task, freeze the actual authorized export and compute its own manifest. The article's example500=20+10+470 is planning arithmetic only; it is not an extension of these16 rows. Qualified owners must review real privacy, security and legal implications.

Method references, checked2026-09-04: [Sentence Transformers clustering](https://www.sbert.net/examples/sentence_transformer/applications/clustering/README.html), [scikit-learn precision/recall](https://scikit-learn.org/stable/modules/generated/sklearn.metrics.precision_recall_fscore_support.html), [OpenMax product-manager examples](https://openmax.com/docs/use-cases/role/ai-product-manager/).
