Should we use multi-year, moving-average of income to calculate tax & benefit payments?

Income tax rates are based on current/last year’s income. This makes them easy to calculate and implement.

This immediacy of taxes also makes them painful, and makes the tax slab thresholds as artificial barriers to income mobility. An example of this is when we get a raise which pushes us from near the top end of one tax rate bracket, to the bottom end of a higher tax rate bracket. This frequently means that even though the employer is paying us more after the raise, we are actually taking home less money due to a higher tax rate.

Government benefits work similarly. For example, the unemployment benefit / social support payments cut off (or reduce dramatically) when we start working. However, after accounting for taxes and loss of benefits, the take home income from pay is often lower than the unemployment benefits.

Continue reading Should we use multi-year, moving-average of income to calculate tax & benefit payments?

Money is the final metric

Facebook lies about video viewership metrics

This headline reminds me of the old principle that I emphasise:

Money is the final metric

If our metrics don’t directly correlate to, or convert into money1 in the near term, then they are not the correct metrics.

Too many metrics, in my experience, are designed for being:

  • easy to measure (or easily available),
  • easy to improve, and
  • comfortable to explain

What they are not designed for: being strongly correlated with current or future supply of money.

For growth, revenue (total, unit, net unit) is the best metric.

Views of our videos2 can be good metrics if they convert directly into money:
– product sales show a direct correlation, or
– advertisers accept them as proxy for ad views, or
– investors require them as a valuation input for the next raise

Views of our videos are a bad metric when they aren’t directly impacting revenue. If sales aren’t growing in proportion with the views, then counting views is of no relevance to the health of the business.

The availability bias trip-wire

The availability heuristic operates on the notion that if something can be recalled, it must be important, or at least more important than alternative solutions which are not as readily recalled.

Most online advertising platforms understand this well, and use it to hook their customers (advertisers). If they show us good3, clean and easily accessible metrics of their choice, we will give those metrics more weight than they deserve.

The views count is right there – in the analytics dashboard. While finding the correct metric that actually correlates with sales, and then tracking it, can be hard.

This also ties in the second part of the hook. The view count number is also easily movable. Spend some money on advertisements, the view count will go up. Voila! View counts – a metric that is easy to measure, and easy to improve!

Those money-correlated metrics, they are even harder to improve than they are to discover and track. Oh look, the views went up again!

We all have heard of ‘Our viewer/user/visitor numbers were amazing, but the money ran out before…’

This is why the money ran out. Because we chose the easy metric, over the metric that really matters – money.

Continue reading Money is the final metric

TIL: Moving average with missing periods in Google Sheets

The short answer:

=AVERAGEIFS(A1:A99, B1:B99,"<="&B2, B1:B99, ">"&B2 - 30)

Values to be averaged are in A1:A99, corresponding dates are in B1:B99.

What the formula does: average the values in the range – Include a value in calculating average for the current date if:

  1. The date for that value is same as or before the date in the current row, and
  2. The date for that value is greator than the date X days before the date in the current row (X is 30 in the formula for a 30-day moving average)

The long one:

I have a spreadsheet with my daily weight log. It has occasional missing days – when I didn’t log my weight.

Yesterday, I wanted to chart this data, and wanted to add a moving average to it. Google sheets’ in-built moving average trend line refused to work – either due to the missing data, or due to the number of entries. So I added a column to the sheet with the calculated (trailing) moving average weight.

My weight and the 30-day moving average
My weight and the 30-day moving average

I’ve never before had to calculate moving average over a non-consecutive data set. So, in case I forget, I’m noting it down here for later…

Continue reading TIL: Moving average with missing periods in Google Sheets

Premier league table – the trend continues

Follow-up to the last week’s post.

Premier League table - spread by points - week 21 - 2
Premier League table – spread by points – week 21 – 27

All the trends from the previous week continue…

  1. Manchester City (blue) continue to run away with the title, West Brom (slate) continue a lonely run at the bottom.
  2. The 2nd and 5th placed teams are now just 4 points apart (red) – Manchester United lost, while Chelsea, Tottenham, and Liverpool all won.
  3. Arsenal (slate) continue to be in the middle of nowhere – 7 points behind 5th, 9 points ahead of 7th.
  4. The mid-table / relegation pack (light grey) got even tighter – only 11 points between the 7th and 19th placed teams.

Continue reading Premier league table – the trend continues

Premier league table – some trends this season

That chart from the BBC got me interested. Looking at the Premier league table distributed by points makes it lot more interesting than distribution by ranks.

So, I downloaded the Premier League data for current season from Football Data, and created some graphs1.

Weeks 1-8: Mixed bag, except for Crystal Palace

Crystal Palace's dismal start to the season
Crystal Palace’s dismal start to the season

7 straight defeats! Crystal palace really had a crap start to the season!

Continue reading Premier league table – some trends this season

Chart of the day: Premier league table

Premier league teams on a linear scale of points after 23 matches
Premier league teams on a linear scale of points after 23 matches

The usual Premier league table gives a good idea of the ranking, but the gaps between teams aren’t immediately obvious1. I love how this visualisation shows both the rankings and the gaps with one simple line.

Source: BBC sport

Continue reading Chart of the day: Premier league table

TIL: Conditional sum product in Google Sheets

=SUMPRODUCT(D5:D1009="",C5:C1009,B5:B1009)

Just learnt an easy way to do conditional SumProduct1 calculations in Google Sheets2.

In above example, I wanted the SumProduct of values in columns B and C, when the respective cell in column D was empty.

The solution is to simply introduce the conditional column as another input, with the condition stated in the input.

Sheets does the SumProduct calculations, with each true as 1, and false as 0, thus making it a Conditional SumProduct :)

Continue reading TIL: Conditional sum product in Google Sheets