A method and software for determining the presence status of a client device while decreasing the use of available bandwidth used. A software module collects a client's presence status, optionally over one or more time periods. The collected presence status is combined to create an observed presence profile for a client. The observed presence profile is compared with one or more model presence profiles to determine the model presence profile that is the closest match to the observed presence profile. When the closest match is determined, a status code representing the model profile is transmitted to a requesting client device, obviating the need to transmit a plurality of presence status updates.