mirror of
https://github.com/velocitatem/PHANTOM.git
synced 2026-05-31 08:33:36 +00:00
forgot about tables and graphs
This commit is contained in:
@@ -8,6 +8,7 @@ We consider a business across time during which we have an evolving vector $p_t
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\subsection{Cost of Information Framework}
|
\subsection{Cost of Information Framework}
|
||||||
|
|
||||||
Mathematical demonstration and validation of the COI and citation backed evidence, and framework overview + show harm to user via other cost distortions. Maybe split into 3.2.1 (COI Theory) and 3.2.2 (Framework Design)
|
Mathematical demonstration and validation of the COI and citation backed evidence, and framework overview + show harm to user via other cost distortions. Maybe split into 3.2.1 (COI Theory) and 3.2.2 (Framework Design)
|
||||||
|
|||||||
65
paper/src/chapters/feature_table.tex
Normal file
65
paper/src/chapters/feature_table.tex
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
\begin{table}[ht]
|
||||||
|
\centering
|
||||||
|
\small
|
||||||
|
\resizebox{\columnwidth}{!}{%
|
||||||
|
\begin{tabular}{p{4.5cm}p{1.5cm}p{6cm}}
|
||||||
|
\hline
|
||||||
|
\textbf{Feature} & \textbf{Type} & \textbf{Description} \\
|
||||||
|
\hline
|
||||||
|
\multicolumn{3}{l}{\textit{Session Identifiers}} \\
|
||||||
|
sessionId & object & Unique identifier for user session \\
|
||||||
|
experimentId & object & Experiment run identifier \\
|
||||||
|
\hline
|
||||||
|
\multicolumn{3}{l}{\textit{Temporal Features}} \\
|
||||||
|
session\_duration\_sec & float & Total session duration in seconds \\
|
||||||
|
avg\_time\_between\_events & float & Mean inter-event time \\
|
||||||
|
std\_time\_between\_events & float & Standard deviation of inter-event times \\
|
||||||
|
min\_time\_between\_events & float & Minimum time between consecutive events \\
|
||||||
|
session\_start\_hour & int & Hour of day when session started \\
|
||||||
|
\hline
|
||||||
|
\multicolumn{3}{l}{\textit{Interaction Metrics}} \\
|
||||||
|
total\_interactions & int & Count of all user interactions \\
|
||||||
|
total\_events & int & Total number of tracked events \\
|
||||||
|
interaction\_velocity & float & Rate of interactions per time unit \\
|
||||||
|
max\_velocity\_5min & int & Peak interaction count in any 5-minute window \\
|
||||||
|
\hline
|
||||||
|
\multicolumn{3}{l}{\textit{Navigation Behavior}} \\
|
||||||
|
unique\_pages & int & Number of distinct pages visited \\
|
||||||
|
page\_views & int & Total page view events \\
|
||||||
|
\hline
|
||||||
|
\multicolumn{3}{l}{\textit{Product Engagement}} \\
|
||||||
|
item\_views & int & Number of product detail views \\
|
||||||
|
unique\_products\_viewed & int & Count of distinct products examined \\
|
||||||
|
product\_view\_depth & int & Repeat views of same products \\
|
||||||
|
\hline
|
||||||
|
\multicolumn{3}{l}{\textit{Conversion Funnel}} \\
|
||||||
|
cart\_adds & int & Number of items added to cart \\
|
||||||
|
purchases & int & Completed transactions \\
|
||||||
|
cart\_to\_view\_ratio & float & Ratio of cart additions to item views \\
|
||||||
|
conversion\_rate & float & Purchase to view conversion \\
|
||||||
|
\hline
|
||||||
|
\multicolumn{3}{l}{\textit{Interaction Quality}} \\
|
||||||
|
hover\_events & int & Mouse hover event count \\
|
||||||
|
hover\_intensity & float & Hover events per interaction \\
|
||||||
|
\hline
|
||||||
|
\multicolumn{3}{l}{\textit{Price Behavior}} \\
|
||||||
|
avg\_price\_seen & float & Mean price across viewed products \\
|
||||||
|
min\_price\_seen & float & Lowest price encountered \\
|
||||||
|
max\_price\_seen & float & Highest price encountered \\
|
||||||
|
price\_range & float & Difference between max and min prices seen \\
|
||||||
|
\hline
|
||||||
|
\multicolumn{3}{l}{\textit{Technical Fingerprinting}} \\
|
||||||
|
is\_headless & bool & Headless browser detection flag \\
|
||||||
|
is\_automation & bool & Automation framework detection flag \\
|
||||||
|
browser\_family & object & Browser type classification \\
|
||||||
|
\hline
|
||||||
|
\multicolumn{3}{l}{\textit{Experimental Labels}} \\
|
||||||
|
is\_agent & bool & Ground truth agent classification \\
|
||||||
|
xp\_human\_only & bool & Human-only experiment indicator \\
|
||||||
|
xp\_market\_mode & object & Market context (hotel/airline) \\
|
||||||
|
\hline
|
||||||
|
\end{tabular}%
|
||||||
|
}
|
||||||
|
\caption{Feature matrix schema for session-level behavioral classification (32 features total).}
|
||||||
|
\label{tab:features}
|
||||||
|
\end{table}
|
||||||
112
paper/src/chapters/loop_figure.tex
Normal file
112
paper/src/chapters/loop_figure.tex
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
\definecolor{mygreenfill}{RGB}{169, 234, 186}
|
||||||
|
\definecolor{mygreenborder}{RGB}{29, 145, 61}
|
||||||
|
\definecolor{mybluefill}{RGB}{204, 222, 255}
|
||||||
|
\definecolor{myblueborder}{RGB}{66, 106, 189}
|
||||||
|
\definecolor{mygray}{RGB}{150, 150, 150}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\begin{tikzpicture}[
|
||||||
|
node distance=2cm,
|
||||||
|
% Style for Green Nodes
|
||||||
|
greenbox/.style={
|
||||||
|
rectangle,
|
||||||
|
draw=mygreenborder,
|
||||||
|
fill=mygreenfill,
|
||||||
|
line width=1.2pt,
|
||||||
|
align=center,
|
||||||
|
minimum height=1cm,
|
||||||
|
font=\sffamily
|
||||||
|
},
|
||||||
|
% Style for Blue Nodes
|
||||||
|
bluebox/.style={
|
||||||
|
rectangle,
|
||||||
|
draw=myblueborder,
|
||||||
|
fill=mybluefill,
|
||||||
|
line width=1.2pt,
|
||||||
|
align=center,
|
||||||
|
minimum height=1cm,
|
||||||
|
font=\sffamily
|
||||||
|
},
|
||||||
|
% Style for Arrows
|
||||||
|
myarrow/.style={
|
||||||
|
->,
|
||||||
|
>={Stealth[length=3mm, width=2mm]},
|
||||||
|
draw=black!80,
|
||||||
|
line width=1.2pt,
|
||||||
|
rounded corners=5pt
|
||||||
|
},
|
||||||
|
% Style for Background Dashed Circles
|
||||||
|
dashedloop/.style={
|
||||||
|
dashed,
|
||||||
|
draw=mygray,
|
||||||
|
line width=1pt
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
% --- Coordinate Layout ---
|
||||||
|
% Defining a grid relative to the center
|
||||||
|
|
||||||
|
% Left Loop (Green) Nodes
|
||||||
|
\node[greenbox, minimum width=3.5cm] (commerce) at (-3.5, 2) {Commerce Experiment};
|
||||||
|
\node[greenbox, minimum width=1.5cm] (raw) at (-6.5, 0) {Raw\\Logs};
|
||||||
|
\node[greenbox, minimum width=1.5cm] (features) at (-4, -2.5) {Features};
|
||||||
|
\node[greenbox, minimum width=2.5cm] (classification) at (-1, -0.5) {Classification\\Training A/H};
|
||||||
|
|
||||||
|
% Right Loop (Blue) Nodes
|
||||||
|
\node[bluebox, minimum width=2.5cm] (trainedpricing) at (2.5, 2) {Trained Pricing};
|
||||||
|
\node[bluebox, minimum width=2.5cm] (policy) at (5.5, 0) {Trained Pricing\\Policy};
|
||||||
|
\node[bluebox, minimum width=2.5cm] (rlgym) at (2.5, -2.2) {RL Gym\\Training};
|
||||||
|
|
||||||
|
% --- Background Dashed Loops ---
|
||||||
|
\begin{scope}[on background layer]
|
||||||
|
% Left Loop Circle
|
||||||
|
\draw[dashedloop] (-3.5, 0) ellipse (3.5cm and 2.8cm);
|
||||||
|
% Right Loop Circle
|
||||||
|
\draw[dashedloop] (3.5, 0) ellipse (3.5cm and 2.8cm);
|
||||||
|
\end{scope}
|
||||||
|
|
||||||
|
% --- Arrows: Loop One (Green) ---
|
||||||
|
% Commerce -> Raw Logs
|
||||||
|
\draw[myarrow] (commerce.west) to[out=180, in=90] (raw.north);
|
||||||
|
|
||||||
|
% Raw Logs -> Features
|
||||||
|
\draw[myarrow] (raw.south) to[out=270, in=180] (features.west);
|
||||||
|
|
||||||
|
% Features -> Classification
|
||||||
|
\draw[myarrow] (features.east) to[out=0, in=250] (classification.south);
|
||||||
|
|
||||||
|
% Classification -> Commerce (Closing the loop)
|
||||||
|
\draw[myarrow] (classification.north) to[out=110, in=0] (commerce.east);
|
||||||
|
|
||||||
|
% --- Arrows: Loop Two (Blue) ---
|
||||||
|
% Classification (Green) -> RL Gym (Blue) - Crossing over
|
||||||
|
\draw[myarrow] (classification.east) to[out=0, in=180] (rlgym.west);
|
||||||
|
|
||||||
|
% RL Gym -> Policy
|
||||||
|
\draw[myarrow] (rlgym.east) to[out=0, in=270] (policy.south);
|
||||||
|
|
||||||
|
% Policy -> Trained Pricing
|
||||||
|
\draw[myarrow] (policy.north) to[out=90, in=0] (trainedpricing.east);
|
||||||
|
|
||||||
|
% Trained Pricing -> Commerce (Crossing back)
|
||||||
|
\draw[myarrow] (trainedpricing.west) -- node[above, font=\sffamily\small, yshift=2pt] {New Pricing} (commerce.east);
|
||||||
|
|
||||||
|
% --- Text Labels ---
|
||||||
|
|
||||||
|
% Loop One Label
|
||||||
|
\node[font=\sffamily, align=center] at (-3.8, 0) {Loop One:\\Data \textit{(Online)}};
|
||||||
|
|
||||||
|
% Loop Two Label
|
||||||
|
\node[font=\sffamily, align=center] at (3.5, 0) {Loop Two:\\Defense Gym \textit{(Offline)}};
|
||||||
|
|
||||||
|
% Bottom Legend
|
||||||
|
\node[font=\sffamily\small] (taskA) at (-4, -4) {Dynamic Pricing Task A};
|
||||||
|
\node[font=\sffamily\small] (taskB) at (4, -4) {Dynamic Pricing Task B};
|
||||||
|
\node[font=\sffamily\small] (indep) at (0, -4) {Independent};
|
||||||
|
|
||||||
|
% Arrows for bottom legend
|
||||||
|
\draw[->, >=Stealth, thick, darkgray] (indep.west) -- (taskA.east);
|
||||||
|
\draw[->, >=Stealth, thick, darkgray] (indep.east) -- (taskB.west);
|
||||||
|
|
||||||
|
\end{tikzpicture}
|
||||||
Reference in New Issue
Block a user