Unclear what you expect by breaking down. However, using CBWFQ, you can have different classes, each with its own shaper. If you provide each customer their own class, you can regulate each customer's bandwidth.
NB: there is a limit to how many classes a CBWFQ policy supports. (Later variants, 256[?].)
Also understand, for traffic coming from the Internet, although you can control what a customer can obtain, bandwidth wise, their traffic can might overrun you link's ingress capacity (because a shaper, or policer, is downstream).