Make Billing and Recurring Revenue Operational
Task
Implement billing, subscription management, and revenue recognition workflow.
Summary
Implement subscription management, invoicing, renewal dates, and recurring revenue reporting.
Build Billing That Matches the Contract, Cash, and Revenue
Task ID: S4-03
A subscription business is not billing-ready merely because it can charge a card. It is ready when an approved sale becomes the correct subscription, invoice, payment, customer access, accounting entry, renewal record, and recurring-revenue report—and when changes, failures, refunds, cancellations, and month-end reconciliation work without undocumented intervention.
A customer signs an annual agreement on the last day of the month. Sales has promised a discount and a delayed start date. The invoice is due immediately, onboarding begins next week, and the software subscription starts after implementation. Finance records the cash, customer success records the renewal date, and the product grants access.
Then the numbers disagree.
The billing platform says the customer is active. The accounting system treats the full invoice as current revenue. The annual recurring revenue report uses the undiscounted list price. The customer relationship management system shows a different renewal date. Nobody is certain what should happen if implementation slips, the customer upgrades halfway through the year, or the payment fails at renewal.
This is the problem the billing, subscription-management, and revenue-recognition workflow must solve. Its purpose is not simply to collect money. Its purpose is to make the commercial promise, customer access, invoice, cash collection, accounting treatment, recurring-revenue measures, and renewal process agree.
The different clocks that must agree
A subscription sale creates several related records, but they do not all move on the same date.
The contract clock describes what the company has promised: the products and services, price, term, start date, renewal conditions, cancellation rights, payment terms, usage allowances, discounts, implementation work, and support commitments.
The billing clock determines when an invoice is created, when payment is due, what happens when collection fails, and how credits, refunds, prorations, taxes, and contract changes are handled.
The service clock determines when the customer receives access and when each promised service is delivered.
The accounting clock determines when revenue is recognized. Under Financial Accounting Standards Board Topic 606 and International Financial Reporting Standard 15, revenue follows the transfer of promised goods or services, not automatically the invoice date or cash-receipt date. The standards use a contract-based model that identifies the contract, identifies the promises to the customer, determines and allocates the transaction price, and recognizes revenue as those promises are satisfied.
The management-metric clock produces monthly recurring revenue (MRR), annual recurring revenue (ARR), churn, expansion, contraction, and renewal measures. These are operating measures, not substitutes for recognized revenue, accounts receivable, deferred revenue, or cash.
The distinction is visible in public subscription-company accounts. CrowdStrike has explained that it generally invoices customers at the beginning of a subscription term and records the prepaid amount as deferred revenue before recognizing it under its revenue policy. Amplitude similarly reports that it may invoice annually, semi-annually, quarterly, or monthly, and that advance billings create deferred revenue rather than immediate recognized revenue.
A simple annual subscription illustrates the difference. Assume a customer pays $12,000 in advance for an uncomplicated hosted-software service delivered evenly from January through December. Subject to the company’s accounting policy and the facts of the contract:
| Record | January activity | Position after January |
|---|---|---|
| Invoice | $12,000 issued | $12,000 billed |
| Cash | $12,000 collected | $12,000 cash received |
| Recognized subscription revenue | $1,000 | $1,000 year-to-date |
| Deferred revenue | $12,000 initially recorded, then reduced by $1,000 | $11,000 remaining |
| MRR | $1,000 | $1,000 run rate |
| ARR | $12,000 | $12,000 run rate |
This example is deliberately simple. A separate implementation service, variable usage charges, service credits, discounts, refunds, a financing component, multiple currencies, or a contract modification can change the accounting and operational treatment. Topic 606 and IFRS 15 require judgment about distinct performance obligations, transaction price, allocation, and the timing of satisfaction; a billing platform’s default schedule cannot make those judgments for the company.
The operating principle is therefore:
Use one controlled chain of records from the approved customer agreement to subscription status, invoicing, collection, customer access, revenue recognition, recurring-revenue reporting, and renewal. Do not treat any one system’s output as proof that the whole chain is correct.
flowchart LR
A[Approved order or contract] --> B[Customer and subscription record]
B --> C[Invoice and collection]
B --> D[Product access and service delivery]
B --> E[Renewal schedule]
C --> F[Cash and receivables]
C --> G[Revenue schedule]
D --> G
G --> H[General ledger]
B --> I[MRR and ARR records]
C --> J[Exceptions and failed payments]
D --> J
J --> B
Text description: an approved agreement creates the subscription record. That record drives billing, access, renewal dates, revenue schedules, and recurring-revenue reporting. Failed payments, changes, refunds, and service exceptions return through a controlled exception process rather than being fixed independently in each system.
Put the policy before the software
A billing implementation often begins with a product demonstration: create a plan, connect a payment method, and generate an invoice. That is useful, but it starts too late.
The company should first define the commercial and accounting rules the software must execute. Otherwise, configuration choices quietly become company policy.
Define the selling models in scope
Document every material way the company intends to sell at launch. Typical contract types include:
| Selling model | Billing questions | Revenue and reporting questions |
|---|---|---|
| Fixed monthly subscription | When is the customer charged? Is there a minimum term? What happens after failure? | Is MRR based on current contracted price? When is a delinquent account removed? |
| Annual subscription paid upfront | What is the invoice date, due date, service start, and renewal date? | What amount is deferred and released over the service period? |
| Annual agreement billed monthly | Is the commitment annual even though invoicing is monthly? | Does ARR reflect the annual commitment or only invoices issued? |
| Seat-based subscription | Which system controls seat quantity? When are additions billed? | How are mid-period additions, removals, and credits reflected in MRR? |
| Usage-based subscription | What event is billable? When does the meter close? How are corrections handled? | How are variable charges recognized and annualized, if at all? |
| Subscription plus onboarding | Is onboarding optional, separately sold, or required for the subscription? | Is onboarding a distinct performance obligation, and how is price allocated? |
| Free trial or paid pilot | What converts the account? Is payment authorization collected in advance? | When does recurring revenue begin, and are pilots included in ARR? |
| Multi-year contract | Is the customer invoiced upfront, annually, or in installments? | Are there price changes, financing considerations, termination rights, or future-start obligations? |
The company does not need every possible pricing model. It needs explicit support for the models it actually intends to sell. A narrow, dependable configuration is usually more valuable than nominal support for every discount, contract exception, or usage formula the sales team might request.
Write a billing policy
The billing policy should resolve matters such as:
- approved plans, price versions, currencies, billing frequencies, and minimum terms;
- who may approve discounts, free periods, credits, refunds, and non-standard payment terms;
- when a subscription becomes active;
- whether product access depends on payment, credit approval, or an executed contract;
- how upgrades, downgrades, seat changes, pauses, and cancellations take effect;
- how prorations are calculated;
- how failed payments, retries, grace periods, suspension, and write-offs work;
- how renewals and advance notices are scheduled;
- when invoices are finalized and whether they can later be edited;
- which changes require a credit note, replacement invoice, contract modification, or accounting review.
This policy should cover both self-serve and sales-assisted purchases. A checkout page may create a customer and subscription automatically, while an enterprise sale may begin with a signed order form, purchase order, credit review, and manual invoice. Both should ultimately produce the same controlled subscription and financial records.
Subscription events are often asynchronous. A payment may require additional authentication, fail after the subscription is created, succeed after a retry, or be disputed later. Stripe’s subscription documentation, for example, instructs integrations to process events such as subscription changes, invoice creation, successful payments, payment failures, upcoming renewals, cancellations, and entitlement changes through verified webhook events rather than assuming that the initial checkout response is the final state.
That lesson is broader than any particular vendor: the workflow must be designed around state changes, not a single “payment completed” screen.
Write the revenue-recognition position
For every standard contract type, finance should document:
- what constitutes the customer contract;
- what goods or services have been promised;
- which promises are distinct performance obligations;
- the expected transaction price, including relevant variable amounts;
- how the price is allocated when there is more than one obligation;
- when and how each obligation is satisfied;
- the resulting invoice, receivable, contract-asset, deferred-revenue, revenue, refund, and commission treatment;
- what contract changes require reassessment.
This should be a short, usable accounting memorandum rather than a copy of the standard. It should include representative contract language and worked examples. A qualified accountant should review it, particularly when the offer includes software licences, implementation work, variable consideration, usage pricing, refunds, service-level credits, resellers, multi-year terms, or material custom services.
The International Accounting Standards Board’s 2024 post-implementation review concluded that IFRS 15 was working as intended overall, while still identifying application issues involving matters such as principal-versus-agent judgments and payments to customers. FASB’s 2024 review likewise reported broad support for Topic 606’s benefits while acknowledging the cost and judgment involved in implementation. The practical implication is not that recognition is automatic; it is that companies should apply a stable framework and document the judgments relevant to their own contracts.
Build one controlled record of the subscription
The central operating record should answer a simple question: What is this customer currently entitled to receive, what must the customer pay, and when can either condition change?
That record may live in a subscription platform, an enterprise resource planning system, or a combination of systems. What matters is that ownership is explicit and identifiers remain linked.
Establish the required data
At minimum, the controlled record should contain:
| Data group | Required fields |
|---|---|
| Customer identity | Legal customer name, account ID, bill-to entity, billing contact, address, tax information where required, currency, credit status |
| Commercial source | Contract or order-form ID, quote ID, customer relationship management account ID, purchase order, approver, sales owner |
| Subscription | Product, plan, price-version ID, quantity, usage meter, status, start date, service date, term, end date |
| Billing | Frequency, next invoice date, payment terms, payment method, proration rule, discount, credit balance, invoice recipient |
| Renewal | Renewal date, automatic-renewal status, required notice date, renewal owner, cancellation deadline |
| Accounting | Revenue-contract ID, performance-obligation type, service period, recognition rule, general-ledger mapping |
| Operations | Product-account ID, entitlement status, onboarding status, support level, customer-success owner |
| Audit trail | Creation source, effective-dated changes, approvals, event IDs, invoice IDs, credit-note IDs, refund IDs |
Plan and price records should be versioned. Changing the displayed price of a plan should not rewrite the historical terms of existing customers. Similarly, changing a customer’s quantity or contract end date should create an effective-dated event, not erase the previous value.
For application programming interface calls that create or change financial records, duplicate protection is essential. Stripe, for example, recommends idempotency keys for server-side requests so that a retried request does not unintentionally create a second transaction. Its webhook guidance also calls for signature verification and secure processing of event payloads.
Assign a source of truth for each field
“Integrated” systems can still disagree when nobody has decided which one controls a field. The company should maintain a small source-of-truth register.
For example:
| Information | Authoritative source | Downstream copies |
|---|---|---|
| Executed commercial terms | Contract repository or approved order | CRM, billing, accounting |
| Active plan and quantity | Subscription system | Product entitlements, analytics |
| Payment and invoice status | Billing platform | CRM, support, accounting |
| Product access | Entitlement service | Customer portal, support |
| Recognized revenue | Revenue subledger or accounting system | Management reporting |
| ARR and MRR classification | Governed metrics model | Dashboards, forecasts |
| Renewal and notice dates | Subscription or contract record | CRM tasks, customer-success system |
The phrase “single source of truth” can be misleading. There may be several authoritative systems, each responsible for a different kind of fact. The requirement is not one database. It is one declared owner per field, stable identifiers between systems, and a reconciliation process that detects disagreements.
Keep billing, access, and accounting linked but separable
Payment status may affect access, but the relationship should be an approved rule rather than an accidental technical dependency. For example, an enterprise customer with net-30 terms may receive access before cash arrives, while a self-serve customer may receive access only after a successful payment. A disputed charge may require review rather than immediate suspension.
Revenue recognition must also remain separable from cash collection. A finalized but unpaid invoice can produce a receivable and a revenue schedule, while later collectability concerns may require a bad-debt or uncollectible treatment. Stripe’s accounting documentation distinguishes invoice finalization, accounts receivable, deferred revenue, recognized revenue, and later cash receipt rather than treating them as the same event.
The operating system should therefore preserve, rather than collapse, these states:
- contracted;
- provisioned;
- invoiced;
- due;
- paid;
- past due;
- suspended;
- cancelled;
- refunded;
- recognized as revenue;
- deferred for future recognition;
- written off.
Test the full customer and accounting journey
“End-to-end tested” is a useful working target, but it is not a universal benchmark. Its meaning depends on the company’s selling models, jurisdictions, contract complexity, payment methods, accounting framework, and material risks.
A practical definition is:
Every material approved selling scenario has been executed from order through customer access, invoicing, collection or payment failure, accounting, reporting, renewal, and reconciliation, with expected results documented and reviewed.
A checkout test that ends when a test card succeeds is not end-to-end. Neither is a finance test that confirms the invoice total but ignores access, customer communication, payment settlement, deferred revenue, or the renewal date.
Use scenario-based acceptance tests
The test set should represent actual commercial cases, including exceptions. The following matrix is a starting point:
| Scenario | Evidence of a passing result |
|---|---|
| New self-serve customer | Correct plan, price, tax treatment, invoice, payment, receipt, access, service start, MRR/ARR classification, and renewal date |
| Sales-assisted annual contract | Approved order matches customer, invoice, payment terms, service dates, subscription, revenue schedule, and renewal record |
| Trial conversion | Conversion happens on the intended date; authentication or failure states are handled; access and recurring metrics change once |
| Upgrade or seat increase | Effective date, proration, invoice, entitlement, revenue schedule, and expansion MRR are correct |
| Downgrade or contraction | Contract rights are respected; credit or future-effective change is correct; contraction is not misclassified as churn |
| Failed renewal payment | Failure event is received; customer is notified; retries, grace period, access, collections queue, and metric treatment follow policy |
| Cancellation | Immediate versus period-end treatment is correct; future invoices stop; access ends on the intended date; churn date is consistent |
| Credit or refund | Approval exists; credit note or refund is linked to the original invoice; cash, receivable, revenue, and metrics are adjusted correctly |
| Renewal | Advance task or notice is created; renewal invoice and new service period are correct; duplicate subscriptions are not created |
| Month-end close | Subscription totals reconcile to invoices, payments, processor balances, bank deposits, deferred revenue, recognized revenue, and the general ledger |
| System retry or duplicate event | Replayed requests and webhook events do not create duplicate customers, invoices, payments, credits, access, or journal entries |
| Data correction | An authorized correction creates an audit trail, updates downstream systems, and preserves the original event |
Usage-based businesses require additional tests for missing events, duplicated events, late-arriving usage, meter corrections, minimum commitments, included allowances, tier boundaries, and invoice cut-off. Multi-currency businesses need tests for invoice currency, settlement currency, foreign-exchange treatment, refunds, and reporting translation. Companies selling through app stores, marketplaces, resellers, or a merchant of record must also test which party is the seller, invoice issuer, collector, tax obligor, and source of customer-level transaction data.
Reconcile through to the bank and ledger
Payment-processor payouts are normally net of fees, refunds, disputes, reserves, and timing differences. The bank deposit therefore may not equal the day’s gross invoices or payments. Reconciliation should connect individual transactions to the processor balance, payout, bank deposit, receivable, fee expense, refund, dispute, and cash entry. Stripe’s reconciliation documentation, for example, distinguishes transaction activity, processor payouts, and the amounts ultimately realized in the bank.
At month-end, finance should be able to reproduce at least four bridges:
- opening accounts receivable, plus invoices and adjustments, less collections and write-offs, equals closing receivables;
- opening deferred revenue, plus new deferrals, less revenue released and refunds, equals closing deferred revenue;
- gross collections, less fees, refunds, disputes, and balance movements, equals processor payouts and bank receipts;
- opening MRR, plus new and expansion MRR, less contraction and churn, plus clearly defined adjustments, equals closing MRR.
Differences should create named exceptions with an owner and resolution date. They should not be hidden in a month-end spreadsheet adjustment that never flows back to the operational record.
Assign responsibilities before launch
Billing crosses departments, so readiness requires named ownership rather than general agreement.
| Responsibility | Accountable role | Required contribution |
|---|---|---|
| Offer and pricing rules | Product or commercial leader | Approves plans, packaging, price changes, and allowed exceptions |
| Contract-to-order accuracy | Sales operations | Ensures the approved quote and contract create the correct subscription |
| Billing integration | Engineering or systems owner | Maintains APIs, webhooks, retries, monitoring, entitlements, and data links |
| Accounting policy | Finance controller or qualified accountant | Approves revenue treatment, account mapping, close controls, and adjustments |
| Collections and invoice support | Finance operations | Monitors invoices, failures, credits, refunds, disputes, and receivables |
| Renewal process | Customer success or account owner | Owns notice dates, renewal action, customer communication, and escalation |
| Security and payment scope | Security owner | Confirms payment-data handling and applicable control responsibilities |
| Terms, cancellation, and tax review | Legal and tax advisers | Reviews relevant jurisdictions, channels, invoice requirements, and contract wording |
| Readiness acceptance | Senior operating owner | Signs off that material scenarios and reconciliations have passed |
Where card payments are accepted, the company should determine its applicable Payment Card Industry Data Security Standard scope rather than assuming that using a processor eliminates all responsibility. PCI DSS version 4.0.1 is the current published revision, and hosted-payment arrangements still require the merchant to assess the applicable validation method and protect its own e-commerce environment.
Measure readiness without confusing the measures
Billing readiness is not a commonly standardized financial ratio. It is better treated as a controlled acceptance decision.
The company should be able to produce evidence in six categories:
| Evidence category | What should exist |
|---|---|
| Configuration | Approved catalogue, price versions, billing rules, payment methods, invoice templates, tax settings, account mappings |
| Policy | Billing policy, revenue-recognition memorandum, discount and credit authorities, cancellation and failed-payment rules |
| Data | Field dictionary, source-of-truth register, linked identifiers, renewal-date report, exception report |
| Testing | Scenario scripts, expected results, actual transaction IDs, screenshots or exports, defects, retest results |
| Financial control | Receivables, deferred-revenue, payout-to-bank, and MRR bridges; journal-entry support; review sign-offs |
| Operations | Monitoring alerts, failure queues, renewal tasks, customer communications, support runbook, incident and correction process |
The test is not whether these documents exist. It is whether they can explain and reproduce the result for a real customer.
Define MRR and ARR before calculating them
MRR and ARR are useful only after the company defines their rules. Public companies demonstrate why. Amplitude defines ARR using subscription agreements at a point in time and explicitly states that ARR is an operating metric rather than U.S. generally accepted accounting principles revenue or a revenue forecast. Confluent uses different methods for committed platform contracts and consumption-based cloud customers. LiveRamp annualizes the last month of fixed subscription revenue and excludes variable and non-recurring amounts.
These are not necessarily conflicting errors. They reflect different business models. They also show why two companies’ “ARR” figures may not be directly comparable.
An internal metrics policy should specify:
- whether ARR equals ending MRR multiplied by 12 or annualized contract value;
- how monthly, annual, multi-year, and future-start contracts are treated;
- whether usage revenue is excluded, based on a minimum commitment, or annualized from observed use;
- whether implementation, support, premium services, and other recurring charges are included;
- whether the measure uses list price or the contracted amount after discounts;
- how free periods, credits, pauses, delinquency, partial cancellations, and refunds are treated;
- the date at which new, expansion, contraction, and churn events enter the measure;
- how currencies and foreign-exchange changes are handled;
- whether contracts under active but unsigned renewal negotiation remain included;
- who approves definition changes and whether prior periods are restated.
A clean MRR bridge normally separates:
“Defined adjustments” should be rare and visible. A recurring unexplained adjustment is evidence that source data or event classifications are unreliable.
Aggregate measures can also hide important differences between customers. Research on contractual customer bases warns that ignoring customer heterogeneity can distort retention and valuation conclusions. A company should therefore retain customer- and cohort-level records rather than relying only on one blended churn or recurring-revenue number.
Treat the renewal date as an operational control
A renewal date is not merely a field for a dashboard. It should trigger work.
For each renewable subscription, the company should know:
- the current term end;
- whether renewal is automatic or requires execution;
- any customer or supplier notice deadline;
- the date pricing may change;
- the invoice date and payment terms;
- the account owner;
- the expected renewal amount;
- open service, adoption, support, or credit risks;
- the status of any quote, approval, or negotiation.
The renewal report should reconcile to active subscriptions. It should not depend on account managers remembering to create opportunities or calendar reminders.
Clear renewal and cancellation processes are also part of customer trust. Research using payment-card replacement events found that forced active renewal decisions produced substantial subscription cancellation increases, suggesting that inattention can materially affect continuing subscription revenue. The lesson is not to build a process that depends on customer forgetfulness. It is to make consent, notices, renewal terms, payment recovery, and cancellation behavior deliberate and reviewable.
Failure modes and the decision to move on
Billing work can look complete while remaining operationally fragile.
The happy path works, but changes do not
A company can create a new monthly subscription and still be unprepared for the first annual contract, backdated amendment, partial refund, seat reduction, failed renewal, tax correction, or late usage event. Readiness should be judged against the material scenario set, not the easiest transaction.
The invoice is treated as the commercial truth
An invoice is an output of the agreement and billing policy. It does not by itself prove the correct service dates, rights, quantities, renewal terms, or revenue treatment. When sales changes a contract without updating the structured order, the invoice may be mechanically correct but commercially wrong.
Cash is treated as revenue
Advance payment can improve cash flow while creating a liability for services not yet delivered. Public subscription-company accounts routinely distinguish prepayments and deferred revenue from recognized revenue.
ARR is derived from invoice totals
Invoices include timing effects, taxes, one-time work, usage, credits, and future service periods. ARR should come from a governed subscription or contract model, not from multiplying the most convenient billing total.
Systems overwrite history
Editing a price, term, or quantity in place destroys the explanation of prior invoices, metrics, entitlements, and accounting. Changes should be effective-dated and linked to an approval, amendment, or customer action.
Customer access and collection drift apart
An unhandled invoice-finalization failure can leave a subscription active without a collectible finalized invoice. A failed webhook can prevent access from being granted after successful payment. Stripe’s documentation specifically warns that asynchronous failures and unsuccessful webhook handling can interrupt invoice finalization and collection.
Monitoring should therefore detect stale states, such as:
- paid but not provisioned;
- active but never invoiced;
- invoice finalized but no revenue schedule;
- cancelled but still provisioned;
- renewal date passed without invoice or renewal action;
- processor payout not reconciled;
- subscription in recurring metrics after termination.
Manual exceptions become the normal process
A spreadsheet may be acceptable for a small number of reviewed exceptions. It is not acceptable as an invisible second billing system. Every exception should have a reason, owner, approval, effective date, accounting effect, and path back into the controlled record.
The company buys complexity before it needs it
A company selling one fixed monthly plan does not necessarily need a complex revenue automation suite. A controlled billing platform, accounting system, documented policy, and reliable reconciliation may be sufficient.
The opposite mistake is more dangerous: continuing with spreadsheets and manual invoices after contracts have become multi-element, multi-currency, usage-based, sales-assisted, or heavily modified. The appropriate architecture depends on transaction volume, pricing complexity, sales motion, accounting requirements, jurisdictions, audit expectations, integration capacity, and the cost of exceptions.
The company is ready to depend on the workflow when it can answer “yes” to the following questions:
- Can every approved offer be represented without hidden side calculations?
- Does an approved order create the correct subscription, invoice, access, accounting treatment, recurring-revenue record, and renewal date?
- Are contract, billing, payment, service, and accounting dates separately recorded?
- Do changes and exceptions preserve history and approvals?
- Can failed payments, cancellations, refunds, disputes, and renewals be processed consistently?
- Can finance reconcile invoices to receivables, collections to payouts and bank deposits, deferred revenue to recognition, and opening MRR to closing MRR?
- Can the company detect records that have stopped between systems?
- Can someone other than the founder run the process, investigate an exception, and explain the result?
- Have all material scenarios passed end-to-end testing with finance, operations, and system-owner sign-off?
When those conditions are met, the evidence is more than a configured billing account. It is a working operating system: billing setup tied to approved offers, trustworthy renewal dates, controlled invoicing, defensible revenue schedules, reconciled cash, governed ARR and MRR, monitored exceptions, and a repeatable close.
That is the decision billing readiness should support. The company can now sell and renew subscriptions knowing that the commercial promise, customer experience, operational record, and financial result will remain connected as volume grows.
Sources
Primary and official sources
- Financial Accounting Standards Board, “Revenue Recognition: ASU 2014-09, Revenue from Contracts with Customers.”
- Financial Accounting Standards Board, 2024 post-implementation review announcement for Topic 606.
- IFRS Foundation, IFRS 15 supporting material and post-implementation review.
- Stripe documentation on subscription events, webhook security, idempotency, revenue recognition, and reconciliation.
- PCI Security Standards Council, PCI DSS version 4.0.1 publications and e-commerce validation updates.
- Amplitude, 2025 Form 10-K.
- CrowdStrike, 2025 Form 10-K.
- Confluent, 2024 Form 10-K, and LiveRamp, 2025 filing, for ARR-definition examples.
Open research
- Liran Einav, Benjamin Klopack, and Neale Mahoney, “Selling Subscriptions,” National Bureau of Economic Research Working Paper 31547.
- Peter Fader and Bruce Hardie, “Customer-Base Valuation in a Contractual Setting: The Perils of Ignoring Heterogeneity.”
