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.