Thursday, February 28, 2013

Data Vault model: Mobile Telecom example (part-2)

This is the next part from a previous notes where I introduced "Data Vault model: Mobile Telecom example".  In this note, I discuss the model following each step of the methodology.  

Business Entities

Let’s start first with the identification of some of our key Business entities:

1. Customer

  • Definition: party that gets billed for the service/product offered by the Telecom
  • Characteristics
    • Business Key: BAN (billing account number)
    • History Evolution: quite stable as one BAN cannot change for the same account however, one subscriber can have different BAN when migrating account type (e.g. prepay to postpay).
    • Complexity: recursive relationship between BANs often needed to capture BAN hierarchies (BAN → parent BANs → root BAN) for large B2B customers.

2. Subscriber

  • Definition: individual attached to a particular subscription, i.e. MSISDN (mobile number that provides telecomunnication services).
  • Characteristics
    • Business Key: MSISDN, the telephone number given to the individual.
    • Key alternative: this Business key is not stable, as same subscriber typically changes MSISDN, so Billing systems usually provides an alternative key.  This alternate subscriber-ID must be used instead.
    • Complexity: Not all OLTPs have same identifiable key, any systems not so concerned with history usually tracks the subscriber with its MSISDN at given Timestamp, whereas others come up with more stable key like Subscriber-ID or technical key attached to the SIM card like IMSI.

3. Product

  • Definition:  In telco, the product does not correspond to your typical and tangible goods but rather associated to some networking features leveraged by your handset (e.g. SMS, MMS, call, voice mail, highspeed data, etc..).
  • Characteristics
    • Business Key: ProductCode (usually short text not so well standardized throughout the organization).
    • Complexity: Conformance and data integrity problems as each system may use its own, and usually involves some form of hierarchical representation.

4. Service

  • Definition:  Service is usually tightly coupled with the notion of product.  Subscribers purchase service (either inherited through some rating-plan or purchased individually) that include specific Product along with pricing and detail features.  (e.g. SMS option, Voice mail international, Local calls special rating, unlimited data volume, free calls number, etc..).
  • Characteristics
    • Business Key ServiceCode (again short text not so well standardized but mostly used by the Billing system).
    • Complexity: Usually involved some grouping or combination of more detail features related to network and Intelligent network layer (IN), and also linked to rating information used for billing purposes.

5. Handset

  • Definition:  Device through which the subscriber access network product.
  • Characteristics
    • Business Key TAC (standard code describing handset model manufacturer etc.).  Not to be confused with IMEI which uniquely identifies each physical device (handset id).

6. Invoice

  • Definition:  Bill statement sent regularly to the Customer for related subscription.
  • Characteristics
    • Business Key Invoice number (used mostly by billing system).
    • Complexity: typically applicable for a subset of the entire customer population (postpay), as prepay is billed in realtime according to usage
There are obviously many more entities that quickly come to mind (e.g. Sales, Call-Center, Agent, Contact, Campaign, Port-in/out, Visits, etc..), but let’s stop here for the sake of simplicity.

    Business Relationship Entities

    Again, let’s give out a few examples of relationships that should cover some different modeling scenario.  Telco are very complex organization with a large number of heterogenous systems, so these example are clearly over-simplified:

    1. Customer hierarchy

    • Definition: Large B2B customers have usually organizational hierarchy struture for managing employee payment responsibilities and complexity
    • Characteristics
      • Data Model name: LNK_CUSTOMER_HIER
      • Natural recursive relationship: Each Account is associated to a direct parent Account (a single node) until we reach the top account or Root BAN.  (BAN → parent BANs → .. → root BAN).
      • Links modelling: these recursive relationship are best modelled with a parent_key FK’s pointing back on same table.  However in DV, linkage structure stands on its own, so these Links must be stored separately.  The Child_key acts like the driving key of the relationship (is used to determine the end-dating of the link).

    2. Subscriber RatingPlan

    • Definition: The subscription is associated to some form of rating plan.
    • Characteristics
      • Data Model name: LNK_SUBS_RPLAN
      • Natural relationship: Any subscriber must have one and only one RatingPlan at any point in time.  This plan specifies the exact rating of all billable communication items.
      • Links modelling:  this is modelled using a typical Link structure between Subscriber & RatingPlan accompanied with lifespan From/To Date in Satellite (see discussion “Relationship of limited lifespan” ).

    3. Billing Invoice statement & Charge item

    • Definition:   Billing statement is invoiced to each customer account at each end of bill cycle.
    • Characteristics
      • Data Model name: LNK_INVOICE & LNK_INVOICE_RECHARGE
      • Natural relationship:  The Link relates Bill Statement with the customer, and also with the 1-to-many Subscribers attached to this Customer account.    There is also a Link which itemizes each charge by Product (and depending on RatingPlan) associated to one Invoice (LNK_INVOICE).   Things may vary here, but let’s keep it simple..
      • Links modelling:  The relationship are regular Link between Customer, Bill-Statement and Subscriber for the Invoice.  And for Invoice-charge, we tie it to the Product (item being billed).

    4. Recharge Activity

    • Definition:  Prepay subscriber must recharge (top-up) their balance as they go.
    • Characteristics
      • Data Model name: LNK_RECHARGE
      • Natural relationship:  This recharge activity is associated to various channel and payment method.
      • Links modelling:  A simple Link structure with FKs referring to Subscriber and Dealers (i.e. the channel through which the subscriber purchased new credit).

    5. Network Event (calls, sms, voicemail, internet)

    • Definition:  Transactions corresponding to network events which are consumed by the telco subscriber.
    • Characteristics
      • Data Model name: LNK_NETWORK_EVENT
      • Natural relationship Depending on the communication product (voice calls, sms, mms, gprs data, umts data, etc..), various entities are involved and can be linked.

      Contextual and Descriptive Data

      These are meant to convey the time-variant and historical part of each attribute captured by the EDW.   Modelling these as Satellites, we allow for timeline slicing and taking snapshot of how things (i.e. business state) were at that time.   The main advantage of Satellite, is we usually don't know in advance all features/attributes of interest needed... and even if you knew, things evolve at such pace that most likely you'll need to revisit them soon.    With Satellites, you can build them incrementally, bit by bit according to business needs and scope changes without affecting existing structure, as long as you keep them normalized and fine-grained.   No longer needed Satellite can simply stop being loaded, while new one get created.

      As my goal is not to capture a complete Mobile EDW,  I've only included a few Satellite here for
      illustration purposes.    These would be typical features/attributes associated to Hub/Link entities.  They are not meant to be exhaustive but rather convey the meaning of the different entities.

      The rest of the note is presented in the part-3, where some details and highlights are presented related to design decision and open issues that got raised during the modelling.

      See last part here: Data Vault model: Mobile Telecom example (part-3)


      Martin

      1 comment:

      Unknown said...
      This comment has been removed by a blog administrator.