Abstract:
Revenue leakage is one of the major concerns of telecom operators worldwide. There are several reasons for revenue leakage including frauds, data loss, poor utilization of network infrastructure, and churn. With the growth in subscriber base and increased competition in the market space, the lack of control on revenue leak could potentially affect the profit margins drastically. The operators are ever looking for solutions that could limit the various aspects of the revenue leakage. A system and method for addressing revenue leakage due to data loss in general and incomplete/partial data in particular needs to handle the issues related to the obtaining of additional information so that incomplete/partial data records lead to additional billing opportunity for the operators.

Description:
FIELD OF THE INVENTION 
     The present invention relates to revenue analysis of telecom operators in general, and more particularly, analysis of revenue leakage. Still more particularly, the present invention is related to a system and method for revenue leakage management due to incomplete/partial data. 
     BACKGROUND OF THE INVENTION 
     Revenue assurance is an important activity of the operational support of telcos. The revenue assurance helps in achieving the best profit margins, addressing the regulatory demands, and ensuring that what is delivered gets billed. Revenue leakage is simply stated as the amount not collected for the services delivered, and hence, revenue assurance aims at reducing the revenue leakage to close to zero. Industry experts and the various surveys tend to indicate that the telcos lose, on a very modest note, about 3% to 5% of their revenues due to leakage. Typically, working towards containing revenue leakage is a complex task demanding huge effort and can be quite expensive as well. The primary reasons for the revenue leak are (a) frauds—lead to misuse of the telco infrastructure and the services utilized are either partially billed or none at all; (b) data loss—leads to non-availability of adequate information to bill for the delivered services; (c) low utilization—due to the inefficient usage of telco infrastructure; and (d) inefficient processes—leading to delayed collection and churn. While each one of the reasons given above requires an exclusive technique to contain the leakage, one that stands out is the loss of data: it is impossible to bill and collect if the data itself is not available, and this poses a threat to telcos as data loss directly means revenue loss. Any solution that addresses revenue leakage due to data loss would go a long in way in helping telcos in containing revenue leakage and managing revenue assurance. 
     DESCRIPTION OF RELATED ART 
     U.S. Pat. No. 7,469,341 to Edgett; Jeff Steven (Sunnyvale, Calif.), Sunder; Singam (San Jose, Calif.) for “Method and system for associating a plurality of transaction data records generated in a service access system” (issued on Dec. 23, 2008 and assigned to iPAss Inc. (Redwood Shores, Calif.)) describes a system for generating a transaction record along with a unique session identification for say, billing purposes. 
     U.S. Pat. No. 7,440,557 to Gunderman, Jr.; Robert Dale (Honeoye Falls, N.Y.) for “System and method for auditing a communications bill” (issued on Oct. 21, 2008 and assigned to GND Engineering, PLLC) describes a system for auditing a communication bill wherein billing information is collected and further collects data from other external sources such as a work order system, a trouble ticket system, an inventory system, an SS7 event record data source for auditing purposes. 
     U.S. Pat. No. 7,436,942 to Hakala; Harri (Turku, F I), Lundstrom; Johan (Pargas, F I), Teppo; Patrik (Jamsjo, S E) for “System and method for charging in a communication network” (issued on Oct. 14, 2008 and assigned to Telefonaktiebolaget L M Ericsson (publ) (Stockholm, S E)) describes a system for charging in a communication network especially in an IP Multimedia network. 
     U.S. Pat. No. 6,928,150 to Johnston; Alan Bernard (St. Louis, Mo.) for “Call charging notification” (issued on Aug. 9, 2005 and assigned to MCI, Inc. (Ashburn, Va.)) describes an approach for providing information of a call established over a data network in which a network element that assists in establishing the call forwards the information about the call for charging purposes. 
     U.S. Pat. No. 6,721,405 to Nolting; Thomas A. (Holliston, Mass.), Dion; Karen (Dudley, Mass.) for “Interconnect traffic analysis” (issued on Apr. 13, 2004 and assigned to Verizon Services Corp. (Arlington, Va.)) describes a system that captures call related messages produced by a network and compiles data to form call detail records for the interconnect traffic. 
     U.S. Pat. Application No. 20080301018 by Fine; Jack; (Benicia, Calif.); Deshong; Elizabeth; (San Ramon, Calif.); Lim; Marie Jennifer; (San Ramon, Calif.); Kim; Ailene; (Livermore, Calif.); Legro; Euly; (Benicia, Calif.); Kumar; Senthil; (San Ramon, Calif.) titled “Revenue Assurance Tool” (published on Dec. 4, 2008 and assigned to AT &amp; T Knowledge Ventures, L. P. (Reno, Nev.)) describes a system that assures revenue reconciliation of customer billing and vendor settlements for multimedia services based on data collected from multiple network elements in the network. 
     U.S. Pat. Application No. 20080056144 by Hutchinson; Jeffrey; (Renton, Wash.); Mckinlay; David B.; (Maple Valley, Wash.) titled “System and method for analyzing and tracking communications network operations” (published on Mar. 6, 2008 and assigned to Cypheredge Technologies (Bellevue, Wash.)) describes a system for monitoring network performance that includes a data collection system for obtaining data form event data records provided by the network. 
     U.S. Pat. Application no. 20070207774 by Hutchinson; Jeffrey; (Renton, Wash.); Paulsen; Christopher D.; (Seattle, Wash.) titled “System for compiling data from call event information” (published on Sep. 6, 2007) describes a system for extracting event data for a wireless network communications provider that includes a mediation platform that receives event records containing event data. 
     U.S. Pat. Application No. 20070036309 by Zoldi; Scott M.; (San Diego, Calif.); Balon; Michael P.; (San Diego, Calif.) titled “Network assurance analytic system” (published on Feb. 15, 2007) describes a network assurance analytics that is configured to monitor telecommunication networks, detect errors or frauds, and provide solutions to resolve the errors or reduce the fraud. 
     U.S. Pat. Application No. 20060206941 by Collins; Simon Christopher; (Chippenham, GB) titled “Communications system with distributed risk management” (published on Sep. 14, 2006 and assigned to Praesidium Technologies, Ltd.) describes a system aimed at improved risk management for detection of fraud, protection of revenue, and other risk management controls. 
     “Global Assurance Survey—Taking revenue assurance to the next level” by Ernst &amp; Young (Presentation, May 8, 2008) describes that most revenue assurance functions continue to focus on revenue leakage. 
     “Revenue Assurance Stops the Leak” by Shira Levine and Lorien Pratt (appeared in Telecommunications Online, Oct. 1, 2005) describes the complexities of revenue assurance in next generation networks. 
     “Mobile Content Revenue Leakage: There&#39;s a Hole in the Bucket” by iGilliot Research (White Paper, September 2005) describes the size and complexity of revenue leakage especially in the context of wireless networks. 
     “Mediation Systems Halt Revenue Leakage” by John L. Guerra (appeared in B/OSS—Billing and OSS World, Apr. 1, 2005) describes the ever expanding role of mediation systems in managing telecom networks. 
     The known systems are largely event based and do not explicitly address the various issues related to the containing of revenue leakage due to data loss. The present invention provides a system and method to comprehensively address this problem of revenue leakage by tapping onto complementary data sources and tracking telco infrastructure utilization. 
     SUMMARY OF THE INVENTION 
     The primary objective of the invention is to plug revenue leakage in telcos due to data loss. 
     One aspect of the invention is to bring in a subscriber perspective to the revenue leakage. 
     Another aspect of the invention is to bring in a network perspective to the revenue leakage. 
     Yet another aspect of the invention is to collect complementary data based on subscriber usage and network usage. 
     Another aspect of the invention is to achieve a four-way reconciliation: source and destination, intermediate network elements, and mediation data. 
     Yet another aspect of the invention is to generate backup data records based on network usage data. 
     Another aspect of the invention is to correlate call data records and backup data records to handle partial data records due to data loss. 
     Yet another aspect of the invention is to obtain complementary data through multiple poll records based on multiple poll types. 
     Another aspect of the invention is to perform timestamp tuning of the various network elements. 
     Yet another aspect of the invention is to perform poll frequency tuning with respect to the various network elements. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  depicts an Overview of a Mediation System. 
         FIG. 2  depicts typical aspects of Revenue Leakage. 
         FIG. 3  depicts a critical Revenue Leakage Factor. 
         FIG. 4  provides an Approach for Revenue Unleaking. 
         FIG. 5  provides an overview of a Revenue Unleak Monitoring (RUM) System. 
         FIG. 6  provides an overview of a System Architecture of RUM System. 
         FIG. 7  provides an approach for Timestamp Tuning. 
         FIG. 8  provides an approach for Poll Frequency Tuning. 
         FIG. 9  provides an approach for Poll Data Analysis. 
         FIG. 10  provides an approach for Session Identification. 
         FIG. 10   a  provides an overview of Poll Data Types. 
         FIG. 10   b  depicts different Types of Sessions. 
         FIG. 10   c  depicts additional different Types of Sessions. 
         FIG. 10   d  provides an approach for BDR Generation. 
         FIG. 10   e  provides an approach for computing of Factors associated with a BDR. 
         FIG. 11  provides an approach for correlating BDRs and CDRs. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     It is not uncommon to hear that a call detail record is incorrectly recorded by a billing system. There are several reasons why such a situation crops up more often leading to a noticeable revenue loss for telco operators. Incomplete usage information arises due to several reasons such as network configuration problems and provisioning glitches. Another reason is due the way the telecom companies have grown through mergers and acquisitions leading to shortfalls in billing information consolidation. To take a grip on this, carriers have entire revenue assurance departments to address revenue leakages. Mediation systems that are part of telco infrastructure are positioned to gather and deliver information for an operating support system, and this information forms an input for billing. Mediation systems gather information from network elements based on events, and the main challenge is how to reduce the revenue leakage in general and specifically, due to data loss. 
       FIG. 1  depicts an overview of a Mediation System. A mediation system ( 100 ) gathers information the entire of the networking infrastructure such as wireless networks ( 110 ) and fixed networks ( 120 ). Typically, the gathered information is based on a set of events that happen during a session (call) setup and session (call) close. This event driven information gets stored in a database ( 130 ) and this is expected to comprehensively denote the subscriber usage data. The processed and formatted information is sent to the OSS/BSS (operations/business support system) system at appropriate intervals for billing purposes. 
       FIG. 2  depicts typical aspects of Revenue Leakage. Largely, revenue leakage is attributed as due to one or more of the following:
     1. Frauds—Identity theft, Handset instrumentation, Pre-paid and Post-paid frauds, . . . .   2. Data loss—Systems, Network elements, Links, Incorrect/Incomplete data, . . . .   3. Utilization—Poorly optimized call routing, Mismatched configuration, Unscheduled maintenance, . . . .   4. Collection—Inadequate credit management, churn, . . . .   

     The revenue leakage is analyzed from multiple perspectives: 
     1. Subscribers—Initiate sessions that result in billing 
     2. Networks—Transport subscriber sessions 
     3. Policies—Enforce subscriber price plans and billing guidelines 
     4. Regions—Region-wise analysis of billing and revenue loss 
     A typical approach for Revenue Assurance is as follows: 
     1. Mediation systems to collect subscriber usage data 
     2. Creating of data based on call events obtained from network collection points: Match data obtained during the call setup, obtain the second half of the call, and combine the data into a single call data 
     3. Signaling records to provide signaling messages associated with subscriber sessions 
     4. Correlation of multiple parts of a call data record and across multiple data sources 
     5. Session records are to be obtained for a variety of services offered by a provider such as VOIP calls, Text messages, Multimedia messages, Emails, Ring tones, Browsing sessions, MP3 downloads, traditional and wireless calls, Events and notifications, and location based services. 
       FIG. 3  depicts a critical Revenue Leakage Factor. A critical factor in Revenue Unleaking is to address data loss especially involving incomplete/partial data. The inability to generate a valid data record for billing leads to the loss of collection points and leads to revenue leak. 
     Some reasons for the generation of partial data include 
     (a) Session gets interrupted through a dropped connection; 
     (b) Incorrectness due to inconsistent timestamping; 
     (c) Inconsistency due to too much of difference in timestamps; 
     (d) Inconsistency due to mismatch in identifier details; 
     (e) Missing start/end data; 
     (f) Failure in a network element; 
     (g) Inconsistent configuration; 
     (h) Inadvertent configuration changes; 
     (i) Internal buffer overflow in a system or a network element; and 
     (j) Inadvertent brining down of a system or a network element for maintenance. 
       FIG. 4  provides an Approach for Revenue Unleaking. 
     An Approach for Revenue Unleaking:
         (a) A collection of RUM (Revenue Unleak Monitoring) systems are distributed throughout the network; The RUM systems are configured to receive data from the network elements at pre-defined time intervals. The objective is to obtain complementary data from the network and systems so that any incomplete/partial data gets handled in the most appropriate manner.   (b) RUM systems receive poll data from network elements:
           PollType (A|Z|S|E|D)   Timestamp (Element)   Address (Source, Destination, Element)   
               

     In order to be able to address dynamic and transient network and system conditions, a session is identified with different poll types: A standing for polled data from the source element of the session; Z for the polled data from the source element of the session; S again for the polled data from the source element of the session; E for the polled data from the network elements that carry session traffic; and D for the polled data from the destination element. The address helps in identifying all of poll data related to a session and timestamp helps in correlation with CDRs (call data records).
         (c) Four-way reconciliation:
           Subscriber Terminals and/or Servers   Network elements   Call data records (generated by Mediation systems)   
           The obtained poll data provides adequate information for achieving the necessary reconciliation to address the issues related to incomplete/partial data.   (d) Backup Data Records (BDRs) are derived based on network utilization from RUM Systems; The BDRs are generated based on the poll data associated with each session and handles the specific cases involving missing poll data records of certain poll types.   (e) Call data records (CDRs) are based on subscriber usage obtained from Mediation Systems   (f) Correlation of BDR and CDR: The complementary data collected from the network is the key to prevent revenue leakage due to incomplete/partial data.   (g) Network utilization collected by means of polling:
           Network elements are instrumented to send poll data at pre-specified intervals;   Polling frequency varies from zero (No poll data: NOTHING) to Infinity (EVERYTHING);   Polling frequency is a trade-off between too little and too much;   
           (h) RUMs reconstruct BDR based on poll data:
           Poll data provides a glimpse of who utilized network for how long and for what purpose (service types);   
               

       FIG. 5  provides an overview of a Revenue Unleak Monitoring (RUM) System. There two kinds of systems, Mediation system and RUM system, to help gather complementary data records. Mediation system ( 500 ) collects call data records or equivalent records for the services over IP network based on the events generated by various networks ( 510  and  520 ). The collected data stored in a database ( 530 ) depicts the subscriber usage data. On the other hand, the RUM system ( 540 ) gathers poll data from the various networks ( 510  and  520 ) and stores the collected data in a database ( 550 ). This collected depicts the extent of network utilization. The RUM system generates the appropriate BDRs and correlates the same with CDRs to finally help regenerate CDRs to plug in as much of revenue leak due to data loss as possible. The OSS/BSS system ( 560 ) generates billing data based on the regenerated CDRs. 
       FIG. 6  provides an overview of a System Architecture of RUM System. The RUM System is a distributed system with several RUM systems distributed throughout an operator&#39;s network. In a particular embodiment, a RUM system ( 600 ) has the following subsystems: (a) Poll data gathering ( 610 ) receives poll data of various poll types from the various network elements such as user equipment/devices, network elements, and servers/systems ( 620 ); (b) Poll data analysis ( 630 ) analyses the received poll data to determine any inconsistency and the analysis also makes use of the configured poll frequency of the various network elements; (c) Timestamp tuning ( 640 ) to help in the appropriate combining of the poll data records related to a session; (d) Poll frequency tuning ( 650 ) to help set the appropriate poll frequency for the various network elements (e) BDR Generation ( 660 ) to help generate BDRs based on poll data records; (f) BDR/CDR Correlation ( 670 ) to receive CDRs from a mediation system ( 680 ) and correlated the same with respect to the generated BDRs; and (g) CDR Regeneration ( 690 ) regenerates the CDRs to be processed by OSS/BSS system ( 695 ). 
       FIG. 7  provides an approach for Timestamp Tuning. Obtain the list of network elements associated with a RUM system ( 700 ). For each element E, Perform the following steps ( 710 ). Timestamp a message and send the message requesting for timestamped reply ( 720 ) from the network element E. The objective is to be able to calibrate the timestamps of the poll data records received from the various network elements. In order to construct a BDR, it is required that all the poll data records are appropriately calibrated and this is achieved by readjusting the timestamps of the poll records based on the timestamp of the RUM system. Obtain the various timestamps and compute Alpha ( 730 ); Note that Alpha is a positive or negative quantity that is added to any timestamp obtained from E. An illustrative list of various timestamps are depicted in  740  and  750  illustrates an approach for Alpha computation: 
     D 1 =TS 2 −TS 1 : RUM System delay; 
     D 2 =TD 2 −TD 1 : Element System delay; 
     D 3 =TS 3 −TS 2 −D 2 : Network delay; 
     D 4 =TS 4 −TS 3 : RUM System delay; 
     Compute Alpha based on D 1 , D 2 , D 3 , and D 4 . 
       FIG. 8  provides an approach for Poll Frequency Tuning. Obtain the list of network elements associated with a RUM system ( 800 ). For an element E, obtain the poll parameters ( 810 ). Determine the number (Ns) of sessions through E and the number (Ns 1 ) of sessions resulting in incomplete data ( 820 ). Based on Ns and Ns 1 , determine poll frequency ( 830 ): 
     Determine LF (Loss Factor)=Ns 1 /Ns; 
     If LF&gt;0.9, use a fast rate; 
     If LF is between 0.5 and 0.9, use a medium rate; 
     Otherwise use a slow rate; 
     Inform E about the poll frequency ( 840 ). 
       FIG. 9  provides an approach for Poll Data Analysis. Obtain the list of network elements associated with a RUM system ( 900 ). For each element E, Perform the following steps ( 910 ). Obtain the poll data ( 920 ). If data is obtained ( 930 ), Perform timestamp adjustment based on the associated Alpha ( 940 ). Check whether data is obtained at poll rate ( 950 ). If lower ( 960 ), Reduce the polling rate as E may be loaded ( 970 ). If data is not obtained within the expected poll rate ( 930 ), Increase the polling frequency ( 980 ); If still data is not obtained, E is idling. 
       FIG. 10  provides an approach for Session Identification. Obtain the gathered and analyzed poll data ( 1000 ). Obtain a poll data record ( 1010 ). Check the session information ( 1020 ). If the session information matches with an ongoing session ( 1030 ), bind the poll data record with the corresponding session. Else, if the session information indicates the beginning of a new session, start a new session and bind the poll data ( 1040 ). Otherwise, the poll data is an outlier data ( 1050 ) and bind similar poll data records. Perform the analysis the poll data records and generate backup data records ( 1060 ). 
       FIG. 10   a  provides an overview of Poll Data Types. There are five different types of poll data records: (a) Poll type A is a polled data obtained at a RUM system from a source element, say, a user equipment; This data is sent once at the beginning of a session; (b) Poll type S is a polled data obtained at a RUM system from a source element, say, a user equipment; this data is sent a regular intervals at the pre-specified poll frequency until the end of the session; (c) Poll type E is a polled data obtained at a RUM system from a network element; The network element carries the session traffic and the polled data is sent at regular intervals at the pre-specified poll frequency until the end of the session; (d) Poll type D is a polled data obtained at a RUM system from a destination element, say, a user equipment or a destination system; the polled data is sent at regular intervals at the pre-specified poll frequency until the end of the session; and (e) Poll type Z is a polled data obtained at a RUM system from a source element, say, user equipment, once at the end of the session. 
       FIG. 10   b  depicts different Types of Sessions. The different types of sessions arise due to the varying nature of the network conditions. When the network conditions are stable, all poll data records of different poll types are received properly based on the poll frequencies at a RUM system. This is depicted in Session Type 0. Based on the network conditions, some of the poll data records may not be received. For instance, the Session Type 1 depicts the missing of the poll data record of type Z, and the Session Type 12 indicates the missing of poll data records of types S and E. Note that a full session is depicted by session types such as 0, 2, 4, 6, 8, 10, 12, or 14, wherein at least both poll data records of type A and Z are present. 
       FIG. 10   c  depicts additional different Types of Sessions. 
       FIG. 10   d  provides an approach for BDR Generation. The generation backup data records (BDRs) is based on the various poll data records obtained with respect to a session. There are four different classes of session types: (a) FULL SESSION—X: this class is characterized by the availability of at least both poll data records of type A and Z; (b) START INFO—X—NO END INFO: this class is characterized by the availability of the poll data record of type A and the absence of the poll data record of type Z; NO START INFO—X—END INFO: this class is characterized b the absence of the poll data record of type A and the availability of the poll data record of type Z; and (d) NO START INFO—X—NO END INFO: this class characterizes the remaining of the session types wherein a session of this class is characterized by the absence of both poll data records of types A and Z. 
     BDR Generation based on different types of sessions is as follows: 
     Session Types 0, 2, 4, 6, 8, 10, 12, 14 (FULL SESSION—X):
         Obtain the full session information;   Ensure that all poll data are within their poll frequency and are within A and Z;   Compute RF and SF;   Form BDR based on A and Z poll data records;       

     Session Types 1, 3, 5, 7, 9, 11, 13, 15 (START INFO—X—NO END INFO):
         Obtain the available session information;   Ensure that all poll data are within their poll frequency and are post A;   Compute RF and SF;   Form BDR based on A and the temporally latest of the poll data;       

     Session Types 16, 18, 20, 22, 24, 26, 28, 30 (NO START INFO—X—END INFO)
         Obtain the available session information;   Ensure that all poll data are within their poll frequency and are within Z;   Compute RF and SF;   Form BDR based on the temporally earliest of the poll data and Z;       

     Session Types 17, 19, 21, 23, 25, 27, 29 (No Start—x—No End info)
         Obtain the available session information;   Compute RF and SF;   Form BDR based on the temporally earliest of the poll data and the temporally latest of the poll data;       

     Note that the above approach of the generation of BDRs makes use of two factors: RF, a reliability factor and SF a short factor. These two factors together provide the most appropriate characterization of a session for correlation purposes. 
       FIG. 10   e  provides an approach for computing of Factors associated with a BDR. An approach for computing of factors associated with a BDR is given below. Reliability Factor (RF):
         A measure of how consistent and accurate is the derived BDR;   Computation is based on
           (a) Poll data;   (b) Consistency with respect to the various poll frequencies;   (c) Coverage with respect to poll types;   (d) Weighted assessment based on poll data;   
           RF is a value between 0 and 1 with values close to 0 indicating that no correlatable conclusions are possible while values close to 1 indicate that highly correlatable conclusions are possible;   Computing RF:
           Let W 1  be the weight associated with the poll type A, W 2  with S, W 3  with E, W 4  with D, and W 5  with Z; Note that W 1  and W 5  are relatively more weighted as compared with W 2 , W 3 , and W 4 ;   Measure deviation Di in poll frequency for each poll type based on the associated Poll rate; Di is a value between 0 and 1 with the value close to 0 indicating too much of deviation and the value close to 1 indicating a smaller deviation; Absence of a poll data records of a poll type gets a Di value of 0;   Compute RF as W 1 *D 1 +W 2 *D 2 +W 3 *D 3 +W 4 *D 4 +W 5 *D 5 ;   
               
     Short Factor (SF):
         A measure of how accurate the duration of the derived BDR;   Computation is based on
           (a) Poll data;   (b) The most consistent poll frequency;   (c) The importance of the various poll types;   
           SF is a value depicting the expected variance in the BDR duration during correlation, and is a value between 0 and 1 with the value close to 0 indicating higher variance and the value to closer to 1 indicating lower variance;   Computing SF:
           An approach for computing of SF is to use a set of rules associated with the poll data. That is, the rules provide logic about how to compute SF under various characteristics of the poll data such as poll data of poll type A missing. The poll data is analyzed with respect to the various poll types to arrive a set of distributions that characterizes the poll data. Then, SF is computed by applying of the set of rules based on the set of distributions.   If A and Z poll data are present, then Set SF to 1;   If A and D are present, and timestamp of the last D poll data is the latest among all of the poll data, Then Set SF to 0.8;   If A and D are present, and timestamp of the last D poll data is close to the latest among all of the poll data, Then Set SF to 0.6;   If D and Z are present, and timestamp of the first D poll data is close to the first poll data of any type, Then Set SF to 0.6;   If D is present, and timestamp of the first D poll data is close to first poll data of any type, and timestamp of last D poll data is close to the latest among all of the poll data, Then Set SF to 0.4;   If A and E are present with a good set of E poll data, Then Set SF to 0.2;   If Z and E are present with a good set of E poll data, Then Set SF to 0.2;   Else, Set SF to 0.1;   
               

       FIG. 11  provides an approach for correlating BDRs and CDRs. 
     Obtain a set of CDRs (SCDR) for a subscriber and the set SCDR to include partial records also ( 1100 ). Obtain a set of BDRs (SBDR) for the same subscriber. Obtain a set of full session BDR records (SFBDR) with RF close to 1 and SF close to 1 ( 1110 ). These records are highly correlatable with the corresponding CDRs by virtue of both RF and SF being close to 1. Perform timestamp adjustment of SCDR records based on SFBDR ( 1120 ). Note that this step is essential due to the possibly dissimilar timestamp adjustments by mediation systems and RUM systems. The timestamp adjustment procedure is as follows: (1) Find a subset of SCDR (SSCDR) such that each record of SSCDR matches with a unique record of SFBDR with Beta adjustment such that Beta is the same for all the records of SFBDR; and (2) Use Beta to adjust the timestamps of the records of SCDR. 
     Obtain a record CR of SCDR ( 1130 ). Use the timestamp of CR to obtain the most corresponding record BR from SBDR ( 1140 ). Obtain RF and SF associated with BR ( 1150 ). 
     Case RF&gt;0.9 and SF&gt;0.9 ( 1160 ):
         Compare BR and CR;   If records match, Skip;   If there is a difference, make CR and BR a part of SXDR;   Note that this accounts for partial CDRs also;       

     Case RF&gt;0.9 ( 1170 ):
         If CR is a partial record, Then form an XDR based on CR and BR with duration based on BR; Update SXDR;       

     Case SF&gt;0.9 ( 1180 ):
         If CR is a partial record, Then form an XDR based on CR and BR with duration based on BR; Update SXDR;       

     If CR record is partial, Combine CR and BR with RF and SF, and with an appropriate Error Message ( 1190 ). Make the combined record part of SYDR. 
     Note that above approach of correlation makes the appropriate use of RF and SF associated with BDRs. Observe that the best case of recovering from a data loss is when CDR record is partial and the corresponding BDR has SF and RF close to 1. 
     Also, note that CDR records as used in the embodiment description relate to conventional call data records related to voice based services, IP data records related to IP based services, and any other record format generated and used for billing purposes. 
     Thus, a system and method for revenue unleaking is disclosed. Although the present invention has been described particularly with reference to the figures, it will be apparent to one of the ordinary skill in the art that the present invention may appear in any number of systems that need the generation of complementary data and correlation of the same with the original data for reconciliation purposes. It is further contemplated that many changes and modifications may be made by one of ordinary skill in the art without departing from the spirit and scope of the present invention.