Meeting Title: Inventory Snapshots Review Date: 2025-08-08 Meeting participants: pk.arthur, Emily Giant, Demilade Agboola
WEBVTT
1 00:01:07.210 ⇒ 00:01:08.510 Emily Giant: Hello!
2 00:01:11.590 ⇒ 00:01:13.740 pk.arthur: Hey, Emily, how are you feeling.
3 00:01:14.519 ⇒ 00:01:17.710 Emily Giant: I’m a lot better today. Let me check in on
4 00:01:18.700 ⇒ 00:01:22.680 Emily Giant: dum a lot it looks. I hope you feel better if you don’t.
5 00:01:22.950 ⇒ 00:01:28.270 Emily Giant: Oh, let me let me write him real quick, and let him know I’m back.
6 00:01:28.270 ⇒ 00:01:28.920 pk.arthur: Okay.
7 00:01:40.030 ⇒ 00:01:43.660 Emily Giant: Oh, I need to. I need to change my status on slack. That’s confusing.
8 00:01:44.210 ⇒ 00:01:45.929 Emily Giant: Oh, yeah, with the sick Emoji.
9 00:01:45.930 ⇒ 00:01:47.150 Emily Giant: There we go.
10 00:01:50.780 ⇒ 00:01:52.777 pk.arthur: I’m glad you feel much better.
11 00:01:53.590 ⇒ 00:01:55.104 Emily Giant: Thanks. It was
12 00:01:56.480 ⇒ 00:02:03.160 Emily Giant: I I’ve been on a medication for like 5 years, and I had to switch it in like
13 00:02:03.390 ⇒ 00:02:09.979 Emily Giant: very ill. So. It was luckily like not a something that lingers too much, I hope.
14 00:02:10.100 ⇒ 00:02:14.139 Emily Giant: but definitely a surprise.
15 00:02:14.140 ⇒ 00:02:14.970 pk.arthur: Can do it.
16 00:02:18.370 ⇒ 00:02:19.520 Emily Giant: Hello!
17 00:02:21.700 ⇒ 00:02:23.999 Demilade Agboola: Hello! How’s everyone doing?
18 00:02:25.230 ⇒ 00:02:27.990 Emily Giant: Much better today. I was telling Pk.
19 00:02:28.160 ⇒ 00:02:34.509 Emily Giant: Yesterday. I’ve been on the same medication for 5 years, and I had to switch it. And yesterday. It just made me like
20 00:02:34.920 ⇒ 00:02:39.530 Emily Giant: it was the 1st day that I switched, and I was like non-functional.
21 00:02:39.710 ⇒ 00:02:42.330 Emily Giant: So I feel a lot better today, thankfully. But.
22 00:02:43.590 ⇒ 00:02:44.669 Demilade Agboola: That’s great to hear.
23 00:02:45.030 ⇒ 00:02:46.940 Emily Giant: For the last minute changes.
24 00:02:48.100 ⇒ 00:02:54.169 Demilade Agboola: That’s great to hear. Your voice does sound a bit off, though. Yeah, hopefully, that gets better soon.
25 00:02:54.300 ⇒ 00:02:56.990 Emily Giant: Oh, yeah, it’s 1 of those where, like
26 00:02:57.625 ⇒ 00:03:04.469 Emily Giant: you should see here, I’ll show you my face like you can see it in my face. But I’m gonna turn my camera off because it’s like disturbing like.
27 00:03:04.470 ⇒ 00:03:05.210 pk.arthur: Hmm.
28 00:03:05.210 ⇒ 00:03:15.320 Emily Giant: My eyes are like all the wrong size it it’s not a good look, but I feel like much, much better, so
29 00:03:15.460 ⇒ 00:03:18.800 Emily Giant: like definitely capable of working, but like
30 00:03:19.080 ⇒ 00:03:22.400 Emily Giant: it makes you have, like vertigo
31 00:03:22.520 ⇒ 00:03:32.039 Emily Giant: a little bit. This put like when you. It was very strange, but and unforeseen. I don’t think I’ve ever taken a sick day before. I’m not kidding like ever.
32 00:03:32.452 ⇒ 00:03:35.860 Emily Giant: So, you know it’s bad when I, when I take a sick day.
33 00:03:36.320 ⇒ 00:03:40.780 pk.arthur: Yeah, hopefully get some rest. This weekend just relax and just unplug.
34 00:03:40.780 ⇒ 00:03:56.005 Emily Giant: It’s just to chill out a little bit. But Thursdays are like the absolute worst day to like, take off, because everything happens on Thursdays. So I’m like, Oh, gosh! What did not get done?
35 00:03:57.040 ⇒ 00:04:08.819 Emily Giant: Demo Lade! Were you able to make any progress on the forced upgrade thing or the snapshots. I’m curious how the the meeting went yesterday, or if you had to push it.
36 00:04:09.340 ⇒ 00:04:18.640 Demilade Agboola: Oh, no, we did have the meeting, and then I have some prs, for the snapshots. Basically.
37 00:04:18.640 ⇒ 00:04:19.740 Emily Giant: Oh, amazing!
38 00:04:19.930 ⇒ 00:04:22.670 Demilade Agboola: Yeah, I think I have.
39 00:04:22.990 ⇒ 00:04:35.360 Demilade Agboola: Is it 2 prs, one, I think it’s 1 pr, so I have one Pr for the snapshots. And basically, that is, that will track all the inventory. Mark tables.
40 00:04:35.870 ⇒ 00:04:37.689 Emily Giant: Sweet. Okay.
41 00:04:37.690 ⇒ 00:04:38.180 Demilade Agboola: He came.
42 00:04:38.180 ⇒ 00:04:42.050 Emily Giant: One of the stakeholders, too, that needed that snapshot data.
43 00:04:43.300 ⇒ 00:04:50.269 Emily Giant: Do you want to review the Pr, so we can just deploy it like this morning and keep an eye on it today, or would you rather wait till Monday.
44 00:04:53.016 ⇒ 00:05:00.759 Demilade Agboola: Normally. I’ll wait till Monday, but I think we can deploy this because there isn’t necessarily anything that is downstream of it. So
45 00:05:01.480 ⇒ 00:05:04.120 Demilade Agboola: does mess up? How can we break in stuff.
46 00:05:06.129 ⇒ 00:05:12.519 Emily Giant: Would you be able to share screen and like? Just show us the snapshots. I I would do it. But
47 00:05:12.820 ⇒ 00:05:26.200 Emily Giant: snapshots are like not something I’m terribly familiar with doing. And since Pk is going to be one of the stakeholders that uses it, might be useful to just give a little rundown in Dbt.
48 00:05:27.400 ⇒ 00:05:28.100 Demilade Agboola: Gotcha
49 00:05:29.720 ⇒ 00:05:33.060 Demilade Agboola: Give me one second cause I need to.
50 00:05:34.380 ⇒ 00:05:41.669 Demilade Agboola: The snapshots by themselves don’t necessarily always fully convey, or the snapshot logic by itself doesn’t convey everything
51 00:05:45.560 ⇒ 00:05:47.340 Demilade Agboola: share screen.
52 00:05:52.040 ⇒ 00:06:01.039 Demilade Agboola: Alright. So 1st things. First, st we have a math logic here.
53 00:06:02.210 ⇒ 00:06:04.549 Demilade Agboola: and in our march we have
54 00:06:05.900 ⇒ 00:06:10.069 Demilade Agboola: basically for each inventory number. Id.
55 00:06:11.207 ⇒ 00:06:16.640 Demilade Agboola: we have, like all the information about it. So the Netsuite lot id
56 00:06:16.940 ⇒ 00:06:19.940 Demilade Agboola: the fulfillment center location id all that stuff
57 00:06:20.380 ⇒ 00:06:25.190 Demilade Agboola: we have information about at that point in time, at the current point in time.
58 00:06:26.300 ⇒ 00:06:30.989 Demilade Agboola: The fiscal information, basically, like all the dates
59 00:06:33.070 ⇒ 00:06:37.789 Demilade Agboola: as well as like expiration, date, arrival, date, start date, all that stuff.
60 00:06:38.150 ⇒ 00:06:42.480 Emily Giant: We also have information about the product name product, skew, product, type.
61 00:06:42.910 ⇒ 00:06:44.139 Demilade Agboola: All that stuff.
62 00:06:44.590 ⇒ 00:06:56.789 Demilade Agboola: and then we have some of the actual numbers as well, so like the quantity on order purchased on purchase, order, and quantity on order, quantity, Presale committed all that stuff.
63 00:06:57.760 ⇒ 00:07:02.910 Demilade Agboola: and then we have, like some buffers, information, so care, buffer.
64 00:07:03.565 ⇒ 00:07:06.720 Demilade Agboola: consistency on hand, committed all that.
65 00:07:07.170 ⇒ 00:07:09.159 Demilade Agboola: Then we also have things like
66 00:07:09.360 ⇒ 00:07:13.440 Demilade Agboola: the total quantity sold total subscription quantity.
67 00:07:13.620 ⇒ 00:07:18.109 Demilade Agboola: We have the uncommitted quantity sold. So in that case that would be
68 00:07:18.828 ⇒ 00:07:21.069 Demilade Agboola: things done, though we’re not
69 00:07:22.090 ⇒ 00:07:26.100 Demilade Agboola: the lot id that was sold to fulfill it.
70 00:07:26.990 ⇒ 00:07:33.810 Demilade Agboola: So, on coming to quantity, sold uncommon test of pitch on quantity, redelivery quantity, sale quantity. All that stuff basically
71 00:07:33.950 ⇒ 00:07:37.750 Demilade Agboola: then committed, quantity sold, canceled quantity, sold,
72 00:07:40.350 ⇒ 00:07:47.330 Demilade Agboola: cancel, subscription quantity all that. And then we have like the adjustment types. So everything’s in here.
73 00:07:47.570 ⇒ 00:07:50.359 Demilade Agboola: We also have things like available for sale.
74 00:07:51.691 ⇒ 00:07:59.099 Demilade Agboola: And then we have, like the lot balance. So that’s the quantity received minus, you know, these values?
75 00:08:02.250 ⇒ 00:08:07.860 Demilade Agboola: All that said. So we’re tracking this. So this table basically runs every
76 00:08:08.180 ⇒ 00:08:11.579 Demilade Agboola: about 30 min. I think I I might need to.
77 00:08:11.790 ⇒ 00:08:12.760 Emily Giant: It’s exactly.
78 00:08:13.790 ⇒ 00:08:23.420 Demilade Agboola: Yeah. And then, the new desires coming in through the ingest on process is every 30 min so effectively every 30 min. It’s just giving you the latest value
79 00:08:23.730 ⇒ 00:08:25.210 Demilade Agboola: as at that time.
80 00:08:25.550 ⇒ 00:08:34.029 Demilade Agboola: but obviously, potentially, we might need to see what the values were yesterday, or you know, or the day before.
81 00:08:34.320 ⇒ 00:08:40.089 Demilade Agboola: And we lose track of that because we’re only giving you the information at that point in time.
82 00:08:40.470 ⇒ 00:08:48.760 Demilade Agboola: So for that, I created some snapshots which for this table basically is saying, Hey.
83 00:08:48.960 ⇒ 00:08:53.800 Demilade Agboola: I want you to create a snapshot called like a table called this
84 00:08:54.645 ⇒ 00:09:02.360 Demilade Agboola: so it’s going to be called Sn Snp, then the name of the table. So that way, you just know it’s a snapshot of that table. Directly
85 00:09:03.370 ⇒ 00:09:11.270 Demilade Agboola: I want this to be target database or analytics will be the target base. But I want you to target the schema snapshot. So you’d
86 00:09:11.670 ⇒ 00:09:17.130 Demilade Agboola: find all the snapshots in analytics, dot snapshots, dot table name which will be this.
87 00:09:18.310 ⇒ 00:09:23.799 Demilade Agboola: the strategy will be us trying to check against the unique key of this value.
88 00:09:23.950 ⇒ 00:09:27.029 pk.arthur: And for every time a column changes.
89 00:09:27.130 ⇒ 00:09:32.960 Demilade Agboola: So the value is not the same as the previous on the previous run. So give us
90 00:09:33.890 ⇒ 00:09:39.530 Demilade Agboola: like, let us know what the the changes basically so invalidate the previous.
91 00:09:39.760 ⇒ 00:09:44.370 Demilade Agboola: the previous role. And let us know the active role right now.
92 00:09:44.823 ⇒ 00:10:00.369 Demilade Agboola: Emily did say she wanted us to be able to view it on like a day to day basis. So not like. So this will do every Dbt. Run, which is every 30 min. But the idea of this is. Once this runs, I will then create a
93 00:10:01.800 ⇒ 00:10:10.809 Demilade Agboola: a, a model that is built off this, where I will just rank it on a day to day basis. So the 1st value every single day is what I will count as
94 00:10:11.410 ⇒ 00:10:19.990 Demilade Agboola: the value of that day, and then we’ll ignore all the changes that occurred every like 30 min or hour, or whatever frequency they occurred at
95 00:10:20.805 ⇒ 00:10:27.120 Demilade Agboola: and so yeah, that would just give us the snapshot of this table, which is what we looked at before.
96 00:10:27.560 ⇒ 00:10:33.935 Demilade Agboola: and then we also have an adjustments table which I feel we should consolidate. By the way.
97 00:10:34.310 ⇒ 00:10:34.960 Emily Giant: Hmm.
98 00:10:35.170 ⇒ 00:10:40.440 Demilade Agboola: Where we have, you know, quite similar information as well.
99 00:10:41.140 ⇒ 00:10:43.400 Demilade Agboola: But we basically.
100 00:10:43.400 ⇒ 00:10:46.351 Emily Giant: At the suborder level instead of the lot level.
101 00:10:46.960 ⇒ 00:10:47.440 Demilade Agboola: See?
102 00:10:47.440 ⇒ 00:10:55.900 Demilade Agboola: Yeah, so yeah, we have all the numbers, shrinkage, all that stuff.
103 00:10:57.037 ⇒ 00:11:04.309 Demilade Agboola: Yeah. So that’s basically that. And then also, I also have a snapshot of it, as well.
104 00:11:05.050 ⇒ 00:11:18.300 Emily Giant: Nice. I only one call out, can you add to unique keys? Does. Can it be more than one column, because inventory number Id won’t exist on the non loaded products.
105 00:11:19.800 ⇒ 00:11:22.180 Emily Giant: So that’s gonna definitely not be unique.
106 00:11:23.570 ⇒ 00:11:28.799 Emily Giant: But there is in the new deployment that I’ll do this morning, or probably
107 00:11:29.340 ⇒ 00:11:35.599 Emily Giant: maybe this morning to this afternoon. There’s going to be a surrogate key in this model that will be unique.
108 00:11:36.360 ⇒ 00:11:38.200 Emily Giant: And it’s a surrogate key.
109 00:11:40.540 ⇒ 00:11:47.480 Demilade Agboola: Okay, so I can’t actually run it right now, I guess what Sergey made of.
110 00:11:47.920 ⇒ 00:11:53.990 Emily Giant: It’s made of the inventory number. Id the item id the location id.
111 00:11:54.290 ⇒ 00:11:57.053 Emily Giant: let me pull it up online just to make sure
112 00:11:57.680 ⇒ 00:12:10.080 Emily Giant: but non loaded products. It adds, like enough detail level, that that it is unique. I want to say there’s date also, because with non loaded stuff, it’s very like
113 00:12:10.210 ⇒ 00:12:13.129 Emily Giant: reliant on the date to be unique.
114 00:12:13.600 ⇒ 00:12:16.839 Emily Giant: since they just get like exist throughout time.
115 00:12:22.560 ⇒ 00:12:26.000 Emily Giant: Sorry I’m having to restart my IE.
116 00:12:44.190 ⇒ 00:12:46.534 Emily Giant: Still tracking it down.
117 00:13:00.230 ⇒ 00:13:03.674 Emily Giant: Sorry. I’m like having to go upstream to find where it’s actually made.
118 00:13:09.670 ⇒ 00:13:22.690 Emily Giant: Okay, so it’s a little strange, because there are sales. And then there are like reconciliations. That’s not gonna matter here. But it’s like a different surrogate key based on which table it came from
119 00:13:26.890 ⇒ 00:13:34.929 Emily Giant: and for reconciliations. It’s inventory number item, adjustment, id.
120 00:13:39.800 ⇒ 00:13:41.380 Demilade Agboola: Should we have adjustment? Id.
121 00:13:41.380 ⇒ 00:13:45.044 Emily Giant: Not yet like you’d have to go into my product type. Other
122 00:13:45.790 ⇒ 00:13:50.219 Emily Giant: I can update it, though once it once I deploy this.
123 00:13:50.720 ⇒ 00:13:51.600 Demilade Agboola: Okay.
124 00:13:52.500 ⇒ 00:13:58.968 Emily Giant: So. And can you write surrogate key? Because even even that
125 00:13:59.550 ⇒ 00:14:05.410 Emily Giant: that’s how I test it in the Yaml file is with the surrogate key. So.
126 00:14:05.410 ⇒ 00:14:05.890 Demilade Agboola: So.
127 00:14:05.890 ⇒ 00:14:07.050 Emily Giant: Yeah.
128 00:14:07.050 ⇒ 00:14:10.940 Demilade Agboola: As long as the what’s it called the
129 00:14:12.260 ⇒ 00:14:20.829 Demilade Agboola: the column exists in the like in the table, the final table. As long as there’s a surrogate key column. Yeah, you could just use surrogate key to replace this.
130 00:14:21.110 ⇒ 00:14:23.640 Emily Giant: I’ll just do that when when the time comes.
131 00:14:24.430 ⇒ 00:14:25.540 Demilade Agboola: Sounds good.
132 00:14:25.950 ⇒ 00:14:34.889 Emily Giant: Can we check out what it looks like? Oh, you’re already a step ahead of me. I wanted to show Pk what it looks like. The snapshot.
133 00:14:36.145 ⇒ 00:14:39.290 Demilade Agboola: So we don’t have this live yet. But I could show
134 00:14:39.410 ⇒ 00:14:44.119 Demilade Agboola: the snapshot that we have of the negative Afs.
135 00:14:44.120 ⇒ 00:14:44.840 Emily Giant: Yeah.
136 00:14:45.210 ⇒ 00:14:54.740 Demilade Agboola: So just for context. Each of the
137 00:14:54.880 ⇒ 00:15:01.190 Demilade Agboola: lot like each lot, should not have a negative available for sale. But sometimes that does happen.
138 00:15:02.153 ⇒ 00:15:12.699 Demilade Agboola: And so just to keep track of when that happened, and for us to be able to investigate it. We tried taking track of the negative airfs
139 00:15:12.810 ⇒ 00:15:17.420 Demilade Agboola: values so snapshots.
140 00:15:30.460 ⇒ 00:15:37.519 Emily Giant: So while you’re pulling that up, I have a question so he’ll be like interfacing. He uses dbt also. Pk does but
141 00:15:37.950 ⇒ 00:15:49.800 Emily Giant: for sharing it with stakeholders. He’ll have it in looker. Will the snapshot have, like its own set of date filters where you’re like snapshot data is from this, and then you query the other fields from like.
142 00:15:50.320 ⇒ 00:15:57.839 Emily Giant: or How how do I say this like? Is it its own explore, or can you cross-reference it with other stuff?
143 00:16:00.570 ⇒ 00:16:10.480 Demilade Agboola: I mean, you can make it its own explore. Ultimately, it’s just the same way we have a table in Dvt and like in redshift.
144 00:16:11.220 ⇒ 00:16:14.769 Demilade Agboola: It’s its own table. The only difference is.
145 00:16:15.750 ⇒ 00:16:19.459 Demilade Agboola: it will have what’s it called?
146 00:16:19.900 ⇒ 00:16:23.509 Demilade Agboola: It would have Dbt Creator columns, for.
147 00:16:23.700 ⇒ 00:16:37.670 Demilade Agboola: like the value from to value 2. So what that means is value from is, on this day. This was when it was. It had a negative Afs value 2 just means. Does it like, what day did that stop
148 00:16:38.100 ⇒ 00:16:39.250 Demilade Agboola: being true?
149 00:16:39.390 ⇒ 00:16:42.050 Demilade Agboola: So if it’s null, I mean, it’s currently true.
150 00:16:43.670 ⇒ 00:16:45.379 Emily Giant: Okay, Gotcha, that’s what I was
151 00:16:45.580 ⇒ 00:16:51.399 Emily Giant: asking or attempting to ask was like, how dates would affect the other
152 00:16:51.580 ⇒ 00:16:56.120 Emily Giant: information that you’re querying because he’s going to use it to like
153 00:16:57.207 ⇒ 00:17:01.592 Emily Giant: to look at delivery data and purchase data. And
154 00:17:02.620 ⇒ 00:17:05.440 Emily Giant: I don’t want the dates in
155 00:17:05.859 ⇒ 00:17:13.450 Emily Giant: looker to obscure what’s in the table. So I’m trying to figure out like what needs to be in Dbt, and what can be
156 00:17:13.579 ⇒ 00:17:15.879 Emily Giant: joined in Looker.
157 00:17:18.119 ⇒ 00:17:25.249 Demilade Agboola: Yeah, is there any setting? Is there any use case that you have for it like
158 00:17:25.679 ⇒ 00:17:30.669 Demilade Agboola: that? You need to be? Use the snapshot data. So I can have an idea of how you would need to use it.
159 00:17:31.380 ⇒ 00:17:33.279 Emily Giant: Yes, go for it. Pk.
160 00:17:33.280 ⇒ 00:17:34.620 pk.arthur: Yeah, so
161 00:17:35.570 ⇒ 00:17:44.200 pk.arthur: we found out that majority of our customers, are late planners, essentially so like they don’t plan to like purchase
162 00:17:44.450 ⇒ 00:17:56.370 pk.arthur: and have it delivered by 3 days out. So we found out that also, our conversion rates depend on like what’s available like in inventory. Right? So let’s say someone’s trying to order a rose.
163 00:17:56.510 ⇒ 00:18:10.650 pk.arthur: and we don’t have roses available like on Thursday. That would ultimately affect the conversion rate. So we want to see what’s what’s basically available at all. Lots at any point in time to be able to like, actually promote them or not.
164 00:18:12.050 ⇒ 00:18:13.616 Demilade Agboola: Okay, okay,
165 00:18:17.610 ⇒ 00:18:20.270 Demilade Agboola: I’m trying to think of how.
166 00:18:23.610 ⇒ 00:18:25.030 Demilade Agboola: So. But like.
167 00:18:25.360 ⇒ 00:18:31.759 Demilade Agboola: doesn’t that sound like what you need is the current value rather than the historic value. Just so, I’m clear.
168 00:18:32.660 ⇒ 00:18:36.530 Emily Giant: Not necessarily because they want to know at the moment it was purchased.
169 00:18:37.010 ⇒ 00:18:43.900 Emily Giant: what it looks like, and as of. Now, if you look at a table and they purchased it yesterday. You’re just going to see today’s values.
170 00:18:49.480 ⇒ 00:18:56.469 Demilade Agboola: So if they, if they purchased it yesterday, you’ll see today’s values. But isn’t today’s values. What you want to use to be able to say, Hey.
171 00:18:56.880 ⇒ 00:18:59.010 Demilade Agboola: we can push out like we can.
172 00:18:59.710 ⇒ 00:19:06.419 Demilade Agboola: That’s what I’m trying to. I’m trying to. I guess that’s my big stock is if you’re trying to like, advertise, or like, push out
173 00:19:06.650 ⇒ 00:19:08.670 Demilade Agboola: things that you currently have in stock.
174 00:19:09.400 ⇒ 00:19:13.320 Emily Giant: Values that you need rather than historic values.
175 00:19:14.240 ⇒ 00:19:18.730 Emily Giant: That’s 1 use case for sure. But what they’re trying to do is like.
176 00:19:19.300 ⇒ 00:19:26.829 Emily Giant: figure out if we need to change like the dates of inventory arrivals, and
177 00:19:27.100 ⇒ 00:19:29.516 Emily Giant: and if so, to what?
178 00:19:30.500 ⇒ 00:19:35.669 Emily Giant: And also like. Look at conversion, based on like
179 00:19:35.840 ⇒ 00:19:38.710 Emily Giant: what was available in the moment of purchase.
180 00:19:39.228 ⇒ 00:19:57.490 Emily Giant: So you can open up. For example, you can change the windows like the delivery windows that are available for an area to make different inventory available to that customer. It’s all that kind of like really nuanced tweaking that would need to look at
181 00:19:57.800 ⇒ 00:20:05.028 Emily Giant: that inventory state also. One of the bigger use cases for both Pk and Jessica Campbell is
182 00:20:05.660 ⇒ 00:20:12.699 Emily Giant: non-optimal allocation of orders. So they want to know if our system is like appropriately
183 00:20:13.250 ⇒ 00:20:16.466 Emily Giant: allocating orders to fulfillment centers,
184 00:20:18.000 ⇒ 00:20:20.520 Emily Giant: and to know you’d have to know if
185 00:20:21.230 ⇒ 00:20:39.820 Emily Giant: like a product was available at a given time, because we could have a hundred Mariposa at noon yesterday, and if someone in Indiana had an order fulfilled in Washington State. But the Mariposa sold out overnight, which happens very frequently. Then that’s kind of
186 00:20:40.351 ⇒ 00:21:00.559 Emily Giant: misleading, because it should have sent the order to Chicago, and it didn’t. You know what I mean, like we, we need to know if it’s like against the values that were available at certain fulfillment centers at the time of purchase. That’s really what’s necessary for the non optimal location analysis, which is like one of the number one
187 00:21:01.280 ⇒ 00:21:04.529 Emily Giant: things that we don’t have and need.
188 00:21:04.670 ⇒ 00:21:11.839 Emily Giant: And this is all like nicely documented in a ticket. I’ve had meetings with both Pk and Jessica to make sure that, like
189 00:21:12.430 ⇒ 00:21:24.409 Emily Giant: we really get it down what they need it for. So it’s definitely like the moment of purchase snapshot for a couple of the use cases. But I hear what you’re saying with like marketing
190 00:21:24.620 ⇒ 00:21:31.279 Emily Giant: for that day definitely needs to be current state. So it’s both. I’m just trying to figure out in my head like
191 00:21:32.390 ⇒ 00:21:33.919 Emily Giant: if Looker is gonna
192 00:21:34.500 ⇒ 00:21:41.929 Emily Giant: be crappy because it can be so crappy with dates if you don’t build them like directly into the Dbt.
193 00:21:43.380 ⇒ 00:21:46.180 Demilade Agboola: Yeah, in that case, what we can do is
194 00:21:49.220 ⇒ 00:21:56.069 Demilade Agboola: so dbt you, you can flatten it. What I mean by flatten is so you see how like
195 00:21:57.420 ⇒ 00:22:00.120 Demilade Agboola: we can see the valid from
196 00:22:00.950 ⇒ 00:22:06.810 Demilade Agboola: and value to date. That means every day in between. The value. The value has been the same.
197 00:22:08.240 ⇒ 00:22:10.880 Demilade Agboola: So these negative values have been negative for the past
198 00:22:11.500 ⇒ 00:22:13.880 Demilade Agboola: one month or 2 months. At this point.
199 00:22:15.350 ⇒ 00:22:20.710 Demilade Agboola: So effectively. What I you can do is you can join it to a date spine
200 00:22:21.460 ⇒ 00:22:34.099 Demilade Agboola: and then it flatten. So what you do is that the value every day? Just kind of so on this dates. The value was this number on that date. The value was that number on that date. The value was this number. So now you have a flattened
201 00:22:34.660 ⇒ 00:22:37.700 Demilade Agboola: view of it, which is kind of like.
202 00:22:38.690 ⇒ 00:22:52.290 Demilade Agboola: yeah, I like, which is what I was trying to say earlier about the whole. We’ll pick the 1st value on every day, and just ensure that what we’re doing is on the, on, the on. Every day. We can show the what the value.
203 00:22:53.440 ⇒ 00:22:57.960 Demilade Agboola: like what the different values were at the beginning of the day. On each day.
204 00:22:59.860 ⇒ 00:23:03.200 Emily Giant: Yeah, that sounds that sounds like what we’re looking for.
205 00:23:03.380 ⇒ 00:23:09.230 Emily Giant: And so it’s like a hard value. It’s like a number instead of a date. Almost, if that makes sense.
206 00:23:10.810 ⇒ 00:23:14.419 Demilade Agboola: It’s a date against the value. Sorry it’s in value against basically.
207 00:23:14.860 ⇒ 00:23:20.569 Emily Giant: Okay, gotcha, yeah, does that sound correct? Pk, like what you’re looking for? That sounds correct to me.
208 00:23:22.670 ⇒ 00:23:24.290 pk.arthur: I believe so, too. Yeah.
209 00:23:24.590 ⇒ 00:23:32.850 Demilade Agboola: Okay, yes, that will be how it works. So we’ll take the snapshot and we’ll flatten it, and then you can take handle it in. Looker.
210 00:23:33.020 ⇒ 00:23:33.490 Demilade Agboola: how’s your.
211 00:23:33.490 ⇒ 00:23:34.020 pk.arthur: Okay.
212 00:23:35.264 ⇒ 00:23:39.379 Demilade Agboola: So once. Actually, in that case, I should just like make the snapshots go live.
213 00:23:39.690 ⇒ 00:23:43.059 Demilade Agboola: And then next week we can kind of
214 00:23:45.149 ⇒ 00:23:49.770 Demilade Agboola: flats in it and just get things running.
215 00:23:50.410 ⇒ 00:23:51.579 Demilade Agboola: I’ll keep an eye on it.
216 00:23:54.600 ⇒ 00:23:55.380 Emily Giant: Okay.
217 00:23:55.580 ⇒ 00:23:56.279 Demilade Agboola: All right.
218 00:23:57.070 ⇒ 00:24:04.779 Emily Giant: Yeah, that sounds good. And then if I wanted to change the cadence of the snapshot getting flattened like to twice a day.
219 00:24:05.540 ⇒ 00:24:07.049 Demilade Agboola: How does one do that?
220 00:24:07.740 ⇒ 00:24:15.430 Demilade Agboola: So the the model, though flat it that we would have to create it? And then we can create a schedule for that in particular.
221 00:24:15.700 ⇒ 00:24:17.070 Emily Giant: Okay. Gotcha.
222 00:24:17.710 ⇒ 00:24:26.730 Demilade Agboola: Yeah. So it’s we can just make it run at the beginning of the day, or whatever cadence we want, and just go, hey, run this model
223 00:24:27.210 ⇒ 00:24:28.530 Demilade Agboola: at this time.
224 00:24:29.890 ⇒ 00:24:35.339 Demilade Agboola: It will just do it, basically off of the snapshot data.
225 00:24:36.230 ⇒ 00:24:44.000 Emily Giant: Alright, yeah, that’s that’s good. I just wanna make sure that in case Jessica like needs, I know. Pk, and Chris said, like they only need
226 00:24:44.320 ⇒ 00:24:54.049 Emily Giant: the the cadence of like once a day. But, Jessica, I just have a feeling, she said. Once I have a feeling she’ll change her mind to like once in the morning, and once right before.
227 00:24:54.970 ⇒ 00:24:55.840 Demilade Agboola: Like, so.
228 00:24:55.840 ⇒ 00:24:57.190 Emily Giant: What the cutoff is.
229 00:24:57.610 ⇒ 00:25:03.790 Demilade Agboola: Alright, so that if we’re gonna do it by, how do I put it?
230 00:25:04.622 ⇒ 00:25:12.880 Demilade Agboola: So since it runs every 30 min? Right? So let’s say we have the firecracker frames does.
231 00:25:13.685 ⇒ 00:25:15.960 Demilade Agboola: If at the beginning of the day
232 00:25:16.410 ⇒ 00:25:23.122 Demilade Agboola: the number like a particular number, let’s just pick the quantity available right of the
233 00:25:23.900 ⇒ 00:25:27.820 Demilade Agboola: if the availability for sale was, say, 30.
234 00:25:28.510 ⇒ 00:25:30.320 Demilade Agboola: And then an hour later.
235 00:25:30.786 ⇒ 00:25:35.989 Demilade Agboola: that’s like 2 Dbt runs. Later, the the current available for sale is now, say, 25,
236 00:25:36.390 ⇒ 00:25:40.070 Demilade Agboola: and then 2 h later. It’s now, say, 20.
237 00:25:41.170 ⇒ 00:25:49.260 Demilade Agboola: Dbt. On each run that the value has changed. We’ll track it and give Will put the value to.
238 00:25:50.530 ⇒ 00:25:54.510 Demilade Agboola: as did the time it ran, and then create a new rule.
239 00:25:54.920 ⇒ 00:25:59.349 Demilade Agboola: Put the new values and go. This is the value valid from
240 00:25:59.490 ⇒ 00:26:07.530 Demilade Agboola: the value 2 is null, then, on the you know, another subsequent run. When it has changed, it will nullify that previous row, and.
241 00:26:07.530 ⇒ 00:26:08.330 Emily Giant: Okay.
242 00:26:08.580 ⇒ 00:26:10.479 Demilade Agboola: So effectively you are, gonna have
243 00:26:11.390 ⇒ 00:26:20.579 Demilade Agboola: the changes as they are occurring. Well, not as they are occurring, but as close to as as close to when they occur as possible. Now, that is going to be a lot of data.
244 00:26:21.570 ⇒ 00:26:25.920 Demilade Agboola: Because, like, I said, if it’s every 30 min, and I know, like urban stem states are most quickly.
245 00:26:26.170 ⇒ 00:26:43.859 Demilade Agboola: Those changes will be recorded there now. Just so. Not the idea of flattening and trying to like Pick. Just the 1st value that occurred on the 1st Dbt run that day is so that it doesn’t become too overwhelming in like trying to like use it.
246 00:26:44.275 ⇒ 00:26:51.849 Demilade Agboola: So the reason why I say all of that is, if you run, if we create the model that way, and you run it
247 00:26:51.990 ⇒ 00:26:57.329 Demilade Agboola: again at the end of the day. It will still only pick the 1st value that occurred
248 00:26:58.060 ⇒ 00:26:59.360 Demilade Agboola: in the morning.
249 00:27:00.680 ⇒ 00:27:02.250 Emily Giant: Yeah, okay, that makes sense.
250 00:27:02.250 ⇒ 00:27:03.459 Demilade Agboola: Unless you want to change.
251 00:27:03.460 ⇒ 00:27:04.000 Emily Giant: No worries.
252 00:27:04.000 ⇒ 00:27:11.149 Demilade Agboola: Of what we’re looking at. So maybe you want to do hourly instead of daily. So the 1st value that occurred at that hour.
253 00:27:13.860 ⇒ 00:27:15.489 Demilade Agboola: Data though which.
254 00:27:15.490 ⇒ 00:27:19.500 Emily Giant: Yeah, it’s too much aquarium, really difficult.
255 00:27:19.730 ⇒ 00:27:22.450 Demilade Agboola: Yeah, for every day. That’ll be 24 h.
256 00:27:22.850 ⇒ 00:27:25.620 Demilade Agboola: and, like you just have that multiplied by HD.
257 00:27:25.950 ⇒ 00:27:29.449 Emily Giant: Yeah, I think 2 would be the maximum, maybe, like
258 00:27:29.750 ⇒ 00:27:36.789 Emily Giant: midnight and noon, or something like that, would be all that’s really necessary. But probably one is fine
259 00:27:37.220 ⇒ 00:27:39.482 Emily Giant: as long as it’s updating the
260 00:27:41.140 ⇒ 00:27:52.819 Emily Giant: So if I’m understanding, just making sure, like the value in the morning won’t change. But if it stocks out that will like the number when it runs, will update.
261 00:27:55.460 ⇒ 00:27:56.720 Demilade Agboola: Can you repeat that.
262 00:27:56.720 ⇒ 00:28:10.759 Emily Giant: Sure. So I know that the number in the morning, like the Max value from when it runs the 1st time that day. That sounds like it’s not going to change which we don’t want it to, but the
263 00:28:12.260 ⇒ 00:28:14.039 Emily Giant: if the value
264 00:28:14.340 ⇒ 00:28:27.940 Emily Giant: is there like a starting value, and then an ending value like if it stocks out and goes to 0. Is that going to just be captured the next day? Or is there another column that’s like. This is what it was. This is what it is
265 00:28:28.610 ⇒ 00:28:33.375 Emily Giant: now, but I guess if it runs only once a day, then you’re only getting the one value.
266 00:28:34.820 ⇒ 00:28:35.370 Demilade Agboola: So.
267 00:28:35.370 ⇒ 00:28:39.159 Emily Giant: For stock out analysis that would be interesting to have.
268 00:28:39.570 ⇒ 00:28:44.330 Emily Giant: like an incremental run where you have the static starting value.
269 00:28:45.320 ⇒ 00:28:51.800 Demilade Agboola: So let me give you an like a visual. So sometimes I think it’s best. As Emily
270 00:28:52.020 ⇒ 00:28:54.900 Demilade Agboola: knows, I like to like visualize stuff.
271 00:28:55.690 ⇒ 00:29:02.889 Demilade Agboola: As it’s. I think sometimes when we’re talking with numbers and stuff, it can be very easy to get lost in certain things. So
272 00:29:04.040 ⇒ 00:29:05.710 Demilade Agboola: I’m just trying to show you what
273 00:29:06.710 ⇒ 00:29:10.679 Demilade Agboola: we will be doing. So let’s say, we have ABC as lot id.
274 00:29:11.810 ⇒ 00:29:15.020 Demilade Agboola: So this value, basically.
275 00:29:16.710 ⇒ 00:29:23.389 Demilade Agboola: let’s say, the Afs on certain days changes, so let’s say, on the 1st day it has 50,
276 00:29:23.680 ⇒ 00:29:39.539 Demilade Agboola: but 1st at a certain time, so 2025, 0, 8, 1 or 2 doesn’t really matter.
277 00:29:39.750 ⇒ 00:29:46.320 Demilade Agboola: I’d like to see 13 0, 0, sure. Sure. So one pm.
278 00:29:46.690 ⇒ 00:29:52.219 Demilade Agboola: this was the value. This was when Dbt ran. And you notice that this is the value present here.
279 00:29:53.780 ⇒ 00:29:56.609 Demilade Agboola: If on the run, at save
280 00:29:57.050 ⇒ 00:30:05.850 Demilade Agboola: 2 o’clock, right, he notices that there are 40, 45, it will then say, Hey, this value.
281 00:30:06.150 ⇒ 00:30:12.369 Demilade Agboola: as at 2 o’clock, is now this.
282 00:30:12.780 ⇒ 00:30:19.439 Demilade Agboola: and this row is only valid up till this point. So we know that for this value only existed for 1 h.
283 00:30:20.880 ⇒ 00:30:24.050 Demilade Agboola: And the fact that it’s not here means that this is the current value.
284 00:30:24.580 ⇒ 00:30:32.289 Demilade Agboola: Right? So let’s say, this value stays the same way until the following day, where it’s now the Afs is now, say 35,
285 00:30:32.630 ⇒ 00:30:42.470 Demilade Agboola: and so now on, let’s say the the 3rd
286 00:30:45.890 ⇒ 00:30:47.560 Demilade Agboola: 2 am. In the morning.
287 00:30:48.390 ⇒ 00:30:49.869 Demilade Agboola: This is the value.
288 00:30:50.170 ⇒ 00:30:53.960 Demilade Agboola: We can then put this as the null value. And so we know this is the current value.
289 00:30:54.420 ⇒ 00:31:02.400 Demilade Agboola: So let’s just put a couple more random examples. So 2520 and 15.
290 00:31:03.625 ⇒ 00:31:09.310 Demilade Agboola: So let’s see, this becomes on the 4.th
291 00:31:13.680 ⇒ 00:31:16.960 Demilade Agboola: Not definitely 34, th oh, yeah.
292 00:31:17.470 ⇒ 00:31:18.870 Emily Giant: The 34.th
293 00:31:19.590 ⇒ 00:31:23.740 Demilade Agboola: This becomes the 5.th
294 00:31:25.480 ⇒ 00:31:28.449 Demilade Agboola: And this becomes, let’s say, the 6th right?
295 00:31:28.900 ⇒ 00:31:32.810 Demilade Agboola: Obviously, the changes will be more frequent. But I’m just trying to give us an example of what’s going on.
296 00:31:33.847 ⇒ 00:31:38.500 Demilade Agboola: So let’s see, this becomes this.
297 00:31:39.030 ⇒ 00:31:46.300 Demilade Agboola: And this becomes this. So now we come here and we see that oh, we’ve had changes all through from the second all the way to the
298 00:31:46.610 ⇒ 00:31:47.490 Demilade Agboola: fixed.
299 00:31:47.850 ⇒ 00:31:56.900 Demilade Agboola: What we’re trying to now do is we’re going to say, Hey, this is the snapshot date.
300 00:31:57.370 ⇒ 00:32:03.429 Demilade Agboola: So this is like, historically speaking, what was the value at that point in time?
301 00:32:03.680 ⇒ 00:32:05.739 Demilade Agboola: So we’re going to come and say, Hey.
302 00:32:07.220 ⇒ 00:32:15.510 Demilade Agboola: because there are 2 values for the second of for the second of
303 00:32:16.100 ⇒ 00:32:21.380 Demilade Agboola: August we’ll say he took the 1st value, so we’ll say on the 1st day.
304 00:32:23.136 ⇒ 00:32:28.300 Demilade Agboola: Which is 2025, 0, 8 or 2.
305 00:32:28.610 ⇒ 00:32:43.580 Demilade Agboola: The value was 50, but because it was the 1st day, and this was the first.st This was the 1st value. And this is the second value. We will therefore ignore this and just basically hop until the second day and just be like, okay, so on the second day
306 00:32:44.350 ⇒ 00:32:45.639 Demilade Agboola: what happened?
307 00:32:45.840 ⇒ 00:32:48.910 Demilade Agboola: We had a value of
308 00:32:52.390 ⇒ 00:33:10.629 Demilade Agboola: of 35, because on this day we could see it. And then we can just basically now do it for each day. So even if they’re like 20 changes in the day, it would always. We’ll always just pick that 1st value from that day, because we’ll use a window function to filter it down to only the 1st value
309 00:33:11.004 ⇒ 00:33:25.840 Demilade Agboola: and then so we can see what the change was at the beginning of the day there were 50 available for sale. At the beginning of the next day there were 35 available for sale at the beginning of the day after. It was so like. No matter how many changes occur within that day.
310 00:33:26.350 ⇒ 00:33:30.590 Demilade Agboola: we would only try to use the 1st change that happened
311 00:33:30.770 ⇒ 00:33:33.399 Demilade Agboola: like the not the 1st value
312 00:33:33.960 ⇒ 00:33:36.810 Demilade Agboola: that Dbt saw at the beginning of the day. Basically.
313 00:33:38.800 ⇒ 00:33:40.199 Demilade Agboola: So that way, we can.
314 00:33:41.680 ⇒ 00:33:52.509 pk.arthur: I was. Gonna say, that’s I think I think the visual definitely helped me to understand better. Just from like our perspective and our point of view. Is there a reason why we’re using like the 1st valley? Because
315 00:33:52.770 ⇒ 00:34:00.399 pk.arthur: we want to know, like, basically at any given point. So like, let’s say, on the second of August, right? It goes from 50
316 00:34:00.540 ⇒ 00:34:05.470 pk.arthur: at one Pm. To like 15 at 7 pm.
317 00:34:06.398 ⇒ 00:34:12.860 pk.arthur: For our purposes. I think it might be better if we just know, like what’s available like at 7 pm. You know what I mean.
318 00:34:13.969 ⇒ 00:34:18.459 Demilade Agboola: Okay, so you wanna have, basically by the hour.
319 00:34:19.873 ⇒ 00:34:34.109 pk.arthur: Maybe like every hour might be just too too much to do, if that’s possible. But like, if we could have it by the hour that would definitely be helpful to just just to know, like what’s available in terms of like, what what should go in our ads and whatnot.
320 00:34:34.560 ⇒ 00:34:38.810 Demilade Agboola: Okay, that’s fine, like, if we want to do by the hour that that’s also very doable.
321 00:34:39.670 ⇒ 00:34:43.429 Demilade Agboola: in that case, what we will do is
322 00:34:43.850 ⇒ 00:34:52.050 Demilade Agboola: we will add a new as a column left hour, and then basically.
323 00:34:52.440 ⇒ 00:34:56.420 Demilade Agboola: it would start off at maybe in this case, to start off at 13.
324 00:34:58.950 ⇒ 00:35:02.050 Demilade Agboola: Sorry. Let me just take it to view.
325 00:35:02.711 ⇒ 00:35:09.890 pk.arthur: Emily, what do you think I so like? I’m not quite familiar with, like the inventory data, but I don’t know if the hours like to like very frequent like. I don’t know if
326 00:35:10.427 ⇒ 00:35:12.449 pk.arthur: it changes from hour to hour.
327 00:35:12.450 ⇒ 00:35:19.149 Emily Giant: Data. I would say, it’s a lot of data to query in that like.
328 00:35:20.090 ⇒ 00:35:25.330 Emily Giant: it depends on the report, like, it depends on how you want to look at it, because
329 00:35:27.930 ⇒ 00:35:32.299 Emily Giant: I’m I’m like, unsure of how Looker would
330 00:35:33.350 ⇒ 00:35:38.549 Emily Giant: would treat these values like if you said, I want to know what was available from
331 00:35:38.670 ⇒ 00:35:43.909 Emily Giant: midnight to 2. It’s gonna have a row for all of that.
332 00:35:44.020 ⇒ 00:35:45.080 pk.arthur: So.
333 00:35:45.990 ⇒ 00:35:53.989 Emily Giant: But if you’re looking at a report that says like a column of Afs snapshot, and then like number of purchases,
334 00:35:55.470 ⇒ 00:36:09.329 Emily Giant: then like that would probably be helpful to see like in the hour of midnight to one there were 50, and there were 14 purchases in that hour like to see how it moves in that way. Now I can see the value of like
335 00:36:09.440 ⇒ 00:36:12.449 Emily Giant: knowing what was available each hour for
336 00:36:12.790 ⇒ 00:36:16.849 Emily Giant: knowing how to allocate, spend, and like.
337 00:36:17.560 ⇒ 00:36:19.480 Emily Giant: No, I don’t know if, like
338 00:36:19.890 ⇒ 00:36:25.860 Emily Giant: historically, it’s going to be as helpful because you already have that data that says like
339 00:36:26.110 ⇒ 00:36:29.780 Emily Giant: when people are shopping. But oh.
340 00:36:30.330 ⇒ 00:36:34.410 Emily Giant: I think an hour is probably a lot.
341 00:36:34.660 ⇒ 00:36:35.330 pk.arthur: -
342 00:36:35.360 ⇒ 00:36:36.480 Emily Giant: But
343 00:36:36.920 ⇒ 00:36:46.780 Emily Giant: it would definitely, in my opinion, like, for stock outs like, for when it goes to 0, I would want to know, always like at what time it hit 0.
344 00:36:47.650 ⇒ 00:36:57.119 Emily Giant: Because if you know that there are 50 in the morning, and then they all sold that day, I would want to know when and like at what point you’re no longer able to convert, based on that skew.
345 00:36:59.580 ⇒ 00:37:01.600 pk.arthur: Yeah, that that makes sense.
346 00:37:01.600 ⇒ 00:37:04.190 Emily Giant: Yeah, any other movement. It’s like, okay. Well.
347 00:37:04.380 ⇒ 00:37:06.490 Emily Giant: there, there are units left. So this isn’t.
348 00:37:06.490 ⇒ 00:37:06.980 pk.arthur: Yeah.
349 00:37:06.980 ⇒ 00:37:12.050 Emily Giant: Conversion necessarily, but if there are 0, it is definitely affecting conversion.
350 00:37:12.610 ⇒ 00:37:14.479 pk.arthur: Yeah, that that is true.
351 00:37:15.540 ⇒ 00:37:23.591 Emily Giant: But talk with Chris. I know that you 2 had said like maybe twice a day just to have like a sense of the movement. But
352 00:37:25.140 ⇒ 00:37:28.909 Emily Giant: But I don’t think it sounds like it’s that hard to change it. Like.
353 00:37:29.750 ⇒ 00:37:33.209 Emily Giant: essentially, the information’s already available. What you’re.
354 00:37:33.210 ⇒ 00:37:34.050 Demilade Agboola: Yes, we.
355 00:37:34.310 ⇒ 00:37:51.719 Demilade Agboola: So the important thing is, that’s why I try to deploy it. Now. The important thing is, the snapshot gets into production and so on. Every Dbt run. It’s tracking it. That’s the important thing how we choose to represent. It is kind of up to us, but the snapshot being available, like being in production, is the most important thing.
356 00:37:52.720 ⇒ 00:37:55.910 Demilade Agboola: Once we decide like because it’s.
357 00:37:56.120 ⇒ 00:38:07.720 Demilade Agboola: you know, like I said, we’re flattening the data. It’s it’s there. It’s just how do we want to represent it. So how you said hourly, is, this is how we would appear. So we would have the 50
358 00:38:07.930 ⇒ 00:38:20.929 Demilade Agboola: at the, you know, 1st snapshot and then on the next run, or like, we’ll say, for at the 2 o’clock or 2 Pm. It was 45, and then until the next day it remained what it was, so it would kind of just
359 00:38:21.260 ⇒ 00:38:27.200 Demilade Agboola: give you the same value of 45 until it changes. And so you can kind of do that over
360 00:38:27.820 ⇒ 00:38:30.339 Demilade Agboola: as many hours as possible.
361 00:38:31.093 ⇒ 00:38:34.649 Demilade Agboola: Which obviously will let you know the as things go
362 00:38:34.960 ⇒ 00:38:39.649 Demilade Agboola: like which periods things drop really quickly, which periods, things kind of flatlined.
363 00:38:40.319 ⇒ 00:38:47.750 Demilade Agboola: So that’s if that’s what you really want to see. We can make it possible. It just means that we would have for each
364 00:38:47.890 ⇒ 00:38:54.610 Demilade Agboola: inventory. Id. We would have a 24 h like
365 00:38:55.690 ⇒ 00:39:02.779 Demilade Agboola: we’ll keep adding 24 h for each inventory, which you know could be quite strong data.
366 00:39:03.270 ⇒ 00:39:06.070 Demilade Agboola: There are ways we can make it work. We can make it incremental.
367 00:39:07.710 ⇒ 00:39:10.950 Emily Giant: That’s what I was thinking. But I don’t want to lose that 1st value.
368 00:39:11.810 ⇒ 00:39:13.210 Demilade Agboola: What do you mean? Lose the 1st value.
369 00:39:14.510 ⇒ 00:39:20.690 Emily Giant: So if there was an incremental run, it would update the Afs
370 00:39:20.840 ⇒ 00:39:26.770 Emily Giant: right? Or would that still have a static value of 50, no matter what it changed.
371 00:39:27.140 ⇒ 00:39:33.330 Demilade Agboola: No, because the the unique Id will be a combination of the hour, the snapshots and the load. Id.
372 00:39:33.330 ⇒ 00:39:41.159 Emily Giant: Okay, I got you. Sorry I’m being dumb. Yeah, I think an incremental run is a good idea. So that way, it’s like only tracking the change.
373 00:39:41.450 ⇒ 00:39:41.940 Demilade Agboola: Yeah.
374 00:39:42.220 ⇒ 00:39:43.160 pk.arthur: Okay.
375 00:39:44.970 ⇒ 00:40:07.130 Demilade Agboola: So the the snapshot will track the change, no matter what it’s how we’re flattening it, because obviously, if we flatten it and we we’re creating a table that runs from scratch every single time it’s going to exponentially increase the runtime, because the especially increase the data because effectively, we’re seeing every day. If you’re gonna do it as a table
376 00:40:07.803 ⇒ 00:40:15.809 Demilade Agboola: every day we create everything that’s happened from the beginning of our snapshots up till now, for every 24 h. Chunk
377 00:40:16.910 ⇒ 00:40:17.240 Demilade Agboola: sounds
378 00:40:18.461 ⇒ 00:40:29.659 Demilade Agboola: for every like inventory number id, which will be a lot. But if we do incrementally, we can say, only do what’s happened about the last, say, 36 h.
379 00:40:30.123 ⇒ 00:40:37.199 Demilade Agboola: and build that out and attach it to what has happened. Historically speaking, that we’ve already done, and we just kind of have that run
380 00:40:38.060 ⇒ 00:40:43.559 Demilade Agboola: that way. It the runs will be much faster than, and we still have all the data we want.
381 00:40:44.540 ⇒ 00:40:52.240 Emily Giant: Yeah, we should definitely do that. Especially with how our inventory expires. Outside of like non-lotted stuff.
382 00:40:52.660 ⇒ 00:40:55.650 Emily Giant: There’s only going to be relevant movement for like
383 00:40:55.810 ⇒ 00:40:57.909 Emily Giant: a week and a half tops.
384 00:40:58.520 ⇒ 00:40:59.029 Demilade Agboola: Okay.
385 00:40:59.670 ⇒ 00:41:06.230 Demilade Agboola: pick it. What I might need from you now, especially like you don’t. Doesn’t have to be like right now, but like
386 00:41:07.194 ⇒ 00:41:07.870 Demilade Agboola: potentially.
387 00:41:08.560 ⇒ 00:41:18.070 Demilade Agboola: If you have access to the redshift, if you go through the what’s it called the table.
388 00:41:18.440 ⇒ 00:41:26.800 Demilade Agboola: it’ll be helpful if you can tell me what you want to track. If that makes any sense like what you would want to see over time.
389 00:41:28.546 ⇒ 00:41:31.509 pk.arthur: Do I have access to rest of them? I’m not quite sure.
390 00:41:31.510 ⇒ 00:41:38.620 Emily Giant: No but you have access to Dbt, and that’s actually doing a lot of the.
391 00:41:38.620 ⇒ 00:41:42.219 Demilade Agboola: Okay. So if if you have access to Dbt, what you could do is go to this table
392 00:41:42.690 ⇒ 00:41:43.970 Demilade Agboola: or this table.
393 00:41:44.260 ⇒ 00:41:54.329 Demilade Agboola: and you can just do like a command, enter a control answer. If you use a windows, just run it, basically. And it would run and give you
394 00:41:55.150 ⇒ 00:41:58.780 Demilade Agboola: like, the result.
395 00:42:00.550 ⇒ 00:42:02.569 Demilade Agboola: I just haven’t refreshed my local
396 00:42:02.760 ⇒ 00:42:05.810 Demilade Agboola: in a while. But basically, if you
397 00:42:07.590 ⇒ 00:42:11.629 Demilade Agboola: or you could also just compile it to be fair, that’s it.
398 00:42:12.560 ⇒ 00:42:14.539 Demilade Agboola: Alright. So you just have to do dbt, right?
399 00:42:14.540 ⇒ 00:42:19.880 Emily Giant: Sequel, runner, which I’m like. Bless your heart, that’s the worst sequel runner in the whole world.
400 00:42:20.040 ⇒ 00:42:25.924 Emily Giant: except for maybe redshift. But but we don’t have any seats.
401 00:42:30.410 ⇒ 00:42:31.770 Demilade Agboola: Second
402 00:42:35.510 ⇒ 00:42:40.409 Demilade Agboola: cause. I know the issue is, yeah. I haven’t necessarily
403 00:42:40.540 ⇒ 00:42:45.659 Demilade Agboola: refreshed mind to the latest changes. But basically, once you once you have.
404 00:42:46.320 ⇒ 00:42:48.710 Demilade Agboola: I should do a Dvt run.
405 00:42:49.860 ⇒ 00:42:57.399 Demilade Agboola: You can start like, compile it directly and preview it.
406 00:42:57.650 ⇒ 00:42:58.510 Demilade Agboola: Sure.
407 00:42:59.430 ⇒ 00:43:07.120 Demilade Agboola: So once you preview it, it makes a huge difference. You can kind of just see the tables. And you can have an idea of what we’re what we’re we’re showing
408 00:43:08.210 ⇒ 00:43:10.419 Demilade Agboola: like to see specifically
409 00:43:11.110 ⇒ 00:43:26.960 Demilade Agboola: I’m still like again. It’s not just tracking everything, but I’m I’m always of the opinion that it’s important to kind of give you people what they need and not like overwhelm them with all that data. So just creating a table that is like, Okay, you need to see.
410 00:43:27.240 ⇒ 00:43:33.860 Demilade Agboola: maybe, as Afs changes or quantity on on hand, or whatever values you want to see, change over time.
411 00:43:34.825 ⇒ 00:43:37.619 Demilade Agboola: If you put those values against.
412 00:43:38.400 ⇒ 00:43:47.740 Demilade Agboola: if you put those values out, we can just create a table to that for every inventory number Id. At every hour during the day we can give you what those values were.
413 00:43:49.510 ⇒ 00:43:52.009 pk.arthur: Yeah, that that makes sense. Let me just try to find
414 00:43:52.800 ⇒ 00:43:55.320 pk.arthur: of how to get to the mark. So.
415 00:43:58.790 ⇒ 00:43:59.790 Emily Giant: Yeah, you’ve got it.
416 00:44:00.360 ⇒ 00:44:02.389 Demilade Agboola: And new model structure.
417 00:44:04.100 ⇒ 00:44:07.289 Demilade Agboola: So if you go to models, you see new model structure.
418 00:44:07.730 ⇒ 00:44:10.579 Demilade Agboola: and then you see marts and then inventory.
419 00:44:33.780 ⇒ 00:44:48.660 Emily Giant: Yeah, I know, like, just from our meeting. Chris had mentioned, that they’re not really interested in any of the on hand, or excuse me of the on order. Stuff like this is only for fulfillable inventory, so that automatically gets rid of like
420 00:44:48.850 ⇒ 00:44:52.479 Emily Giant: a ton of the columns that we wouldn’t need to see.
421 00:44:57.778 ⇒ 00:45:00.111 Demilade Agboola: Yeah, I guess that that helps
422 00:45:01.400 ⇒ 00:45:02.730 Demilade Agboola: And just
423 00:45:02.870 ⇒ 00:45:18.230 Demilade Agboola: again, because this I just want to reassure Pk, that the snapshots, taking snapshots of everything. So even things that you don’t necessarily see right now, we can always still get that available to you. If you do change your mind, I want it. It’s just so that you know
424 00:45:18.720 ⇒ 00:45:22.650 Demilade Agboola: we have as much as possible. I like things when things are clean.
425 00:45:23.230 ⇒ 00:45:35.770 Demilade Agboola: And you know, we do what’s needed. And when people need more data, they can come and say, Hey, this is, we kind of need this, because then it’s just adding a column, it’s cleaner. It’s much easier to see rather than like
426 00:45:35.960 ⇒ 00:45:41.569 Demilade Agboola: maybe having all that data that might not be as useful to you or anybody in reality.
427 00:45:43.060 ⇒ 00:45:45.199 Emily Giant: I totally agree.
428 00:45:50.510 ⇒ 00:45:58.160 Emily Giant: Okay, and pk, we can always work on that like we can do a session together. And like, I know, this is all.
429 00:45:58.830 ⇒ 00:46:18.189 Emily Giant: even though I know you know how to to write. Sequel and python, etc. Our dag is really messy, and what will take you a long time is just getting used to it. And where to find stuff like that’s the hard part, really. So if we need another breakout session, you can just throw time on my calendar. I’m happy to help.
430 00:46:18.550 ⇒ 00:46:21.830 pk.arthur: Yeah, thank you. I think that would certainly help.
431 00:46:21.990 ⇒ 00:46:30.809 Emily Giant: Yeah, I can’t imagine how much faster I would have learned how to fix our data if I didn’t have to like go through the learning curve of
432 00:46:30.920 ⇒ 00:46:36.849 Emily Giant: figuring out our schema. It’s definitely getting better. And everything in that new model folder is like
433 00:46:37.110 ⇒ 00:46:43.818 Emily Giant: usable, quite accurate. It’s all the other stuff that’s like kind of cluttering the works.
434 00:46:44.340 ⇒ 00:46:47.860 pk.arthur: Yeah, yeah, I’ll I’ll put some time on your calendar. But
435 00:46:48.340 ⇒ 00:46:51.469 pk.arthur: let’s make sure. There. The
436 00:46:52.120 ⇒ 00:46:58.240 pk.arthur: inventory lot table consists of everything that we need for the snapshot data. I’ll double check on that
437 00:46:58.370 ⇒ 00:46:59.819 pk.arthur: and get back to you.
438 00:46:59.820 ⇒ 00:47:03.970 Emily Giant: Off the bat, I know, like both.
439 00:47:04.460 ⇒ 00:47:10.439 Emily Giant: Jessica, I think that there’s like suddenly, like a contractor at our house, and I’m going to go hide in
440 00:47:10.550 ⇒ 00:47:17.199 Emily Giant: my office. So we’re getting a basement wall like my house is 125 years old, and
441 00:47:18.450 ⇒ 00:47:20.279 Emily Giant: I what is going on.
442 00:47:21.830 ⇒ 00:47:27.670 Emily Giant: We’re we’re having a wall like excavated and fixed next week. But anyway,
443 00:47:29.690 ⇒ 00:47:40.170 Emily Giant: Sorry that got very confusing and distracting. What were we talking about? Inventory? Oh, off the bat! One of the things I know that isn’t available is like the delivery
444 00:47:40.320 ⇒ 00:47:47.139 Emily Giant: zone. Information like both Jessica and and Pk had wanted like to know what
445 00:47:47.560 ⇒ 00:47:52.389 Emily Giant: Fedex windows were available during like
446 00:47:53.140 ⇒ 00:47:56.939 Emily Giant: certain delivery periods. So like, if
447 00:47:57.470 ⇒ 00:48:03.639 Emily Giant: there, it’s kind of a different business question, but it will eventually be part of this table
448 00:48:05.880 ⇒ 00:48:09.960 Emily Giant: and looking at like conversion. But yeah, that’s
449 00:48:10.490 ⇒ 00:48:19.490 Emily Giant: not as like inventory is the 1st part of that question, and then like, can it get delivered to where they want it. To go is like
450 00:48:19.760 ⇒ 00:48:22.150 Emily Giant: part 2 of that question.
451 00:48:23.300 ⇒ 00:48:24.990 Emily Giant: But that doesn’t need to be
452 00:48:25.360 ⇒ 00:48:28.860 Emily Giant: snapshot it, because that doesn’t change.
453 00:48:29.520 ⇒ 00:48:43.919 Emily Giant: You know what I mean. Like the delivery zones are consistent over time, so we’ll know if they placed an order for delivery for December 30, th that, like those zones are those zones like that doesn’t change.
454 00:48:44.780 ⇒ 00:48:50.600 Emily Giant: But that does need to be cross-referenced in the data, whether that be in Dbt or looker.
455 00:48:51.830 ⇒ 00:49:00.799 Emily Giant: primarily or like, preferably Dbt, because Looker just doesn’t always aggregate and join the way you think it will. Music less control.
456 00:49:05.520 ⇒ 00:49:07.070 Demilade Agboola: Sounds good.
457 00:49:07.330 ⇒ 00:49:18.570 Emily Giant: Yep, alright. We have 10 min left. I didn’t know. Pk, if you wanted to show Demo Lade
458 00:49:18.970 ⇒ 00:49:35.719 Emily Giant: the issue we were having with the 1st purchase characteristic. Sometimes he can look at things and know how to fix them in like 5 seconds. So, yeah, if just like running that query we had already, like nailed down where in the dag
459 00:49:36.620 ⇒ 00:49:37.650 Emily Giant: That.
460 00:49:37.840 ⇒ 00:49:44.669 Emily Giant: like the genesis of that field is. But I just wanted to see if you had any thoughts on. Why, it’s not returning
461 00:49:45.190 ⇒ 00:49:45.990 Emily Giant: data.
462 00:49:46.630 ⇒ 00:49:53.590 pk.arthur: Okay, give me a second. Let me just pull up that query. So I’m gonna share my screen quick, real quickly.
463 00:49:53.590 ⇒ 00:50:02.300 Emily Giant: And then a lot. We did run a full refresh yesterday or 2 days ago to see if my initial like, whenever things start just turning to 0. I’m like, well, it hasn’t refreshed.
464 00:50:02.811 ⇒ 00:50:08.238 Emily Giant: So if that worked, it should be refreshing now, or it should have data. Now.
465 00:50:11.080 ⇒ 00:50:15.940 pk.arthur: So I gotta give access to zoom to share my screen.
466 00:50:16.480 ⇒ 00:50:24.359 pk.arthur: Oh, might be possible. Right? Say, I have to like quit zoom, and reopen it, just to give access.
467 00:50:24.960 ⇒ 00:50:27.730 Emily Giant: Demo Lati. I feel like you have to give him access.
468 00:50:28.390 ⇒ 00:50:30.419 pk.arthur: So access on my computer.
469 00:50:30.710 ⇒ 00:50:34.910 pk.arthur: Yeah, think I should be fine. Now, yeah, can you see my screen.
470 00:50:35.270 ⇒ 00:50:36.180 Demilade Agboola: Yes.
471 00:50:36.390 ⇒ 00:50:40.979 pk.arthur: Yeah. So usually, this basic query, I’m trying to figure out. So I want to figure out,
472 00:50:41.720 ⇒ 00:50:48.214 pk.arthur: the 1st marketing channel for people who purchase right? And what I noticed was that basically
473 00:50:48.750 ⇒ 00:51:09.920 pk.arthur: prior to this calendar year, that is January. 1st of this year, it was pulling right to like a phone account, like all the difference, like 1st sources you could see like this, this is right here. But if I go change this query to be after this date. It’s giving me other, which I
474 00:51:10.100 ⇒ 00:51:29.320 pk.arthur: found surprise. And then it was not, I thought, obviously like not, or give me no, no other. So I just figured out, I’m trying to figure out like, why is that the case like what happened? If anything, if anything did happen? So we try to figure out where the 1st source came from. Essentially, essentially. And we found it was tableau items
475 00:51:30.050 ⇒ 00:51:33.879 pk.arthur: which is in the analytics. Table, I believe. Right, Emily.
476 00:51:34.170 ⇒ 00:51:38.680 Emily Giant: Yep tableau, and then traced it all the way back to like
477 00:51:39.804 ⇒ 00:51:50.950 Emily Giant: I think it was like oms suborder customers let me pull the exact name, but it was like 5 models back in the dag where it was called
478 00:51:51.870 ⇒ 00:51:56.190 Emily Giant: cause it was 1st source, but it’s actually called like preferred.
479 00:51:57.800 ⇒ 00:52:03.479 Emily Giant: Hold on, I think I remember, like preferred source or device. Something like
480 00:52:03.570 ⇒ 00:52:05.711 Emily Giant: like that. I gotta switch
481 00:52:06.300 ⇒ 00:52:07.830 pk.arthur: I guess I’m sharing my screen, too.
482 00:52:15.690 ⇒ 00:52:17.310 Emily Giant: Alright change branch.
483 00:52:21.790 ⇒ 00:52:27.190 Emily Giant: Okay, the branch is called Ga for troubleshooting and
484 00:52:32.300 ⇒ 00:52:34.490 Emily Giant: in customers.
485 00:52:37.460 ⇒ 00:52:40.660 Emily Giant: So if you go to 1st purchase characteristics.
486 00:52:40.960 ⇒ 00:52:48.620 Emily Giant: if you just type that into the search. And then in the lineage it’s called
487 00:52:52.300 ⇒ 00:53:00.580 Emily Giant: yeah. And then it gets into like dim customer segmentation. Anyway. Hold on. Let me
488 00:53:04.310 ⇒ 00:53:08.289 Emily Giant: 1st time customer order, level, build, order, recipient
489 00:53:12.990 ⇒ 00:53:14.909 Emily Giant: segment, timeline. So
490 00:53:19.730 ⇒ 00:53:22.470 Emily Giant: oms, user suborder attributes.
491 00:53:25.670 ⇒ 00:53:26.430 Demilade Agboola: Let’s see.
492 00:53:26.430 ⇒ 00:53:28.350 Emily Giant: Yeah, user’s preferred device.
493 00:54:11.770 ⇒ 00:54:16.690 Demilade Agboola: I’m trying to find the source.
494 00:54:16.690 ⇒ 00:54:24.763 Emily Giant: So unfortunately, they do a select all, and it carries through all the way to tableau. If you’re trying to find that.
495 00:54:25.130 ⇒ 00:54:26.810 Emily Giant: oh, okay, it’s just.
496 00:54:28.870 ⇒ 00:54:32.730 Demilade Agboola: Tuple items, except is, will be the bin of my existence.
497 00:54:32.730 ⇒ 00:54:33.560 Emily Giant: I know it’s.
498 00:54:33.560 ⇒ 00:54:34.080 pk.arthur: Excuse me.
499 00:54:34.080 ⇒ 00:54:37.690 Emily Giant: It’s the worst, but
500 00:54:37.690 ⇒ 00:54:46.229 Emily Giant: oms users in the final. You can see all of the like. 1st source, 1st source medium. It’s line like 1 15.
501 00:54:46.230 ⇒ 00:54:47.950 Demilade Agboola: The oms, users.
502 00:54:48.800 ⇒ 00:54:53.117 Emily Giant: Suborder attributes. I sent it in the chat, since it’s a ridiculous name.
503 00:54:53.450 ⇒ 00:54:55.530 Demilade Agboola: Alright, I’m there.
504 00:54:58.000 ⇒ 00:55:07.040 Demilade Agboola: I am there. So it’s select final, all from final. Select the fiscal dates, purchase delivery.
505 00:55:15.320 ⇒ 00:55:17.380 Demilade Agboola: Okay, yeah. I can see the 1st source.
506 00:55:17.990 ⇒ 00:55:18.620 Emily Giant: Yep.
507 00:55:19.090 ⇒ 00:55:24.630 Emily Giant: So I’m gonna just query that table, I guess, and see like what the Max date is.
508 00:55:24.980 ⇒ 00:55:31.209 Emily Giant: It’s I. I just can’t figure out like why, it would stop like ga 4 still runs on a half hour
509 00:55:31.430 ⇒ 00:55:32.649 Emily Giant: cadence.
510 00:55:35.460 ⇒ 00:55:41.049 Demilade Agboola: Yeah. But like the fact that it’s showing like this account shows that it’s not necessarily
511 00:55:42.160 ⇒ 00:55:47.299 Demilade Agboola: the what’s it called like. It’s not like it’s not run. It’s just
512 00:55:51.740 ⇒ 00:55:56.040 Demilade Agboola: so. Either the name of the column has changed or.
513 00:55:56.210 ⇒ 00:55:56.830 Emily Giant: Oh, wow!
514 00:56:00.840 ⇒ 00:56:07.360 Demilade Agboola: Like the yeah, I thought the the name of the command has changed is expects. The
515 00:56:08.270 ⇒ 00:56:12.599 Demilade Agboola: the new name is something different, and that has not been reflected here yet.
516 00:56:13.360 ⇒ 00:56:20.960 Demilade Agboola: Because right now it’s supposed to be using source medium as the source of everything.
517 00:56:23.600 ⇒ 00:56:26.880 Demilade Agboola: So basically, 1st source is gotten by
518 00:56:27.170 ⇒ 00:56:29.829 Demilade Agboola: splitting something called 1st source medium.
519 00:56:30.700 ⇒ 00:56:38.859 Demilade Agboola: Gotten from source medium as the 1st value of the user. So that’s how we like, it’s a window function on something called source medium.
520 00:56:39.060 ⇒ 00:56:40.210 Emily Giant: Hmm, okay.
521 00:56:40.310 ⇒ 00:56:48.562 Demilade Agboola: Go back to first, st like we need to go back to one in this case. Oh.
522 00:56:50.370 ⇒ 00:56:56.060 Demilade Agboola: I don’t. I don’t want to sound mean, but, like some of the like, the modeling is stressful.
523 00:56:57.930 ⇒ 00:57:06.720 Demilade Agboola: No, you should not go back 5 5 models just to figure out what’s going on your data, and then guess what it takes us back to
524 00:57:07.440 ⇒ 00:57:11.050 Demilade Agboola: the Oms suborder calculations.
525 00:57:11.050 ⇒ 00:57:13.209 Emily Giant: I know it. It’s like a loop.
526 00:57:13.320 ⇒ 00:57:15.520 Emily Giant: It makes no sense.
527 00:57:16.990 ⇒ 00:57:33.409 Demilade Agboola: So, and it’s kind of what I was saying when, like, you don’t want to have you want it to be dag. So like a directed, a cyclic graph. And the beautiful thing about Dag is the word. A cyclic like it doesn’t create a cycle. So you don’t want to be things around.
528 00:57:33.530 ⇒ 00:57:39.550 Demilade Agboola: it has to go in one direction. So if things are looping around, it starts to get really confusing.
529 00:57:40.210 ⇒ 00:57:45.470 Emily Giant: Yeah, no, I completely agree. And it’s not mean at all. It’s the truth.
530 00:57:45.880 ⇒ 00:57:50.929 Emily Giant: I said the same thing yesterday. The Pk, I was like this is actually making me dizzy. It’s like
531 00:57:51.760 ⇒ 00:58:00.340 Emily Giant: it goes back around oms, suborder calculations to like models that feed tableau. Adams. Xf, it doesn’t make any sense.
532 00:58:00.950 ⇒ 00:58:05.599 Demilade Agboola: I think the worst part is like stars. It’s hard
533 00:58:06.360 ⇒ 00:58:09.490 Demilade Agboola: search and find it. It’s just all over the place.
534 00:58:10.420 ⇒ 00:58:17.870 Emily Giant: Well, it makes it take forever to figure out like where to even start troubleshooting. We spent an entire half hour yesterday
535 00:58:18.320 ⇒ 00:58:21.320 Emily Giant: finding the source of the field.
536 00:58:22.960 ⇒ 00:58:37.899 Emily Giant: It was crazy, but I I gotta hop I have a 10 am. But, like I’ll check the source to see if the column name, change or see like where it changed along the line. Because if it’s doing, select all, and it’s not the same name, then it’s like obviously not going to work.
537 00:58:38.350 ⇒ 00:58:38.943 Demilade Agboola: Sounds good.
538 00:58:39.240 ⇒ 00:58:43.840 pk.arthur: Alright. Thank you so much for taking a look. I will see you 2 later.
539 00:58:43.840 ⇒ 00:58:44.590 pk.arthur: Thank you guys.
540 00:58:44.590 ⇒ 00:58:45.530 Emily Giant: I think.
541 00:58:45.530 ⇒ 00:58:46.740 pk.arthur: Bye, bye.