Ratio of Uppercase Letters to Lowercase
JavaScript (ES6) 87 bytes
Edit 1 byte saved thx ETHProductions
Edit 1 more byte saved thx l4me
An anonymous function. Long, but I didn't find a way to golf this more
s=&gt;(l=t=0,s.replace(/[a-z]/ig,c=&gt;l+=++t&amp;&amp;c&gt;'Z'),l/=t,l&lt;.5?1-l+' upp':l+' low')+'ercase'

Less golfed
s=&gt;( // arrow function returning the value of an expression
  // here I use comma for clarity, 
  // in the golfed version it's all merged in a single expression
  t = 0, // counter for letters
  l = 0, // counter for lowercase letters 
  s.replace(
    /[a-z]/ig, // find all alphabetic chars, upper or lowercase
    c =&gt; // execute for each found char (in c)
        l += ++t &amp;&amp; c&gt;'Z', // increment t, increment l if c is lowercase
  ),
  l /= t, // l is the ratio now
  ( l &lt; .5 // if ratio &lt; 1/2
    ? (1-l) +' upp' // uppercase count / total (+&quot; upp&quot;)
    : l +' low'     // lowrcase count / total (+&quot; low&quot;)
  ) + 'ercase' // common suffix
)