An algorithmic approach is used to mix the conductivities and geometric factors of the disperse components (the rock and hydrocarbon particles) with the host conductivity (formation water). The theoretical basis for the algorithm is the Hanai-Bruggeman (HB) equation, which itself incorporates only one disperse component. The new approach, the incremental model, accommodates geometric factors such as sand and shale porosity exponents, saturation exponent, and also accommodates the associated grain conductivities. Its advantage over previous methods is that it works at any water salinity or tool frequency while allowing saturation and porosity exponents to have values other than 1.5. The algorithm is general and is written to accommodate simultaneous mixing of up to three disperse components and the formation water, but it can be extended to accommodate any number of disperse components. In its application to shaley sands, hydrocarbon and sand elements are set to zero conductivity at low frequency, but they can be nonzero for calculating saturations at higher frequencies. The reason for this is that hydrocarbon and sand conductivities are real and very close to zero at low frequencies, but at high frequencies the dielectric constants become significant, making the complex conductivities nonzero. The incremental model compared well with the Waxman-Smits model on multiple water-conductivity saturation data from two published experimental data sets. The model is adaptable to other rock conductivity problems such as vuggy porosity, vuggy water saturation, and clay-coated sand grains. The potential exists for the algorithm to be part of a comprehensive computer program for calculating rock conductivities and saturations using many different combinations of rock fabrics and compositions.