Back to Blog

Inside Corner Units: Multi-Family's Problem Child

written by
Clifton Harness

Inside Corner Units

Need I say more? Inside corner units are the hardest to design. These units are the hardest to lease. These units are the hardest to live in. For the most part, if inside corners can be avoided, avoid them.

Inside corner units

Fair warning - this is a very niche topic within the multifamily industry and I will try my best to make it entertaining and simple to understand. Inside corner units occur anytime a multifamily building turns any kind of corner. These units perform the critical task of joining two colliding building masses at the human level. They are the reason higher density can simply be achieved.

Inside Corner Math is Whacky

Inside corner units

These units are mathematically difficult because of two basic factors:

  1. Not enough external skin for glazing
  2. Too much net rentable area

If we compare this kind of unit to an inline unit of 28 foot depth, a corresponding inside corner unit would have a unit depth of 39 feet. A simple formula would be √2 * Unit Depth (thank you Pythagoras).

In order to have the same worst-case depth as an inline unit? Divide unit depth by√2. In our 28' example, an inside corner unit would need to be roughly 20' deep.

The ratio of NRSF to Skin is the main ruling principle of solving inside corner units. The better the ratio? The more viable it is, in general, as a unit.

Mathematical Unit Requirements

The inside corner unit viability ratio (NRSF Requirement / Glazing Requirement) tells us how viable a unit is to become an inside corner unit:

Table 1
head> r> h contenteditable="true" style="background-color: rgb(236, 239, 241); padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); color: rgb(0, 0, 0);" data-keeper-edited="yes"> h contenteditable="true" style="background-color: rgb(236, 239, 241); padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); color: rgb(0, 0, 0);" data-keeper-edited="yes">Studio h contenteditable="true" style="background-color: rgb(236, 239, 241); padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); color: rgb(0, 0, 0);" data-keeper-edited="yes">1 Bedroom h contenteditable="true" style="background-color: rgb(236, 239, 241); padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); color: rgb(0, 0, 0);" data-keeper-edited="yes">2 Bedrooms h contenteditable="true" style="background-color: rgb(236, 239, 241); color: rgb(0, 0, 0); padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223);" data-keeper-edited="yes">3 Bedrooms
body> r> d contenteditable="true" style="padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" data-keeper-edited="yes">Living Space Skin Requirement d contenteditable="true" style="padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" data-keeper-edited="yes">12' d contenteditable="true" style="padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" data-keeper-edited="yes">12' d contenteditable="true" style="padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" data-keeper-edited="yes">12' d contenteditable="true" style="padding: 5px; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223);" data-keeper-edited="yes">12'
r> d contenteditable="true" style="padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" data-keeper-edited="yes">Bedroom Skin Requirement d contenteditable="true" style="padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" data-keeper-edited="yes">0' d contenteditable="true" style="padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" data-keeper-edited="yes">12' d contenteditable="true" style="padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" data-keeper-edited="yes">24' d contenteditable="true" style="padding: 5px; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223);" data-keeper-edited="yes">36'
r> d contenteditable="true" style="padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" data-keeper-edited="yes">NRSF Requirement d contenteditable="true" style="padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" data-keeper-edited="yes">500 d contenteditable="true" style="padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" data-keeper-edited="yes">800 d contenteditable="true" style="padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" data-keeper-edited="yes">1000 d contenteditable="true" style="padding: 5px; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223);" data-keeper-edited="yes">1400
r> d contenteditable="true" style="padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" data-keeper-edited="yes">Viability Ratio (NRSF / Glazing LF) d contenteditable="true" style="padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" data-keeper-edited="yes">42 d contenteditable="true" style="padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" data-keeper-edited="yes">33 d contenteditable="true" style="padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" data-keeper-edited="yes">28 d contenteditable="true" style="padding: 5px; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223);" data-keeper-edited="yes">20

With this scenario, Studios are the most viable kind of inside corner unit, and 2 bedrooms are the least viable. Since the bedroom skin requirement and then NRSF requirement can fluctuate, this is not an established fact, but rather a rule-of-thumb for this specific set of parameters.

Improve Geometric Viability of Inside Corner Units

There are four general strategies to improve geometric viability. The better the geometric viability, the more likely the mathematical viability. Both these things need to be close in order for a valid unit to be created.

  1. Provide Corner Spacing: Without this base strategy, an inside corner unit would have no glazing. This is required for basic viability.
  2. Carve Out Lobbies: This strategy creates space off of the common corridor for an elevator or other mechanical spaces.
  3. Inset the Facade: This strategy reduces NRSF area and increases glazing.
  4. Bifurcate: This strategy reduces the NRSF requirement, but glazing remains constant.

The table below is for orthogonal inside corner units related to this diagram.

