Building Business Models
One of the main uses of Doubletalk is building detailed cash-flow forecasts. Most cash-flow forecasts are done in Excel, but they tend to focus only on cash; building and maintaining a spreadsheet to correctly handle a full balance sheet and profit and loss is hard work in Excel, and anything less is ultimately not useful for long-term planning. It’s also important to lay out your forecast using the same headings and tree structure as the actual data and to take care not to leave black holes where the past data meets the future. Large corporations have often invested a great deal in building such models of their businesses. The combination of object-oriented programming and our class library makes it easy.
The general concept is to create a hierarchy of business model objects that represent things in the business; these generate a stream of future transactions at the right time. The module demodata.py uses crude examples of this to generate a file of 1000 transactions. Here’s a simple base class for this hierarchy:
class BusinessObject:
def getTransactions(self):
return []There are a limited number of common business objects that can be modeled
quite accurately. For example, a simple loan can be described by just
four attributes: amount, date drawn, interest rate, and number of
periods. A Loan
object is initialized with these
attributes and generates a stream of transactions covering the
drawdown and the subsequent repayments. An
IncomeItem gives rise to ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access