P paper2skillsPlaybook
AI 路线图 →

LLM Financial Report Analyst — 迭代精化 + 代码验证的智能财务报告解读

Skill-LLM-Financial-Report-Analyst · 09-DataAgent-LLM

causalexperimentoptimizationmulti_agentpricing广告与投放MAS与智能体工程定价与利润WF-B 广告优化WF-F 动态定价WF-I 智能体工程WF-L 内容营销增长
年化 ROI10-30 万元
实现难度⭐⭐⭐☆☆
业务优先级⭐⭐⭐⭐⭐
业务视角
适用角色数据分析师 / 运营负责人 · CEO · 供应链负责人
适用平台Amazon SP API · Shopify · TikTok Ads API · 多平台数据整合
什么情况下用数据需求太多,数据团队排期 2 周;非技术人员(采购/客服/运营)有数据问题但不会 SQL;重复报表占用大量时间
成功是什么样的业务方用自然语言自助查数据,常规报表自动化,数据驱动决策响应速度从「天」变「分钟」
业务痛点
数据需求排期太长不会 SQL 只能等数据团队老板临时要数据没法马上出分析师时间都花在取数上

1. 解决的问题

跨境母婴 CFO 面临 Amazon/TikTok/银行三平台账单手工汇总需 3 天——迭代精化 + Python 数值验证 Agent 将月度 P&L 汇总压缩至 30 分钟,误差率从手工 5-10% 降至 <2%,年化节省财务人力成本 10-30 万元

2. 核心算法逻辑

核心问题:LLM 做财务数值计算时容易"幻觉"——看起来正确但数字偏差 530%,根本原因是 LLM 把文本推理和数值计算混在一起处理。

3. 业务应用场景

场景 A:跨平台 P&L 30 分钟汇总(Momcozy 月度财务)

- 业务问题:Amazon 账单(FBA 费/退款/平台佣金)+ TikTok 广告账单 + 头程发票分散三处,财务手工汇总需 3 天,数据口径不统一(USD/CNY 汇率、退货时间匹配) - 数据要求:Amazon Settlement Report(CSV)、TikTok Ads Manager 导出(JSON)、货代头程发票(PDF,可 OCR)、银行流水(CSV) - 处理流程:LLM Agent 自动识别各平台数据格式 → Query 分解("本月广告 ROAS"拆为:提取广告花费 + 提取归因收入 + 计算比率)→ Python 验证每步数值 → 三层归因输出(引用原始数据行号)

场景 B:FBA 费用异常归因(涨费预警)

4. 输入数据要求

请查看原始代码模板获取输入规格。

5. 输出结果

请查看原始代码模板获取输出规格。

6. 业务价值 / ROI

  • ROI 预估:财务汇总工作量 3 天→30 分钟(提效 97%),节省财务专员 1.5 人月/月,年化人力成本节省 10-30 万元;数值误差率从手工的 5-10% 降至 <2%,避免税务和对账风险
  • 实施难度:⭐⭐⭐☆☆(主要挑战:各平台数据格式解析和字段口径对齐)
  • 优先级:⭐⭐⭐⭐⭐(财务合规硬需求,直接影响决策质量,可立即产生 ROI)
  • 适用规模:月销 50 万 USD 以上的卖家开始体现价值;月销 200 万 USD 以上的团队,财务自动化投资回报率 >10x

7. 代码模板

代码块数量:2 · 路径:未检测到

"""
LLM Financial Report Analyst
实现三层归因 + Python 数值验证的财务分析 Agent
支持 Mock LLM 模式(无需真实 API key 也能测试逻辑)
"""

import json
import ast
import re
from dataclasses import dataclass, field
from typing import Any


# ─────────────────────────────────────────
# 0. 数据结构
# ─────────────────────────────────────────

@dataclass
class FinancialRecord:
    """统一财务记录(多平台归一化后格式)"""
    platform: str        # amazon / tiktok / freight / bank
    record_type: str     # revenue / ad_spend / fba_fee / freight / refund
    sku: str
    amount_usd: float
    date: str
    metadata: dict = field(default_factory=dict)


@dataclass
class AttributionResult:
    """三层归因结果"""
    answer: float | str
    evidence: list[str]          # 证据层:引用原始数据
    domain_rules: list[str]      # 领域知识层:财务规则
    computation_code: str        # 计算层:Python 代码
    computation_result: float | None
    confidence: float            # 0-1
    verified: bool               # Python 验证是否通过


# ─────────────────────────────────────────
# 1. 多平台数据加载器
# ─────────────────────────────────────────

class MultiPlatformLoader:
    """加载并归一化多平台财务数据"""

    def load_amazon_settlement(self, data: list[dict]) -> list[FinancialRecord]:
        records = []
        for row in data:
            record_type = self._map_amazon_type(row.get("type", ""))
            if record_type:
                records.append(FinancialRecord(
                    platform="amazon",
                    record_type=record_type,
                    sku=row.get("sku", "UNKNOWN"),
                    amount_usd=float(row.get("amount", 0)),
                    date=row.get("settlement_start_date", ""),
                    metadata={"order_id": row.get("order_id", ""), "description": row.get("description", "")}
                ))

8. 论文来源

  • 2406.14394
  • 2410.13959
  • 2510.06426