ltv-calculator v0.3.0 リリースのお知らせ
Article actions
ltv-calculatorをv0.3.0までアップデートしました。v0.1.0から大きく機能を拡張し、SaaSビジネスに必要な主要な指標を計算できるようになりました。
v0.3.0で追加された機能
v0.3.0では、LTV計算だけでなく、SaaS経営に欠かせない各種指標の計算機能を追加しました。
MRR/ARRの計算
サブスクリプションの配列から月次経常収益(MRR)や年次経常収益(ARR)を簡単に計算できます。月次・年次・週次・日次の各プランに対応しています。
const subscriptions = [
{ amount: 1000, interval: 'month' },
{ amount: 12000, interval: 'year' },
{ amount: 100, interval: 'week' }
]
const mrr = client.calculateMRR(subscriptions)
const arr = client.calculateARR(subscriptions)
チャーンレートの計算
顧客ベースと収益ベースの両方のチャーンレートを計算できます。収益ベースのチャーンレートでは、ダウングレードによる収益減少も考慮できます。
// 顧客ベースのチャーンレート
const customerChurn = client.calculateCustomerChurnRate({
startCustomers: 100,
churnedCustomers: 5
}) // 5%
// 収益ベースのチャーンレート
const revenueChurn = client.calculateRevenueChurnRate({
startMRR: 10000,
churnedMRR: 500,
contractionMRR: 200 // ダウングレードによる減少
}) // 7%
NRR/GRRの計算
既存顧客からの収益維持率を計算するNRR(Net Revenue Retention)とGRR(Gross Revenue Retention)に対応しました。NRRはアップグレードによる拡張を考慮し、GRRは拡張を除いた純粋な維持率を計算します。
// NRR: アップグレードを含む収益維持率
const nrr = client.calculateNRR({
startMRR: 10000,
expansionMRR: 1000, // アップグレード
contractionMRR: 200, // ダウングレード
churnedMRR: 300 // 解約
}) // 105%
// GRR: 拡張を除いた収益維持率
const grr = client.calculateGRR({
startMRR: 10000,
contractionMRR: 200,
churnedMRR: 300
}) // 95%
コホート分析
月次の顧客数データから、コホート別のリテンション率を計算できます。
const retention = client.calculateCohortRetention([
{ month: 0, customers: 100 },
{ month: 1, customers: 90 },
{ month: 2, customers: 85 }
])
// [100, 90, 85] (%)
過去データからのLTV計算
過去の顧客収益データから平均LTVを算出する機能も追加しました。
const customerRevenues = [1000, 1200, 1500, 800, 2000]
const ltv = client.calculateHistoricalLTV(customerRevenues)
// 1300 (平均値)
開発環境の改善
v0.3.0では、開発ツールチェーンも全面的に見直しました。
- RollupからViteへ移行: ビルド速度が向上し、開発体験が改善されました
- JestからVitestへ移行: テスト実行が高速化され、ESMのネイティブサポートに対応
- ESLintからBiomeへ移行: リンターとフォーマッターを統合し、パフォーマンスが向上
- TypeDocでドキュメント再構築: APIドキュメントを刷新し、ナビゲーションを改善
また、npmへの公開を自動化するためにnpを導入し、CI/CDのワークフローも整備しました。
インストール
npm i -S ltv-calculator
Stripeなどのサブスクリプションデータから、これらの指標を簡単に計算できるようになりました。SaaSの経営指標を分析する際に、ぜひお役立てください。

Hidetaka Okamoto
Business Development
I'm a Business Development professional at DigitalCube. Based on my experience in EC ASP development and as a Developer Advocate at Stripe, I'm working on methods to increase revenue for SaaS and EC sites, exploring efficiency improvements using generative AI, and developing new business models. You can follow me on Twitter at @hidetaka__dev