We present a semi-analytic model of satellite galaxies, SatGen, which can generate large samples of satellite populations for a host halo of desired mass, redshift, and assembly history. The model combines dark-matter halo merger trees, empirical relations for the galaxy-halo connection, and analytic prescriptions for tidal effects, dynamical friction, and ram pressure stripping. SatGen emulates cosmological zoom-in hydro-simulations in certain aspects. Satellites can reside in cored or cuspy DM subhaloes, depending on the halo response to baryonic physics that can be formulated from hydro-simulations and physical modeling. The subhalo profile and the stellar mass and size of a satellite evolves depending on its tidal mass loss and initial structure. The host galaxy can include a baryonic disc and a stellar bulge, each described by a density profile that allows analytic orbit integration. SatGen complements simulations by propagating the effect of halo response found in simulated field galaxies to satellites (not properly resolved in simulations) and outperforms simulations by sampling the halo-to-halo variance of satellite statistics and overcoming artificial disruption due to insufficient resolution. As a first application, we use the model to study satellites of Milky Way sized hosts, making it emulate simulations of bursty star formation and of smooth star formation, respectively, and to experiment with a disc potential in the host halo. Our model reproduces the observed satellite statistics reasonably well. Different physical recipes make a difference in satellite abundance and spatial distribution at the 25% level, not large enough to be distinguished by current observations given the halo-to-halo variance. The MW disc depletes satellites by 20% and has a subtle effect of diversifying the internal structure of satellites, important for alleviating certain small-scale problems.