我有点拼命地试图构建一种算法,将财务期间的财务数据从财务期转换为日历期。
财政期间通常与日历期间不对应,例如一家公司可能会报告2011财年的收入为100美元,但其财政年度并未在2011年12月底结束,而是在2011年9月结束。例如,Apple的财政年度将于9月底结束。 Dell's会计年度结束于1月底,Intel的会计年度结束于12月底。对于Apple和戴尔而言,所有财政季度和财政半年度结束也都会发生变化。
为了比较这些公司的收入或其他财务指标,我需要能够将每个会计期间转换为等效的日历期。例如,有人可能会问,每个公司在2011日历年产生了多少收入。
就苹果公司而言,我们需要取消2010年日历期间产生的收入,这相当于苹果公司2010财年第四季度,并增加2012财年第一季度(截至2011年12月)
我的数据模型针对每个实体calendarPeriod
和fiscalPeriod
具有以下属性:
endYear
(期间结束的年份)
endMonth
(月号
1..12,期末的最后一天结束)
length
(期间的1到12个月)
我能做到的最有效,最短的算法是什么?
如果该算法可以处理像戴尔这样的“特殊情况”,那将需要占用其第一季度的1/3,这将在次年1月结束非常并将其添加到上一年的最后一个季度。此外,该算法应足够灵活,以处理所有期间长度和endMonths并尝试在必要时组合期间(例如,对于2012日历年的上半年,它应该尝试找到截至2012年6月或连续添加的六个月期间两个期间(一个截止日期为2012年3月,一个截至2012年6月,或截至2012年6月结束的财政年度,减去2011年日历年度的季度或半年)。
非常感谢你。
答案 0 :(得分:1)
这更像是一个财务问题,而不是技术问题。
如果您只有年终结果,除非它们属于同一财务期,否则您无法比较实用的方法。
此外,如果您以某种方式设法获得月度结果并做一些杂耍以准备可比较的结果,那么它们将无法比较,因为在年末财务结果中通常会进行许多会计调整和拨备而不是每月结果你会错过这里。
我建议您应该尝试比较那些产生更有意义结果的结果。