O-Matrix User Stories

Modeling the Economic Impact of Local Home Building

 Home building generates substantial economic activity, including new income and jobs for residents, and additional revenue for local governments. The NAHB has developed a model that users O-Matrix to estimate the economic benefits. The tables above are generated by the NAHB economic model. In phases 2 and 3 of the model, the taxes and income generated feed back into each other and recycle within a local economy. The result of the limiting process is a multiplier in vector form, calculated with O-Matrix. The following is the script used to produce the output for Phase III of the model The output generated by this code is what enables reporting of income and employment effects by industry. `````` xprime3={[96050.189,3666.794]} W=read("T:\LOCIMP05\AVGCITY\W.DAT","double",56) G=read("T:\LOCIMP05\AVGCITY\G.DAT","double",56) T=read("T:\LOCIMP05\AVGCITY\T.DAT","double",56) L=[W,G,T] o55=fill(0,55,1) foo={o55,1} Anp=read("T:\LOCIMP05\AVGCITY\ASF.DAT","double",56) Anx=[Anp,foo] An=(Anx)' Ap=read("T:\LOCIMP05\AVGCITY\AALL.DAT","double",56) Ax=[Ap,foo] A=(Ax)' i95=fill(1,95,1) o95=fill(0,95,1) Y={[i95,o95,o95],[o95,i95,o95],[o95,o95,i95]} Z={[1,0],[0,1],[0,1]} close I2=identity(2) I3=identity(3) I56=identity(56) I285=identity(285) eigens=svd(A*L*Y*Z) print(eigens) write("T:\LOCIMP05\AVGCITY\EIGENS.PRN",eigens) format double "f14.4" out002=xprime3*(I2+(An-A)*L*Y*Z)*inv(I2-A*L*Y*Z) print(out002) write("T:\LOCIMP05\AVGCITY\SF3002.PRN",out002) out003=xprime3*An*L*Y*inv(I3-Z*A*L*Y) print(out003) write("T:\LOCIMP05\AVGCITY\SF3003.PRN",out003) in=(xprime3*An*L*inv(I285-Y*Z*A*L))' co=(xprime3*An*inv(I56-L*Y*Z*A))' ind=in.blk(1,1,95,1) com=co.blk(49,1,7,1) out102={ind,com} print(out102) write("T:\LOCIMP05\AVGCITY\SF3102.PRN",out102) `````` We needed to have the computation procedure automated as much as possible, because we produce a large number of local impact studies (about 380 so far) for particular metropolitan areas, non-metropolitan counties, and states across the country. And, we need to compute inverses quickly and easily for matrices constructed from relevant local-area data. O-Matrix code works quite well for this. - Paul Emrath, NAHB O-Matrix was also used for the mathematical operations in developing the model that estimates the jobs, income, and taxes generated by home build. In order to specify the technology of a typical local economy, we begin with the national input-output accounts published by the U.S. Bureau of Economic Analysis (BEA). We then strip this down, retaining a relatively small fraction of the commodities and industries in BEA's accounts that we believe capture economic transactions that usually take place within a local economy (laundry dry cleaning services, for example, are retained, but computer storage device manufacturing is excluded). Next, we define several vectors and matrices based only on these local industries and commodities: c a column vector showing commodity outputs g a column vector showing industry outputs V a subset of BEA's "make" table, showing how much of each commodity is produced by each industry h a column vector showing how much scrap is produced by each industry U a subset of BEA's "use" table, showing the dollar amount of each commodity used as an input by each industry. Once we have these, we simply apply the same operations BEA uses to derive a national "total requirements" table, only we apply them to our relatively small subset of local commodities and industries: B = Ugˆ-1 The direct requirements matrix, showing the amount of each commodity needed as a direct input to produce \$1 of each industry’s output. (The symbol ˆ indicates a matrix created from a vector by placing the vector’s elements on the matrix diagonal.) This is simply the use table scaled by industry output. j = h-1 a vector showing scrap as a fraction of each industry’s output. D = Vcˆ-1 a market share matrix -- the make table scaled by commodity output. D shows the fraction of each commodity ( excluding scrap) produced by each industry. F = (I - jˆ)-1D is a matrix showing, for \$1 worth of each commodity, the fraction produced by each industry. F is D> adjusted for the scrap generated in some industries. F is sometimes called the transformation matrix, because it transforms commodities into the output of industries and vice versa. (I is an identity matrix). O-Matrix code calculating inverses in the NAHB model Total local requirements are defined as F(I -BF)-1 -- a matrix showing the total output required from each of the local industries to produce \$1 of each of the local commodities. This user story was contributed by Paul Emrath, Assistant Staff Vice President, National Association of Home Builders NAHB Local Economic Impact of Home Building Page.