Re: SQL Question - "Recursion" - Mailing list pgsql-general

From Guy Rouillier
Subject Re: SQL Question - "Recursion"
Date
Msg-id 48B4941C.8040100@burntmail.com
Whole thread Raw
In response to SQL Question - "Recursion"  (ktr73 <kevin.t.ryan@gmail.com>)
List pgsql-general
ktr73 wrote:
> Hi -
>
> Was wondering if anyone could help / had some thoughts.  I am building
> a model for a client, and right now doing customer attrition
> modeling.  Basically, the number of customers in this period is equal
> to:
>
> Beg # Customers
> + customers added this period
> - attrition
> Ending # Customers
>
> Obviously getting the beginning number of customers and # of added has
> been easy via SQL.  Also, the above is fairly straightforward in a
> spreadsheet program like Excel.  But I can't seem to come to grips
> with how to model the attrition line item in SQL, as it's based on
> last months ending balance ...  which in turn is based on beg + add -
> attr = end for the previous period, and so on.
>
> So it seems to be a recursive function as far as I can tell ... any
> idea how to model this via SQL?  I can get running totals for the # of
> adds with a correlated subquery, but I can't seem to figure out how to
> build the attrition into that running total.

Don't understand why you need recursion.  Seems like attrition can be
calculated.  You say you can get the beginning number of customers.  The
ending number of customers for month N = beginning number of customers
for month N+1.  So, if you have the beginning, ending and # customers
added, then attrition = ending - beginning - #added.

--
Guy Rouillier

pgsql-general by date:

Previous
From: "Richard Broersma"
Date:
Subject: PITR - base backup question
Next
From:
Date:
Subject: Re: [ADMIN] PITR - base backup question