Microsoft Microsoft ® ® Site Site Server Commerce Server Commerce Edition Edition Jay Sauls Jay Sauls Microsoft Microsoft Consulting Services Consulting Services
Dec 25, 2015
MicrosoftMicrosoft®® Site Server Site Server Commerce EditionCommerce Edition
Jay SaulsJay Sauls
Microsoft Consulting Microsoft Consulting ServicesServices
OverviewOverview
Business PropositionBusiness Proposition
Solution ArchitectureSolution Architecture
Shopper ExperienceShopper Experience
Technology SolutionsTechnology Solutions
Business PropositionBusiness Proposition
Wider reachWider reach
Reduced “friction”Reduced “friction”
Always openAlways open
High scalabilityHigh scalability
IntegrationIntegration
24x7 availability24x7 availability
Why go online?Why go online?Online Online RequirementsRequirements
Solution Architecture Solution Architecture
Internet
W eb S erver 1 W eb S erver 2 W eb S erver N
D atabase S erver 1S hared D isk array
D atabase S erver 2
. . .
Microsoft Cluster Services used for failover capability on SQL Server
Windows Load Balancing Service used for directing requests to a web server
DesignDesign
SQL, OracleSQL, Oracle DatabaseDatabaseSQL, OracleSQL, Oracle DatabaseDatabase
BrowserBrowserBrowserBrowser
WalletWalletWalletWallet
Windows NT Security, IIS, MTSWindows NT Security, IIS, MTSWindows NT Security, IIS, MTSWindows NT Security, IIS, MTS
Line ofLine ofBusinessBusiness
ApplicationApplication
Line ofLine ofBusinessBusiness
ApplicationApplication
AnalyzeAnalyze
Order AnalysisOrder AnalysisOrder AnalysisOrder Analysis
Usage ImportUsage ImportUsage ImportUsage Import
CommerceCommerceReportsReports
CommerceCommerceReportsReports
EngageEngage
Ad ServerAd ServerAd ServerAd Server
MembershipMembershipMembershipMembership
PersonalizationPersonalizationPersonalizationPersonalization
Authoring ToolsAuthoring ToolsAuthoring ToolsAuthoring Tools
TransactTransact
PipelinesPipelinesPipelinesPipelines• OrderOrder
ProcessingProcessing
• CommerceCommerceInterchangeInterchange
• OrderOrderProcessingProcessing
• CommerceCommerceInterchangeInterchange
Third PartyThird PartyComponentsComponentsThird PartyThird PartyComponentsComponents
Shopper ExperienceShopper Experience
Browse Select PurchaseProduct in stock?
Special discount?
Valid address?
Valid credit card?
Pipeline ArchitecturePipeline Architecture
Browse Select Purchase
Flag InventoryFlag Inventory
InventoryInventory
Sale AdjustSale Adjust
Item PromoItem Promo
Item PriceItem Price
Shopper InfoShopper Info
Product InfoProduct Info
Prod
uct P
ipelin
e
Pu
rchase P
ipelin
e
SendSMTPSendSMTP
SaveReceiptSaveReceipt
Make POMake PO
Authorize CCAuthorize CC
Validate CCValidate CC
Validate bill_toValidate bill_to
SQLOrderSQLOrder
Pipeline DetailsPipeline Details
}T
ransactio
n
Order items
Shopper info
Payment Info
Pu
rchase P
ipelin
e
SendSMTPSendSMTP
SaveReceiptSaveReceipt
Make POMake PO
Authorize CCAuthorize CC
Validate CCValidate CC
Validate bill_toValidate bill_to
SQLOrderSQLOrder
Data MiningData Mining
Store owners need informationStore owners need informationHow many visitors?How many visitors?
How many buyers?How many buyers?
When do they shop?When do they shop?
What do they buy?What do they buy?
Where are they from?Where are they from?
Data MiningData Mining
Current ProcessCurrent ProcessWeb Server logs imported into SQL Server one row at a timeWeb Server logs imported into SQL Server one row at a time
Each row is processed by a stored procedure Each row is processed by a stored procedure
Data from rows checked against dimension tablesData from rows checked against dimension tables
Only one import process can run at a timeOnly one import process can run at a time
Data MiningData MiningLeveraging MS Research TechnologyLeveraging MS Research TechnologyRealtime RecommendationsRealtime Recommendations
Expands Intelligent Cross Sell from 3.0Expands Intelligent Cross Sell from 3.0Value-added functionality specific componentsValue-added functionality specific components
Product cross-sellProduct cross-sellPersonalized product recommendationPersonalized product recommendation
Algorithms can be parameterized for confidence levelsAlgorithms can be parameterized for confidence levels
Segmentation - Find interesting sub-populations for targetingSegmentation - Find interesting sub-populations for targetingLabel new user segments for advertising, promotions or direct mailLabel new user segments for advertising, promotions or direct mailUpdate User profilesUpdate User profilesTechniquesTechniques
Explicit via enabling Business User using OLAP tools with Data Explicit via enabling Business User using OLAP tools with Data WarehouseWarehouse
Implicit via Clustering Algorithms from MS ResearchImplicit via Clustering Algorithms from MS ResearchClusters imply similarities in behavior or likely responseClusters imply similarities in behavior or likely response
Real TimeEvents
DTS Packages
Custom Task
ImportTasks
User
Usage
Transaction
CSF
Catalog
Interchange
Win Media
WhoIs
Log Manager
IP Resolution
3333
DataData WarehouseWarehouse ArchitectureArchitectureEvent Data
Transactions
Interchange
Apache
IIS
Other Events
Win Media
1111
Non-Event Data
CSF
Catalog
User
Content
Other Data
Site Vocab
2222
SQL Server
OLE DB
ADO
6666
Data Warehouse Service
CommerceOLE DB Provider
ADO
Cube Mgr Schema Mgr
CMD Proc ROLAP Svc
5555
Administration4444
Data Mining Data Mining
Design PointsDesign PointsMicrosoft.com : > 100M hits / day = 30M – 40M “useful” hitsMicrosoft.com : > 100M hits / day = 30M – 40M “useful” hits
Use OLAP cubes to view imported dimension dataUse OLAP cubes to view imported dimension data
Number of dimension values is potentially unlimitedNumber of dimension values is potentially unlimited
Data will drive new Recommendations (Predictor) modelsData will drive new Recommendations (Predictor) models
Data MiningData Mining
Enhanced DesignEnhanced DesignRows are imported in batches of 3K – 4K per batchRows are imported in batches of 3K – 4K per batch
Batches are analyzed in-memory for distinct dimension valuesBatches are analyzed in-memory for distinct dimension values
Distinct dimension values are added to SQL Server in batch updateDistinct dimension values are added to SQL Server in batch update
Multiple batches can run simultaneouslyMultiple batches can run simultaneously
Data can be partitioned across multiple databasesData can be partitioned across multiple databases
Targeting ApplicationsTargeting ApplicationsContentContent
Separation of page logic, format and dataSeparation of page logic, format and dataAllow a business user to easily manage, format and target content on a page without Allow a business user to easily manage, format and target content on a page without
the need for a developerthe need for a developerAllow developersAllow developers
Simple programming interfaces for the VID developerSimple programming interfaces for the VID developerHigh performance and scalability (10ms/Slot)High performance and scalability (10ms/Slot)Extensible formatting templatesExtensible formatting templates
AdvertisingAdvertisingCampaign or Campaign Item impression goalsCampaign or Campaign Item impression goalsExclusive targeting for sponsorshipsExclusive targeting for sponsorshipsExposure limits Exposure limits Support for Ad Networks (LinkExchange)Support for Ad Networks (LinkExchange)
Discount Campaign Management Discount Campaign Management Reacts to product page and user’s basketReacts to product page and user’s basketRelated Sells Campaign Management Related Sells Campaign Management Supports Up-Sell, Cross-Sell and Inventory SellSupports Up-Sell, Cross-Sell and Inventory Sell
Direct Mail Campaign ManagementDirect Mail Campaign Management Fast, Scalable, Runs as an NT ServiceFast, Scalable, Runs as an NT ServiceHas a List Management object to support importing and merging of listsHas a List Management object to support importing and merging of listsCampaign tracking of mails sent, clickedCampaign tracking of mails sent, clicked
DataWarehouse
OfflineProcessing
PredictorEngine
Load PredictionModel
Load PredictorData
ProfileDefinitions
ExpressionDatastore
SiteTerms Datastore
ExpressionBuilder
GUI
Biz DeskApp
DesignTime
Store/RetrieveExpressions
ContextProfileSchema
UserProfileSchema
Biz Design Data Store
ExprEvaluator
User ProfileDatastore
PredictorClient
ContentSelectionFramework
ExprEvaluator
ASP pagesRunTime
ContextProfile User
Profile
Targeting ArchitectureTargeting Architecture
Recommendations Recommendations ArchitectureArchitecture
IIS
scheduler launches model builderscheduler launches model builder
ASP calls predictor to add recommendationsASP calls predictor to add recommendations
user goes to checkout pageuser goes to checkout page
basket.asp
app downloads current modelapp downloads current model
global.asa
model model
data warehouse
OLAP
predictorservice
IIS logs feedback basket data to the warehouseIIS logs feedback basket data to the warehouse
Questions?Questions?