Table 1
head> r> h contenteditable="true" style="background-color: rgb(236, 239, 241); padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); color: rgb(0, 0, 0);" data-keeper-edited="yes">Scheme h contenteditable="true" style="background-color: rgb(236, 239, 241); padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); color: rgb(0, 0, 0);" data-keeper-edited="yes">Base h contenteditable="true" style="background-color: rgb(236, 239, 241); padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); color: rgb(0, 0, 0);" data-keeper-edited="yes">Lobby h contenteditable="true" style="background-color: rgb(236, 239, 241); padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); color: rgb(0, 0, 0);" data-keeper-edited="yes">Inset h contenteditable="true" style="background-color: rgb(236, 239, 241); color: rgb(0, 0, 0); padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223);" data-keeper-edited="yes">Lobby + Inset
body> r> d contenteditable="true" style="padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" data-keeper-edited="yes">Corner Spacing (#1) d contenteditable="true" style="padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" data-keeper-edited="yes">8' d contenteditable="true" style="padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" data-keeper-edited="yes">8' d contenteditable="true" style="padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" data-keeper-edited="yes">8' d contenteditable="true" style="padding: 5px; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223);" data-keeper-edited="yes">8'
r> d contenteditable="true" style="padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" data-keeper-edited="yes">Unit Depth d contenteditable="true" style="padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" data-keeper-edited="yes">30' d contenteditable="true" style="padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" data-keeper-edited="yes">30'
d contenteditable="true" style="padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" data-keeper-edited="yes">30' d contenteditable="true" style="padding: 5px; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223);" data-keeper-edited="yes">30'
r> d contenteditable="true" style="padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" data-keeper-edited="yes">Lobby Depth (#2) d contenteditable="true" style="padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" data-keeper-edited="yes">0' d contenteditable="true" style="padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" data-keeper-edited="yes">10' d contenteditable="true" style="padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" data-keeper-edited="yes">0' d contenteditable="true" style="padding: 5px; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223);" data-keeper-edited="yes">10'
r> d contenteditable="true" style="padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" data-keeper-edited="yes">Inset Depth (#3) d contenteditable="true" style="padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" data-keeper-edited="yes">0' d contenteditable="true" style="padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" data-keeper-edited="yes">0' d contenteditable="true" style="padding: 5px; border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223); background-color: rgb(255, 255, 255); color: rgb(0, 0, 0);" data-keeper-edited="yes">10' d contenteditable="true" style="padding: 5px; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223);" data-keeper-edited="yes">10'
r> d contenteditable="true" style="padding: 5px; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223);" data-keeper-edited="yes">Total Skin d contenteditable="true" style="padding: 5px; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223);" data-keeper-edited="yes">16' d contenteditable="true" style="padding: 5px; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223);" data-keeper-edited="yes">16' d contenteditable="true" style="padding: 5px; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223);" data-keeper-edited="yes">32' d contenteditable="true" style="padding: 5px; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223);" data-keeper-edited="yes">32'
r> d contenteditable="true" style="padding: 5px; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223);" data-keeper-edited="yes">Viability Ratio (NRSF/Glazing LF) d contenteditable="true" style="padding: 5px; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223);" data-keeper-edited="yes">86.25 d contenteditable="true" style="padding: 5px; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223);" data-keeper-edited="yes">80 d contenteditable="true" style="padding: 5px; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223);" data-keeper-edited="yes">31 d contenteditable="true" style="padding: 5px; background-color: rgb(255, 255, 255); color: rgb(0, 0, 0); border-width: 1px; border-style: solid; border-color: rgb(222, 222, 223);" data-keeper-edited="yes">28.3

Remember--the lower the viability ratio, the better.

viability ratio (NRSF / Glazing LF) of orthogonal inside corner units

Matching the Math with the Geometry

solving inside corner units - multifamily's problem child

If we think about this kind of problem and attempt to apply an algorithm to it, we get some interesting results. In this case, I have asked the solver to hit a unit specific unit mix that includes studios, 1 beds and 2 beds. The inside corner unit can bifurcate if necessary, to lower overall NRSF demand, and it can also inset if it must to improve matching unit and geometric viabilities.

There is another level of detail that needs to take place, like how a bifurcated unit is actually solved at the room-to-room level, or how a lobby carve-out would assist in creating better inside corner units. There are also many folks that chamfer at 45 degree angles various walls to assist with how the unit connects to its surroundings. Codifying these parameters assists in the overall possible solution set.

Codified Inside Corner Unit Types

If one could customize geometric viability, the following parameter toggles could be used:

Inside corner unit types

Basic math for the six methods of designing the skin, the six methods of addressing the common corridor, and the three methods of bifurcating the unit gives us 108 options (rendered below). Hopefully, within at least one of these 108 options, we can find a geometrically viable unit.

customize geometric viability inside corner units with TestFit

Or you can, you know, just avoid making them in the first place:

Solving Inside Corner Units for Test Fit

Why did I write this article and create a method of analyzing inside corner unit viability? We are going to do a new feature within TestFit to allow inside corner units to be customizable (more than they are right now).

UPDATE: This feature has since been released.

Why did I need to come up with 110 ways of solving inside corner units? We have to build a flexible product for all of our users. We have to build flexible algorithms for users to customize. Inside corner units are one of the hardest design issues within multifamily, and a tool to solve them quickly and easily should be robust, and simple.

Reduce Risk.
Increase Potential.

Explore TestFit’s Real Estate Feasibility Platform today.

Talk to sales
Multi-Family
Developer
Architect
Feasibility Study