Search

US-20260127189-A1 - SYSTEMS AND METHODS FOR INTELLIGENT CUBING OF MULTI-DIMENSIONAL DATA IN A MULTI-TENANT SYSTEM

US20260127189A1US 20260127189 A1US20260127189 A1US 20260127189A1US-20260127189-A1

Abstract

The multi-tenant system includes one or more hardware processors that obtain consumption records, the consumption records including consumption event attributes and consumption event attribute values. The one or more hardware processors recognize schemas of the obtained consumption records, generate a consumption dataset to compile the obtained consumption records based on the recognized one or more schemas, determine from the generated consumption dataset cardinalities of each of eligible consumption event attributes, generate a cubed consumption dataset from the consumption dataset based on the determined cardinalities, route the cubed consumption dataset to one or more directories of a datastore, perform analytics on the cubed consumption dataset, and output the analytics results.

Inventors

  • Siva Kumar Govindarajan
  • Rodrigo Copetti
  • Samuel Doan

Assignees

  • ZUORA, INC.

Dates

Publication Date
20260507
Application Date
20241106

Claims (20)

  1. 1 . A multi-tenant system, comprising: one or more hardware processors; and memory storing computer instructions, the computer instructions when executed by the one or more hardware processors configured to perform: obtaining consumption records, the consumption records comprising consumption event attributes and consumption event attribute values; recognizing one or more schemas corresponding to the obtained consumption records; generating a consumption dataset to compile the obtained consumption records based on the recognized one or more schemas; determining, from the generated consumption dataset, cardinalities of each of eligible consumption event attributes, each cardinality indicative of a number of unique consumption event attribute values of each of the eligible consumption event attributes; generating a cubed consumption dataset from the consumption dataset based on the determined cardinalities; routing the cubed consumption dataset to one or more directories of a datastore; evaluating analytics results from the cubed consumption dataset; and outputting the analytics results.
  2. 2 . The multi-tenant system of claim 1 , wherein the generating of the consumption dataset comprises generating the consumption dataset in a tabular format having a tabular schema consistent with the recognized one or more schemas.
  3. 3 . The multi-tenant system of claim 1 , wherein at least a portion of the obtained consumption records have different schemas, and the recognizing of the one or more schemas comprises combining the different schemas.
  4. 4 . The multi-tenant system of claim 1 , wherein the recognizing of the one or more schemas comprises recognizing a changed schema, the changed schema comprising an additional consumption event attribute or a removal of a previous consumption event attribute, and the generating of the consumption dataset is based on the recognized changed schema.
  5. 5 . The multi-tenant system of claim 1 , wherein the generating of the consumption dataset comprises populating the consumption event attributes from the consumption records; and the generating of the cubed consumption dataset from the consumption dataset comprises: selecting one or more to-be-removed consumption event attributes, from the eligible consumption event attributes, for removal from the consumption dataset; and removing the one or more to-be-removed consumption event attributes from the consumption dataset.
  6. 6 . The multi-tenant system of claim 5 , wherein the selecting of the one or more to-be-removed consumption event attributes comprises selecting for removal any of the eligible consumption event attributes having a cardinality that exceeds a cardinality threshold.
  7. 7 . The multi-tenant system of claim 5 , wherein the selecting of the one or more to-be-removed consumption event attributes comprises retaining a given number of the eligible consumption event attributes having lowest cardinalities.
  8. 8 . The multi-tenant system of claim 5 , wherein the selecting of the one or more to-be-removed consumption event attributes comprises retaining a given number of the eligible consumption event attributes having lowest cardinalities above a minimum cardinality threshold.
  9. 9 . The multi-tenant system of claim 5 , wherein the generating of the cubed consumption dataset comprises: after removing the one or more to-be-removed consumption event attributes, consolidating matching events corresponding to consumption events having common consumption event attribute values for the remaining eligible consumption event attributes into a bundle, and generating metrics associated with the bundle.
  10. 10 . The multi-tenant system of claim 5 , wherein the eligible consumption event attributes exclude temporal attributes indicative of a time or day of consumption and quantity attributes indicative of a quantity of consumption.
  11. 11 . A method implemented by a multi-tenant system, the method comprising: obtaining consumption records, the consumption records comprising consumption event attributes and consumption event attribute values; recognizing one or more schemas corresponding to the obtained consumption records; generating a consumption dataset to compile the obtained consumption records based on the recognized one or more schemas; determining, from the generated consumption dataset, cardinalities of each of eligible consumption event attributes, each cardinality indicative of a number of unique consumption event attribute values of each of the eligible consumption event attributes; generating a cubed consumption dataset from the consumption dataset based on the determined cardinalities; routing the cubed consumption dataset to one or more directories of a datastore; evaluating analytics results from the cubed consumption dataset; and outputting the analytics results.
  12. 12 . The method of claim 11 , wherein the generating of the consumption dataset comprises generating the consumption dataset in a tabular format having a tabular schema consistent with the recognized one or more schemas.
  13. 13 . The method of claim 11 , wherein at least a portion of the obtained consumption records have different schemas, and the recognizing of the one or more schemas comprises combining the different schemas.
  14. 14 . The method of claim 11 , wherein the recognizing of the one or more schemas comprises recognizing a changed schema, the changed schema comprising an additional consumption event attribute or a removal of a previous consumption event attribute, and the generating of the consumption dataset is based on the recognized changed schema.
  15. 15 . The method of claim 11 , wherein the generating of the consumption dataset comprises populating the consumption event attributes from the consumption records; and the generating of the cubed consumption dataset from the consumption dataset comprises: selecting one or more to-be-removed consumption event attributes, from the eligible consumption event attributes, for removal from the consumption dataset; and removing the one or more to-be-removed consumption event attributes from the consumption dataset.
  16. 16 . The method of claim 15 , wherein the selecting of the one or more to-be-removed consumption event attributes comprises selecting for removal any of the eligible consumption event attributes having a cardinality that exceeds a cardinality threshold.
  17. 17 . The method of claim 15 , wherein the selecting of the one or more to-be-removed consumption event attributes comprises selecting for removal a given number of the eligible consumption event attributes having highest cardinalities.
  18. 17 . The method of claim 15 , wherein the selecting of the one or more to-be-removed consumption event attributes comprises retaining a given number of the eligible consumption event attributes having lowest cardinalities above a minimum cardinality threshold.
  19. 19 . The method of claim 15 , wherein the generating of the cubed consumption dataset comprises: after removing the one or more to-be-removed consumption event attributes, consolidating matching events corresponding to consumption events having common consumption event attribute values for the remaining eligible consumption event attributes into a bundle, and generating metrics associated with the bundle.
  20. 20 . The method of claim 15 , wherein the eligible consumption event attributes exclude temporal attributes indicative of a time or day of consumption and quantity attributes indicative of a quantity of consumption.

