技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
dabstep-dataset-metadata-business-rules【数据与研究】Solve Dataset_Metadata_and_Business_Rules questions in the dabstep payment processing dataset. Use this skill for questions about dataset column meanings, fee factor directionality, business rules encoded in fee structures, "Not Applicable" detection, and metadata interpretation for the dabstep payment processing domain. Trigger whenever questions re…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Seven files describe a payment processing system:
| File | Contents |
|---|---|
payments.csv | Transaction records (fraud flag, amounts, card types, countries) |
payments-readme.md | Column-by-column documentation for payments.csv |
fees.json | 1000 fee rules with conditions and rates |
manual.md | Domain definitions, fee factor descriptions, business rules |
merchant_data.json | Per-merchant config (account type, capture delay, acquirers) |
merchant_category_codes.csv | MCC codes and descriptions |
acquirer_countries.csv | Country codes for acquirers |
Before any analysis, read both:
manual.md — authoritative definitions of all fee factors and their cost directionpayments-readme.md — column-by-column schema for payments.csvThese files contain the ground truth for interpreting field semantics. Do not rely on raw data averages alone for factor directionality questions.
fee = fixed_amount + rate * transaction_value / 10000
null values in fee rules mean "applies to all values of that field."
| Factor | Direction | Cheaper when... |
|---|---|---|
is_credit | True → more expensive | is_credit = False (debit) |
intracountry | True → domestic → cheaper | intracountry = True |
monthly_fraud_level | Higher % → more expensive | Lower fraud level |
monthly_volume | Higher volume → cheaper | Higher monthly volume |
capture_delay | Faster → more expensive | Slower (manual/delayed) |
is_credit: Credit cards cost more → cheaper when Falseintracountry: Domestic (True) is cheaper; international (False) is more expensive → cheaper when True<100k → 100k-1m → 1m-5m → >5m
<7.2% → 7.2%-7.7% → 7.7%-8.3% → >8.3%
has_fraudulent_dispute: Boolean — fraud indicator from issuing bankis_credit: Boolean — credit vs debit cardintracountry: Derived from issuing_country == acquirer_countryaci: Authorization Characteristics Indicator (A–G)| Code | Meaning |
|---|---|
| A | Card present - Non-authenticated |
| B | Card Present - Authenticated |
| C | Tokenized card with mobile device |
| D | Card Not Present - Card On File |
| E | Card Not Present - Recurring Bill Payment |
| F | Card Not Present - 3-D Secure |
| G | Card Not Present - Non-3-D Secure |
"What column indicates X?" / "What does field Y mean?"
Check payments-readme.md first (columns), then manual.md (definitions).
Example: fraud column → has_fraudulent_dispute (from payments-readme.md: "Indicator of fraudulent dispute from issuing bank (Boolean)")
"Which boolean factor is cheaper when True/False?"
Rely on manual.md explicit statements, not raw data averages. Raw averages are confounded by other correlated variables (card scheme, MCC, etc.) and can be misleading.
Boolean factors in fees.json: is_credit, intracountry
intracountry (domestic transactions are cheaper)is_credit (non-credit/debit is cheaper)"Which factors lead to cheaper fees when decreased/increased?"
Map each factor using manual.md definitions:
monthly_fraud_level, is_credit (True→False)monthly_volume, intracountry (False→True)capture_delay (faster = more expensive), monthly_volume, intracountry"At what volume do fees stop decreasing?" / "Highest volume where fees are not cheaper?"
Analyze actual fee data from fees.json:
import json, pandas as pd
with open('fees.json') as f:
fees = json.load(f)
df = pd.DataFrame(fees)
for vol in ['<100k', '100k-1m', '1m-5m', '>5m']:
s = df[df['monthly_volume'] == vol]
print(vol, s['rate'].mean(), s['fixed_amount'].mean())
The actual data shows >5m has the highest average rate — fees do not become cheaper at >5m. The >5m tier is the highest volume at which fees are not cheaper.
"Does X fee exist?" / "What is the value of Y?"
A question should be answered "Not Applicable" when the concept genuinely does not exist in any dataset file. Verify by:
Example: "excessive retry fee" — manual mentions excessive retrying causes downgrades but defines no specific retry fee amount → answer is "Not Applicable"
Don't trust raw averages for boolean factors. The raw average rate for is_credit=True can appear lower than is_credit=False due to confounding (different MCCs and card schemes have both different base rates and different credit ratios). The manual's explicit statement is authoritative.
intracountry in fees.json uses 0.0/1.0 floats, not Python booleans. 1.0 = True (domestic), 0.0 = False (international).
null in fees.json means "applies to all values" — do not treat null rules as lower-priority; they apply when no more-specific rule matches.
Read the full manual.md — it has 10+ sections. The output may be truncated; if so, use grep or targeted searches to find specific definitions.
has_fraudulent_dispute)monthly_fraud_level, is_credit)>5m, 1m-5m)<7.2%, >8.3%)Not Applicable