SQL Server only backs up the data pages in the database that have been used currently. So a full backup is generally smaller than the database size
You can use sp_spaceused to estimate the full backup size by subtracting the unallocated space from database_size
Source: Pro SQL Server 2008 Administration by Ken Simmons and Sylvester Carstarphen