速卖通利润计算工具

每一个月初,我们都要核对上一个月挣了多少钱,哪些订单是亏损了,哪些订单的利润过高(主动降价,比被动降价好),哪些物流成本过高,怎么样去优化这些订单,大概要花好几个小时去核对这些数据,这个事情很重要,但是不能花太多的时间去手工做这个事情,今天写了一个脚本,以前要几个小时的活,大概几分钟就有了一个基本的数据表,然后就是自动化分析,先把这个小脚本贡献出来,接下来我会把它做成一个小工具。

速卖通怎么样计算利润

速卖通(AliExpress)平台上计算利润的公式是:

利润 = 销售收入 – 成本总额

其中,

  1. 销售收入 (S):产品的销售价格(包含物流费用,如果有的话)乘以销售数量。
  2. 成本总额 (C):包括以下几个主要成本:
    • 产品成本 (P):单个产品的采购价乘以销售数量。
    • 物流成本 (L):运输每个商品所需的费用乘以销售数量。
    • 速卖通佣金 (C_AE):速卖通平台根据销售收入所收取的佣金。
    • 其他费用 (O):如广告费、包装费等其他相关费用。

将以上因素整合在一起,计算利润的公式为:

利润 = S – (P + L + C_AE + O)

要计算利润,请确保了解所有相关费用并考虑到它们。每个费用可能因产品、供应商或地区而异。

这一期没有算广告费用,只算了 P+L+C_AE

速卖通利润计算脚本

第一张表,订单成本表,两列,第一列订单id,第二列,订单成本。

第二张表,物流成本表,在物流中心可以直接下载

第三张表,订单交易金额明细表,可以直接下载。

import csv
from collections import defaultdict

# 读取第一张表格:成本表
cost_dict = {}
with open('成本表.csv', 'r', encoding='utf-8') as f:
    reader = csv.reader(f)
    next(reader)  # 跳过表头
    for row in reader:
        ae_order, order_cost = row
        cost_dict[ae_order] = round(float(order_cost), 2)

# 读取第二张表格:物流成本表
logistics_dict = defaultdict(float)
with open('物流成本表.csv', 'r', encoding='utf-8') as f:
    reader = csv.reader(f)
    next(reader)  # 跳过表头
    for row in reader:
        logistics_order, ae_order = row[0], row[1]
        payment_amount = round(float(row[-4]), 2)
        logistics_dict[ae_order] += payment_amount

# 读取第三张表格:订单交易金额表
order_info_dict = {}
with open('订单交易金额表.csv', 'r', encoding='utf-8') as f:
    reader = csv.reader(f)
    next(reader)  # 跳过表头
    for row in reader:
        ae_order, _, _, trade_amount, _, _, trade_commission, union_commission, *_ = row
        order_info_dict[ae_order] = {
            'trade_amount': round(float(trade_amount), 2),
            'trade_commission': round(float(trade_commission), 2),
            'union_commission': round(float(union_commission), 2),
        }

# 输出结果表格
with open('输出表格.csv', 'w', encoding='utf-8', newline='') as f:
    writer = csv.writer(f)
    # 写入表头
    writer.writerow(['AE交易订单号', '订单采购成本', '成交金额(CNY)', '交易佣金(CNY)', '联盟佣金(CNY)', '物流支付金额'])

    for ae_order, cost in cost_dict.items():
        if ae_order in order_info_dict:
            trade_amount = order_info_dict[ae_order]['trade_amount']
            trade_commission = order_info_dict[ae_order]['trade_commission']
            union_commission = order_info_dict[ae_order]['union_commission']
            logistics_payment = round(logistics_dict[ae_order], 2)

            writer.writerow([ae_order, cost, trade_amount, trade_commission, union_commission, logistics_payment])

以上脚本只是把成本,交易金额,放在了一起,非常方便后续加工核算。

发表评论