Posts

Showing posts from 2014

Social Media and its impacts

Social Media and its impacts  Why social media exists and survives? Human being is a social animal.  A normal human being lives in a society. In the ancient age, they had nomadic life but always traveled in groups.  Now we either live in villages or cities. These are the different form of societies.  We like to live in society to engage ourselves in the various activities, share the happiness, share the sorrow, and share the knowledge, to do business and to help each other.  As we progressed, we organized ourselves into nations geographically. We also formed several associations comprising either persons or nations of specific interest. In my view these associations are also a society.    In the modern world these societies have evolved significantly.  With the development in science and technology the format of the society also developed. This has given birth to online social media. Online social media is easiest and cheapest way to engage with people. This allows commun

SAS procedures those I have used

Proc Print  Data=Example_Data;Run; This procedure is very helpful for me when I want to glance the data to get a sense how do it look and to validate output of any code. This can be used with options like obs=N to print only top N observations. When firstobs=M option is used with   obs=N  (where N>M) along with the print procedure it prints observations from M to N. So you can view observations irrespective of   its order in the dataset.  Proc expand:  A year back I had used a procedure called Proc Expand to impute missing values in time series data and also to convert data from high level to lower level such as from week level to day level or low level to high level such as week to month. This procedure is very handy when we want to impute missing values in time series data of thousand of the line item.  In other words if we have panel data then we can use it.  Its syntax is very simple. It uses extrapolation and interpolation techniques to      convert the data from

Personalized Recommendation Engine for Restaurants and dishes

Image
The objective of this article is to propose a design of a personalized recommendations application for restaurants owners which can be used by the customers of the given credit/debit card issuer. The developed recommendation application can be installed as mobile application in the mobile phone of the customers. The recommendation engine will use machine learning algorithms and predictive analytics techniques to derive information from  the credit transaction data, mobile location data, social media data (Facebook, Twitter), public data (Yelp.com/Bundle.com etc.), mobile browser data and data of the restaurants*. The recommendation engine will have two modules. First module will use the clustering algorithm to derive actionable information from credit card data and restaurants data. It will also use the data mining techniques to integrate the useful information available in the web space with restaurant data (explained later). This module will execute in server of the bank   pe

How to check whether a SAS dataset exist or not and throw an error in the log ?

/* if the data set exists, then conditionally execute the step(s). %sysfunc checks the availability of the data in the library location. It means it checks historical sas data. It generates the system error if the not is data available at the defined library  */ %let dsname=&dataval.MKT_DATA;  /**** declaring data set name with library*****/ %macro warning1(name); %if %sysfunc(exist(&name)) %then %do; Proc printto log="&logfile.\WarningLog..txt" new;     /*** printing log in the text file at specifile location &logfile****/ run; %Put WARNING :- &name does not exists; Proc printto  ; Run; %end; %else %do; Proc printto log="&logfile.\WarningLog.txt" ; run; %put &name exists; Proc printto  ; Run; %end; %mend ; %warning1(&dsname); /**** Pros:  If any sas process is dependent on the existence of the data then we can use this macro***/ /**** Cons:  *Even if the SAS data set is available with zero observatio

Modeling Practices of Loss Forecasting for Consumer Banking Portfolio

Image
Modeling Practices of Loss Forecasting for Consumer Banking Portfolio Roll Rate Models The roll rate model is the most commonly used modeling practice for the loss forecasting in the consumer banking arena built at the portfolio level instead of at the individual account level. In this modeling practice, the whole portfolio is segmented by various delinquency buckets, e.g. Current, 30-DPD, 60-DPD, 90-DPD, 120-DPD, 150-DPD, and charge-off. The purpose is to evaluate the probability of an account in a specific delinquency bucket flowing into the next stage of delinquency status during the course of 1 month. The table below demonstrates the scheme of a basic roll rate model. In the table below, projected rolling rates are shown in the bottom two rows highlighted in red. The projected rate for each delinquency bucket is simply the moving average of previous 3 months. Due to its nature of simplicity, the roll rate model is able to fit into various business scenarios, e.g. delin