Showing posts with label subscription. Show all posts
Showing posts with label subscription. Show all posts

Wednesday, March 21, 2012

promotional mailing response prediction

I am trying to use the time series algorithm to predict responses to promotion mailings for subscription renewals. The problem i am having is that response is largely influenced by the number of mailings that are sent out. Can anyone give me any ideas on how i can structure the dataset so that it would take into account how many promotions were sent out? any help would be greatly appreciated.

Frank

You could have two columns in your mining model, one containing the number of mailings sent out (and used as Input) and another one containing the number of responses for the same period (used as Predict or Predict Only). You could also create a derived, calculated column, representing responses as percentage of mailings

Actually, it may be worth it to create one model with the responses modeled as Predict and another one with responses as PredictOnly

|||

Thanks, Bogdan

more detail on what I'm trying to do:

I have promotional mailings that go out periodically for subscription renewals. The goal is to predict responses to the promotion by week from the mailing date of the promotion. What I would like to do is to create a model that looks at the returns from promotions that are similar, also taking into account some other attributes(Publication,MailQty,etc).

Below is how the test data looks:

Pub Source MailQty Week1 Week2 Week3 Week4 Week5 ..................... Week20

Test Renewal 12000 45 123 234 200 34

Test2 Direct 33000 23 67 577 411 122

Test3 Renewal 22000 73 167 237 221 55

What I need to do is to use this historical response data to predict response to a future promotion. Is this possible?

Frank

|||

My guess is that you really don't want to use the time series algorithm here. You can create a dataset that uses previous response rates, calendar information and the amount of promotions mailed to predict how many responses you are going to get. For example, creating columns such as

PromotionID
DayOfWeek
WeekOfMonth
MonthOfYear
PreviousResponseRate1
PreviousReponseRate2
CurrentMailingAmount
Response

I'm sure you can think of other related variables as well - I used previous response rates in the example, but you can just as easily use absolute numbers as well. To start I would use Decision Trees (actually will create a regression tree) to predict Response, and I would also make CurrentMailingAmount a forced regressor (a parameter available in enterprise edition), to guarantee that it appears in the regression equation.

If you have the calendar attributes as numbers (which makes sense), I would also turn off the REGRESSOR flag on those columns so you don't get equations like Response = 2.45 + 0.86 * Monday

HTH

-Jamie

|||

Thanks Jamie,

Not sure if my example was as clear as it could have been. In my test data example, Week1 represents the total responses that were received 1 week from the promotion mail date. week2 represents the responses that were received the 2nd week from the mail date. i need to predict the responses by week for a future promotion by modeling past promotions. I would not have any response data for the future promotion at that point, just the other attributes such as mail quantity, day of week, monthofyear, source, etc. is this possible?

Frank

|||

Of course! This is what you are trying to predict! The example I gave is simply a sample of how you should arrange your data. For example:

(PRR = PreviousResponseRatio, CMA = CurrentMailingAmount)

PromotionID

Pub

DayOfWeek

WeekOfMonth

MonthOfYear

PRR1

PRR2

CMA

Response

P1W1

Test

4

2

3

<week 3 response/week 3 mail qty>

<week 4 response/week 4 mail qty>

<week 5 mailiing amount>

<week 5 reponse>

P1W2

Test

3

3

3

<week 4 response/week 4 mail qty>

<week 5 response/week 5 mail qty>

<week 6 mailiing amount>

<week 6 response>

In this model, one row represents a weeks mailing for a single publication. As I said before you can add additional variables as you like, such as actual previous responses, rather than a ratio - you just have to experiment.

You have other options as well. You can not have the "Pub" column at all, you could make independant models for each Pub, or you could do as above and create a model using Pub as an input. The advantage of the first option is that you could use the model to predict responses for new pubs, but you may want to add an attribute such as "TotalNumberofWeeks Sent" that describes the "newness" of a campaign.

sql

promotional mailing response prediction

I am trying to use the time series algorithm to predict responses to promotion mailings for subscription renewals. The problem i am having is that response is largely influenced by the number of mailings that are sent out. Can anyone give me any ideas on how i can structure the dataset so that it would take into account how many promotions were sent out? any help would be greatly appreciated.

Frank

