That the timing of petroleum expulsion from a source rock is strongly influenced or even dominated by expulsion from kerogen has its roots a half-century ago and is very widely accepted. Similarly, solubility and swelling theory is commonly used to explain the compositional differences between retained and expelled oil. This paper proposes and implements a simple sorption–expulsion algorithm based on the twin concepts of maximum sorption capacity and relative sorptivities of lumped chemical classes in immature kerogen and on residual kerogen (semicoke). Sorption capacity as a function of kerogen composition is estimated from published swelling and adsorption data, and relative sorptivities are estimated from several published hydrous and semiopen pyrolysis data sets. The model is implemented in a compositional kinetic simulator, PMod2, which treats open and closed system pyrolysis as well as a relative sorptivity model for geological expulsion. Although not as rigorous as the models based on Flory–Rehner ...