XML 28 R9.htm IDEA: XBRL DOCUMENT v3.21.1
REVENUE RECOGNITION
12 Months Ended
Jan. 31, 2021
Revenue from Contract with Customer [Abstract]  
REVENUE RECOGNITION REVENUE RECOGNITION
Revenue is recognized when a customer obtains control of promised goods or services in an amount that reflects the consideration that we expect to receive in exchange for those goods or services. When an arrangement contains multiple performance obligations, we account for individual performance obligations separately if they are distinct. We recognize revenue through the application of the following five steps:

1) Identify the contract(s) with a customer
A contract with a customer exists when (i) we enter into an enforceable contract with the customer that defines each party’s rights regarding the goods or services to be transferred and identifies the payment terms related to these goods or services, (ii) the contract has commercial substance, and (iii) we determine that collection of substantially all consideration for goods or services that are transferred is probable based on the customer’s intent and ability to pay the promised consideration. We apply judgment in determining the customer’s ability and intention to pay, which is based on a variety of factors including the customer’s historical payment experience or in the case of a new customer, published credit and financial information pertaining to the customer. Our customary business practice is to enter into legally enforceable written contracts with our customers. The majority of our contracts are governed by a master agreement between us and the customer, which sets forth the general terms and conditions of any individual contract between the parties, which is then supplemented by a customer purchase order to specify the different goods and services, the associated prices, and any additional terms for an individual contract. Multiple contracts with a single counterparty entered into at the same time are evaluated to determine if the contracts should be combined and accounted for as a single contract.

2) Identify the performance obligations in the contract
Performance obligations promised in a contract are identified based on the goods or services that will be transferred to the customer that are both capable of being distinct, whereby the customer can benefit from the goods or services either on its own or together with other resources that are readily available from third parties or from us, and are distinct in the context of the contract, whereby the transfer of the goods or services is separately identifiable from other promises in the contract. To the extent a contract includes multiple promised goods or services, we must apply judgment to determine whether promised goods or services are capable of being distinct and are distinct in the context of the contract. If these criteria are not met the promised goods or services are accounted for as a combined performance obligation. Generally, our contracts do not include non-distinct performance obligations, but certain Cyber Intelligence customers require design, development, or significant customization of our products to meet their specific requirements, in which case the products and services are combined into one distinct performance obligation.

3) Determine the transaction price
The transaction price is determined based on the consideration to which we will be entitled in exchange for transferring goods or services to the customer. We assess the timing of transfer of goods and services to the customer as compared to the timing of payments to determine whether a significant financing component exists. As a practical expedient, we do not assess the existence of a significant financing component when the difference between payment and transfer of deliverables is a year or less, which is the case in the majority of our customer contracts. The primary purpose of our invoicing terms is not to receive or provide financing from or to customers. Our Cyber Intelligence contracts may require an advance payment to encourage customer commitment to the project and protect us from early termination of the contract. To the extent the transaction price includes variable consideration, we estimate the amount of variable consideration that should be included in the transaction price utilizing either the expected value method or the most likely amount method depending on the nature of the variable consideration. Variable consideration is included in the transaction price, if we assessed that a significant future reversal of cumulative revenue under the contract will not occur. Typically, our contracts do not provide our customers with any right of return or refund, and we do not constrain the contract price as it is probable that there will not be a significant revenue reversal due to a return or refund.

4) Allocate the transaction price to the performance obligations in the contract
If the contract contains a single performance obligation, the entire transaction price is allocated to the single performance obligation. However, if a series of distinct goods or services that are substantially the same qualifies as a single performance obligation in a contract with variable consideration, we must determine if the variable consideration is attributable to the entire contract or to a specific part of the contract. We allocate the variable amount to one or more distinct performance obligations but not all or to one or more distinct services that forms a part of a single performance obligation, when the payment terms of the variable amount relate solely to our efforts to satisfy that distinct performance obligation and it results in an allocation that is consistent with the overall allocation objective of ASU No. 2014-09. Contracts that contain multiple performance obligations require an allocation of the transaction price to each performance obligation based on a relative standalone selling price basis unless the transaction price is variable and meets the criteria to be allocated entirely to a performance obligation or to a distinct good or service that forms part of a single performance obligation. We determine standalone selling price (“SSP”) based on the price at which the performance obligation is sold separately. If the SSP is not observable through past transactions, we estimate the SSP taking into account available information such as market conditions, including geographic or regional specific factors, competitive positioning, internal costs, profit objectives, and internally approved pricing guidelines related to the performance obligation.

