REVENUE RECOGNITION REVENUE RECOGNITION - SIGNIFICANT ACCOUNTING POLICY (Policies) |
3 Months Ended |
|---|---|
Apr. 30, 2018 | |
| Revenue from Contract with Customer [Abstract] | |
| Revenue Recognition, Policy [Policy Text Block] | On February 1, 2018, we adopted ASU No. 2014-09, Revenue from Contracts with Customers (Topic 606), using the modified retrospective method applied to those contracts that were not completed as of February 1, 2018. Results for reporting periods beginning after February 1, 2018 are presented under ASU No. 2014-09, while prior period amounts are not adjusted and continue to be reported in accordance with our historic accounting under prior guidance. For contracts that were modified before the effective date of ASU No. 2014-09, we recorded the aggregate effect of all modifications when identifying performance obligations and allocating the transaction price in accordance with the practical expedient provided for under the new guidance, which permits an entity to record the aggregate effect of all contract modifications that occur before the beginning of the earliest period presented in accordance with the new standard when identifying the satisfied and unsatisfied performance obligations, determining the transaction price, and allocating the transaction price to the satisfied and unsatisfied performance obligations. Under the new standard, an entity recognizes revenue when its customer obtains control of promised goods or services, in an amount that reflects the consideration that the entity expects to receive in exchange for those goods or services. To determine revenue recognition for contracts that are within the scope of new standard, we perform 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. 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 a 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 in 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, and the sale of hardware products, and (b) service and support revenue, including revenue from installation services, post-contract customer support (“PCS”), project management, hosting services, cloud deployments, SaaS, application managed services, product warranties, business advisory consulting, and training services. Our software licenses typically provide for a perpetual right to use our software, though we also sell term-based software licenses that provide our customers with 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. Contracts that require us to significantly customize our software 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 SaaS contracts are typically comprised of a right to access our software, maintenance, and hosting fees. 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 and the maintenance 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 services. Accordingly, each of the license, maintenance, and hosting services is not considered a distinct performance obligation in the context of the contract, and should be combined into a single performance obligation (“SaaS services”) and recognized ratably over the contract period. Our 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 SaaS contracts include a nonrefundable upfront fee for setup services, which are not distinct from the SaaS services. Non-distinct setup services represent an advanced payment for future SaaS services, and are recognized as revenue when those 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 SaaS renewals. We determine SSP for our SaaS services based on the price at which the performance obligation is sold separately, which is observable through past SaaS renewal transactions. We satisfy our 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. |