Hi All

I have two sets of data with values 0 and 1. The number of observations for dataset of value 0 is 14,000 and number of observations for dataset of value 1 is only 3,000. Thus, I am now hoping to match these two datasets through propensity score matching and then run my regression analysis. I wish to match in a way that treated and control sample firms are similar in size, industry etc.
I tried psmatch2 and it does not give a good match as number of observations in treated and control group are still very different.
I think I have to use some loop code.
I did help psmatch2 in stata and that showed me following loop code:

g att = .
egen g = group(groupvars)
levels g, local(gr)
qui foreach j of local gr {
psmatch2 treatvar varlist if g==`j', out(outvar)
replace att = r(att) if g==`j'
}
sum att

However, I am not sure how to use it for the kind of match I need (based on firm size, industry, etc.)
Can someone please advise what code should I use to do this match? or if someone has done similar match in the past.

Thank you heaps for the help!