You could have two columns in your mining model, one containing the number of mailings sent out (and used as Input) and another one containing the number of responses for the same period (used as Predict or Predict Only). You could also create a derived, calculated column, representing responses as percentage of mailings

Actually, it may be worth it to create one model with the responses modeled as Predict and another one with responses as PredictOnly

|||

Thanks, Bogdan

more detail on what I'm trying to do:

I have promotional mailings that go out periodically for subscription renewals. The goal is to predict responses to the promotion by week from the mailing date of the promotion. What I would like to do is to create a model that looks at the returns from promotions that are similar, also taking into account some other attributes(Publication,MailQty,etc).

Below is how the test data looks:

Pub Source MailQty Week1 Week2 Week3 Week4 Week5 ..................... Week20

Test Renewal 12000 45 123 234 200 34

Test2 Direct 33000 23 67 577 411 122

Test3 Renewal 22000 73 167 237 221 55

What I need to do is to use this historical response data to predict response to a future promotion. Is this possible?

Frank

|||

My guess is that you really don't want to use the time series algorithm here. You can create a dataset that uses previous response rates, calendar information and the amount of promotions mailed to predict how many responses you are going to get. For example, creating columns such as

PromotionID
DayOfWeek
WeekOfMonth
MonthOfYear
PreviousResponseRate1
PreviousReponseRate2
CurrentMailingAmount
Response

I'm sure you can think of other related variables as well - I used previous response rates in the example, but you can just as easily use absolute numbers as well. To start I would use Decision Trees (actually will create a regression tree) to predict Response, and I would also make CurrentMailingAmount a forced regressor (a parameter available in enterprise edition), to guarantee that it appears in the regression equation.

If you have the calendar attributes as numbers (which makes sense), I would also turn off the REGRESSOR flag on those columns so you don't get equations like Response = 2.45 + 0.86 * Monday

HTH

-Jamie

|||

Thanks Jamie,

Not sure if my example was as clear as it could have been. In my test data example, Week1 represents the total responses that were received 1 week from the promotion mail date. week2 represents the responses that were received the 2nd week from the mail date. i need to predict the responses by week for a future promotion by modeling past promotions. I would not have any response data for the future promotion at that point, just the other attributes such as mail quantity, day of week, monthofyear, source, etc. is this possible?

Frank

|||

Of course! This is what you are trying to predict! The example I gave is simply a sample of how you should arrange your data. For example:

(PRR = PreviousResponseRatio, CMA = CurrentMailingAmount)

PromotionID

Pub

DayOfWeek

WeekOfMonth

MonthOfYear

PRR1

PRR2

CMA

Response

P1W1

Test

4

2

3

<week 3 response/week 3 mail qty>

<week 4 response/week 4 mail qty>

<week 5 mailiing amount>

<week 5 reponse>

P1W2

Test

3

3

3

<week 4 response/week 4 mail qty>

<week 5 response/week 5 mail qty>

<week 6 mailiing amount>

<week 6 response>

In this model, one row represents a weeks mailing for a single publication. As I said before you can add additional variables as you like, such as actual previous responses, rather than a ratio - you just have to experiment.

You have other options as well. You can not have the "Pub" column at all, you could make independant models for each Pub, or you could do as above and create a model using Pub as an input. The advantage of the first option is that you could use the model to predict responses for new pubs, but you may want to add an attribute such as "TotalNumberofWeeks Sent" that describes the "newness" of a campaign.

Monday, March 12, 2012

Programming Subscription Options

