1.1. Introduction. The goal of this note is to present a combinatorial mechanism for counting certain objects associated to a variety X defined over a finite field. The basic example, discussed in §2.2, is that of counting conjugacy classes in GL n (F q ), where X = G m (the multiplicative group).We give four different forms of the main formula (which is somewhat reminiscent of Polya's theory of counting). The principle that emerges is that in a given setup the counting generating functions for X = • (a point), X = G a (the additive group) and X = G m are related to one another in a simple way. Often one of the cases will be significantly easier to compute than the others yielding a closed formula for all three generating functions. For example, in §3 we describe how one can go from counting all matrices in M n (F q ), corresponding to X = G a , to counting unipotent matrices in M n (F q ), corresponding to X = •.None of the special cases considered here are really new; the point is, instead, to stress the main combinatorial principle. For more general applications (to quiver and character varieties) we refer the reader to [1] and [2].1.2. The Zeta Function of X. Let F q be a finite field with q elements. Fix an algebraic closure F q of F q . For each r ∈ N let F q r be the unique subfield of F q of cardinality q r . Let Frob q ∈ Gal(F q /F q ) be the Frobenius automorphism x → x q . Then F q r is the fixed field of Frob r q . Let X be an algebraic variety defined over F q . For each r ∈ N let N r (X) := #X(F q r ). The zeta function of X is defined as