yup, that looks correct, you calculate MAF from WB and fuel consumption.
I like to do it in airmass not airflow, as it eliminates dependencies on the number of cylinders and RPM.
Here's another trick, if you represent the MAF calibration as a 3-rd order poly function of MAFfreq, you'll end up with
CYLAIRMASSfuel=CYLAIRMASSmaf
MAF=A*MAFfreq^3 + B*MAFfreq^2 + C*MAFfreq^1 + D
MAF=CYLAIRMASSmaf*RPM*NUMCYL/120
thus:
CYLAIRMASSmaf=120*MAF/(RPM*NUMCYL)
IPW*IFR*AFRwb=120*MAF/(RPM*NUMCYL)
at this moment notice you got everything but MAF, so isolate MAF:
IPW*IFR*AFRwb*RPM*NUMCYL/120=MAF
and now describe MAF as a function of MAFfreq
IPW*IFR*AFRwb*RPM*NUMCYL/120=A*MAFfreq^3 + B*MAFfreq^2 + C*MAFfreq^1 + D
or you could make your life easier if you write it out in vector form as:
IPW*IFR*AFRwb*RPM*NUMCYL/120=[A B C D] * (MAFfreq^3 MAFfreq^2 MAFfreq^1 1]
at this moment you just solve for for the [A B C D] vector, and you got Ordinary Least Squares solution, which is unique and optimal. It is however prone to outliers (which you'll have plenty of until you have a full fuel model), so I use robust fitting of the 3rd order poly instead of the OLS. Works like a charm tho.
Good thinking