There is no need to divide customers into two tables (sizes). Just put all customers, active and potential customers in the same size chart. You can then enter the IsActive attribute (column) to distinguish between billing customers and potential customers. Sooner or later, you will use a data mining tool to find out more about customers and what distinguishes people who are willing to pay for your service from those who do not. For the algorithm to work, you need to provide data for both groups of people - those who pay and those who do not pay. To summarize, prospects refer to the same table as payment customers.
However, you can use your model No. 1. Make sure that the measures in the fact table make sense. For example, if call_id = 123 had 10 people, then
sum(cost_of_connection) from factAudience where call_id = 123;
should return the total cost of the call, and not something meaningless - for example, 10% of the real cost.
EDIT
"Payment client" and "prospect client" are both a type of client, therefore they belong to the same size table - dimClient. Somewhere in DW there is a factSale (or similar) with FK for dimSale. Even if you don’t have a column in dimClient to distinguish between payment and prospects, you can still receive payment customers by joining factSale and dimClient.
"Who is the client?" This is a general discussion of implementing DW in an organization. To be able to analyze the process of acquiring, retaining, converting, etc., Prospects have the same approach as paid customers - at least in DW. Keep in mind that acquiring and creating new customers is at the top of the list of (almost) any CEO.
source share