5) Recognize revenue when (or as) the entity satisfies a performance obligation
We satisfy performance obligations either over time or at a point in time depending on the nature of the underlying promise. Revenue is recognized at the time the related performance obligation is satisfied by transferring a promised good or service to a customer. In the case of contracts that include customer acceptance criteria, revenue is not recognized until we can objectively conclude that the product or service meets the agreed-upon specifications in the contract.

We only apply the five-step model to contracts when it is probable that we will collect the consideration we are entitled to in exchange for the goods or services we transfer to our customers. Revenue is measured based on consideration specified in a contract with a customer, and excludes taxes assessed by a governmental authority that are both imposed on and concurrent with a specific revenue-producing transaction, that are collected by us from a customer.

Shipping and handling activities that are billed to the customer and occur after control over a product has transferred to a customer are accounted for as fulfillment costs and are included in cost of revenue. Historically, these expenses have not been material.
Nature of Goods and Services

We derive and report our revenue in two categories: (a) product revenue, including licensing of software products, unbundled SaaS and the sale of hardware products (which include software that works together with the hardware to deliver the product’s essential functionality), and (b) service and support revenue, including revenue from cloud deployments, bundled SaaS, hosting services, optional managed services, installation services, initial and renewal support, project management, product warranties, and business advisory consulting, and training services.

Our software licenses either provide our customers a perpetual right to use our software or, in the case of unbundled SaaS, the right to use our software for only a fixed term, in most cases between a one- and three-year time frame. Generally, our contracts do not provide significant services of integration and customization and installation services are not required to be purchased directly from us. The software is delivered before related services are provided and is functional without professional services, updates and technical support. We have concluded that the software license is distinct as the customer can benefit from the software on its own. Software revenue is typically recognized when the software is delivered or made available for download to the customer. We rarely sell our software licenses on a standalone basis and as a result SSP is not directly observable and must be estimated. We apply the adjusted market assessment approach, considering both market conditions and entity specific factors such as assessment of historical data of bundled sales of software licenses with other promised goods and services in order to maximize the use of observable inputs. Software SSP is established based on an appropriate discount from our established list price, taking into consideration whether there are certain stratifications of the population with different pricing practices. Revenue for hardware is recognized at a point in time, generally upon shipment or delivery.

In our Cyber Intelligence Solutions segment certain contracts require us to significantly customize our software and these contracts are generally recognized over time as we perform because our performance does not create an asset with an alternative use and we have an enforceable right to payment plus a reasonable profit for performance completed to date. Revenue is recognized over time based on the extent of progress towards completion of the performance obligation. We use labor hours incurred to measure progress for these contracts because it best depicts the transfer of the asset to the customer. Under the labor hours incurred measure of progress, the extent of progress towards completion is measured based on the ratio of labor hours incurred to date to the total estimated labor hours at completion of the distinct performance obligation. Due to the nature of the work performed in these arrangements, the estimation of total labor hours at completion is complex, subject to many variables and requires significant judgment. If circumstances arise that change the original estimates of revenues, costs, or extent of progress toward completion, revisions to the estimates are made. These revisions may result in increases or decreases in estimated revenues or costs, and such revisions are reflected in revenue on a cumulative catch-up basis in the period in which the circumstances that gave rise to the revision become known. We use the expected cost plus a margin approach to estimate the SSP of our significantly customized solutions.

Professional services revenues primarily consist of fees for deployment and optimization services, as well as training, and are generally recognized over time as the customer simultaneously receives and consumes the benefits of the professional services as the services are performed. Professional services that are billed on a time and materials basis are recognized over time as the services are performed. For contracts billed on a fixed price basis, revenue is recognized over time using an input method based on labor hours expended to date relative to the total labor hours expected to be required to satisfy the related performance obligation. We determine SSP for our professional services based on the price at which the performance obligation is sold separately, which is observable through past transactions.

