Types of Facts
There are three types of facts:
• Additive: Additive facts are facts that can be summed up
through all of the dimensions in the fact table.
• Semi-Additive: Semi-additive facts are facts that can be
summed up for some of the dimensions in the fact table,
but not the others.
• Non-Additive: Non-additive facts are facts that cannot
be summed up for any of the dimensions present in the
Let us use examples to illustrate each of the three types of facts.
The first example assumes that we are a retailer, and we have a
fact table with the following columns:
The purpose of this table is to record the sales amount for each
product in each store on a daily basis. Sales_Amount is the fact.
In this case, Sales_Amount is an additive fact, because you can
sum up this fact along any of the three dimensions present in the
fact table — date, store, and product. For example, the sum of
Sales_Amount for all 7 days in a week represent the total sales
amount for that week.
Say we are a bank with the following fact table:
The purpose of this table is to record the current balance for
each account at the end of each day, as well as the profit margin
for each account for each day. Current_Balance and
Profit_Margin are the facts. Current_Balance is a semi-additive
fact, as it makes sense to add them up for all accounts (what’s
the total current balance for all accounts in the bank?), but it
does not make sense to add them up through time (adding up all
current balances for a given account for each day of the month
does not give us any useful information). Profit_Margin is a nonadditive
fact, for it does not make sense to add them up for the
account level or the day level.
Types of Fact Tables
Based on the above classifications, there are two types of fact
• Cumulative: This type of fact table describes what has
happened over a period of time. For example, this fact
table may describe the total sales by product by store by
day. The facts for this type of fact tables are mostly
additive facts. The first example presented here is a
cumulative fact table.
• Snapshot: This type of fact table describes the state of
things in a particular instance of time, and usually
includes more semi-additive and non-additive facts. The
second example presented here is a snapshot fact table.
Types of Facts