0

(今日、この質問をしましたが、自分自身を説明するのが下手でした。もう一度やり直してください)

産業用メンテナンス会社のクライアントがいます。彼らは、技術者の時間の 20 時間のブロックを前払いするサービス契約を販売しています。大規模な顧客の一部は、2 週間でその契約を使い果たすかもしれませんが、問題の少ない顧客は、同じ契約で 8 か月かかるかもしれません。Python を使用して、予測される販売収益をモデル化し、1 か月あたりの請求可能な時間数を決定するのに役立てたいと考えています。

各顧客がサービス契約を 1 つしか購入していない (更新されていない) 場合、売上は として簡単に計算できmonthly_revenue = contract_value * qty_contracts_soldます。請求可能な時間も簡単です: billable_hrs = hrs_per_contract * qty_contracts_sold. ただし、更新の会計処理はどのように行うのですか? 顧客の 90% (またはその他の任意の金額) が更新すると仮定すると、毎月の収益は幾何学的に増加するはずです。もう 1 つの重要な変数は、平均的な顧客が契約を消化する期間です。さまざまな更新率とバーン レートに基づいて、今から 3 か月、6 か月、または 12 か月後の収益と請求可能な時間をどのように判断すればよいですか?

ある種の再帰関数を使用すると思いますが、数学は私の得意分野の 1 つではありませんでした。何か提案はありますか?

編集: これにアプローチする最善の方法は、「お金の時間的価値」の問題と考えることです。質問のタイトルをそのように変更しました。「毎月の売り上げ」を年金の支払いに似たものと考えると、この問題はおそらくもっと一般的です。

4

2 に答える 2

1

問題を将来の収入の現在価値 (私にとって「お金の時間価値」が意味するもの) の観点から検討したい場合、次のパラメーターがあります: 割引率 D (便宜上、月単位で)、時間 T顧客がプリペイド時間を使い果たすまでにかかる時間、プリペイド時間が満了したときに更新する可能性 L、最初の販売額 F および更新 R です。もちろん、これにはいくつかの仮定があります (サポートをより早く消費する顧客は、たとえば、更新する - このモデルはそれを考慮していません) が、それでも有用な最初の近似値である可能性があります。

したがって、今日の販売には価値があります。F 確かにすぐに。さらに、T か月で、確率 L で R がさらに増加し​​ます。さらに、2T か月で、確率 L L で R が増える。等々。したがって、その販売の価値は F + R L / (D T) + R L L / (D 2T) + ... = F + (R*L / D T ) * (1 + L/D T + L 2/( DT)**2 + ...)。

級数は 1 / (1 - L/(D**T)) に収束するため、全体の式は閉じた形になります (Python に移行;-):

def salesworth(D, T, L, F, R):
  return F + (R * L) / (D**T * (1 - L / (D**T))) 

F と R に最初の販売と更新の時間数を使用し、(割引率の概念が請求可能時間に適用されない場合) 1 の D を使用するだけで、請求可能時間の期待値を同じ式で求めることができます (したがって、T は適用されません)。 1**T == 1 は任意の T であるため、実際には問題ではありません;-)。

于 2010-03-04T03:41:02.487 に答える
0

私の要件は少しあいまいでしたが、支援に感謝します。金融数学に非常に精通している人に相談したところ、単純な数式は適切な解決策ではないと判断しました。

私がやったことは、xrange()を使用して月をコンポーネントの日に「分解」し、毎日繰り返すことです。毎日評価する際に、その日に新しい契約が結ばれたかどうか、もしそうなら、将来どの日付で契約を更新する必要があるかを判断しました。それらの更新日をリストにプッシュしてから、値を合計しました。

于 2010-03-11T18:46:36.493 に答える