Our bundled SaaS contracts are typically comprised of a right to access our software, maintenance, hosting fees and standard managed services. We do not provide the customer the contractual right to take possession of the software at any time during the hosting period under these contracts. The customer can only benefit from the SaaS license, maintenance and standard managed services when combined with the hosting service as the hosting service is the only way for the customer to access the software and benefit from the maintenance and managed services. Accordingly, each of the license, maintenance, hosting and standard managed services is not considered a distinct performance obligation in the context of the contract, and are combined into a single performance obligation (“bundled SaaS services”) and recognized ratably over the contract period. Our bundled SaaS customer contracts can consist of fixed, variable, and usage based fees. Typically, we invoice a portion of the fees at the outset of the contract and then monthly or quarterly thereafter. Certain bundled SaaS contracts include a nonrefundable upfront fee for setup services, which are not distinct from the bundled SaaS services. Non-distinct setup services represent an advanced payment for future bundled SaaS services, and are recognized as revenue when those bundled SaaS services are satisfied, unless the nonrefundable fee is considered to be a material right, in which case the nonrefundable fee is recognized over the expected benefit period, which includes anticipated renewals. We determine SSP for our bundled SaaS services based on the price at which the performance obligation is sold separately, which is observable through past renewal transactions. We satisfy our bundled SaaS services by providing access to our software over time and processing transactions for usage based contracts. For
non-usage based fees, the period of time over which we perform is commensurate with the contract term because that is the period during which we have an obligation to provide the service. The performance obligation is recognized on a time elapsed basis, by month for which the services are provided.

Customer support revenue is derived from providing telephone technical support services, bug fixes and unspecified software updates and upgrades to customers on a when-and-if-available basis. Each of these performance obligations provide benefit to the customer on a standalone basis and are distinct in the context of the contract. Each of these distinct performance obligations represent a stand ready obligation to provide service to a customer, which is concurrently delivered and has the same pattern of transfer to the customer, which is why we account for these support services as a single performance obligation. We recognize support services ratably over the contractual term, which typically is one year, and develop SSP for support services based on standalone renewal contracts.

Our Customer Engagement solutions are generally sold with a warranty of one year for hardware and 90 days for software. Our Cyber Intelligence solutions are generally sold with warranties that typically range from 90 days to three years and, in some cases, longer. These warranties do not represent an additional performance obligation as services beyond assuring that the software license and hardware complies with agreed-upon specifications are not provided.

Disaggregation of Revenue

The following table provides information about disaggregated revenue for our Customer Engagement and Cyber Intelligence segments by product revenue and service and support revenue, as well as by the recurring or nonrecurring nature of revenue for each business segment. Recurring revenue is the portion of our revenue that we believe is likely to be renewed in the future. The recurrence of these revenue streams in future periods depends on a number of factors including contractual periods and customers' renewal decisions.

For our Customer Engagement segment:

Recurring revenue primarily consists of cloud revenue and initial and renewal support revenue.
Cloud revenue consists primarily of software as a service (“SaaS”) revenue with some optional managed services revenue.
SaaS revenue consists predominately of bundled SaaS (software with standard managed services) with some unbundled SaaS (comprised of software licensing rights accounted for as term-based licenses whereby customers use our software with related support for a specific period). Unbundled SaaS can be deployed in the cloud either by us or a cloud partner.
Bundled SaaS revenue is recognized over time and unbundled SaaS revenue is recognized at a point in time, except for the related support which is recognized over time. Unbundled SaaS contracts are eligible for renewal after the initial fixed term, which in most cases is between a one- and three-year time frame.
Nonrecurring revenue primarily consists of our perpetual licenses, consulting, implementation and installation services, and training.

For our Cyber Intelligence segment:

