This is actually mentioned in the `info` page for `od` (available by running `info od` or by visiting < which is also linked to at the end of the man page) file, albeit not in very much depth:
> Each line of output consists of the offset in the input, followed by groups of data from the file. By default, od prints the offset in octal, and each group of file data is a C short int’s worth of input printed as a single octal number.
So, in your output, the numbers shown are octal 0000000, 0000020 and 0000030 which are decimal 0, 16 and 24. Note that the `n` of the word `written` is the 17th character (byte, here) of the file, therefore it can be found by beginning to read with an offset of 16 and the final newline is the 24th, so the next (empty) line of output starts with an offset of 24.