to be specific, there're lots of parameters which affect compression:
Code:
-a{N}: set compression mode - [0, 1], default: 1 (max)
-d{N}: set dictionary size - [12, 30], default: 23 (8MB)
-fb{N}: set number of fast bytes - [5, 273], default: 128
-mc{N}: set number of cycles for match finder
-lc{N}: set number of literal context bits - [0, 8], default: 3
-lp{N}: set number of literal pos bits - [0, 4], default: 0
-pb{N}: set number of pos bits - [0, 4], default: 2
-mf{MF_ID}: set Match Finder: [bt2, bt3, bt4, hc4], default: bt4
-mt{N}: set number of CPU threads
fortunately there's mostly one encoder implementation, but its still necessary to know all the parameter values used for encoding.
lc/lp/pb can be detected with lzmarec, but there're still many others.
Also note that .7z has some additional filters which can be applied before lzma compression, which adds even more parameters.