Recurring revenue primarily consists of initial and renewal support, subscription software licenses, and SaaS in certain limited transactions.
Nonrecurring revenue primarily consists of our perpetual licenses, long-term projects including software customizations that are recognized over time as control transfers to the customer using a percentage-of-completion (“POC”) method, consulting, implementation and installation services, training, and hardware.
Year Ended January 31,
(in thousands)202120202019
Revenue by category:
Customer Engagement revenue
Product$199,426 $223,397 $221,721 
Service and support630,821 623,128 574,566 
Total Customer Engagement revenue830,247 846,525 796,287 
Cyber Intelligence revenue
Product206,828 231,478 232,929 
Service and support236,630 225,631 200,531 
Total Cyber Intelligence revenue443,458 457,109 433,460 
Total
Product406,254 454,875 454,650 
Service and support867,451 848,759 775,097 
Total revenue$1,273,705 $1,303,634 $1,229,747 
Revenue by recurrence:
Customer Engagement revenue
Recurring revenue$575,624 $534,378 $465,671 
Nonrecurring revenue254,623 312,147 330,616 
Total Customer Engagement revenue830,247 846,525 796,287 
Cyber Intelligence revenue
Recurring revenue223,405 192,578 165,265 
Nonrecurring revenue220,053 264,531 268,195 
Total Cyber Intelligence revenue443,458 457,109 433,460 
Total
Recurring revenue799,029 726,956 630,936 
Nonrecurring revenue474,676 576,678 598,811 
Total revenue$1,273,705 $1,303,634 $1,229,747 

The following table provides a further disaggregation of revenue for our Customer Engagement segment. In order to conform with the presentation described above, unbundled SaaS revenue for the years ended January 31, 2020 and 2019 has been updated to reflect $4.7 million and $1.8 million, respectively, of unbundled SaaS support revenue which had previously been presented within support revenue.
Year Ended January 31,
(in thousands)202120202019
Customer Engagement revenue:
Recurring revenue
Bundled SaaS revenue$145,962 $115,925 $84,715 
Unbundled SaaS revenue71,990 48,018 26,732 
Optional managed services revenue59,459 56,534 41,103 
Total cloud revenue277,411 220,477 152,550 
Support revenue298,213 313,901 313,121 
Total recurring revenue575,624 534,378 465,671 
Nonrecurring revenue
Perpetual revenue141,840 179,882 196,125 
Professional services revenue112,783 132,265 134,491 
Total nonrecurring revenue254,623 312,147 330,616 
Total Customer Engagement revenue$830,247 $846,525 $796,287 
Contract Balances

The following table provides information about accounts receivable, contract assets, and contract liabilities from contracts with customers:
January 31,
(in thousands)20212020
Accounts receivable, net$381,158 $382,435 
Contract assets, net$57,033 $64,961 
Long-term contract assets, net (included in other assets)$18,429 $1,358 
Contract liabilities$388,045 $397,350 
Long-term contract liabilities$38,539 $40,565 

We receive payments from customers based upon contractual billing schedules, and accounts receivable are recorded when the right to consideration becomes unconditional. Contract assets are rights to consideration in exchange for goods or services that we have transferred to a customer when that right is conditional on something other than the passage of time. The majority of our contract assets represent unbilled amounts related to multi-year unbundled SaaS contracts and arrangements where our right to consideration is subject to the contractually agreed upon billing schedule. We expect billing and collection of a majority of our contract assets to occur within the next twelve months and asset impairment charges related to contract assets were immaterial for each of the years ended January 31, 2021, 2020, and 2019. There were two customers in our Cyber Intelligence segment that accounted for a combined $72.6 million and $51.7 million of our aggregated accounts receivable and contract assets at January 31, 2021 and 2020, respectively. These amounts result from both direct and indirect contracts with governmental agencies outside of the United States. which we believe present insignificant credit risk. During the years ended January 31, 2021 and 2020, we transferred $45.6 million and $49.1 million, respectively, to accounts receivable from contract assets recognized at the beginning of each period, as a result of the right to the transaction consideration becoming unconditional. We recognized $55.1 million and $48.8 million of contract assets during the years ended January 31, 2021 and 2020, respectively. Contract assets recognized during each year primarily related to multi-year unbundled SaaS contracts in our Customer Engagement segment that are invoiced annually with license revenue recognized upfront.

Contract liabilities represent consideration received or consideration which is unconditionally due from customers prior to transferring goods or services to the customer under the terms of the contract. Revenue recognized during the years ended January 31, 2021 and 2020 from amounts included in contract liabilities at the beginning of each period was $368.8 million and $331.6 million, respectively.

