根据多个百分比因子计算产品价格

时间:2015-09-16 22:47:25

标签: python python-3.x

我正在尝试将一个Python脚本放在一起,该脚本接受多个变量并根据目标利润率(百分比)输出价格。

如果我拿出价格,我可以计算出它的百分比差额。例如,假设我有一个我列出的$49.00产品。

  • 项目费用:$14.00
  • 市场费用:49美元($4.90
  • 的10%
  • 付款处理器费用:2.9%($1.42
  • 总费用:$20.32($ 14 + $ 4.90 + $ 1.42)
  • 总利润:$28.68($ 49 - $ 20.32)
  • 计算利润率:58.53%((100/49)* 28.68)

然而,当试图根据成本,利润率,市场占有率和支付处理器百分比来解决问题并产生价格时,我完全不知道如何解决这个问题。

有没有其他人解决过这个问题,如果有的话,你有什么指示,或者你会为我提供一个解决方案,以便更好地了解如何在未来应对这些挑战?

示例不一定必须在Python中,恰好是我正在使用的语言。

非常感谢@mtadd用雷曼的话来说明这一点。

以下是如何在Python中解决这个问题的工作示例:

import decimal

item_cost = decimal.Decimal('14.00')
market_multiplier = decimal.Decimal('0.10') # 10% / 100
payment_processor_multiplier = decimal.Decimal('0.029') # 2.9% / 100
profit_margin = decimal.Decimal('0.5853') # 58.53% / 100

price = costs / (
    decimal.Decimal('1') -
    profit_margin -
    market_fees_multiplier -
    payment_fees_multiplier
)

打印price输出28.68,这与我们58.53%的目标保证金相当。

1 个答案:

答案 0 :(得分:1)

这是基本的代数。首先,定义您的符号:

P = Price
MktFrac = Marketplace Fraction
PayFrac = Payment Processor Fraction
C = Cost
TC = Total Cost 
TP = Total Profits 
PM = Profit Margin Fraction

请注意,我没有使用百分比(0-100),而是使用分数(0-1)。您可以通过乘以100将分数转换为百分比。

然后你的基本公式

TC = C + MktFrac*P + PayFrac*P
TP = P - TC
PM = TP / P

进行一些替换和简化

TC = P*(MktFrac+PayFrac) + C
TP = P*(1-MktFrac-PayFrac) - C
PM = 1-MktFrac-PayFrac - C/P

这就是利润率的公式,一切都在右边。如果您想要解决价格问题,请先将价格单独与价格隔离:

1 - PM - MktFrac - PayFrac = C/P

除以费用

1/P = (1 - PM - MktFrac - PayFrac)/C

并采取互惠

P = C/(1 - PM - MktFrac - PayFrac)

或百分比:

P = C/(1 - PM - MktPct/100 - PayPct/100)