Description

TECHNICAL FIELD This disclosure pertains to multi-tenant subscription data, and more particularly pertains to systems and methods for intelligent cubing of multi-dimensional data, e.g., multi-tenant subscription-based resource consumption records, in a multi-tenant system. BACKGROUND Some subscriptions are based on resource consumption of a subscriber. These resources may include tangible and/or intangible resources, such as data utilization, data storage, media, goods, raw materials, energy, system accesses, and/or time. Each resource consumption event may be recorded as a consumption record. Considering the huge volume of consumption records, systems and methods for paring the data are needed. SUMMARY A claimed solution rooted in computer technology overcomes problems specifically arising in the realm of computer technology. In accordance with some embodiments of the present invention, an intelligent cubing system within a multi-tenant system is configured to reduce the volume of multi-dimensional data, e.g., consumption records within a consumption records database. Reducing the volume of multi-dimensional data may help to reduce resources needed to analyze the consumption records. The consumption records include data corresponding to subscription-based consumption events. In some embodiments, in a single time period, e.g., one month, the consumption records database may receive consumption records pertaining to billions of consumption events. The intelligent cubing system obtains consumption records corresponding to consumption events, recognizes one or more schemas of the consumption records, and compiles the consumption records by generating a consumption dataset based on the recognized schema. The intelligent cubing system performs intelligent cubing on the consumption dataset, stores the cubed consumption dataset in one or more datastores, performs analytics on the cubed consumption dataset, and outputs results, e.g., in a dashboard or report. In some embodiments, each consumption record includes consumption event attributes (subscriber name, subscriber identifier, date, time, location information, number of units, etc.) pertaining to a consumption event. The consumption event attributes include consumption event attribute values corresponding to the consumption event attributes. The consumption records may include one or more schemas for storing the consumption event attributes and corresponding values. Generating a consumption dataset from the consumption records may include compiling the data from the consumption records into a structured format, e.g., an array or a tabular format. In some embodiments, each consumption event attribute may correspond to a dimension of the consumption dataset. The intelligent cubing system determines a cardinality of each dimension, e.g., for each consumption event attribute. The cardinality corresponds to a number of unique values of each dimension in the consumption records. In some embodiments, the intelligent cubing system performs intelligent cubing on the consumption dataset by selectively removing dimensions, e.g., consumption event attributes, from the consumption dataset based on their respective cardinalities. In some embodiments, the intelligent cubing system removes consumption event attributes having a cardinality that exceeds an upper cardinality threshold (i.e., having too many alternative values, e.g., username, user ID, street address), and retains consumption event attributes having a cardinality within the upper cardinality threshold (i.e., having a reasonable number of alternative values, e.g., state of residence, gender). In some embodiments, the intelligent cubing system retains a given proportion or number of dimensions having lowest cardinalities or having lowest cardinalities above a minimum cardinality threshold. The intelligent cubing system selectively removes particular dimensions that are likely to have lower usefulness for analytics purposes. After removing dimensions, certain consumption event “rows” may have identical consumption event attributes (except for possibly the unit amounts or other retained metered values). Accordingly, the intelligent cubing system may consolidate rows, while generating metrics involving the unit amounts or other metered values (e.g., sum total, average, mean, median, event count, etc.). The reduction in the volume of data constitutes significant computer improvements, enabling more efficient utilization of processing power and more storage volume needed by the analytics processes. Embodiments of the invention implement a multi-tenant system. The multi-tenant system includes one or more hardware processors; and memory storing computer instructions. The computer instructions, when executed by the one or more hardware processors, are configured to perform obtaining consumption records, the consumption records comprising consumption event attributes and consumption event attribute values. The computer instr