Remaining Performance Obligations

Transaction price allocated to remaining performance obligations (“RPO”) represents contracted revenue that has not yet been recognized, which includes contract liabilities and non-cancelable amounts that will be invoiced and recognized as revenue in future periods. The majority of our arrangements are for periods of up to three years, with a significant portion being one year or less.

We elected to exclude amounts of variable consideration attributable to sales- or usage-based royalties in exchange for a license of our IP from the remaining performance obligations. The timing and amount of revenue recognition for our remaining performance obligations is influenced by several factors, including seasonality, the timing of support renewals, and the revenue recognition for certain projects, particularly in our Cyber Intelligence segment, that can extend over longer periods of time, delivery under which, for various reasons, may be delayed, modified, or canceled. Further, we have historically generated a large portion of our business each quarter by orders that are sold and fulfilled within the same reporting period. Therefore, the amount of remaining obligations may not be a meaningful indicator of future results.

The following table provides information about remaining performance obligations for each of our operating segments:
January 31, 2021January 31, 2020
(in thousands)Customer EngagementCyber IntelligenceTotalCustomer EngagementCyber IntelligenceTotal
RPO:
Expected to be recognized within 1 year$405,714 $353,166 $758,880 $374,982 $356,677 $731,659 
Expected to be recognized in more than 1 year229,951 198,572 428,523 117,497 225,056 342,553 
Total RPO$635,665 $551,738 $1,187,403 $492,479 $581,733 $1,074,212 

Costs to Obtain and Fulfill Contracts

We capitalize commissions paid to internal sales personnel and agent commissions that are incremental to obtaining customer contracts. We have determined that these commissions are in fact incremental and would not have occurred absent the customer contract. Capitalized sales and agent commissions are amortized on a straight-line basis over the period the goods or services are transferred to the customer to which the assets relate, which ranges from immediate to as long as six years, if commission amounts paid upon renewal are not commensurate with amounts paid on the initial contract. A portion of the initial commission payable on the majority of Customer Engagement contracts is amortized over the anticipated support renewal period, which is generally four to six years, due to commissions paid on support renewal contracts not being commensurate with amounts paid on the initial contract.

Total capitalized costs to obtain contracts were $58.2 million as of January 31, 2021, of which $7.3 million is included in prepaid expenses and other current assets and $50.9 million is included in other assets on our consolidated balance sheet. Total capitalized costs to obtain contracts were $45.0 million as of January 31, 2020, of which $7.7 million is included in prepaid expenses and other current assets and $37.3 million is included in other assets on our consolidated balance sheet. During the years ended January 31, 2021, 2020, and 2019, we expensed $49.9 million, $54.4 million and $45.7 million, respectively, of sales and agent commissions, which are included in selling, general and administrative expenses and there were no impairment losses recognized for these capitalized costs.

We capitalize costs incurred to fulfill our contracts when the costs relate directly to the contract and are expected to generate resources that will be used to satisfy the performance obligation under the contract and are expected to be recovered through revenue generated under the contract. Costs to fulfill contracts are expensed to cost of revenue as we satisfy the related performance obligations. Total capitalized costs to fulfill contracts were $13.1 million as of January 31, 2021, of which $4.8 million is included in prepaid expenses and other current assets and $8.3 million is included in other assets on our consolidated balance sheet. Total capitalized costs to fulfill contracts were $14.7 million as of January 31, 2020, of which $8.4 million is included in prepaid expenses and other current assets and $6.3 million is included in other assets on our consolidated balance sheet. Deferred cost of revenue is classified in its entirety as current or long-term based on whether the related revenue will be recognized within twelve months of the origination date of the arrangement. The amounts capitalized primarily relate to nonrecurring costs incurred in the initial phase of our bundled SaaS arrangements (i.e., setup costs), which consist of costs related to the installation of systems and processes and prepaid third-party cloud infrastructure costs. Capitalized setup costs are amortized on a straight-line basis over the expected period of benefit, which includes anticipated contract renewals or extensions, consistent with the transfer to the customer of the services to which the asset relates. During the years ended January 31, 2021, 2020, and 2019, we amortized $16.6 million, $13.1 million, and $18.3 million, respectively, of contract fulfillment costs.