Hello,
We are developing our own ASP.NET 2.0 (C#) front-end for Reporting Services. We are trying to create an interface for setting up standard subscriptions that is similar to Report Manager.

On Report Manager's Report Server File Share options page, there are two options Render Format and Overwrite options that we need help with. Can we query the ReportServer and get the available Render Formats to populate a dropdownlist? Or, do we have to hard-code the values?

Same for the Overwrite options, are these hard-coded? Or, can the valid values be retreived from ReportServer?

Finally, on the Report Server E-mail setup page, there is a Priority field that we need to replicate. Again, are the valid values hard-coded into the dropdownlist or retreived from the ReportServer?

Thanks.I answered this in the newsgroup but will post my answer here as well.

You can call GetExtensionSettings to get the settings that a delivery
extension accepts. The extensions will return a populated list of renders
that it supports as well as the full set of options that it supports.

Programming Subscription Options

Hello,
We are developing our own ASP.NET 2.0 (C#) front-end for Reporting Services.
We are trying to create an interface for setting up standard subscriptions
that is similar to Report Manager.
On Report Manager's Report Server File Share options page, there are two
options Render Format and Overwrite options that we need help with. Can we
query the ReportServer and get the available Render Formats to populate a
dropdownlist? Or, do we have to hard-code the values?
Same for the Overwrite options, are these hard-coded? Or, can the valid
values be retrieved from ReportServer?
Finally, on the Report Server E-mail setup page, there is a Priority field
that we need to replicate. Again, are the valid values hard-coded into the
dropdownlist or retrieved from the ReportServer?
Thanks.You can call GetExtensionSettings to get the settings that a delivery
extension accepts. The extensions will return a populated list of renders
that it supports as well as the full set of options that it supports.
--
-Daniel
This posting is provided "AS IS" with no warranties, and confers no rights.
"sam" <nospam@.company.com> wrote in message
news:uDhn8VD$FHA.140@.TK2MSFTNGP12.phx.gbl...
> Hello,
> We are developing our own ASP.NET 2.0 (C#) front-end for Reporting
> Services.
> We are trying to create an interface for setting up standard subscriptions
> that is similar to Report Manager.
> On Report Manager's Report Server File Share options page, there are two
> options Render Format and Overwrite options that we need help with. Can
> we
> query the ReportServer and get the available Render Formats to populate a
> dropdownlist? Or, do we have to hard-code the values?
> Same for the Overwrite options, are these hard-coded? Or, can the valid
> values be retrieved from ReportServer?
> Finally, on the Report Server E-mail setup page, there is a Priority field
> that we need to replicate. Again, are the valid values hard-coded into
> the
> dropdownlist or retrieved from the ReportServer?
> Thanks.
>|||Thanks Daniel!
Another quick question for you...
How does Report Manager validate that the Path is in Uniform Naming
Convention (UNC) format? More than likely, our end users will enter
something like: D:\Product\Reports, and I guess we'll need to validate it.
"Daniel Reib [MSFT]" <danreib@.online.microsoft.com> wrote in message
news:%23wXU5iE$FHA.216@.TK2MSFTNGP15.phx.gbl...
> You can call GetExtensionSettings to get the settings that a delivery
> extension accepts. The extensions will return a populated list of renders
> that it supports as well as the full set of options that it supports.
> --
> -Daniel
> This posting is provided "AS IS" with no warranties, and confers no
rights.
>
> "sam" <nospam@.company.com> wrote in message
> news:uDhn8VD$FHA.140@.TK2MSFTNGP12.phx.gbl...
> > Hello,
> > We are developing our own ASP.NET 2.0 (C#) front-end for Reporting
> > Services.
> > We are trying to create an interface for setting up standard
subscriptions
> > that is similar to Report Manager.
> >
> > On Report Manager's Report Server File Share options page, there are two
> > options Render Format and Overwrite options that we need help with. Can
> > we
> > query the ReportServer and get the available Render Formats to populate
a
> > dropdownlist? Or, do we have to hard-code the values?
> >
> > Same for the Overwrite options, are these hard-coded? Or, can the valid
> > values be retrieved from ReportServer?
> >
> > Finally, on the Report Server E-mail setup page, there is a Priority
field
> > that we need to replicate. Again, are the valid values hard-coded into
> > the
> > dropdownlist or retrieved from the ReportServer?
> >
> > Thanks.
> >
> >
>|||We don't validate all UNC paths, I believe it just checks that it starts
with \\
No real magic. :)
--
-Daniel
This posting is provided "AS IS" with no warranties, and confers no rights.
"sam" <nospam@.company.com> wrote in message
news:%236XyizE$FHA.1312@.TK2MSFTNGP09.phx.gbl...
> Thanks Daniel!
> Another quick question for you...
> How does Report Manager validate that the Path is in Uniform Naming
> Convention (UNC) format? More than likely, our end users will enter
> something like: D:\Product\Reports, and I guess we'll need to validate it.
>
> "Daniel Reib [MSFT]" <danreib@.online.microsoft.com> wrote in message
> news:%23wXU5iE$FHA.216@.TK2MSFTNGP15.phx.gbl...
>> You can call GetExtensionSettings to get the settings that a delivery
>> extension accepts. The extensions will return a populated list of
>> renders
>> that it supports as well as the full set of options that it supports.
>> --
>> -Daniel
>> This posting is provided "AS IS" with no warranties, and confers no
> rights.
>>
>> "sam" <nospam@.company.com> wrote in message
>> news:uDhn8VD$FHA.140@.TK2MSFTNGP12.phx.gbl...
>> > Hello,
>> > We are developing our own ASP.NET 2.0 (C#) front-end for Reporting
>> > Services.
>> > We are trying to create an interface for setting up standard
> subscriptions
>> > that is similar to Report Manager.
>> >
>> > On Report Manager's Report Server File Share options page, there are
>> > two
>> > options Render Format and Overwrite options that we need help with.
>> > Can
>> > we
>> > query the ReportServer and get the available Render Formats to populate
> a
>> > dropdownlist? Or, do we have to hard-code the values?
>> >
>> > Same for the Overwrite options, are these hard-coded? Or, can the
>> > valid
>> > values be retrieved from ReportServer?
>> >
>> > Finally, on the Report Server E-mail setup page, there is a Priority
> field
>> > that we need to replicate. Again, are the valid values hard-coded into
>> > the
>> > dropdownlist or retrieved from the ReportServer?
>> >
>> > Thanks.
>> >
>> >
>>
>

Programmatically reinitializing merge subscription from publisher - SQL 2005

From the SSMS GUI it is possible to re-initialize one or all subscriptions to a merge publication. This is done at the publisher.

How can I achieve these operations programmatically?

In particular, how do I initialize a single merge subscription from the publisher?

I have looked at the documentation for sp_reinitmergepullsubscription but it says that this proc must be run at the subscriber - which isn't much use when subscribers are disconnected for the majority of the time

I have a large number of merge subscribers and want to reinitialize all except one

aero1

You can use the following statement to re-initiliase your subscribers:

exec sp_reinitmergesubscription @.publication=<Publication Name>, @.subscriber=<Subscriber Name>, @.subscriber_db = <Subscriber DB>, @.upload_first = <TRUE|FALSE>

You can get the details of the subscribers from the sysmergesubscriptions table.

More info on re-intiialising here:

ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.en/tsqlref9/html/249a4048-e885-48e0-a92a-6577f59de751.htm

|||

Just what I needed

Thanks

aero1

Programmatically reinitializing merge subscription from publisher - SQL 2005

From the SSMS GUI it is possible to re-initialize one or all subscriptions to a merge publication. This is done at the publisher.

How can I achieve these operations programmatically?

In particular, how do I initialize a single merge subscription from the publisher?

I have looked at the documentation for sp_reinitmergepullsubscription but it says that this proc must be run at the subscriber - which isn't much use when subscribers are disconnected for the majority of the time

I have a large number of merge subscribers and want to reinitialize all except one

aero1

You can use the following statement to re-initiliase your subscribers:

exec sp_reinitmergesubscription @.publication=<Publication Name>, @.subscriber=<Subscriber Name>, @.subscriber_db = <Subscriber DB>, @.upload_first = <TRUE|FALSE>

You can get the details of the subscribers from the sysmergesubscriptions table.

More info on re-intiialising here:

ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.en/tsqlref9/html/249a4048-e885-48e0-a92a-6577f59de751.htm

|||

Just what I needed

Thanks

aero1

Friday, March 9, 2012

Programmatically determining if a data driven subscription is running

Hi,

Quick question: how do I determine programmatically if a data driven subscription is currently running?

More info:

I’m writing a web application which allows the user to kick off an existing data driven subscription (reporting services 2000), which runs from a table with parameters, paths, etc which the user has populated.

The subscription can take several minutes to run, during which time I need to prevent other users from attempting to run the subscription or alter data on the table driving the subscription.

All I’ve found in the docs so far is

1. The ActiveState on the subscription.

This seems to have more to do with weather or not it can run than if it is running.

2. The status of the subscription.

This seems to only return “done: {0} of {1} with {2} errors” Parsing this is likely to be too flaky to be acceptable.

I really need to move on this as soon as possible, any help is appreciated.

Thanks

If you look at the ReportServer.dbo.Subscriptions table, isn't there a LastRunTime column? Will that get you what you want?|||

I should have clarified that I want to obtain the information through soap access. I belive I can actually obtain that value through soap access, but I believe the lastruntime states the time at which the process was kicked off, not the time at which it finished. From the reading i've been doing I'm staring to think that this is a very difficult problem to solve. If I come up with a solution more interesting than parsing the status field I'll post the details.

Thanks anyway

|||

Ok,

Looks like I was wrong in my original post, the status returned from the subscription will say either Done: blah of blah or Processing Blah of Blah. So as an imperfect (and quick) solution I can and will parse that. I'm still not certain if i'm missing something and everything I need is already available through the soap api, but anyway... If I had more time and we weren't switching to 2005 in a few months I'd probably write a custom delivery extension that fires off an event to a web service or something to that effect.

Wednesday, March 7, 2012

Programmatically create a Data Driven Subscription

Hi,
I have seen the examples of creating a Subscription via code.
I actually wish to create a data driven subscription. Can someone point me
to an example of this or post me an example?
many thanks
MattFound an example.
Have question on this though, how to set the data source to a shared data
source rather than a literal?
I assume you need to use DataSourceDefinitionOrReference rather than
dataSourceDefinition. How do you populate this?
"Matt" <NoSpam:Matthew.Moran@.Computercorp.com.au> wrote in message
news:%23vHHGkbeEHA.3616@.TK2MSFTNGP10.phx.gbl...
> Hi,
> I have seen the examples of creating a Subscription via code.
> I actually wish to create a data driven subscription. Can someone point
me
> to an example of this or post me an example?
> many thanks
> Matt
>|||Got it. Sorry pls ignore
"Matt" <NoSpam:Matthew.Moran@.Computercorp.com.au> wrote in message
news:uAx8KaceEHA.1424@.tk2msftngp13.phx.gbl...
> Found an example.
> Have question on this though, how to set the data source to a shared data
> source rather than a literal?
> I assume you need to use DataSourceDefinitionOrReference rather than
> dataSourceDefinition. How do you populate this?
>
> "Matt" <NoSpam:Matthew.Moran@.Computercorp.com.au> wrote in message
> news:%23vHHGkbeEHA.3616@.TK2MSFTNGP10.phx.gbl...
> > Hi,
> >
> > I have seen the examples of creating a Subscription via code.
> >
> > I actually wish to create a data driven subscription. Can someone point
> me
> > to an example of this or post me an example?
> >
> > many thanks
> >
> > Matt
> >
> >
>

Programmatic synchronizing and metadata

Hello,
I created a subscription programmatically so I have the
CreateSyncAgentByDefaut property = false. Do I have to do some additional
functions to work with and clean up the subscription metadata.
Thanks for your help.
When your subscription is deployed merge replication will fix your database
to replicate to it. It will automatically clean up metadata as it no longer
needs it.
Hilary Cotter
Looking for a SQL Server replication book?
http://www.nwsu.com/0974973602.html
Looking for a FAQ on Indexing Services/SQL FTS
http://www.indexserverfaq.com
"Car" <Car@.discussions.microsoft.com> wrote in message
news:76F2D1C8-653B-4DD9-BAF9-3842221369E4@.microsoft.com...
> Hello,
> I created a subscription programmatically so I have the
> CreateSyncAgentByDefaut property = false. Do I have to do some additional
> functions to work with and clean up the subscription metadata.
> Thanks for your help.
>

Saturday, February 25, 2012

Programatically running the SQL Server Agent

I have a scenerio where I am using a Push Merge Subscription set with "Run
On Demand". How can I programatically (Stored procedure) run the SQL Agent
Job that synchronizes the Subscriptions?
Thanks,
RSHHave a look at sp_start_Job.
Andrew J. Kelly SQL MVP
"RSH" <way_beyond_oops@.yahoo.com> wrote in message
news:O%23tZgcf9FHA.3660@.TK2MSFTNGP09.phx.gbl...
>I have a scenerio where I am using a Push Merge Subscription set with "Run
>On Demand". How can I programatically (Stored procedure) run the SQL Agent
>Job that synchronizes the Subscriptions?
> Thanks,
> RSH
>