Well, it's highly subjective, so if you're thinking about making a Smash fangame it won't help you to know the specific formula we use. Generally, it's a really simple formula, actually. If you know anything about Smash game mechanics, you know that attacks all have many attributes, but here, we'll focus on
damage,
base knockback (bkb),
knockback growth (kbg),
and direction (angle).
The base knockback is how much knockback is caused no matter what. That means that theoretically, an attack that does 0% damage and hits a player with 0% will still cause this exact base knockback.
Knockback growth is the amount of knockback that is added to a move's power as the target's percent rises. So, a move with high knockback growth (for example, Ness's Back Throw) will do high knockback when the target is highly damaged.
The other two terms should be self-explanatory.
A generic, basic Smash speed formula might look like this:
speed = bkb + kbg*current_percent
However, it is also important to think about things like the size of the players, their offense/defense ratios (useful in 1P modes for easier difficulty settings), etc. Also, you can't just assign these values as above right when an attack hits. You have to consider hit-lag, game speed, and other variables that might apply.
However, I'm not giving you any SSBC-specific info here, just the general idea.
Congrats.