CS:GO Trade Up Contracts
skins in cs go are distributed among collections, each collection has
Mil-Spec skins, least valuable skins, amount: 7
Classified, amount: 3
Covert, amount: 2
Rare, the most valuable skins, knife or gloves
This distribution doesn't work for all collection, there are collection like Cobblestone Collection, that distributed different.
The principle of contracts is it takes the names of all the possible outcomes and then rolls through those. Maximum quality you can craft is Covert, you can't craft Rare skin.
So for instance, if you have one M4A1-S | Knight, that has one outcome AWP | Dragon Lore and 9 other Classified skins with 2 outcomes each, then those 9 with 2 outcomes each would be 18 outcomes + the 1 from the knight. So you would have a 1 in 19 chance to get the AWP | Dragon Lore. But if you use 9 other skins with 1 outcome each then it would be a 10% chance or 1 in 10, because there are only 10 different outcomes.
It's also very useful to know what exacly float your crafted skin will have. It can be calculated by formula:
Trade UP Float Value = (Max Float - Min Float) * AVG + Min Float
Max Float - maximal float of outputs
Min Float - minimal float of outputs
AVG - sum of your all input floats divided by their amount
To better understand how trade ups work, I advise you to look at CS:GO Trade Up Simulator