XML 21 R10.htm IDEA: XBRL DOCUMENT v3.21.2
Revenue
9 Months Ended
Sep. 30, 2021
Revenue from Contract with Customer [Abstract]  
Revenue Revenue
Revenue recognition

Revenue is recognized upon transfer of control of promised products or services to customers in an amount that reflects the consideration we expect to receive in exchange for those products or services. The processing and recording of certain revenue requires a manual process, which uses a complex set of procedures to generate complete and accurate data to record these revenue transactions. We enter into contracts that can include various combinations of products and services, each of which are distinct and accounted for as separate performance obligations. Revenue is recognized net of any taxes collected from customers, which are subsequently remitted to governmental authorities.
A performance obligation is a promise in a contract to transfer a distinct good or service to the customer and is the unit of account. Our contracts with customers often include promises to transfer multiple products and services to a customer. Determining whether products and services are considered distinct performance obligations that should be accounted for separately versus together may require significant judgment. For contracts with multiple performance obligations, we allocate the contract transaction price to each performance obligation using our estimate of the standalone selling price ("SSP") of each distinct good or service in the contract.

Judgment is required to determine the SSP for each distinct performance obligation. We analyze separate sales of our products and services as a basis for estimating the SSP of our products and services. We then use the SSP as the basis for allocating the transaction price when our product and services are sold together in a contract with multiple performance obligations. In instances where SSP is not directly observable, such as when we do not sell the product or service separately, we determine the SSP using information that may include market conditions and other observable inputs. We typically have more than one SSP for individual products and services due to the stratification of those products and services by customers and circumstances. In these instances, we may use information, such as geographic region and distribution channel, in determining the SSP.

The transaction price in a contract for usage-based services is typically equal to the minimum commit price in the contract less any discounts provided. The transaction price in a contract that does not contain usage-based services is equal to the total contract value. Because our typical contracts represent distinct services delivered over time with the same pattern of transfer to the customer, usage-based consideration primarily related to actual consumption over the minimum commit levels is allocated to the period to which it relates. The amount of consideration recognized for usage above the minimum commit price is limited to the amount we expect to be entitled to receive in exchange for providing services. We have elected to apply the practical expedient for estimating and disclosing the variable consideration when variable consideration is allocated entirely to a wholly unsatisfied performance obligation or to a wholly unsatisfied promise to transfer a distinct good or service that forms part of a single performance obligation from our remaining performance obligations under these contracts.

Performance obligations represent stand-ready obligations that are satisfied over time as the customer simultaneously receives and consumes the benefits provided by us. These obligations can be content delivery, security, subscription services, professional services, support, edge cloud platform services, and others. Accordingly, our revenue is recognized over time, consistent with the pattern of benefit provided to the customer over the term of the agreement.

At times, customers may request changes that either amend, replace, or cancel existing contracts. Judgment is required to determine whether the specific facts and circumstances within the contracts should be accounted for as a separate contract or as a modification.

In contracts where there are timing differences between when we transfer a promised good or service to the customer and when the customer pays for that good or service, we have determined our contracts do not include a significant financing component. We have also elected the practical expedient to not measure financing components for any contract where the timing difference is less than one year.


Nature of products and services

We primarily derive revenue from the sale of services to customers executing contracts in which the standard contract term is one year, although terms may vary by contract. Most of our contracts are non-cancelable over the contractual term. The majority of our usage based contracts commit the customer to a minimum monthly level of usage and specify the rate at which the customer must pay for actual usage above the monthly minimum. Beginning in the fourth quarter of 2020, we also offer subscriptions to access a unified security web application and application programming interface at a fixed rate.
Revenue by geography is based on the billing address of the customer. Aside from the United States, no other single country accounted for more than 10% of revenue for the three and nine months ended September 30, 2021 and the three months ended September 30, 2020. Aside from the United States, the only other country with greater than 10% of revenue was Singapore, which accounted for 11% of revenue for the nine months ended September 30, 2020.

The following table presents our net revenue by geographic region:

Three months ended September 30,Nine months ended September 30,
2021202020212020
(in thousands)(in thousands)
United States$62,287 $49,140 $179,860 $136,194 
Asia Pacific9,804 10,306 27,969 34,157 
Europe8,550 8,003 25,969 23,549 
All other6,094 3,189 22,815 14,325 
Total revenue$86,735 $70,638 $256,613 $208,225 

The majority of our revenue is derived from enterprise customers, which are defined as customers with revenue in excess of $100,000 over the previous 12-month period. The following table presents our net revenue for enterprise and non-enterprise customers:
Three months ended September 30,Nine months ended September 30,
2021202020212020
(in thousands)(in thousands)
Enterprise customers$76,006 $63,353 $226,622 $186,490 
Non-enterprise customers10,729 7,285 29,991 21,735 
Total revenue$86,735 $70,638 $256,613 $208,225 

Contract balances

The timing of revenue recognition may differ from the timing of invoicing to customers. We have an unconditional right to consideration when we invoice our customers and record a receivable. We record a contract asset when revenue is recognized prior to invoicing, or a contract liability (deferred revenue) when revenue is recognized subsequent to invoicing.

Deferred revenue includes amounts billed to customers for which revenue has not been recognized and consists of the unearned portions of edge cloud platform usage and billings to customers for our security subscription services. Amounts that have been invoiced for annual subscriptions, but not collected, are recorded in accounts receivable and in unearned revenue or in revenue depending on whether services have been delivered to the customer. Our payment terms and conditions vary by contract type. Payment terms on invoiced amounts are at an average of 40 days.

The following table presents our contract assets and contract liabilities as of September 30, 2021 and as of December 31, 2020:
As of September 30, 2021As of December 31, 2020
(in thousands)
Contract assets$181 $387 
Contract liabilities$24,817 $18,020 

The following table presents the revenue recognized during the three and nine months ended September 30, 2021 and 2020 from amounts included in the contract liability at the beginning of the period:
Three months ended September 30,Nine months ended September 30,
2021202020212020
(in thousands)
Revenue recognized in the period from amounts included in contract liability at the beginning of the period$8,815 $37 $13,942 $310 

Remaining performance obligations

As of September 30, 2021, we had $147.6 million of remaining performance obligations, which includes deferred revenue and amounts that will be invoiced and recognized in future periods, respectively. We apply the practical expedient of ASC 606, which gives us the optional exemption from disclosing certain information about our remaining performance obligations for our service contracts for which the original contract duration is one year or less, such as the aggregate transaction price allocated to the performance obligations that are unsatisfied (or partially unsatisfied) as of the end of the reporting period. The typical contract term is one year, although terms may vary by contract. As of September 30, 2021, we expect to recognize 84% of this balance over the next 12 months and the remainder within the following year.

Costs to obtain a contract

We capitalize incremental costs associated with obtaining customer contracts, specifically for sales commissions. These costs are deferred on our Condensed Consolidated Balance Sheets and are amortized over the expected period of benefit on a straight-line basis. Based on the nature of our unique technology and services, the rate at which we continually enhance and update our technology, and our historical customer retention, the expected period of benefit is determined to be approximately five years. Amortization is recorded within the sales and marketing line item on the accompanying Condensed Consolidated Statements of Operations. The incremental costs associated with obtaining customer contracts, the majority of which are deferred commissions, are included in other assets on the accompanying Condensed Consolidated Balance Sheets.

As of September 30, 2021 and December 31, 2020, our costs to obtain contracts were as follows:
As of September 30, 2021As of December 31, 2020
(in thousands)
Deferred contract costs, net$23,067 $19,332 
During the three months ended September 30, 2021 and 2020, we recognized $1.6 million and $0.9 million of amortization related to deferred contract costs, respectively. During the nine months ended September 30, 2021 and 2020, we recognized $4.6 million and $2.4 million of amortization related to deferred contract costs, respectively. These costs are recorded within the sales and marketing financial statement line item on the accompanying Condensed Consolidated Statements of Operations.