サブスクリプション監査
入力
- 1つ以上のCSVエクスポート(理想的には90日以上)で、日付、説明、金額の列を含むもの。ヘッダーが不明瞭な場合は、どの列が何かを尋ねてください。
- オプション: ユーザーが把握しているサブスクリプションのリスト。
手順
- CSVを読み込みます。金額を正規化して、請求が正の値になるようにします。振込、返金、カード支払い(「PAYMENT THANK YOU」、「TRANSFER」のような説明)は除外します。
- マーチャント名を正規化します: 大文字に変換し、店舗番号、日付、参照ID、都市/州のサフィックスを削除します。正規化されたマーチャントごとにグループ化します。
- マーチャントの中央値の間隔が定期的なパターン(週次 7±1、隔週 14±2、月次 30.4±4、四半期 91±7、年次 365±10日)に一致し、間隔の60%以上がそのパターンに適合し、金額が安定している場合、そのマーチャントを定期とフラグ付けします。10%以上変動する項目は保持されますが、「変動額」とフラグ付けされます(公共料金など)。金額が大きく変動するマーチャント(変動係数 > 25%)は通常の買い物とみなし、サブスクリプションから除外します。2回だけの請求は「低信頼度」とします。1.5周期以上請求がない場合は「解約済みの可能性あり」とします。
- Pythonが利用可能な場合、
python scripts/subscription_audit.py <csv>を実行します(スクリプトはこのスキルフォルダ内に含まれています。パスはこのSKILL.mdからの相対パスで解決してください)。手計算の代わりにそのテーブルを確認します。
- Pythonが利用可能な場合、
- 各定期マーチャントレコードについて: 周期、標準金額、最終請求日、次回予定日(最終日 + 周期)、月額換算(週次は×52/12、年次は÷12)、年額コスト。
- 重複の可能性をマーク: 同じカテゴリの2つのマーチャント(例: 2つの音楽サービス、2つのクラウドストレージプラン)、または同じマーチャントが2枚のカードに請求している場合。
- 各項目についてユーザーに「維持/解約/ダウングレード/未定」を尋ねます。尋ねられた場合、重複や最終利用日に基づいて提案します。決してプレッシャーをかけないでください。
- 出力:
- テーブル: マーチャント | 周期 | 金額 | 月額 | 年額 | 次回請求日 | フラグ | 決定
- 合計: 現在の月額/年額支出、および決定を適用した場合の節約額
- 解約チェックリスト 次回請求日順(早い順)に並べ、その日付より前に解約するようリマインダーを表示します。
- 解約手順を示す場合、サービスの公式ヘルプページのみにリンクするか、ユーザーに「[サービス名] cancel subscription site:[公式ドメイン]」で検索するよう伝えてください。手順を独自に作成しないでください。
ルール
- マッチングの前提条件を示し、信頼度が低い場合は「定期の可能性あり」の項目を別途リストアップしてください。
- 銀行のパスワードを尋ねたり、アカウントにログインしたりしないでください。
- これは金融アドバイスではありません。