A factless fact table records an event or coverage relationship without numeric measures (or with only a dummy 1 count column). The fact is the existence of the relationship itself.
Event example: student attendance
fact_attendance date_key student_sk course_sk -- no amount; the row means "attended"
Coverage example: promotion eligibility
fact_promo_coverage date_key product_sk promotion_sk -- products covered by a promo on a day, even with zero sales
Why it matters
You can answer "which products had a promo but no sales?" by contrasting coverage factless facts with sales facts. Without coverage, "no sales" and "not on promo" look the same.
Interview tip
> "Factless facts track events or coverage with keys only, valuable for attendance and 'who was eligible' questions."