I'm a developer writing a system for a startup. Without giving away too much of the business model, here are the basics of how it works:

  • The web site has two forms of "currency": tickets and credits.
  • Tickets are basically like Chinese auction tickets: there are many prize items on the site, and you can cash in your tickets on any prize to try and win that prize.
  • Credits are more like currency: the site has an online store section, and you can use your credits to buy things in the store.
  • Tickets and credits are purchased together, as part of one package. For simplicity, we'll say that if you spend $1, you will get 1 ticket and 1 credit.
  • We do sometimes give away free tickets and credits in promotions.

Now I need to draw up several different profit & loss reports:

  1. Per prize item, I need to calculate the internal costs of the item (purchase price, shipping, etc.) against the income attributable to that prize item (value of tickets cashed in on that item).
  2. Per store sale, I need to calculate the internal costs of the item, against the income (value of credits cashed in to buy that item).

I do have a database field to store the income attributable to each ticket or credit. My question is, what value should I use there? I could say that each ticket purchased with actual money is worth 50c, as is each credit, since for every dollar you get one ticket and one credit. But this doesn't tell the full P&L story, since one of the factors we're counting on for the site to be profitable is that, like frequent flyer miles, many people will not fully exploit their tickets and/or credits i.e. abandon them. So when I look at a prize item, if I only count 50c of income for each ticket, then I lose the possibility that the user abandoned his credits. Likewise, if I only count 50c of each credit spent in the store as income, I lose the possibility that the user abandoned his tickets.

What is correct accounting practice for this situation?

  • 1
    $\begingroup$ Not really a quant question but I'll take a stab. $\endgroup$
    – jeff m
    Dec 24, 2012 at 17:35

1 Answer 1


This is the framework for what you need to do, depending on whether you'll be following IFRS, GAAP, or some bogus Groupon accounting method will decide what rules/methods you'll have to follow.

What you want to create are contra accounts for each. This works similar to a "bad debt expense" in accounts receivable. You need to estimate the probability that a ticket isn't utilized and use that value as an estimated contra against Cost of Goods Sold.

Per Prize Cost = Price of Prize - tickets collected on that item - expected value of unused tickets.

Per store sale would work in the same fashion but I doubt the probability of unused tickets vs. unused credits would be the same. I assume you're using SQL or some other relational DB, so make sure you're using computed columns and not actually adjusting the raw data.

As an aside, the accounting estimates required for this kind of business model will set off red flags everywhere to any analyst worth their salt.

  • $\begingroup$ Thanks! Pardon my ignorance - I know very little about accounting - what is a "contra" account? $\endgroup$
    – Shaul Behr
    Dec 24, 2012 at 19:27
  • $\begingroup$ A contra account offsets another account. Following from my accounts receivable example: accounts receivable(assets) usually has a debit balance that is offset by a credit to another account for accounts unlikely to pay - this reduces the chance of overstating assets/income by estimating what the "net realizable value" of the account is. This is called the "allowance" method and this article sums it up quite nicely. $\endgroup$
    – jeff m
    Dec 25, 2012 at 1:11
  • $\begingroup$ Oh well, just got word from the accounting guys that their formula for P&L is changing again. So this is now really a moot point for me, but I'll give you answer credit anyway! $\endgroup$
    – Shaul Behr
    Dec 25, 2012 at 15:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.