If the data you show are the only data that you have, then the Markov Chain is really boring: it is a linear chain, going from Round A to Round B to Round C, and all those states are connected to a base state (which is Death, or something).
You can directly calculate the transition probabilities from the data you have, since the number of companies that reached round N are all companies that could have reached round N (there is no alternative path). The death probability at the previous stage is (1 - $P_{reaching N}$)
In [1]: raw_data = """
...: Company 1: Seed Round, Series A Round
...: Company 2: Seed Round, Series A Round, Series B Round
...: Company 3: Seed Round, Series A Round, Series B Round
...: Company 4: Seed Round, Series A Round, Series B Round, Series C Round
...: Company 5: Seed Round
...: Company 6: Series A Round, Series B Round
...: Company 6: Series A Round
...: """
In [2]: data_lines = raw_data.splitlines()[1:]
In [6]: key_vals = {}
In [12]: for line in data_lines:
key, val = line.split(':')
key = key.strip()
vals = [v.strip() for v in val.split(',')]
key_vals[key] = vals
In [13]: key_vals
Out[13]:
{'Company 1': ['Seed Round', 'Series A Round'],
'Company 2': ['Seed Round', 'Series A Round', 'Series B Round'],
'Company 3': ['Seed Round', 'Series A Round', 'Series B Round'],
'Company 4': ['Seed Round',
'Series A Round',
'Series B Round',
'Series C Round'],
'Company 5': ['Seed Round'],
'Company 6': ['Series A Round']}
In [14]: transitions = ['Seed Round', 'Series A Round', 'Series B Round', 'Series C Round']
In [19]: for transition in transitions:
summed = 0
for company, rounds in key_vals.iteritems():
if transition in rounds:
summed += 1
prob = float(summed) / float(len(key_vals.keys()))
death_prob = 1 - prob
print "From previous to %s: probability %s" % (transition, prob)
print "Death rate at %s: probability %s" % (transition, death_prob)
From previous to Seed Round: probability 0.833333333333
Death rate at Seed Round: probability 0.166666666667
From previous to Series A Round: probability 0.833333333333
Death rate at Series A Round: probability 0.166666666667
From previous to Series B Round: probability 0.5
Death rate at Series B Round: probability 0.5
From previous to Series C Round: probability 0.166666666667
Death rate at Series C Round: probability 0.833333333333
However, if you had some more features of each company, like the amount of money they received at each stage, or the profit they were making, then you could train a decision tree, e.g. with this implementation in sklearn, that told you, in simple words, "if a company arrived at round X with at least Y dollars raised and at least Z dollars of profit, then they are passing to the next round with 0.XX probability". Which is, I think, what you are aiming at.